Binary files Android_6.0.1_r11/external/aac/.git/index and SAMD_6.0.1_r11_20170930/external/aac/.git/index differ Binary files Android_6.0.1_r11/external/android-clat/.git/index and SAMD_6.0.1_r11_20170930/external/android-clat/.git/index differ Binary files Android_6.0.1_r11/external/android-mock/.git/index and SAMD_6.0.1_r11_20170930/external/android-mock/.git/index differ Binary files Android_6.0.1_r11/external/androidplot/.git/index and SAMD_6.0.1_r11_20170930/external/androidplot/.git/index differ Binary files Android_6.0.1_r11/external/ant-glob/.git/index and SAMD_6.0.1_r11_20170930/external/ant-glob/.git/index differ Binary files Android_6.0.1_r11/external/antlr/.git/index and SAMD_6.0.1_r11_20170930/external/antlr/.git/index differ Binary files Android_6.0.1_r11/external/apache-commons-math/.git/index and SAMD_6.0.1_r11_20170930/external/apache-commons-math/.git/index differ Binary files Android_6.0.1_r11/external/apache-harmony/.git/index and SAMD_6.0.1_r11_20170930/external/apache-harmony/.git/index differ Binary files Android_6.0.1_r11/external/apache-http/.git/index and SAMD_6.0.1_r11_20170930/external/apache-http/.git/index differ Binary files Android_6.0.1_r11/external/apache-xml/.git/index and SAMD_6.0.1_r11_20170930/external/apache-xml/.git/index differ Binary files Android_6.0.1_r11/external/bison/.git/index and SAMD_6.0.1_r11_20170930/external/bison/.git/index differ Binary files Android_6.0.1_r11/external/blktrace/.git/index and SAMD_6.0.1_r11_20170930/external/blktrace/.git/index differ Binary files Android_6.0.1_r11/external/boringssl/.git/index and SAMD_6.0.1_r11_20170930/external/boringssl/.git/index differ Binary files Android_6.0.1_r11/external/bouncycastle/.git/index and SAMD_6.0.1_r11_20170930/external/bouncycastle/.git/index differ Binary files Android_6.0.1_r11/external/bsdiff/.git/index and SAMD_6.0.1_r11_20170930/external/bsdiff/.git/index differ Binary files Android_6.0.1_r11/external/bzip2/.git/index and SAMD_6.0.1_r11_20170930/external/bzip2/.git/index differ Binary files Android_6.0.1_r11/external/cblas/.git/index and SAMD_6.0.1_r11_20170930/external/cblas/.git/index differ Binary files Android_6.0.1_r11/external/ceres-solver/.git/index and SAMD_6.0.1_r11_20170930/external/ceres-solver/.git/index differ Binary files Android_6.0.1_r11/external/chromium-libpac/.git/index and SAMD_6.0.1_r11_20170930/external/chromium-libpac/.git/index differ Binary files Android_6.0.1_r11/external/chromium-trace/.git/index and SAMD_6.0.1_r11_20170930/external/chromium-trace/.git/index differ Binary files Android_6.0.1_r11/external/chromium-webview/.git/index and SAMD_6.0.1_r11_20170930/external/chromium-webview/.git/index differ Binary files Android_6.0.1_r11/external/clang/.git/index and SAMD_6.0.1_r11_20170930/external/clang/.git/index differ Binary files Android_6.0.1_r11/external/cmockery/.git/index and SAMD_6.0.1_r11_20170930/external/cmockery/.git/index differ Binary files Android_6.0.1_r11/external/compiler-rt/.git/index and SAMD_6.0.1_r11_20170930/external/compiler-rt/.git/index differ Binary files Android_6.0.1_r11/external/conscrypt/.git/index and SAMD_6.0.1_r11_20170930/external/conscrypt/.git/index differ Binary files Android_6.0.1_r11/external/crcalc/.git/index and SAMD_6.0.1_r11_20170930/external/crcalc/.git/index differ Binary files Android_6.0.1_r11/external/deqp/.git/index and SAMD_6.0.1_r11_20170930/external/deqp/.git/index differ Binary files Android_6.0.1_r11/external/dexmaker/.git/index and SAMD_6.0.1_r11_20170930/external/dexmaker/.git/index differ Binary files Android_6.0.1_r11/external/dhcpcd/.git/index and SAMD_6.0.1_r11_20170930/external/dhcpcd/.git/index differ Binary files Android_6.0.1_r11/external/dnsmasq/.git/index and SAMD_6.0.1_r11_20170930/external/dnsmasq/.git/index differ Binary files Android_6.0.1_r11/external/doclava/.git/index and SAMD_6.0.1_r11_20170930/external/doclava/.git/index differ Binary files Android_6.0.1_r11/external/donuts/.git/index and SAMD_6.0.1_r11_20170930/external/donuts/.git/index differ Binary files Android_6.0.1_r11/external/drm_gralloc/.git/index and SAMD_6.0.1_r11_20170930/external/drm_gralloc/.git/index differ Binary files Android_6.0.1_r11/external/drm_hwcomposer/.git/index and SAMD_6.0.1_r11_20170930/external/drm_hwcomposer/.git/index differ Binary files Android_6.0.1_r11/external/droiddriver/.git/index and SAMD_6.0.1_r11_20170930/external/droiddriver/.git/index differ Binary files Android_6.0.1_r11/external/e2fsprogs/.git/index and SAMD_6.0.1_r11_20170930/external/e2fsprogs/.git/index differ Binary files Android_6.0.1_r11/external/easymock/.git/index and SAMD_6.0.1_r11_20170930/external/easymock/.git/index differ Binary files Android_6.0.1_r11/external/eclipse-basebuilder/.git/index and SAMD_6.0.1_r11_20170930/external/eclipse-basebuilder/.git/index differ Binary files Android_6.0.1_r11/external/eclipse-windowbuilder/.git/index and SAMD_6.0.1_r11_20170930/external/eclipse-windowbuilder/.git/index differ Binary files Android_6.0.1_r11/external/eigen/.git/index and SAMD_6.0.1_r11_20170930/external/eigen/.git/index differ Binary files Android_6.0.1_r11/external/elfutils/.git/index and SAMD_6.0.1_r11_20170930/external/elfutils/.git/index differ Binary files Android_6.0.1_r11/external/embunit/.git/index and SAMD_6.0.1_r11_20170930/external/embunit/.git/index differ Binary files Android_6.0.1_r11/external/emma/.git/index and SAMD_6.0.1_r11_20170930/external/emma/.git/index differ Binary files Android_6.0.1_r11/external/esd/.git/index and SAMD_6.0.1_r11_20170930/external/esd/.git/index differ Binary files Android_6.0.1_r11/external/expat/.git/index and SAMD_6.0.1_r11_20170930/external/expat/.git/index differ Binary files Android_6.0.1_r11/external/eyes-free/.git/index and SAMD_6.0.1_r11_20170930/external/eyes-free/.git/index differ Binary files Android_6.0.1_r11/external/f2fs-tools/.git/index and SAMD_6.0.1_r11_20170930/external/f2fs-tools/.git/index differ Binary files Android_6.0.1_r11/external/fdlibm/.git/index and SAMD_6.0.1_r11_20170930/external/fdlibm/.git/index differ Binary files Android_6.0.1_r11/external/fio/.git/index and SAMD_6.0.1_r11_20170930/external/fio/.git/index differ Binary files Android_6.0.1_r11/external/flac/.git/index and SAMD_6.0.1_r11_20170930/external/flac/.git/index differ Binary files Android_6.0.1_r11/external/fonttools/.git/index and SAMD_6.0.1_r11_20170930/external/fonttools/.git/index differ Binary files Android_6.0.1_r11/external/freetype/.git/index and SAMD_6.0.1_r11_20170930/external/freetype/.git/index differ Binary files Android_6.0.1_r11/external/fsck_msdos/.git/index and SAMD_6.0.1_r11_20170930/external/fsck_msdos/.git/index differ Binary files Android_6.0.1_r11/external/giflib/.git/index and SAMD_6.0.1_r11_20170930/external/giflib/.git/index differ Binary files Android_6.0.1_r11/external/glide/.git/index and SAMD_6.0.1_r11_20170930/external/glide/.git/index differ Binary files Android_6.0.1_r11/external/google-breakpad/.git/index and SAMD_6.0.1_r11_20170930/external/google-breakpad/.git/index differ Binary files Android_6.0.1_r11/external/google-fonts/carrois-gothic-sc/.git/index and SAMD_6.0.1_r11_20170930/external/google-fonts/carrois-gothic-sc/.git/index differ Binary files Android_6.0.1_r11/external/google-fonts/coming-soon/.git/index and SAMD_6.0.1_r11_20170930/external/google-fonts/coming-soon/.git/index differ Binary files Android_6.0.1_r11/external/google-fonts/cutive-mono/.git/index and SAMD_6.0.1_r11_20170930/external/google-fonts/cutive-mono/.git/index differ Binary files Android_6.0.1_r11/external/google-fonts/dancing-script/.git/index and SAMD_6.0.1_r11_20170930/external/google-fonts/dancing-script/.git/index differ Binary files Android_6.0.1_r11/external/google-tv-pairing-protocol/.git/index and SAMD_6.0.1_r11_20170930/external/google-tv-pairing-protocol/.git/index differ Binary files Android_6.0.1_r11/external/gptfdisk/.git/index and SAMD_6.0.1_r11_20170930/external/gptfdisk/.git/index differ Binary files Android_6.0.1_r11/external/gtest/.git/index and SAMD_6.0.1_r11_20170930/external/gtest/.git/index differ Binary files Android_6.0.1_r11/external/guava/.git/index and SAMD_6.0.1_r11_20170930/external/guava/.git/index differ Binary files Android_6.0.1_r11/external/hamcrest/.git/index and SAMD_6.0.1_r11_20170930/external/hamcrest/.git/index differ Binary files Android_6.0.1_r11/external/harfbuzz_ng/.git/index and SAMD_6.0.1_r11_20170930/external/harfbuzz_ng/.git/index differ Binary files Android_6.0.1_r11/external/hyphenation-patterns/.git/index and SAMD_6.0.1_r11_20170930/external/hyphenation-patterns/.git/index differ Binary files Android_6.0.1_r11/external/icu/.git/index and SAMD_6.0.1_r11_20170930/external/icu/.git/index differ Binary files Android_6.0.1_r11/external/iproute2/.git/index and SAMD_6.0.1_r11_20170930/external/iproute2/.git/index differ Binary files Android_6.0.1_r11/external/ipsec-tools/.git/index and SAMD_6.0.1_r11_20170930/external/ipsec-tools/.git/index differ Binary files Android_6.0.1_r11/external/iptables/.git/index and SAMD_6.0.1_r11_20170930/external/iptables/.git/index differ Binary files Android_6.0.1_r11/external/iputils/.git/index and SAMD_6.0.1_r11_20170930/external/iputils/.git/index differ Binary files Android_6.0.1_r11/external/jack/.git/index and SAMD_6.0.1_r11_20170930/external/jack/.git/index differ Binary files Android_6.0.1_r11/external/jarjar/.git/index and SAMD_6.0.1_r11_20170930/external/jarjar/.git/index differ Binary files Android_6.0.1_r11/external/javasqlite/.git/index and SAMD_6.0.1_r11_20170930/external/javasqlite/.git/index differ Binary files Android_6.0.1_r11/external/javassist/.git/index and SAMD_6.0.1_r11_20170930/external/javassist/.git/index differ Binary files Android_6.0.1_r11/external/jdiff/.git/index and SAMD_6.0.1_r11_20170930/external/jdiff/.git/index differ Binary files Android_6.0.1_r11/external/jemalloc/.git/index and SAMD_6.0.1_r11_20170930/external/jemalloc/.git/index differ Binary files Android_6.0.1_r11/external/jetty/.git/index and SAMD_6.0.1_r11_20170930/external/jetty/.git/index differ Binary files Android_6.0.1_r11/external/jhead/.git/index and SAMD_6.0.1_r11_20170930/external/jhead/.git/index differ Binary files Android_6.0.1_r11/external/jmdns/.git/index and SAMD_6.0.1_r11_20170930/external/jmdns/.git/index differ Binary files Android_6.0.1_r11/external/jmonkeyengine/.git/index and SAMD_6.0.1_r11_20170930/external/jmonkeyengine/.git/index differ Binary files Android_6.0.1_r11/external/jpeg/.git/index and SAMD_6.0.1_r11_20170930/external/jpeg/.git/index differ Binary files Android_6.0.1_r11/external/jsilver/.git/index and SAMD_6.0.1_r11_20170930/external/jsilver/.git/index differ Binary files Android_6.0.1_r11/external/jsmn/.git/index and SAMD_6.0.1_r11_20170930/external/jsmn/.git/index differ Binary files Android_6.0.1_r11/external/jsoncpp/.git/index and SAMD_6.0.1_r11_20170930/external/jsoncpp/.git/index differ Binary files Android_6.0.1_r11/external/jsr305/.git/index and SAMD_6.0.1_r11_20170930/external/jsr305/.git/index differ Binary files Android_6.0.1_r11/external/junit/.git/index and SAMD_6.0.1_r11_20170930/external/junit/.git/index differ Binary files Android_6.0.1_r11/external/kernel-headers/.git/index and SAMD_6.0.1_r11_20170930/external/kernel-headers/.git/index differ Binary files Android_6.0.1_r11/external/ksoap2/.git/index and SAMD_6.0.1_r11_20170930/external/ksoap2/.git/index differ Binary files Android_6.0.1_r11/external/libavc/.git/index and SAMD_6.0.1_r11_20170930/external/libavc/.git/index differ Binary files Android_6.0.1_r11/external/libcap-ng/.git/index and SAMD_6.0.1_r11_20170930/external/libcap-ng/.git/index differ Binary files Android_6.0.1_r11/external/libcxx/.git/index and SAMD_6.0.1_r11_20170930/external/libcxx/.git/index differ Binary files Android_6.0.1_r11/external/libcxxabi/.git/index and SAMD_6.0.1_r11_20170930/external/libcxxabi/.git/index differ Binary files Android_6.0.1_r11/external/libdrm/.git/index and SAMD_6.0.1_r11_20170930/external/libdrm/.git/index differ Binary files Android_6.0.1_r11/external/libedit/.git/index and SAMD_6.0.1_r11_20170930/external/libedit/.git/index differ Binary files Android_6.0.1_r11/external/libexif/.git/index and SAMD_6.0.1_r11_20170930/external/libexif/.git/index differ Binary files Android_6.0.1_r11/external/libgsm/.git/index and SAMD_6.0.1_r11_20170930/external/libgsm/.git/index differ Binary files Android_6.0.1_r11/external/libhevc/.git/index and SAMD_6.0.1_r11_20170930/external/libhevc/.git/index differ Binary files Android_6.0.1_r11/external/liblzf/.git/index and SAMD_6.0.1_r11_20170930/external/liblzf/.git/index differ Binary files Android_6.0.1_r11/external/libmpeg2/.git/index and SAMD_6.0.1_r11_20170930/external/libmpeg2/.git/index differ Binary files Android_6.0.1_r11/external/libmtp/.git/index and SAMD_6.0.1_r11_20170930/external/libmtp/.git/index differ Binary files Android_6.0.1_r11/external/libnfc-nci/.git/index and SAMD_6.0.1_r11_20170930/external/libnfc-nci/.git/index differ Binary files Android_6.0.1_r11/external/libnfc-nxp/.git/index and SAMD_6.0.1_r11_20170930/external/libnfc-nxp/.git/index differ Binary files Android_6.0.1_r11/external/libnl/.git/index and SAMD_6.0.1_r11_20170930/external/libnl/.git/index differ Binary files Android_6.0.1_r11/external/libogg/.git/index and SAMD_6.0.1_r11_20170930/external/libogg/.git/index differ Binary files Android_6.0.1_r11/external/libopus/.git/index and SAMD_6.0.1_r11_20170930/external/libopus/.git/index differ Binary files Android_6.0.1_r11/external/libpcap/.git/index and SAMD_6.0.1_r11_20170930/external/libpcap/.git/index differ Binary files Android_6.0.1_r11/external/libphonenumber/.git/index and SAMD_6.0.1_r11_20170930/external/libphonenumber/.git/index differ Binary files Android_6.0.1_r11/external/libpng/.git/index and SAMD_6.0.1_r11_20170930/external/libpng/.git/index differ Binary files Android_6.0.1_r11/external/libseccomp-helper/.git/index and SAMD_6.0.1_r11_20170930/external/libseccomp-helper/.git/index differ Binary files Android_6.0.1_r11/external/libselinux/.git/index and SAMD_6.0.1_r11_20170930/external/libselinux/.git/index differ Binary files Android_6.0.1_r11/external/libssh2/.git/index and SAMD_6.0.1_r11_20170930/external/libssh2/.git/index differ Binary files Android_6.0.1_r11/external/libunwind/.git/index and SAMD_6.0.1_r11_20170930/external/libunwind/.git/index differ Binary files Android_6.0.1_r11/external/libusb/.git/index and SAMD_6.0.1_r11_20170930/external/libusb/.git/index differ Binary files Android_6.0.1_r11/external/libusb-compat/.git/index and SAMD_6.0.1_r11_20170930/external/libusb-compat/.git/index differ Binary files Android_6.0.1_r11/external/libutf/.git/index and SAMD_6.0.1_r11_20170930/external/libutf/.git/index differ Binary files Android_6.0.1_r11/external/libvncserver/.git/index and SAMD_6.0.1_r11_20170930/external/libvncserver/.git/index differ Binary files Android_6.0.1_r11/external/libvorbis/.git/index and SAMD_6.0.1_r11_20170930/external/libvorbis/.git/index differ Binary files Android_6.0.1_r11/external/libvpx/.git/index and SAMD_6.0.1_r11_20170930/external/libvpx/.git/index differ Binary files Android_6.0.1_r11/external/libvterm/.git/index and SAMD_6.0.1_r11_20170930/external/libvterm/.git/index differ Binary files Android_6.0.1_r11/external/libxml2/.git/index and SAMD_6.0.1_r11_20170930/external/libxml2/.git/index differ Binary files Android_6.0.1_r11/external/libyuv/.git/index and SAMD_6.0.1_r11_20170930/external/libyuv/.git/index differ Binary files Android_6.0.1_r11/external/linux-tools-perf/.git/index and SAMD_6.0.1_r11_20170930/external/linux-tools-perf/.git/index differ Binary files Android_6.0.1_r11/external/littlemock/.git/index and SAMD_6.0.1_r11_20170930/external/littlemock/.git/index differ Binary files Android_6.0.1_r11/external/lld/.git/index and SAMD_6.0.1_r11_20170930/external/lld/.git/index differ Binary files Android_6.0.1_r11/external/lldb/.git/index and SAMD_6.0.1_r11_20170930/external/lldb/.git/index differ Binary files Android_6.0.1_r11/external/llvm/.git/index and SAMD_6.0.1_r11_20170930/external/llvm/.git/index differ Binary files Android_6.0.1_r11/external/ltrace/.git/index and SAMD_6.0.1_r11_20170930/external/ltrace/.git/index differ Binary files Android_6.0.1_r11/external/lz4/.git/index and SAMD_6.0.1_r11_20170930/external/lz4/.git/index differ Binary files Android_6.0.1_r11/external/lzma/.git/index and SAMD_6.0.1_r11_20170930/external/lzma/.git/index differ Binary files Android_6.0.1_r11/external/marisa-trie/.git/index and SAMD_6.0.1_r11_20170930/external/marisa-trie/.git/index differ Binary files Android_6.0.1_r11/external/markdown/.git/index and SAMD_6.0.1_r11_20170930/external/markdown/.git/index differ Binary files Android_6.0.1_r11/external/mdnsresponder/.git/index and SAMD_6.0.1_r11_20170930/external/mdnsresponder/.git/index differ Binary files Android_6.0.1_r11/external/mesa3d/.git/index and SAMD_6.0.1_r11_20170930/external/mesa3d/.git/index differ Binary files Android_6.0.1_r11/external/messageformat/.git/index and SAMD_6.0.1_r11_20170930/external/messageformat/.git/index differ Binary files Android_6.0.1_r11/external/mksh/.git/index and SAMD_6.0.1_r11_20170930/external/mksh/.git/index differ Binary files Android_6.0.1_r11/external/mockftpserver/.git/index and SAMD_6.0.1_r11_20170930/external/mockftpserver/.git/index differ Binary files Android_6.0.1_r11/external/mockito/.git/index and SAMD_6.0.1_r11_20170930/external/mockito/.git/index differ Binary files Android_6.0.1_r11/external/mockwebserver/.git/index and SAMD_6.0.1_r11_20170930/external/mockwebserver/.git/index differ Binary files Android_6.0.1_r11/external/mp4parser/.git/index and SAMD_6.0.1_r11_20170930/external/mp4parser/.git/index differ Binary files Android_6.0.1_r11/external/mtpd/.git/index and SAMD_6.0.1_r11_20170930/external/mtpd/.git/index differ Binary files Android_6.0.1_r11/external/nanohttpd/.git/index and SAMD_6.0.1_r11_20170930/external/nanohttpd/.git/index differ Binary files Android_6.0.1_r11/external/nanopb-c/.git/index and SAMD_6.0.1_r11_20170930/external/nanopb-c/.git/index differ Binary files Android_6.0.1_r11/external/naver-fonts/.git/index and SAMD_6.0.1_r11_20170930/external/naver-fonts/.git/index differ Binary files Android_6.0.1_r11/external/netcat/.git/index and SAMD_6.0.1_r11_20170930/external/netcat/.git/index differ Binary files Android_6.0.1_r11/external/netperf/.git/index and SAMD_6.0.1_r11_20170930/external/netperf/.git/index differ Binary files Android_6.0.1_r11/external/neven/.git/index and SAMD_6.0.1_r11_20170930/external/neven/.git/index differ Binary files Android_6.0.1_r11/external/nfacct/.git/index and SAMD_6.0.1_r11_20170930/external/nfacct/.git/index differ Binary files Android_6.0.1_r11/external/nist-pkits/.git/index and SAMD_6.0.1_r11_20170930/external/nist-pkits/.git/index differ Binary files Android_6.0.1_r11/external/nist-sip/.git/index and SAMD_6.0.1_r11_20170930/external/nist-sip/.git/index differ Binary files Android_6.0.1_r11/external/noto-fonts/.git/index and SAMD_6.0.1_r11_20170930/external/noto-fonts/.git/index differ Binary files Android_6.0.1_r11/external/oauth/.git/index and SAMD_6.0.1_r11_20170930/external/oauth/.git/index differ Binary files Android_6.0.1_r11/external/objenesis/.git/index and SAMD_6.0.1_r11_20170930/external/objenesis/.git/index differ Binary files Android_6.0.1_r11/external/okhttp/.git/index and SAMD_6.0.1_r11_20170930/external/okhttp/.git/index differ Binary files Android_6.0.1_r11/external/opencv/.git/index and SAMD_6.0.1_r11_20170930/external/opencv/.git/index differ Binary files Android_6.0.1_r11/external/openfst/.git/index and SAMD_6.0.1_r11_20170930/external/openfst/.git/index differ Binary files Android_6.0.1_r11/external/openssh/.git/index and SAMD_6.0.1_r11_20170930/external/openssh/.git/index differ Binary files Android_6.0.1_r11/external/owasp/sanitizer/.git/index and SAMD_6.0.1_r11_20170930/external/owasp/sanitizer/.git/index differ Binary files Android_6.0.1_r11/external/parameter-framework/.git/index and SAMD_6.0.1_r11_20170930/external/parameter-framework/.git/index differ Binary files Android_6.0.1_r11/external/pcre/.git/index and SAMD_6.0.1_r11_20170930/external/pcre/.git/index differ Binary files Android_6.0.1_r11/external/pdfium/.git/index and SAMD_6.0.1_r11_20170930/external/pdfium/.git/index differ Binary files Android_6.0.1_r11/external/ppp/.git/index and SAMD_6.0.1_r11_20170930/external/ppp/.git/index differ Binary files Android_6.0.1_r11/external/proguard/.git/index and SAMD_6.0.1_r11_20170930/external/proguard/.git/index differ Binary files Android_6.0.1_r11/external/protobuf/.git/index and SAMD_6.0.1_r11_20170930/external/protobuf/.git/index differ Binary files Android_6.0.1_r11/external/regex-re2/.git/index and SAMD_6.0.1_r11_20170930/external/regex-re2/.git/index differ Binary files Android_6.0.1_r11/external/replicaisland/.git/index and SAMD_6.0.1_r11_20170930/external/replicaisland/.git/index differ Binary files Android_6.0.1_r11/external/robolectric/.git/index and SAMD_6.0.1_r11_20170930/external/robolectric/.git/index differ Binary files Android_6.0.1_r11/external/roboto-fonts/.git/index and SAMD_6.0.1_r11_20170930/external/roboto-fonts/.git/index differ Binary files Android_6.0.1_r11/external/safe-iop/.git/index and SAMD_6.0.1_r11_20170930/external/safe-iop/.git/index differ Binary files Android_6.0.1_r11/external/scrypt/.git/index and SAMD_6.0.1_r11_20170930/external/scrypt/.git/index differ Binary files Android_6.0.1_r11/external/selinux/.git/index and SAMD_6.0.1_r11_20170930/external/selinux/.git/index differ diff -urN Android_6.0.1_r11/external/sepolicy/domain.te SAMD_6.0.1_r11_20170930/external/sepolicy/domain.te --- Android_6.0.1_r11/external/sepolicy/domain.te 2017-09-27 02:07:40.395736220 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/domain.te 2016-11-01 08:36:40.000000000 +0900 @@ -307,9 +307,9 @@ neverallow { domain -init } property_data_file:file no_w_file_perms; # Only recovery should be doing writes to /system -neverallow { domain -recovery } { system_file exec_type }:dir_file_class_set - { create write setattr relabelfrom append unlink link rename }; -neverallow { domain -recovery -kernel } { system_file exec_type }:dir_file_class_set relabelto; +#neverallow { domain -recovery } { system_file exec_type }:dir_file_class_set +# { create write setattr relabelfrom append unlink link rename }; +#neverallow { domain -recovery -kernel } { system_file exec_type }:dir_file_class_set relabelto; # Don't allow mounting on top of /system files or directories neverallow domain { system_file exec_type }:dir_file_class_set mounton; diff -urN Android_6.0.1_r11/external/sepolicy/.git/config SAMD_6.0.1_r11_20170930/external/sepolicy/.git/config --- Android_6.0.1_r11/external/sepolicy/.git/config 2017-09-26 20:32:59.127994734 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/config 1970-01-01 09:00:00.000000000 +0900 @@ -1,9 +0,0 @@ -[core] - repositoryformatversion = 0 - filemode = true -[filter "lfs"] - smudge = git-lfs smudge --skip -- %f -[remote "aosp"] - url = https://android.googlesource.com/platform/external/sepolicy - projectname = platform/external/sepolicy - fetch = +refs/heads/*:refs/remotes/aosp/* diff -urN Android_6.0.1_r11/external/sepolicy/.git/description SAMD_6.0.1_r11_20170930/external/sepolicy/.git/description --- Android_6.0.1_r11/external/sepolicy/.git/description 2017-09-26 20:32:59.107994734 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/description 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff -urN Android_6.0.1_r11/external/sepolicy/.git/hooks/applypatch-msg.sample SAMD_6.0.1_r11_20170930/external/sepolicy/.git/hooks/applypatch-msg.sample --- Android_6.0.1_r11/external/sepolicy/.git/hooks/applypatch-msg.sample 2017-09-26 20:32:59.107994734 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/hooks/applypatch-msg.sample 1970-01-01 09:00:00.000000000 +0900 @@ -1,15 +0,0 @@ -#!/bin/sh -# -# An example hook script to check the commit log message taken by -# applypatch from an e-mail message. -# -# The hook should exit with non-zero status after issuing an -# appropriate message if it wants to stop the commit. The hook is -# allowed to edit the commit message file. -# -# To enable this hook, rename this file to "applypatch-msg". - -. git-sh-setup -test -x "$GIT_DIR/hooks/commit-msg" && - exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} -: diff -urN Android_6.0.1_r11/external/sepolicy/.git/hooks/commit-msg.sample SAMD_6.0.1_r11_20170930/external/sepolicy/.git/hooks/commit-msg.sample --- Android_6.0.1_r11/external/sepolicy/.git/hooks/commit-msg.sample 2017-09-26 20:32:59.107994734 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/hooks/commit-msg.sample 1970-01-01 09:00:00.000000000 +0900 @@ -1,24 +0,0 @@ -#!/bin/sh -# -# An example hook script to check the commit log message. -# Called by "git commit" with one argument, the name of the file -# that has the commit message. The hook should exit with non-zero -# status after issuing an appropriate message if it wants to stop the -# commit. The hook is allowed to edit the commit message file. -# -# To enable this hook, rename this file to "commit-msg". - -# Uncomment the below to add a Signed-off-by line to the message. -# Doing this in a hook is a bad idea in general, but the prepare-commit-msg -# hook is more suited to it. -# -# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') -# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" - -# This example catches duplicate Signed-off-by lines. - -test "" = "$(grep '^Signed-off-by: ' "$1" | - sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { - echo >&2 Duplicate Signed-off-by lines. - exit 1 -} diff -urN Android_6.0.1_r11/external/sepolicy/.git/hooks/post-update.sample SAMD_6.0.1_r11_20170930/external/sepolicy/.git/hooks/post-update.sample --- Android_6.0.1_r11/external/sepolicy/.git/hooks/post-update.sample 2017-09-26 20:32:59.107994734 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/hooks/post-update.sample 1970-01-01 09:00:00.000000000 +0900 @@ -1,8 +0,0 @@ -#!/bin/sh -# -# An example hook script to prepare a packed repository for use over -# dumb transports. -# -# To enable this hook, rename this file to "post-update". - -exec git update-server-info diff -urN Android_6.0.1_r11/external/sepolicy/.git/hooks/pre-applypatch.sample SAMD_6.0.1_r11_20170930/external/sepolicy/.git/hooks/pre-applypatch.sample --- Android_6.0.1_r11/external/sepolicy/.git/hooks/pre-applypatch.sample 2017-09-26 20:32:59.107994734 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/hooks/pre-applypatch.sample 1970-01-01 09:00:00.000000000 +0900 @@ -1,14 +0,0 @@ -#!/bin/sh -# -# An example hook script to verify what is about to be committed -# by applypatch from an e-mail message. -# -# The hook should exit with non-zero status after issuing an -# appropriate message if it wants to stop the commit. -# -# To enable this hook, rename this file to "pre-applypatch". - -. git-sh-setup -test -x "$GIT_DIR/hooks/pre-commit" && - exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"} -: diff -urN Android_6.0.1_r11/external/sepolicy/.git/hooks/pre-auto-gc SAMD_6.0.1_r11_20170930/external/sepolicy/.git/hooks/pre-auto-gc --- Android_6.0.1_r11/external/sepolicy/.git/hooks/pre-auto-gc 2017-09-26 13:27:09.388766984 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/hooks/pre-auto-gc 1970-01-01 09:00:00.000000000 +0900 @@ -1,49 +0,0 @@ -#!/bin/sh -# -# An example hook script to verify if you are on battery, in case you -# are running Linux or OS X. Called by git-gc --auto with no arguments. -# The hook should exit with non-zero status after issuing an appropriate -# message if it wants to stop the auto repacking. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -if test -x /sbin/on_ac_power && /sbin/on_ac_power -then - exit 0 -elif test "$(cat /sys/class/power_supply/AC/online 2>/dev/null)" = 1 -then - exit 0 -elif grep -q 'on-line' /proc/acpi/ac_adapter/AC/state 2>/dev/null -then - exit 0 -elif grep -q '0x01$' /proc/apm 2>/dev/null -then - exit 0 -elif grep -q "AC Power \+: 1" /proc/pmu/info 2>/dev/null -then - exit 0 -elif test -x /usr/bin/pmset && /usr/bin/pmset -g batt | - grep -q "drawing from 'AC Power'" -then - exit 0 -elif test -d /sys/bus/acpi/drivers/battery && test 0 = \ - "$(find /sys/bus/acpi/drivers/battery/ -type l | wc -l)"; -then - # No battery exists. - exit 0 -fi - -echo "Auto packing deferred; not on AC" -exit 1 diff -urN Android_6.0.1_r11/external/sepolicy/.git/hooks/pre-commit.sample SAMD_6.0.1_r11_20170930/external/sepolicy/.git/hooks/pre-commit.sample --- Android_6.0.1_r11/external/sepolicy/.git/hooks/pre-commit.sample 2017-09-26 20:32:59.107994734 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/hooks/pre-commit.sample 1970-01-01 09:00:00.000000000 +0900 @@ -1,49 +0,0 @@ -#!/bin/sh -# -# An example hook script to verify what is about to be committed. -# Called by "git commit" with no arguments. The hook should -# exit with non-zero status after issuing an appropriate message if -# it wants to stop the commit. -# -# To enable this hook, rename this file to "pre-commit". - -if git rev-parse --verify HEAD >/dev/null 2>&1 -then - against=HEAD -else - # Initial commit: diff against an empty tree object - against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 -fi - -# If you want to allow non-ASCII filenames set this variable to true. -allownonascii=$(git config --bool hooks.allownonascii) - -# Redirect output to stderr. -exec 1>&2 - -# Cross platform projects tend to avoid non-ASCII filenames; prevent -# them from being added to the repository. We exploit the fact that the -# printable range starts at the space character and ends with tilde. -if [ "$allownonascii" != "true" ] && - # Note that the use of brackets around a tr range is ok here, (it's - # even required, for portability to Solaris 10's /usr/bin/tr), since - # the square bracket bytes happen to fall in the designated range. - test $(git diff --cached --name-only --diff-filter=A -z $against | - LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 -then - cat <<\EOF -Error: Attempt to add a non-ASCII file name. - -This can cause problems if you want to work with people on other platforms. - -To be portable it is advisable to rename the file. - -If you know what you are doing you can disable this check using: - - git config hooks.allownonascii true -EOF - exit 1 -fi - -# If there are whitespace errors, print the offending file names and fail. -exec git diff-index --check --cached $against -- diff -urN Android_6.0.1_r11/external/sepolicy/.git/hooks/prepare-commit-msg.sample SAMD_6.0.1_r11_20170930/external/sepolicy/.git/hooks/prepare-commit-msg.sample --- Android_6.0.1_r11/external/sepolicy/.git/hooks/prepare-commit-msg.sample 2017-09-26 20:32:59.107994734 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/hooks/prepare-commit-msg.sample 1970-01-01 09:00:00.000000000 +0900 @@ -1,36 +0,0 @@ -#!/bin/sh -# -# An example hook script to prepare the commit log message. -# Called by "git commit" with the name of the file that has the -# commit message, followed by the description of the commit -# message's source. The hook's purpose is to edit the commit -# message file. If the hook fails with a non-zero status, -# the commit is aborted. -# -# To enable this hook, rename this file to "prepare-commit-msg". - -# This hook includes three examples. The first comments out the -# "Conflicts:" part of a merge commit. -# -# The second includes the output of "git diff --name-status -r" -# into the message, just before the "git status" output. It is -# commented because it doesn't cope with --amend or with squashed -# commits. -# -# The third example adds a Signed-off-by line to the message, that can -# still be edited. This is rarely a good idea. - -case "$2,$3" in - merge,) - /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;; - -# ,|template,) -# /usr/bin/perl -i.bak -pe ' -# print "\n" . `git diff --cached --name-status -r` -# if /^#/ && $first++ == 0' "$1" ;; - - *) ;; -esac - -# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') -# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" diff -urN Android_6.0.1_r11/external/sepolicy/.git/hooks/pre-push.sample SAMD_6.0.1_r11_20170930/external/sepolicy/.git/hooks/pre-push.sample --- Android_6.0.1_r11/external/sepolicy/.git/hooks/pre-push.sample 2017-09-26 20:32:59.107994734 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/hooks/pre-push.sample 1970-01-01 09:00:00.000000000 +0900 @@ -1,54 +0,0 @@ -#!/bin/sh - -# An example hook script to verify what is about to be pushed. Called by "git -# push" after it has checked the remote status, but before anything has been -# pushed. If this script exits with a non-zero status nothing will be pushed. -# -# This hook is called with the following parameters: -# -# $1 -- Name of the remote to which the push is being done -# $2 -- URL to which the push is being done -# -# If pushing without using a named remote those arguments will be equal. -# -# Information about the commits which are being pushed is supplied as lines to -# the standard input in the form: -# -# -# -# This sample shows how to prevent push of commits where the log message starts -# with "WIP" (work in progress). - -remote="$1" -url="$2" - -z40=0000000000000000000000000000000000000000 - -IFS=' ' -while read local_ref local_sha remote_ref remote_sha -do - if [ "$local_sha" = $z40 ] - then - # Handle delete - : - else - if [ "$remote_sha" = $z40 ] - then - # New branch, examine all commits - range="$local_sha" - else - # Update to existing branch, examine new commits - range="$remote_sha..$local_sha" - fi - - # Check for WIP commit - commit=`git rev-list -n 1 --grep '^WIP' "$range"` - if [ -n "$commit" ] - then - echo "Found WIP commit in $local_ref, not pushing" - exit 1 - fi - fi -done - -exit 0 diff -urN Android_6.0.1_r11/external/sepolicy/.git/hooks/pre-rebase.sample SAMD_6.0.1_r11_20170930/external/sepolicy/.git/hooks/pre-rebase.sample --- Android_6.0.1_r11/external/sepolicy/.git/hooks/pre-rebase.sample 2017-09-26 20:32:59.107994734 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/hooks/pre-rebase.sample 1970-01-01 09:00:00.000000000 +0900 @@ -1,169 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2006, 2008 Junio C Hamano -# -# The "pre-rebase" hook is run just before "git rebase" starts doing -# its job, and can prevent the command from running by exiting with -# non-zero status. -# -# The hook is called with the following parameters: -# -# $1 -- the upstream the series was forked from. -# $2 -- the branch being rebased (or empty when rebasing the current branch). -# -# This sample shows how to prevent topic branches that are already -# merged to 'next' branch from getting rebased, because allowing it -# would result in rebasing already published history. - -publish=next -basebranch="$1" -if test "$#" = 2 -then - topic="refs/heads/$2" -else - topic=`git symbolic-ref HEAD` || - exit 0 ;# we do not interrupt rebasing detached HEAD -fi - -case "$topic" in -refs/heads/??/*) - ;; -*) - exit 0 ;# we do not interrupt others. - ;; -esac - -# Now we are dealing with a topic branch being rebased -# on top of master. Is it OK to rebase it? - -# Does the topic really exist? -git show-ref -q "$topic" || { - echo >&2 "No such branch $topic" - exit 1 -} - -# Is topic fully merged to master? -not_in_master=`git rev-list --pretty=oneline ^master "$topic"` -if test -z "$not_in_master" -then - echo >&2 "$topic is fully merged to master; better remove it." - exit 1 ;# we could allow it, but there is no point. -fi - -# Is topic ever merged to next? If so you should not be rebasing it. -only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` -only_next_2=`git rev-list ^master ${publish} | sort` -if test "$only_next_1" = "$only_next_2" -then - not_in_topic=`git rev-list "^$topic" master` - if test -z "$not_in_topic" - then - echo >&2 "$topic is already up-to-date with master" - exit 1 ;# we could allow it, but there is no point. - else - exit 0 - fi -else - not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` - /usr/bin/perl -e ' - my $topic = $ARGV[0]; - my $msg = "* $topic has commits already merged to public branch:\n"; - my (%not_in_next) = map { - /^([0-9a-f]+) /; - ($1 => 1); - } split(/\n/, $ARGV[1]); - for my $elem (map { - /^([0-9a-f]+) (.*)$/; - [$1 => $2]; - } split(/\n/, $ARGV[2])) { - if (!exists $not_in_next{$elem->[0]}) { - if ($msg) { - print STDERR $msg; - undef $msg; - } - print STDERR " $elem->[1]\n"; - } - } - ' "$topic" "$not_in_next" "$not_in_master" - exit 1 -fi - -<<\DOC_END - -This sample hook safeguards topic branches that have been -published from being rewound. - -The workflow assumed here is: - - * Once a topic branch forks from "master", "master" is never - merged into it again (either directly or indirectly). - - * Once a topic branch is fully cooked and merged into "master", - it is deleted. If you need to build on top of it to correct - earlier mistakes, a new topic branch is created by forking at - the tip of the "master". This is not strictly necessary, but - it makes it easier to keep your history simple. - - * Whenever you need to test or publish your changes to topic - branches, merge them into "next" branch. - -The script, being an example, hardcodes the publish branch name -to be "next", but it is trivial to make it configurable via -$GIT_DIR/config mechanism. - -With this workflow, you would want to know: - -(1) ... if a topic branch has ever been merged to "next". Young - topic branches can have stupid mistakes you would rather - clean up before publishing, and things that have not been - merged into other branches can be easily rebased without - affecting other people. But once it is published, you would - not want to rewind it. - -(2) ... if a topic branch has been fully merged to "master". - Then you can delete it. More importantly, you should not - build on top of it -- other people may already want to - change things related to the topic as patches against your - "master", so if you need further changes, it is better to - fork the topic (perhaps with the same name) afresh from the - tip of "master". - -Let's look at this example: - - o---o---o---o---o---o---o---o---o---o "next" - / / / / - / a---a---b A / / - / / / / - / / c---c---c---c B / - / / / \ / - / / / b---b C \ / - / / / / \ / - ---o---o---o---o---o---o---o---o---o---o---o "master" - - -A, B and C are topic branches. - - * A has one fix since it was merged up to "next". - - * B has finished. It has been fully merged up to "master" and "next", - and is ready to be deleted. - - * C has not merged to "next" at all. - -We would want to allow C to be rebased, refuse A, and encourage -B to be deleted. - -To compute (1): - - git rev-list ^master ^topic next - git rev-list ^master next - - if these match, topic has not merged in next at all. - -To compute (2): - - git rev-list master..topic - - if this is empty, it is fully merged to "master". - -DOC_END diff -urN Android_6.0.1_r11/external/sepolicy/.git/hooks/update.sample SAMD_6.0.1_r11_20170930/external/sepolicy/.git/hooks/update.sample --- Android_6.0.1_r11/external/sepolicy/.git/hooks/update.sample 2017-09-26 20:32:59.107994734 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/hooks/update.sample 1970-01-01 09:00:00.000000000 +0900 @@ -1,128 +0,0 @@ -#!/bin/sh -# -# An example hook script to blocks unannotated tags from entering. -# Called by "git receive-pack" with arguments: refname sha1-old sha1-new -# -# To enable this hook, rename this file to "update". -# -# Config -# ------ -# hooks.allowunannotated -# This boolean sets whether unannotated tags will be allowed into the -# repository. By default they won't be. -# hooks.allowdeletetag -# This boolean sets whether deleting tags will be allowed in the -# repository. By default they won't be. -# hooks.allowmodifytag -# This boolean sets whether a tag may be modified after creation. By default -# it won't be. -# hooks.allowdeletebranch -# This boolean sets whether deleting branches will be allowed in the -# repository. By default they won't be. -# hooks.denycreatebranch -# This boolean sets whether remotely creating branches will be denied -# in the repository. By default this is allowed. -# - -# --- Command line -refname="$1" -oldrev="$2" -newrev="$3" - -# --- Safety check -if [ -z "$GIT_DIR" ]; then - echo "Don't run this script from the command line." >&2 - echo " (if you want, you could supply GIT_DIR then run" >&2 - echo " $0 )" >&2 - exit 1 -fi - -if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then - echo "usage: $0 " >&2 - exit 1 -fi - -# --- Config -allowunannotated=$(git config --bool hooks.allowunannotated) -allowdeletebranch=$(git config --bool hooks.allowdeletebranch) -denycreatebranch=$(git config --bool hooks.denycreatebranch) -allowdeletetag=$(git config --bool hooks.allowdeletetag) -allowmodifytag=$(git config --bool hooks.allowmodifytag) - -# check for no description -projectdesc=$(sed -e '1q' "$GIT_DIR/description") -case "$projectdesc" in -"Unnamed repository"* | "") - echo "*** Project description file hasn't been set" >&2 - exit 1 - ;; -esac - -# --- Check types -# if $newrev is 0000...0000, it's a commit to delete a ref. -zero="0000000000000000000000000000000000000000" -if [ "$newrev" = "$zero" ]; then - newrev_type=delete -else - newrev_type=$(git cat-file -t $newrev) -fi - -case "$refname","$newrev_type" in - refs/tags/*,commit) - # un-annotated tag - short_refname=${refname##refs/tags/} - if [ "$allowunannotated" != "true" ]; then - echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 - echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 - exit 1 - fi - ;; - refs/tags/*,delete) - # delete tag - if [ "$allowdeletetag" != "true" ]; then - echo "*** Deleting a tag is not allowed in this repository" >&2 - exit 1 - fi - ;; - refs/tags/*,tag) - # annotated tag - if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 - then - echo "*** Tag '$refname' already exists." >&2 - echo "*** Modifying a tag is not allowed in this repository." >&2 - exit 1 - fi - ;; - refs/heads/*,commit) - # branch - if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then - echo "*** Creating a branch is not allowed in this repository" >&2 - exit 1 - fi - ;; - refs/heads/*,delete) - # delete branch - if [ "$allowdeletebranch" != "true" ]; then - echo "*** Deleting a branch is not allowed in this repository" >&2 - exit 1 - fi - ;; - refs/remotes/*,commit) - # tracking branch - ;; - refs/remotes/*,delete) - # delete tracking branch - if [ "$allowdeletebranch" != "true" ]; then - echo "*** Deleting a tracking branch is not allowed in this repository" >&2 - exit 1 - fi - ;; - *) - # Anything else (is there anything else?) - echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 - exit 1 - ;; -esac - -# --- Finished -exit 0 Binary files Android_6.0.1_r11/external/sepolicy/.git/index and SAMD_6.0.1_r11_20170930/external/sepolicy/.git/index differ diff -urN Android_6.0.1_r11/external/sepolicy/.git/info/exclude SAMD_6.0.1_r11_20170930/external/sepolicy/.git/info/exclude --- Android_6.0.1_r11/external/sepolicy/.git/info/exclude 2017-09-26 20:32:59.107994734 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/info/exclude 1970-01-01 09:00:00.000000000 +0900 @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m10-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m10-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m10-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m10-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 65b5fde912285ebeeefc9c7486f4453dd86d994f hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m10-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m10-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m10-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m10-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 65b5fde912285ebeeefc9c7486f4453dd86d994f hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m7-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m7-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m7-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m7-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 000b69499aa233a7277b828756c01b27a47b17ce hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m7-mr-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m7-mr-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m7-mr-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m7-mr-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 000b69499aa233a7277b828756c01b27a47b17ce hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m7-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m7-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m7-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m7-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 000b69499aa233a7277b828756c01b27a47b17ce hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m8-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m8-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m8-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m8-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 a1f903dab202fac48b2e24a7850732a1b3c8e0f1 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m8-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m8-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m8-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m8-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 a1f903dab202fac48b2e24a7850732a1b3c8e0f1 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m9-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m9-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m9-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m9-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 2b935cd78dae5db5035808f79b00c71be0e32b43 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m9-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m9-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m9-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/brillo-m9-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 2b935cd78dae5db5035808f79b00c71be0e32b43 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/ics-plus-aosp SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/ics-plus-aosp --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/ics-plus-aosp 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/ics-plus-aosp 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 f5f899c3c0f684ffba6950b343e652abd78d0fd9 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/idea133 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/idea133 --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/idea133 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/idea133 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 0bc17371f731e6ca10d3e9c1092d6f33806332a1 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/idea133-weekly-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/idea133-weekly-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/idea133-weekly-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/idea133-weekly-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 9a6097e32521f1f971551351de8a7af02b01817f hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 d045eaec2c2e54806d0a9040674bf6b1a7668004 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr0-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr0-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr0-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr0-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 d045eaec2c2e54806d0a9040674bf6b1a7668004 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1.1-cts-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1.1-cts-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1.1-cts-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1.1-cts-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 acbded32b2663b65605878f32d45894f4948a388 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1.1-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1.1-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1.1-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1.1-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 acbded32b2663b65605878f32d45894f4948a388 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1.1-dev-plus-aosp SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1.1-dev-plus-aosp --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1.1-dev-plus-aosp 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1.1-dev-plus-aosp 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 97ff811c0b4bfb18cd012587b7f8519e910920b0 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1.1-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1.1-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1.1-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1.1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 acbded32b2663b65605878f32d45894f4948a388 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 acbded32b2663b65605878f32d45894f4948a388 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1-dev-plus-aosp SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1-dev-plus-aosp --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1-dev-plus-aosp 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1-dev-plus-aosp 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 58b0fb6ddee7257a6a27f31ba97d47fa23efac15 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 acbded32b2663b65605878f32d45894f4948a388 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr2.0.0-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr2.0.0-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr2.0.0-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr2.0.0-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 274d2927a7ccbfd266c83d6da5e9e2772805fbd5 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr2.0-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr2.0-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr2.0-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr2.0-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 274d2927a7ccbfd266c83d6da5e9e2772805fbd5 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr2-cts-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr2-cts-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr2-cts-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr2-cts-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 274d2927a7ccbfd266c83d6da5e9e2772805fbd5 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr2-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr2-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr2-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr2-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 274d2927a7ccbfd266c83d6da5e9e2772805fbd5 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr2-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr2-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr2-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-mr2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 274d2927a7ccbfd266c83d6da5e9e2772805fbd5 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/jb-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/jb-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 d045eaec2c2e54806d0a9040674bf6b1a7668004 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-cts-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-cts-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-cts-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-cts-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 9702e49307aa738508bb0949bac3000fe9ec5a0d hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-cts-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-cts-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-cts-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 9702e49307aa738508bb0949bac3000fe9ec5a0d hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 9702e49307aa738508bb0949bac3000fe9ec5a0d hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-mr1.1-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-mr1.1-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-mr1.1-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-mr1.1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 35e8dcc9ba40c6419f63d0a516c0995d3064f96e hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-mr1-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-mr1-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-mr1-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-mr1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 35e8dcc9ba40c6419f63d0a516c0995d3064f96e hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-mr2.1-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-mr2.1-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-mr2.1-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-mr2.1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 9702e49307aa738508bb0949bac3000fe9ec5a0d hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-mr2.2-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-mr2.2-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-mr2.2-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-mr2.2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 9702e49307aa738508bb0949bac3000fe9ec5a0d hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-mr2-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-mr2-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-mr2-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-mr2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 9702e49307aa738508bb0949bac3000fe9ec5a0d hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 4fc702eccf2c427a44da4b02342250094ab61192 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-wear SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-wear --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-wear 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/kitkat-wear 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 9702e49307aa738508bb0949bac3000fe9ec5a0d hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-cts-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-cts-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-cts-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-cts-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 f82f5e01bf17d2856109f72659a3aead9e10b14f hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-cts-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-cts-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-cts-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 f82f5e01bf17d2856109f72659a3aead9e10b14f hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 480374e4d082238a71773f29483c5d24ad8b3f6d hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-cts-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-cts-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-cts-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-cts-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 78b54b5ddf8242be40ec26d543333bf82f7479a2 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-cts-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-cts-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-cts-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 78b54b5ddf8242be40ec26d543333bf82f7479a2 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 880be4622536d86b3d2edc83b2b7de41fa8398c3 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-fi-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-fi-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-fi-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-fi-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 b6dcac1711742a4bd21b25338202ccbac35975f2 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-release 2017-09-26 20:33:22.695994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1,2 +0,0 @@ -0000000000000000000000000000000000000000 37e296f19c9e69aa74df710ad7f0f58ce585bdcf hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head -37e296f19c9e69aa74df710ad7f0f58ce585bdcf f517a9bdc0bd98f96be7d53cb276b333a6ffd59e hochul 1506425602 +0900 fetch --progress aosp --tags +refs/heads/*:refs/remotes/aosp/* +refs/tags/android-6.0.1_r11:refs/tags/android-6.0.1_r11: fast-forward diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-wfc-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-wfc-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-wfc-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-mr1-wfc-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 880be4622536d86b3d2edc83b2b7de41fa8398c3 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 296b3f5e10b903cbd7594701c8eaf9ed2418ec3b hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-wear-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-wear-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-wear-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/lollipop-wear-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 2c75918505a975eb77e286b5379075892ddf1f8c hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/l-preview SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/l-preview --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/l-preview 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/l-preview 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 44cb98a7647303aedc9f89ef9a14937f59bec6ed hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-cts-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-cts-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-cts-dev 2017-09-26 20:33:22.695994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-cts-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1,2 +0,0 @@ -0000000000000000000000000000000000000000 7d20f40879d1cdcc39dc6e876371020c258d5a86 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head -7d20f40879d1cdcc39dc6e876371020c258d5a86 d472fe0f0274f1c78e8afa2cb76bb6745aa2dd47 hochul 1506425602 +0900 fetch --progress aosp --tags +refs/heads/*:refs/remotes/aosp/* +refs/tags/android-6.0.1_r11:refs/tags/android-6.0.1_r11: fast-forward diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-cts-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-cts-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-cts-release 2017-09-26 20:33:22.695994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1,2 +0,0 @@ -0000000000000000000000000000000000000000 7d20f40879d1cdcc39dc6e876371020c258d5a86 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head -7d20f40879d1cdcc39dc6e876371020c258d5a86 b2acfeff0edd52f64d562f58c22c38f316792ef7 hochul 1506425602 +0900 fetch --progress aosp --tags +refs/heads/*:refs/remotes/aosp/* +refs/tags/android-6.0.1_r11:refs/tags/android-6.0.1_r11: fast-forward diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 4af63fd19366c8dbc5b97acfcd0ea1d632746eed hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr1.5-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr1.5-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr1.5-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr1.5-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 d76ccadb97b94277c65a9f1660ae763bce250132 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr1.5-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr1.5-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr1.5-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr1.5-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 d76ccadb97b94277c65a9f1660ae763bce250132 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr1.6-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr1.6-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr1.6-release 2017-09-26 20:33:22.695994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr1.6-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 5fff25ecbec4b0b721bc474ab2c2c2f1dbabff36 hochul 1506425602 +0900 fetch --progress aosp --tags +refs/heads/*:refs/remotes/aosp/* +refs/tags/android-6.0.1_r11:refs/tags/android-6.0.1_r11: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 48dae29f9a046b328b49abd2073e134d7c29b274 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr-dragon-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr-dragon-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr-dragon-release 2017-09-26 20:33:22.695994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr-dragon-release 1970-01-01 09:00:00.000000000 +0900 @@ -1,2 +0,0 @@ -0000000000000000000000000000000000000000 1507ef2fa1fe90198ef62853ee00c4ecf9b9e8c4 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head -1507ef2fa1fe90198ef62853ee00c4ecf9b9e8c4 34b6e1b17891218fe8738533dd13b0a06c441eb8 hochul 1506425602 +0900 fetch --progress aosp --tags +refs/heads/*:refs/remotes/aosp/* +refs/tags/android-6.0.1_r11:refs/tags/android-6.0.1_r11: fast-forward diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-dr-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 dbd06c18ca014da4386a1ebb3691fb3825822172 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-mr1-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-mr1-dev --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-mr1-dev 2017-09-26 20:33:19.179994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-mr1-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 5eac92174c8a036e088337c1c44f1ea84ab59b0f hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-mr1-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-mr1-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-mr1-release 2017-09-26 20:33:22.695994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-mr1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1,2 +0,0 @@ -0000000000000000000000000000000000000000 9acda2f3805c426c18af62b98aac614f69f97864 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head -9acda2f3805c426c18af62b98aac614f69f97864 1825d644258314f194613b8e7cd7d8554a18843d hochul 1506425602 +0900 fetch --progress aosp --tags +refs/heads/*:refs/remotes/aosp/* +refs/tags/android-6.0.1_r11:refs/tags/android-6.0.1_r11: fast-forward diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-mr2-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-mr2-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-mr2-release 2017-09-26 20:33:22.695994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-mr2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 2c1c98146c7f4f47b6fc2a27139b7caccfe0c2d1 hochul 1506425602 +0900 fetch --progress aosp --tags +refs/heads/*:refs/remotes/aosp/* +refs/tags/android-6.0.1_r11:refs/tags/android-6.0.1_r11: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-mr3-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-mr3-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-mr3-release 2017-09-26 20:33:22.695994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-mr3-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 d3b6f2fa9f8d5576319a18b139559089046e41ed hochul 1506425602 +0900 fetch --progress aosp --tags +refs/heads/*:refs/remotes/aosp/* +refs/tags/android-6.0.1_r11:refs/tags/android-6.0.1_r11: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-release --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-release 2017-09-26 20:33:19.179994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/marshmallow-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 86c188f70d5a1db93cfcef97bafe9a97cc4bc726 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/master SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/master --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/master 2017-09-26 20:33:22.699994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/master 1970-01-01 09:00:00.000000000 +0900 @@ -1,2 +0,0 @@ -0000000000000000000000000000000000000000 07e6b0418e1e2f8da88fca049cec80f9726da361 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head -07e6b0418e1e2f8da88fca049cec80f9726da361 c81ebe522c66dd6e6ef4419ecc7737e2e1740d59 hochul 1506425602 +0900 fetch --progress aosp --tags +refs/heads/*:refs/remotes/aosp/* +refs/tags/android-6.0.1_r11:refs/tags/android-6.0.1_r11: fast-forward diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/master-soong SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/master-soong --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/master-soong 2017-09-26 20:33:19.179994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/master-soong 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 0bc92cea1379ad9cc81aa9ddd537f24a74b5901c hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/n-preview-1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/n-preview-1 --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/n-preview-1 2017-09-26 20:33:19.179994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/n-preview-1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 c9cb6ecc9e8947c525c80613d187211ba0f80646 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/tools_r20 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/tools_r20 --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/tools_r20 2017-09-26 20:33:19.179994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/tools_r20 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 f5f899c3c0f684ffba6950b343e652abd78d0fd9 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/tools_r21 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/tools_r21 --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/tools_r21 2017-09-26 20:33:19.179994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/tools_r21 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 01a58af19494420bb259505bc5404790a21fdd64 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/tools_r22 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/tools_r22 --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/tools_r22 2017-09-26 20:33:19.179994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/tools_r22 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 97ff811c0b4bfb18cd012587b7f8519e910920b0 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/tools_r22.2 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/tools_r22.2 --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/aosp/tools_r22.2 2017-09-26 20:33:19.179994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/aosp/tools_r22.2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 9af6f1bd59ee2fb0622db8ff25c4806c5527a0b3 hochul 1506425599 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/sepolicy.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/m/android-6.0.1_r11 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/m/android-6.0.1_r11 --- Android_6.0.1_r11/external/sepolicy/.git/logs/refs/remotes/m/android-6.0.1_r11 2017-09-26 20:33:22.719994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/logs/refs/remotes/m/android-6.0.1_r11 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 b1521a84bcb8bae23854beffe9a5adc4187e9fc1 Hochul Lee 1506425602 +0900 manifest set to refs/tags/android-6.0.1_r11 Binary files Android_6.0.1_r11/external/sepolicy/.git/objects/pack/pack-34eb5d0c35fb43e0feb6822e6605c330598d0c9e.idx and SAMD_6.0.1_r11_20170930/external/sepolicy/.git/objects/pack/pack-34eb5d0c35fb43e0feb6822e6605c330598d0c9e.idx differ Binary files Android_6.0.1_r11/external/sepolicy/.git/objects/pack/pack-34eb5d0c35fb43e0feb6822e6605c330598d0c9e.pack and SAMD_6.0.1_r11_20170930/external/sepolicy/.git/objects/pack/pack-34eb5d0c35fb43e0feb6822e6605c330598d0c9e.pack differ Binary files Android_6.0.1_r11/external/sepolicy/.git/objects/pack/pack-a9203c4f4dd62cedcd334df9c8a47619194ffc30.idx and SAMD_6.0.1_r11_20170930/external/sepolicy/.git/objects/pack/pack-a9203c4f4dd62cedcd334df9c8a47619194ffc30.idx differ Binary files Android_6.0.1_r11/external/sepolicy/.git/objects/pack/pack-a9203c4f4dd62cedcd334df9c8a47619194ffc30.pack and SAMD_6.0.1_r11_20170930/external/sepolicy/.git/objects/pack/pack-a9203c4f4dd62cedcd334df9c8a47619194ffc30.pack differ diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/brillo-m10-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/brillo-m10-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/brillo-m10-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/brillo-m10-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -65b5fde912285ebeeefc9c7486f4453dd86d994f diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/brillo-m10-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/brillo-m10-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/brillo-m10-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/brillo-m10-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -65b5fde912285ebeeefc9c7486f4453dd86d994f diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/brillo-m7-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/brillo-m7-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/brillo-m7-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/brillo-m7-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -000b69499aa233a7277b828756c01b27a47b17ce diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/brillo-m7-mr-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/brillo-m7-mr-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/brillo-m7-mr-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/brillo-m7-mr-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -000b69499aa233a7277b828756c01b27a47b17ce diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/brillo-m7-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/brillo-m7-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/brillo-m7-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/brillo-m7-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -000b69499aa233a7277b828756c01b27a47b17ce diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/brillo-m8-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/brillo-m8-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/brillo-m8-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/brillo-m8-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -a1f903dab202fac48b2e24a7850732a1b3c8e0f1 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/brillo-m8-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/brillo-m8-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/brillo-m8-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/brillo-m8-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -a1f903dab202fac48b2e24a7850732a1b3c8e0f1 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/brillo-m9-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/brillo-m9-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/brillo-m9-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/brillo-m9-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2b935cd78dae5db5035808f79b00c71be0e32b43 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/brillo-m9-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/brillo-m9-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/brillo-m9-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/brillo-m9-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2b935cd78dae5db5035808f79b00c71be0e32b43 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/ics-plus-aosp SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/ics-plus-aosp --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/ics-plus-aosp 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/ics-plus-aosp 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f5f899c3c0f684ffba6950b343e652abd78d0fd9 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/idea133 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/idea133 --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/idea133 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/idea133 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0bc17371f731e6ca10d3e9c1092d6f33806332a1 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/idea133-weekly-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/idea133-weekly-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/idea133-weekly-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/idea133-weekly-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9a6097e32521f1f971551351de8a7af02b01817f diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d045eaec2c2e54806d0a9040674bf6b1a7668004 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr0-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr0-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr0-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr0-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d045eaec2c2e54806d0a9040674bf6b1a7668004 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr1.1-cts-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr1.1-cts-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr1.1-cts-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr1.1-cts-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -acbded32b2663b65605878f32d45894f4948a388 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr1.1-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr1.1-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr1.1-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr1.1-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -acbded32b2663b65605878f32d45894f4948a388 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr1.1-dev-plus-aosp SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr1.1-dev-plus-aosp --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr1.1-dev-plus-aosp 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr1.1-dev-plus-aosp 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -97ff811c0b4bfb18cd012587b7f8519e910920b0 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr1.1-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr1.1-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr1.1-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr1.1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -acbded32b2663b65605878f32d45894f4948a388 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr1-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr1-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr1-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr1-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -acbded32b2663b65605878f32d45894f4948a388 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr1-dev-plus-aosp SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr1-dev-plus-aosp --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr1-dev-plus-aosp 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr1-dev-plus-aosp 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -58b0fb6ddee7257a6a27f31ba97d47fa23efac15 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr1-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr1-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr1-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -acbded32b2663b65605878f32d45894f4948a388 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr2.0.0-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr2.0.0-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr2.0.0-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr2.0.0-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -274d2927a7ccbfd266c83d6da5e9e2772805fbd5 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr2.0-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr2.0-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr2.0-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr2.0-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -274d2927a7ccbfd266c83d6da5e9e2772805fbd5 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr2-cts-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr2-cts-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr2-cts-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr2-cts-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -274d2927a7ccbfd266c83d6da5e9e2772805fbd5 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr2-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr2-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr2-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr2-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -274d2927a7ccbfd266c83d6da5e9e2772805fbd5 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr2-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr2-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-mr2-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-mr2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -274d2927a7ccbfd266c83d6da5e9e2772805fbd5 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/jb-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/jb-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d045eaec2c2e54806d0a9040674bf6b1a7668004 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/kitkat-cts-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/kitkat-cts-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/kitkat-cts-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/kitkat-cts-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9702e49307aa738508bb0949bac3000fe9ec5a0d diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/kitkat-cts-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/kitkat-cts-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/kitkat-cts-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/kitkat-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9702e49307aa738508bb0949bac3000fe9ec5a0d diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/kitkat-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/kitkat-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/kitkat-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/kitkat-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9702e49307aa738508bb0949bac3000fe9ec5a0d diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/kitkat-mr1.1-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/kitkat-mr1.1-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/kitkat-mr1.1-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/kitkat-mr1.1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -35e8dcc9ba40c6419f63d0a516c0995d3064f96e diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/kitkat-mr1-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/kitkat-mr1-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/kitkat-mr1-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/kitkat-mr1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -35e8dcc9ba40c6419f63d0a516c0995d3064f96e diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/kitkat-mr2.1-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/kitkat-mr2.1-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/kitkat-mr2.1-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/kitkat-mr2.1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9702e49307aa738508bb0949bac3000fe9ec5a0d diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/kitkat-mr2.2-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/kitkat-mr2.2-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/kitkat-mr2.2-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/kitkat-mr2.2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9702e49307aa738508bb0949bac3000fe9ec5a0d diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/kitkat-mr2-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/kitkat-mr2-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/kitkat-mr2-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/kitkat-mr2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9702e49307aa738508bb0949bac3000fe9ec5a0d diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/kitkat-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/kitkat-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/kitkat-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/kitkat-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4fc702eccf2c427a44da4b02342250094ab61192 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/kitkat-wear SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/kitkat-wear --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/kitkat-wear 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/kitkat-wear 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9702e49307aa738508bb0949bac3000fe9ec5a0d diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-cts-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-cts-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-cts-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-cts-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f82f5e01bf17d2856109f72659a3aead9e10b14f diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-cts-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-cts-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-cts-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f82f5e01bf17d2856109f72659a3aead9e10b14f diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -480374e4d082238a71773f29483c5d24ad8b3f6d diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-cts-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-cts-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-cts-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-cts-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -78b54b5ddf8242be40ec26d543333bf82f7479a2 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-cts-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-cts-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-cts-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -78b54b5ddf8242be40ec26d543333bf82f7479a2 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -880be4622536d86b3d2edc83b2b7de41fa8398c3 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-fi-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-fi-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-fi-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-fi-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b6dcac1711742a4bd21b25338202ccbac35975f2 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-release 2017-09-26 20:33:22.695994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f517a9bdc0bd98f96be7d53cb276b333a6ffd59e diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-wfc-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-wfc-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-wfc-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-mr1-wfc-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -880be4622536d86b3d2edc83b2b7de41fa8398c3 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -296b3f5e10b903cbd7594701c8eaf9ed2418ec3b diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-wear-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-wear-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/lollipop-wear-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/lollipop-wear-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2c75918505a975eb77e286b5379075892ddf1f8c diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/l-preview SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/l-preview --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/l-preview 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/l-preview 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -44cb98a7647303aedc9f89ef9a14937f59bec6ed diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-cts-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-cts-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-cts-dev 2017-09-26 20:33:22.695994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-cts-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d472fe0f0274f1c78e8afa2cb76bb6745aa2dd47 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-cts-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-cts-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-cts-release 2017-09-26 20:33:22.695994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b2acfeff0edd52f64d562f58c22c38f316792ef7 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4af63fd19366c8dbc5b97acfcd0ea1d632746eed diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr1.5-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr1.5-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr1.5-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr1.5-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d76ccadb97b94277c65a9f1660ae763bce250132 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr1.5-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr1.5-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr1.5-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr1.5-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d76ccadb97b94277c65a9f1660ae763bce250132 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr1.6-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr1.6-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr1.6-release 2017-09-26 20:33:22.695994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr1.6-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5fff25ecbec4b0b721bc474ab2c2c2f1dbabff36 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr-dev 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -48dae29f9a046b328b49abd2073e134d7c29b274 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr-dragon-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr-dragon-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr-dragon-release 2017-09-26 20:33:22.695994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr-dragon-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -34b6e1b17891218fe8738533dd13b0a06c441eb8 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr-release 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-dr-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -dbd06c18ca014da4386a1ebb3691fb3825822172 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-mr1-dev SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-mr1-dev --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-mr1-dev 2017-09-26 20:33:19.179994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-mr1-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5eac92174c8a036e088337c1c44f1ea84ab59b0f diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-mr1-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-mr1-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-mr1-release 2017-09-26 20:33:22.695994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-mr1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -1825d644258314f194613b8e7cd7d8554a18843d diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-mr2-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-mr2-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-mr2-release 2017-09-26 20:33:22.695994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-mr2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2c1c98146c7f4f47b6fc2a27139b7caccfe0c2d1 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-mr3-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-mr3-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-mr3-release 2017-09-26 20:33:22.695994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-mr3-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d3b6f2fa9f8d5576319a18b139559089046e41ed diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-release SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-release --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/marshmallow-release 2017-09-26 20:33:19.179994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/marshmallow-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -86c188f70d5a1db93cfcef97bafe9a97cc4bc726 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/master SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/master --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/master 2017-09-26 20:33:22.699994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/master 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c81ebe522c66dd6e6ef4419ecc7737e2e1740d59 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/master-soong SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/master-soong --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/master-soong 2017-09-26 20:33:19.179994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/master-soong 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0bc92cea1379ad9cc81aa9ddd537f24a74b5901c diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/n-preview-1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/n-preview-1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/n-preview-1 2017-09-26 20:33:19.179994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/n-preview-1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c9cb6ecc9e8947c525c80613d187211ba0f80646 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/tools_r20 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/tools_r20 --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/tools_r20 2017-09-26 20:33:19.179994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/tools_r20 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f5f899c3c0f684ffba6950b343e652abd78d0fd9 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/tools_r21 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/tools_r21 --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/tools_r21 2017-09-26 20:33:19.179994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/tools_r21 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -01a58af19494420bb259505bc5404790a21fdd64 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/tools_r22 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/tools_r22 --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/tools_r22 2017-09-26 20:33:19.179994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/tools_r22 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -97ff811c0b4bfb18cd012587b7f8519e910920b0 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/tools_r22.2 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/tools_r22.2 --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/aosp/tools_r22.2 2017-09-26 20:33:19.179994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/aosp/tools_r22.2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9af6f1bd59ee2fb0622db8ff25c4806c5527a0b3 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/m/android-6.0.1_r11 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/m/android-6.0.1_r11 --- Android_6.0.1_r11/external/sepolicy/.git/refs/remotes/m/android-6.0.1_r11 2017-09-26 20:33:22.719994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/remotes/m/android-6.0.1_r11 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ref: refs/tags/android-6.0.1_r11 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.1_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.1_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.1_r1 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -6925c24c1a3219ba5ab3c6bf84ef4b2743a0a319 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.1_r1.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.1_r1.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.1_r1.1 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.1_r1.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -018429049b67d6478395d5576a9e3df76ba51693 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.1_r2 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.1_r2 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.1_r2 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.1_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -72ccff227b79b7d8594369dfcba2cb49f006bcbe diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.1_r3 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.1_r3 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.1_r3 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.1_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -46df7c0ed18ae66b84fa11fc0c2a353dd9702938 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.1_r4 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.1_r4 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.1_r4 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.1_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d111be7008fdb4a931f8ea821e25f9f43634bff4 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.1_r5 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.1_r5 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.1_r5 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.1_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0b9b131611a5b0810c4c1b403f262564a20f1ba5 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.1_r6 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.1_r6 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.1_r6 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.1_r6 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -69d195051d74753f0f39f80dbae4f25c90b4bed9 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.1_r6.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.1_r6.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.1_r6.1 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.1_r6.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -98f1b5d516f82a248b1e584cd5893a53530e10f5 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.2_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.2_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.2_r1 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.2_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8a754dce3f2e6aed5a5342b4e6a1c7f57d4adb9b diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.2_r2 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.2_r2 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.2_r2 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.2_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -151e898d53e6c903d8cc01981c6da5f4ce90a1d2 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.2_r2.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.2_r2.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.1.2_r2.1 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.1.2_r2.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ab06ce43813d874e8005f7ae5c362571317e7544 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.2.1_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.2.1_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.2.1_r1 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.2.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0ede4e66fd25a313b8c8212296dac8fdb0cc9b5d diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.2.1_r1.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.2.1_r1.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.2.1_r1.1 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.2.1_r1.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -52e0f4c71b5301ac2dd91ac75214f6ae236bfbff diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.2.1_r1.2 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.2.1_r1.2 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.2.1_r1.2 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.2.1_r1.2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -725dcf4aa14a400762608dfc00e32af3920bfccc diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.2.2_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.2.2_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.2.2_r1 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.2.2_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -44065a946f3017b00057bafdce7d57f82856d482 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.2.2_r1.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.2.2_r1.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.2.2_r1.1 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.2.2_r1.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -526692d60c72ea2453856e51ec2434d71d25782e diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.2.2_r1.2 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.2.2_r1.2 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.2.2_r1.2 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.2.2_r1.2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f3797700d00a10293d1752fcfe2adc3bf3f74ff8 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.2_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.2_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.2_r1 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.2_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5d3d7ddcbc7877095c45d39bdfddc4d632c5c27d diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3.1_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3.1_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3.1_r1 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -648f4b80a96e26081824e286155e83c899956f2f diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3_r0.9 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3_r0.9 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3_r0.9 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3_r0.9 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ab45fc7a4851f923d0092ee92d99ea283f9ef5d2 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3_r0.9.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3_r0.9.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3_r0.9.1 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3_r0.9.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -21e54e0786ec72d44edd77853fd88ff5936e06b1 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3_r1 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -48ff70c2fcbba0eec1dfb465f31457d7bf656f7a diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3_r1.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3_r1.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3_r1.1 2017-09-26 20:33:19.195994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3_r1.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2fbf3a85cd66cc0ebe1aa2ad9fbf9b821b957d1c diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3_r2 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3_r2 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3_r2 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f6e3f46fd2176b393ef5bafd3771df3d8bac20ec diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3_r2.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3_r2.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3_r2.1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3_r2.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0e9e59717b5462b2310e216e2981fdfc55a67430 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3_r2.2 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3_r2.2 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3_r2.2 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3_r2.2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -6ef25d7dbec1e010239b5ffb5ca33c91398e4eb7 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3_r2.3 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3_r2.3 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3_r2.3 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3_r2.3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -bf1c6806acc83ef6d1d6971ca7f0a5c3689fd224 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3_r3 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3_r3 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3_r3 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -a2301ac481da4c8e2c11bd455997468fef935a03 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3_r3.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3_r3.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.3_r3.1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.3_r3.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -1d4d3d2a57d136e7cad57bfdcd18de8e01534520 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.1_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.1_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.1_r1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0edb800c68417164dfed20da51c7e4a23cf74c31 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.1_r1.0.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.1_r1.0.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.1_r1.0.1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.1_r1.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -a43c0be0acf4e89776a2fe2ad506eeb661bec9fd diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.2_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.2_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.2_r1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.2_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5801984a666503748a7df6ad6c88b559e871b400 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.2_r1.0.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.2_r1.0.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.2_r1.0.1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.2_r1.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -bffeb4f0b70d0a4f7c7f190ae350acf734b40135 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.2_r2 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.2_r2 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.2_r2 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.2_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -3936eadbe91fb9885df6270cfbecb70be1b9431c diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.2_r2.0.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.2_r2.0.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.2_r2.0.1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.2_r2.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d7560b89aae950c08c8a05b6315d50addd74ec07 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.3_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.3_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.3_r1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.3_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8ddb48c6db4a4dfd6f5991e9d3719cf394d111e6 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.3_r1.0.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.3_r1.0.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.3_r1.0.1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.3_r1.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -cef21529e8a411d47eb4ba768b7c63a03c49dfab diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.3_r1.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.3_r1.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.3_r1.1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.3_r1.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -596a1276133357e6f71183a22488c4b01a84b9ec diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.3_r1.1.0.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.3_r1.1.0.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.3_r1.1.0.1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.3_r1.1.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e6bff7ff769e718452ce4b167ec14a9ca168e385 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.4_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.4_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.4_r1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.4_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -cdcf3288f1173541ec76ac92cd829316ca8b578a diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.4_r1.0.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.4_r1.0.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.4_r1.0.1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.4_r1.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b4caf969e9d7fea7b88800360ef842c64c5466a1 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.4_r2 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.4_r2 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.4_r2 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.4_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9535fdb9f18b9aaa6326dbefc600f63639f92262 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.4_r2.0.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.4_r2.0.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4.4_r2.0.1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4.4_r2.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -a6aad2d3def4e66d085a694c97460d65294daacb diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4_r0.7 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4_r0.7 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4_r0.7 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4_r0.7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -da514563a6d715512cd2b130764cb87fc99bbe76 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4_r0.8 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4_r0.8 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4_r0.8 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4_r0.8 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -73cd555d0896d8a140de43239b6d150ffa3871ad diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4_r0.9 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4_r0.9 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4_r0.9 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4_r0.9 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -52c697f2f81780bcae42ad82133288bc25a8662d diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4_r1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -19556658f3b1c1b08a47bfba16a208a2191e199f diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4_r1.0.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4_r1.0.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4_r1.0.1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4_r1.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2d3f11d2298293dbff440465766ebc04bbeef70e diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4_r1.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4_r1.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4_r1.1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4_r1.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ff1ec498793a743d6f742ad9ea0d493ac9a94c23 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4_r1.1.0.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4_r1.1.0.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4_r1.1.0.1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4_r1.1.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8fd6d4d6cdf15380c828db153f1d8a230fb99bb9 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4_r1.2 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4_r1.2 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4_r1.2 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4_r1.2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8fb3a1e49ee2081d879d4beb980e79493a3d2942 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4_r1.2.0.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4_r1.2.0.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4_r1.2.0.1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4_r1.2.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0dc47738b1d2c267ebe9ff5801d9bb2fb01105b0 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4w_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4w_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-4.4w_r1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-4.4w_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -cf38f574cc01dab2b403790159b8d003ec814993 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.0_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.0_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.0_r1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.0_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -48eb64fc95919ee9a630618f75e5feafd427c443 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.0_r2 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.0_r2 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.0_r2 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.0_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -56731989f48bbfb2fb0ae1de60c39cf62d304d19 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.0_r3 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.0_r3 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.0_r3 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.0_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b5ebc311376944819f1387a95aa6be179804a45e diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.0_r4 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.0_r4 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.0_r4 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.0_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -62ca391c1bc4adcf3e24e3907cd69387fbdf0ed1 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.0_r5 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.0_r5 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.0_r5 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.0_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -7d62833991fdb74dde32c38dfacb2ee2f274c2e0 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.0_r5.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.0_r5.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.0_r5.1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.0_r5.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0f7ded497852bbfbc1c27b938ccfaad6bfc172d8 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.0_r6 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.0_r6 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.0_r6 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.0_r6 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c105aabfdd2f3efe02ed8c5b51025b55e54b632d diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.0_r7 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.0_r7 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.0_r7 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.0_r7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2b787da5cc95574abbd4e385797addc07402b279 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.1_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.1_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.1_r1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2991955921fdf922dfd4aa239847cacd5587d075 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.2_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.2_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.2_r1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.2_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -fa08a6b83b612d58e3242ed415c58b4c295d6421 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.2_r3 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.2_r3 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.0.2_r3 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.0.2_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -3a5f229f5ba85614b0396241e6de205623c6be11 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.0_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.0_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.0_r1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.0_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -bb16e19f8bb7a2fe6bbd4b6e0bebf465fdd0fc30 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.0_r3 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.0_r3 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.0_r3 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.0_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9a85b4304713692b7972986d0620d77b5167c08f diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.0_r4 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.0_r4 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.0_r4 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.0_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b518e576d1b582ddc6ee18bd58a6c337655a6d20 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.0_r5 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.0_r5 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.0_r5 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.0_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e710454fcc44d920f4f380539665fbbd76756fe0 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r1 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4c6013b558821ddfe3a6b2fc7cf6a6d28e8181a1 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r10 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r10 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r10 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r10 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -85e2a4330b03a6517fc385eeda070560361b98d6 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r12 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r12 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r12 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r12 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d0d12e2246344ffac8e7a0a229741c7198b455fb diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r13 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r13 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r13 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r13 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -60dcc347c52e0af36a1905665ca7bca912a8f2e7 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r14 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r14 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r14 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r14 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -70a7a082d631448b6390f561c7f2259519855c79 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r15 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r15 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r15 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r15 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0105d430a89e3cba8f129ceaaa6febdc2d9f6979 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r16 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r16 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r16 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r16 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -aa817ea769b32090f2332a0905e77d1f78a240b3 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r17 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r17 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r17 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r17 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -67a1e17f4df2fdb58418260d4684adb1a1248771 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r18 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r18 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r18 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r18 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -bc492c3b40a261584c3ba6dc0dd663926369457b diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r19 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r19 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r19 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r19 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -33c326b704b1730c7443969f994513ed5c27aa89 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r2 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r2 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r2 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -aa6b2ee186996f878e85745cecbc309a562e114d diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r20 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r20 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r20 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r20 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5d2cadfa0c3a2415297cd89001f461089beeba6d diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r22 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r22 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r22 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r22 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5195ead1b161b136399f166e98c1a596f9029eab diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r23 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r23 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r23 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r23 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2fb70b3529429e88c7d061f3713d55be6ece4ee1 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r24 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r24 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r24 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r24 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -6a4d897f0557841187e4fd0ec2c344c92ac2d53a diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r25 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r25 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r25 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r25 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b2901541c6d35bedc570d1caad946a89abe6f737 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r26 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r26 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r26 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r26 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c7d4b6e7ba0315a1922d80e14a01d27d5b88834a diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r28 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r28 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r28 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r28 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -57dfb31946b71b2806457b14860905e835fc4e0c diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r29 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r29 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r29 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r29 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -15f7479f4b030f782a5d6330c2b45491553f3be3 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r3 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r3 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r3 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -157adf921ba91c94ef9eed464730569929e67d4b diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r30 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r30 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r30 2017-09-26 20:33:19.191994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r30 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -bbf14f48974d93aa1bba6f8373a793c07b64ef77 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r33 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r33 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r33 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r33 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -501710a9399a9fe645e68f257fbe39a874061ed9 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r34 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r34 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r34 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r34 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9efceb08e6b323138c08cf3d5973dc5525952582 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r35 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r35 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r35 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r35 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b939fbfa9a3625ab7e5fe03800c25194c3a0ff45 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r36 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r36 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r36 2017-09-26 20:33:22.699994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r36 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f1ae1621f8c58260fc30c16c9e835752337c8543 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r37 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r37 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r37 2017-09-26 20:33:22.699994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r37 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -fbad08e218aca5c710df3df202555db180604a48 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r38 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r38 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r38 2017-09-26 20:33:22.699994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r38 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4959d4223ec1dfc9ae1c14bc7bede4ff001da968 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r4 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r4 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r4 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -27b2737791cdc974dd7241174a52967796a0ecf3 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r5 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r5 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r5 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -55a7327da3a355c16a0038b86409cc299eb22b6d diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r6 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r6 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r6 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r6 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -de21d22983012d12275e2415ce9bacb0ddb67f78 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r7 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r7 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r7 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -185d588c5050a04fd64f60e7206f1b7fa553e8dd diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r8 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r8 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r8 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r8 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -66dfd80d2b1fac25e9446b7c1e49242370528b1d diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r9 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r9 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-5.1.1_r9 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-5.1.1_r9 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8b4cb2d658e69789ca85d589b6d3a75c0c3e0146 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r1 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -95d48db2acbd9394dcdb9e705e78d28169d2036e diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r11 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r11 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r11 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r11 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -52ee6564221c34d0f6b8dafd1e0d3253414a9457 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r12 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r12 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r12 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r12 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -106c6d114fe6c22e012471a320f9c70a77121d8f diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r13 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r13 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r13 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r13 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -fe97606d415a05b09ad7c22299fefd4bf1ab02d4 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r2 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r2 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r2 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0dacecfce7e43536ad0a628c0b60b32045cfd454 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r23 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r23 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r23 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r23 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c47bd0465fa3b1402e205deaebc85237ef547cb2 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r24 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r24 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r24 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r24 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -41e63909085da6f713e6654482cf540fd1ab32d5 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r25 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r25 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r25 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r25 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ce40753bd33cc5af66be573174ca9ff18189f06a diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r26 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r26 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r26 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r26 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b955d59839098cf48bb8e7433731bc47e3943269 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r3 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r3 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r3 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c8248c8971b4b98dff5920606ec595d8e566290b diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r4 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r4 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r4 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f52dca66827eec4753e82a8cdc67d1952fbb5666 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r41 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r41 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r41 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r41 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -68db6c0119144c59fa4a4d079f97d106f236e530 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r5 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r5 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r5 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2667d6ccc49e27dbe9fb6baec58d37f12d688033 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r6 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r6 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r6 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r6 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b9abd525ea757ac7e7c918c8c7f5e4af23f0d4b0 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r7 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r7 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.0_r7 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.0_r7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2875358df19df57484164582b8ac4c48fc260a06 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r1 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -826684f4f172b646ade731e6f48e1c2647fb8e36 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r10 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r10 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r10 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r10 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -54ce52f56f370037e40e8027dc3d1e6796129ecc diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r11 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r11 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r11 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r11 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b1521a84bcb8bae23854beffe9a5adc4187e9fc1 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r12 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r12 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r12 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r12 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f80ec7bf4caa3955c9f889aa9bb6b56903ad154c diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r13 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r13 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r13 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r13 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -3ed4a1ced53b7aa4417f1bb6e461cd75be3a71fc diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r16 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r16 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r16 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r16 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e1915b8277b9ec3f88ac9a6f15cc52ac576f1c45 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r17 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r17 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r17 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r17 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f99ff0148a6e26303fe93f7f3b6a2feb7090f067 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r18 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r18 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r18 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r18 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -bb7cca873e0aca537892a7f16837624897152077 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r20 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r20 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r20 2017-09-26 20:33:22.699994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r20 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -6842b2d8672af106b6b9098fa670ec477f895dce diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r21 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r21 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r21 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r21 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c5ade03e0a72fd5b45855a0187623311b5c608d0 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r22 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r22 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r22 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r22 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9972c91da27b2f879dd821b23062bc311b254381 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r24 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r24 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r24 2017-09-26 20:33:22.699994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r24 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -94562c8d1d4215e45664c1feef1dd321123232cc diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r25 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r25 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r25 2017-09-26 20:33:22.699994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r25 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -808017edd1a74fa9f33156505a43188f83e9c021 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r26 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r26 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r26 2017-09-26 20:33:22.699994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r26 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9dc3206608329385616f5a6cb5dbaf910632a436 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r27 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r27 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r27 2017-09-26 20:33:22.699994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r27 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -7e531dd0291a134be21b676c0d8b2ad91d1e5505 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r28 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r28 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r28 2017-09-26 20:33:22.699994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r28 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -44fd96f37fe684bf10e51fdb5624eab9cf37a46f diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r3 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r3 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r3 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -db6619fa32373436057507a83ea0dd9f1fd82a84 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r30 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r30 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r30 2017-09-26 20:33:22.699994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r30 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0356e9d1f120cce489ee15446a33729332ab8d67 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r31 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r31 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r31 2017-09-26 20:33:22.699994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r31 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -3fa4343638fec800df30a40601e63cb9022e7e49 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r32 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r32 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r32 2017-09-26 20:33:22.699994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r32 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -736b6129ac16cf861b0a08727a64f1b6f5ed791a diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r33 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r33 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r33 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r33 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -432b82b6b729c9564f13ba7c7f9df71748db71ee diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r4 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r4 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r4 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9fa25ba9d0a1b2918d7b2496c05358b6679e5ba7 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r40 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r40 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r40 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r40 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4dd70a13324abdd83026bcbe9ee855234602a5ac diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r41 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r41 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r41 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r41 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -884913643ffff16cc77a860c58117f497f3da528 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r42 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r42 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r42 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r42 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -094fd898cf70aa4861ded24e63d96a58bc7603a4 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r43 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r43 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r43 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r43 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ae24879a546ce042aa30c27972802cdaaebcb8a1 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r45 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r45 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r45 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r45 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -88f8b076ed649f5cbb2b3fcfa16034f5dfeb3f9e diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r46 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r46 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r46 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r46 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -3067a6987e46e9599979dc677017fca769a5c4db diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r47 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r47 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r47 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r47 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8ab14a3666855b9eb837fff2b511beec75128f27 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r48 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r48 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r48 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r48 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8029269468292dae7489e8ec4115ebb2ecd274ca diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r49 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r49 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r49 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r49 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9ba44d843c20ed29c4955057bc82d65a813fb101 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r5 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r5 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r5 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -61bc936bbd54cfbb328d27ded1e8b3e270777e5c diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r50 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r50 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r50 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r50 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8fa7cc4542adbc4a2d31a53a3a538d4a3f85cef6 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r51 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r51 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r51 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r51 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0d52b6e4eecbe6b0e8a7418303cdc7e581fc83a6 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r52 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r52 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r52 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r52 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c2293021c93bf088890867c758b60c7575b041f6 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r53 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r53 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r53 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r53 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ef1579244ecd3d4dd5c94a5b0a9f9e6bfec2f79c diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r54 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r54 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r54 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r54 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8dcdee83d23e5e125dce27ced9692827a4898c64 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r55 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r55 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r55 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r55 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e0b5b13b843b753022e8341688c2d30e6c34941b diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r56 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r56 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r56 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r56 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4f7dd2a7a22cc32d122d5e192f7141121e216c54 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r57 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r57 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r57 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r57 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9a92ff284e0cae51a66754e075d03d58f9a20499 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r58 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r58 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r58 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r58 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -256d33ad58b55055d64fd1efb90d3bdf638d8228 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r59 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r59 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r59 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r59 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -3d9eb50a397bee8112218f5466f84c4668dcdba0 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r60 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r60 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r60 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r60 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -cb199f3f6302bb8d7185473610c723b76ae9db87 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r61 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r61 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r61 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r61 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -63bc9b26a0bf0ca8f5bf327b245a4bcb33919dc6 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r62 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r62 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r62 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r62 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -6a8864061d6ae2d2ef14a313ddc899457d87fa07 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r63 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r63 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r63 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r63 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -68a6d19066049df4c5f46092dcd38b2dd5a021c0 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r65 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r65 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r65 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r65 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -06a288bf7f2822cf3075d887781c2f440aea9eee diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r66 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r66 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r66 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r66 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -27a940cf2621f9d57b47af0726e337c9ab62fc16 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r67 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r67 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r67 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r67 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e2e36fabea87905fe926ead209c4823a7d0c765a diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r68 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r68 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r68 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r68 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d3ba5eee22a6b7c464e6087cb2b38191ffbb8dd2 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r69 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r69 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r69 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r69 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -fa4d2d0e5704cd42469401131b1156f76b33201e diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r7 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r7 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r7 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f70fe2ecea985d24788ce3df11774269fa066d89 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r70 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r70 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r70 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r70 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d3dce869c72f1d18b886a6aa91c02befafd30311 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r72 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r72 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r72 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r72 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9a5556c92305b5b6afffb77b479dbaf46e6126fc diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r73 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r73 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r73 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r73 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c607a21c12b8eff1565edbc11557af322d6d2e30 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r74 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r74 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r74 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r74 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9d528bef96a34d8f6882f7ca508babeeb5254e3c diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r77 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r77 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r77 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r77 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -cf2e40e1b2d0cfb948c6f50673965d85e965d8ac diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r78 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r78 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r78 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r78 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -6f8493ff9b85f9269a9bdaf4f28bcfdfeb8f5ab3 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r79 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r79 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r79 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r79 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -a38002ccc59cb5ad3616e494779106f34667c6fc diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r8 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r8 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r8 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r8 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -10aafe5f3a9fa210a32def2430c428cdd08a45c5 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r80 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r80 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r80 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r80 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -41c2adfa2e563db442b182e3f5375781274e39b3 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r9 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r9 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-6.0.1_r9 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-6.0.1_r9 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b1d929fff8b29c01faf7762ae7be8f20b5979641 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-4.1_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-4.1_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-4.1_r1 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-4.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -fa94635c3ae3d9af1d48a8d37a327bca1696dc2c diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-4.1_r2 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-4.1_r2 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-4.1_r2 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-4.1_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -79104ee75597ccf1156da91e145fbef625e92cce diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-4.1_r4 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-4.1_r4 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-4.1_r4 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-4.1_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -01b051f5ee7043a2a15280648b91b9c847575936 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-4.2_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-4.2_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-4.2_r1 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-4.2_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ad6d7dbb21de50df9fce49912c38f0133e1a0e9e diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-4.2_r2 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-4.2_r2 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-4.2_r2 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-4.2_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -14646171304097d2dfb0f54641e83ba53b1711d4 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-4.4_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-4.4_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-4.4_r1 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-4.4_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5bc32f2f7a96567c9d668e29ff40dded069e1922 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-4.4_r4 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-4.4_r4 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-4.4_r4 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-4.4_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -dcb390be5b3173186115aa335721f618076d45dd diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.0_r3 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.0_r3 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.0_r3 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.0_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5c1f1e43861b5388b767ad61814e8898bd199493 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.0_r4 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.0_r4 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.0_r4 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.0_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c66c704d438aa88c1e67e8936262e0831fd0a84b diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.0_r5 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.0_r5 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.0_r5 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.0_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d88b295e12618256e92941dbee37269cfc80af45 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.0_r6 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.0_r6 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.0_r6 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.0_r6 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9c464feace49651a5c1dedad22b45679858b4a11 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.0_r7 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.0_r7 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.0_r7 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.0_r7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -1bba0bcc3aaed8bf61df31f7e604dbe7a58b9430 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.0_r8 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.0_r8 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.0_r8 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.0_r8 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f5a07ca9be6ad153887a8e763a0c4fc7b59a9630 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.0_r9 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.0_r9 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.0_r9 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.0_r9 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f2e1ea2d7415bbb0f53513b5559b1466c740390e diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r1 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8e13a54d9bc5975517e03abd16dd85fd2079a013 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r10 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r10 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r10 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r10 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -6b30ecb93429edd74a111da91defa71f01ee6362 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r13 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r13 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r13 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r13 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f12980ec376be7d521dfc212a7790fc44da313e4 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r14 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r14 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r14 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r14 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5be1182a91a14a501adba0e5626b922a33e9f273 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r15 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r15 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r15 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r15 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e8118f1b7dcf5754864c8c3fb552943709554cef diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r16 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r16 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r16 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r16 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e00d37aa7d5bf87f929ef2bf3cd035e4ef3b2717 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r17 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r17 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r17 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r17 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -1daf81d703de528fe53bd53a115b3d2943d8d780 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r18 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r18 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r18 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r18 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5b9df8a71437732e9c75e9c9d08b28aaf13090ff diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r19 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r19 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r19 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r19 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c783a90a087ddd26ddf6e044e13633ff7b9fac75 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r2 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r2 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r2 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5ccb13cacd4cf46a34fdd17062af671165ab105d diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r20 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r20 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r20 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r20 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -350addd53b521ffbd94cb28f2578d34df8029b9b diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r21 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r21 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r21 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r21 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -04db1259e9ccfe6f7d261dced9a15366b12a7c92 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r22 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r22 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r22 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r22 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -806e85c1a51ba23326f0cc55f741acbfeb77ea6b diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r23 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r23 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r23 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r23 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -083c1636c20959a932d200214461785eb5d7bbab diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r3 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r3 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r3 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -39755b70b1957eae69dead2202fe932b49eeaecb diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r4 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r4 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r4 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -864cfc8b642e02c04e70bc46c9d9963dfec280f7 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r5 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r5 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r5 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2e5b1747ea453444f77efb908819724b0752f879 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r6 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r6 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r6 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r6 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -1d14cc913f21e355f147181ef1416035a51f5661 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r7 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r7 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r7 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ffbe80207f32f0a7a212a2d6dee579523c465e06 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r8 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r8 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r8 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r8 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f5128e7d1fb60c747518c55058837e3ee4904231 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r9 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r9 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-5.1_r9 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-5.1_r9 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4946635596ce901a11492233c7eee52437b7cca1 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r1 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -79f8706d69ee62c0c868002bf2a6f342a512ef7e diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r12 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r12 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r12 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r12 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f8f7505ca3d47f93f0235498a8f05ec6a62213ed diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r13 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r13 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r13 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r13 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -674afcb10bb25c80f7ee904a138ed0866cb84a81 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r14 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r14 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r14 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r14 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e6f87c7d5d1a92e4b3fc56fb5676a5ceb895242d diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r15 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r15 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r15 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r15 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -1c6f0e8fe1fdde5ae75458f750d5412e7e22ba95 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r16 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r16 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r16 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r16 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d49392fb3666fafc0a142e95be6f71de3c42c529 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r17 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r17 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r17 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r17 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -fb836862deb33fefccccb88d9511237b77379c1c diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r18 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r18 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r18 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r18 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b1f5743ce518ce106d8591905d51bf71a719fdea diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r19 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r19 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r19 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r19 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -899da55de46fb9aad82155245e9c6830895059bd diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r2 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r2 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r2 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -1250bf7b1c5d41f80a69223c2ef24a239c7270bb diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r20 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r20 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r20 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r20 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c5f42ef547c6dfc580c77e897fcfc8c3e4dfcd1c diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r21 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r21 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r21 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r21 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8b6535cd1c827ad4b7bdcb359e02f26d538b6bb4 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r22 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r22 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r22 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r22 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -3ed746986ccb5aa38d7e15807c379630a8eafd48 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r3 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r3 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r3 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b51f890c0e7b74e2813984a6d964453cb0d8a528 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r4 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r4 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r4 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -73f38762a8a6ddb838ca10683fd9cccad6ede269 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r5 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r5 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r5 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b79f1292f8da4633afd4f444f8c51fb9cb09fd8d diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r6 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r6 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r6 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r6 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5bf970d3dd504f865b119435b0101b28e6f2047c diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r7 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r7 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r7 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -84ba9087d83bbd5b97a3ecdee5726dae3daa235f diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r8 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r8 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r8 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r8 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5bb68d6079248e70de0b8fbf677e3c789a0f74c7 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r9 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r9 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-cts-6.0_r9 2017-09-26 20:33:22.703994430 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-cts-6.0_r9 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d9095cf26ce2030ca60ecc34773a6e1a2294dd49 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-l-preview_r2 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-l-preview_r2 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-l-preview_r2 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-l-preview_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -7fdb6a310e7e902f12e84cc4554053c7655ab96d diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-m-preview SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-m-preview --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-m-preview 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-m-preview 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -34798c9d77299d1d6d8773dbf7aa5d210e9b5b39 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-m-preview-1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-m-preview-1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-m-preview-1 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-m-preview-1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -82dcdb4de920698327e28c20f8f4180a2a2f86f0 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-m-preview-2 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-m-preview-2 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-m-preview-2 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-m-preview-2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f3e1684f3589dad5033e3bac96e645145f279bd5 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-n-preview-1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-n-preview-1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-n-preview-1 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-n-preview-1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4a8020abb82e08b9c54fffabe530894309dca102 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-sdk-4.4.2_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-sdk-4.4.2_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-sdk-4.4.2_r1 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-sdk-4.4.2_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -eb277f8a55d14e9f38a9a511588d5c37f1071f22 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-sdk-4.4.2_r1.0.1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-sdk-4.4.2_r1.0.1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-sdk-4.4.2_r1.0.1 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-sdk-4.4.2_r1.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c0afb41143593e2f7597eae0b966ea9a8fe3ffba diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-sdk-adt_r20 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-sdk-adt_r20 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-sdk-adt_r20 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-sdk-adt_r20 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f1cfb0802466eaf496a77bf14a11725eddb83461 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-sdk-support_r11 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-sdk-support_r11 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-sdk-support_r11 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-sdk-support_r11 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -a4fb0c97998f8be7883184c0d8bba748b638e930 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-wear-5.0.0_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-wear-5.0.0_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-wear-5.0.0_r1 2017-09-26 20:33:19.187994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-wear-5.0.0_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ff1013b24ba6640ec45b93481590cb34d441f49f diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-wear-5.1.0_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-wear-5.1.0_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-wear-5.1.0_r1 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-wear-5.1.0_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e60b18b4f22e46130edd4fb44c592c17a3428fc2 diff -urN Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-wear-5.1.1_r1 SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-wear-5.1.1_r1 --- Android_6.0.1_r11/external/sepolicy/.git/refs/tags/android-wear-5.1.1_r1 2017-09-26 20:33:19.183994475 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/.git/refs/tags/android-wear-5.1.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -22cede1080c3d80f7c795124430db9a1244cc72f diff -urN Android_6.0.1_r11/external/sepolicy/service_contexts SAMD_6.0.1_r11_20170930/external/sepolicy/service_contexts --- Android_6.0.1_r11/external/sepolicy/service_contexts 2017-09-27 02:07:40.399736220 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/service_contexts 2017-09-15 11:46:39.531844000 +0900 @@ -128,4 +128,9 @@ wifiscanner u:object_r:wifiscanner_service:s0 wifi u:object_r:wifi_service:s0 window u:object_r:window_service:s0 +collaboroid u:object_r:collaboroid_service:s0 +devicemanagement u:object_r:collaboroid_service:s0 +remote u:object_r:collaboroid_service:s0 +distribute u:object_r:collaboroid_service:s0 +samd u:object_r:collaboroid_service:s0 * u:object_r:default_android_service:s0 diff -urN Android_6.0.1_r11/external/sepolicy/service.te SAMD_6.0.1_r11_20170930/external/sepolicy/service.te --- Android_6.0.1_r11/external/sepolicy/service.te 2017-09-27 02:07:40.399736220 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/service.te 2016-11-01 08:36:40.000000000 +0900 @@ -102,3 +102,6 @@ type wifiscanner_service, system_api_service, system_server_service, service_manager_type; type wifi_service, app_api_service, system_server_service, service_manager_type; type window_service, system_api_service, system_server_service, service_manager_type; +type collaboroid_service, system_api_service, system_server_service, service_manager_type; + +#allow collaboroid_service shell_data_file:file rw_file_perms; diff -urN Android_6.0.1_r11/external/sepolicy/system_server.te SAMD_6.0.1_r11_20170930/external/sepolicy/system_server.te --- Android_6.0.1_r11/external/sepolicy/system_server.te 2017-09-27 02:07:40.399736220 +0900 +++ SAMD_6.0.1_r11_20170930/external/sepolicy/system_server.te 2016-11-01 08:36:40.000000000 +0900 @@ -318,7 +318,8 @@ allow system_server cache_file:fifo_file create_file_perms; # Run system programs, e.g. dexopt. -allow system_server system_file:file x_file_perms; +#allow system_server system_file:file x_file_perms; +allow system_server system_file:file { create_file_perms x_file_perms }; # LocationManager(e.g, GPS) needs to read and write # to uart driver and ctrl proc entry @@ -387,6 +388,7 @@ allow system_server radio_service:service_manager find; allow system_server system_server_service:service_manager { add find }; allow system_server surfaceflinger_service:service_manager find; +allow system_server collaboroid_service:service_manager add; allow system_server keystore:keystore_key { get_state Binary files Android_6.0.1_r11/external/sfntly/.git/index and SAMD_6.0.1_r11_20170930/external/sfntly/.git/index differ Binary files Android_6.0.1_r11/external/skia/.git/index and SAMD_6.0.1_r11_20170930/external/skia/.git/index differ Binary files Android_6.0.1_r11/external/slf4j/.git/index and SAMD_6.0.1_r11_20170930/external/slf4j/.git/index differ Binary files Android_6.0.1_r11/external/smali/antlr-runtime.jar and SAMD_6.0.1_r11_20170930/external/smali/antlr-runtime.jar differ diff -urN Android_6.0.1_r11/external/smali/baksmali/Android.mk SAMD_6.0.1_r11_20170930/external/smali/baksmali/Android.mk --- Android_6.0.1_r11/external/smali/baksmali/Android.mk 2017-09-27 02:07:41.267736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/Android.mk 2016-11-01 08:36:40.000000000 +0900 @@ -53,8 +53,6 @@ include $(BUILD_HOST_JAVA_LIBRARY) - - # copy baksmali script # ============================================================ @@ -70,4 +68,59 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/../scripts/baksmali | $(ACP) @echo "Copy: $(PRIVATE_MODULE) ($@)" $(copy-file-to-new-target) - $(hide) chmod 755 $@ \ No newline at end of file + $(hide) chmod 755 $@ + + +include $(CLEAR_VARS) + +LOCAL_MODULE := libbaksmali + +#LOCAL_NO_STANDARD_LIBRARIES := true +LOCAL_MODULE_TAGS := optional +LOCAL_JARJAR_RULES := $(LOCAL_PATH)/../jarjar-rules.txt +LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk + +#LOCAL_MODULE_CLASS and LOCAL_IS_HOST_MODULE must be defined before calling $(local-intermediates-dir) +LOCAL_MODULE_CLASS := JAVA_LIBRARIES + +intermediates := $(call local-intermediates-dir,COMMON) + +LOCAL_SRC_FILES := \ + $(call all-java-files-under, src/main/java) \ + $(call all-java-files-under, ../util/src/main/java) + +LOCAL_STATIC_JAVA_LIBRARIES := \ + libdex2 + +#read in the version number +BAKSMALI_VERSION := $(shell cat $(LOCAL_PATH)/../build.gradle | \ + grep -o -e "^version = '\(.*\)'" | grep -o -e "[0-9.]\+") + +BAKSMALI_VERSION := $(BAKSMALI_VERSION)-aosp + +#create a new baksmali.properties file using the correct version +$(intermediates)/resources/baksmali.properties: + $(hide) mkdir -p $(dir $@) + $(hide) echo "application.version=$(BAKSMALI_VERSION)" > $@ + +LOCAL_JAVA_RESOURCE_FILES := $(intermediates)/resources/baksmali.properties + +include $(BUILD_JAVA_LIBRARY) + + +include $(CLEAR_VARS) + +LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libdex2:../dexlib2.jar + +include $(BUILD_MULTI_PREBUILT) + + + + + + + + + + + \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/BeginEpilogueMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/BeginEpilogueMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/BeginEpilogueMethodItem.java 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/BeginEpilogueMethodItem.java 2017-01-28 17:50:40.000000000 +0900 @@ -0,0 +1,48 @@ +/* + * Copyright 2012, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.baksmali.Adaptors.Debug; + +import org.jf.util.IndentingWriter; + +import java.io.IOException; + +public class BeginEpilogueMethodItem extends DebugMethodItem { + public BeginEpilogueMethodItem(int codeAddress, int sortOrder) { + super(codeAddress, sortOrder); + } + + @Override + public boolean writeTo(IndentingWriter writer) throws IOException { + writer.write(".prologue"); + return true; + } +} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/DebugMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/DebugMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/DebugMethodItem.java 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/DebugMethodItem.java 2017-01-28 17:50:40.000000000 +0900 @@ -0,0 +1,71 @@ +/* + * Copyright 2012, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.baksmali.Adaptors.Debug; + +import org.jf.baksmali.Adaptors.MethodItem; +import org.jf.baksmali.Adaptors.RegisterFormatter; +import org.jf.dexlib2.DebugItemType; +import org.jf.dexlib2.iface.debug.*; +import org.jf.util.ExceptionWithContext; + +public abstract class DebugMethodItem extends MethodItem { + private final int sortOrder; + + protected DebugMethodItem(int codeAddress, int sortOrder) { + super(codeAddress); + this.sortOrder = sortOrder; + } + + @Override public double getSortOrder() { return sortOrder; } + + public static DebugMethodItem build(RegisterFormatter registerFormatter, DebugItem debugItem) { + int codeAddress = debugItem.getCodeAddress(); + switch (debugItem.getDebugItemType()) { + case DebugItemType.START_LOCAL: + return new StartLocalMethodItem(codeAddress, -1, registerFormatter, (StartLocal)debugItem); + case DebugItemType.END_LOCAL: + return new EndLocalMethodItem(codeAddress, -1, registerFormatter, (EndLocal)debugItem); + case DebugItemType.RESTART_LOCAL: + return new RestartLocalMethodItem(codeAddress, -1, registerFormatter, (RestartLocal)debugItem); + case DebugItemType.EPILOGUE_BEGIN: + return new BeginEpilogueMethodItem(codeAddress, -4); + case DebugItemType.PROLOGUE_END: + return new EndPrologueMethodItem(codeAddress, -4); + case DebugItemType.SET_SOURCE_FILE: + return new SetSourceFileMethodItem(codeAddress, -3, (SetSourceFile)debugItem); + case DebugItemType.LINE_NUMBER: + return new LineNumberMethodItem(codeAddress, -2, (LineNumber)debugItem); + default: + throw new ExceptionWithContext("Invalid debug item type: %d", debugItem.getDebugItemType()); + } + } +} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/EndLocalMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/EndLocalMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/EndLocalMethodItem.java 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/EndLocalMethodItem.java 2017-01-28 17:50:40.000000000 +0900 @@ -0,0 +1,66 @@ +/* + * Copyright 2012, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.baksmali.Adaptors.Debug; + +import org.jf.baksmali.Adaptors.RegisterFormatter; +import org.jf.dexlib2.iface.debug.EndLocal; +import org.jf.util.IndentingWriter; + +import javax.annotation.Nonnull; +import java.io.IOException; + +public class EndLocalMethodItem extends DebugMethodItem { + @Nonnull private final EndLocal endLocal; + @Nonnull private final RegisterFormatter registerFormatter; + + public EndLocalMethodItem(int codeAddress, int sortOrder, @Nonnull RegisterFormatter registerFormatter, + @Nonnull EndLocal endLocal) { + super(codeAddress, sortOrder); + this.endLocal = endLocal; + this.registerFormatter = registerFormatter; + } + + @Override + public boolean writeTo(IndentingWriter writer) throws IOException { + writer.write(".end local "); + registerFormatter.writeTo(writer, endLocal.getRegister()); + + String name = endLocal.getName(); + String type = endLocal.getType(); + String signature = endLocal.getSignature(); + if (name != null || type != null || signature != null) { + writer.write(" # "); + LocalFormatter.writeLocal(writer, name, type, signature); + } + return true; + } +} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/EndPrologueMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/EndPrologueMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/EndPrologueMethodItem.java 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/EndPrologueMethodItem.java 2017-01-28 17:50:40.000000000 +0900 @@ -0,0 +1,48 @@ +/* + * Copyright 2012, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.baksmali.Adaptors.Debug; + +import org.jf.util.IndentingWriter; + +import java.io.IOException; + +public class EndPrologueMethodItem extends DebugMethodItem { + public EndPrologueMethodItem(int codeAddress, int sortOrder) { + super(codeAddress, sortOrder); + } + + @Override + public boolean writeTo(IndentingWriter writer) throws IOException { + writer.write(".prologue"); + return true; + } +} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/LineNumberMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/LineNumberMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/LineNumberMethodItem.java 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/LineNumberMethodItem.java 2017-01-28 17:50:40.000000000 +0900 @@ -0,0 +1,54 @@ +/* + * Copyright 2012, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.baksmali.Adaptors.Debug; + +import org.jf.dexlib2.iface.debug.LineNumber; +import org.jf.util.IndentingWriter; + +import javax.annotation.Nonnull; +import java.io.IOException; + +public class LineNumberMethodItem extends DebugMethodItem { + private final int lineNumber; + + public LineNumberMethodItem(int codeAddress, int sortOrder, @Nonnull LineNumber lineNumber) { + super(codeAddress, sortOrder); + this.lineNumber = lineNumber.getLineNumber(); + } + + @Override + public boolean writeTo(IndentingWriter writer) throws IOException { + writer.write(".line "); + writer.printUnsignedIntAsDec(lineNumber); + return true; + } +} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/LocalFormatter.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/LocalFormatter.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/LocalFormatter.java 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/LocalFormatter.java 2017-01-28 17:50:40.000000000 +0900 @@ -0,0 +1,73 @@ +/* + * Copyright 2013, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.baksmali.Adaptors.Debug; + +import org.jf.baksmali.Adaptors.ReferenceFormatter; +import org.jf.util.IndentingWriter; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.io.IOException; + +public class LocalFormatter { + /** + * Writes out the given local info + * + * The written string will be something like: + * + * "localVar":Ljava/lang/String;, "SomeSignature" + * "localVar":Ljava/lang/String; + * "localVar":V, "SomeSignature" + * null:Ljava/lang/String;, "SomeSignature" + * null:V, "SomeSignature" + * + * One of name, type or signature must be non-null + */ + public static void writeLocal(@Nonnull IndentingWriter writer, @Nullable String name, @Nullable String type, + @Nullable String signature) throws IOException { + if (name != null) { + ReferenceFormatter.writeStringReference(writer, name); + } else { + writer.write("null"); + } + writer.write(':'); + if (type != null) { + writer.write(type); + } else { + writer.write("V"); + } + if (signature != null) { + writer.write(", "); + ReferenceFormatter.writeStringReference(writer, signature); + } + } +} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/RestartLocalMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/RestartLocalMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/RestartLocalMethodItem.java 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/RestartLocalMethodItem.java 2017-01-28 17:50:40.000000000 +0900 @@ -0,0 +1,66 @@ +/* + * Copyright 2012, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.baksmali.Adaptors.Debug; + +import org.jf.baksmali.Adaptors.RegisterFormatter; +import org.jf.dexlib2.iface.debug.RestartLocal; +import org.jf.util.IndentingWriter; + +import javax.annotation.Nonnull; +import java.io.IOException; + +public class RestartLocalMethodItem extends DebugMethodItem { + @Nonnull private final RestartLocal restartLocal; + @Nonnull private final RegisterFormatter registerFormatter; + + public RestartLocalMethodItem(int codeAddress, int sortOrder, @Nonnull RegisterFormatter registerFormatter, + @Nonnull RestartLocal restartLocal) { + super(codeAddress, sortOrder); + this.restartLocal = restartLocal; + this.registerFormatter = registerFormatter; + } + + @Override + public boolean writeTo(IndentingWriter writer) throws IOException { + writer.write(".restart local "); + registerFormatter.writeTo(writer, restartLocal.getRegister()); + + String name = restartLocal.getName(); + String type = restartLocal.getType(); + String signature = restartLocal.getSignature(); + if (name != null || type != null || signature != null) { + writer.write(" # "); + LocalFormatter.writeLocal(writer, name, type, signature); + } + return true; + } +} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/SetSourceFileMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/SetSourceFileMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/SetSourceFileMethodItem.java 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/SetSourceFileMethodItem.java 2017-01-28 17:50:40.000000000 +0900 @@ -0,0 +1,61 @@ +/* + * Copyright 2012, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.baksmali.Adaptors.Debug; + +import org.jf.dexlib2.iface.debug.SetSourceFile; +import org.jf.util.IndentingWriter; +import org.jf.util.StringUtils; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.io.IOException; + +public class SetSourceFileMethodItem extends DebugMethodItem { + @Nullable private final String sourceFile; + + public SetSourceFileMethodItem(int codeAddress, int sortOrder, @Nonnull SetSourceFile setSourceFile) { + super(codeAddress, sortOrder); + this.sourceFile = setSourceFile.getSourceFile(); + } + + @Override + public boolean writeTo(IndentingWriter writer) throws IOException { + writer.write(".source"); + + if (sourceFile != null) { + writer.write(" \""); + StringUtils.writeEscapedString(writer, sourceFile); + writer.write('"'); + } + return true; + } +} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/StartLocalMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/StartLocalMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/StartLocalMethodItem.java 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Debug/StartLocalMethodItem.java 2017-01-28 17:50:40.000000000 +0900 @@ -0,0 +1,67 @@ +/* + * Copyright 2012, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.baksmali.Adaptors.Debug; + +import org.jf.baksmali.Adaptors.RegisterFormatter; +import org.jf.dexlib2.iface.debug.StartLocal; +import org.jf.util.IndentingWriter; + +import javax.annotation.Nonnull; +import java.io.IOException; + +public class StartLocalMethodItem extends DebugMethodItem { + @Nonnull private final StartLocal startLocal; + @Nonnull private final RegisterFormatter registerFormatter; + + public StartLocalMethodItem(int codeAddress, int sortOrder, @Nonnull RegisterFormatter registerFormatter, + @Nonnull StartLocal startLocal) { + super(codeAddress, sortOrder); + this.startLocal = startLocal; + this.registerFormatter = registerFormatter; + } + + @Override + public boolean writeTo(IndentingWriter writer) throws IOException { + writer.write(".local "); + registerFormatter.writeTo(writer, startLocal.getRegister()); + + String name = startLocal.getName(); + String type = startLocal.getType(); + String signature = startLocal.getSignature(); + + if (name != null || type != null || signature != null) { + writer.write(", "); + LocalFormatter.writeLocal(writer, name, type, signature); + } + return true; + } +} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/EncodedValue/AnnotationEncodedValueAdaptor.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/EncodedValue/AnnotationEncodedValueAdaptor.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/EncodedValue/AnnotationEncodedValueAdaptor.java 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/EncodedValue/AnnotationEncodedValueAdaptor.java 2017-01-28 17:50:40.000000000 +0900 @@ -0,0 +1,65 @@ +/* + * [The "BSD licence"] + * Copyright (c) 2010 Ben Gruver (JesusFreke) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.baksmali.Adaptors.EncodedValue; + +import org.jf.dexlib2.iface.AnnotationElement; +import org.jf.dexlib2.iface.value.AnnotationEncodedValue; +import org.jf.util.IndentingWriter; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.io.IOException; +import java.util.Collection; + +public abstract class AnnotationEncodedValueAdaptor { + + public static void writeTo(@Nonnull IndentingWriter writer, + @Nonnull AnnotationEncodedValue annotationEncodedValue, + @Nullable String containingClass) throws IOException { + writer.write(".subannotation "); + writer.write(annotationEncodedValue.getType()); + writer.write('\n'); + + writeElementsTo(writer, annotationEncodedValue.getElements(), containingClass); + writer.write(".end subannotation"); + } + + public static void writeElementsTo(@Nonnull IndentingWriter writer, + @Nonnull Collection annotationElements, + @Nullable String containingClass) throws IOException { + writer.indent(4); + for (AnnotationElement annotationElement: annotationElements) { + writer.write(annotationElement.getName()); + writer.write(" = "); + EncodedValueAdaptor.writeTo(writer, annotationElement.getValue(), containingClass); + writer.write('\n'); + } + writer.deindent(4); + } +} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/EncodedValue/ArrayEncodedValueAdaptor.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/EncodedValue/ArrayEncodedValueAdaptor.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/EncodedValue/ArrayEncodedValueAdaptor.java 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/EncodedValue/ArrayEncodedValueAdaptor.java 2017-01-28 17:50:40.000000000 +0900 @@ -0,0 +1,65 @@ +/* + * [The "BSD licence"] + * Copyright (c) 2010 Ben Gruver (JesusFreke) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.baksmali.Adaptors.EncodedValue; + +import org.jf.dexlib2.iface.value.ArrayEncodedValue; +import org.jf.dexlib2.iface.value.EncodedValue; +import org.jf.util.IndentingWriter; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.io.IOException; +import java.util.Collection; + +public class ArrayEncodedValueAdaptor { + public static void writeTo(@Nonnull IndentingWriter writer, + @Nonnull ArrayEncodedValue arrayEncodedValue, + @Nullable String containingClass) throws IOException { + writer.write('{'); + Collection values = arrayEncodedValue.getValue(); + if (values.size() == 0) { + writer.write('}'); + return; + } + + writer.write('\n'); + writer.indent(4); + boolean first = true; + for (EncodedValue encodedValue: values) { + if (!first) { + writer.write(",\n"); + } + first = false; + + EncodedValueAdaptor.writeTo(writer, encodedValue, containingClass); + } + writer.deindent(4); + writer.write("\n}"); + } +} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/EncodedValue/EncodedValueAdaptor.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/EncodedValue/EncodedValueAdaptor.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/EncodedValue/EncodedValueAdaptor.java 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/EncodedValue/EncodedValueAdaptor.java 2017-01-28 17:50:40.000000000 +0900 @@ -0,0 +1,112 @@ +/* + * [The "BSD licence"] + * Copyright (c) 2010 Ben Gruver (JesusFreke) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.baksmali.Adaptors.EncodedValue; + +import org.jf.baksmali.Adaptors.ReferenceFormatter; +import org.jf.baksmali.Renderers.*; +import org.jf.dexlib2.ValueType; +import org.jf.dexlib2.iface.value.*; +import org.jf.dexlib2.util.ReferenceUtil; +import org.jf.util.IndentingWriter; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.io.IOException; + +public abstract class EncodedValueAdaptor { + public static void writeTo(@Nonnull IndentingWriter writer, @Nonnull EncodedValue encodedValue, + @Nullable String containingClass) + throws IOException { + switch (encodedValue.getValueType()) { + case ValueType.ANNOTATION: + AnnotationEncodedValueAdaptor.writeTo(writer, (AnnotationEncodedValue)encodedValue, containingClass); + return; + case ValueType.ARRAY: + ArrayEncodedValueAdaptor.writeTo(writer, (ArrayEncodedValue)encodedValue, containingClass); + return; + case ValueType.BOOLEAN: + BooleanRenderer.writeTo(writer, ((BooleanEncodedValue)encodedValue).getValue()); + return; + case ValueType.BYTE: + ByteRenderer.writeTo(writer, ((ByteEncodedValue)encodedValue).getValue()); + return; + case ValueType.CHAR: + CharRenderer.writeTo(writer, ((CharEncodedValue)encodedValue).getValue()); + return; + case ValueType.DOUBLE: + DoubleRenderer.writeTo(writer, ((DoubleEncodedValue)encodedValue).getValue()); + return; + case ValueType.ENUM: + EnumEncodedValue enumEncodedValue = (EnumEncodedValue)encodedValue; + boolean useImplicitReference = false; + if (enumEncodedValue.getValue().getDefiningClass().equals(containingClass)) { + useImplicitReference = true; + } + writer.write(".enum "); + ReferenceUtil.writeFieldDescriptor(writer, enumEncodedValue.getValue(), useImplicitReference); + return; + case ValueType.FIELD: + FieldEncodedValue fieldEncodedValue = (FieldEncodedValue)encodedValue; + useImplicitReference = false; + if (fieldEncodedValue.getValue().getDefiningClass().equals(containingClass)) { + useImplicitReference = true; + } + ReferenceUtil.writeFieldDescriptor(writer, fieldEncodedValue.getValue(), useImplicitReference); + return; + case ValueType.FLOAT: + FloatRenderer.writeTo(writer, ((FloatEncodedValue)encodedValue).getValue()); + return; + case ValueType.INT: + IntegerRenderer.writeTo(writer, ((IntEncodedValue)encodedValue).getValue()); + return; + case ValueType.LONG: + LongRenderer.writeTo(writer, ((LongEncodedValue)encodedValue).getValue()); + return; + case ValueType.METHOD: + MethodEncodedValue methodEncodedValue = (MethodEncodedValue)encodedValue; + useImplicitReference = false; + if (methodEncodedValue.getValue().getDefiningClass().equals(containingClass)) { + useImplicitReference = true; + } + ReferenceUtil.writeMethodDescriptor(writer, methodEncodedValue.getValue(), useImplicitReference); + return; + case ValueType.NULL: + writer.write("null"); + return; + case ValueType.SHORT: + ShortRenderer.writeTo(writer, ((ShortEncodedValue)encodedValue).getValue()); + return; + case ValueType.STRING: + ReferenceFormatter.writeStringReference(writer, ((StringEncodedValue)encodedValue).getValue()); + return; + case ValueType.TYPE: + writer.write(((TypeEncodedValue)encodedValue).getValue()); + } + } +} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/ArrayDataMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/ArrayDataMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/ArrayDataMethodItem.java 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/ArrayDataMethodItem.java 2017-01-28 17:50:40.000000000 +0900 @@ -0,0 +1,81 @@ +/* + * [The "BSD licence"] + * Copyright (c) 2010 Ben Gruver (JesusFreke) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.baksmali.Adaptors.Format; + +import org.jf.baksmali.Adaptors.MethodDefinition; +import org.jf.baksmali.Renderers.LongRenderer; +import org.jf.dexlib2.iface.instruction.formats.ArrayPayload; +import org.jf.util.IndentingWriter; + +import java.io.IOException; +import java.util.List; + +public class ArrayDataMethodItem extends InstructionMethodItem { + public ArrayDataMethodItem(MethodDefinition methodDef, int codeAddress, ArrayPayload instruction) { + super(methodDef, codeAddress, instruction); + } + + public boolean writeTo(IndentingWriter writer) throws IOException { + int elementWidth = instruction.getElementWidth(); + + writer.write(".array-data "); + writer.printSignedIntAsDec(instruction.getElementWidth()); + writer.write('\n'); + + writer.indent(4); + + List elements = instruction.getArrayElements(); + + String suffix = ""; + switch (elementWidth) { + case 1: + suffix = "t"; + break; + case 2: + suffix = "s"; + break; + } + + for (Number number: elements) { + LongRenderer.writeSignedIntOrLongTo(writer, number.longValue()); + writer.write(suffix); + if (elementWidth == 8) { + writeCommentIfLikelyDouble(writer, number.longValue()); + } else if (elementWidth == 4) { + int value = number.intValue(); + boolean isResourceId = writeCommentIfResourceId(writer, value); + if (!isResourceId) writeCommentIfLikelyFloat(writer, value); + } + writer.write("\n"); + } + writer.deindent(4); + writer.write(".end array-data"); + return true; + } +} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/InstructionMethodItemFactory.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/InstructionMethodItemFactory.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/InstructionMethodItemFactory.java 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/InstructionMethodItemFactory.java 2017-01-28 17:50:40.000000000 +0900 @@ -0,0 +1,67 @@ +/* + * [The "BSD licence"] + * Copyright (c) 2010 Ben Gruver (JesusFreke) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.baksmali.Adaptors.Format; + +import org.jf.baksmali.Adaptors.MethodDefinition; +import org.jf.dexlib2.analysis.UnresolvedOdexInstruction; +import org.jf.dexlib2.iface.instruction.Instruction; +import org.jf.dexlib2.iface.instruction.OffsetInstruction; +import org.jf.dexlib2.iface.instruction.formats.ArrayPayload; +import org.jf.dexlib2.iface.instruction.formats.PackedSwitchPayload; +import org.jf.dexlib2.iface.instruction.formats.SparseSwitchPayload; + +public class InstructionMethodItemFactory { + private InstructionMethodItemFactory() { + } + + public static InstructionMethodItem makeInstructionFormatMethodItem( + MethodDefinition methodDef, int codeAddress, Instruction instruction) { + + if (instruction instanceof OffsetInstruction) { + return new OffsetInstructionFormatMethodItem(methodDef.classDef.options, methodDef, codeAddress, + (OffsetInstruction)instruction); + } + + if (instruction instanceof UnresolvedOdexInstruction) { + return new UnresolvedOdexInstructionMethodItem(methodDef, codeAddress, + (UnresolvedOdexInstruction)instruction); + } + + switch (instruction.getOpcode().format) { + case ArrayPayload: + return new ArrayDataMethodItem(methodDef, codeAddress, (ArrayPayload)instruction); + case PackedSwitchPayload: + return new PackedSwitchMethodItem(methodDef, codeAddress, (PackedSwitchPayload)instruction); + case SparseSwitchPayload: + return new SparseSwitchMethodItem(methodDef, codeAddress, (SparseSwitchPayload)instruction); + default: + return new InstructionMethodItem(methodDef, codeAddress, instruction); + } + } +} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/InstructionMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/InstructionMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/InstructionMethodItem.java 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/InstructionMethodItem.java 2017-01-28 17:50:40.000000000 +0900 @@ -0,0 +1,525 @@ +/* + * [The "BSD licence"] + * Copyright (c) 2010 Ben Gruver (JesusFreke) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.baksmali.Adaptors.Format; + +import org.jf.baksmali.Adaptors.MethodDefinition; +import org.jf.baksmali.Adaptors.MethodDefinition.InvalidSwitchPayload; +import org.jf.baksmali.Adaptors.MethodItem; +import org.jf.baksmali.Renderers.LongRenderer; +import org.jf.baksmali.baksmaliOptions; +import org.jf.dexlib2.Opcode; +import org.jf.dexlib2.ReferenceType; +import org.jf.dexlib2.VerificationError; +import org.jf.dexlib2.dexbacked.DexBackedDexFile.InvalidItemIndex; +import org.jf.dexlib2.iface.instruction.*; +import org.jf.dexlib2.iface.instruction.formats.Instruction20bc; +import org.jf.dexlib2.iface.instruction.formats.Instruction31t; +import org.jf.dexlib2.iface.instruction.formats.UnknownInstruction; +import org.jf.dexlib2.iface.reference.FieldReference; +import org.jf.dexlib2.iface.reference.MethodReference; +import org.jf.dexlib2.iface.reference.Reference; +import org.jf.dexlib2.util.ReferenceUtil; +import org.jf.util.ExceptionWithContext; +import org.jf.util.IndentingWriter; +import org.jf.util.NumberUtils; + +import javax.annotation.Nonnull; +import java.io.IOException; +import java.util.Map; + +public class InstructionMethodItem extends MethodItem { + @Nonnull protected final MethodDefinition methodDef; + @Nonnull protected final T instruction; + + public InstructionMethodItem(@Nonnull MethodDefinition methodDef, int codeAddress, @Nonnull T instruction) { + super(codeAddress); + this.methodDef = methodDef; + this.instruction = instruction; + } + + public double getSortOrder() { + //instructions should appear after everything except an "end try" label and .catch directive + return 100; + } + + private boolean isAllowedOdex(@Nonnull Opcode opcode) { + baksmaliOptions options = methodDef.classDef.options; + if (options.allowOdex) { + return true; + } + + if (methodDef.classDef.options.apiLevel >= 14) { + return false; + } + + return opcode.isOdexedInstanceVolatile() || opcode.isOdexedStaticVolatile() || + opcode == Opcode.THROW_VERIFICATION_ERROR; + } + + @Override + public boolean writeTo(IndentingWriter writer) throws IOException { + Opcode opcode = instruction.getOpcode(); + String verificationErrorName = null; + String referenceString = null; + + boolean commentOutInstruction = false; + + if (instruction instanceof Instruction20bc) { + int verificationError = ((Instruction20bc)instruction).getVerificationError(); + verificationErrorName = VerificationError.getVerificationErrorName(verificationError); + if (verificationErrorName == null) { + writer.write("#was invalid verification error type: "); + writer.printSignedIntAsDec(verificationError); + writer.write("\n"); + verificationErrorName = "generic-error"; + } + } + + if (instruction instanceof ReferenceInstruction) { + ReferenceInstruction referenceInstruction = (ReferenceInstruction)instruction; + try { + Reference reference = referenceInstruction.getReference(); + + String classContext = null; + if (methodDef.classDef.options.useImplicitReferences) { + classContext = methodDef.method.getDefiningClass(); + } + + referenceString = ReferenceUtil.getReferenceString(reference, classContext); + assert referenceString != null; + } catch (InvalidItemIndex ex) { + writer.write("#"); + writer.write(ex.getMessage()); + writer.write("\n"); + commentOutInstruction = true; + + referenceString = String.format("%s@%d", + ReferenceType.toString(referenceInstruction.getReferenceType()), + ex.getInvalidIndex()); + } catch (ReferenceType.InvalidReferenceTypeException ex) { + writer.write("#invalid reference type: "); + writer.printSignedIntAsDec(ex.getReferenceType()); + commentOutInstruction = true; + + referenceString = "invalid_reference"; + } + } + + if (instruction instanceof Instruction31t) { + Opcode payloadOpcode; + switch (instruction.getOpcode()) { + case PACKED_SWITCH: + payloadOpcode = Opcode.PACKED_SWITCH_PAYLOAD; + break; + case SPARSE_SWITCH: + payloadOpcode = Opcode.SPARSE_SWITCH_PAYLOAD; + break; + case FILL_ARRAY_DATA: + payloadOpcode = Opcode.ARRAY_PAYLOAD; + break; + default: + throw new ExceptionWithContext("Invalid 31t opcode: %s", instruction.getOpcode()); + } + + try { + methodDef.findSwitchPayload(this.codeAddress + ((Instruction31t)instruction).getCodeOffset(), + payloadOpcode); + } catch (InvalidSwitchPayload ex) { + writer.write("#invalid payload reference"); + commentOutInstruction = true; + } + } + + if (opcode.odexOnly()) { + if (!isAllowedOdex(opcode)) { + writer.write("#disallowed odex opcode\n"); + commentOutInstruction = true; + } + } + + if (commentOutInstruction) { + writer.write("#"); + } + + switch (instruction.getOpcode().format) { + case Format10t: + writeOpcode(writer); + writer.write(' '); + writeTargetLabel(writer); + break; + case Format10x: + if (instruction instanceof UnknownInstruction) { + writer.write("#unknown opcode: 0x"); + writer.printUnsignedLongAsHex(((UnknownInstruction)instruction).getOriginalOpcode()); + writer.write('\n'); + } + writeOpcode(writer); + break; + case Format11n: + writeOpcode(writer); + writer.write(' '); + writeFirstRegister(writer); + writer.write(", "); + writeLiteral(writer); + break; + case Format11x: + writeOpcode(writer); + writer.write(' '); + writeFirstRegister(writer); + break; + case Format12x: + writeOpcode(writer); + writer.write(' '); + writeFirstRegister(writer); + writer.write(", "); + writeSecondRegister(writer); + break; + case Format20bc: + writeOpcode(writer); + writer.write(' '); + writer.write(verificationErrorName); + writer.write(", "); + writer.write(referenceString); + break; + case Format20t: + case Format30t: + writeOpcode(writer); + writer.write(' '); + writeTargetLabel(writer); + break; + case Format21c: + case Format31c: + writeOpcode(writer); + writer.write(' '); + writeFirstRegister(writer); + writer.write(", "); + writer.write(referenceString); + break; + case Format21ih: + case Format21lh: + case Format21s: + case Format31i: + case Format51l: + writeOpcode(writer); + writer.write(' '); + writeFirstRegister(writer); + writer.write(", "); + writeLiteral(writer); + if (instruction.getOpcode().setsWideRegister()) { + writeCommentIfLikelyDouble(writer); + } else { + boolean isResourceId = writeCommentIfResourceId(writer); + if (!isResourceId) writeCommentIfLikelyFloat(writer); + } + break; + case Format21t: + case Format31t: + writeOpcode(writer); + writer.write(' '); + writeFirstRegister(writer); + writer.write(", "); + writeTargetLabel(writer); + break; + case Format22b: + case Format22s: + writeOpcode(writer); + writer.write(' '); + writeFirstRegister(writer); + writer.write(", "); + writeSecondRegister(writer); + writer.write(", "); + writeLiteral(writer); + break; + case Format22c: + writeOpcode(writer); + writer.write(' '); + writeFirstRegister(writer); + writer.write(", "); + writeSecondRegister(writer); + writer.write(", "); + writer.write(referenceString); + break; + case Format22cs: + writeOpcode(writer); + writer.write(' '); + writeFirstRegister(writer); + writer.write(", "); + writeSecondRegister(writer); + writer.write(", "); + writeFieldOffset(writer); + break; + case Format22t: + writeOpcode(writer); + writer.write(' '); + writeFirstRegister(writer); + writer.write(", "); + writeSecondRegister(writer); + writer.write(", "); + writeTargetLabel(writer); + break; + case Format22x: + case Format32x: + writeOpcode(writer); + writer.write(' '); + writeFirstRegister(writer); + writer.write(", "); + writeSecondRegister(writer); + break; + case Format23x: + writeOpcode(writer); + writer.write(' '); + writeFirstRegister(writer); + writer.write(", "); + writeSecondRegister(writer); + writer.write(", "); + writeThirdRegister(writer); + break; + case Format35c: + writeOpcode(writer); + writer.write(' '); + writeInvokeRegisters(writer); + writer.write(", "); + writer.write(referenceString); + break; + case Format35mi: + writeOpcode(writer); + writer.write(' '); + writeInvokeRegisters(writer); + writer.write(", "); + writeInlineIndex(writer); + break; + case Format35ms: + writeOpcode(writer); + writer.write(' '); + writeInvokeRegisters(writer); + writer.write(", "); + writeVtableIndex(writer); + break; + case Format3rc: + writeOpcode(writer); + writer.write(' '); + writeInvokeRangeRegisters(writer); + writer.write(", "); + writer.write(referenceString); + break; + case Format3rmi: + writeOpcode(writer); + writer.write(' '); + writeInvokeRangeRegisters(writer); + writer.write(", "); + writeInlineIndex(writer); + break; + case Format3rms: + writeOpcode(writer); + writer.write(' '); + writeInvokeRangeRegisters(writer); + writer.write(", "); + writeVtableIndex(writer); + break; + default: + assert false; + return false; + } + + if (commentOutInstruction) { + writer.write("\nnop"); + } + + return true; + } + + protected void writeOpcode(IndentingWriter writer) throws IOException { + writer.write(instruction.getOpcode().name); + } + + protected void writeTargetLabel(IndentingWriter writer) throws IOException { + //this method is overridden by OffsetInstructionMethodItem, and should only be called for the formats that + //have a target + throw new RuntimeException(); + } + + protected void writeRegister(IndentingWriter writer, int registerNumber) throws IOException { + methodDef.registerFormatter.writeTo(writer, registerNumber); + } + + protected void writeFirstRegister(IndentingWriter writer) throws IOException { + writeRegister(writer, ((OneRegisterInstruction)instruction).getRegisterA()); + } + + protected void writeSecondRegister(IndentingWriter writer) throws IOException { + writeRegister(writer, ((TwoRegisterInstruction)instruction).getRegisterB()); + } + + protected void writeThirdRegister(IndentingWriter writer) throws IOException { + writeRegister(writer, ((ThreeRegisterInstruction) instruction).getRegisterC()); + } + + protected void writeInvokeRegisters(IndentingWriter writer) throws IOException { + FiveRegisterInstruction instruction = (FiveRegisterInstruction)this.instruction; + final int regCount = instruction.getRegisterCount(); + + writer.write('{'); + switch (regCount) { + case 1: + writeRegister(writer, instruction.getRegisterC()); + break; + case 2: + writeRegister(writer, instruction.getRegisterC()); + writer.write(", "); + writeRegister(writer, instruction.getRegisterD()); + break; + case 3: + writeRegister(writer, instruction.getRegisterC()); + writer.write(", "); + writeRegister(writer, instruction.getRegisterD()); + writer.write(", "); + writeRegister(writer, instruction.getRegisterE()); + break; + case 4: + writeRegister(writer, instruction.getRegisterC()); + writer.write(", "); + writeRegister(writer, instruction.getRegisterD()); + writer.write(", "); + writeRegister(writer, instruction.getRegisterE()); + writer.write(", "); + writeRegister(writer, instruction.getRegisterF()); + break; + case 5: + writeRegister(writer, instruction.getRegisterC()); + writer.write(", "); + writeRegister(writer, instruction.getRegisterD()); + writer.write(", "); + writeRegister(writer, instruction.getRegisterE()); + writer.write(", "); + writeRegister(writer, instruction.getRegisterF()); + writer.write(", "); + writeRegister(writer, instruction.getRegisterG()); + break; + } + writer.write('}'); + } + + protected void writeInvokeRangeRegisters(IndentingWriter writer) throws IOException { + RegisterRangeInstruction instruction = (RegisterRangeInstruction)this.instruction; + + int regCount = instruction.getRegisterCount(); + if (regCount == 0) { + writer.write("{}"); + } else { + int startRegister = instruction.getStartRegister(); + methodDef.registerFormatter.writeRegisterRange(writer, startRegister, startRegister+regCount-1); + } + } + + protected void writeLiteral(IndentingWriter writer) throws IOException { + LongRenderer.writeSignedIntOrLongTo(writer, ((WideLiteralInstruction)instruction).getWideLiteral()); + } + + protected void writeCommentIfLikelyFloat(IndentingWriter writer) throws IOException { + writeCommentIfLikelyFloat(writer, ((NarrowLiteralInstruction)instruction).getNarrowLiteral()); + } + + protected void writeCommentIfLikelyFloat(IndentingWriter writer, int val) throws IOException { + if (NumberUtils.isLikelyFloat(val)) { + writer.write(" # "); + float fval = Float.intBitsToFloat(val); + if (fval == Float.POSITIVE_INFINITY) + writer.write("Float.POSITIVE_INFINITY"); + else if (fval == Float.NEGATIVE_INFINITY) + writer.write("Float.NEGATIVE_INFINITY"); + else if (fval == Float.NaN) + writer.write("Float.NaN"); + else if (fval == Float.MAX_VALUE) + writer.write("Float.MAX_VALUE"); + else if (fval == (float)Math.PI) + writer.write("(float)Math.PI"); + else if (fval == (float)Math.E) + writer.write("(float)Math.E"); + else { + writer.write(Float.toString(fval)); + writer.write('f'); + } + } + } + + protected void writeCommentIfLikelyDouble(IndentingWriter writer) throws IOException { + writeCommentIfLikelyDouble(writer, ((WideLiteralInstruction)instruction).getWideLiteral()); + } + + protected void writeCommentIfLikelyDouble(IndentingWriter writer, long val) throws IOException { + if (NumberUtils.isLikelyDouble(val)) { + writer.write(" # "); + double dval = Double.longBitsToDouble(val); + if (dval == Double.POSITIVE_INFINITY) + writer.write("Double.POSITIVE_INFINITY"); + else if (dval == Double.NEGATIVE_INFINITY) + writer.write("Double.NEGATIVE_INFINITY"); + else if (dval == Double.NaN) + writer.write("Double.NaN"); + else if (dval == Double.MAX_VALUE) + writer.write("Double.MAX_VALUE"); + else if (dval == Math.PI) + writer.write("Math.PI"); + else if (dval == Math.E) + writer.write("Math.E"); + else + writer.write(Double.toString(dval)); + } + } + + protected boolean writeCommentIfResourceId(IndentingWriter writer) throws IOException { + return writeCommentIfResourceId(writer, ((NarrowLiteralInstruction)instruction).getNarrowLiteral()); + } + + protected boolean writeCommentIfResourceId(IndentingWriter writer, int val) throws IOException { + Map resourceIds = methodDef.classDef.options.resourceIds; + String resource = resourceIds.get(Integer.valueOf(val)); + if (resource != null) { + writer.write(" # "); + writer.write(resource); + return true; + } + return false; + } + + protected void writeFieldOffset(IndentingWriter writer) throws IOException { + writer.write("field@0x"); + writer.printUnsignedLongAsHex(((FieldOffsetInstruction)instruction).getFieldOffset()); + } + + protected void writeInlineIndex(IndentingWriter writer) throws IOException { + writer.write("inline@"); + writer.printSignedIntAsDec(((InlineIndexInstruction)instruction).getInlineIndex()); + } + + protected void writeVtableIndex(IndentingWriter writer) throws IOException { + writer.write("vtable@"); + writer.printSignedIntAsDec(((VtableIndexInstruction)instruction).getVtableIndex()); + } +} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/OffsetInstructionFormatMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/OffsetInstructionFormatMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/OffsetInstructionFormatMethodItem.java 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/OffsetInstructionFormatMethodItem.java 2017-01-28 17:50:40.000000000 +0900 @@ -0,0 +1,85 @@ +/* + * [The "BSD licence"] + * Copyright (c) 2010 Ben Gruver (JesusFreke) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.baksmali.Adaptors.Format; + +import org.jf.baksmali.Adaptors.LabelMethodItem; +import org.jf.baksmali.Adaptors.MethodDefinition; +import org.jf.baksmali.baksmaliOptions; +import org.jf.dexlib2.Opcode; +import org.jf.dexlib2.iface.instruction.OffsetInstruction; +import org.jf.util.IndentingWriter; + +import javax.annotation.Nonnull; +import java.io.IOException; + +public class OffsetInstructionFormatMethodItem extends InstructionMethodItem { + protected LabelMethodItem label; + + public OffsetInstructionFormatMethodItem(@Nonnull baksmaliOptions options, @Nonnull MethodDefinition methodDef, + int codeAddress, OffsetInstruction instruction) { + super(methodDef, codeAddress, instruction); + + label = new LabelMethodItem(options, codeAddress + instruction.getCodeOffset(), getLabelPrefix()); + label = methodDef.getLabelCache().internLabel(label); + } + + @Override + protected void writeTargetLabel(IndentingWriter writer) throws IOException { + label.writeTo(writer); + } + + public LabelMethodItem getLabel() { + return label; + } + + private String getLabelPrefix() { + Opcode opcode = instruction.getOpcode(); + switch (opcode.format) { + case Format10t: + case Format20t: + case Format30t: + return "goto_"; + case Format21t: + case Format22t: + return "cond_"; + case Format31t: + if (opcode == Opcode.FILL_ARRAY_DATA) { + return "array_"; + } + if (opcode == Opcode.PACKED_SWITCH) { + return "pswitch_data_"; + } + // Opcode.SPARSE_SWITCH; + return "sswitch_data_"; + } + + assert false; + return null; + } +} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/PackedSwitchMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/PackedSwitchMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/PackedSwitchMethodItem.java 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/PackedSwitchMethodItem.java 2017-01-28 17:50:40.000000000 +0900 @@ -0,0 +1,123 @@ +/* + * [The "BSD licence"] + * Copyright (c) 2010 Ben Gruver (JesusFreke) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.baksmali.Adaptors.Format; + +import org.jf.baksmali.Adaptors.LabelMethodItem; +import org.jf.baksmali.Adaptors.MethodDefinition; +import org.jf.dexlib2.iface.instruction.SwitchElement; +import org.jf.dexlib2.iface.instruction.formats.PackedSwitchPayload; +import org.jf.util.IndentingWriter; +import org.jf.baksmali.Renderers.IntegerRenderer; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +public class PackedSwitchMethodItem extends InstructionMethodItem { + private final List targets; + private final int firstKey; + + public PackedSwitchMethodItem(MethodDefinition methodDef, int codeAddress, PackedSwitchPayload instruction) { + super(methodDef, codeAddress, instruction); + + int baseCodeAddress = methodDef.getPackedSwitchBaseAddress(codeAddress); + + targets = new ArrayList(); + + boolean first = true; + //TODO: does dalvik allow switc payloads with no cases? + int firstKey = 0; + if (baseCodeAddress >= 0) { + for (SwitchElement switchElement: instruction.getSwitchElements()) { + if (first) { + firstKey = switchElement.getKey(); + first = false; + } + LabelMethodItem label = methodDef.getLabelCache().internLabel( + new LabelMethodItem(methodDef.classDef.options, baseCodeAddress + switchElement.getOffset(), + "pswitch_")); + targets.add(new PackedSwitchLabelTarget(label)); + } + } else { + for (SwitchElement switchElement: instruction.getSwitchElements()) { + if (first) { + firstKey = switchElement.getKey(); + first = false; + } + targets.add(new PackedSwitchOffsetTarget(switchElement.getOffset())); + } + } + this.firstKey = firstKey; + } + + @Override + public boolean writeTo(IndentingWriter writer) throws IOException { + writer.write(".packed-switch "); + IntegerRenderer.writeTo(writer, firstKey); + writer.indent(4); + writer.write('\n'); + int key = firstKey; + for (PackedSwitchTarget target: targets) { + target.writeTargetTo(writer); + writeCommentIfResourceId(writer, key); + writer.write('\n'); + key++; + } + writer.deindent(4); + writer.write(".end packed-switch"); + return true; + } + + private static abstract class PackedSwitchTarget { + public abstract void writeTargetTo(IndentingWriter writer) throws IOException; + } + + private static class PackedSwitchLabelTarget extends PackedSwitchTarget { + private final LabelMethodItem target; + public PackedSwitchLabelTarget(LabelMethodItem target) { + this.target = target; + } + public void writeTargetTo(IndentingWriter writer) throws IOException { + target.writeTo(writer); + } + } + + private static class PackedSwitchOffsetTarget extends PackedSwitchTarget { + private final int target; + public PackedSwitchOffsetTarget(int target) { + this.target = target; + } + public void writeTargetTo(IndentingWriter writer) throws IOException { + if (target >= 0) { + writer.write('+'); + } + writer.printSignedIntAsDec(target); + } + } +} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/SparseSwitchMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/SparseSwitchMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/SparseSwitchMethodItem.java 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/SparseSwitchMethodItem.java 2017-01-28 17:50:40.000000000 +0900 @@ -0,0 +1,117 @@ +/* + * [The "BSD licence"] + * Copyright (c) 2010 Ben Gruver (JesusFreke) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.baksmali.Adaptors.Format; + +import org.jf.baksmali.Adaptors.LabelMethodItem; +import org.jf.baksmali.Adaptors.MethodDefinition; +import org.jf.dexlib2.iface.instruction.SwitchElement; +import org.jf.dexlib2.iface.instruction.formats.SparseSwitchPayload; +import org.jf.util.IndentingWriter; +import org.jf.baksmali.Renderers.IntegerRenderer; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +public class SparseSwitchMethodItem extends InstructionMethodItem { + private final List targets; + + public SparseSwitchMethodItem(MethodDefinition methodDef, int codeAddress, SparseSwitchPayload instruction) { + super(methodDef, codeAddress, instruction); + + int baseCodeAddress = methodDef.getSparseSwitchBaseAddress(codeAddress); + + targets = new ArrayList(); + if (baseCodeAddress >= 0) { + for (SwitchElement switchElement: instruction.getSwitchElements()) { + LabelMethodItem label = methodDef.getLabelCache().internLabel( + new LabelMethodItem( methodDef.classDef.options, baseCodeAddress + switchElement.getOffset(), + "sswitch_")); + targets.add(new SparseSwitchLabelTarget(switchElement.getKey(), label)); + } + } else { + //if we couldn't determine a base address, just use relative offsets rather than labels + for (SwitchElement switchElement: instruction.getSwitchElements()) { + targets.add(new SparseSwitchOffsetTarget(switchElement.getKey(), switchElement.getOffset())); + } + } + } + + @Override + public boolean writeTo(IndentingWriter writer) throws IOException { + writer.write(".sparse-switch\n"); + writer.indent(4); + for (SparseSwitchTarget target: targets) { + IntegerRenderer.writeTo(writer, target.getKey()); + writer.write(" -> "); + target.writeTargetTo(writer); + writeCommentIfResourceId(writer, target.getKey()); + writer.write('\n'); + } + writer.deindent(4); + writer.write(".end sparse-switch"); + return true; + } + + private static abstract class SparseSwitchTarget { + private final int key; + public SparseSwitchTarget(int key) { + this.key = key; + } + public int getKey() { return key; } + public abstract void writeTargetTo(IndentingWriter writer) throws IOException; + } + + private static class SparseSwitchLabelTarget extends SparseSwitchTarget { + private final LabelMethodItem target; + public SparseSwitchLabelTarget(int key, LabelMethodItem target) { + super(key); + this.target = target; + } + + public void writeTargetTo(IndentingWriter writer) throws IOException { + target.writeTo(writer); + } + } + + private static class SparseSwitchOffsetTarget extends SparseSwitchTarget { + private final int target; + public SparseSwitchOffsetTarget(int key, int target) { + super(key); + this.target = target; + } + + public void writeTargetTo(IndentingWriter writer) throws IOException { + if (target >= 0) { + writer.write('+'); + } + writer.printSignedIntAsDec(target); + } + } +} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/UnresolvedOdexInstructionMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/UnresolvedOdexInstructionMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/UnresolvedOdexInstructionMethodItem.java 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/adaptors/Format/UnresolvedOdexInstructionMethodItem.java 2017-01-28 17:50:40.000000000 +0900 @@ -0,0 +1,54 @@ +/* + * [The "BSD licence"] + * Copyright (c) 2010 Ben Gruver (JesusFreke) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.baksmali.Adaptors.Format; + +import org.jf.baksmali.Adaptors.MethodDefinition; +import org.jf.dexlib2.analysis.UnresolvedOdexInstruction; +import org.jf.util.IndentingWriter; + +import javax.annotation.Nonnull; +import java.io.IOException; + +public class UnresolvedOdexInstructionMethodItem extends InstructionMethodItem { + public UnresolvedOdexInstructionMethodItem(@Nonnull MethodDefinition methodDef, int codeAddress, + @Nonnull UnresolvedOdexInstruction instruction) { + super(methodDef, codeAddress, instruction); + } + + public boolean writeTo(IndentingWriter writer) throws IOException { + writeThrowTo(writer); + return true; + } + + private void writeThrowTo(IndentingWriter writer) throws IOException { + writer.write("#Replaced unresolvable odex instruction with a throw\n"); + writer.write("throw "); + writeRegister(writer, instruction.objectRegisterNum); + } +} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/BeginEpilogueMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/BeginEpilogueMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/BeginEpilogueMethodItem.java 2017-09-27 02:07:41.271736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/BeginEpilogueMethodItem.java 1970-01-01 09:00:00.000000000 +0900 @@ -1,48 +0,0 @@ -/* - * Copyright 2012, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.baksmali.Adaptors.Debug; - -import org.jf.util.IndentingWriter; - -import java.io.IOException; - -public class BeginEpilogueMethodItem extends DebugMethodItem { - public BeginEpilogueMethodItem(int codeAddress, int sortOrder) { - super(codeAddress, sortOrder); - } - - @Override - public boolean writeTo(IndentingWriter writer) throws IOException { - writer.write(".prologue"); - return true; - } -} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/DebugMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/DebugMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/DebugMethodItem.java 2017-09-27 02:07:41.271736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/DebugMethodItem.java 1970-01-01 09:00:00.000000000 +0900 @@ -1,71 +0,0 @@ -/* - * Copyright 2012, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.baksmali.Adaptors.Debug; - -import org.jf.baksmali.Adaptors.MethodItem; -import org.jf.baksmali.Adaptors.RegisterFormatter; -import org.jf.dexlib2.DebugItemType; -import org.jf.dexlib2.iface.debug.*; -import org.jf.util.ExceptionWithContext; - -public abstract class DebugMethodItem extends MethodItem { - private final int sortOrder; - - protected DebugMethodItem(int codeAddress, int sortOrder) { - super(codeAddress); - this.sortOrder = sortOrder; - } - - @Override public double getSortOrder() { return sortOrder; } - - public static DebugMethodItem build(RegisterFormatter registerFormatter, DebugItem debugItem) { - int codeAddress = debugItem.getCodeAddress(); - switch (debugItem.getDebugItemType()) { - case DebugItemType.START_LOCAL: - return new StartLocalMethodItem(codeAddress, -1, registerFormatter, (StartLocal)debugItem); - case DebugItemType.END_LOCAL: - return new EndLocalMethodItem(codeAddress, -1, registerFormatter, (EndLocal)debugItem); - case DebugItemType.RESTART_LOCAL: - return new RestartLocalMethodItem(codeAddress, -1, registerFormatter, (RestartLocal)debugItem); - case DebugItemType.EPILOGUE_BEGIN: - return new BeginEpilogueMethodItem(codeAddress, -4); - case DebugItemType.PROLOGUE_END: - return new EndPrologueMethodItem(codeAddress, -4); - case DebugItemType.SET_SOURCE_FILE: - return new SetSourceFileMethodItem(codeAddress, -3, (SetSourceFile)debugItem); - case DebugItemType.LINE_NUMBER: - return new LineNumberMethodItem(codeAddress, -2, (LineNumber)debugItem); - default: - throw new ExceptionWithContext("Invalid debug item type: %d", debugItem.getDebugItemType()); - } - } -} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/EndLocalMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/EndLocalMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/EndLocalMethodItem.java 2017-09-27 02:07:41.271736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/EndLocalMethodItem.java 1970-01-01 09:00:00.000000000 +0900 @@ -1,66 +0,0 @@ -/* - * Copyright 2012, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.baksmali.Adaptors.Debug; - -import org.jf.baksmali.Adaptors.RegisterFormatter; -import org.jf.dexlib2.iface.debug.EndLocal; -import org.jf.util.IndentingWriter; - -import javax.annotation.Nonnull; -import java.io.IOException; - -public class EndLocalMethodItem extends DebugMethodItem { - @Nonnull private final EndLocal endLocal; - @Nonnull private final RegisterFormatter registerFormatter; - - public EndLocalMethodItem(int codeAddress, int sortOrder, @Nonnull RegisterFormatter registerFormatter, - @Nonnull EndLocal endLocal) { - super(codeAddress, sortOrder); - this.endLocal = endLocal; - this.registerFormatter = registerFormatter; - } - - @Override - public boolean writeTo(IndentingWriter writer) throws IOException { - writer.write(".end local "); - registerFormatter.writeTo(writer, endLocal.getRegister()); - - String name = endLocal.getName(); - String type = endLocal.getType(); - String signature = endLocal.getSignature(); - if (name != null || type != null || signature != null) { - writer.write(" # "); - LocalFormatter.writeLocal(writer, name, type, signature); - } - return true; - } -} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/EndPrologueMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/EndPrologueMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/EndPrologueMethodItem.java 2017-09-27 02:07:41.271736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/EndPrologueMethodItem.java 1970-01-01 09:00:00.000000000 +0900 @@ -1,48 +0,0 @@ -/* - * Copyright 2012, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.baksmali.Adaptors.Debug; - -import org.jf.util.IndentingWriter; - -import java.io.IOException; - -public class EndPrologueMethodItem extends DebugMethodItem { - public EndPrologueMethodItem(int codeAddress, int sortOrder) { - super(codeAddress, sortOrder); - } - - @Override - public boolean writeTo(IndentingWriter writer) throws IOException { - writer.write(".prologue"); - return true; - } -} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/LineNumberMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/LineNumberMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/LineNumberMethodItem.java 2017-09-27 02:07:41.271736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/LineNumberMethodItem.java 1970-01-01 09:00:00.000000000 +0900 @@ -1,54 +0,0 @@ -/* - * Copyright 2012, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.baksmali.Adaptors.Debug; - -import org.jf.dexlib2.iface.debug.LineNumber; -import org.jf.util.IndentingWriter; - -import javax.annotation.Nonnull; -import java.io.IOException; - -public class LineNumberMethodItem extends DebugMethodItem { - private final int lineNumber; - - public LineNumberMethodItem(int codeAddress, int sortOrder, @Nonnull LineNumber lineNumber) { - super(codeAddress, sortOrder); - this.lineNumber = lineNumber.getLineNumber(); - } - - @Override - public boolean writeTo(IndentingWriter writer) throws IOException { - writer.write(".line "); - writer.printUnsignedIntAsDec(lineNumber); - return true; - } -} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/LocalFormatter.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/LocalFormatter.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/LocalFormatter.java 2017-09-27 02:07:41.271736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/LocalFormatter.java 1970-01-01 09:00:00.000000000 +0900 @@ -1,73 +0,0 @@ -/* - * Copyright 2013, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.baksmali.Adaptors.Debug; - -import org.jf.baksmali.Adaptors.ReferenceFormatter; -import org.jf.util.IndentingWriter; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; -import java.io.IOException; - -public class LocalFormatter { - /** - * Writes out the given local info - * - * The written string will be something like: - * - * "localVar":Ljava/lang/String;, "SomeSignature" - * "localVar":Ljava/lang/String; - * "localVar":V, "SomeSignature" - * null:Ljava/lang/String;, "SomeSignature" - * null:V, "SomeSignature" - * - * One of name, type or signature must be non-null - */ - public static void writeLocal(@Nonnull IndentingWriter writer, @Nullable String name, @Nullable String type, - @Nullable String signature) throws IOException { - if (name != null) { - ReferenceFormatter.writeStringReference(writer, name); - } else { - writer.write("null"); - } - writer.write(':'); - if (type != null) { - writer.write(type); - } else { - writer.write("V"); - } - if (signature != null) { - writer.write(", "); - ReferenceFormatter.writeStringReference(writer, signature); - } - } -} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/RestartLocalMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/RestartLocalMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/RestartLocalMethodItem.java 2017-09-27 02:07:41.271736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/RestartLocalMethodItem.java 1970-01-01 09:00:00.000000000 +0900 @@ -1,66 +0,0 @@ -/* - * Copyright 2012, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.baksmali.Adaptors.Debug; - -import org.jf.baksmali.Adaptors.RegisterFormatter; -import org.jf.dexlib2.iface.debug.RestartLocal; -import org.jf.util.IndentingWriter; - -import javax.annotation.Nonnull; -import java.io.IOException; - -public class RestartLocalMethodItem extends DebugMethodItem { - @Nonnull private final RestartLocal restartLocal; - @Nonnull private final RegisterFormatter registerFormatter; - - public RestartLocalMethodItem(int codeAddress, int sortOrder, @Nonnull RegisterFormatter registerFormatter, - @Nonnull RestartLocal restartLocal) { - super(codeAddress, sortOrder); - this.restartLocal = restartLocal; - this.registerFormatter = registerFormatter; - } - - @Override - public boolean writeTo(IndentingWriter writer) throws IOException { - writer.write(".restart local "); - registerFormatter.writeTo(writer, restartLocal.getRegister()); - - String name = restartLocal.getName(); - String type = restartLocal.getType(); - String signature = restartLocal.getSignature(); - if (name != null || type != null || signature != null) { - writer.write(" # "); - LocalFormatter.writeLocal(writer, name, type, signature); - } - return true; - } -} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/SetSourceFileMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/SetSourceFileMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/SetSourceFileMethodItem.java 2017-09-27 02:07:41.271736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/SetSourceFileMethodItem.java 1970-01-01 09:00:00.000000000 +0900 @@ -1,61 +0,0 @@ -/* - * Copyright 2012, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.baksmali.Adaptors.Debug; - -import org.jf.dexlib2.iface.debug.SetSourceFile; -import org.jf.util.IndentingWriter; -import org.jf.util.StringUtils; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; -import java.io.IOException; - -public class SetSourceFileMethodItem extends DebugMethodItem { - @Nullable private final String sourceFile; - - public SetSourceFileMethodItem(int codeAddress, int sortOrder, @Nonnull SetSourceFile setSourceFile) { - super(codeAddress, sortOrder); - this.sourceFile = setSourceFile.getSourceFile(); - } - - @Override - public boolean writeTo(IndentingWriter writer) throws IOException { - writer.write(".source"); - - if (sourceFile != null) { - writer.write(" \""); - StringUtils.writeEscapedString(writer, sourceFile); - writer.write('"'); - } - return true; - } -} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/StartLocalMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/StartLocalMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/StartLocalMethodItem.java 2017-09-27 02:07:41.271736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Debug/StartLocalMethodItem.java 1970-01-01 09:00:00.000000000 +0900 @@ -1,67 +0,0 @@ -/* - * Copyright 2012, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.baksmali.Adaptors.Debug; - -import org.jf.baksmali.Adaptors.RegisterFormatter; -import org.jf.dexlib2.iface.debug.StartLocal; -import org.jf.util.IndentingWriter; - -import javax.annotation.Nonnull; -import java.io.IOException; - -public class StartLocalMethodItem extends DebugMethodItem { - @Nonnull private final StartLocal startLocal; - @Nonnull private final RegisterFormatter registerFormatter; - - public StartLocalMethodItem(int codeAddress, int sortOrder, @Nonnull RegisterFormatter registerFormatter, - @Nonnull StartLocal startLocal) { - super(codeAddress, sortOrder); - this.startLocal = startLocal; - this.registerFormatter = registerFormatter; - } - - @Override - public boolean writeTo(IndentingWriter writer) throws IOException { - writer.write(".local "); - registerFormatter.writeTo(writer, startLocal.getRegister()); - - String name = startLocal.getName(); - String type = startLocal.getType(); - String signature = startLocal.getSignature(); - - if (name != null || type != null || signature != null) { - writer.write(", "); - LocalFormatter.writeLocal(writer, name, type, signature); - } - return true; - } -} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/AnnotationEncodedValueAdaptor.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/AnnotationEncodedValueAdaptor.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/AnnotationEncodedValueAdaptor.java 2017-09-27 02:07:41.271736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/AnnotationEncodedValueAdaptor.java 1970-01-01 09:00:00.000000000 +0900 @@ -1,65 +0,0 @@ -/* - * [The "BSD licence"] - * Copyright (c) 2010 Ben Gruver (JesusFreke) - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.baksmali.Adaptors.EncodedValue; - -import org.jf.dexlib2.iface.AnnotationElement; -import org.jf.dexlib2.iface.value.AnnotationEncodedValue; -import org.jf.util.IndentingWriter; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; -import java.io.IOException; -import java.util.Collection; - -public abstract class AnnotationEncodedValueAdaptor { - - public static void writeTo(@Nonnull IndentingWriter writer, - @Nonnull AnnotationEncodedValue annotationEncodedValue, - @Nullable String containingClass) throws IOException { - writer.write(".subannotation "); - writer.write(annotationEncodedValue.getType()); - writer.write('\n'); - - writeElementsTo(writer, annotationEncodedValue.getElements(), containingClass); - writer.write(".end subannotation"); - } - - public static void writeElementsTo(@Nonnull IndentingWriter writer, - @Nonnull Collection annotationElements, - @Nullable String containingClass) throws IOException { - writer.indent(4); - for (AnnotationElement annotationElement: annotationElements) { - writer.write(annotationElement.getName()); - writer.write(" = "); - EncodedValueAdaptor.writeTo(writer, annotationElement.getValue(), containingClass); - writer.write('\n'); - } - writer.deindent(4); - } -} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/ArrayEncodedValueAdaptor.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/ArrayEncodedValueAdaptor.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/ArrayEncodedValueAdaptor.java 2017-09-27 02:07:41.271736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/ArrayEncodedValueAdaptor.java 1970-01-01 09:00:00.000000000 +0900 @@ -1,65 +0,0 @@ -/* - * [The "BSD licence"] - * Copyright (c) 2010 Ben Gruver (JesusFreke) - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.baksmali.Adaptors.EncodedValue; - -import org.jf.dexlib2.iface.value.ArrayEncodedValue; -import org.jf.dexlib2.iface.value.EncodedValue; -import org.jf.util.IndentingWriter; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; -import java.io.IOException; -import java.util.Collection; - -public class ArrayEncodedValueAdaptor { - public static void writeTo(@Nonnull IndentingWriter writer, - @Nonnull ArrayEncodedValue arrayEncodedValue, - @Nullable String containingClass) throws IOException { - writer.write('{'); - Collection values = arrayEncodedValue.getValue(); - if (values.size() == 0) { - writer.write('}'); - return; - } - - writer.write('\n'); - writer.indent(4); - boolean first = true; - for (EncodedValue encodedValue: values) { - if (!first) { - writer.write(",\n"); - } - first = false; - - EncodedValueAdaptor.writeTo(writer, encodedValue, containingClass); - } - writer.deindent(4); - writer.write("\n}"); - } -} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/EncodedValueAdaptor.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/EncodedValueAdaptor.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/EncodedValueAdaptor.java 2017-09-27 02:07:41.271736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/EncodedValueAdaptor.java 1970-01-01 09:00:00.000000000 +0900 @@ -1,112 +0,0 @@ -/* - * [The "BSD licence"] - * Copyright (c) 2010 Ben Gruver (JesusFreke) - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.baksmali.Adaptors.EncodedValue; - -import org.jf.baksmali.Adaptors.ReferenceFormatter; -import org.jf.baksmali.Renderers.*; -import org.jf.dexlib2.ValueType; -import org.jf.dexlib2.iface.value.*; -import org.jf.dexlib2.util.ReferenceUtil; -import org.jf.util.IndentingWriter; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; -import java.io.IOException; - -public abstract class EncodedValueAdaptor { - public static void writeTo(@Nonnull IndentingWriter writer, @Nonnull EncodedValue encodedValue, - @Nullable String containingClass) - throws IOException { - switch (encodedValue.getValueType()) { - case ValueType.ANNOTATION: - AnnotationEncodedValueAdaptor.writeTo(writer, (AnnotationEncodedValue)encodedValue, containingClass); - return; - case ValueType.ARRAY: - ArrayEncodedValueAdaptor.writeTo(writer, (ArrayEncodedValue)encodedValue, containingClass); - return; - case ValueType.BOOLEAN: - BooleanRenderer.writeTo(writer, ((BooleanEncodedValue)encodedValue).getValue()); - return; - case ValueType.BYTE: - ByteRenderer.writeTo(writer, ((ByteEncodedValue)encodedValue).getValue()); - return; - case ValueType.CHAR: - CharRenderer.writeTo(writer, ((CharEncodedValue)encodedValue).getValue()); - return; - case ValueType.DOUBLE: - DoubleRenderer.writeTo(writer, ((DoubleEncodedValue)encodedValue).getValue()); - return; - case ValueType.ENUM: - EnumEncodedValue enumEncodedValue = (EnumEncodedValue)encodedValue; - boolean useImplicitReference = false; - if (enumEncodedValue.getValue().getDefiningClass().equals(containingClass)) { - useImplicitReference = true; - } - writer.write(".enum "); - ReferenceUtil.writeFieldDescriptor(writer, enumEncodedValue.getValue(), useImplicitReference); - return; - case ValueType.FIELD: - FieldEncodedValue fieldEncodedValue = (FieldEncodedValue)encodedValue; - useImplicitReference = false; - if (fieldEncodedValue.getValue().getDefiningClass().equals(containingClass)) { - useImplicitReference = true; - } - ReferenceUtil.writeFieldDescriptor(writer, fieldEncodedValue.getValue(), useImplicitReference); - return; - case ValueType.FLOAT: - FloatRenderer.writeTo(writer, ((FloatEncodedValue)encodedValue).getValue()); - return; - case ValueType.INT: - IntegerRenderer.writeTo(writer, ((IntEncodedValue)encodedValue).getValue()); - return; - case ValueType.LONG: - LongRenderer.writeTo(writer, ((LongEncodedValue)encodedValue).getValue()); - return; - case ValueType.METHOD: - MethodEncodedValue methodEncodedValue = (MethodEncodedValue)encodedValue; - useImplicitReference = false; - if (methodEncodedValue.getValue().getDefiningClass().equals(containingClass)) { - useImplicitReference = true; - } - ReferenceUtil.writeMethodDescriptor(writer, methodEncodedValue.getValue(), useImplicitReference); - return; - case ValueType.NULL: - writer.write("null"); - return; - case ValueType.SHORT: - ShortRenderer.writeTo(writer, ((ShortEncodedValue)encodedValue).getValue()); - return; - case ValueType.STRING: - ReferenceFormatter.writeStringReference(writer, ((StringEncodedValue)encodedValue).getValue()); - return; - case ValueType.TYPE: - writer.write(((TypeEncodedValue)encodedValue).getValue()); - } - } -} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/ArrayDataMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/ArrayDataMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/ArrayDataMethodItem.java 2017-09-27 02:07:41.271736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/ArrayDataMethodItem.java 1970-01-01 09:00:00.000000000 +0900 @@ -1,81 +0,0 @@ -/* - * [The "BSD licence"] - * Copyright (c) 2010 Ben Gruver (JesusFreke) - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.baksmali.Adaptors.Format; - -import org.jf.baksmali.Adaptors.MethodDefinition; -import org.jf.baksmali.Renderers.LongRenderer; -import org.jf.dexlib2.iface.instruction.formats.ArrayPayload; -import org.jf.util.IndentingWriter; - -import java.io.IOException; -import java.util.List; - -public class ArrayDataMethodItem extends InstructionMethodItem { - public ArrayDataMethodItem(MethodDefinition methodDef, int codeAddress, ArrayPayload instruction) { - super(methodDef, codeAddress, instruction); - } - - public boolean writeTo(IndentingWriter writer) throws IOException { - int elementWidth = instruction.getElementWidth(); - - writer.write(".array-data "); - writer.printSignedIntAsDec(instruction.getElementWidth()); - writer.write('\n'); - - writer.indent(4); - - List elements = instruction.getArrayElements(); - - String suffix = ""; - switch (elementWidth) { - case 1: - suffix = "t"; - break; - case 2: - suffix = "s"; - break; - } - - for (Number number: elements) { - LongRenderer.writeSignedIntOrLongTo(writer, number.longValue()); - writer.write(suffix); - if (elementWidth == 8) { - writeCommentIfLikelyDouble(writer, number.longValue()); - } else if (elementWidth == 4) { - int value = number.intValue(); - boolean isResourceId = writeCommentIfResourceId(writer, value); - if (!isResourceId) writeCommentIfLikelyFloat(writer, value); - } - writer.write("\n"); - } - writer.deindent(4); - writer.write(".end array-data"); - return true; - } -} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/InstructionMethodItemFactory.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/InstructionMethodItemFactory.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/InstructionMethodItemFactory.java 2017-09-27 02:07:41.271736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/InstructionMethodItemFactory.java 1970-01-01 09:00:00.000000000 +0900 @@ -1,67 +0,0 @@ -/* - * [The "BSD licence"] - * Copyright (c) 2010 Ben Gruver (JesusFreke) - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.baksmali.Adaptors.Format; - -import org.jf.baksmali.Adaptors.MethodDefinition; -import org.jf.dexlib2.analysis.UnresolvedOdexInstruction; -import org.jf.dexlib2.iface.instruction.Instruction; -import org.jf.dexlib2.iface.instruction.OffsetInstruction; -import org.jf.dexlib2.iface.instruction.formats.ArrayPayload; -import org.jf.dexlib2.iface.instruction.formats.PackedSwitchPayload; -import org.jf.dexlib2.iface.instruction.formats.SparseSwitchPayload; - -public class InstructionMethodItemFactory { - private InstructionMethodItemFactory() { - } - - public static InstructionMethodItem makeInstructionFormatMethodItem( - MethodDefinition methodDef, int codeAddress, Instruction instruction) { - - if (instruction instanceof OffsetInstruction) { - return new OffsetInstructionFormatMethodItem(methodDef.classDef.options, methodDef, codeAddress, - (OffsetInstruction)instruction); - } - - if (instruction instanceof UnresolvedOdexInstruction) { - return new UnresolvedOdexInstructionMethodItem(methodDef, codeAddress, - (UnresolvedOdexInstruction)instruction); - } - - switch (instruction.getOpcode().format) { - case ArrayPayload: - return new ArrayDataMethodItem(methodDef, codeAddress, (ArrayPayload)instruction); - case PackedSwitchPayload: - return new PackedSwitchMethodItem(methodDef, codeAddress, (PackedSwitchPayload)instruction); - case SparseSwitchPayload: - return new SparseSwitchMethodItem(methodDef, codeAddress, (SparseSwitchPayload)instruction); - default: - return new InstructionMethodItem(methodDef, codeAddress, instruction); - } - } -} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/InstructionMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/InstructionMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/InstructionMethodItem.java 2017-09-27 02:07:41.271736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/InstructionMethodItem.java 1970-01-01 09:00:00.000000000 +0900 @@ -1,525 +0,0 @@ -/* - * [The "BSD licence"] - * Copyright (c) 2010 Ben Gruver (JesusFreke) - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.baksmali.Adaptors.Format; - -import org.jf.baksmali.Adaptors.MethodDefinition; -import org.jf.baksmali.Adaptors.MethodDefinition.InvalidSwitchPayload; -import org.jf.baksmali.Adaptors.MethodItem; -import org.jf.baksmali.Renderers.LongRenderer; -import org.jf.baksmali.baksmaliOptions; -import org.jf.dexlib2.Opcode; -import org.jf.dexlib2.ReferenceType; -import org.jf.dexlib2.VerificationError; -import org.jf.dexlib2.dexbacked.DexBackedDexFile.InvalidItemIndex; -import org.jf.dexlib2.iface.instruction.*; -import org.jf.dexlib2.iface.instruction.formats.Instruction20bc; -import org.jf.dexlib2.iface.instruction.formats.Instruction31t; -import org.jf.dexlib2.iface.instruction.formats.UnknownInstruction; -import org.jf.dexlib2.iface.reference.FieldReference; -import org.jf.dexlib2.iface.reference.MethodReference; -import org.jf.dexlib2.iface.reference.Reference; -import org.jf.dexlib2.util.ReferenceUtil; -import org.jf.util.ExceptionWithContext; -import org.jf.util.IndentingWriter; -import org.jf.util.NumberUtils; - -import javax.annotation.Nonnull; -import java.io.IOException; -import java.util.Map; - -public class InstructionMethodItem extends MethodItem { - @Nonnull protected final MethodDefinition methodDef; - @Nonnull protected final T instruction; - - public InstructionMethodItem(@Nonnull MethodDefinition methodDef, int codeAddress, @Nonnull T instruction) { - super(codeAddress); - this.methodDef = methodDef; - this.instruction = instruction; - } - - public double getSortOrder() { - //instructions should appear after everything except an "end try" label and .catch directive - return 100; - } - - private boolean isAllowedOdex(@Nonnull Opcode opcode) { - baksmaliOptions options = methodDef.classDef.options; - if (options.allowOdex) { - return true; - } - - if (methodDef.classDef.options.apiLevel >= 14) { - return false; - } - - return opcode.isOdexedInstanceVolatile() || opcode.isOdexedStaticVolatile() || - opcode == Opcode.THROW_VERIFICATION_ERROR; - } - - @Override - public boolean writeTo(IndentingWriter writer) throws IOException { - Opcode opcode = instruction.getOpcode(); - String verificationErrorName = null; - String referenceString = null; - - boolean commentOutInstruction = false; - - if (instruction instanceof Instruction20bc) { - int verificationError = ((Instruction20bc)instruction).getVerificationError(); - verificationErrorName = VerificationError.getVerificationErrorName(verificationError); - if (verificationErrorName == null) { - writer.write("#was invalid verification error type: "); - writer.printSignedIntAsDec(verificationError); - writer.write("\n"); - verificationErrorName = "generic-error"; - } - } - - if (instruction instanceof ReferenceInstruction) { - ReferenceInstruction referenceInstruction = (ReferenceInstruction)instruction; - try { - Reference reference = referenceInstruction.getReference(); - - String classContext = null; - if (methodDef.classDef.options.useImplicitReferences) { - classContext = methodDef.method.getDefiningClass(); - } - - referenceString = ReferenceUtil.getReferenceString(reference, classContext); - assert referenceString != null; - } catch (InvalidItemIndex ex) { - writer.write("#"); - writer.write(ex.getMessage()); - writer.write("\n"); - commentOutInstruction = true; - - referenceString = String.format("%s@%d", - ReferenceType.toString(referenceInstruction.getReferenceType()), - ex.getInvalidIndex()); - } catch (ReferenceType.InvalidReferenceTypeException ex) { - writer.write("#invalid reference type: "); - writer.printSignedIntAsDec(ex.getReferenceType()); - commentOutInstruction = true; - - referenceString = "invalid_reference"; - } - } - - if (instruction instanceof Instruction31t) { - Opcode payloadOpcode; - switch (instruction.getOpcode()) { - case PACKED_SWITCH: - payloadOpcode = Opcode.PACKED_SWITCH_PAYLOAD; - break; - case SPARSE_SWITCH: - payloadOpcode = Opcode.SPARSE_SWITCH_PAYLOAD; - break; - case FILL_ARRAY_DATA: - payloadOpcode = Opcode.ARRAY_PAYLOAD; - break; - default: - throw new ExceptionWithContext("Invalid 31t opcode: %s", instruction.getOpcode()); - } - - try { - methodDef.findSwitchPayload(this.codeAddress + ((Instruction31t)instruction).getCodeOffset(), - payloadOpcode); - } catch (InvalidSwitchPayload ex) { - writer.write("#invalid payload reference"); - commentOutInstruction = true; - } - } - - if (opcode.odexOnly()) { - if (!isAllowedOdex(opcode)) { - writer.write("#disallowed odex opcode\n"); - commentOutInstruction = true; - } - } - - if (commentOutInstruction) { - writer.write("#"); - } - - switch (instruction.getOpcode().format) { - case Format10t: - writeOpcode(writer); - writer.write(' '); - writeTargetLabel(writer); - break; - case Format10x: - if (instruction instanceof UnknownInstruction) { - writer.write("#unknown opcode: 0x"); - writer.printUnsignedLongAsHex(((UnknownInstruction)instruction).getOriginalOpcode()); - writer.write('\n'); - } - writeOpcode(writer); - break; - case Format11n: - writeOpcode(writer); - writer.write(' '); - writeFirstRegister(writer); - writer.write(", "); - writeLiteral(writer); - break; - case Format11x: - writeOpcode(writer); - writer.write(' '); - writeFirstRegister(writer); - break; - case Format12x: - writeOpcode(writer); - writer.write(' '); - writeFirstRegister(writer); - writer.write(", "); - writeSecondRegister(writer); - break; - case Format20bc: - writeOpcode(writer); - writer.write(' '); - writer.write(verificationErrorName); - writer.write(", "); - writer.write(referenceString); - break; - case Format20t: - case Format30t: - writeOpcode(writer); - writer.write(' '); - writeTargetLabel(writer); - break; - case Format21c: - case Format31c: - writeOpcode(writer); - writer.write(' '); - writeFirstRegister(writer); - writer.write(", "); - writer.write(referenceString); - break; - case Format21ih: - case Format21lh: - case Format21s: - case Format31i: - case Format51l: - writeOpcode(writer); - writer.write(' '); - writeFirstRegister(writer); - writer.write(", "); - writeLiteral(writer); - if (instruction.getOpcode().setsWideRegister()) { - writeCommentIfLikelyDouble(writer); - } else { - boolean isResourceId = writeCommentIfResourceId(writer); - if (!isResourceId) writeCommentIfLikelyFloat(writer); - } - break; - case Format21t: - case Format31t: - writeOpcode(writer); - writer.write(' '); - writeFirstRegister(writer); - writer.write(", "); - writeTargetLabel(writer); - break; - case Format22b: - case Format22s: - writeOpcode(writer); - writer.write(' '); - writeFirstRegister(writer); - writer.write(", "); - writeSecondRegister(writer); - writer.write(", "); - writeLiteral(writer); - break; - case Format22c: - writeOpcode(writer); - writer.write(' '); - writeFirstRegister(writer); - writer.write(", "); - writeSecondRegister(writer); - writer.write(", "); - writer.write(referenceString); - break; - case Format22cs: - writeOpcode(writer); - writer.write(' '); - writeFirstRegister(writer); - writer.write(", "); - writeSecondRegister(writer); - writer.write(", "); - writeFieldOffset(writer); - break; - case Format22t: - writeOpcode(writer); - writer.write(' '); - writeFirstRegister(writer); - writer.write(", "); - writeSecondRegister(writer); - writer.write(", "); - writeTargetLabel(writer); - break; - case Format22x: - case Format32x: - writeOpcode(writer); - writer.write(' '); - writeFirstRegister(writer); - writer.write(", "); - writeSecondRegister(writer); - break; - case Format23x: - writeOpcode(writer); - writer.write(' '); - writeFirstRegister(writer); - writer.write(", "); - writeSecondRegister(writer); - writer.write(", "); - writeThirdRegister(writer); - break; - case Format35c: - writeOpcode(writer); - writer.write(' '); - writeInvokeRegisters(writer); - writer.write(", "); - writer.write(referenceString); - break; - case Format35mi: - writeOpcode(writer); - writer.write(' '); - writeInvokeRegisters(writer); - writer.write(", "); - writeInlineIndex(writer); - break; - case Format35ms: - writeOpcode(writer); - writer.write(' '); - writeInvokeRegisters(writer); - writer.write(", "); - writeVtableIndex(writer); - break; - case Format3rc: - writeOpcode(writer); - writer.write(' '); - writeInvokeRangeRegisters(writer); - writer.write(", "); - writer.write(referenceString); - break; - case Format3rmi: - writeOpcode(writer); - writer.write(' '); - writeInvokeRangeRegisters(writer); - writer.write(", "); - writeInlineIndex(writer); - break; - case Format3rms: - writeOpcode(writer); - writer.write(' '); - writeInvokeRangeRegisters(writer); - writer.write(", "); - writeVtableIndex(writer); - break; - default: - assert false; - return false; - } - - if (commentOutInstruction) { - writer.write("\nnop"); - } - - return true; - } - - protected void writeOpcode(IndentingWriter writer) throws IOException { - writer.write(instruction.getOpcode().name); - } - - protected void writeTargetLabel(IndentingWriter writer) throws IOException { - //this method is overridden by OffsetInstructionMethodItem, and should only be called for the formats that - //have a target - throw new RuntimeException(); - } - - protected void writeRegister(IndentingWriter writer, int registerNumber) throws IOException { - methodDef.registerFormatter.writeTo(writer, registerNumber); - } - - protected void writeFirstRegister(IndentingWriter writer) throws IOException { - writeRegister(writer, ((OneRegisterInstruction)instruction).getRegisterA()); - } - - protected void writeSecondRegister(IndentingWriter writer) throws IOException { - writeRegister(writer, ((TwoRegisterInstruction)instruction).getRegisterB()); - } - - protected void writeThirdRegister(IndentingWriter writer) throws IOException { - writeRegister(writer, ((ThreeRegisterInstruction) instruction).getRegisterC()); - } - - protected void writeInvokeRegisters(IndentingWriter writer) throws IOException { - FiveRegisterInstruction instruction = (FiveRegisterInstruction)this.instruction; - final int regCount = instruction.getRegisterCount(); - - writer.write('{'); - switch (regCount) { - case 1: - writeRegister(writer, instruction.getRegisterC()); - break; - case 2: - writeRegister(writer, instruction.getRegisterC()); - writer.write(", "); - writeRegister(writer, instruction.getRegisterD()); - break; - case 3: - writeRegister(writer, instruction.getRegisterC()); - writer.write(", "); - writeRegister(writer, instruction.getRegisterD()); - writer.write(", "); - writeRegister(writer, instruction.getRegisterE()); - break; - case 4: - writeRegister(writer, instruction.getRegisterC()); - writer.write(", "); - writeRegister(writer, instruction.getRegisterD()); - writer.write(", "); - writeRegister(writer, instruction.getRegisterE()); - writer.write(", "); - writeRegister(writer, instruction.getRegisterF()); - break; - case 5: - writeRegister(writer, instruction.getRegisterC()); - writer.write(", "); - writeRegister(writer, instruction.getRegisterD()); - writer.write(", "); - writeRegister(writer, instruction.getRegisterE()); - writer.write(", "); - writeRegister(writer, instruction.getRegisterF()); - writer.write(", "); - writeRegister(writer, instruction.getRegisterG()); - break; - } - writer.write('}'); - } - - protected void writeInvokeRangeRegisters(IndentingWriter writer) throws IOException { - RegisterRangeInstruction instruction = (RegisterRangeInstruction)this.instruction; - - int regCount = instruction.getRegisterCount(); - if (regCount == 0) { - writer.write("{}"); - } else { - int startRegister = instruction.getStartRegister(); - methodDef.registerFormatter.writeRegisterRange(writer, startRegister, startRegister+regCount-1); - } - } - - protected void writeLiteral(IndentingWriter writer) throws IOException { - LongRenderer.writeSignedIntOrLongTo(writer, ((WideLiteralInstruction)instruction).getWideLiteral()); - } - - protected void writeCommentIfLikelyFloat(IndentingWriter writer) throws IOException { - writeCommentIfLikelyFloat(writer, ((NarrowLiteralInstruction)instruction).getNarrowLiteral()); - } - - protected void writeCommentIfLikelyFloat(IndentingWriter writer, int val) throws IOException { - if (NumberUtils.isLikelyFloat(val)) { - writer.write(" # "); - float fval = Float.intBitsToFloat(val); - if (fval == Float.POSITIVE_INFINITY) - writer.write("Float.POSITIVE_INFINITY"); - else if (fval == Float.NEGATIVE_INFINITY) - writer.write("Float.NEGATIVE_INFINITY"); - else if (fval == Float.NaN) - writer.write("Float.NaN"); - else if (fval == Float.MAX_VALUE) - writer.write("Float.MAX_VALUE"); - else if (fval == (float)Math.PI) - writer.write("(float)Math.PI"); - else if (fval == (float)Math.E) - writer.write("(float)Math.E"); - else { - writer.write(Float.toString(fval)); - writer.write('f'); - } - } - } - - protected void writeCommentIfLikelyDouble(IndentingWriter writer) throws IOException { - writeCommentIfLikelyDouble(writer, ((WideLiteralInstruction)instruction).getWideLiteral()); - } - - protected void writeCommentIfLikelyDouble(IndentingWriter writer, long val) throws IOException { - if (NumberUtils.isLikelyDouble(val)) { - writer.write(" # "); - double dval = Double.longBitsToDouble(val); - if (dval == Double.POSITIVE_INFINITY) - writer.write("Double.POSITIVE_INFINITY"); - else if (dval == Double.NEGATIVE_INFINITY) - writer.write("Double.NEGATIVE_INFINITY"); - else if (dval == Double.NaN) - writer.write("Double.NaN"); - else if (dval == Double.MAX_VALUE) - writer.write("Double.MAX_VALUE"); - else if (dval == Math.PI) - writer.write("Math.PI"); - else if (dval == Math.E) - writer.write("Math.E"); - else - writer.write(Double.toString(dval)); - } - } - - protected boolean writeCommentIfResourceId(IndentingWriter writer) throws IOException { - return writeCommentIfResourceId(writer, ((NarrowLiteralInstruction)instruction).getNarrowLiteral()); - } - - protected boolean writeCommentIfResourceId(IndentingWriter writer, int val) throws IOException { - Map resourceIds = methodDef.classDef.options.resourceIds; - String resource = resourceIds.get(Integer.valueOf(val)); - if (resource != null) { - writer.write(" # "); - writer.write(resource); - return true; - } - return false; - } - - protected void writeFieldOffset(IndentingWriter writer) throws IOException { - writer.write("field@0x"); - writer.printUnsignedLongAsHex(((FieldOffsetInstruction)instruction).getFieldOffset()); - } - - protected void writeInlineIndex(IndentingWriter writer) throws IOException { - writer.write("inline@"); - writer.printSignedIntAsDec(((InlineIndexInstruction)instruction).getInlineIndex()); - } - - protected void writeVtableIndex(IndentingWriter writer) throws IOException { - writer.write("vtable@"); - writer.printSignedIntAsDec(((VtableIndexInstruction)instruction).getVtableIndex()); - } -} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/OffsetInstructionFormatMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/OffsetInstructionFormatMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/OffsetInstructionFormatMethodItem.java 2017-09-27 02:07:41.271736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/OffsetInstructionFormatMethodItem.java 1970-01-01 09:00:00.000000000 +0900 @@ -1,85 +0,0 @@ -/* - * [The "BSD licence"] - * Copyright (c) 2010 Ben Gruver (JesusFreke) - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.baksmali.Adaptors.Format; - -import org.jf.baksmali.Adaptors.LabelMethodItem; -import org.jf.baksmali.Adaptors.MethodDefinition; -import org.jf.baksmali.baksmaliOptions; -import org.jf.dexlib2.Opcode; -import org.jf.dexlib2.iface.instruction.OffsetInstruction; -import org.jf.util.IndentingWriter; - -import javax.annotation.Nonnull; -import java.io.IOException; - -public class OffsetInstructionFormatMethodItem extends InstructionMethodItem { - protected LabelMethodItem label; - - public OffsetInstructionFormatMethodItem(@Nonnull baksmaliOptions options, @Nonnull MethodDefinition methodDef, - int codeAddress, OffsetInstruction instruction) { - super(methodDef, codeAddress, instruction); - - label = new LabelMethodItem(options, codeAddress + instruction.getCodeOffset(), getLabelPrefix()); - label = methodDef.getLabelCache().internLabel(label); - } - - @Override - protected void writeTargetLabel(IndentingWriter writer) throws IOException { - label.writeTo(writer); - } - - public LabelMethodItem getLabel() { - return label; - } - - private String getLabelPrefix() { - Opcode opcode = instruction.getOpcode(); - switch (opcode.format) { - case Format10t: - case Format20t: - case Format30t: - return "goto_"; - case Format21t: - case Format22t: - return "cond_"; - case Format31t: - if (opcode == Opcode.FILL_ARRAY_DATA) { - return "array_"; - } - if (opcode == Opcode.PACKED_SWITCH) { - return "pswitch_data_"; - } - // Opcode.SPARSE_SWITCH; - return "sswitch_data_"; - } - - assert false; - return null; - } -} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/PackedSwitchMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/PackedSwitchMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/PackedSwitchMethodItem.java 2017-09-27 02:07:41.271736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/PackedSwitchMethodItem.java 1970-01-01 09:00:00.000000000 +0900 @@ -1,123 +0,0 @@ -/* - * [The "BSD licence"] - * Copyright (c) 2010 Ben Gruver (JesusFreke) - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.baksmali.Adaptors.Format; - -import org.jf.baksmali.Adaptors.LabelMethodItem; -import org.jf.baksmali.Adaptors.MethodDefinition; -import org.jf.dexlib2.iface.instruction.SwitchElement; -import org.jf.dexlib2.iface.instruction.formats.PackedSwitchPayload; -import org.jf.util.IndentingWriter; -import org.jf.baksmali.Renderers.IntegerRenderer; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -public class PackedSwitchMethodItem extends InstructionMethodItem { - private final List targets; - private final int firstKey; - - public PackedSwitchMethodItem(MethodDefinition methodDef, int codeAddress, PackedSwitchPayload instruction) { - super(methodDef, codeAddress, instruction); - - int baseCodeAddress = methodDef.getPackedSwitchBaseAddress(codeAddress); - - targets = new ArrayList(); - - boolean first = true; - //TODO: does dalvik allow switc payloads with no cases? - int firstKey = 0; - if (baseCodeAddress >= 0) { - for (SwitchElement switchElement: instruction.getSwitchElements()) { - if (first) { - firstKey = switchElement.getKey(); - first = false; - } - LabelMethodItem label = methodDef.getLabelCache().internLabel( - new LabelMethodItem(methodDef.classDef.options, baseCodeAddress + switchElement.getOffset(), - "pswitch_")); - targets.add(new PackedSwitchLabelTarget(label)); - } - } else { - for (SwitchElement switchElement: instruction.getSwitchElements()) { - if (first) { - firstKey = switchElement.getKey(); - first = false; - } - targets.add(new PackedSwitchOffsetTarget(switchElement.getOffset())); - } - } - this.firstKey = firstKey; - } - - @Override - public boolean writeTo(IndentingWriter writer) throws IOException { - writer.write(".packed-switch "); - IntegerRenderer.writeTo(writer, firstKey); - writer.indent(4); - writer.write('\n'); - int key = firstKey; - for (PackedSwitchTarget target: targets) { - target.writeTargetTo(writer); - writeCommentIfResourceId(writer, key); - writer.write('\n'); - key++; - } - writer.deindent(4); - writer.write(".end packed-switch"); - return true; - } - - private static abstract class PackedSwitchTarget { - public abstract void writeTargetTo(IndentingWriter writer) throws IOException; - } - - private static class PackedSwitchLabelTarget extends PackedSwitchTarget { - private final LabelMethodItem target; - public PackedSwitchLabelTarget(LabelMethodItem target) { - this.target = target; - } - public void writeTargetTo(IndentingWriter writer) throws IOException { - target.writeTo(writer); - } - } - - private static class PackedSwitchOffsetTarget extends PackedSwitchTarget { - private final int target; - public PackedSwitchOffsetTarget(int target) { - this.target = target; - } - public void writeTargetTo(IndentingWriter writer) throws IOException { - if (target >= 0) { - writer.write('+'); - } - writer.printSignedIntAsDec(target); - } - } -} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/SparseSwitchMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/SparseSwitchMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/SparseSwitchMethodItem.java 2017-09-27 02:07:41.271736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/SparseSwitchMethodItem.java 1970-01-01 09:00:00.000000000 +0900 @@ -1,117 +0,0 @@ -/* - * [The "BSD licence"] - * Copyright (c) 2010 Ben Gruver (JesusFreke) - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.baksmali.Adaptors.Format; - -import org.jf.baksmali.Adaptors.LabelMethodItem; -import org.jf.baksmali.Adaptors.MethodDefinition; -import org.jf.dexlib2.iface.instruction.SwitchElement; -import org.jf.dexlib2.iface.instruction.formats.SparseSwitchPayload; -import org.jf.util.IndentingWriter; -import org.jf.baksmali.Renderers.IntegerRenderer; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -public class SparseSwitchMethodItem extends InstructionMethodItem { - private final List targets; - - public SparseSwitchMethodItem(MethodDefinition methodDef, int codeAddress, SparseSwitchPayload instruction) { - super(methodDef, codeAddress, instruction); - - int baseCodeAddress = methodDef.getSparseSwitchBaseAddress(codeAddress); - - targets = new ArrayList(); - if (baseCodeAddress >= 0) { - for (SwitchElement switchElement: instruction.getSwitchElements()) { - LabelMethodItem label = methodDef.getLabelCache().internLabel( - new LabelMethodItem( methodDef.classDef.options, baseCodeAddress + switchElement.getOffset(), - "sswitch_")); - targets.add(new SparseSwitchLabelTarget(switchElement.getKey(), label)); - } - } else { - //if we couldn't determine a base address, just use relative offsets rather than labels - for (SwitchElement switchElement: instruction.getSwitchElements()) { - targets.add(new SparseSwitchOffsetTarget(switchElement.getKey(), switchElement.getOffset())); - } - } - } - - @Override - public boolean writeTo(IndentingWriter writer) throws IOException { - writer.write(".sparse-switch\n"); - writer.indent(4); - for (SparseSwitchTarget target: targets) { - IntegerRenderer.writeTo(writer, target.getKey()); - writer.write(" -> "); - target.writeTargetTo(writer); - writeCommentIfResourceId(writer, target.getKey()); - writer.write('\n'); - } - writer.deindent(4); - writer.write(".end sparse-switch"); - return true; - } - - private static abstract class SparseSwitchTarget { - private final int key; - public SparseSwitchTarget(int key) { - this.key = key; - } - public int getKey() { return key; } - public abstract void writeTargetTo(IndentingWriter writer) throws IOException; - } - - private static class SparseSwitchLabelTarget extends SparseSwitchTarget { - private final LabelMethodItem target; - public SparseSwitchLabelTarget(int key, LabelMethodItem target) { - super(key); - this.target = target; - } - - public void writeTargetTo(IndentingWriter writer) throws IOException { - target.writeTo(writer); - } - } - - private static class SparseSwitchOffsetTarget extends SparseSwitchTarget { - private final int target; - public SparseSwitchOffsetTarget(int key, int target) { - super(key); - this.target = target; - } - - public void writeTargetTo(IndentingWriter writer) throws IOException { - if (target >= 0) { - writer.write('+'); - } - writer.printSignedIntAsDec(target); - } - } -} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/UnresolvedOdexInstructionMethodItem.java SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/UnresolvedOdexInstructionMethodItem.java --- Android_6.0.1_r11/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/UnresolvedOdexInstructionMethodItem.java 2017-09-27 02:07:41.271736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/UnresolvedOdexInstructionMethodItem.java 1970-01-01 09:00:00.000000000 +0900 @@ -1,54 +0,0 @@ -/* - * [The "BSD licence"] - * Copyright (c) 2010 Ben Gruver (JesusFreke) - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.baksmali.Adaptors.Format; - -import org.jf.baksmali.Adaptors.MethodDefinition; -import org.jf.dexlib2.analysis.UnresolvedOdexInstruction; -import org.jf.util.IndentingWriter; - -import javax.annotation.Nonnull; -import java.io.IOException; - -public class UnresolvedOdexInstructionMethodItem extends InstructionMethodItem { - public UnresolvedOdexInstructionMethodItem(@Nonnull MethodDefinition methodDef, int codeAddress, - @Nonnull UnresolvedOdexInstruction instruction) { - super(methodDef, codeAddress, instruction); - } - - public boolean writeTo(IndentingWriter writer) throws IOException { - writeThrowTo(writer); - return true; - } - - private void writeThrowTo(IndentingWriter writer) throws IOException { - writer.write("#Replaced unresolvable odex instruction with a throw\n"); - writer.write("throw "); - writeRegister(writer, instruction.objectRegisterNum); - } -} diff -urN Android_6.0.1_r11/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateDirectMethods.smali SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateDirectMethods.smali --- Android_6.0.1_r11/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateDirectMethods.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateDirectMethods.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,22 @@ +.class public LDuplicateDirectMethods; +.super Ljava/lang/Object; + +.method private alah()V + .registers 1 + return-void +.end method + +.method private blah()V + .registers 1 + return-void +.end method + +.method private blah()V + .registers 1 + return-void +.end method + +.method private clah()V + .registers 1 + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateDirectVirtualMethods.smali SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateDirectVirtualMethods.smali --- Android_6.0.1_r11/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateDirectVirtualMethods.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateDirectVirtualMethods.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,32 @@ +.class public LDuplicateDirectVirtualMethods; +.super Ljava/lang/Object; + +.method public alah()V + .registers 1 + return-void +.end method + +.method private blah()V + .registers 1 + return-void +.end method + +.method private blah()V + .registers 1 + return-void +.end method + +.method public blah()V + .registers 1 + return-void +.end method + +.method public blah()V + .registers 1 + return-void +.end method + +.method public clah()V + .registers 1 + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateInstanceFields.smali SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateInstanceFields.smali --- Android_6.0.1_r11/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateInstanceFields.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateInstanceFields.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,9 @@ +.class public LDuplicateInstanceFields; +.super Ljava/lang/Object; + +.field public alah:I + +.field public blah:I +.field public blah:I + +.field public clah:I \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateStaticFields.smali SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateStaticFields.smali --- Android_6.0.1_r11/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateStaticFields.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateStaticFields.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,9 @@ +.class public LDuplicateStaticFields; +.super Ljava/lang/Object; + +.field public static alah:I + +.field public static blah:I +.field public static blah:I + +.field public static clah:I \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateStaticInstanceFields.smali SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateStaticInstanceFields.smali --- Android_6.0.1_r11/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateStaticInstanceFields.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateStaticInstanceFields.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,11 @@ +.class public LDuplicateStaticInstanceFields; +.super Ljava/lang/Object; + +.field public alah:I + +.field public blah:I +.field public blah:I +.field static public blah:I +.field static public blah:I + +.field public clah:I \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateVirtualMethods.smali SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateVirtualMethods.smali --- Android_6.0.1_r11/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateVirtualMethods.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/duplicatetest/src/DuplicateVirtualMethods.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,22 @@ +.class public LDuplicateVirtualMethods; +.super Ljava/lang/Object; + +.method public alah()V + .registers 1 + return-void +.end method + +.method public blah()V + .registers 1 + return-void +.end method + +.method public blah()V + .registers 1 + return-void +.end method + +.method public clah()V + .registers 1 + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/baksmali/src/test/resources/duplicatetest/src/README SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/duplicatetest/src/README --- Android_6.0.1_r11/external/smali/baksmali/src/test/resources/duplicatetest/src/README 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/duplicatetest/src/README 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,3 @@ +The test dex file was produced from these smali files, using +an old version of smali that doesn't check for field/method +duplicates \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateDirectMethods.smali SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateDirectMethods.smali --- Android_6.0.1_r11/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateDirectMethods.smali 2017-09-27 02:07:41.275736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateDirectMethods.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,22 +0,0 @@ -.class public LDuplicateDirectMethods; -.super Ljava/lang/Object; - -.method private alah()V - .registers 1 - return-void -.end method - -.method private blah()V - .registers 1 - return-void -.end method - -.method private blah()V - .registers 1 - return-void -.end method - -.method private clah()V - .registers 1 - return-void -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateDirectVirtualMethods.smali SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateDirectVirtualMethods.smali --- Android_6.0.1_r11/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateDirectVirtualMethods.smali 2017-09-27 02:07:41.275736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateDirectVirtualMethods.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,32 +0,0 @@ -.class public LDuplicateDirectVirtualMethods; -.super Ljava/lang/Object; - -.method public alah()V - .registers 1 - return-void -.end method - -.method private blah()V - .registers 1 - return-void -.end method - -.method private blah()V - .registers 1 - return-void -.end method - -.method public blah()V - .registers 1 - return-void -.end method - -.method public blah()V - .registers 1 - return-void -.end method - -.method public clah()V - .registers 1 - return-void -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateInstanceFields.smali SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateInstanceFields.smali --- Android_6.0.1_r11/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateInstanceFields.smali 2017-09-27 02:07:41.275736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateInstanceFields.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,9 +0,0 @@ -.class public LDuplicateInstanceFields; -.super Ljava/lang/Object; - -.field public alah:I - -.field public blah:I -.field public blah:I - -.field public clah:I \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateStaticFields.smali SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateStaticFields.smali --- Android_6.0.1_r11/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateStaticFields.smali 2017-09-27 02:07:41.275736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateStaticFields.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,9 +0,0 @@ -.class public LDuplicateStaticFields; -.super Ljava/lang/Object; - -.field public static alah:I - -.field public static blah:I -.field public static blah:I - -.field public static clah:I \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateStaticInstanceFields.smali SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateStaticInstanceFields.smali --- Android_6.0.1_r11/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateStaticInstanceFields.smali 2017-09-27 02:07:41.275736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateStaticInstanceFields.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,11 +0,0 @@ -.class public LDuplicateStaticInstanceFields; -.super Ljava/lang/Object; - -.field public alah:I - -.field public blah:I -.field public blah:I -.field static public blah:I -.field static public blah:I - -.field public clah:I \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateVirtualMethods.smali SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateVirtualMethods.smali --- Android_6.0.1_r11/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateVirtualMethods.smali 2017-09-27 02:07:41.275736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/DuplicateTest/src/DuplicateVirtualMethods.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,22 +0,0 @@ -.class public LDuplicateVirtualMethods; -.super Ljava/lang/Object; - -.method public alah()V - .registers 1 - return-void -.end method - -.method public blah()V - .registers 1 - return-void -.end method - -.method public blah()V - .registers 1 - return-void -.end method - -.method public clah()V - .registers 1 - return-void -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/baksmali/src/test/resources/DuplicateTest/src/README SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/DuplicateTest/src/README --- Android_6.0.1_r11/external/smali/baksmali/src/test/resources/DuplicateTest/src/README 2017-09-27 02:07:41.275736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/baksmali/src/test/resources/DuplicateTest/src/README 1970-01-01 09:00:00.000000000 +0900 @@ -1,3 +0,0 @@ -The test dex file was produced from these smali files, using -an old version of smali that doesn't check for field/method -duplicates \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/dexlib2/accessortestgenerator/src/main/java/org/jf/dexlib2/AccessorTestGenerator.java SAMD_6.0.1_r11_20170930/external/smali/dexlib2/accessortestgenerator/src/main/java/org/jf/dexlib2/AccessorTestGenerator.java --- Android_6.0.1_r11/external/smali/dexlib2/accessortestgenerator/src/main/java/org/jf/dexlib2/AccessorTestGenerator.java 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/dexlib2/accessortestgenerator/src/main/java/org/jf/dexlib2/AccessorTestGenerator.java 2017-01-28 17:50:40.000000000 +0900 @@ -0,0 +1,141 @@ +/* + * Copyright 2012, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.dexlib2; + +import org.stringtemplate.v4.*; + +import java.io.*; +import java.net.URL; + +public class AccessorTestGenerator { + private static class UnaryOperation { + public final String name; + public UnaryOperation(String name) { + this.name = name; + } + } + + private static class BinaryOperation { + public final String name; + public final String[] inputTypes; + public BinaryOperation(String name, String[] inputTypes) { + this.name = name; + this.inputTypes = inputTypes; + } + } + + private static class TypeDef { + public final String name; + public final UnaryOperation[] unaryOperations; + public final BinaryOperation[] binaryOperations; + public TypeDef(String name, UnaryOperation[] unaryOperations, BinaryOperation[] binaryOperations) { + this.name = name; + this.unaryOperations = unaryOperations; + this.binaryOperations = binaryOperations; + } + } + + private static final UnaryOperation[] unaryOperations = new UnaryOperation[] { + new UnaryOperation("preinc"), + new UnaryOperation("postinc"), + new UnaryOperation("predec"), + new UnaryOperation("postdec") + }; + + private static final String[] booleanInputs = new String[] {"boolean"}; + private static final String[] integralInputs = new String[] {"int", "long"}; + private static final String[] allInputs = new String[] {"int", "float", "long", "double"}; + + private static final BinaryOperation[] booleanOperations = new BinaryOperation[] { + new BinaryOperation("and", booleanInputs), + new BinaryOperation("or", booleanInputs), + new BinaryOperation("xor", booleanInputs), + }; + + private static final BinaryOperation[] floatOperations = new BinaryOperation[] { + new BinaryOperation("add", allInputs), + new BinaryOperation("sub", allInputs), + new BinaryOperation("mul", allInputs), + new BinaryOperation("div", allInputs), + new BinaryOperation("rem", allInputs), + }; + + private static final BinaryOperation[] integralOperations = new BinaryOperation[] { + new BinaryOperation("add", allInputs), + new BinaryOperation("sub", allInputs), + new BinaryOperation("mul", allInputs), + new BinaryOperation("div", allInputs), + new BinaryOperation("rem", allInputs), + new BinaryOperation("and", integralInputs), + new BinaryOperation("or", integralInputs), + new BinaryOperation("xor", integralInputs), + new BinaryOperation("shl", integralInputs), + new BinaryOperation("shr", integralInputs), + new BinaryOperation("ushr", integralInputs), + }; + + private static final TypeDef[] types = new TypeDef[] { + new TypeDef("boolean", new UnaryOperation[0], booleanOperations), + new TypeDef("byte", unaryOperations, integralOperations), + new TypeDef("char", unaryOperations, integralOperations), + new TypeDef("short", unaryOperations, integralOperations), + new TypeDef("int", unaryOperations, integralOperations), + new TypeDef("long", unaryOperations, integralOperations), + new TypeDef("float", unaryOperations, floatOperations), + new TypeDef("double", unaryOperations, floatOperations), + }; + + + public static void main(String[] args) throws IOException { + if (args.length != 1) { + System.err.println("Usage: java org.jf.dexlib2.AccessorTestGenerator "); + } + + URL stgUrl = AccessorTestGenerator.class.getClassLoader().getResource("AccessorTest.stg"); + STGroupFile stg = new STGroupFile(stgUrl, "utf-8", '<', '>'); + ST fileSt = stg.getInstanceOf("file"); + fileSt.add("types", types); + + PrintWriter w = null; + try { + w = new PrintWriter(new BufferedWriter(new FileWriter(args[0]))); + w.print(fileSt.render()); + } finally { + if (w != null) { + w.close(); + } + } + } +} + + + diff -urN Android_6.0.1_r11/external/smali/dexlib2/accessortestgenerator/src/main/resources/AccessorTest.stg SAMD_6.0.1_r11_20170930/external/smali/dexlib2/accessortestgenerator/src/main/resources/AccessorTest.stg --- Android_6.0.1_r11/external/smali/dexlib2/accessortestgenerator/src/main/resources/AccessorTest.stg 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/dexlib2/accessortestgenerator/src/main/resources/AccessorTest.stg 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,86 @@ +decl(type, name, value) ::= " ;" +init(v) ::= " = " + +field_decl(type) ::= "private _val;" + +preinc_template(type) ::= "++_val;" +postinc_template(type) ::= "_val++;" +predec_template(type) ::= "--_val;" +postdec_template(type) ::= "_val--;" +add_template(type) ::= "_val += val;" +sub_template(type) ::= "_val -= val;" +mul_template(type) ::= "_val *= val;" +div_template(type) ::= "_val /= val;" +rem_template(type) ::= "_val %= val;" +and_template(type) ::= "_val &= val;" +or_template(type) ::= "_val |= val;" +xor_template(type) ::= "_val ^= val;" +shl_template(type) ::= "_val \<\<= val;" +shr_template(type) ::= "_val >>= val;" +ushr_template(type) ::= "_val >>>= val;" + +operation_template_name(operation) ::= "_template" + +binary_method(input, type, binary_operation) ::= << +public void _( val) { + <(operation_template_name(binary_operation))(type)> +} +>> + +binary_methods(binary_operation, type) ::= << + +>> + +unary_method(unary_operation, type) ::= << +public void _() { + <(operation_template_name(unary_operation))(type)> +} +>> + +type_methods(type) ::= << +<[type.unaryOperations:unary_method(type), type.binaryOperations:binary_methods(type)];separator="\n\n"> +>> + + +file(types) ::= << +/* + * Copyright 2012, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.dexlib2; + +public class AccessorTypes { + + + private class Accessors { + + } +} +>> diff -urN Android_6.0.1_r11/external/smali/dexlib2/accessorTestGenerator/src/main/java/org/jf/dexlib2/AccessorTestGenerator.java SAMD_6.0.1_r11_20170930/external/smali/dexlib2/accessorTestGenerator/src/main/java/org/jf/dexlib2/AccessorTestGenerator.java --- Android_6.0.1_r11/external/smali/dexlib2/accessorTestGenerator/src/main/java/org/jf/dexlib2/AccessorTestGenerator.java 2017-09-27 02:07:41.275736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/dexlib2/accessorTestGenerator/src/main/java/org/jf/dexlib2/AccessorTestGenerator.java 1970-01-01 09:00:00.000000000 +0900 @@ -1,141 +0,0 @@ -/* - * Copyright 2012, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.dexlib2; - -import org.stringtemplate.v4.*; - -import java.io.*; -import java.net.URL; - -public class AccessorTestGenerator { - private static class UnaryOperation { - public final String name; - public UnaryOperation(String name) { - this.name = name; - } - } - - private static class BinaryOperation { - public final String name; - public final String[] inputTypes; - public BinaryOperation(String name, String[] inputTypes) { - this.name = name; - this.inputTypes = inputTypes; - } - } - - private static class TypeDef { - public final String name; - public final UnaryOperation[] unaryOperations; - public final BinaryOperation[] binaryOperations; - public TypeDef(String name, UnaryOperation[] unaryOperations, BinaryOperation[] binaryOperations) { - this.name = name; - this.unaryOperations = unaryOperations; - this.binaryOperations = binaryOperations; - } - } - - private static final UnaryOperation[] unaryOperations = new UnaryOperation[] { - new UnaryOperation("preinc"), - new UnaryOperation("postinc"), - new UnaryOperation("predec"), - new UnaryOperation("postdec") - }; - - private static final String[] booleanInputs = new String[] {"boolean"}; - private static final String[] integralInputs = new String[] {"int", "long"}; - private static final String[] allInputs = new String[] {"int", "float", "long", "double"}; - - private static final BinaryOperation[] booleanOperations = new BinaryOperation[] { - new BinaryOperation("and", booleanInputs), - new BinaryOperation("or", booleanInputs), - new BinaryOperation("xor", booleanInputs), - }; - - private static final BinaryOperation[] floatOperations = new BinaryOperation[] { - new BinaryOperation("add", allInputs), - new BinaryOperation("sub", allInputs), - new BinaryOperation("mul", allInputs), - new BinaryOperation("div", allInputs), - new BinaryOperation("rem", allInputs), - }; - - private static final BinaryOperation[] integralOperations = new BinaryOperation[] { - new BinaryOperation("add", allInputs), - new BinaryOperation("sub", allInputs), - new BinaryOperation("mul", allInputs), - new BinaryOperation("div", allInputs), - new BinaryOperation("rem", allInputs), - new BinaryOperation("and", integralInputs), - new BinaryOperation("or", integralInputs), - new BinaryOperation("xor", integralInputs), - new BinaryOperation("shl", integralInputs), - new BinaryOperation("shr", integralInputs), - new BinaryOperation("ushr", integralInputs), - }; - - private static final TypeDef[] types = new TypeDef[] { - new TypeDef("boolean", new UnaryOperation[0], booleanOperations), - new TypeDef("byte", unaryOperations, integralOperations), - new TypeDef("char", unaryOperations, integralOperations), - new TypeDef("short", unaryOperations, integralOperations), - new TypeDef("int", unaryOperations, integralOperations), - new TypeDef("long", unaryOperations, integralOperations), - new TypeDef("float", unaryOperations, floatOperations), - new TypeDef("double", unaryOperations, floatOperations), - }; - - - public static void main(String[] args) throws IOException { - if (args.length != 1) { - System.err.println("Usage: java org.jf.dexlib2.AccessorTestGenerator "); - } - - URL stgUrl = AccessorTestGenerator.class.getClassLoader().getResource("AccessorTest.stg"); - STGroupFile stg = new STGroupFile(stgUrl, "utf-8", '<', '>'); - ST fileSt = stg.getInstanceOf("file"); - fileSt.add("types", types); - - PrintWriter w = null; - try { - w = new PrintWriter(new BufferedWriter(new FileWriter(args[0]))); - w.print(fileSt.render()); - } finally { - if (w != null) { - w.close(); - } - } - } -} - - - diff -urN Android_6.0.1_r11/external/smali/dexlib2/accessorTestGenerator/src/main/resources/AccessorTest.stg SAMD_6.0.1_r11_20170930/external/smali/dexlib2/accessorTestGenerator/src/main/resources/AccessorTest.stg --- Android_6.0.1_r11/external/smali/dexlib2/accessorTestGenerator/src/main/resources/AccessorTest.stg 2017-09-27 02:07:41.275736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/dexlib2/accessorTestGenerator/src/main/resources/AccessorTest.stg 1970-01-01 09:00:00.000000000 +0900 @@ -1,86 +0,0 @@ -decl(type, name, value) ::= " ;" -init(v) ::= " = " - -field_decl(type) ::= "private _val;" - -preinc_template(type) ::= "++_val;" -postinc_template(type) ::= "_val++;" -predec_template(type) ::= "--_val;" -postdec_template(type) ::= "_val--;" -add_template(type) ::= "_val += val;" -sub_template(type) ::= "_val -= val;" -mul_template(type) ::= "_val *= val;" -div_template(type) ::= "_val /= val;" -rem_template(type) ::= "_val %= val;" -and_template(type) ::= "_val &= val;" -or_template(type) ::= "_val |= val;" -xor_template(type) ::= "_val ^= val;" -shl_template(type) ::= "_val \<\<= val;" -shr_template(type) ::= "_val >>= val;" -ushr_template(type) ::= "_val >>>= val;" - -operation_template_name(operation) ::= "_template" - -binary_method(input, type, binary_operation) ::= << -public void _( val) { - <(operation_template_name(binary_operation))(type)> -} ->> - -binary_methods(binary_operation, type) ::= << - ->> - -unary_method(unary_operation, type) ::= << -public void _() { - <(operation_template_name(unary_operation))(type)> -} ->> - -type_methods(type) ::= << -<[type.unaryOperations:unary_method(type), type.binaryOperations:binary_methods(type)];separator="\n\n"> ->> - - -file(types) ::= << -/* - * Copyright 2012, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.dexlib2; - -public class AccessorTypes { - - - private class Accessors { - - } -} ->> diff -urN Android_6.0.1_r11/external/smali/dexlib2/Android.mk SAMD_6.0.1_r11_20170930/external/smali/dexlib2/Android.mk --- Android_6.0.1_r11/external/smali/dexlib2/Android.mk 2017-09-27 02:07:41.275736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/dexlib2/Android.mk 2016-11-01 08:36:40.000000000 +0900 @@ -35,5 +35,6 @@ guavalib \ jsr305lib +include $(BUILD_HOST_JAVA_LIBRARY) + -include $(BUILD_HOST_JAVA_LIBRARY) \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/dexlib2/src/accessortest/java/org/jf/dexlib2/AccessorTest.java SAMD_6.0.1_r11_20170930/external/smali/dexlib2/src/accessortest/java/org/jf/dexlib2/AccessorTest.java --- Android_6.0.1_r11/external/smali/dexlib2/src/accessortest/java/org/jf/dexlib2/AccessorTest.java 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/dexlib2/src/accessortest/java/org/jf/dexlib2/AccessorTest.java 2017-01-28 17:50:40.000000000 +0900 @@ -0,0 +1,133 @@ +/* + * Copyright 2012, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.jf.dexlib2; + +import com.google.common.collect.ImmutableMap; +import junit.framework.Assert; +import org.jf.dexlib2.iface.ClassDef; +import org.jf.dexlib2.iface.DexFile; +import org.jf.dexlib2.iface.Method; +import org.jf.dexlib2.iface.MethodImplementation; +import org.jf.dexlib2.iface.instruction.Instruction; +import org.jf.dexlib2.iface.instruction.ReferenceInstruction; +import org.jf.dexlib2.iface.reference.FieldReference; +import org.jf.dexlib2.iface.reference.MethodReference; +import org.jf.dexlib2.util.SyntheticAccessorResolver; +import org.junit.Test; + +import java.io.IOException; +import java.net.URL; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class AccessorTest { + private Pattern accessorMethodPattern = Pattern.compile("([a-zA-Z]*)_([a-zA-Z]*)"); + + private static final Map operationTypes; + + static { + ImmutableMap.Builder builder = ImmutableMap.builder(); + builder.put("postinc", SyntheticAccessorResolver.POSTFIX_INCREMENT); + builder.put("preinc", SyntheticAccessorResolver.PREFIX_INCREMENT); + builder.put("postdec", SyntheticAccessorResolver.POSTFIX_DECREMENT); + builder.put("predec", SyntheticAccessorResolver.PREFIX_DECREMENT); + builder.put("add", SyntheticAccessorResolver.ADD_ASSIGNMENT); + builder.put("sub", SyntheticAccessorResolver.SUB_ASSIGNMENT); + builder.put("mul", SyntheticAccessorResolver.MUL_ASSIGNMENT); + builder.put("div", SyntheticAccessorResolver.DIV_ASSIGNMENT); + builder.put("rem", SyntheticAccessorResolver.REM_ASSIGNMENT); + builder.put("and", SyntheticAccessorResolver.AND_ASSIGNMENT); + builder.put("or", SyntheticAccessorResolver.OR_ASSIGNMENT); + builder.put("xor", SyntheticAccessorResolver.XOR_ASSIGNMENT); + builder.put("shl", SyntheticAccessorResolver.SHL_ASSIGNMENT); + builder.put("shr", SyntheticAccessorResolver.SHR_ASSIGNMENT); + builder.put("ushr", SyntheticAccessorResolver.USHR_ASSIGNMENT); + operationTypes = builder.build(); + } + + @Test + public void testAccessors() throws IOException { + URL url = AccessorTest.class.getClassLoader().getResource("accessorTest.dex"); + Assert.assertNotNull(url); + DexFile f = DexFileFactory.loadDexFile(url.getFile(), 15); + + SyntheticAccessorResolver sar = new SyntheticAccessorResolver(f.getClasses()); + + ClassDef accessorTypesClass = null; + ClassDef accessorsClass = null; + + for (ClassDef classDef: f.getClasses()) { + String className = classDef.getType(); + + if (className.equals("Lorg/jf/dexlib2/AccessorTypes;")) { + accessorTypesClass = classDef; + } else if (className.equals("Lorg/jf/dexlib2/AccessorTypes$Accessors;")) { + accessorsClass = classDef; + } + } + + Assert.assertNotNull(accessorTypesClass); + Assert.assertNotNull(accessorsClass); + + for (Method method: accessorsClass.getMethods()) { + Matcher m = accessorMethodPattern.matcher(method.getName()); + if (!m.matches()) { + continue; + } + String type = m.group(1); + String operation = m.group(2); + + MethodImplementation methodImpl = method.getImplementation(); + Assert.assertNotNull(methodImpl); + + for (Instruction instruction: methodImpl.getInstructions()) { + Opcode opcode = instruction.getOpcode(); + if (opcode == Opcode.INVOKE_STATIC || opcode == Opcode.INVOKE_STATIC_RANGE) { + MethodReference accessorMethod = + (MethodReference)((ReferenceInstruction) instruction).getReference(); + + SyntheticAccessorResolver.AccessedMember accessedMember = sar.getAccessedMember(accessorMethod); + + Assert.assertNotNull(String.format("Could not resolve accessor for %s_%s", type, operation), + accessedMember); + + int operationType = operationTypes.get(operation); + Assert.assertEquals(operationType, accessedMember.accessedMemberType); + + Assert.assertEquals(String.format("%s_val", type), + ((FieldReference)accessedMember.accessedMember).getName()); + } + } + } + } +} diff -urN Android_6.0.1_r11/external/smali/dexlib2/src/accessorTest/java/org/jf/dexlib2/AccessorTest.java SAMD_6.0.1_r11_20170930/external/smali/dexlib2/src/accessorTest/java/org/jf/dexlib2/AccessorTest.java --- Android_6.0.1_r11/external/smali/dexlib2/src/accessorTest/java/org/jf/dexlib2/AccessorTest.java 2017-09-27 02:07:41.275736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/dexlib2/src/accessorTest/java/org/jf/dexlib2/AccessorTest.java 1970-01-01 09:00:00.000000000 +0900 @@ -1,133 +0,0 @@ -/* - * Copyright 2012, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.jf.dexlib2; - -import com.google.common.collect.ImmutableMap; -import junit.framework.Assert; -import org.jf.dexlib2.iface.ClassDef; -import org.jf.dexlib2.iface.DexFile; -import org.jf.dexlib2.iface.Method; -import org.jf.dexlib2.iface.MethodImplementation; -import org.jf.dexlib2.iface.instruction.Instruction; -import org.jf.dexlib2.iface.instruction.ReferenceInstruction; -import org.jf.dexlib2.iface.reference.FieldReference; -import org.jf.dexlib2.iface.reference.MethodReference; -import org.jf.dexlib2.util.SyntheticAccessorResolver; -import org.junit.Test; - -import java.io.IOException; -import java.net.URL; -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class AccessorTest { - private Pattern accessorMethodPattern = Pattern.compile("([a-zA-Z]*)_([a-zA-Z]*)"); - - private static final Map operationTypes; - - static { - ImmutableMap.Builder builder = ImmutableMap.builder(); - builder.put("postinc", SyntheticAccessorResolver.POSTFIX_INCREMENT); - builder.put("preinc", SyntheticAccessorResolver.PREFIX_INCREMENT); - builder.put("postdec", SyntheticAccessorResolver.POSTFIX_DECREMENT); - builder.put("predec", SyntheticAccessorResolver.PREFIX_DECREMENT); - builder.put("add", SyntheticAccessorResolver.ADD_ASSIGNMENT); - builder.put("sub", SyntheticAccessorResolver.SUB_ASSIGNMENT); - builder.put("mul", SyntheticAccessorResolver.MUL_ASSIGNMENT); - builder.put("div", SyntheticAccessorResolver.DIV_ASSIGNMENT); - builder.put("rem", SyntheticAccessorResolver.REM_ASSIGNMENT); - builder.put("and", SyntheticAccessorResolver.AND_ASSIGNMENT); - builder.put("or", SyntheticAccessorResolver.OR_ASSIGNMENT); - builder.put("xor", SyntheticAccessorResolver.XOR_ASSIGNMENT); - builder.put("shl", SyntheticAccessorResolver.SHL_ASSIGNMENT); - builder.put("shr", SyntheticAccessorResolver.SHR_ASSIGNMENT); - builder.put("ushr", SyntheticAccessorResolver.USHR_ASSIGNMENT); - operationTypes = builder.build(); - } - - @Test - public void testAccessors() throws IOException { - URL url = AccessorTest.class.getClassLoader().getResource("accessorTest.dex"); - Assert.assertNotNull(url); - DexFile f = DexFileFactory.loadDexFile(url.getFile(), 15); - - SyntheticAccessorResolver sar = new SyntheticAccessorResolver(f.getClasses()); - - ClassDef accessorTypesClass = null; - ClassDef accessorsClass = null; - - for (ClassDef classDef: f.getClasses()) { - String className = classDef.getType(); - - if (className.equals("Lorg/jf/dexlib2/AccessorTypes;")) { - accessorTypesClass = classDef; - } else if (className.equals("Lorg/jf/dexlib2/AccessorTypes$Accessors;")) { - accessorsClass = classDef; - } - } - - Assert.assertNotNull(accessorTypesClass); - Assert.assertNotNull(accessorsClass); - - for (Method method: accessorsClass.getMethods()) { - Matcher m = accessorMethodPattern.matcher(method.getName()); - if (!m.matches()) { - continue; - } - String type = m.group(1); - String operation = m.group(2); - - MethodImplementation methodImpl = method.getImplementation(); - Assert.assertNotNull(methodImpl); - - for (Instruction instruction: methodImpl.getInstructions()) { - Opcode opcode = instruction.getOpcode(); - if (opcode == Opcode.INVOKE_STATIC || opcode == Opcode.INVOKE_STATIC_RANGE) { - MethodReference accessorMethod = - (MethodReference)((ReferenceInstruction) instruction).getReference(); - - SyntheticAccessorResolver.AccessedMember accessedMember = sar.getAccessedMember(accessorMethod); - - Assert.assertNotNull(String.format("Could not resolve accessor for %s_%s", type, operation), - accessedMember); - - int operationType = operationTypes.get(operation); - Assert.assertEquals(operationType, accessedMember.accessedMemberType); - - Assert.assertEquals(String.format("%s_val", type), - ((FieldReference)accessedMember.accessedMember).getName()); - } - } - } - } -} Binary files Android_6.0.1_r11/external/smali/dexlib2.jar and SAMD_6.0.1_r11_20170930/external/smali/dexlib2.jar differ diff -urN Android_6.0.1_r11/external/smali/.git/config SAMD_6.0.1_r11_20170930/external/smali/.git/config --- Android_6.0.1_r11/external/smali/.git/config 2017-09-26 13:51:21.812304947 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/config 1970-01-01 09:00:00.000000000 +0900 @@ -1,9 +0,0 @@ -[core] - repositoryformatversion = 0 - filemode = true -[filter "lfs"] - smudge = git-lfs smudge --skip -- %f -[remote "aosp"] - url = https://android.googlesource.com/platform/external/smali - projectname = platform/external/smali - fetch = +refs/heads/*:refs/remotes/aosp/* diff -urN Android_6.0.1_r11/external/smali/.git/description SAMD_6.0.1_r11_20170930/external/smali/.git/description --- Android_6.0.1_r11/external/smali/.git/description 2017-09-26 13:51:21.796304947 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/description 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff -urN Android_6.0.1_r11/external/smali/.git/hooks/applypatch-msg.sample SAMD_6.0.1_r11_20170930/external/smali/.git/hooks/applypatch-msg.sample --- Android_6.0.1_r11/external/smali/.git/hooks/applypatch-msg.sample 2017-09-26 13:51:21.796304947 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/hooks/applypatch-msg.sample 1970-01-01 09:00:00.000000000 +0900 @@ -1,15 +0,0 @@ -#!/bin/sh -# -# An example hook script to check the commit log message taken by -# applypatch from an e-mail message. -# -# The hook should exit with non-zero status after issuing an -# appropriate message if it wants to stop the commit. The hook is -# allowed to edit the commit message file. -# -# To enable this hook, rename this file to "applypatch-msg". - -. git-sh-setup -test -x "$GIT_DIR/hooks/commit-msg" && - exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} -: diff -urN Android_6.0.1_r11/external/smali/.git/hooks/commit-msg.sample SAMD_6.0.1_r11_20170930/external/smali/.git/hooks/commit-msg.sample --- Android_6.0.1_r11/external/smali/.git/hooks/commit-msg.sample 2017-09-26 13:51:21.796304947 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/hooks/commit-msg.sample 1970-01-01 09:00:00.000000000 +0900 @@ -1,24 +0,0 @@ -#!/bin/sh -# -# An example hook script to check the commit log message. -# Called by "git commit" with one argument, the name of the file -# that has the commit message. The hook should exit with non-zero -# status after issuing an appropriate message if it wants to stop the -# commit. The hook is allowed to edit the commit message file. -# -# To enable this hook, rename this file to "commit-msg". - -# Uncomment the below to add a Signed-off-by line to the message. -# Doing this in a hook is a bad idea in general, but the prepare-commit-msg -# hook is more suited to it. -# -# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') -# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" - -# This example catches duplicate Signed-off-by lines. - -test "" = "$(grep '^Signed-off-by: ' "$1" | - sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { - echo >&2 Duplicate Signed-off-by lines. - exit 1 -} diff -urN Android_6.0.1_r11/external/smali/.git/hooks/post-update.sample SAMD_6.0.1_r11_20170930/external/smali/.git/hooks/post-update.sample --- Android_6.0.1_r11/external/smali/.git/hooks/post-update.sample 2017-09-26 13:51:21.796304947 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/hooks/post-update.sample 1970-01-01 09:00:00.000000000 +0900 @@ -1,8 +0,0 @@ -#!/bin/sh -# -# An example hook script to prepare a packed repository for use over -# dumb transports. -# -# To enable this hook, rename this file to "post-update". - -exec git update-server-info diff -urN Android_6.0.1_r11/external/smali/.git/hooks/pre-applypatch.sample SAMD_6.0.1_r11_20170930/external/smali/.git/hooks/pre-applypatch.sample --- Android_6.0.1_r11/external/smali/.git/hooks/pre-applypatch.sample 2017-09-26 13:51:21.796304947 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/hooks/pre-applypatch.sample 1970-01-01 09:00:00.000000000 +0900 @@ -1,14 +0,0 @@ -#!/bin/sh -# -# An example hook script to verify what is about to be committed -# by applypatch from an e-mail message. -# -# The hook should exit with non-zero status after issuing an -# appropriate message if it wants to stop the commit. -# -# To enable this hook, rename this file to "pre-applypatch". - -. git-sh-setup -test -x "$GIT_DIR/hooks/pre-commit" && - exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"} -: diff -urN Android_6.0.1_r11/external/smali/.git/hooks/pre-auto-gc SAMD_6.0.1_r11_20170930/external/smali/.git/hooks/pre-auto-gc --- Android_6.0.1_r11/external/smali/.git/hooks/pre-auto-gc 2017-09-26 13:27:09.388766984 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/hooks/pre-auto-gc 1970-01-01 09:00:00.000000000 +0900 @@ -1,49 +0,0 @@ -#!/bin/sh -# -# An example hook script to verify if you are on battery, in case you -# are running Linux or OS X. Called by git-gc --auto with no arguments. -# The hook should exit with non-zero status after issuing an appropriate -# message if it wants to stop the auto repacking. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -if test -x /sbin/on_ac_power && /sbin/on_ac_power -then - exit 0 -elif test "$(cat /sys/class/power_supply/AC/online 2>/dev/null)" = 1 -then - exit 0 -elif grep -q 'on-line' /proc/acpi/ac_adapter/AC/state 2>/dev/null -then - exit 0 -elif grep -q '0x01$' /proc/apm 2>/dev/null -then - exit 0 -elif grep -q "AC Power \+: 1" /proc/pmu/info 2>/dev/null -then - exit 0 -elif test -x /usr/bin/pmset && /usr/bin/pmset -g batt | - grep -q "drawing from 'AC Power'" -then - exit 0 -elif test -d /sys/bus/acpi/drivers/battery && test 0 = \ - "$(find /sys/bus/acpi/drivers/battery/ -type l | wc -l)"; -then - # No battery exists. - exit 0 -fi - -echo "Auto packing deferred; not on AC" -exit 1 diff -urN Android_6.0.1_r11/external/smali/.git/hooks/pre-commit.sample SAMD_6.0.1_r11_20170930/external/smali/.git/hooks/pre-commit.sample --- Android_6.0.1_r11/external/smali/.git/hooks/pre-commit.sample 2017-09-26 13:51:21.796304947 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/hooks/pre-commit.sample 1970-01-01 09:00:00.000000000 +0900 @@ -1,49 +0,0 @@ -#!/bin/sh -# -# An example hook script to verify what is about to be committed. -# Called by "git commit" with no arguments. The hook should -# exit with non-zero status after issuing an appropriate message if -# it wants to stop the commit. -# -# To enable this hook, rename this file to "pre-commit". - -if git rev-parse --verify HEAD >/dev/null 2>&1 -then - against=HEAD -else - # Initial commit: diff against an empty tree object - against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 -fi - -# If you want to allow non-ASCII filenames set this variable to true. -allownonascii=$(git config --bool hooks.allownonascii) - -# Redirect output to stderr. -exec 1>&2 - -# Cross platform projects tend to avoid non-ASCII filenames; prevent -# them from being added to the repository. We exploit the fact that the -# printable range starts at the space character and ends with tilde. -if [ "$allownonascii" != "true" ] && - # Note that the use of brackets around a tr range is ok here, (it's - # even required, for portability to Solaris 10's /usr/bin/tr), since - # the square bracket bytes happen to fall in the designated range. - test $(git diff --cached --name-only --diff-filter=A -z $against | - LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 -then - cat <<\EOF -Error: Attempt to add a non-ASCII file name. - -This can cause problems if you want to work with people on other platforms. - -To be portable it is advisable to rename the file. - -If you know what you are doing you can disable this check using: - - git config hooks.allownonascii true -EOF - exit 1 -fi - -# If there are whitespace errors, print the offending file names and fail. -exec git diff-index --check --cached $against -- diff -urN Android_6.0.1_r11/external/smali/.git/hooks/prepare-commit-msg.sample SAMD_6.0.1_r11_20170930/external/smali/.git/hooks/prepare-commit-msg.sample --- Android_6.0.1_r11/external/smali/.git/hooks/prepare-commit-msg.sample 2017-09-26 13:51:21.796304947 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/hooks/prepare-commit-msg.sample 1970-01-01 09:00:00.000000000 +0900 @@ -1,36 +0,0 @@ -#!/bin/sh -# -# An example hook script to prepare the commit log message. -# Called by "git commit" with the name of the file that has the -# commit message, followed by the description of the commit -# message's source. The hook's purpose is to edit the commit -# message file. If the hook fails with a non-zero status, -# the commit is aborted. -# -# To enable this hook, rename this file to "prepare-commit-msg". - -# This hook includes three examples. The first comments out the -# "Conflicts:" part of a merge commit. -# -# The second includes the output of "git diff --name-status -r" -# into the message, just before the "git status" output. It is -# commented because it doesn't cope with --amend or with squashed -# commits. -# -# The third example adds a Signed-off-by line to the message, that can -# still be edited. This is rarely a good idea. - -case "$2,$3" in - merge,) - /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;; - -# ,|template,) -# /usr/bin/perl -i.bak -pe ' -# print "\n" . `git diff --cached --name-status -r` -# if /^#/ && $first++ == 0' "$1" ;; - - *) ;; -esac - -# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') -# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" diff -urN Android_6.0.1_r11/external/smali/.git/hooks/pre-push.sample SAMD_6.0.1_r11_20170930/external/smali/.git/hooks/pre-push.sample --- Android_6.0.1_r11/external/smali/.git/hooks/pre-push.sample 2017-09-26 13:51:21.796304947 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/hooks/pre-push.sample 1970-01-01 09:00:00.000000000 +0900 @@ -1,54 +0,0 @@ -#!/bin/sh - -# An example hook script to verify what is about to be pushed. Called by "git -# push" after it has checked the remote status, but before anything has been -# pushed. If this script exits with a non-zero status nothing will be pushed. -# -# This hook is called with the following parameters: -# -# $1 -- Name of the remote to which the push is being done -# $2 -- URL to which the push is being done -# -# If pushing without using a named remote those arguments will be equal. -# -# Information about the commits which are being pushed is supplied as lines to -# the standard input in the form: -# -# -# -# This sample shows how to prevent push of commits where the log message starts -# with "WIP" (work in progress). - -remote="$1" -url="$2" - -z40=0000000000000000000000000000000000000000 - -IFS=' ' -while read local_ref local_sha remote_ref remote_sha -do - if [ "$local_sha" = $z40 ] - then - # Handle delete - : - else - if [ "$remote_sha" = $z40 ] - then - # New branch, examine all commits - range="$local_sha" - else - # Update to existing branch, examine new commits - range="$remote_sha..$local_sha" - fi - - # Check for WIP commit - commit=`git rev-list -n 1 --grep '^WIP' "$range"` - if [ -n "$commit" ] - then - echo "Found WIP commit in $local_ref, not pushing" - exit 1 - fi - fi -done - -exit 0 diff -urN Android_6.0.1_r11/external/smali/.git/hooks/pre-rebase.sample SAMD_6.0.1_r11_20170930/external/smali/.git/hooks/pre-rebase.sample --- Android_6.0.1_r11/external/smali/.git/hooks/pre-rebase.sample 2017-09-26 13:51:21.796304947 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/hooks/pre-rebase.sample 1970-01-01 09:00:00.000000000 +0900 @@ -1,169 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2006, 2008 Junio C Hamano -# -# The "pre-rebase" hook is run just before "git rebase" starts doing -# its job, and can prevent the command from running by exiting with -# non-zero status. -# -# The hook is called with the following parameters: -# -# $1 -- the upstream the series was forked from. -# $2 -- the branch being rebased (or empty when rebasing the current branch). -# -# This sample shows how to prevent topic branches that are already -# merged to 'next' branch from getting rebased, because allowing it -# would result in rebasing already published history. - -publish=next -basebranch="$1" -if test "$#" = 2 -then - topic="refs/heads/$2" -else - topic=`git symbolic-ref HEAD` || - exit 0 ;# we do not interrupt rebasing detached HEAD -fi - -case "$topic" in -refs/heads/??/*) - ;; -*) - exit 0 ;# we do not interrupt others. - ;; -esac - -# Now we are dealing with a topic branch being rebased -# on top of master. Is it OK to rebase it? - -# Does the topic really exist? -git show-ref -q "$topic" || { - echo >&2 "No such branch $topic" - exit 1 -} - -# Is topic fully merged to master? -not_in_master=`git rev-list --pretty=oneline ^master "$topic"` -if test -z "$not_in_master" -then - echo >&2 "$topic is fully merged to master; better remove it." - exit 1 ;# we could allow it, but there is no point. -fi - -# Is topic ever merged to next? If so you should not be rebasing it. -only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` -only_next_2=`git rev-list ^master ${publish} | sort` -if test "$only_next_1" = "$only_next_2" -then - not_in_topic=`git rev-list "^$topic" master` - if test -z "$not_in_topic" - then - echo >&2 "$topic is already up-to-date with master" - exit 1 ;# we could allow it, but there is no point. - else - exit 0 - fi -else - not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` - /usr/bin/perl -e ' - my $topic = $ARGV[0]; - my $msg = "* $topic has commits already merged to public branch:\n"; - my (%not_in_next) = map { - /^([0-9a-f]+) /; - ($1 => 1); - } split(/\n/, $ARGV[1]); - for my $elem (map { - /^([0-9a-f]+) (.*)$/; - [$1 => $2]; - } split(/\n/, $ARGV[2])) { - if (!exists $not_in_next{$elem->[0]}) { - if ($msg) { - print STDERR $msg; - undef $msg; - } - print STDERR " $elem->[1]\n"; - } - } - ' "$topic" "$not_in_next" "$not_in_master" - exit 1 -fi - -<<\DOC_END - -This sample hook safeguards topic branches that have been -published from being rewound. - -The workflow assumed here is: - - * Once a topic branch forks from "master", "master" is never - merged into it again (either directly or indirectly). - - * Once a topic branch is fully cooked and merged into "master", - it is deleted. If you need to build on top of it to correct - earlier mistakes, a new topic branch is created by forking at - the tip of the "master". This is not strictly necessary, but - it makes it easier to keep your history simple. - - * Whenever you need to test or publish your changes to topic - branches, merge them into "next" branch. - -The script, being an example, hardcodes the publish branch name -to be "next", but it is trivial to make it configurable via -$GIT_DIR/config mechanism. - -With this workflow, you would want to know: - -(1) ... if a topic branch has ever been merged to "next". Young - topic branches can have stupid mistakes you would rather - clean up before publishing, and things that have not been - merged into other branches can be easily rebased without - affecting other people. But once it is published, you would - not want to rewind it. - -(2) ... if a topic branch has been fully merged to "master". - Then you can delete it. More importantly, you should not - build on top of it -- other people may already want to - change things related to the topic as patches against your - "master", so if you need further changes, it is better to - fork the topic (perhaps with the same name) afresh from the - tip of "master". - -Let's look at this example: - - o---o---o---o---o---o---o---o---o---o "next" - / / / / - / a---a---b A / / - / / / / - / / c---c---c---c B / - / / / \ / - / / / b---b C \ / - / / / / \ / - ---o---o---o---o---o---o---o---o---o---o---o "master" - - -A, B and C are topic branches. - - * A has one fix since it was merged up to "next". - - * B has finished. It has been fully merged up to "master" and "next", - and is ready to be deleted. - - * C has not merged to "next" at all. - -We would want to allow C to be rebased, refuse A, and encourage -B to be deleted. - -To compute (1): - - git rev-list ^master ^topic next - git rev-list ^master next - - if these match, topic has not merged in next at all. - -To compute (2): - - git rev-list master..topic - - if this is empty, it is fully merged to "master". - -DOC_END diff -urN Android_6.0.1_r11/external/smali/.git/hooks/update.sample SAMD_6.0.1_r11_20170930/external/smali/.git/hooks/update.sample --- Android_6.0.1_r11/external/smali/.git/hooks/update.sample 2017-09-26 13:51:21.796304947 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/hooks/update.sample 1970-01-01 09:00:00.000000000 +0900 @@ -1,128 +0,0 @@ -#!/bin/sh -# -# An example hook script to blocks unannotated tags from entering. -# Called by "git receive-pack" with arguments: refname sha1-old sha1-new -# -# To enable this hook, rename this file to "update". -# -# Config -# ------ -# hooks.allowunannotated -# This boolean sets whether unannotated tags will be allowed into the -# repository. By default they won't be. -# hooks.allowdeletetag -# This boolean sets whether deleting tags will be allowed in the -# repository. By default they won't be. -# hooks.allowmodifytag -# This boolean sets whether a tag may be modified after creation. By default -# it won't be. -# hooks.allowdeletebranch -# This boolean sets whether deleting branches will be allowed in the -# repository. By default they won't be. -# hooks.denycreatebranch -# This boolean sets whether remotely creating branches will be denied -# in the repository. By default this is allowed. -# - -# --- Command line -refname="$1" -oldrev="$2" -newrev="$3" - -# --- Safety check -if [ -z "$GIT_DIR" ]; then - echo "Don't run this script from the command line." >&2 - echo " (if you want, you could supply GIT_DIR then run" >&2 - echo " $0 )" >&2 - exit 1 -fi - -if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then - echo "usage: $0 " >&2 - exit 1 -fi - -# --- Config -allowunannotated=$(git config --bool hooks.allowunannotated) -allowdeletebranch=$(git config --bool hooks.allowdeletebranch) -denycreatebranch=$(git config --bool hooks.denycreatebranch) -allowdeletetag=$(git config --bool hooks.allowdeletetag) -allowmodifytag=$(git config --bool hooks.allowmodifytag) - -# check for no description -projectdesc=$(sed -e '1q' "$GIT_DIR/description") -case "$projectdesc" in -"Unnamed repository"* | "") - echo "*** Project description file hasn't been set" >&2 - exit 1 - ;; -esac - -# --- Check types -# if $newrev is 0000...0000, it's a commit to delete a ref. -zero="0000000000000000000000000000000000000000" -if [ "$newrev" = "$zero" ]; then - newrev_type=delete -else - newrev_type=$(git cat-file -t $newrev) -fi - -case "$refname","$newrev_type" in - refs/tags/*,commit) - # un-annotated tag - short_refname=${refname##refs/tags/} - if [ "$allowunannotated" != "true" ]; then - echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 - echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 - exit 1 - fi - ;; - refs/tags/*,delete) - # delete tag - if [ "$allowdeletetag" != "true" ]; then - echo "*** Deleting a tag is not allowed in this repository" >&2 - exit 1 - fi - ;; - refs/tags/*,tag) - # annotated tag - if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 - then - echo "*** Tag '$refname' already exists." >&2 - echo "*** Modifying a tag is not allowed in this repository." >&2 - exit 1 - fi - ;; - refs/heads/*,commit) - # branch - if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then - echo "*** Creating a branch is not allowed in this repository" >&2 - exit 1 - fi - ;; - refs/heads/*,delete) - # delete branch - if [ "$allowdeletebranch" != "true" ]; then - echo "*** Deleting a branch is not allowed in this repository" >&2 - exit 1 - fi - ;; - refs/remotes/*,commit) - # tracking branch - ;; - refs/remotes/*,delete) - # delete tracking branch - if [ "$allowdeletebranch" != "true" ]; then - echo "*** Deleting a tracking branch is not allowed in this repository" >&2 - exit 1 - fi - ;; - *) - # Anything else (is there anything else?) - echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 - exit 1 - ;; -esac - -# --- Finished -exit 0 Binary files Android_6.0.1_r11/external/smali/.git/index and SAMD_6.0.1_r11_20170930/external/smali/.git/index differ diff -urN Android_6.0.1_r11/external/smali/.git/info/exclude SAMD_6.0.1_r11_20170930/external/smali/.git/info/exclude --- Android_6.0.1_r11/external/smali/.git/info/exclude 2017-09-26 13:51:21.796304947 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/info/exclude 1970-01-01 09:00:00.000000000 +0900 @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/idea133 SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/idea133 --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/idea133 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/idea133 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 f3d921d1f8eb52f20440a0e43f604a7aae972e94 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/idea133-weekly-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/idea133-weekly-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/idea133-weekly-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/idea133-weekly-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 5fd395796e215a80c722815bf180728948868f18 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-dev SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-dev --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 28333561005524c15818b98c7f8f07409451ff30 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr0-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr0-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr0-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr0-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 28333561005524c15818b98c7f8f07409451ff30 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr1.1-dev SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr1.1-dev --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr1.1-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr1.1-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 28333561005524c15818b98c7f8f07409451ff30 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr1.1-dev-plus-aosp SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr1.1-dev-plus-aosp --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr1.1-dev-plus-aosp 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr1.1-dev-plus-aosp 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 28333561005524c15818b98c7f8f07409451ff30 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr1.1-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr1.1-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr1.1-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr1.1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 28333561005524c15818b98c7f8f07409451ff30 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr1-dev SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr1-dev --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr1-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr1-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 28333561005524c15818b98c7f8f07409451ff30 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr1-dev-plus-aosp SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr1-dev-plus-aosp --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr1-dev-plus-aosp 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr1-dev-plus-aosp 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 28333561005524c15818b98c7f8f07409451ff30 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr1-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr1-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr1-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 28333561005524c15818b98c7f8f07409451ff30 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr2.0.0-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr2.0.0-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr2.0.0-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr2.0.0-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 f3d921d1f8eb52f20440a0e43f604a7aae972e94 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr2.0-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr2.0-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr2.0-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr2.0-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 f3d921d1f8eb52f20440a0e43f604a7aae972e94 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr2-dev SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr2-dev --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr2-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr2-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 f3d921d1f8eb52f20440a0e43f604a7aae972e94 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr2-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr2-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-mr2-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-mr2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 f3d921d1f8eb52f20440a0e43f604a7aae972e94 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/jb-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/jb-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 28333561005524c15818b98c7f8f07409451ff30 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/kitkat-cts-dev SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/kitkat-cts-dev --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/kitkat-cts-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/kitkat-cts-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 f3d921d1f8eb52f20440a0e43f604a7aae972e94 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/kitkat-cts-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/kitkat-cts-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/kitkat-cts-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/kitkat-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 f3d921d1f8eb52f20440a0e43f604a7aae972e94 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/kitkat-dev SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/kitkat-dev --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/kitkat-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/kitkat-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 f3d921d1f8eb52f20440a0e43f604a7aae972e94 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/kitkat-mr1.1-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/kitkat-mr1.1-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/kitkat-mr1.1-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/kitkat-mr1.1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 f3d921d1f8eb52f20440a0e43f604a7aae972e94 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/kitkat-mr1-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/kitkat-mr1-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/kitkat-mr1-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/kitkat-mr1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 f3d921d1f8eb52f20440a0e43f604a7aae972e94 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/kitkat-mr2.1-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/kitkat-mr2.1-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/kitkat-mr2.1-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/kitkat-mr2.1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 f3d921d1f8eb52f20440a0e43f604a7aae972e94 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/kitkat-mr2.2-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/kitkat-mr2.2-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/kitkat-mr2.2-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/kitkat-mr2.2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 f3d921d1f8eb52f20440a0e43f604a7aae972e94 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/kitkat-mr2-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/kitkat-mr2-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/kitkat-mr2-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/kitkat-mr2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 f3d921d1f8eb52f20440a0e43f604a7aae972e94 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/kitkat-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/kitkat-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/kitkat-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/kitkat-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 f3d921d1f8eb52f20440a0e43f604a7aae972e94 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/kitkat-wear SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/kitkat-wear --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/kitkat-wear 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/kitkat-wear 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 f3d921d1f8eb52f20440a0e43f604a7aae972e94 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/lollipop-cts-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/lollipop-cts-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/lollipop-cts-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/lollipop-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 5fd395796e215a80c722815bf180728948868f18 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/lollipop-dev SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/lollipop-dev --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/lollipop-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/lollipop-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 5fd395796e215a80c722815bf180728948868f18 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/lollipop-mr1-cts-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/lollipop-mr1-cts-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/lollipop-mr1-cts-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/lollipop-mr1-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 5fd395796e215a80c722815bf180728948868f18 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/lollipop-mr1-dev SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/lollipop-mr1-dev --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/lollipop-mr1-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/lollipop-mr1-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 5fd395796e215a80c722815bf180728948868f18 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/lollipop-mr1-fi-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/lollipop-mr1-fi-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/lollipop-mr1-fi-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/lollipop-mr1-fi-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 5fd395796e215a80c722815bf180728948868f18 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/lollipop-mr1-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/lollipop-mr1-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/lollipop-mr1-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/lollipop-mr1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 5fd395796e215a80c722815bf180728948868f18 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/lollipop-mr1-wfc-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/lollipop-mr1-wfc-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/lollipop-mr1-wfc-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/lollipop-mr1-wfc-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 5fd395796e215a80c722815bf180728948868f18 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/lollipop-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/lollipop-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/lollipop-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/lollipop-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 5fd395796e215a80c722815bf180728948868f18 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/lollipop-wear-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/lollipop-wear-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/lollipop-wear-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/lollipop-wear-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 5fd395796e215a80c722815bf180728948868f18 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/l-preview SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/l-preview --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/l-preview 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/l-preview 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 5fd395796e215a80c722815bf180728948868f18 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-cts-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-cts-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-cts-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 15284127c9ed241f1de20fdd8cdb24cb12cd2119 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dev SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dev --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 15284127c9ed241f1de20fdd8cdb24cb12cd2119 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr1.5-dev SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr1.5-dev --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr1.5-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr1.5-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 15284127c9ed241f1de20fdd8cdb24cb12cd2119 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr1.5-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr1.5-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr1.5-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr1.5-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 15284127c9ed241f1de20fdd8cdb24cb12cd2119 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr1.6-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr1.6-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr1.6-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr1.6-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 15284127c9ed241f1de20fdd8cdb24cb12cd2119 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr-dev SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr-dev --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 15284127c9ed241f1de20fdd8cdb24cb12cd2119 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr-dragon-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr-dragon-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr-dragon-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr-dragon-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 15284127c9ed241f1de20fdd8cdb24cb12cd2119 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-dr-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 15284127c9ed241f1de20fdd8cdb24cb12cd2119 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-mr1-dev SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-mr1-dev --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-mr1-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-mr1-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 15284127c9ed241f1de20fdd8cdb24cb12cd2119 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-mr1-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-mr1-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-mr1-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-mr1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 15284127c9ed241f1de20fdd8cdb24cb12cd2119 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-mr2-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-mr2-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-mr2-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-mr2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 15284127c9ed241f1de20fdd8cdb24cb12cd2119 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-mr3-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-mr3-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-mr3-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-mr3-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 15284127c9ed241f1de20fdd8cdb24cb12cd2119 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/marshmallow-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/marshmallow-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 15284127c9ed241f1de20fdd8cdb24cb12cd2119 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/master SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/master --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/master 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/master 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 a0f3b5890f2775f40456cf9514124285607acd59 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/master-soong SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/master-soong --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/master-soong 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/master-soong 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 15284127c9ed241f1de20fdd8cdb24cb12cd2119 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/n-iot-preview-2 SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/n-iot-preview-2 --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/n-iot-preview-2 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/n-iot-preview-2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 fa155ab9a0bc426464a4800f667e5542803217ce hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/n-iot-preview-4 SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/n-iot-preview-4 --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/n-iot-preview-4 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/n-iot-preview-4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 78cf98bb8c439f99f06f7b609c5c533a9d41de68 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-cts-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-cts-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-cts-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-dev SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-dev --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-dr1-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-dr1-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-dr1-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-dr1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr0.5-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr0.5-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr0.5-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr0.5-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.1-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.1-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.1-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.2-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.2-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.2-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.3-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.3-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.3-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.3-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.4-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.4-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.4-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.4-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.5-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.5-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.5-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.5-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.6-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.6-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.6-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.6-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.7-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.7-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.7-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1.7-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-cts-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-cts-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-cts-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-dev SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-dev --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-flounder-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-flounder-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-flounder-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-flounder-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-volantis-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-volantis-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-volantis-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-volantis-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-wear-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-wear-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-wear-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr1-wear-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 fa155ab9a0bc426464a4800f667e5542803217ce hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2.1-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2.1-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2.1-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2.1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2.2-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2.2-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2.2-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2.2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2.3-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2.3-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2.3-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2.3-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2-dev SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2-dev --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2-dev 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2-pixel-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2-pixel-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2-pixel-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2-pixel-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-mr2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/nougat-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/nougat-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 edc88aff44ff80f969df61725a992680cd0c464c hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/o-iot-preview-5 SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/o-iot-preview-5 --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/o-iot-preview-5 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/o-iot-preview-5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 78cf98bb8c439f99f06f7b609c5c533a9d41de68 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/o-preview SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/o-preview --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/o-preview 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/o-preview 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 5db2e2633acadd2aae167693a79af88f8cef6245 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/oreo-cts-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/oreo-cts-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/oreo-cts-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/oreo-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 2f57904b105e49636d7bc6274750fce490f84971 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/oreo-dev SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/oreo-dev --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/oreo-dev 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/oreo-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 2f57904b105e49636d7bc6274750fce490f84971 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/oreo-r3-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/oreo-r3-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/oreo-r3-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/oreo-r3-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 2f57904b105e49636d7bc6274750fce490f84971 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/oreo-r4-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/oreo-r4-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/oreo-r4-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/oreo-r4-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 2f57904b105e49636d7bc6274750fce490f84971 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/oreo-r6-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/oreo-r6-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/oreo-r6-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/oreo-r6-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 2f57904b105e49636d7bc6274750fce490f84971 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/oreo-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/oreo-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/oreo-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/oreo-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 2f57904b105e49636d7bc6274750fce490f84971 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/sdk-release SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/sdk-release --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/sdk-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/sdk-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 5db2e2633acadd2aae167693a79af88f8cef6245 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/studio-master-dev SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/studio-master-dev --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/studio-master-dev 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/studio-master-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 b5d55eaf9b8f6f7bff244509534994413cbe8dde hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/tools_r21 SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/tools_r21 --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/tools_r21 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/tools_r21 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 28333561005524c15818b98c7f8f07409451ff30 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/tools_r22 SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/tools_r22 --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/tools_r22 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/tools_r22 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 28333561005524c15818b98c7f8f07409451ff30 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/tools_r22.2 SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/tools_r22.2 --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/tools_r22.2 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/tools_r22.2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 f3d921d1f8eb52f20440a0e43f604a7aae972e94 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/upstream-master SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/upstream-master --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/aosp/upstream-master 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/aosp/upstream-master 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 b84345935a5ab15340dbca045a0af39c1f5a6124 hochul 1506401494 +0900 fetch --progress /home/jake/Android_6.0.1_r11/.repo/projects/external/smali.git/clone.bundle +refs/heads/*:refs/remotes/aosp/* refs/tags/*:refs/tags/*: storing head diff -urN Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/m/android-6.0.1_r11 SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/m/android-6.0.1_r11 --- Android_6.0.1_r11/external/smali/.git/logs/refs/remotes/m/android-6.0.1_r11 2017-09-26 13:51:36.076304763 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/logs/refs/remotes/m/android-6.0.1_r11 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 e3519c905d38bb61211c1254b0feb5d5913cf133 Hochul Lee 1506401496 +0900 manifest set to refs/tags/android-6.0.1_r11 Binary files Android_6.0.1_r11/external/smali/.git/objects/pack/pack-b34aff46691dc4e35e16c680bb434f8bb35fa141.idx and SAMD_6.0.1_r11_20170930/external/smali/.git/objects/pack/pack-b34aff46691dc4e35e16c680bb434f8bb35fa141.idx differ Binary files Android_6.0.1_r11/external/smali/.git/objects/pack/pack-b34aff46691dc4e35e16c680bb434f8bb35fa141.pack and SAMD_6.0.1_r11_20170930/external/smali/.git/objects/pack/pack-b34aff46691dc4e35e16c680bb434f8bb35fa141.pack differ diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/idea133 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/idea133 --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/idea133 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/idea133 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f3d921d1f8eb52f20440a0e43f604a7aae972e94 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/idea133-weekly-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/idea133-weekly-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/idea133-weekly-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/idea133-weekly-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5fd395796e215a80c722815bf180728948868f18 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-dev SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-dev --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -28333561005524c15818b98c7f8f07409451ff30 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr0-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr0-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr0-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr0-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -28333561005524c15818b98c7f8f07409451ff30 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr1.1-dev SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr1.1-dev --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr1.1-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr1.1-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -28333561005524c15818b98c7f8f07409451ff30 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr1.1-dev-plus-aosp SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr1.1-dev-plus-aosp --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr1.1-dev-plus-aosp 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr1.1-dev-plus-aosp 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -28333561005524c15818b98c7f8f07409451ff30 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr1.1-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr1.1-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr1.1-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr1.1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -28333561005524c15818b98c7f8f07409451ff30 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr1-dev SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr1-dev --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr1-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr1-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -28333561005524c15818b98c7f8f07409451ff30 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr1-dev-plus-aosp SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr1-dev-plus-aosp --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr1-dev-plus-aosp 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr1-dev-plus-aosp 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -28333561005524c15818b98c7f8f07409451ff30 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr1-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr1-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr1-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -28333561005524c15818b98c7f8f07409451ff30 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr2.0.0-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr2.0.0-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr2.0.0-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr2.0.0-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f3d921d1f8eb52f20440a0e43f604a7aae972e94 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr2.0-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr2.0-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr2.0-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr2.0-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f3d921d1f8eb52f20440a0e43f604a7aae972e94 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr2-dev SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr2-dev --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr2-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr2-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f3d921d1f8eb52f20440a0e43f604a7aae972e94 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr2-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr2-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-mr2-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-mr2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f3d921d1f8eb52f20440a0e43f604a7aae972e94 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/jb-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/jb-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -28333561005524c15818b98c7f8f07409451ff30 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/kitkat-cts-dev SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/kitkat-cts-dev --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/kitkat-cts-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/kitkat-cts-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f3d921d1f8eb52f20440a0e43f604a7aae972e94 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/kitkat-cts-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/kitkat-cts-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/kitkat-cts-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/kitkat-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f3d921d1f8eb52f20440a0e43f604a7aae972e94 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/kitkat-dev SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/kitkat-dev --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/kitkat-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/kitkat-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f3d921d1f8eb52f20440a0e43f604a7aae972e94 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/kitkat-mr1.1-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/kitkat-mr1.1-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/kitkat-mr1.1-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/kitkat-mr1.1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f3d921d1f8eb52f20440a0e43f604a7aae972e94 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/kitkat-mr1-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/kitkat-mr1-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/kitkat-mr1-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/kitkat-mr1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f3d921d1f8eb52f20440a0e43f604a7aae972e94 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/kitkat-mr2.1-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/kitkat-mr2.1-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/kitkat-mr2.1-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/kitkat-mr2.1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f3d921d1f8eb52f20440a0e43f604a7aae972e94 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/kitkat-mr2.2-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/kitkat-mr2.2-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/kitkat-mr2.2-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/kitkat-mr2.2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f3d921d1f8eb52f20440a0e43f604a7aae972e94 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/kitkat-mr2-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/kitkat-mr2-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/kitkat-mr2-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/kitkat-mr2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f3d921d1f8eb52f20440a0e43f604a7aae972e94 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/kitkat-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/kitkat-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/kitkat-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/kitkat-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f3d921d1f8eb52f20440a0e43f604a7aae972e94 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/kitkat-wear SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/kitkat-wear --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/kitkat-wear 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/kitkat-wear 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f3d921d1f8eb52f20440a0e43f604a7aae972e94 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/lollipop-cts-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/lollipop-cts-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/lollipop-cts-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/lollipop-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5fd395796e215a80c722815bf180728948868f18 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/lollipop-dev SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/lollipop-dev --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/lollipop-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/lollipop-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5fd395796e215a80c722815bf180728948868f18 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/lollipop-mr1-cts-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/lollipop-mr1-cts-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/lollipop-mr1-cts-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/lollipop-mr1-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5fd395796e215a80c722815bf180728948868f18 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/lollipop-mr1-dev SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/lollipop-mr1-dev --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/lollipop-mr1-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/lollipop-mr1-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5fd395796e215a80c722815bf180728948868f18 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/lollipop-mr1-fi-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/lollipop-mr1-fi-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/lollipop-mr1-fi-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/lollipop-mr1-fi-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5fd395796e215a80c722815bf180728948868f18 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/lollipop-mr1-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/lollipop-mr1-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/lollipop-mr1-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/lollipop-mr1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5fd395796e215a80c722815bf180728948868f18 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/lollipop-mr1-wfc-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/lollipop-mr1-wfc-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/lollipop-mr1-wfc-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/lollipop-mr1-wfc-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5fd395796e215a80c722815bf180728948868f18 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/lollipop-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/lollipop-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/lollipop-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/lollipop-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5fd395796e215a80c722815bf180728948868f18 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/lollipop-wear-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/lollipop-wear-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/lollipop-wear-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/lollipop-wear-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5fd395796e215a80c722815bf180728948868f18 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/l-preview SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/l-preview --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/l-preview 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/l-preview 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5fd395796e215a80c722815bf180728948868f18 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-cts-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-cts-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-cts-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -15284127c9ed241f1de20fdd8cdb24cb12cd2119 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-dev SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-dev --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -15284127c9ed241f1de20fdd8cdb24cb12cd2119 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-dr1.5-dev SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-dr1.5-dev --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-dr1.5-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-dr1.5-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -15284127c9ed241f1de20fdd8cdb24cb12cd2119 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-dr1.5-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-dr1.5-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-dr1.5-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-dr1.5-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -15284127c9ed241f1de20fdd8cdb24cb12cd2119 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-dr1.6-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-dr1.6-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-dr1.6-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-dr1.6-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -15284127c9ed241f1de20fdd8cdb24cb12cd2119 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-dr-dev SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-dr-dev --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-dr-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-dr-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -15284127c9ed241f1de20fdd8cdb24cb12cd2119 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-dr-dragon-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-dr-dragon-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-dr-dragon-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-dr-dragon-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -15284127c9ed241f1de20fdd8cdb24cb12cd2119 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-dr-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-dr-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-dr-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-dr-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -15284127c9ed241f1de20fdd8cdb24cb12cd2119 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-mr1-dev SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-mr1-dev --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-mr1-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-mr1-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -15284127c9ed241f1de20fdd8cdb24cb12cd2119 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-mr1-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-mr1-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-mr1-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-mr1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -15284127c9ed241f1de20fdd8cdb24cb12cd2119 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-mr2-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-mr2-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-mr2-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-mr2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -15284127c9ed241f1de20fdd8cdb24cb12cd2119 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-mr3-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-mr3-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-mr3-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-mr3-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -15284127c9ed241f1de20fdd8cdb24cb12cd2119 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/marshmallow-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/marshmallow-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -15284127c9ed241f1de20fdd8cdb24cb12cd2119 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/master SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/master --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/master 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/master 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -a0f3b5890f2775f40456cf9514124285607acd59 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/master-soong SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/master-soong --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/master-soong 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/master-soong 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -15284127c9ed241f1de20fdd8cdb24cb12cd2119 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/n-iot-preview-2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/n-iot-preview-2 --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/n-iot-preview-2 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/n-iot-preview-2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -fa155ab9a0bc426464a4800f667e5542803217ce diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/n-iot-preview-4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/n-iot-preview-4 --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/n-iot-preview-4 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/n-iot-preview-4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -78cf98bb8c439f99f06f7b609c5c533a9d41de68 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-cts-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-cts-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-cts-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-dev SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-dev --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-dr1-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-dr1-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-dr1-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-dr1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr0.5-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr0.5-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr0.5-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr0.5-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1.1-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1.1-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1.1-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1.1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1.2-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1.2-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1.2-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1.2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1.3-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1.3-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1.3-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1.3-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1.4-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1.4-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1.4-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1.4-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1.5-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1.5-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1.5-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1.5-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1.6-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1.6-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1.6-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1.6-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1.7-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1.7-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1.7-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1.7-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1-cts-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1-cts-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1-cts-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1-dev SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1-dev --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1-dev 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1-flounder-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1-flounder-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1-flounder-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1-flounder-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1-volantis-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1-volantis-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1-volantis-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1-volantis-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1-wear-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1-wear-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr1-wear-release 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr1-wear-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -fa155ab9a0bc426464a4800f667e5542803217ce diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr2.1-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr2.1-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr2.1-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr2.1-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr2.2-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr2.2-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr2.2-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr2.2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr2.3-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr2.3-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr2.3-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr2.3-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr2-dev SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr2-dev --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr2-dev 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr2-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr2-pixel-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr2-pixel-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr2-pixel-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr2-pixel-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr2-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr2-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-mr2-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-mr2-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/nougat-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/nougat-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edc88aff44ff80f969df61725a992680cd0c464c diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/o-iot-preview-5 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/o-iot-preview-5 --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/o-iot-preview-5 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/o-iot-preview-5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -78cf98bb8c439f99f06f7b609c5c533a9d41de68 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/o-preview SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/o-preview --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/o-preview 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/o-preview 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5db2e2633acadd2aae167693a79af88f8cef6245 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/oreo-cts-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/oreo-cts-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/oreo-cts-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/oreo-cts-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2f57904b105e49636d7bc6274750fce490f84971 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/oreo-dev SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/oreo-dev --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/oreo-dev 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/oreo-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2f57904b105e49636d7bc6274750fce490f84971 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/oreo-r3-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/oreo-r3-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/oreo-r3-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/oreo-r3-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2f57904b105e49636d7bc6274750fce490f84971 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/oreo-r4-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/oreo-r4-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/oreo-r4-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/oreo-r4-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2f57904b105e49636d7bc6274750fce490f84971 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/oreo-r6-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/oreo-r6-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/oreo-r6-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/oreo-r6-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2f57904b105e49636d7bc6274750fce490f84971 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/oreo-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/oreo-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/oreo-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/oreo-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2f57904b105e49636d7bc6274750fce490f84971 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/sdk-release SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/sdk-release --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/sdk-release 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/sdk-release 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5db2e2633acadd2aae167693a79af88f8cef6245 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/studio-master-dev SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/studio-master-dev --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/studio-master-dev 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/studio-master-dev 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b5d55eaf9b8f6f7bff244509534994413cbe8dde diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/tools_r21 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/tools_r21 --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/tools_r21 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/tools_r21 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -28333561005524c15818b98c7f8f07409451ff30 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/tools_r22 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/tools_r22 --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/tools_r22 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/tools_r22 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -28333561005524c15818b98c7f8f07409451ff30 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/tools_r22.2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/tools_r22.2 --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/tools_r22.2 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/tools_r22.2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f3d921d1f8eb52f20440a0e43f604a7aae972e94 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/upstream-master SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/upstream-master --- Android_6.0.1_r11/external/smali/.git/refs/remotes/aosp/upstream-master 2017-09-26 13:51:34.792304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/aosp/upstream-master 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b84345935a5ab15340dbca045a0af39c1f5a6124 diff -urN Android_6.0.1_r11/external/smali/.git/refs/remotes/m/android-6.0.1_r11 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/m/android-6.0.1_r11 --- Android_6.0.1_r11/external/smali/.git/refs/remotes/m/android-6.0.1_r11 2017-09-26 13:51:36.076304763 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/remotes/m/android-6.0.1_r11 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ref: refs/tags/android-6.0.1_r11 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.1_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.1_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.1_r1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -3e40345a5a9f36c79f4760e9df43864b42b28238 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.1_r1.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.1_r1.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.1_r1.1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.1_r1.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -410963ca2acb5453190a09bed8d770342e527308 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.1_r2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.1_r2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.1_r2 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.1_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -1433613a7e67fec3dfffc6efb62cd8fdedcbced5 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.1_r3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.1_r3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.1_r3 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.1_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5f6f7d15a7ba59e6171978ccf47d88770f353119 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.1_r4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.1_r4 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.1_r4 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.1_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f83fb3f4bd610b0ae0f2de0616a520af30759e96 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.1_r5 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.1_r5 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.1_r5 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.1_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -52854f9fac5e51d67c710c0b584fb4b05ba7885b diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.1_r6 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.1_r6 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.1_r6 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.1_r6 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -438d9fa6166dbdc73d514ee727aeadc7458b0290 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.1_r6.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.1_r6.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.1_r6.1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.1_r6.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -dd2dd856ac33139274860f3e14dcc6dc16c96067 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.2_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.2_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.2_r1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.2_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -48762cad5227426b950500327586b89f20d218cc diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.2_r2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.2_r2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.2_r2 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.2_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ee5b6465f25baaaa44c29d587d416c18e5dcdd6e diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.2_r2.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.2_r2.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.1.2_r2.1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.1.2_r2.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -cba35d3ddc2a70972ac1bf38b0d7961f0e7ff4cf diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.2.1_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.2.1_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.2.1_r1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.2.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -dbb37ca68b7a19089ce2b835b26e2caa06e7b3fa diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.2.1_r1.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.2.1_r1.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.2.1_r1.1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.2.1_r1.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -211875f4cd46ddb04f74fc8b6a0de353931c5872 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.2.1_r1.2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.2.1_r1.2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.2.1_r1.2 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.2.1_r1.2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -48ecf07e11b91c485ae7beed28f68e9505399f34 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.2.2_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.2.2_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.2.2_r1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.2.2_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -acc942c66f446ca95b1967b0ed9f3a15dd1c328d diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.2.2_r1.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.2.2_r1.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.2.2_r1.1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.2.2_r1.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0c3db9843ee0710665d5f88ab0f8449f3af623f4 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.2.2_r1.2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.2.2_r1.2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.2.2_r1.2 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.2.2_r1.2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8bb5a4ff3bb67d3d8d8fee0f995105d3cd5bf11a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.2_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.2_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.2_r1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.2_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -bb2c76f96c371b2612fed36c7148509515c9a95e diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3.1_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3.1_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3.1_r1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -75feb7933ad233bff6e9235f564bc76fea8691c7 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3_r0.9 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3_r0.9 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3_r0.9 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3_r0.9 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -a9206b7ae5237efc239cf1790ee4ec95b91b4c80 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3_r0.9.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3_r0.9.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3_r0.9.1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3_r0.9.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5e8793e11fd735c5282208e3442398eec9b1d5d1 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3_r1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -6cb8a2d038a73578d496f8ab47ec67ab3a0324ee diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3_r1.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3_r1.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3_r1.1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3_r1.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ff00b9127fd9ab4de0a0128ae1ce987039b5d00d diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3_r2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3_r2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3_r2 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -6b4f80c40d22ed499fced4b0c71de8ad854bcdbd diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3_r2.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3_r2.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3_r2.1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3_r2.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d5b3e1888bc112771403539b102647312da365a2 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3_r2.2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3_r2.2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3_r2.2 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3_r2.2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -81fbe325b1cd3b8e3cb3ac792257c05488e2f19a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3_r2.3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3_r2.3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3_r2.3 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3_r2.3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d00334c07d9f2e541849d9f7f14b8e14fbd30773 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3_r3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3_r3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3_r3 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c089b3b00183cd0225df6a93f355e5afa38088d7 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3_r3.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3_r3.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.3_r3.1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.3_r3.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -bb046f9d98b2321995faf9ac57c1f1602690124f diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.1_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.1_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.1_r1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f0fd744beea72ba21a57190bf555592ada29154a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.1_r1.0.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.1_r1.0.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.1_r1.0.1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.1_r1.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -53640dc52c238d35744a505a3fb44307a9f2c91f diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.2_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.2_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.2_r1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.2_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -aa8a305054bb2e22aa0ea206ce6930e18c866abe diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.2_r1.0.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.2_r1.0.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.2_r1.0.1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.2_r1.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -dc350a9950cc340ce1593a56d327e77e2a439a83 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.2_r2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.2_r2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.2_r2 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.2_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -dfc25d7cdd74a7da81ca60a3ad132009c7d88d91 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.2_r2.0.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.2_r2.0.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.2_r2.0.1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.2_r2.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -7f0b0578ce29fa3644df82fc76e8c80507a80f68 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.3_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.3_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.3_r1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.3_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -acac704eb9f32c551f0dbca7220ab7bf2ca65722 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.3_r1.0.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.3_r1.0.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.3_r1.0.1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.3_r1.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -3f3a7fabbb356314e14576c9b4302503d9d3f518 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.3_r1.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.3_r1.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.3_r1.1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.3_r1.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -50201a2f6f47ad2d98455a74df5fa880692d06d5 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.3_r1.1.0.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.3_r1.1.0.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.3_r1.1.0.1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.3_r1.1.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e35793efae8715ace964c7a35cba77bb34bd694c diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.4_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.4_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.4_r1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.4_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -094afbb3d3894ff594ff989dd457b50d151f2dfb diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.4_r1.0.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.4_r1.0.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.4_r1.0.1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.4_r1.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -523a9e156177a97e497956795bc8f75c1cf8561e diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.4_r2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.4_r2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.4_r2 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.4_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -128fe0fda7dbf4704bc8b21057ae5a02ffa21ef0 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.4_r2.0.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.4_r2.0.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4.4_r2.0.1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4.4_r2.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -44d84fb68facb45c2bef01a94909d57719d06568 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4_r0.7 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4_r0.7 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4_r0.7 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4_r0.7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -3b7da64c11d421cafa44eba75e82cda0f942b927 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4_r0.8 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4_r0.8 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4_r0.8 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4_r0.8 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -acb061221cd1fcb0eb518cc16368200a7cccef8e diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4_r0.9 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4_r0.9 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4_r0.9 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4_r0.9 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -6b31edb7f7a3d17700e93f15410ad977ab3d49b0 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4_r1 2017-09-26 13:51:34.820304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -83beffbf88dbcd49b9fea0f70c4d2e7bcc65416c diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4_r1.0.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4_r1.0.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4_r1.0.1 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4_r1.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -66182b428505ff3f5c9d243def66a4eb918520a7 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4_r1.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4_r1.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4_r1.1 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4_r1.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d4351ca44c852ace7a3656fcb79123a7976b91bc diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4_r1.1.0.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4_r1.1.0.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4_r1.1.0.1 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4_r1.1.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b37ad18cc1674dcd74a2fc68508bb7bfba79f051 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4_r1.2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4_r1.2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4_r1.2 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4_r1.2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e36b14acbdfaf5c386b9c999a96310aaa9ccfab9 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4_r1.2.0.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4_r1.2.0.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4_r1.2.0.1 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4_r1.2.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -16aea36a5a68e1db266b075b3febef0ba349af40 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4w_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4w_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-4.4w_r1 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-4.4w_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9f374d82c1f5e6b65c5a1c164d033b3da537001b diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.0_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.0_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.0_r1 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.0_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d4be466066e5630141a35d09af463dd67cad3c08 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.0_r2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.0_r2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.0_r2 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.0_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -80250c317119d7aefdbecc9254c650858cea43e3 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.0_r3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.0_r3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.0_r3 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.0_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4eee0b8924b0cd1e12f27a8ede67d4a6de676eeb diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.0_r4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.0_r4 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.0_r4 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.0_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -374f979fe593d5f9ff901bb967c06795922e22ba diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.0_r5 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.0_r5 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.0_r5 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.0_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -aa9eecb2a2995802bdbcbde8b1b306e2e71fccde diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.0_r5.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.0_r5.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.0_r5.1 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.0_r5.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5c91026754d9698d46a93a7435f41c9abd0ac36e diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.0_r6 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.0_r6 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.0_r6 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.0_r6 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0dfea340fe063644448c4d3efc4cf32e3c0709a6 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.0_r7 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.0_r7 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.0_r7 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.0_r7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -85bc5159e8ae5a7a5fda237e6c69b00563c3f7cc diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.1_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.1_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.1_r1 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0e4e4c9a111dd1456af4c08a84c6f2873cf98619 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.2_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.2_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.2_r1 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.2_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d6365a9cba3472911427cfdbd2f841c95c20ae84 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.2_r3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.2_r3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.0.2_r3 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.0.2_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -54fdcbf9a1a4ca3bb0894fa22b50adc10648a8a9 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.0_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.0_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.0_r1 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.0_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d9522862efc7a45800653d0f5333c75dc64b1348 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.0_r3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.0_r3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.0_r3 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.0_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e0018e24c642eca8935cf1a16f728cf58ee9a72e diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.0_r4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.0_r4 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.0_r4 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.0_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -7b1ecb9063e8cf169691070751f565ce8d479e59 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.0_r5 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.0_r5 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.0_r5 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.0_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f878b3789d46518b7391bdc7224d413a688ccf88 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r1 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c326541b0f1abaa95e6b211cf8b7c841912ad3ad diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r10 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r10 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r10 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r10 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9f7bcc7f8789d10cc061b19bc30cd973caea809c diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r12 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r12 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r12 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r12 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0663cc13b353bf8269f811b7db1eb2371096705a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r13 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r13 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r13 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r13 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -463235fa63b39d5364e6d157df08fbc32defef1f diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r14 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r14 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r14 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r14 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -fe681e36e09a941861306909fe2e2a4bafdedec7 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r15 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r15 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r15 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r15 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c534c94b8abf2ed030c5110c09e86604857f1a51 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r16 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r16 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r16 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r16 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -25192cb6f2c4e86966365547133b5fcec48ad5d9 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r17 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r17 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r17 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r17 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -394f9b1a60868713c28f8ef5e071fed3531978dd diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r18 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r18 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r18 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r18 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d2f3eed78f96f6261f80f254e036cc2c084f16c4 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r19 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r19 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r19 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r19 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -736f715b988b4fe2f0f47bdacf869fa77452ce97 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r2 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e57ae7d663e9c2c84bd3495bd130d0e66179a3a1 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r20 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r20 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r20 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r20 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0fd6006bd54114c879ff360595133eef0d4d2418 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r22 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r22 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r22 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r22 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c98dc32270bf902c5ffd054ef015708bc3fbea3a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r23 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r23 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r23 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r23 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8a666be0428de50687bda4d2456793753ec6184a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r24 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r24 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r24 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r24 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -a54e889de4f88b97838529c8a44d2d235855bb56 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r25 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r25 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r25 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r25 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0105d04fcb137c758b197cd1930b4d0c55883e89 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r26 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r26 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r26 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r26 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -137bb9fcbbf0755354c1d38995a6f0e2f4639af7 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r28 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r28 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r28 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r28 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8493153a4d914c28e105b75db4168385280cd49e diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r29 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r29 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r29 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r29 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -db06ca06e5fbe83a1e03ba19e3a3d8dd57b1c781 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r3 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -65cd4af97e124081aefb2fcbd21271dc0d85cfbf diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r30 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r30 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r30 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r30 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c18d45e1d63996fb9df7661b9f778f7f154d59b8 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r33 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r33 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r33 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r33 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -40fb72c55de5e0aec49acaaf87a793d5de1ad815 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r34 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r34 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r34 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r34 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -91ce0c97326f9609b9d1c62370b1e5a1a5d1bd60 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r35 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r35 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r35 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r35 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2ef633d4df0c81b12d085d194c90199f4a8f9936 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r36 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r36 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r36 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r36 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -7c75167d7eb4a62c502228231c84557b7e7b1f86 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r37 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r37 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r37 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r37 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -974bad9e8fd3df87d437d542d88d1fcbaeca7468 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r38 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r38 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r38 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r38 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b5602f05fa70bff9474a1de2448e7115715a7d6a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r4 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r4 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e94e444c53785d0e53b49acbbd50b3e67d506fdd diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r5 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r5 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r5 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ef4e30ab75d1fa8d88acb20977004280f85423fa diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r6 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r6 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r6 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r6 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0150931b1b5a78e14092ff28657fdacee2f87e52 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r7 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r7 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r7 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -518e5c2691239752e4c1a1dfd7b86b790f889f0d diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r8 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r8 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r8 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r8 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d1ff645abc3ff5d3e06a08d88831392fbd37e67c diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r9 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r9 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-5.1.1_r9 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-5.1.1_r9 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b6e5d4aea99a18d6d283b2a9124d317d8941484e diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r1 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -324e4acae8090d25e291849ce8b5fcdda94cca02 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r11 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r11 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r11 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r11 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c6e7be04e735d6f9bbc38cb1d23a4ab72081cf57 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r12 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r12 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r12 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r12 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -09422deeaa61b24baf50f7cf7a9ab3618eb2d4d6 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r13 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r13 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r13 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r13 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4f9e6f37b306afd6bda45b211035b45e8fdc908e diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r2 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f91a6dd05d4a8832d0942744a0dc9c3f3b673a73 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r23 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r23 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r23 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r23 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -360bd535d3fbc6e7b772aca3856a6792223f2d18 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r24 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r24 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r24 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r24 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0b65cb6d8fd6613040efaaac9e5b17369ed05eec diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r25 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r25 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r25 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r25 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -a6ace08d5b0207d8389e74a68457fb628016b8f5 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r26 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r26 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r26 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r26 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -453acca9eb73c46a9713e2c93f6eb72bfc93f49c diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r3 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -900045407a8a43b77be959c03a0c27b20571d874 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r4 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r4 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9ae97fa724f5b38a09ffca1d595a87971ef68c0b diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r41 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r41 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r41 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r41 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ad1585b192d527f8a974af213aa452294fb86930 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r5 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r5 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r5 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4ea9e0d9c77a692beb09f37a6a4bc3afc3fb935c diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r6 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r6 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r6 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r6 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e312f422c93355b7fb8791e0acbca9671657e91f diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r7 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r7 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.0_r7 2017-09-26 13:51:34.816304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.0_r7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -33cd21a3ea3f1ee471b42ee39d1b8fd4cd340a7a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r1 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -1b934949edffd3062ef5efa530fbc0b2c44040fb diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r10 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r10 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r10 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r10 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -88c4fc6c65906e1adc843024eabcdd0c04ee24cf diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r11 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r11 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r11 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r11 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e3519c905d38bb61211c1254b0feb5d5913cf133 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r12 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r12 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r12 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r12 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -bbc2b77be5c669ed396e4fd89864339264f5c6cc diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r13 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r13 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r13 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r13 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -a44580b9a11967478e94803ab655497ecf839f77 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r16 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r16 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r16 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r16 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -802ff016d9fa0cbd158d99d1b2d2cd068e2f684b diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r17 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r17 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r17 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r17 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2b6d7bf23ce18cece68d49325205731c35a70e87 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r18 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r18 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r18 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r18 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -1d920da47dcb607a0f7a2314a6f65295dd22c083 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r20 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r20 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r20 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r20 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -39c6dd8a08fad2ec2230801f60fb427114f82d54 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r21 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r21 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r21 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r21 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d77d6a2bf89d6d6ede11df025907b6498e662c1a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r22 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r22 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r22 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r22 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ead0b3e45194d0d8550e934153bdf97c6fe2c20f diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r24 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r24 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r24 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r24 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -78d28f8c385b67f872bdef1536a79a3a57419bf6 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r25 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r25 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r25 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r25 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -22f11d950d2ad351c8f341b18bb5249bccd30288 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r26 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r26 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r26 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r26 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e49a5d469f8f1f48ee307063f9572ad8f0c0722f diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r27 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r27 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r27 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r27 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -fb66cf8c8d7db8f3dca50bb721bc8ca6d18e7339 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r28 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r28 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r28 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r28 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e3984cc77b9de455cdf1c6c24fc427c15b885c6a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r3 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -43f7f0f6c5dc843a860a363d0a1f294cb0cdb043 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r30 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r30 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r30 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r30 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -047ed57e33b8aacfddcd25b5c9b44b198757b44e diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r31 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r31 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r31 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r31 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -a2061281f9426bd03f16ede9625f4ee113f4e354 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r32 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r32 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r32 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r32 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -30ffb212b036636e4b0307ba76b41589ee737e78 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r33 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r33 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r33 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r33 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9d161555ec363220e6610aed14096d3f66b7c581 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r4 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r4 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4f9c993a7eee2283c3a6e5738f89794f8e67abc4 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r40 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r40 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r40 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r40 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -3e87dce23b4c5562d8fa088f0521c4a1b42098c7 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r41 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r41 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r41 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r41 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -92cb5f0a0ba9aec4d444bb0726b96f1dfc931531 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r42 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r42 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r42 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r42 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -a38db3620f38e3ff944ac7b2ba45dcc881b02826 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r43 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r43 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r43 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r43 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -bb6d1c62dc8cde6f2d4561a4b7d93dde41e14aea diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r45 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r45 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r45 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r45 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -88e40caedac83ddf860fc13442a314202ada8408 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r46 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r46 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r46 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r46 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -7fd1c22f6ca289d39376b210758f22d8502fce95 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r47 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r47 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r47 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r47 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -08d1b0f84409f50adbc1473d72dd201072c6ab03 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r48 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r48 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r48 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r48 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9903137731f47321251743017ff7ea70ad0dcc4c diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r49 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r49 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r49 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r49 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -32020d5413a2ac33dd3c3ef42f4a09dad2b6a745 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r5 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r5 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r5 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -a0e36db7fdeb8b077d0a1226e5d2afd0f42407b2 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r50 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r50 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r50 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r50 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9254629f95443b618c05a72e8b53656e2f927e0a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r51 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r51 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r51 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r51 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -3f690b2b0c0ffa9fffcc56dbd726590b217d4f32 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r52 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r52 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r52 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r52 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -54fc1c325d5ea8d4908d1bf8b47f337caa68ac78 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r53 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r53 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r53 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r53 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -45d9af40a88b4f7ba70b14c7521e1dd24e5916ed diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r54 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r54 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r54 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r54 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f900d3b4e1a65a7dd70ac8511062fcf9cbef8c6c diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r55 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r55 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r55 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r55 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -cf32a0efd5ed8f2f55a2abef7cd1aac6f095bf5a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r56 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r56 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r56 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r56 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -59fbbdea02e2cc55988fd7c2adc489cc7ca372f0 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r57 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r57 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r57 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r57 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -7a3c8368cf7ddd9d65373767c36a0308fdc93d17 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r58 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r58 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r58 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r58 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5bffdf2ca69fc00b5edd3414501954d72a10baf5 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r59 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r59 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r59 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r59 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -beff00d18a20e4b462bd6e68694745eb30a05b51 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r60 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r60 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r60 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r60 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -7ce4195c69662ae7144fa9d74e1f5fd2a91177de diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r61 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r61 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r61 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r61 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -fda179979d72ef94dafec8154138cce90eb367dc diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r62 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r62 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r62 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r62 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -256b5e9edd0c546b6db5986b003473f4cdfb0646 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r63 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r63 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r63 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r63 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -48e4ec47e69c6e95cd3edb4646309c0352840f7f diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r65 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r65 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r65 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r65 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -19693389f5e64055877c9611151407404c98300d diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r66 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r66 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r66 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r66 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e39195244a5c7e108b6c672a63a4d57e664906d2 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r67 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r67 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r67 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r67 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0b24f8e7471ae359488345d081925d48d26b3f6a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r68 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r68 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r68 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r68 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -86b142fb0dfe0d0a296b0169f9cabd1127fbdb6f diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r69 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r69 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r69 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r69 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -193f1302668d73d5d59dc4fd3d88b8dd9509b8bf diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r7 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r7 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r7 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -422c8cf24872a75647a93cb36c0c2552c1284c2b diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r70 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r70 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r70 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r70 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -7b74ae584316845ce10e9d0110d2e01c5b1c26fb diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r72 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r72 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r72 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r72 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5fe42446859dc0ead8cf1f42746d8c34f177e264 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r73 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r73 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r73 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r73 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -579d4633aad1c2df7d71cb95929732b20d31280d diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r74 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r74 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r74 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r74 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d73b07fe032d641fb0bcdb7d424cdcdbf1d7c74f diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r77 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r77 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r77 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r77 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -3287233ef7455108f8d892f3111d73680d67f53f diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r78 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r78 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r78 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r78 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c511bd0822aae9b1f9ef4b17bb4da9d5da93c647 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r79 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r79 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r79 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r79 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -fe2f2fb67e5f321d79b3d4009e5a8dc193faec35 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r8 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r8 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r8 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r8 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -6b7b9141c23be6eec291517931a9bbc7b3ed28b4 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r80 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r80 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r80 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r80 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -15ffde8c6f6d17caa67e947c22f7380910e83d14 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r9 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r9 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-6.0.1_r9 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-6.0.1_r9 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0cc3afa9b2d75b629a54eac7feb5deaca47ecf72 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r1 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0ae6d5c8a6c8a5e6cbac53d3bf1685b6ca40bb12 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r12 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r12 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r12 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r12 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -112ecad64238885b1fa8e0b13fa71969b77fb468 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r13 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r13 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r13 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r13 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8101776f21f00a7292a902b9af5825cc6f2e9b4b diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r14 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r14 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r14 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r14 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -15825331e7be29c29556721c9991a88e8c620389 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r15 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r15 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r15 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r15 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ccc0cb35012b6ca26b555dfebad44a96bba651fe diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r17 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r17 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r17 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r17 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -7d82b7afa88408b8997fa94cc0746e2584182f10 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r19 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r19 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r19 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r19 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -56d2936bced241b2dd720d4bf489e06410d4874f diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r21 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r21 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r21 2017-09-26 13:51:34.812304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r21 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -044b21bf58c88a974230c0447492a173f03e06b3 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r24 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r24 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r24 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r24 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -62e3f0697ebf1cfede1a070d8b7f6fc568b63851 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r27 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r27 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r27 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r27 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -3bf90be30617448f8a76aae4aab8377cf555fc71 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r28 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r28 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r28 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r28 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -56744d9419c5f759fc5755509b39ce142e1138f4 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r29 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r29 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r29 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r29 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ba360c0396da32763d5c3249fc3640076e07be76 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r3 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9d6a1cac89fb1206d6a76dabf0ebd1ef554254b3 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r30 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r30 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r30 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r30 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -3fab4ef1763c98c88f88c3c20eca2c260d7d9dfb diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r31 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r31 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r31 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r31 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -7bf889909ae94b0c1657f5020d162d1e5f6d0924 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r32 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r32 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r32 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r32 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -87baaca09bafc1724777a3c33eace91391b4dc0d diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r33 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r33 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r33 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r33 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c25305802ad4e413f70e6907af18e9866dc3cf0a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r4 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r4 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -a5aeb52bbf198a82672ccb044b03e4cfea1e9b5d diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r5 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r5 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r5 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c25d7e2a34b4840645ba6850fcc9a56bb4ce0022 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r6 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r6 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r6 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r6 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ae46a6a7dee7a76a21789c21ccdf0da9a48645b9 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r7 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r7 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.0.0_r7 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.0.0_r7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -1bbc8b6c0204d71b0ccf4f5942ce173c282a733c diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.0_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.0_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.0_r1 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.0_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -6d98932c117616e0ba2778b123990870ae18fef3 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.0_r2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.0_r2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.0_r2 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.0_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e44e3e85db6a9fe1e25567617030cf7b29ab636b diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.0_r3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.0_r3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.0_r3 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.0_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -120fb586a3add87b4c086e0f34c21fa7695e76a5 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.0_r4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.0_r4 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.0_r4 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.0_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4ac7c2164f2512378ac82c1ade2808439a43185d diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.0_r5 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.0_r5 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.0_r5 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.0_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5f1334984b25d132a0c07898ea58e6d5d1ac10fb diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.0_r6 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.0_r6 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.0_r6 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.0_r6 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0259de5dc40a9eda4974fd43fe810d8a7083b17e diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.0_r7 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.0_r7 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.0_r7 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.0_r7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -be8653c17113acf77886e4e235b36ed97ae7d40f diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r1 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -aa2b82aaf3c765122c6851c2185e2425d2109b6b diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r10 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r10 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r10 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r10 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5d3ba206d7c47e30f3eb30f546bb10953378d297 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r11 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r11 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r11 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r11 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -3eed91569f896cc413b74449ea43806ad128756f diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r12 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r12 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r12 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r12 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4b68dcf56a97260293c5899afd7eead8abe4342f diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r13 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r13 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r13 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r13 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5616f24fbec199624126dd1605f38cd995dca01d diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r14 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r14 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r14 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r14 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -406ea74a02dd64aafa30992a4c27b9d79523a0e7 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r15 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r15 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r15 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r15 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -6e9cfc3a0869564ce1ffde8b22fdcd8ef19d2d12 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r16 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r16 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r16 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r16 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b867898d0ed36c385313f111565e204848d31866 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r17 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r17 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r17 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r17 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -92ee2ec91c58649f195e2e7180960617f9d46957 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r2 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -52e025a644383fbf28f90c2c586434b700d37f46 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r20 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r20 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r20 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r20 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2393d227475ae7d5df3b6f94fdfe964b0f18c97b diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r21 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r21 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r21 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r21 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4cf5314c0a0f99e720716aac40878f5489ee24e7 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r22 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r22 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r22 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r22 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f11a764c7338781e6535c1923a8cfbdd4e099296 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r23 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r23 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r23 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r23 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -aa828d62b856be114a0611429db124e96541bd41 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r24 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r24 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r24 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r24 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -86c6fa41186d295bb29ba3b2ffb1ee7e01e6eb2d diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r25 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r25 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r25 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r25 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b43394a27d4850307167e10f59508af5ba534448 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r26 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r26 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r26 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r26 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e6f5dd6aa11bc7b961ca5a0333e2ebefc62f31bd diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r27 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r27 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r27 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r27 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -791f0923b89380017fd4151f2e6183d8c3ea1c08 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r28 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r28 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r28 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r28 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -66b2eaf0501842ebeb7e736731cd4ab538f16a00 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r3 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d546a3c506a1725f150d75cd87c8019e619a0c41 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r31 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r31 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r31 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r31 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d591ceaa27d076071d10fd1b462c9130defbb41f diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r32 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r32 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r32 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r32 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -14adbfb71b9bef86e33409ba7e094a7a85ceb40a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r33 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r33 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r33 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r33 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b0b5aec9d39bdb6162b13b6689223c2e52a2b783 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r35 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r35 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r35 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r35 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -6702ac41529bb0fa97456204484374e6c21b3797 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r38 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r38 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r38 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r38 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -7fb7b92225cc4d3d0267e94d846760a044f9fbb4 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r39 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r39 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r39 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r39 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -1e5a8689b6dc257678961d92c1179b8b09dc3309 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r4 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r4 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d13d5bc0f2d62557d6512143ad5f293978ea06c0 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r40 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r40 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r40 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r40 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -eeac814c8c3a5e96a7cb2a10e5c107090102609d diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r41 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r41 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r41 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r41 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0f1ea388408353079520882170a237b36e7c7aaf diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r42 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r42 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r42 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r42 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -186553a786e7e3f3be0e3a0246eb375509cb20bd diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r43 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r43 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r43 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r43 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -52b2e03920317f545505deac32ef7df643e30ccc diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r44 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r44 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r44 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r44 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f85d8ccef70b7f45a1a21199c555025aae0dbf98 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r45 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r45 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r45 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r45 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b8afc7515d2e56c9269fd4eb4043c0b2a2101b77 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r46 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r46 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r46 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r46 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -7a8db32343b41b3063b0a8eeb56f28ecbd0efd14 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r47 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r47 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r47 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r47 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -00d42ce6b3c3f81fa4dc254878b84dbab94a1cbd diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r48 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r48 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r48 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r48 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -6e55321a642409a45563f84da16b1c34b5a49624 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r49 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r49 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r49 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r49 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0bf94dfe63bbe7d356223f5263a7f195a6ec9097 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r50 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r50 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r50 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r50 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edb4a2df3cb897c7408fce97cc56ac899de5821f diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r51 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r51 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r51 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r51 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8920cbff6f2c4b6d8c0e94e5db44922bc7aae48e diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r52 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r52 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r52 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r52 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2179b3fd262e934490bca3fbe2867ccb8829b058 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r53 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r53 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r53 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r53 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ce3dfab37ed24725476d8b45fd3f281bdd04e00a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r6 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r6 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r6 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r6 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -91c4ba7d6e3c64c7dcc2422063e6b5e52a0580ae diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r7 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r7 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r7 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -93d9167944f35b40b76be9f94202c8d68072bd6f diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r8 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r8 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r8 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r8 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -7b6f1e078dd2491d5bd15f205797e472b783a225 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r9 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r9 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.1_r9 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.1_r9 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -357d81254cc14bb71edc052ebd471cc2c648c362 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r1 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4edb40d71228f628d6c3a247135d535b0beb0ce5 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r10 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r10 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r10 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r10 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -44afaa43ca654a15359ab19e2a99d61ef0234523 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r11 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r11 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r11 2017-09-26 13:51:34.808304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r11 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e530d4fa087d0a9de8269e845939b2e1068099d4 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r12 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r12 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r12 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r12 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ab8b9b5cc7d810fdc7092d0e2b6014ad95b70bd8 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r13 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r13 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r13 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r13 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4e3172ec16d814da0eb9aa74618c0132d1db7092 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r14 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r14 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r14 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r14 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -565279e3f431cb47693f18baa1334148afa64700 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r15 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r15 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r15 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r15 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0b4f33627eab351b1a529dd4a7b56bed3e45b805 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r16 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r16 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r16 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r16 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4b6fdc4702b1d9f85ef2bb68431a406d1a40a85f diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r17 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r17 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r17 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r17 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -edaaa6ac883d14eb365e0d4b30abdee170448418 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r18 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r18 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r18 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r18 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e3cf545e7580db020589fabe7f74f8b2d4390b31 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r19 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r19 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r19 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r19 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f6f34eb426c017babf1335788a56285b3a4f8a32 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r2 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -1808f3052f5ac4c9d47fd6ca592ccdbb79cf0d00 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r23 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r23 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r23 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r23 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -69286d6c7a245c67f1d44536dcb05c405a8596c9 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r24 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r24 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r24 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r24 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -6d86a3cef71f6b30a856f1101e662587916ff380 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r25 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r25 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r25 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r25 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d3b2777a8df11c7809d39f2409afbab5e14fe806 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r27 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r27 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r27 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r27 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ab311a1f63a6b378347105c9f93ab895b33a323a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r28 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r28 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r28 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r28 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -6fb97c6b5ee3e1f84899d39981f3df18fdc2bb94 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r29 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r29 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r29 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r29 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -fa90b94177b2b5b4a4bdf69ae30b83bb30a6b8b6 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r3 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8634e05402313622ff6ce327a23a4d909a75c41d diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r30 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r30 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r30 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r30 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -abef574b878070627c5decbdee79eda39f1a053c diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r32 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r32 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r32 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r32 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ad97506a118c1af4700c625a3606231b6102dfec diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r33 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r33 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r33 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r33 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f6cfcfa258afc7afb31b7a72e19d1de87cae67d3 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r4 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r4 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -19dfb91a5f6550bcf06a46e5035d655b1af05edb diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r5 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r5 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r5 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -220a042c43e43cc6aa9a9dc37359d22818d9592e diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r6 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r6 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r6 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r6 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4658598a86245979178a5f2a73eab0720afb4ef9 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r8 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r8 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r8 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r8 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -39b0d807095e845d975518ead2d163cbefb69744 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r9 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r9 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-7.1.2_r9 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-7.1.2_r9 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d072bb592e1bddb633708074b8a86f2c54b86b64 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-8.0.0_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-8.0.0_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-8.0.0_r1 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-8.0.0_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ba32abe98b243c0abf891bf23f15ff805db2a8d6 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-8.0.0_r10 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-8.0.0_r10 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-8.0.0_r10 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-8.0.0_r10 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -3034a1db209e7c94439c0188b676a10f90998b24 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-8.0.0_r11 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-8.0.0_r11 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-8.0.0_r11 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-8.0.0_r11 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5927e5c631ab1240c034af62032626e6cf56b71c diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-8.0.0_r12 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-8.0.0_r12 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-8.0.0_r12 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-8.0.0_r12 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -88e3209a5f4de275df1f6558fb397732fb8755bb diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-8.0.0_r2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-8.0.0_r2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-8.0.0_r2 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-8.0.0_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e06194feebedd44db5652462bd9030a24f5aa31e diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-8.0.0_r3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-8.0.0_r3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-8.0.0_r3 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-8.0.0_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c74d5df4b69b903f4c5220d7b5d0cee8b7e00eba diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-8.0.0_r4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-8.0.0_r4 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-8.0.0_r4 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-8.0.0_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2e5e519ad449540caa0d19b2631d215d55dfabec diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-8.0.0_r7 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-8.0.0_r7 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-8.0.0_r7 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-8.0.0_r7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -82a0430b0480715015e8990fc9b9c05171c97cae diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-8.0.0_r9 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-8.0.0_r9 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-8.0.0_r9 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-8.0.0_r9 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -77a42bd35498f4a615230774bcedfea5605e974b diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-4.1_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-4.1_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-4.1_r1 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-4.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ab53c02523f7232495d6adfdc1246091747bfd3a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-4.1_r2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-4.1_r2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-4.1_r2 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-4.1_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c3986c89838da5b4b25045c5cc6c4bc869c76452 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-4.1_r4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-4.1_r4 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-4.1_r4 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-4.1_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -645912f13d9447db78c0bf225afbde7eac40979d diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-4.2_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-4.2_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-4.2_r1 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-4.2_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -601732b7b4aba7c3661f72484e7fa7e08fb5e123 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-4.2_r2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-4.2_r2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-4.2_r2 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-4.2_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -592b8dc02ef4cbed31155f6a3ff5c14d72486446 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-4.4_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-4.4_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-4.4_r1 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-4.4_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -56c9762712fdd034750a719e2802106c7f09b9f1 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-4.4_r4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-4.4_r4 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-4.4_r4 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-4.4_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5a8e55955cc1406127b26ebefc25034c3d97505a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.0_r3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.0_r3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.0_r3 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.0_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4b8cd24dbee9c9ead9f773db402652b7f65bdb81 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.0_r4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.0_r4 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.0_r4 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.0_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -007d163741a74bb3529d7372be6be63071143e3f diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.0_r5 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.0_r5 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.0_r5 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.0_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -62a79c2c9dcd6e110fb28dbd16a64e3f7b33461c diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.0_r6 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.0_r6 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.0_r6 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.0_r6 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -750648f9ee7d416bed90042d992825d8103a6a4c diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.0_r7 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.0_r7 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.0_r7 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.0_r7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -a9cead80c43554ebd9878b07173f045ff8f67296 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.0_r8 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.0_r8 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.0_r8 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.0_r8 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e0b9a27f40458778746461c01beff643f44e36e7 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.0_r9 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.0_r9 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.0_r9 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.0_r9 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -7bb910307b26eba077bcde1e98706a7711ce32ff diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r1 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -1619db58d5df129c8fdcf213c689b3842082ff31 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r10 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r10 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r10 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r10 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9c2dcf84ae09a811ab55d900b212ccb71408f75a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r13 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r13 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r13 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r13 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -aea0e450a44713a346bc442477d6ac04f1595104 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r14 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r14 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r14 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r14 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -dfa148b1202fb40c5be6c6404eba0cc0f241451e diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r15 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r15 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r15 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r15 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -762987fdcd0db8cc2f1ca2b222a7b880646ea046 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r16 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r16 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r16 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r16 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -fdebb0b1ac83aadc9ae76c71d4fa3a08435423a4 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r17 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r17 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r17 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r17 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -51954f51304290d8c6585448c4eb682b40f367cb diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r18 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r18 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r18 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r18 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -3f8e666b1bc4a2151ba53330558d1ed1a21f0554 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r19 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r19 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r19 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r19 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4dd984753bc4191216f5a2bce9fa9507227f8070 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r2 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2a5845038fc31168dc9e382cf0bbc86b019533e3 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r20 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r20 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r20 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r20 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -83a6a7992c83ba8fefc1a6a4fb985897a89f8e44 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r21 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r21 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r21 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r21 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f0d729c2d2bea72986a54d0b38aa710b729d7d10 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r22 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r22 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r22 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r22 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -abd7ba73dc08fd31e2cf660e05cbc98b99dd4706 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r23 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r23 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r23 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r23 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -6323427517fcd01a0bc77d7ce149f397bf35fd36 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r3 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -7b8d251336a6f1b1d2b4387f0a8cd5519fdba7dc diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r4 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r4 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -81922570cbc2c63f7a8fe5a031cb649438022804 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r5 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r5 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r5 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -1b62b08766eeee829ece6c6172114aaa3e2c4398 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r6 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r6 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r6 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r6 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -3ff712ba2c6db59ad639150ba2a5514b516f14a7 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r7 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r7 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r7 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -32938f8c92317b1c8406eaf6439d7dc09c8d4a33 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r8 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r8 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r8 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r8 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9f7c30c6302cd4778ea96e511f2b12bd116db7c1 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r9 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r9 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-5.1_r9 2017-09-26 13:51:34.804304779 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-5.1_r9 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -aed7b2ba1d94c6b3beb234d1b3e5f4c02b78e18d diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r1 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -efe85bf6dc8977c770537dcdaf9b64182e3e55f9 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r12 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r12 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r12 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r12 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b3e1667b8ab3651892eed005a5f53956e492053a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r13 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r13 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r13 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r13 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -bfcdfec8ef460ffd1948fe87cb8f91aa54b4b05d diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r14 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r14 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r14 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r14 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c671b11d232e602d45e7cbaf5c5d8a7ab8a4ba96 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r15 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r15 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r15 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r15 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -f93ef4fa161b23b4c5d89e07cfbe0926a3079490 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r16 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r16 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r16 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r16 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -a35ef957dfbd6f4b5a8d5ebaac85c17420518788 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r17 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r17 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r17 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r17 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -51f504fcd86d2598ccaf3b4f130086212d5beaaa diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r18 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r18 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r18 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r18 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -64cbb397dd3cb9f841116a8a6fc033dd0f854310 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r19 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r19 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r19 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r19 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ab7da120883854b550fc4d9b591f9ea395874064 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r2 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -904f23db83bbccfc9e4c374dcece0a516b34647f diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r20 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r20 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r20 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r20 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -62ed0f0875f1fc0ff4daf3f289ca2bc76dd62276 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r21 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r21 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r21 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r21 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -2bbcc4cb717e926e9cdec8f3e00a9a27045caa54 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r22 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r22 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r22 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r22 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d15cc78c50159449dadacde8e9764c06292b1b3b diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r3 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9fa74e3c80b27848cb7a4ecfca704ac89c1198e4 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r4 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r4 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8db22535d829b099f5026e92f0b74c631c54a739 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r5 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r5 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r5 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c1d04038b0cc322bb5b8ef72edff2b08621aac4d diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r6 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r6 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r6 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r6 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -945b8c47707e7bdc2211f35147caad0e3a640b64 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r7 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r7 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r7 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ad793d17e6493e3c57d7df7e414dd7edda65d174 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r8 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r8 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r8 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r8 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d82f763844830011d1bae136acf46f4fb2bfba39 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r9 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r9 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-6.0_r9 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-6.0_r9 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -7ec84cf056c31d38963dd44ecde23653b0afbde8 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r1 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ffb0ecde25dad5a790ff149185c1b9401ae9309d diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r10 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r10 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r10 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r10 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -a52f83da1be32b061455f76ff07fdf2f477a82c9 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r11 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r11 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r11 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r11 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -12d697596bbd9db72ff261e5827abbcf790b6163 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r12 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r12 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r12 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r12 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -cf3deed3990979861fb423867180bc5773b0b15e diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r13 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r13 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r13 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r13 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0108b0312507e0a35e90934e12975ff398fed4d7 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r2 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ebe8b8d22a2b14154fc5994c610d9ea7d7fc640b diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r3 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b158e62f37c3f40186cefd0f5ef502767a19fce7 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r4 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r4 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -7ca20b9be86f1c02e37d057437b7408c0940e7ce diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r5 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r5 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r5 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8e48e4ee40ca412423c4da95e994c98b58de1805 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r6 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r6 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r6 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r6 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5135c0531eec323947a6318cd73df9b5ba2027e0 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r7 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r7 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r7 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b68124121661da659a73be85a2a1df5dbf71c899 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r8 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r8 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r8 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r8 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -5a25d339b5098a524ae3a1b575aaeabd638401ad diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r9 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r9 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.0_r9 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.0_r9 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -cb0d40759a9c03966cf88fe3b1de8b3275fb3abc diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.1_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.1_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.1_r1 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -21a56a816e0fb14106f3472e14714ce0a99836c4 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.1_r2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.1_r2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.1_r2 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.1_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0205120cc7f99a9dd99ebab9f6ccf4ab38622a00 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.1_r3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.1_r3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.1_r3 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.1_r3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e901ce98d2c8564a244bcc76b495ba936b7212d1 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.1_r4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.1_r4 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.1_r4 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.1_r4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8d7dd2870c52cc857b64563899692056d9b54d1e diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.1_r5 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.1_r5 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.1_r5 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.1_r5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -185c6b0b958bc1da53ff81401ec010ccf2f47913 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.1_r6 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.1_r6 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.1_r6 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.1_r6 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -091effe3f147f5e861d48e943f60e8cb9f6da62a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.1_r7 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.1_r7 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.1_r7 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.1_r7 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -a5db76b12cb8f6ce228660cab834368255fbe0eb diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.1_r8 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.1_r8 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.1_r8 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.1_r8 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ff3ee03db2e48c96b1422db5db30c9943ce74162 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.1_r9 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.1_r9 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-7.1_r9 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-7.1_r9 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8f7a383441f65d470556f1146a02fbdf64906527 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-8.0_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-8.0_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-cts-8.0_r1 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-cts-8.0_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0d9c5789375f78c88c115e26f0b844c8dc9820df diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-l-preview_r2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-l-preview_r2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-l-preview_r2 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-l-preview_r2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8b825107db3a8738f7fc3cee729bcc0ba0e977b1 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-m-preview SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-m-preview --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-m-preview 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-m-preview 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4fb98a65873a68fd3cae62b68c775e893b6680d8 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-m-preview-1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-m-preview-1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-m-preview-1 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-m-preview-1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -1266fbf3865c762001c285aa0eea14da3fcf6b4a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-m-preview-2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-m-preview-2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-m-preview-2 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-m-preview-2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -44092cf6b53201ed16e503ebf31ecb0193db4603 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-iot-preview-2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-iot-preview-2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-iot-preview-2 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-iot-preview-2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -3dcf2bb2e7c0f09a5300830fbcad8d47010c453b diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-iot-preview-4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-iot-preview-4 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-iot-preview-4 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-iot-preview-4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -50af8dcdbc3c78d32c0acf9133958215ce6fa15a diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-mr1-preview-1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-mr1-preview-1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-mr1-preview-1 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-mr1-preview-1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -85c5495e2aa0e0d6d56210060fedcb909669727b diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-mr1-preview-2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-mr1-preview-2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-mr1-preview-2 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-mr1-preview-2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -cdf22d6637651e2fa96c224cc1b02bbb6b1623dc diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-mr2-preview-1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-mr2-preview-1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-mr2-preview-1 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-mr2-preview-1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8132f535a0528c86a97b6842bc72e9e82994c710 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-mr2-preview-2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-mr2-preview-2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-mr2-preview-2 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-mr2-preview-2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -d5b8cb2d3321f5b8fe4e8225f4d77d4c23f02493 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-preview-1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-preview-1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-preview-1 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-preview-1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9270fc9e8b368bd38f96ece1ebba2f0cb239df19 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-preview-2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-preview-2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-preview-2 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-preview-2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8b51d36f362ca74b5c32bce3cd1aefad06e9b7d3 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-preview-3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-preview-3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-preview-3 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-preview-3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -336289d2068d3ad6a011dabf59a72b2e7868f7b9 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-preview-4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-preview-4 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-preview-4 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-preview-4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -ba358da6744e96b1f376e212ec5fa9355f1ad2a9 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-preview-5 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-preview-5 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-n-preview-5 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-n-preview-5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8a94835ccc9f2d67b890975b3621256bd18085a5 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-o-iot-preview-5 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-o-iot-preview-5 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-o-iot-preview-5 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-o-iot-preview-5 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -de5eba00abe8deb43aaf107be0e5911e5b7c53c6 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-o-preview-1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-o-preview-1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-o-preview-1 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-o-preview-1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e262cb4c70698d9dea21107ee61d7944b5cffe19 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-o-preview-2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-o-preview-2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-o-preview-2 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-o-preview-2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -0eada5a325f2e823b7041af8e620f003a73c2f93 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-o-preview-3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-o-preview-3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-o-preview-3 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-o-preview-3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -1aa8cfaa992eac4d59f273b19f8b390242d991e6 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-o-preview-4 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-o-preview-4 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-o-preview-4 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-o-preview-4 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -e1b344b6763140681e4d4a33b82edad2c34d44ab diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-sdk-4.4.2_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-sdk-4.4.2_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-sdk-4.4.2_r1 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-sdk-4.4.2_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -b8c29a6fb8008676f11c764fb574440899098c90 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-sdk-4.4.2_r1.0.1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-sdk-4.4.2_r1.0.1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-sdk-4.4.2_r1.0.1 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-sdk-4.4.2_r1.0.1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -c871f56506055e0caec7b0bfd1e6f148cddf0c15 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-sdk-support_r11 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-sdk-support_r11 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-sdk-support_r11 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-sdk-support_r11 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -4ed1f43ecb2115aa575b264e7d2a8a9b3439a503 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-wear-5.0.0_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-wear-5.0.0_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-wear-5.0.0_r1 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-wear-5.0.0_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -62f8baf2373088199fcd0325017231992e62c63b diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-wear-5.1.0_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-wear-5.1.0_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-wear-5.1.0_r1 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-wear-5.1.0_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -61b6c91c57d653f04bf459e3d95bde0786311ed8 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-wear-5.1.1_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-wear-5.1.1_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-wear-5.1.1_r1 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-wear-5.1.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -6a8796cba66c62014a484a35dd0ca89b63f5ba5c diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-wear-7.1.1_r1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-wear-7.1.1_r1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-wear-7.1.1_r1 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-wear-7.1.1_r1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -6edca18c32937af50cf2b3e0534068049c182fe1 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-wear-n-preview-1 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-wear-n-preview-1 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-wear-n-preview-1 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-wear-n-preview-1 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -9f3bf5775b3cc2f1c27fdb99502b5331b53a0dea diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-wear-n-preview-2 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-wear-n-preview-2 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-wear-n-preview-2 2017-09-26 13:51:34.800304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-wear-n-preview-2 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -bd72b14544610bdd4b5654e2844d97dc4d2e58f2 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/android-wear-o-preview-3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-wear-o-preview-3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/android-wear-o-preview-3 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/android-wear-o-preview-3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -68ede72452759c23741726097f296977ac5b2247 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/gradle_2.3.0 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/gradle_2.3.0 --- Android_6.0.1_r11/external/smali/.git/refs/tags/gradle_2.3.0 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/gradle_2.3.0 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -df703ccf98c083ca851fa737a266b6dc245ccee4 diff -urN Android_6.0.1_r11/external/smali/.git/refs/tags/studio-2.3 SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/studio-2.3 --- Android_6.0.1_r11/external/smali/.git/refs/tags/studio-2.3 2017-09-26 13:51:34.796304780 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.git/refs/tags/studio-2.3 1970-01-01 09:00:00.000000000 +0900 @@ -1 +0,0 @@ -8680e258be186dbe304b04f3e67e086b2ad32137 diff -urN Android_6.0.1_r11/external/smali/.gitignore SAMD_6.0.1_r11_20170930/external/smali/.gitignore --- Android_6.0.1_r11/external/smali/.gitignore 2017-09-27 02:07:41.267736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/.gitignore 1970-01-01 09:00:00.000000000 +0900 @@ -1,7 +0,0 @@ -/.gradle -/baksmali/build -/dexlib/build -/dexlib2/build -/dexlib2/accessorTestGenerator/build -/smali/build -/util/build diff -urN Android_6.0.1_r11/external/smali/jarjar-rules.txt SAMD_6.0.1_r11_20170930/external/smali/jarjar-rules.txt --- Android_6.0.1_r11/external/smali/jarjar-rules.txt 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/jarjar-rules.txt 2016-11-01 08:36:40.000000000 +0900 @@ -0,0 +1 @@ +rule org.jf.** com.android.@1 diff -urN Android_6.0.1_r11/external/smali/smali/Android.mk SAMD_6.0.1_r11_20170930/external/smali/smali/Android.mk --- Android_6.0.1_r11/external/smali/smali/Android.mk 2017-09-27 02:07:41.307736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali/Android.mk 2016-11-01 08:36:40.000000000 +0900 @@ -76,4 +76,57 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/../scripts/smali | $(ACP) @echo "Copy: $(PRIVATE_MODULE) ($@)" $(copy-file-to-new-target) - $(hide) chmod 755 $@ \ No newline at end of file + $(hide) chmod 755 $@ + + + + + +# build jar for device +include $(CLEAR_VARS) + +LOCAL_MODULE := libsmali + +LOCAL_MODULE_TAGS := optional +LOCAL_JARJAR_RULES := $(LOCAL_PATH)/../jarjar-rules.txt +LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk + +#LOCAL_MODULE_CLASS and LOCAL_IS_HOST_MODULE must be defined before calling $(local-intermediates-dir) +LOCAL_MODULE_CLASS := JAVA_LIBRARIES + +intermediates := $(call local-intermediates-dir,COMMON) + +GEN := $(addprefix $(intermediates)/, \ + smaliParser.java \ + smaliTreeWalker.java \ + ) + +LOCAL_SRC_FILES := \ + $(call all-java-files-under, src/main/java) \ + $(call all-java-files-under, ../util/src/main/java) + +LOCAL_STATIC_JAVA_LIBRARIES := \ + libantlr \ + libdex2 + +#read in the version number +SMALI_VERSION := $(shell cat $(LOCAL_PATH)/../build.gradle | \ + grep -o -e "^version = '\(.*\)'" | grep -o -e "[0-9.]\+") + +SMALI_VERSION := $(SMALI_VERSION)-aosp + +#create a new smali.properties file using the correct version +$(intermediates)/resources/smali.properties: + $(hide) mkdir -p $(dir $@) + $(hide) echo "application.version=$(SMALI_VERSION)" > $@ + +LOCAL_JAVA_RESOURCE_FILES := $(intermediates)/resources/smali.properties + +include $(BUILD_JAVA_LIBRARY) + + +include $(CLEAR_VARS) + +LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libantlr:../antlr-runtime.jar + +include $(BUILD_MULTI_PREBUILT) \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format10t/Format10t.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format10t/Format10t.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format10t/Format10t.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format10t/Format10t.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,37 @@ +.class public LFormat10t; +.super Ljava/lang/Object; +.source "Format10t.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public test_goto()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + + const v0, 5 + + goto :label + + :label2 + + + const v1, 6 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void + + + + :label + const v0, 6 + goto :label2 + + + invoke-static {}, Lorg/junit/Assert;->fail()V + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format10x/Format10x.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format10x/Format10x.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format10x/Format10x.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format10x/Format10x.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,32 @@ +.class public LFormat10x; +.super Ljava/lang/Object; +.source "Format10x.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public test_nop()V + .registers 1 + .annotation runtime Lorg/junit/Test; + .end annotation + + #yep, it's a nop. not much to test, other than that it runs + nop + + return-void +.end method + +.method public test_return-void()V + .registers 1 + .annotation runtime Lorg/junit/Test; + .end annotation + + return-void + + #if we get here, the return-void didn't work + invoke-static {}, Lorg/junit/Assert;->fail()V +.end method + diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format11n/Format11n.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format11n/Format11n.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format11n/Format11n.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format11n/Format11n.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,21 @@ +.class public LFormat11n; +.super Ljava/lang/Object; +.source "Format11n.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public test_const-4()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/4 v0, 6 + + const v1, 6 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format11x/Format11x.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format11x/Format11x.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format11x/Format11x.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format11x/Format11x.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,114 @@ +.class public LFormat11x; +.super Ljava/lang/Object; +.source "Format11x.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public testMethodI()I + .registers 1 + + const v0, 23 + return v0 +.end method + +.method public testMethodJ()J + .registers 2 + + const-wide v0, 0x200000000L + return-wide v0 +.end method + +.method public testMethodStr()Ljava/lang/String; + .registers 1 + + const-string v0, "in testMethodStr()" + return-object v0 +.end method + + +.method public test_move-result__return()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + invoke-virtual {p0}, LFormat11x;->testMethodI()I + move-result v0 + + const v1, 23 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_move-result-wide__return-wide()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + invoke-virtual {p0}, LFormat11x;->testMethodJ()J + move-result-wide v0 + + const-wide v2, 0x200000000L + invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_move-result-object__return-object()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + invoke-virtual {p0}, LFormat11x;->testMethodStr()Ljava/lang/String; + move-result-object v0 + + const-string v1, "in testMethodStr()" + invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V + return-void +.end method + +.method public test_move-exception__throw()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + :startTry + const-string v0, "This is an exception message" + new-instance v1, Ljava/lang/Exception; + invoke-direct {v1, v0}, Ljava/lang/Exception;->(Ljava/lang/String;)V + throw v1 + :endTry + + .catch Ljava/lang/Exception; {:startTry .. :endTry} :handler + + :handler + move-exception v0 + invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String; + move-result-object v1 + + const-string v0, "This is an exception message" + invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V + return-void +.end method + + +.method public test_monitor-enter__monitor_leave()V + .registers 1 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-string v0, "this is a string" + + monitor-enter v0 + + nop + nop + nop + + monitor-exit v0 + + #TODO: need to write a multi-threaded test to test monitor-enter and monitor-exit + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format12x/Format12x.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format12x/Format12x.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format12x/Format12x.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format12x/Format12x.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,824 @@ +.class public LFormat12x; +.super Ljava/lang/Object; +.source "Format12x.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public test_move()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/4 v0, 6 + move v1, v0 + + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + + return-void +.end method + +.method public test_move-wide()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 0x200000000L + + move-wide v2, v0 + + invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V + + return-void +.end method + +.method public test_move-object()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-string v0, "random string value" + + move-object v1, v0 + + invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V + + return-void +.end method + +.method public test_array-length()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/4 v0, 3 + new-array v1, v0, [I + + array-length v2, v1 + + invoke-static {v0, v2}, LAssert;->assertEquals(II)V + + return-void +.end method + +.method public test_neg-int()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/16 v0, 23 + neg-int v1, v0 + + const/16 v2, -23 + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + return-void +.end method + + .method public test_not-int()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/16 v0, 23 + not-int v1, v0 + + const/16 v2, -24 + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_neg-long()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 0x200000000L + neg-long v2, v0 + + const-wide v4, -0x200000000L + invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_not-long()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 0x200000000L + not-long v2, v0 + + const-wide v4, -0x200000001L + invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_neg-float()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 3.14159f + neg-float v1, v0 + + const v2, -3.14159f + invoke-static {v1, v2}, LAssert;->assertEquals(FF)V + return-void +.end method + +.method public test_neg-double()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 3.14159 + neg-double v2, v0 + + const-wide v4, -3.14159 + invoke-static {v2, v3, v4, v5}, LAssert;->assertEquals(DD)V + return-void +.end method + +.method public test_int-to-long()V + .registers 5 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 23 + int-to-long v1, v0 + + const-wide v3, 23L + invoke-static {v1, v2, v3, v4}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_int-to-float()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 23 + int-to-float v1, v0 + + const v2, 23f + invoke-static {v1, v2}, LAssert;->assertEquals(FF)V + return-void +.end method + +.method public test_int-to-double()V + .registers 5 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 23 + int-to-double v1, v0 + + const-wide v3, 23.0 + invoke-static {v1, v2, v3, v4}, LAssert;->assertEquals(DD)V + return-void +.end method + +.method public test_long-to-int()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 23L + long-to-int v2, v0 + + const v3, 23 + invoke-static {v2, v3}, LAssert;->assertEquals(II)V + return-void +.end method + + +.method public test_long-to-float()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 0x200000000L + long-to-float v2, v0 + + const v3, 8.589934592e9f + invoke-static {v2, v3}, LAssert;->assertEquals(FF)V + return-void +.end method + +.method public test_long-to-double()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 0x200000000L + long-to-double v2, v0 + + const-wide v4, 8.589934592e9 + invoke-static {v2, v3, v4, v5}, LAssert;->assertEquals(DD)V + return-void +.end method + +.method public test_float-to-int()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 3.14159f + float-to-int v1, v0 + + const v2, 3 + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_float-to-long()V + .registers 5 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 3.14159f + float-to-long v1, v0 + + const-wide v3, 3L + invoke-static {v1, v2, v3, v4}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_float-to-double()V + .registers 5 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 3.14159f + float-to-double v1, v0 + + const-wide v3, 3.14159 + invoke-static {v1, v2, v3, v4}, LAssert;->assertEquals(DD)V + return-void +.end method + +.method public test_double-to-int()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 3.1415926535897932384626433832795028841971 + double-to-int v2, v0 + + const v3, 3 + invoke-static {v2, v3}, LAssert;->assertEquals(II)V + return-void +.end method + + +.method public test_double-to-long()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 3.14159265358e11 + double-to-long v2, v0 + + const-wide v4, 314159265358L + invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_double-to-float()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 3.1415926535897932384626433832795028841971 + double-to-float v2, v0 + + const v3, 3.141592653589f + invoke-static {v2, v3}, LAssert;->assertEquals(FF)V + return-void +.end method + +.method public test_int-to-byte()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 0x10010 + + int-to-byte v1, v0 + + const/16 v2, 0x10 + invoke-static {v1,v2}, LAssert;->assertEquals(II)V + return-void +.end method + + +.method public test_int-to-char()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 0x11234 + + int-to-char v1, v0 + + const/16 v2, '\u1234' + invoke-static {v1,v2}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_int-to-short()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 0x11234 + + int-to-short v1, v0 + + const/16 v2, 0x1234 + invoke-static {v1,v2}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_add-int-2addr()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/4 v0,5 + const/16 v1, 23 + + add-int/2addr v0, v1 + + const/16 v1, 28 + invoke-static {v0,v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_sub-int-2addr()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/4 v0,5 + const/16 v1, 23 + + sub-int/2addr v0, v1 + + const/16 v1, -18 + invoke-static {v0,v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_mul-int-2addr()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/4 v0,5 + const/16 v1, 23 + + mul-int/2addr v0, v1 + + const/16 v1, 115 + invoke-static {v0,v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_div-int-2addr()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/4 v0,5 + const/16 v1, 23 + + div-int/2addr v1, v0 + + const/16 v0, 4 + invoke-static {v0,v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_rem-int-2addr()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/4 v0,5 + const/16 v1, 23 + + rem-int/2addr v1, v0 + + const/16 v0, 3 + invoke-static {v0,v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_and-int-2addr()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/4 v0,5 + const/16 v1, 23 + + and-int/2addr v0, v1 + + const/16 v1, 5 + invoke-static {v0,v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_or-int-2addr()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/4 v0,5 + const/16 v1, 23 + + or-int/2addr v0, v1 + + const/16 v1, 23 + invoke-static {v0,v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_xor-int-2addr()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/4 v0,5 + const/16 v1, 23 + + xor-int/2addr v0, v1 + + const/16 v1, 18 + invoke-static {v0,v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_shl-int-2addr()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/16 v0,23 + const/4 v1, 5 + + shl-int/2addr v0, v1 + + const/16 v1, 736 + invoke-static {v0,v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_shr-int-2addr()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/16 v0, -736 + const/4 v1, 5 + + shr-int/2addr v0, v1 + + const/16 v1, -23 + invoke-static {v0,v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_ushr-int-2addr()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/16 v0, -736 + const/4 v1, 5 + + ushr-int/2addr v0, v1 + + const v1, 134217705 + invoke-static {v0,v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_add-long-2addr()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 5L + const-wide v2, 23L + + add-long/2addr v0, v2 + + const-wide v2, 28 + invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_sub-long-2addr()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0,5 + const-wide v2, 23 + + sub-long/2addr v0, v2 + + const-wide v2, -18 + invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_mul-long-2addr()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0,5 + const-wide v2, 23 + + mul-long/2addr v0, v2 + + const-wide v2, 115 + invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_div-long-2addr()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0,5 + const-wide v2, 23 + + div-long/2addr v2, v0 + + const-wide v0, 4 + invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_rem-long-2addr()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0,5 + const-wide v2, 23 + + rem-long/2addr v2, v0 + + const-wide v0, 3 + invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_and-long-2addr()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0,5 + const-wide v2, 23 + + and-long/2addr v0, v2 + + const-wide v2, 5 + invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_or-long-2addr()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0,5 + const-wide v2, 23 + + or-long/2addr v0, v2 + + const-wide v2, 23 + invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_xor-long-2addr()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0,5 + const-wide v2, 23 + + xor-long/2addr v0, v2 + + const-wide v2, 18 + invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_shl-long-2addr()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 23 + const v2, 5 + + shl-long/2addr v0, v2 + + const-wide v2, 736 + invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_shr-long-2addr()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, -736 + const v2, 5 + + shr-long/2addr v0, v2 + + const-wide v2, -23 + invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_ushr-long-2addr()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, -736 + const v2, 5 + + ushr-long/2addr v0, v2 + + const-wide v2, 576460752303423465L + invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_add-float-2addr()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 3.14159f + const v1, .11f + + add-float/2addr v0, v1 + + const v1, 3.25159f + invoke-static {v0, v1}, LAssert;->assertEquals(FF)V + return-void +.end method + +.method public test_sub-float-2addr()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 3.14159f + const v1, .11f + + sub-float/2addr v0, v1 + + const v1, 3.03159f + invoke-static {v0, v1}, LAssert;->assertEquals(FF)V + return-void +.end method + +.method public test_mul-float-2addr()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 3.14159f + const v1, .11f + + mul-float/2addr v0, v1 + + const v1, .3455749f + invoke-static {v0, v1}, LAssert;->assertEquals(FF)V + return-void +.end method + +.method public test_div-float-2addr()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 3.14159f + const v1, .11f + + div-float/2addr v0, v1 + + const v1, 28.55990909f + invoke-static {v0, v1}, LAssert;->assertEquals(FF)V + return-void +.end method + +.method public test_rem-float-2addr()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 3.14159f + const v1, .11f + + rem-float/2addr v0, v1 + + const v1, .06159999f + invoke-static {v0, v1}, LAssert;->assertEquals(FF)V + return-void +.end method + +.method public test_add-double-2addr()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 3.14159 + const-wide v2, .11 + + add-double/2addr v0, v2 + + const-wide v2, 3.25159 + invoke-static {v0, v1, v2, v3}, LAssert;->assertEquals(DD)V + return-void +.end method + +.method public test_sub-double-2addr()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 3.14159 + const-wide v2, .11 + + sub-double/2addr v0, v2 + + const-wide v2, 3.03159 + invoke-static {v0, v1, v2, v3}, LAssert;->assertEquals(DD)V + return-void +.end method + +.method public test_mul-double-2addr()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 3.14159 + const-wide v2, .11 + + mul-double/2addr v0, v2 + + const-wide v2, .3455749 + invoke-static {v0, v1, v2, v3}, LAssert;->assertEquals(DD)V + return-void +.end method + +.method public test_div-double-2addr()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 3.14159 + const-wide v2, .11 + + div-double/2addr v0, v2 + + const-wide v2, 28.55990909 + invoke-static {v0, v1, v2, v3}, LAssert;->assertEquals(DD)V + return-void +.end method + +.method public test_rem-double-2addr()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 3.14159 + const-wide v2, .11 + + rem-double/2addr v0, v2 + + const-wide v2, .06159999 + invoke-static {v0, v1, v2, v3}, LAssert;->assertEquals(DD)V + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format20t/Format20t.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format20t/Format20t.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format20t/Format20t.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format20t/Format20t.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,1079 @@ +.class public LFormat20t; +.super Ljava/lang/Object; +.source "Format20t.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public test_goto-16()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + + const v0, 5 + + goto/16 :label + + :label2 + + + const v1, 6 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void + + #enough nops to force the offset to be more than would fit in 1 byte + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + + + + :label + const v0, 6 + goto/16 :label2 + + + invoke-static {}, Lorg/junit/Assert;->fail()V + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21c/Format21c.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21c/Format21c.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21c/Format21c.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21c/Format21c.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,210 @@ +.class public LFormat21c; +.super Ljava/lang/Object; +.source "Format21c.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public test_const-string()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-string v0, "test" + + const-string v1, "test" + invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V + return-void +.end method + +.method public test_const-class()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-class v0, Ljava/io/PrintStream; + + invoke-virtual {v0}, Ljava/lang/Class;->toString()Ljava/lang/String; + move-result-object v1 + + const-string v0, "class java.io.PrintStream" + + invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V + + return-void +.end method + +.method public test_check-cast-fail()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + :tryStart + const-string v0, "test" + + check-cast v0, Ljava/io/PrintStream; + :tryEnd + .catch Ljava/lang/ClassCastException; {:tryStart .. :tryEnd} :handler + + #the check-cast didn't throw an exception as expected + invoke-static {}, Lorg/junit/Assert;->fail()V + + :handler + + return-void +.end method + +.method public test_check-cast-success()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + :tryStart + const-string v0, "test" + + check-cast v0, Ljava/lang/Object; + :tryEnd + .catch Ljava/lang/ClassCastException; {:tryStart .. :tryEnd} :handler + + return-void + + :handler + + #the check-cast incorrectlly threw an exception as expected + invoke-static {}, Lorg/junit/Assert;->fail()V + return-void +.end method + +.method public test_new-instance()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-string v0, "test" + + new-instance v1, LStringWrapper; + invoke-direct {v1, v0}, LStringWrapper;->(Ljava/lang/String;)V + + invoke-virtual {v1}, LStringWrapper;->getValue()Ljava/lang/String; + move-result-object v2 + + invoke-static {v0, v2}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V + + return-void +.end method + + +.method public test-sput__sget()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 23 + sput v0, LStaticFields;->staticField:I + + sget v1, LStaticFields;->staticField:I + + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test-sput-object__sget-object()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-string v0, "a string" + sput-object v0, LStaticFields;->staticObjectField:Ljava/lang/String; + + sget-object v1, LStaticFields;->staticObjectField:Ljava/lang/String; + + invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V + return-void +.end method + +.method public test-sput-wide__sget-wide()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 0x200000000L + sput-wide v0, LStaticFields;->staticWideField:J + + sget-wide v2, LStaticFields;->staticWideField:J + + invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test-sput-boolean__sget-boolean_true()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 1 + sput-boolean v0, LStaticFields;->staticBooleanField:Z + + sget-boolean v1, LStaticFields;->staticBooleanField:Z + + invoke-static {v1}, Lorg/junit/Assert;->assertTrue(Z)V + return-void +.end method + +.method public test-sput-boolean__sget-boolean_false()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 0 + sput-boolean v0, LStaticFields;->staticBooleanField:Z + + sget-boolean v1, LStaticFields;->staticBooleanField:Z + + invoke-static {v1}, Lorg/junit/Assert;->assertFalse(Z)V + return-void +.end method + +.method public test-sput-byte__sget-byte()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 120T + sput-byte v0, LStaticFields;->staticByteField:B + + sget-byte v1, LStaticFields;->staticByteField:B + + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test-sput-char__sget-char()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 'a' + sput-char v0, LStaticFields;->staticCharField:C + + sget-char v1, LStaticFields;->staticCharField:C + + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test-sput-short__sget-short()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 1234S + sput-short v0, LStaticFields;->staticShortField:S + + sget-short v1, LStaticFields;->staticShortField:S + + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21c/StaticFields.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21c/StaticFields.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21c/StaticFields.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21c/StaticFields.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,10 @@ +.class public LStaticFields; +.super Ljava/lang/Object; + +.field public static staticField:I +.field public static staticWideField:J +.field public static staticObjectField:Ljava/lang/String; +.field public static staticBooleanField:Z +.field public static staticByteField:B +.field public static staticCharField:C +.field public static staticShortField:S \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21c/StringWrapper.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21c/StringWrapper.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21c/StringWrapper.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21c/StringWrapper.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,21 @@ +.class public LStringWrapper; +.super Ljava/lang/Object; + +.field private stringValue:Ljava/lang/String; + +.method public constructor (Ljava/lang/String;)V + .registers 2 + invoke-direct {p0}, Ljava/lang/Object;->()V + + iput-object p1, p0, LStringWrapper;->stringValue:Ljava/lang/String; + + return-void +.end method + +.method public getValue()Ljava/lang/String; + .registers 2 + + iget-object v0, p0, LStringWrapper;->stringValue:Ljava/lang/String; + + return-object v0 +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21h/Format21h.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21h/Format21h.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21h/Format21h.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21h/Format21h.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,33 @@ +.class public LFormat21h; +.super Ljava/lang/Object; +.source "Format21h.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public test_const-high16()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/high16 v0, 0x3000 + + const v1, 0x30000000 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_const-wide-high16()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide/high16 v0, 0x3000 + + const-wide v2, 0x3000000000000000L + invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21s/Format21s.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21s/Format21s.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21s/Format21s.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21s/Format21s.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,33 @@ +.class public LFormat21s; +.super Ljava/lang/Object; +.source "Format21s.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public test_const-16()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/16 v0, 15000 + + const v1, 15000 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_const-wide-16()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide/16 v0, 15000 + + const-wide v2, 15000 + invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21t/Format21t.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21t/Format21t.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21t/Format21t.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format21t/Format21t.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,149 @@ +.class public LFormat21t; +.super Ljava/lang/Object; +.source "Format21t.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public test_if-eqz()V + .registers 1 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/4 v0, 0 + + if-eqz v0, :label1 + + invoke-static {}, Lorg/junit/Assert;->fail()V + + :label1 + const/4 v0, 1 + + if-eqz v0, :label2 + return-void + + :label2 + invoke-static {}, Lorg/junit/Assert;->fail()V + + return-void +.end method + + +.method public test_if-nez()V + .registers 1 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/4 v0, 1 + + if-nez v0, :label1 + + invoke-static {}, Lorg/junit/Assert;->fail()V + + :label1 + const/4 v0, 0 + + if-nez v0, :label2 + return-void + + :label2 + invoke-static {}, Lorg/junit/Assert;->fail()V + + return-void +.end method + +.method public test_if-ltz()V + .registers 1 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/4 v0, -1 + + if-ltz v0, :label1 + + invoke-static {}, Lorg/junit/Assert;->fail()V + + :label1 + const/4 v0, 0 + + if-ltz v0, :label2 + return-void + + :label2 + invoke-static {}, Lorg/junit/Assert;->fail()V + + return-void +.end method + +.method public test_if-gez()V + .registers 1 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/4 v0, 0 + + if-gez v0, :label1 + + invoke-static {}, Lorg/junit/Assert;->fail()V + + :label1 + const/4 v0, -1 + + if-gez v0, :label2 + return-void + + :label2 + invoke-static {}, Lorg/junit/Assert;->fail()V + + return-void +.end method + +.method public test_if-gtz()V + .registers 1 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/4 v0, 1 + + if-gtz v0, :label1 + + invoke-static {}, Lorg/junit/Assert;->fail()V + + :label1 + const/4 v0, 0 + + if-gtz v0, :label2 + return-void + + :label2 + invoke-static {}, Lorg/junit/Assert;->fail()V + + return-void +.end method + + +.method public test_if-lez()V + .registers 1 + .annotation runtime Lorg/junit/Test; + .end annotation + + const/4 v0, 0 + + if-lez v0, :label1 + + invoke-static {}, Lorg/junit/Assert;->fail()V + + :label1 + const/4 v0, 1 + + if-lez v0, :label2 + return-void + + :label2 + invoke-static {}, Lorg/junit/Assert;->fail()V + + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22b/Format22b.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22b/Format22b.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22b/Format22b.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22b/Format22b.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,163 @@ +.class public LFormat22b; +.super Ljava/lang/Object; +.source "Format22b.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public test_add-int-lit8()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 5 + + add-int/lit8 v1, v0, 23 + + const v0, 28 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_add-sub-lit8()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 23 + + rsub-int/lit8 v1, v0, 5 + + const v0, -18 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_mul-int-lit8()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 5 + + mul-int/lit8 v1, v0, 23 + + const v0, 115 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_div-int-lit8()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 23 + + div-int/lit8 v1, v0, 5 + + const v0, 4 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_rem-int-lit8()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 23 + + rem-int/lit8 v1, v0, 5 + + const v0, 3 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_and-int-lit8()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 5 + + and-int/lit8 v1, v0, 23 + + const v0, 5 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_or-int-lit8()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 5 + + or-int/lit8 v1, v0, 23 + + const v0, 23 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_xor-int-lit8()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 5 + + xor-int/lit8 v1, v0, 23 + + const v0, 18 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_shl-int-lit8()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 23 + + shl-int/lit8 v1, v0, 5 + + const v0, 736 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_shr-int-lit8()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, -736 + + shr-int/lit8 v1, v0, 5 + + const v0, -23 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_ushr-int-lit8()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, -736 + + ushr-int/lit8 v1, v0, 5 + + const v0, 134217705 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22c/Format22c.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22c/Format22c.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22c/Format22c.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22c/Format22c.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,145 @@ +.class public LFormat22c; +.super Ljava/lang/Object; +.source "Format22c.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public test-iput__iget()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + new-instance v2, LInstanceFields; + invoke-direct {v2}, LInstanceFields;->()V + + const v0, 23 + iput v0, v2, LInstanceFields;->instanceField:I + + iget v1, v2, LInstanceFields;->instanceField:I + + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test-iput-object__iget-object()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + new-instance v2, LInstanceFields; + invoke-direct {v2}, LInstanceFields;->()V + + const-string v0, "a string" + iput-object v0, v2, LInstanceFields;->instanceObjectField:Ljava/lang/String; + + iget-object v1, v2, LInstanceFields;->instanceObjectField:Ljava/lang/String; + + invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V + return-void +.end method + +.method public test-iput-wide__iget-wide()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + new-instance v2, LInstanceFields; + invoke-direct {v2}, LInstanceFields;->()V + + const-wide v0, 0x200000000L + iput-wide v0, v2, LInstanceFields;->instanceWideField:J + + iget-wide v2, v2, LInstanceFields;->instanceWideField:J + + invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test-iput-boolean__iget-boolean_true()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + new-instance v2, LInstanceFields; + invoke-direct {v2}, LInstanceFields;->()V + + const v0, 1 + iput-boolean v0, v2, LInstanceFields;->instanceBooleanField:Z + + iget-boolean v1, v2, LInstanceFields;->instanceBooleanField:Z + + invoke-static {v1}, Lorg/junit/Assert;->assertTrue(Z)V + return-void +.end method + +.method public test-iput-boolean__iget-boolean_false()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + new-instance v2, LInstanceFields; + invoke-direct {v2}, LInstanceFields;->()V + + const v0, 0 + iput-boolean v0, v2, LInstanceFields;->instanceBooleanField:Z + + iget-boolean v1, v2, LInstanceFields;->instanceBooleanField:Z + + invoke-static {v1}, Lorg/junit/Assert;->assertFalse(Z)V + return-void +.end method + +.method public test-iput-byte__iget-byte()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + new-instance v2, LInstanceFields; + invoke-direct {v2}, LInstanceFields;->()V + + const v0, 120T + iput-byte v0, v2, LInstanceFields;->instanceByteField:B + + iget-byte v1, v2, LInstanceFields;->instanceByteField:B + + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test-iput-char__iget-char()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + new-instance v2, LInstanceFields; + invoke-direct {v2}, LInstanceFields;->()V + + const v0, 'a' + iput-char v0, v2, LInstanceFields;->instanceCharField:C + + iget-char v1, v2, LInstanceFields;->instanceCharField:C + + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test-iput-short__iget-short()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + new-instance v2, LInstanceFields; + invoke-direct {v2}, LInstanceFields;->()V + + const v0, 1234S + iput-short v0, v2, LInstanceFields;->instanceShortField:S + + iget-short v1, v2, LInstanceFields;->instanceShortField:S + + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22c/InstanceFields.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22c/InstanceFields.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22c/InstanceFields.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22c/InstanceFields.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,16 @@ +.class public LInstanceFields; +.super Ljava/lang/Object; + +.method public constructor ()V + .registers 1 + invoke-direct {v0}, Ljava/lang/Object;->()V + return-void +.end method + +.field public instanceField:I +.field public instanceWideField:J +.field public instanceObjectField:Ljava/lang/String; +.field public instanceBooleanField:Z +.field public instanceByteField:B +.field public instanceCharField:C +.field public instanceShortField:S \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22s/Format22s.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22s/Format22s.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22s/Format22s.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22s/Format22s.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,121 @@ +.class public LFormat22s; +.super Ljava/lang/Object; +.source "Format22s.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public test_add-int-lit8()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 5 + + add-int/lit16 v1, v0, 500 + + const v0, 505 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_add-sub-lit16()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 23 + + rsub-int v1, v0, 500 + + const v0, 477 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_mul-int-lit16()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 23 + + mul-int/lit16 v1, v0, 500 + + const v0, 11500 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_div-int-lit16()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 11503 + + div-int/lit16 v1, v0, 500 + + const v0, 23 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_rem-int-lit16()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 11503 + + rem-int/lit16 v1, v0, 500 + + const v0, 3 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_and-int-lit16()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 23 + + and-int/lit16 v1, v0, 500 + + const v0, 20 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_or-int-lit16()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 23 + + or-int/lit16 v1, v0, 500 + + const v0, 503 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_xor-int-lit16()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 23 + + xor-int/lit16 v1, v0, 500 + + const v0, 483 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22t/Format22t.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22t/Format22t.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22t/Format22t.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22t/Format22t.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,154 @@ +.class public LFormat22t; +.super Ljava/lang/Object; +.source "Format22t.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + + +.method public test_if-eq()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 23 + const v1, 23 + + if-eq v0, v1, :label1 + + invoke-static {}, Lorg/junit/Assert;->fail()V + + :label1 + const v1, 24 + + if-eq v0, v1, :label2 + return-void + + :label2 + invoke-static {}, Lorg/junit/Assert;->fail()V + + return-void +.end method + +.method public test_if-ne()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 23 + const v1, 24 + + if-ne v0, v1, :label1 + + invoke-static {}, Lorg/junit/Assert;->fail()V + + :label1 + const v1, 23 + + if-ne v0, v1, :label2 + return-void + + :label2 + invoke-static {}, Lorg/junit/Assert;->fail()V + + return-void +.end method + +.method public test_if-lt()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 23 + const v1, 24 + + if-lt v0, v1, :label1 + + invoke-static {}, Lorg/junit/Assert;->fail()V + + :label1 + const v1, 23 + + if-lt v0, v1, :label2 + return-void + + :label2 + invoke-static {}, Lorg/junit/Assert;->fail()V + + return-void +.end method + +.method public test_if-ge()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 23 + const v1, 23 + + if-ge v0, v1, :label1 + + invoke-static {}, Lorg/junit/Assert;->fail()V + + :label1 + const v1, 24 + + if-ge v0, v1, :label2 + return-void + + :label2 + invoke-static {}, Lorg/junit/Assert;->fail()V + + return-void +.end method + +.method public test_if-gt()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 23 + const v1, 22 + + if-gt v0, v1, :label1 + + invoke-static {}, Lorg/junit/Assert;->fail()V + + :label1 + const v1, 23 + + if-gt v0, v1, :label2 + return-void + + :label2 + invoke-static {}, Lorg/junit/Assert;->fail()V + + return-void +.end method + +.method public test_if-le()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 23 + const v1, 23 + + if-le v0, v1, :label1 + + invoke-static {}, Lorg/junit/Assert;->fail()V + + :label1 + const v1, 22 + + if-le v0, v1, :label2 + return-void + + :label2 + invoke-static {}, Lorg/junit/Assert;->fail()V + + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22x/Format22x.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22x/Format22x.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22x/Format22x.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format22x/Format22x.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,51 @@ +.class public LFormat22x; +.super Ljava/lang/Object; +.source "Format22x.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public test_move-from16()V + .registers 276 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 6 + move/16 v275, v0 + + move/from16 v1, v275 + + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_move-wide-from16()V + .registers 276 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 0x200000000L + move-wide/16 v274, v0 + + move-wide/from16 v2, v274 + + invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_move-object-from16()V + .registers 276 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-string v0, "6" + move-object/16 v275, v0 + + move-object/from16 v1, v275 + + invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format23x/Format23x.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format23x/Format23x.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format23x/Format23x.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format23x/Format23x.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,891 @@ +.class public LFormat23x; +.super Ljava/lang/Object; +.source "Format23x.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public test_cmpl-float()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 123.4f + const v1, 234.5f + + cmpl-float v0, v0, v1 + + const v1, -1 + + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_cmpl-float-NaN()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + sget v0, Ljava/lang/Float;->NaN:F + const v1, 234.5f + + cmpl-float v0, v0, v1 + + const v1, -1 + + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_cmpg-float()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 123.4f + const v1, 234.5f + + cmpg-float v0, v0, v1 + + const v1, -1 + + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_cmpg-float-NaN()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + sget v0, Ljava/lang/Float;->NaN:F + const v1, 234.5f + + cmpg-float v0, v0, v1 + + const v1, 1 + + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + + +.method public test_cmpl-double()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 123.4 + const-wide v2, 234.5 + + cmpl-double v0, v0, v2 + + const v1, -1 + + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_cmpl-double-NaN()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + sget-wide v0, Ljava/lang/Double;->NaN:D + const-wide v2, 234.5 + + cmpl-double v0, v0, v2 + + const v1, -1 + + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_cmpg-double()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 123.4 + const-wide v2, 234.5 + + cmpg-double v0, v0, v2 + + const v1, -1 + + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_cmpg-double-NaN()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + sget-wide v0, Ljava/lang/Double;->NaN:D + const-wide v2, 234.5 + + cmpg-double v0, v0, v2 + + const v1, 1 + + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_cmp-long()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 0x100000000L + const-wide v2, 0x200000000L + + cmp-long v0, v0, v2 + + const v1, -1 + + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + + +.method public test_aget__aput()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 3 + new-array v0, v0, [I + + const v1, 1 + const v2, 0 + aput v1, v0, v2 + + const v1, 2 + const v2, 1 + aput v1, v0, v2 + + const v1, 3 + const v2, 2 + aput v1, v0, v2 + + + const v2, 0 + aget v1, v0, v2 + const v2, 1 + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + const v2, 1 + aget v1, v0, v2 + const v2, 2 + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + const v2, 2 + aget v1, v0, v2 + const v2, 3 + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_aget-wide__aput-wide()V + .registers 5 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 3 + new-array v0, v0, [J + + const-wide v1, 0x100000000L + const v3, 0 + aput-wide v1, v0, v3 + + const-wide v1, 0x100000001L + const v3, 1 + aput-wide v1, v0, v3 + + const-wide v1, 0x100000002L + const v3, 2 + aput-wide v1, v0, v3 + + + const v3, 0 + aget-wide v1, v0, v3 + const-wide v3, 0x100000000L + invoke-static {v1, v2, v3, v4}, Lorg/junit/Assert;->assertEquals(JJ)V + + const v3, 1 + aget-wide v1, v0, v3 + const-wide v3, 0x100000001L + invoke-static {v1, v2, v3, v4}, Lorg/junit/Assert;->assertEquals(JJ)V + + + const v3, 2 + aget-wide v1, v0, v3 + const-wide v3, 0x100000002L + invoke-static {v1, v2, v3, v4}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_aget-object__aput-object()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 3 + new-array v0, v0, [Ljava/lang/String; + + const-string v1, "1" + const v2, 0 + aput-object v1, v0, v2 + + const-string v1, "2" + const v2, 1 + aput-object v1, v0, v2 + + const-string v1, "3" + const v2, 2 + aput-object v1, v0, v2 + + + const v2, 0 + aget-object v1, v0, v2 + const-string v2, "1" + invoke-static {v1, v2}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V + + const v2, 1 + aget-object v1, v0, v2 + const-string v2, "2" + invoke-static {v1, v2}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V + + const v2, 2 + aget-object v1, v0, v2 + const-string v2, "3" + invoke-static {v1, v2}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V + return-void +.end method + +.method public test_aget-boolean__aput-boolean()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 2 + new-array v0, v0, [Z + + const v1, 0 + const v2, 0 + aput-boolean v1, v0, v2 + + const v1, 1 + const v2, 1 + aput-boolean v1, v0, v2 + + + const v2, 0 + aget-boolean v1, v0, v2 + invoke-static {v1}, Lorg/junit/Assert;->assertFalse(Z)V + + const v2, 1 + aget-boolean v1, v0, v2 + invoke-static {v1}, Lorg/junit/Assert;->assertTrue(Z)V + return-void +.end method + +.method public test_aget-byte__aput-byte()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 3 + new-array v0, v0, [B + + const v1, 1T + const v2, 0 + aput-byte v1, v0, v2 + + const v1, 2T + const v2, 1 + aput-byte v1, v0, v2 + + const v1, 3T + const v2, 2 + aput-byte v1, v0, v2 + + + const v2, 0 + aget-byte v1, v0, v2 + const v2, 1T + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + const v2, 1 + aget-byte v1, v0, v2 + const v2, 2T + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + const v2, 2 + aget-byte v1, v0, v2 + const v2, 3T + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_aget-char__aput-char()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 3 + new-array v0, v0, [C + + const v1, '1' + const v2, 0 + aput-char v1, v0, v2 + + const v1, '2' + const v2, 1 + aput-char v1, v0, v2 + + const v1, '3' + const v2, 2 + aput-char v1, v0, v2 + + + const v2, 0 + aget-char v1, v0, v2 + const v2, '1' + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + const v2, 1 + aget-char v1, v0, v2 + const v2, '2' + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + const v2, 2 + aget-char v1, v0, v2 + const v2, '3' + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_aget-short__aput-short()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 3 + new-array v0, v0, [S + + const v1, 1S + const v2, 0 + aput-short v1, v0, v2 + + const v1, 2S + const v2, 1 + aput-short v1, v0, v2 + + const v1, 3S + const v2, 2 + aput-short v1, v0, v2 + + + const v2, 0 + aget-short v1, v0, v2 + const v2, 1S + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + const v2, 1 + aget-short v1, v0, v2 + const v2, 2S + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + const v2, 2 + aget-short v1, v0, v2 + const v2, 3S + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_add-int()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 5 + const v1, 23 + + add-int v2, v0, v1 + + const/16 v1, 28 + invoke-static {v1,v2}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_sub-int()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 5 + const v1, 23 + + sub-int v2, v0, v1 + + const/16 v1, -18 + invoke-static {v1,v2}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_mul-int()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 5 + const v1, 23 + + mul-int v2, v0, v1 + + const/16 v1, 115 + invoke-static {v1,v2}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_div-int()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 5 + const v1, 23 + + div-int v2, v1, v0 + + const/16 v1, 4 + invoke-static {v1,v2}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_rem-int()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 5 + const v1, 23 + + rem-int v2, v1, v0 + + const/16 v1, 3 + invoke-static {v1,v2}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_and-int()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 5 + const v1, 23 + + and-int v2, v0, v1 + + const/16 v1, 5 + invoke-static {v1,v2}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_or-int()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 5 + const v1, 23 + + or-int v2, v0, v1 + + const/16 v1, 23 + invoke-static {v1,v2}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_xor-int()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 5 + const v1, 23 + + xor-int v2, v0, v1 + + const/16 v1, 18 + invoke-static {v1,v2}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_shl-int()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 23 + const v1, 5 + + shl-int v2, v0, v1 + + const/16 v1, 736 + invoke-static {v1,v2}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_shr-int()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, -736 + const v1, 5 + + shr-int v2, v0, v1 + + const/16 v1, -23 + invoke-static {v1,v2}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_ushr-int()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, -736 + const v1, 5 + + ushr-int v2, v0, v1 + + const v1, 134217705 + invoke-static {v1,v2}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_add-long()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 5L + const-wide v2, 23L + + add-long v4, v0, v2 + + const-wide v2, 28 + invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_sub-long()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 5L + const-wide v2, 23L + + sub-long v4, v0, v2 + + const-wide v2, -18 + invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_mul-long()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 5L + const-wide v2, 23L + + mul-long v4, v0, v2 + + const-wide v2, 115 + invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_div-long()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 5L + const-wide v2, 23L + + div-long v4, v2, v0 + + const-wide v2, 4 + invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_rem-long()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 5L + const-wide v2, 23L + + rem-long v4, v2, v0 + + const-wide v2, 3 + invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_and-long()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 5L + const-wide v2, 23L + + and-long v4, v0, v2 + + const-wide v2, 5 + invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_or-long()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 5L + const-wide v2, 23L + + or-long v4, v0, v2 + + const-wide v2, 23 + invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_xor-long()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 5L + const-wide v2, 23L + + xor-long v4, v0, v2 + + const-wide v2, 18 + invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_shl-long()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 23L + const v2, 5 + + shl-long v4, v0, v2 + + const-wide v2, 736 + invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_shr-long()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, -736L + const v2, 5 + + shr-long v4, v0, v2 + + const-wide v2, -23 + invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_ushr-long()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, -736L + const v2, 5 + + ushr-long v4, v0, v2 + + const-wide v2, 576460752303423465L + invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_add-float()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 3.14159f + const v1, .11f + + add-float v2, v0, v1 + + const v1, 3.25159f + invoke-static {v1, v2}, LAssert;->assertEquals(FF)V + return-void +.end method + +.method public test_sub-float()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 3.14159f + const v1, .11f + + sub-float v2, v0, v1 + + const v1, 3.03159f + invoke-static {v1, v2}, LAssert;->assertEquals(FF)V + return-void +.end method + +.method public test_mul-float()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 3.14159f + const v1, .11f + + mul-float v2, v0, v1 + + const v1, .3455749f + invoke-static {v1, v2}, LAssert;->assertEquals(FF)V + return-void +.end method + +.method public test_div-float()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 3.14159f + const v1, .11f + + div-float v2, v0, v1 + + const v1, 28.55990909f + invoke-static {v1, v2}, LAssert;->assertEquals(FF)V + return-void +.end method + +.method public test_rem-float()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 3.14159f + const v1, .11f + + rem-float v2, v0, v1 + + const v1, .06159999f + invoke-static {v1, v2}, LAssert;->assertEquals(FF)V + return-void +.end method + +.method public test_add-double()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 3.14159 + const-wide v2, .11 + + add-double v4, v0, v2 + + const-wide v2, 3.25159 + invoke-static {v2, v3, v4, v5}, LAssert;->assertEquals(DD)V + return-void +.end method + +.method public test_sub-double()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 3.14159 + const-wide v2, .11 + + sub-double v4, v0, v2 + + const-wide v2, 3.03159 + invoke-static {v2, v3, v4, v5}, LAssert;->assertEquals(DD)V + return-void +.end method + +.method public test_mul-double()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 3.14159 + const-wide v2, .11 + + mul-double v4, v0, v2 + + const-wide v2, .3455749 + invoke-static {v2, v3, v4, v5}, LAssert;->assertEquals(DD)V + return-void +.end method + +.method public test_div-double()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 3.14159 + const-wide v2, .11 + + div-double v4, v0, v2 + + const-wide v2, 28.55990909 + invoke-static {v2, v3, v4, v5}, LAssert;->assertEquals(DD)V + return-void +.end method + +.method public test_rem-double()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 3.14159 + const-wide v2, .11 + + rem-double v4, v0, v2 + + const-wide v2, .06159999 + invoke-static {v2, v3, v4, v5}, LAssert;->assertEquals(DD)V + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format30t/Format30t.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format30t/Format30t.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format30t/Format30t.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format30t/Format30t.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,70758 @@ +.class public LFormat30t; +.super Ljava/lang/Object; +.source "Format30t.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public test_goto-32()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + + + const v0, 5 + + goto/32 :label + + :label2 + + const v1, 6 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void + + #enough nops to force the offset to be more than what would fit in 2 bytes + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + + + :label + const v0, 6 + goto/32 :label2 + + + invoke-static {}, Lorg/junit/Assert;->fail()V + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format31i/Format31i.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format31i/Format31i.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format31i/Format31i.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format31i/Format31i.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,41 @@ +.class public LFormat31i; +.super Ljava/lang/Object; +.source "Format31i.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public test_const()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 0x10000000 + + invoke-static {v0}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; + move-result-object v1 + + const-string v0, "268435456" + + invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V + return-void +.end method + +.method public test_const-wide-32()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide/32 v0, 0x10000000 + + invoke-static {v0, v1}, Ljava/lang/Long;->toString(J)Ljava/lang/String; + move-result-object v1 + + const-string v0, "268435456" + + invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format31t/Format31t.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format31t/Format31t.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format31t/Format31t.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format31t/Format31t.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,131 @@ +.class public LFormat31t; +.super Ljava/lang/Object; +.source "Format31t.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public test_fill-array-data()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 6 + new-array v0, v0, [I + fill-array-data v0, :ArrayData + + const v1, 0 + aget v2, v0, v1 + const v1, 1 + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + const v1, 1 + aget v2, v0, v1 + const v1, 2 + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + const v1, 2 + aget v2, v0, v1 + const v1, 3 + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + const v1, 3 + aget v2, v0, v1 + const v1, 4 + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + const v1, 4 + aget v2, v0, v1 + const v1, 5 + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + const v1, 5 + aget v2, v0, v1 + const v1, 6 + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + return-void + +:ArrayData + .array-data 4 + 1 2 3 4 5 6 + .end array-data +.end method + +.method public test_packed-switch()V + .registers 1 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 12 + +:switch + packed-switch v0, :PackedSwitch + +:Label10 + invoke-static {}, Lorg/junit/Assert;->fail()V + return-void + +:Label11 + invoke-static {}, Lorg/junit/Assert;->fail()V + return-void + +:Label12 + return-void + +:Label13 + invoke-static {}, Lorg/junit/Assert;->fail()V + return-void + +:PackedSwitch + .packed-switch 10 + :Label10 + :Label11 + :Label12 + :Label13 + .end packed-switch +.end method + + +.method public test_sparse-switch()V + .registers 1 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 13 + +:switch + sparse-switch v0, :SparseSwitch + +:Label10 + invoke-static {}, Lorg/junit/Assert;->fail()V + return-void + +:Label20 + invoke-static {}, Lorg/junit/Assert;->fail()V + return-void + +:Label15 + invoke-static {}, Lorg/junit/Assert;->fail()V + return-void + +:Label13 + return-void + +:Label99 + invoke-static {}, Lorg/junit/Assert;->fail()V + return-void + +:SparseSwitch + .sparse-switch + 10 -> :Label10 + 13 -> :Label13 + 15 -> :Label15 + 20 -> :Label20 + 99 -> :Label99 + .end sparse-switch +.end method + diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format32x/Format32x.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format32x/Format32x.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format32x/Format32x.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format32x/Format32x.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,51 @@ +.class public LFormat32x; +.super Ljava/lang/Object; +.source "Format32x.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public test_move-16()V + .registers 500 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 123 + move/16 v323, v0 + move/16 v400, v323 + move/16 v1, v400 + + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_move-wide-16()V + .registers 500 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 0x200000000L + move-wide/16 v400, v0 + move-wide/16 v402, v400 + move-wide/16 v2, v402 + + invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method + +.method public test_move-object-16()V + .registers 500 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-string v0, "123" + move-object/16 v323, v0 + move-object/16 v400, v323 + move-object/16 v1, v400 + + invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format35c/Format35c.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format35c/Format35c.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format35c/Format35c.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format35c/Format35c.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,124 @@ +.class public LFormat35c; +.super LMethodsSuper; +.source "Format35c.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, LMethodsSuper;->()V + return-void +.end method + +.method public superMethodTest()I + .registers 1 + const v0, 123 + return v0 +.end method + +.method private directMethodTest()I + .registers 1 + const v0, 23 + return v0 +.end method + + +.method public test_invoke-virtual()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + new-instance v0, LMethods; + invoke-direct {v0}, LMethods;->()V + + invoke-virtual {v0}, LMethods;->virtualMethodTest()I + move-result v0 + + const v1, 23 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_invoke-super()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + invoke-super {p0}, LFormat35c;->superMethodTest()I + move-result v0 + + const v1, 23 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_invoke-direct()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + invoke-direct {p0}, LFormat35c;->directMethodTest()I + move-result v0 + + const v1, 23 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_invoke-static()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + invoke-static {}, LMethods;->staticMethodTest()I + move-result v0 + + const v1, 23 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_invoke-interface()V + .registers 2 + .annotation runtime Lorg/junit/Test; + .end annotation + + new-instance v0, LMethods; + invoke-direct {v0}, LMethods;->()V + + invoke-interface {v0}, LMethodsInterface;->interfaceMethodTest()I + move-result v0 + + const v1, 23 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_filled-new-array()V + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 10 + const v1, 20 + const v2, 30 + + filled-new-array {v0, v1, v2}, [I + move-result-object v0 + + const v1, 0 + aget v2, v0, v1 + const v1, 10 + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + const v1, 1 + aget v2, v0, v1 + const v1, 20 + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + const v1, 2 + aget v2, v0, v1 + const v1, 30 + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + return-void +.end method + diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format35c/MethodsInterface.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format35c/MethodsInterface.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format35c/MethodsInterface.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format35c/MethodsInterface.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,5 @@ +.class public abstract interface LMethodsInterface; +.super Ljava/lang/Object; + +.method public abstract interfaceMethodTest()I +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format35c/Methods.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format35c/Methods.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format35c/Methods.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format35c/Methods.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,27 @@ +.class public LMethods; +.super LMethodsSuper; +.implements LMethodsInterface; + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, LMethodsSuper;->()V + return-void +.end method + +.method public virtualMethodTest()I + .registers 1 + const v0, 23 + return v0 +.end method + +.method public static staticMethodTest()I + .registers 1 + const v0, 23 + return v0 +.end method + +.method public interfaceMethodTest()I + .registers 1 + const v0, 23 + return v0 +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format35c/MethodsSuper.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format35c/MethodsSuper.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format35c/MethodsSuper.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format35c/MethodsSuper.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,20 @@ +.class public LMethodsSuper; +.super Ljava/lang/Object; + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public superMethodTest()I + .registers 1 + const v0, 23 + return v0 +.end method + +.method public virtualMethodTest()I + .registers 1 + const v0, 123 + return v0 +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format3rc/Format3rc.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format3rc/Format3rc.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format3rc/Format3rc.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format3rc/Format3rc.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,197 @@ +.class public LFormat3rc; +.super LRangeMethodsSuper; +.source "Format3rc.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, LRangeMethodsSuper;->()V + return-void +.end method + +.method public superMethodTest(IIIIII)I + .registers 7 + + add-int v0, v1, v2 + add-int v0, v0, v3 + add-int v0, v0, v4 + add-int v0, v0, v5 + add-int v0, v0, v6 + + #add something extra, to make the test fail if this method is called instead of the super's method + const v1, 1 + add-int v0, v0, v1 + + return v0 +.end method + +.method private directMethodTest(IIIIII)I + .registers 7 + + add-int v0, v1, v2 + add-int v0, v0, v3 + add-int v0, v0, v4 + add-int v0, v0, v5 + add-int v0, v0, v6 + + return v0 +.end method + + +.method public test_invoke-virtual-range()V + .registers 7 + .annotation runtime Lorg/junit/Test; + .end annotation + + new-instance v0, LRangeMethods; + invoke-direct {v0}, LRangeMethods;->()V + + const v1, 1 + const v2, 2 + const v3, 3 + const v4, 4 + const v5, 5 + const v6, 6 + + invoke-virtual/range {v0 .. v6}, LRangeMethods;->virtualMethodTest(IIIIII)I + move-result v0 + + const v1, 21 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_invoke-super-range()V + .registers 7 + .annotation runtime Lorg/junit/Test; + .end annotation + + move-object v0, p0 + const v1, 1 + const v2, 2 + const v3, 3 + const v4, 4 + const v5, 5 + const v6, 6 + + invoke-super/range {v0 .. v6}, LFormat3rc;->superMethodTest(IIIIII)I + move-result v0 + + const v1, 21 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_invoke-direct-range()V + .registers 7 + .annotation runtime Lorg/junit/Test; + .end annotation + + move-object v0, p0 + const v1, 1 + const v2, 2 + const v3, 3 + const v4, 4 + const v5, 5 + const v6, 6 + + invoke-direct/range {v0 .. v6}, LFormat3rc;->directMethodTest(IIIIII)I + move-result v0 + + const v1, 21 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_invoke-static-range()V + .registers 7 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v1, 1 + const v2, 2 + const v3, 3 + const v4, 4 + const v5, 5 + const v6, 6 + + invoke-static/range {v1 .. v6}, LRangeMethods;->staticMethodTest(IIIIII)I + move-result v0 + + const v1, 21 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_invoke-interface-range()V + .registers 7 + .annotation runtime Lorg/junit/Test; + .end annotation + + move-object v0, p0 + const v1, 1 + const v2, 2 + const v3, 3 + const v4, 4 + const v5, 5 + const v6, 6 + + new-instance v0, LRangeMethods; + invoke-direct {v0}, LRangeMethods;->()V + + invoke-interface/range {v0 .. v6}, LRangeMethodsInterface;->interfaceMethodTest(IIIIII)I + move-result v0 + + const v1, 21 + invoke-static {v0, v1}, LAssert;->assertEquals(II)V + return-void +.end method + +.method public test_filled-new-array-range()V + .registers 6 + .annotation runtime Lorg/junit/Test; + .end annotation + + const v0, 1 + const v1, 2 + const v2, 3 + const v3, 4 + const v4, 5 + const v5, 6 + + + filled-new-array/range {v0 .. v5}, [I + move-result-object v0 + + const v1, 0 + aget v2, v0, v1 + const v1, 1 + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + const v1, 1 + aget v2, v0, v1 + const v1, 2 + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + const v1, 2 + aget v2, v0, v1 + const v1, 3 + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + const v1, 3 + aget v2, v0, v1 + const v1, 4 + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + const v1, 4 + aget v2, v0, v1 + const v1, 5 + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + const v1, 5 + aget v2, v0, v1 + const v1, 6 + invoke-static {v1, v2}, LAssert;->assertEquals(II)V + + return-void +.end method + diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format3rc/RangeMethodsInterface.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format3rc/RangeMethodsInterface.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format3rc/RangeMethodsInterface.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format3rc/RangeMethodsInterface.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,5 @@ +.class public abstract interface LRangeMethodsInterface; +.super Ljava/lang/Object; + +.method public abstract interfaceMethodTest(IIIIII)I +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format3rc/RangeMethods.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format3rc/RangeMethods.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format3rc/RangeMethods.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format3rc/RangeMethods.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,45 @@ +.class public LRangeMethods; +.super LRangeMethodsSuper; +.implements LRangeMethodsInterface; + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, LRangeMethodsSuper;->()V + return-void +.end method + +.method public virtualMethodTest(IIIIII)I + .registers 7 + + add-int v0, v1, v2 + add-int v0, v0, v3 + add-int v0, v0, v4 + add-int v0, v0, v5 + add-int v0, v0, v6 + + return v0 +.end method + +.method public static staticMethodTest(IIIIII)I + .registers 7 + + add-int v0, v1, v2 + add-int v0, v0, v3 + add-int v0, v0, v4 + add-int v0, v0, v5 + add-int v0, v0, v6 + + return v0 +.end method + +.method public interfaceMethodTest(IIIIII)I + .registers 7 + + add-int v0, v1, v2 + add-int v0, v0, v3 + add-int v0, v0, v4 + add-int v0, v0, v5 + add-int v0, v0, v6 + + return v0 +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format3rc/RangeMethodsSuper.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format3rc/RangeMethodsSuper.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format3rc/RangeMethodsSuper.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format3rc/RangeMethodsSuper.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,36 @@ +.class public LRangeMethodsSuper; +.super Ljava/lang/Object; + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public superMethodTest(IIIIII)I + .registers 7 + + add-int v0, v1, v2 + add-int v0, v0, v3 + add-int v0, v0, v4 + add-int v0, v0, v5 + add-int v0, v0, v6 + + return v0 +.end method + +.method public virtualMethodTest(IIIIII)I + .registers 7 + + add-int v0, v1, v2 + add-int v0, v0, v3 + add-int v0, v0, v4 + add-int v0, v0, v5 + add-int v0, v0, v6 + + #add something extra, to make the test fail if this method is called instead of the subclasses's method + const v1, 1 + add-int v0, v0, v1 + + return v0 +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format51l/Format51l.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format51l/Format51l.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format51l/Format51l.smali 1970-01-01 09:00:00.000000000 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/instructiontests/Format51l/Format51l.smali 2016-11-01 08:14:50.000000000 +0900 @@ -0,0 +1,22 @@ +.class public LFormat51l; +.super Ljava/lang/Object; +.source "Format51l.smali" + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public test_const-wide()V + .registers 4 + .annotation runtime Lorg/junit/Test; + .end annotation + + const-wide v0, 6 + + const-wide/16 v2, 6 + + invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V + return-void +.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format10t/Format10t.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format10t/Format10t.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format10t/Format10t.smali 2017-09-27 02:07:41.303736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format10t/Format10t.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,37 +0,0 @@ -.class public LFormat10t; -.super Ljava/lang/Object; -.source "Format10t.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public test_goto()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - - const v0, 5 - - goto :label - - :label2 - - - const v1, 6 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void - - - - :label - const v0, 6 - goto :label2 - - - invoke-static {}, Lorg/junit/Assert;->fail()V - return-void -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format10x/Format10x.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format10x/Format10x.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format10x/Format10x.smali 2017-09-27 02:07:41.303736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format10x/Format10x.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,32 +0,0 @@ -.class public LFormat10x; -.super Ljava/lang/Object; -.source "Format10x.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public test_nop()V - .registers 1 - .annotation runtime Lorg/junit/Test; - .end annotation - - #yep, it's a nop. not much to test, other than that it runs - nop - - return-void -.end method - -.method public test_return-void()V - .registers 1 - .annotation runtime Lorg/junit/Test; - .end annotation - - return-void - - #if we get here, the return-void didn't work - invoke-static {}, Lorg/junit/Assert;->fail()V -.end method - diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format11n/Format11n.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format11n/Format11n.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format11n/Format11n.smali 2017-09-27 02:07:41.303736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format11n/Format11n.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,21 +0,0 @@ -.class public LFormat11n; -.super Ljava/lang/Object; -.source "Format11n.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public test_const-4()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/4 v0, 6 - - const v1, 6 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format11x/Format11x.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format11x/Format11x.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format11x/Format11x.smali 2017-09-27 02:07:41.303736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format11x/Format11x.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,114 +0,0 @@ -.class public LFormat11x; -.super Ljava/lang/Object; -.source "Format11x.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public testMethodI()I - .registers 1 - - const v0, 23 - return v0 -.end method - -.method public testMethodJ()J - .registers 2 - - const-wide v0, 0x200000000L - return-wide v0 -.end method - -.method public testMethodStr()Ljava/lang/String; - .registers 1 - - const-string v0, "in testMethodStr()" - return-object v0 -.end method - - -.method public test_move-result__return()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - invoke-virtual {p0}, LFormat11x;->testMethodI()I - move-result v0 - - const v1, 23 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_move-result-wide__return-wide()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - invoke-virtual {p0}, LFormat11x;->testMethodJ()J - move-result-wide v0 - - const-wide v2, 0x200000000L - invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_move-result-object__return-object()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - invoke-virtual {p0}, LFormat11x;->testMethodStr()Ljava/lang/String; - move-result-object v0 - - const-string v1, "in testMethodStr()" - invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V - return-void -.end method - -.method public test_move-exception__throw()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - :startTry - const-string v0, "This is an exception message" - new-instance v1, Ljava/lang/Exception; - invoke-direct {v1, v0}, Ljava/lang/Exception;->(Ljava/lang/String;)V - throw v1 - :endTry - - .catch Ljava/lang/Exception; {:startTry .. :endTry} :handler - - :handler - move-exception v0 - invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String; - move-result-object v1 - - const-string v0, "This is an exception message" - invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V - return-void -.end method - - -.method public test_monitor-enter__monitor_leave()V - .registers 1 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-string v0, "this is a string" - - monitor-enter v0 - - nop - nop - nop - - monitor-exit v0 - - #TODO: need to write a multi-threaded test to test monitor-enter and monitor-exit - return-void -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format12x/Format12x.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format12x/Format12x.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format12x/Format12x.smali 2017-09-27 02:07:41.303736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format12x/Format12x.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,824 +0,0 @@ -.class public LFormat12x; -.super Ljava/lang/Object; -.source "Format12x.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public test_move()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/4 v0, 6 - move v1, v0 - - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - - return-void -.end method - -.method public test_move-wide()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 0x200000000L - - move-wide v2, v0 - - invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V - - return-void -.end method - -.method public test_move-object()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-string v0, "random string value" - - move-object v1, v0 - - invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V - - return-void -.end method - -.method public test_array-length()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/4 v0, 3 - new-array v1, v0, [I - - array-length v2, v1 - - invoke-static {v0, v2}, LAssert;->assertEquals(II)V - - return-void -.end method - -.method public test_neg-int()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/16 v0, 23 - neg-int v1, v0 - - const/16 v2, -23 - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - return-void -.end method - - .method public test_not-int()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/16 v0, 23 - not-int v1, v0 - - const/16 v2, -24 - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_neg-long()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 0x200000000L - neg-long v2, v0 - - const-wide v4, -0x200000000L - invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_not-long()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 0x200000000L - not-long v2, v0 - - const-wide v4, -0x200000001L - invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_neg-float()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 3.14159f - neg-float v1, v0 - - const v2, -3.14159f - invoke-static {v1, v2}, LAssert;->assertEquals(FF)V - return-void -.end method - -.method public test_neg-double()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 3.14159 - neg-double v2, v0 - - const-wide v4, -3.14159 - invoke-static {v2, v3, v4, v5}, LAssert;->assertEquals(DD)V - return-void -.end method - -.method public test_int-to-long()V - .registers 5 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 23 - int-to-long v1, v0 - - const-wide v3, 23L - invoke-static {v1, v2, v3, v4}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_int-to-float()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 23 - int-to-float v1, v0 - - const v2, 23f - invoke-static {v1, v2}, LAssert;->assertEquals(FF)V - return-void -.end method - -.method public test_int-to-double()V - .registers 5 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 23 - int-to-double v1, v0 - - const-wide v3, 23.0 - invoke-static {v1, v2, v3, v4}, LAssert;->assertEquals(DD)V - return-void -.end method - -.method public test_long-to-int()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 23L - long-to-int v2, v0 - - const v3, 23 - invoke-static {v2, v3}, LAssert;->assertEquals(II)V - return-void -.end method - - -.method public test_long-to-float()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 0x200000000L - long-to-float v2, v0 - - const v3, 8.589934592e9f - invoke-static {v2, v3}, LAssert;->assertEquals(FF)V - return-void -.end method - -.method public test_long-to-double()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 0x200000000L - long-to-double v2, v0 - - const-wide v4, 8.589934592e9 - invoke-static {v2, v3, v4, v5}, LAssert;->assertEquals(DD)V - return-void -.end method - -.method public test_float-to-int()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 3.14159f - float-to-int v1, v0 - - const v2, 3 - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_float-to-long()V - .registers 5 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 3.14159f - float-to-long v1, v0 - - const-wide v3, 3L - invoke-static {v1, v2, v3, v4}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_float-to-double()V - .registers 5 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 3.14159f - float-to-double v1, v0 - - const-wide v3, 3.14159 - invoke-static {v1, v2, v3, v4}, LAssert;->assertEquals(DD)V - return-void -.end method - -.method public test_double-to-int()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 3.1415926535897932384626433832795028841971 - double-to-int v2, v0 - - const v3, 3 - invoke-static {v2, v3}, LAssert;->assertEquals(II)V - return-void -.end method - - -.method public test_double-to-long()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 3.14159265358e11 - double-to-long v2, v0 - - const-wide v4, 314159265358L - invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_double-to-float()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 3.1415926535897932384626433832795028841971 - double-to-float v2, v0 - - const v3, 3.141592653589f - invoke-static {v2, v3}, LAssert;->assertEquals(FF)V - return-void -.end method - -.method public test_int-to-byte()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 0x10010 - - int-to-byte v1, v0 - - const/16 v2, 0x10 - invoke-static {v1,v2}, LAssert;->assertEquals(II)V - return-void -.end method - - -.method public test_int-to-char()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 0x11234 - - int-to-char v1, v0 - - const/16 v2, '\u1234' - invoke-static {v1,v2}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_int-to-short()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 0x11234 - - int-to-short v1, v0 - - const/16 v2, 0x1234 - invoke-static {v1,v2}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_add-int-2addr()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/4 v0,5 - const/16 v1, 23 - - add-int/2addr v0, v1 - - const/16 v1, 28 - invoke-static {v0,v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_sub-int-2addr()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/4 v0,5 - const/16 v1, 23 - - sub-int/2addr v0, v1 - - const/16 v1, -18 - invoke-static {v0,v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_mul-int-2addr()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/4 v0,5 - const/16 v1, 23 - - mul-int/2addr v0, v1 - - const/16 v1, 115 - invoke-static {v0,v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_div-int-2addr()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/4 v0,5 - const/16 v1, 23 - - div-int/2addr v1, v0 - - const/16 v0, 4 - invoke-static {v0,v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_rem-int-2addr()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/4 v0,5 - const/16 v1, 23 - - rem-int/2addr v1, v0 - - const/16 v0, 3 - invoke-static {v0,v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_and-int-2addr()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/4 v0,5 - const/16 v1, 23 - - and-int/2addr v0, v1 - - const/16 v1, 5 - invoke-static {v0,v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_or-int-2addr()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/4 v0,5 - const/16 v1, 23 - - or-int/2addr v0, v1 - - const/16 v1, 23 - invoke-static {v0,v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_xor-int-2addr()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/4 v0,5 - const/16 v1, 23 - - xor-int/2addr v0, v1 - - const/16 v1, 18 - invoke-static {v0,v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_shl-int-2addr()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/16 v0,23 - const/4 v1, 5 - - shl-int/2addr v0, v1 - - const/16 v1, 736 - invoke-static {v0,v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_shr-int-2addr()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/16 v0, -736 - const/4 v1, 5 - - shr-int/2addr v0, v1 - - const/16 v1, -23 - invoke-static {v0,v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_ushr-int-2addr()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/16 v0, -736 - const/4 v1, 5 - - ushr-int/2addr v0, v1 - - const v1, 134217705 - invoke-static {v0,v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_add-long-2addr()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 5L - const-wide v2, 23L - - add-long/2addr v0, v2 - - const-wide v2, 28 - invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_sub-long-2addr()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0,5 - const-wide v2, 23 - - sub-long/2addr v0, v2 - - const-wide v2, -18 - invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_mul-long-2addr()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0,5 - const-wide v2, 23 - - mul-long/2addr v0, v2 - - const-wide v2, 115 - invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_div-long-2addr()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0,5 - const-wide v2, 23 - - div-long/2addr v2, v0 - - const-wide v0, 4 - invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_rem-long-2addr()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0,5 - const-wide v2, 23 - - rem-long/2addr v2, v0 - - const-wide v0, 3 - invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_and-long-2addr()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0,5 - const-wide v2, 23 - - and-long/2addr v0, v2 - - const-wide v2, 5 - invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_or-long-2addr()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0,5 - const-wide v2, 23 - - or-long/2addr v0, v2 - - const-wide v2, 23 - invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_xor-long-2addr()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0,5 - const-wide v2, 23 - - xor-long/2addr v0, v2 - - const-wide v2, 18 - invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_shl-long-2addr()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 23 - const v2, 5 - - shl-long/2addr v0, v2 - - const-wide v2, 736 - invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_shr-long-2addr()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, -736 - const v2, 5 - - shr-long/2addr v0, v2 - - const-wide v2, -23 - invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_ushr-long-2addr()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, -736 - const v2, 5 - - ushr-long/2addr v0, v2 - - const-wide v2, 576460752303423465L - invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_add-float-2addr()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 3.14159f - const v1, .11f - - add-float/2addr v0, v1 - - const v1, 3.25159f - invoke-static {v0, v1}, LAssert;->assertEquals(FF)V - return-void -.end method - -.method public test_sub-float-2addr()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 3.14159f - const v1, .11f - - sub-float/2addr v0, v1 - - const v1, 3.03159f - invoke-static {v0, v1}, LAssert;->assertEquals(FF)V - return-void -.end method - -.method public test_mul-float-2addr()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 3.14159f - const v1, .11f - - mul-float/2addr v0, v1 - - const v1, .3455749f - invoke-static {v0, v1}, LAssert;->assertEquals(FF)V - return-void -.end method - -.method public test_div-float-2addr()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 3.14159f - const v1, .11f - - div-float/2addr v0, v1 - - const v1, 28.55990909f - invoke-static {v0, v1}, LAssert;->assertEquals(FF)V - return-void -.end method - -.method public test_rem-float-2addr()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 3.14159f - const v1, .11f - - rem-float/2addr v0, v1 - - const v1, .06159999f - invoke-static {v0, v1}, LAssert;->assertEquals(FF)V - return-void -.end method - -.method public test_add-double-2addr()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 3.14159 - const-wide v2, .11 - - add-double/2addr v0, v2 - - const-wide v2, 3.25159 - invoke-static {v0, v1, v2, v3}, LAssert;->assertEquals(DD)V - return-void -.end method - -.method public test_sub-double-2addr()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 3.14159 - const-wide v2, .11 - - sub-double/2addr v0, v2 - - const-wide v2, 3.03159 - invoke-static {v0, v1, v2, v3}, LAssert;->assertEquals(DD)V - return-void -.end method - -.method public test_mul-double-2addr()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 3.14159 - const-wide v2, .11 - - mul-double/2addr v0, v2 - - const-wide v2, .3455749 - invoke-static {v0, v1, v2, v3}, LAssert;->assertEquals(DD)V - return-void -.end method - -.method public test_div-double-2addr()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 3.14159 - const-wide v2, .11 - - div-double/2addr v0, v2 - - const-wide v2, 28.55990909 - invoke-static {v0, v1, v2, v3}, LAssert;->assertEquals(DD)V - return-void -.end method - -.method public test_rem-double-2addr()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 3.14159 - const-wide v2, .11 - - rem-double/2addr v0, v2 - - const-wide v2, .06159999 - invoke-static {v0, v1, v2, v3}, LAssert;->assertEquals(DD)V - return-void -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format20t/Format20t.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format20t/Format20t.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format20t/Format20t.smali 2017-09-27 02:07:41.303736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format20t/Format20t.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,1079 +0,0 @@ -.class public LFormat20t; -.super Ljava/lang/Object; -.source "Format20t.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public test_goto-16()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - - const v0, 5 - - goto/16 :label - - :label2 - - - const v1, 6 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void - - #enough nops to force the offset to be more than would fit in 1 byte - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - - - - :label - const v0, 6 - goto/16 :label2 - - - invoke-static {}, Lorg/junit/Assert;->fail()V - return-void -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21c/Format21c.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21c/Format21c.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21c/Format21c.smali 2017-09-27 02:07:41.303736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21c/Format21c.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,210 +0,0 @@ -.class public LFormat21c; -.super Ljava/lang/Object; -.source "Format21c.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public test_const-string()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-string v0, "test" - - const-string v1, "test" - invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V - return-void -.end method - -.method public test_const-class()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-class v0, Ljava/io/PrintStream; - - invoke-virtual {v0}, Ljava/lang/Class;->toString()Ljava/lang/String; - move-result-object v1 - - const-string v0, "class java.io.PrintStream" - - invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V - - return-void -.end method - -.method public test_check-cast-fail()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - :tryStart - const-string v0, "test" - - check-cast v0, Ljava/io/PrintStream; - :tryEnd - .catch Ljava/lang/ClassCastException; {:tryStart .. :tryEnd} :handler - - #the check-cast didn't throw an exception as expected - invoke-static {}, Lorg/junit/Assert;->fail()V - - :handler - - return-void -.end method - -.method public test_check-cast-success()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - :tryStart - const-string v0, "test" - - check-cast v0, Ljava/lang/Object; - :tryEnd - .catch Ljava/lang/ClassCastException; {:tryStart .. :tryEnd} :handler - - return-void - - :handler - - #the check-cast incorrectlly threw an exception as expected - invoke-static {}, Lorg/junit/Assert;->fail()V - return-void -.end method - -.method public test_new-instance()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-string v0, "test" - - new-instance v1, LStringWrapper; - invoke-direct {v1, v0}, LStringWrapper;->(Ljava/lang/String;)V - - invoke-virtual {v1}, LStringWrapper;->getValue()Ljava/lang/String; - move-result-object v2 - - invoke-static {v0, v2}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V - - return-void -.end method - - -.method public test-sput__sget()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 23 - sput v0, LStaticFields;->staticField:I - - sget v1, LStaticFields;->staticField:I - - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test-sput-object__sget-object()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-string v0, "a string" - sput-object v0, LStaticFields;->staticObjectField:Ljava/lang/String; - - sget-object v1, LStaticFields;->staticObjectField:Ljava/lang/String; - - invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V - return-void -.end method - -.method public test-sput-wide__sget-wide()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 0x200000000L - sput-wide v0, LStaticFields;->staticWideField:J - - sget-wide v2, LStaticFields;->staticWideField:J - - invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test-sput-boolean__sget-boolean_true()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 1 - sput-boolean v0, LStaticFields;->staticBooleanField:Z - - sget-boolean v1, LStaticFields;->staticBooleanField:Z - - invoke-static {v1}, Lorg/junit/Assert;->assertTrue(Z)V - return-void -.end method - -.method public test-sput-boolean__sget-boolean_false()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 0 - sput-boolean v0, LStaticFields;->staticBooleanField:Z - - sget-boolean v1, LStaticFields;->staticBooleanField:Z - - invoke-static {v1}, Lorg/junit/Assert;->assertFalse(Z)V - return-void -.end method - -.method public test-sput-byte__sget-byte()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 120T - sput-byte v0, LStaticFields;->staticByteField:B - - sget-byte v1, LStaticFields;->staticByteField:B - - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test-sput-char__sget-char()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 'a' - sput-char v0, LStaticFields;->staticCharField:C - - sget-char v1, LStaticFields;->staticCharField:C - - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test-sput-short__sget-short()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 1234S - sput-short v0, LStaticFields;->staticShortField:S - - sget-short v1, LStaticFields;->staticShortField:S - - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21c/StaticFields.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21c/StaticFields.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21c/StaticFields.smali 2017-09-27 02:07:41.303736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21c/StaticFields.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,10 +0,0 @@ -.class public LStaticFields; -.super Ljava/lang/Object; - -.field public static staticField:I -.field public static staticWideField:J -.field public static staticObjectField:Ljava/lang/String; -.field public static staticBooleanField:Z -.field public static staticByteField:B -.field public static staticCharField:C -.field public static staticShortField:S \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21c/StringWrapper.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21c/StringWrapper.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21c/StringWrapper.smali 2017-09-27 02:07:41.303736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21c/StringWrapper.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,21 +0,0 @@ -.class public LStringWrapper; -.super Ljava/lang/Object; - -.field private stringValue:Ljava/lang/String; - -.method public constructor (Ljava/lang/String;)V - .registers 2 - invoke-direct {p0}, Ljava/lang/Object;->()V - - iput-object p1, p0, LStringWrapper;->stringValue:Ljava/lang/String; - - return-void -.end method - -.method public getValue()Ljava/lang/String; - .registers 2 - - iget-object v0, p0, LStringWrapper;->stringValue:Ljava/lang/String; - - return-object v0 -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21h/Format21h.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21h/Format21h.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21h/Format21h.smali 2017-09-27 02:07:41.303736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21h/Format21h.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,33 +0,0 @@ -.class public LFormat21h; -.super Ljava/lang/Object; -.source "Format21h.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public test_const-high16()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/high16 v0, 0x3000 - - const v1, 0x30000000 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_const-wide-high16()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide/high16 v0, 0x3000 - - const-wide v2, 0x3000000000000000L - invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21s/Format21s.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21s/Format21s.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21s/Format21s.smali 2017-09-27 02:07:41.303736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21s/Format21s.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,33 +0,0 @@ -.class public LFormat21s; -.super Ljava/lang/Object; -.source "Format21s.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public test_const-16()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/16 v0, 15000 - - const v1, 15000 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_const-wide-16()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide/16 v0, 15000 - - const-wide v2, 15000 - invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21t/Format21t.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21t/Format21t.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21t/Format21t.smali 2017-09-27 02:07:41.303736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format21t/Format21t.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,149 +0,0 @@ -.class public LFormat21t; -.super Ljava/lang/Object; -.source "Format21t.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public test_if-eqz()V - .registers 1 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/4 v0, 0 - - if-eqz v0, :label1 - - invoke-static {}, Lorg/junit/Assert;->fail()V - - :label1 - const/4 v0, 1 - - if-eqz v0, :label2 - return-void - - :label2 - invoke-static {}, Lorg/junit/Assert;->fail()V - - return-void -.end method - - -.method public test_if-nez()V - .registers 1 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/4 v0, 1 - - if-nez v0, :label1 - - invoke-static {}, Lorg/junit/Assert;->fail()V - - :label1 - const/4 v0, 0 - - if-nez v0, :label2 - return-void - - :label2 - invoke-static {}, Lorg/junit/Assert;->fail()V - - return-void -.end method - -.method public test_if-ltz()V - .registers 1 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/4 v0, -1 - - if-ltz v0, :label1 - - invoke-static {}, Lorg/junit/Assert;->fail()V - - :label1 - const/4 v0, 0 - - if-ltz v0, :label2 - return-void - - :label2 - invoke-static {}, Lorg/junit/Assert;->fail()V - - return-void -.end method - -.method public test_if-gez()V - .registers 1 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/4 v0, 0 - - if-gez v0, :label1 - - invoke-static {}, Lorg/junit/Assert;->fail()V - - :label1 - const/4 v0, -1 - - if-gez v0, :label2 - return-void - - :label2 - invoke-static {}, Lorg/junit/Assert;->fail()V - - return-void -.end method - -.method public test_if-gtz()V - .registers 1 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/4 v0, 1 - - if-gtz v0, :label1 - - invoke-static {}, Lorg/junit/Assert;->fail()V - - :label1 - const/4 v0, 0 - - if-gtz v0, :label2 - return-void - - :label2 - invoke-static {}, Lorg/junit/Assert;->fail()V - - return-void -.end method - - -.method public test_if-lez()V - .registers 1 - .annotation runtime Lorg/junit/Test; - .end annotation - - const/4 v0, 0 - - if-lez v0, :label1 - - invoke-static {}, Lorg/junit/Assert;->fail()V - - :label1 - const/4 v0, 1 - - if-lez v0, :label2 - return-void - - :label2 - invoke-static {}, Lorg/junit/Assert;->fail()V - - return-void -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22b/Format22b.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22b/Format22b.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22b/Format22b.smali 2017-09-27 02:07:41.303736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22b/Format22b.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,163 +0,0 @@ -.class public LFormat22b; -.super Ljava/lang/Object; -.source "Format22b.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public test_add-int-lit8()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 5 - - add-int/lit8 v1, v0, 23 - - const v0, 28 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_add-sub-lit8()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 23 - - rsub-int/lit8 v1, v0, 5 - - const v0, -18 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_mul-int-lit8()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 5 - - mul-int/lit8 v1, v0, 23 - - const v0, 115 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_div-int-lit8()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 23 - - div-int/lit8 v1, v0, 5 - - const v0, 4 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_rem-int-lit8()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 23 - - rem-int/lit8 v1, v0, 5 - - const v0, 3 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_and-int-lit8()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 5 - - and-int/lit8 v1, v0, 23 - - const v0, 5 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_or-int-lit8()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 5 - - or-int/lit8 v1, v0, 23 - - const v0, 23 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_xor-int-lit8()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 5 - - xor-int/lit8 v1, v0, 23 - - const v0, 18 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_shl-int-lit8()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 23 - - shl-int/lit8 v1, v0, 5 - - const v0, 736 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_shr-int-lit8()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, -736 - - shr-int/lit8 v1, v0, 5 - - const v0, -23 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_ushr-int-lit8()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, -736 - - ushr-int/lit8 v1, v0, 5 - - const v0, 134217705 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22c/Format22c.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22c/Format22c.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22c/Format22c.smali 2017-09-27 02:07:41.303736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22c/Format22c.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,145 +0,0 @@ -.class public LFormat22c; -.super Ljava/lang/Object; -.source "Format22c.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public test-iput__iget()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - new-instance v2, LInstanceFields; - invoke-direct {v2}, LInstanceFields;->()V - - const v0, 23 - iput v0, v2, LInstanceFields;->instanceField:I - - iget v1, v2, LInstanceFields;->instanceField:I - - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test-iput-object__iget-object()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - new-instance v2, LInstanceFields; - invoke-direct {v2}, LInstanceFields;->()V - - const-string v0, "a string" - iput-object v0, v2, LInstanceFields;->instanceObjectField:Ljava/lang/String; - - iget-object v1, v2, LInstanceFields;->instanceObjectField:Ljava/lang/String; - - invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V - return-void -.end method - -.method public test-iput-wide__iget-wide()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - new-instance v2, LInstanceFields; - invoke-direct {v2}, LInstanceFields;->()V - - const-wide v0, 0x200000000L - iput-wide v0, v2, LInstanceFields;->instanceWideField:J - - iget-wide v2, v2, LInstanceFields;->instanceWideField:J - - invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test-iput-boolean__iget-boolean_true()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - new-instance v2, LInstanceFields; - invoke-direct {v2}, LInstanceFields;->()V - - const v0, 1 - iput-boolean v0, v2, LInstanceFields;->instanceBooleanField:Z - - iget-boolean v1, v2, LInstanceFields;->instanceBooleanField:Z - - invoke-static {v1}, Lorg/junit/Assert;->assertTrue(Z)V - return-void -.end method - -.method public test-iput-boolean__iget-boolean_false()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - new-instance v2, LInstanceFields; - invoke-direct {v2}, LInstanceFields;->()V - - const v0, 0 - iput-boolean v0, v2, LInstanceFields;->instanceBooleanField:Z - - iget-boolean v1, v2, LInstanceFields;->instanceBooleanField:Z - - invoke-static {v1}, Lorg/junit/Assert;->assertFalse(Z)V - return-void -.end method - -.method public test-iput-byte__iget-byte()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - new-instance v2, LInstanceFields; - invoke-direct {v2}, LInstanceFields;->()V - - const v0, 120T - iput-byte v0, v2, LInstanceFields;->instanceByteField:B - - iget-byte v1, v2, LInstanceFields;->instanceByteField:B - - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test-iput-char__iget-char()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - new-instance v2, LInstanceFields; - invoke-direct {v2}, LInstanceFields;->()V - - const v0, 'a' - iput-char v0, v2, LInstanceFields;->instanceCharField:C - - iget-char v1, v2, LInstanceFields;->instanceCharField:C - - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test-iput-short__iget-short()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - new-instance v2, LInstanceFields; - invoke-direct {v2}, LInstanceFields;->()V - - const v0, 1234S - iput-short v0, v2, LInstanceFields;->instanceShortField:S - - iget-short v1, v2, LInstanceFields;->instanceShortField:S - - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22c/InstanceFields.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22c/InstanceFields.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22c/InstanceFields.smali 2017-09-27 02:07:41.303736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22c/InstanceFields.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,16 +0,0 @@ -.class public LInstanceFields; -.super Ljava/lang/Object; - -.method public constructor ()V - .registers 1 - invoke-direct {v0}, Ljava/lang/Object;->()V - return-void -.end method - -.field public instanceField:I -.field public instanceWideField:J -.field public instanceObjectField:Ljava/lang/String; -.field public instanceBooleanField:Z -.field public instanceByteField:B -.field public instanceCharField:C -.field public instanceShortField:S \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22s/Format22s.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22s/Format22s.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22s/Format22s.smali 2017-09-27 02:07:41.303736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22s/Format22s.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,121 +0,0 @@ -.class public LFormat22s; -.super Ljava/lang/Object; -.source "Format22s.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public test_add-int-lit8()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 5 - - add-int/lit16 v1, v0, 500 - - const v0, 505 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_add-sub-lit16()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 23 - - rsub-int v1, v0, 500 - - const v0, 477 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_mul-int-lit16()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 23 - - mul-int/lit16 v1, v0, 500 - - const v0, 11500 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_div-int-lit16()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 11503 - - div-int/lit16 v1, v0, 500 - - const v0, 23 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_rem-int-lit16()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 11503 - - rem-int/lit16 v1, v0, 500 - - const v0, 3 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_and-int-lit16()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 23 - - and-int/lit16 v1, v0, 500 - - const v0, 20 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_or-int-lit16()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 23 - - or-int/lit16 v1, v0, 500 - - const v0, 503 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_xor-int-lit16()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 23 - - xor-int/lit16 v1, v0, 500 - - const v0, 483 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22t/Format22t.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22t/Format22t.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22t/Format22t.smali 2017-09-27 02:07:41.303736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22t/Format22t.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,154 +0,0 @@ -.class public LFormat22t; -.super Ljava/lang/Object; -.source "Format22t.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - - -.method public test_if-eq()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 23 - const v1, 23 - - if-eq v0, v1, :label1 - - invoke-static {}, Lorg/junit/Assert;->fail()V - - :label1 - const v1, 24 - - if-eq v0, v1, :label2 - return-void - - :label2 - invoke-static {}, Lorg/junit/Assert;->fail()V - - return-void -.end method - -.method public test_if-ne()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 23 - const v1, 24 - - if-ne v0, v1, :label1 - - invoke-static {}, Lorg/junit/Assert;->fail()V - - :label1 - const v1, 23 - - if-ne v0, v1, :label2 - return-void - - :label2 - invoke-static {}, Lorg/junit/Assert;->fail()V - - return-void -.end method - -.method public test_if-lt()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 23 - const v1, 24 - - if-lt v0, v1, :label1 - - invoke-static {}, Lorg/junit/Assert;->fail()V - - :label1 - const v1, 23 - - if-lt v0, v1, :label2 - return-void - - :label2 - invoke-static {}, Lorg/junit/Assert;->fail()V - - return-void -.end method - -.method public test_if-ge()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 23 - const v1, 23 - - if-ge v0, v1, :label1 - - invoke-static {}, Lorg/junit/Assert;->fail()V - - :label1 - const v1, 24 - - if-ge v0, v1, :label2 - return-void - - :label2 - invoke-static {}, Lorg/junit/Assert;->fail()V - - return-void -.end method - -.method public test_if-gt()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 23 - const v1, 22 - - if-gt v0, v1, :label1 - - invoke-static {}, Lorg/junit/Assert;->fail()V - - :label1 - const v1, 23 - - if-gt v0, v1, :label2 - return-void - - :label2 - invoke-static {}, Lorg/junit/Assert;->fail()V - - return-void -.end method - -.method public test_if-le()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 23 - const v1, 23 - - if-le v0, v1, :label1 - - invoke-static {}, Lorg/junit/Assert;->fail()V - - :label1 - const v1, 22 - - if-le v0, v1, :label2 - return-void - - :label2 - invoke-static {}, Lorg/junit/Assert;->fail()V - - return-void -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22x/Format22x.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22x/Format22x.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22x/Format22x.smali 2017-09-27 02:07:41.303736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format22x/Format22x.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,51 +0,0 @@ -.class public LFormat22x; -.super Ljava/lang/Object; -.source "Format22x.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public test_move-from16()V - .registers 276 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 6 - move/16 v275, v0 - - move/from16 v1, v275 - - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_move-wide-from16()V - .registers 276 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 0x200000000L - move-wide/16 v274, v0 - - move-wide/from16 v2, v274 - - invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_move-object-from16()V - .registers 276 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-string v0, "6" - move-object/16 v275, v0 - - move-object/from16 v1, v275 - - invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V - return-void -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format23x/Format23x.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format23x/Format23x.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format23x/Format23x.smali 2017-09-27 02:07:41.303736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format23x/Format23x.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,891 +0,0 @@ -.class public LFormat23x; -.super Ljava/lang/Object; -.source "Format23x.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public test_cmpl-float()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 123.4f - const v1, 234.5f - - cmpl-float v0, v0, v1 - - const v1, -1 - - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_cmpl-float-NaN()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - sget v0, Ljava/lang/Float;->NaN:F - const v1, 234.5f - - cmpl-float v0, v0, v1 - - const v1, -1 - - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_cmpg-float()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 123.4f - const v1, 234.5f - - cmpg-float v0, v0, v1 - - const v1, -1 - - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_cmpg-float-NaN()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - sget v0, Ljava/lang/Float;->NaN:F - const v1, 234.5f - - cmpg-float v0, v0, v1 - - const v1, 1 - - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - - -.method public test_cmpl-double()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 123.4 - const-wide v2, 234.5 - - cmpl-double v0, v0, v2 - - const v1, -1 - - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_cmpl-double-NaN()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - sget-wide v0, Ljava/lang/Double;->NaN:D - const-wide v2, 234.5 - - cmpl-double v0, v0, v2 - - const v1, -1 - - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_cmpg-double()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 123.4 - const-wide v2, 234.5 - - cmpg-double v0, v0, v2 - - const v1, -1 - - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_cmpg-double-NaN()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - sget-wide v0, Ljava/lang/Double;->NaN:D - const-wide v2, 234.5 - - cmpg-double v0, v0, v2 - - const v1, 1 - - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_cmp-long()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 0x100000000L - const-wide v2, 0x200000000L - - cmp-long v0, v0, v2 - - const v1, -1 - - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - - -.method public test_aget__aput()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 3 - new-array v0, v0, [I - - const v1, 1 - const v2, 0 - aput v1, v0, v2 - - const v1, 2 - const v2, 1 - aput v1, v0, v2 - - const v1, 3 - const v2, 2 - aput v1, v0, v2 - - - const v2, 0 - aget v1, v0, v2 - const v2, 1 - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - const v2, 1 - aget v1, v0, v2 - const v2, 2 - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - const v2, 2 - aget v1, v0, v2 - const v2, 3 - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_aget-wide__aput-wide()V - .registers 5 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 3 - new-array v0, v0, [J - - const-wide v1, 0x100000000L - const v3, 0 - aput-wide v1, v0, v3 - - const-wide v1, 0x100000001L - const v3, 1 - aput-wide v1, v0, v3 - - const-wide v1, 0x100000002L - const v3, 2 - aput-wide v1, v0, v3 - - - const v3, 0 - aget-wide v1, v0, v3 - const-wide v3, 0x100000000L - invoke-static {v1, v2, v3, v4}, Lorg/junit/Assert;->assertEquals(JJ)V - - const v3, 1 - aget-wide v1, v0, v3 - const-wide v3, 0x100000001L - invoke-static {v1, v2, v3, v4}, Lorg/junit/Assert;->assertEquals(JJ)V - - - const v3, 2 - aget-wide v1, v0, v3 - const-wide v3, 0x100000002L - invoke-static {v1, v2, v3, v4}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_aget-object__aput-object()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 3 - new-array v0, v0, [Ljava/lang/String; - - const-string v1, "1" - const v2, 0 - aput-object v1, v0, v2 - - const-string v1, "2" - const v2, 1 - aput-object v1, v0, v2 - - const-string v1, "3" - const v2, 2 - aput-object v1, v0, v2 - - - const v2, 0 - aget-object v1, v0, v2 - const-string v2, "1" - invoke-static {v1, v2}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V - - const v2, 1 - aget-object v1, v0, v2 - const-string v2, "2" - invoke-static {v1, v2}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V - - const v2, 2 - aget-object v1, v0, v2 - const-string v2, "3" - invoke-static {v1, v2}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V - return-void -.end method - -.method public test_aget-boolean__aput-boolean()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 2 - new-array v0, v0, [Z - - const v1, 0 - const v2, 0 - aput-boolean v1, v0, v2 - - const v1, 1 - const v2, 1 - aput-boolean v1, v0, v2 - - - const v2, 0 - aget-boolean v1, v0, v2 - invoke-static {v1}, Lorg/junit/Assert;->assertFalse(Z)V - - const v2, 1 - aget-boolean v1, v0, v2 - invoke-static {v1}, Lorg/junit/Assert;->assertTrue(Z)V - return-void -.end method - -.method public test_aget-byte__aput-byte()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 3 - new-array v0, v0, [B - - const v1, 1T - const v2, 0 - aput-byte v1, v0, v2 - - const v1, 2T - const v2, 1 - aput-byte v1, v0, v2 - - const v1, 3T - const v2, 2 - aput-byte v1, v0, v2 - - - const v2, 0 - aget-byte v1, v0, v2 - const v2, 1T - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - const v2, 1 - aget-byte v1, v0, v2 - const v2, 2T - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - const v2, 2 - aget-byte v1, v0, v2 - const v2, 3T - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_aget-char__aput-char()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 3 - new-array v0, v0, [C - - const v1, '1' - const v2, 0 - aput-char v1, v0, v2 - - const v1, '2' - const v2, 1 - aput-char v1, v0, v2 - - const v1, '3' - const v2, 2 - aput-char v1, v0, v2 - - - const v2, 0 - aget-char v1, v0, v2 - const v2, '1' - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - const v2, 1 - aget-char v1, v0, v2 - const v2, '2' - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - const v2, 2 - aget-char v1, v0, v2 - const v2, '3' - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_aget-short__aput-short()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 3 - new-array v0, v0, [S - - const v1, 1S - const v2, 0 - aput-short v1, v0, v2 - - const v1, 2S - const v2, 1 - aput-short v1, v0, v2 - - const v1, 3S - const v2, 2 - aput-short v1, v0, v2 - - - const v2, 0 - aget-short v1, v0, v2 - const v2, 1S - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - const v2, 1 - aget-short v1, v0, v2 - const v2, 2S - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - const v2, 2 - aget-short v1, v0, v2 - const v2, 3S - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_add-int()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 5 - const v1, 23 - - add-int v2, v0, v1 - - const/16 v1, 28 - invoke-static {v1,v2}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_sub-int()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 5 - const v1, 23 - - sub-int v2, v0, v1 - - const/16 v1, -18 - invoke-static {v1,v2}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_mul-int()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 5 - const v1, 23 - - mul-int v2, v0, v1 - - const/16 v1, 115 - invoke-static {v1,v2}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_div-int()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 5 - const v1, 23 - - div-int v2, v1, v0 - - const/16 v1, 4 - invoke-static {v1,v2}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_rem-int()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 5 - const v1, 23 - - rem-int v2, v1, v0 - - const/16 v1, 3 - invoke-static {v1,v2}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_and-int()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 5 - const v1, 23 - - and-int v2, v0, v1 - - const/16 v1, 5 - invoke-static {v1,v2}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_or-int()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 5 - const v1, 23 - - or-int v2, v0, v1 - - const/16 v1, 23 - invoke-static {v1,v2}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_xor-int()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 5 - const v1, 23 - - xor-int v2, v0, v1 - - const/16 v1, 18 - invoke-static {v1,v2}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_shl-int()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 23 - const v1, 5 - - shl-int v2, v0, v1 - - const/16 v1, 736 - invoke-static {v1,v2}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_shr-int()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, -736 - const v1, 5 - - shr-int v2, v0, v1 - - const/16 v1, -23 - invoke-static {v1,v2}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_ushr-int()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, -736 - const v1, 5 - - ushr-int v2, v0, v1 - - const v1, 134217705 - invoke-static {v1,v2}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_add-long()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 5L - const-wide v2, 23L - - add-long v4, v0, v2 - - const-wide v2, 28 - invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_sub-long()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 5L - const-wide v2, 23L - - sub-long v4, v0, v2 - - const-wide v2, -18 - invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_mul-long()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 5L - const-wide v2, 23L - - mul-long v4, v0, v2 - - const-wide v2, 115 - invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_div-long()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 5L - const-wide v2, 23L - - div-long v4, v2, v0 - - const-wide v2, 4 - invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_rem-long()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 5L - const-wide v2, 23L - - rem-long v4, v2, v0 - - const-wide v2, 3 - invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_and-long()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 5L - const-wide v2, 23L - - and-long v4, v0, v2 - - const-wide v2, 5 - invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_or-long()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 5L - const-wide v2, 23L - - or-long v4, v0, v2 - - const-wide v2, 23 - invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_xor-long()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 5L - const-wide v2, 23L - - xor-long v4, v0, v2 - - const-wide v2, 18 - invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_shl-long()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 23L - const v2, 5 - - shl-long v4, v0, v2 - - const-wide v2, 736 - invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_shr-long()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, -736L - const v2, 5 - - shr-long v4, v0, v2 - - const-wide v2, -23 - invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_ushr-long()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, -736L - const v2, 5 - - ushr-long v4, v0, v2 - - const-wide v2, 576460752303423465L - invoke-static {v2, v3, v4, v5}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_add-float()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 3.14159f - const v1, .11f - - add-float v2, v0, v1 - - const v1, 3.25159f - invoke-static {v1, v2}, LAssert;->assertEquals(FF)V - return-void -.end method - -.method public test_sub-float()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 3.14159f - const v1, .11f - - sub-float v2, v0, v1 - - const v1, 3.03159f - invoke-static {v1, v2}, LAssert;->assertEquals(FF)V - return-void -.end method - -.method public test_mul-float()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 3.14159f - const v1, .11f - - mul-float v2, v0, v1 - - const v1, .3455749f - invoke-static {v1, v2}, LAssert;->assertEquals(FF)V - return-void -.end method - -.method public test_div-float()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 3.14159f - const v1, .11f - - div-float v2, v0, v1 - - const v1, 28.55990909f - invoke-static {v1, v2}, LAssert;->assertEquals(FF)V - return-void -.end method - -.method public test_rem-float()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 3.14159f - const v1, .11f - - rem-float v2, v0, v1 - - const v1, .06159999f - invoke-static {v1, v2}, LAssert;->assertEquals(FF)V - return-void -.end method - -.method public test_add-double()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 3.14159 - const-wide v2, .11 - - add-double v4, v0, v2 - - const-wide v2, 3.25159 - invoke-static {v2, v3, v4, v5}, LAssert;->assertEquals(DD)V - return-void -.end method - -.method public test_sub-double()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 3.14159 - const-wide v2, .11 - - sub-double v4, v0, v2 - - const-wide v2, 3.03159 - invoke-static {v2, v3, v4, v5}, LAssert;->assertEquals(DD)V - return-void -.end method - -.method public test_mul-double()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 3.14159 - const-wide v2, .11 - - mul-double v4, v0, v2 - - const-wide v2, .3455749 - invoke-static {v2, v3, v4, v5}, LAssert;->assertEquals(DD)V - return-void -.end method - -.method public test_div-double()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 3.14159 - const-wide v2, .11 - - div-double v4, v0, v2 - - const-wide v2, 28.55990909 - invoke-static {v2, v3, v4, v5}, LAssert;->assertEquals(DD)V - return-void -.end method - -.method public test_rem-double()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 3.14159 - const-wide v2, .11 - - rem-double v4, v0, v2 - - const-wide v2, .06159999 - invoke-static {v2, v3, v4, v5}, LAssert;->assertEquals(DD)V - return-void -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format30t/Format30t.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format30t/Format30t.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format30t/Format30t.smali 2017-09-27 02:07:41.307736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format30t/Format30t.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,70758 +0,0 @@ -.class public LFormat30t; -.super Ljava/lang/Object; -.source "Format30t.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public test_goto-32()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - - - const v0, 5 - - goto/32 :label - - :label2 - - const v1, 6 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void - - #enough nops to force the offset to be more than what would fit in 2 bytes - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - - - :label - const v0, 6 - goto/32 :label2 - - - invoke-static {}, Lorg/junit/Assert;->fail()V - return-void -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format31i/Format31i.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format31i/Format31i.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format31i/Format31i.smali 2017-09-27 02:07:41.307736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format31i/Format31i.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,41 +0,0 @@ -.class public LFormat31i; -.super Ljava/lang/Object; -.source "Format31i.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public test_const()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 0x10000000 - - invoke-static {v0}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; - move-result-object v1 - - const-string v0, "268435456" - - invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V - return-void -.end method - -.method public test_const-wide-32()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide/32 v0, 0x10000000 - - invoke-static {v0, v1}, Ljava/lang/Long;->toString(J)Ljava/lang/String; - move-result-object v1 - - const-string v0, "268435456" - - invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V - return-void -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format31t/Format31t.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format31t/Format31t.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format31t/Format31t.smali 2017-09-27 02:07:41.307736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format31t/Format31t.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,131 +0,0 @@ -.class public LFormat31t; -.super Ljava/lang/Object; -.source "Format31t.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public test_fill-array-data()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 6 - new-array v0, v0, [I - fill-array-data v0, :ArrayData - - const v1, 0 - aget v2, v0, v1 - const v1, 1 - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - const v1, 1 - aget v2, v0, v1 - const v1, 2 - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - const v1, 2 - aget v2, v0, v1 - const v1, 3 - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - const v1, 3 - aget v2, v0, v1 - const v1, 4 - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - const v1, 4 - aget v2, v0, v1 - const v1, 5 - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - const v1, 5 - aget v2, v0, v1 - const v1, 6 - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - return-void - -:ArrayData - .array-data 4 - 1 2 3 4 5 6 - .end array-data -.end method - -.method public test_packed-switch()V - .registers 1 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 12 - -:switch - packed-switch v0, :PackedSwitch - -:Label10 - invoke-static {}, Lorg/junit/Assert;->fail()V - return-void - -:Label11 - invoke-static {}, Lorg/junit/Assert;->fail()V - return-void - -:Label12 - return-void - -:Label13 - invoke-static {}, Lorg/junit/Assert;->fail()V - return-void - -:PackedSwitch - .packed-switch 10 - :Label10 - :Label11 - :Label12 - :Label13 - .end packed-switch -.end method - - -.method public test_sparse-switch()V - .registers 1 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 13 - -:switch - sparse-switch v0, :SparseSwitch - -:Label10 - invoke-static {}, Lorg/junit/Assert;->fail()V - return-void - -:Label20 - invoke-static {}, Lorg/junit/Assert;->fail()V - return-void - -:Label15 - invoke-static {}, Lorg/junit/Assert;->fail()V - return-void - -:Label13 - return-void - -:Label99 - invoke-static {}, Lorg/junit/Assert;->fail()V - return-void - -:SparseSwitch - .sparse-switch - 10 -> :Label10 - 13 -> :Label13 - 15 -> :Label15 - 20 -> :Label20 - 99 -> :Label99 - .end sparse-switch -.end method - diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format32x/Format32x.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format32x/Format32x.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format32x/Format32x.smali 2017-09-27 02:07:41.307736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format32x/Format32x.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,51 +0,0 @@ -.class public LFormat32x; -.super Ljava/lang/Object; -.source "Format32x.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public test_move-16()V - .registers 500 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 123 - move/16 v323, v0 - move/16 v400, v323 - move/16 v1, v400 - - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_move-wide-16()V - .registers 500 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 0x200000000L - move-wide/16 v400, v0 - move-wide/16 v402, v400 - move-wide/16 v2, v402 - - invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method - -.method public test_move-object-16()V - .registers 500 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-string v0, "123" - move-object/16 v323, v0 - move-object/16 v400, v323 - move-object/16 v1, v400 - - invoke-static {v0, v1}, Lorg/junit/Assert;->assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V - return-void -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format35c/Format35c.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format35c/Format35c.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format35c/Format35c.smali 2017-09-27 02:07:41.307736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format35c/Format35c.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,124 +0,0 @@ -.class public LFormat35c; -.super LMethodsSuper; -.source "Format35c.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, LMethodsSuper;->()V - return-void -.end method - -.method public superMethodTest()I - .registers 1 - const v0, 123 - return v0 -.end method - -.method private directMethodTest()I - .registers 1 - const v0, 23 - return v0 -.end method - - -.method public test_invoke-virtual()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - new-instance v0, LMethods; - invoke-direct {v0}, LMethods;->()V - - invoke-virtual {v0}, LMethods;->virtualMethodTest()I - move-result v0 - - const v1, 23 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_invoke-super()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - invoke-super {p0}, LFormat35c;->superMethodTest()I - move-result v0 - - const v1, 23 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_invoke-direct()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - invoke-direct {p0}, LFormat35c;->directMethodTest()I - move-result v0 - - const v1, 23 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_invoke-static()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - invoke-static {}, LMethods;->staticMethodTest()I - move-result v0 - - const v1, 23 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_invoke-interface()V - .registers 2 - .annotation runtime Lorg/junit/Test; - .end annotation - - new-instance v0, LMethods; - invoke-direct {v0}, LMethods;->()V - - invoke-interface {v0}, LMethodsInterface;->interfaceMethodTest()I - move-result v0 - - const v1, 23 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_filled-new-array()V - .registers 3 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 10 - const v1, 20 - const v2, 30 - - filled-new-array {v0, v1, v2}, [I - move-result-object v0 - - const v1, 0 - aget v2, v0, v1 - const v1, 10 - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - const v1, 1 - aget v2, v0, v1 - const v1, 20 - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - const v1, 2 - aget v2, v0, v1 - const v1, 30 - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - return-void -.end method - diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format35c/MethodsInterface.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format35c/MethodsInterface.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format35c/MethodsInterface.smali 2017-09-27 02:07:41.307736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format35c/MethodsInterface.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,5 +0,0 @@ -.class public abstract interface LMethodsInterface; -.super Ljava/lang/Object; - -.method public abstract interfaceMethodTest()I -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format35c/Methods.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format35c/Methods.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format35c/Methods.smali 2017-09-27 02:07:41.307736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format35c/Methods.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,27 +0,0 @@ -.class public LMethods; -.super LMethodsSuper; -.implements LMethodsInterface; - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, LMethodsSuper;->()V - return-void -.end method - -.method public virtualMethodTest()I - .registers 1 - const v0, 23 - return v0 -.end method - -.method public static staticMethodTest()I - .registers 1 - const v0, 23 - return v0 -.end method - -.method public interfaceMethodTest()I - .registers 1 - const v0, 23 - return v0 -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format35c/MethodsSuper.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format35c/MethodsSuper.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format35c/MethodsSuper.smali 2017-09-27 02:07:41.307736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format35c/MethodsSuper.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,20 +0,0 @@ -.class public LMethodsSuper; -.super Ljava/lang/Object; - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public superMethodTest()I - .registers 1 - const v0, 23 - return v0 -.end method - -.method public virtualMethodTest()I - .registers 1 - const v0, 123 - return v0 -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format3rc/Format3rc.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format3rc/Format3rc.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format3rc/Format3rc.smali 2017-09-27 02:07:41.307736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format3rc/Format3rc.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,197 +0,0 @@ -.class public LFormat3rc; -.super LRangeMethodsSuper; -.source "Format3rc.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, LRangeMethodsSuper;->()V - return-void -.end method - -.method public superMethodTest(IIIIII)I - .registers 7 - - add-int v0, v1, v2 - add-int v0, v0, v3 - add-int v0, v0, v4 - add-int v0, v0, v5 - add-int v0, v0, v6 - - #add something extra, to make the test fail if this method is called instead of the super's method - const v1, 1 - add-int v0, v0, v1 - - return v0 -.end method - -.method private directMethodTest(IIIIII)I - .registers 7 - - add-int v0, v1, v2 - add-int v0, v0, v3 - add-int v0, v0, v4 - add-int v0, v0, v5 - add-int v0, v0, v6 - - return v0 -.end method - - -.method public test_invoke-virtual-range()V - .registers 7 - .annotation runtime Lorg/junit/Test; - .end annotation - - new-instance v0, LRangeMethods; - invoke-direct {v0}, LRangeMethods;->()V - - const v1, 1 - const v2, 2 - const v3, 3 - const v4, 4 - const v5, 5 - const v6, 6 - - invoke-virtual/range {v0 .. v6}, LRangeMethods;->virtualMethodTest(IIIIII)I - move-result v0 - - const v1, 21 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_invoke-super-range()V - .registers 7 - .annotation runtime Lorg/junit/Test; - .end annotation - - move-object v0, p0 - const v1, 1 - const v2, 2 - const v3, 3 - const v4, 4 - const v5, 5 - const v6, 6 - - invoke-super/range {v0 .. v6}, LFormat3rc;->superMethodTest(IIIIII)I - move-result v0 - - const v1, 21 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_invoke-direct-range()V - .registers 7 - .annotation runtime Lorg/junit/Test; - .end annotation - - move-object v0, p0 - const v1, 1 - const v2, 2 - const v3, 3 - const v4, 4 - const v5, 5 - const v6, 6 - - invoke-direct/range {v0 .. v6}, LFormat3rc;->directMethodTest(IIIIII)I - move-result v0 - - const v1, 21 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_invoke-static-range()V - .registers 7 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v1, 1 - const v2, 2 - const v3, 3 - const v4, 4 - const v5, 5 - const v6, 6 - - invoke-static/range {v1 .. v6}, LRangeMethods;->staticMethodTest(IIIIII)I - move-result v0 - - const v1, 21 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_invoke-interface-range()V - .registers 7 - .annotation runtime Lorg/junit/Test; - .end annotation - - move-object v0, p0 - const v1, 1 - const v2, 2 - const v3, 3 - const v4, 4 - const v5, 5 - const v6, 6 - - new-instance v0, LRangeMethods; - invoke-direct {v0}, LRangeMethods;->()V - - invoke-interface/range {v0 .. v6}, LRangeMethodsInterface;->interfaceMethodTest(IIIIII)I - move-result v0 - - const v1, 21 - invoke-static {v0, v1}, LAssert;->assertEquals(II)V - return-void -.end method - -.method public test_filled-new-array-range()V - .registers 6 - .annotation runtime Lorg/junit/Test; - .end annotation - - const v0, 1 - const v1, 2 - const v2, 3 - const v3, 4 - const v4, 5 - const v5, 6 - - - filled-new-array/range {v0 .. v5}, [I - move-result-object v0 - - const v1, 0 - aget v2, v0, v1 - const v1, 1 - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - const v1, 1 - aget v2, v0, v1 - const v1, 2 - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - const v1, 2 - aget v2, v0, v1 - const v1, 3 - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - const v1, 3 - aget v2, v0, v1 - const v1, 4 - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - const v1, 4 - aget v2, v0, v1 - const v1, 5 - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - const v1, 5 - aget v2, v0, v1 - const v1, 6 - invoke-static {v1, v2}, LAssert;->assertEquals(II)V - - return-void -.end method - diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format3rc/RangeMethodsInterface.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format3rc/RangeMethodsInterface.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format3rc/RangeMethodsInterface.smali 2017-09-27 02:07:41.307736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format3rc/RangeMethodsInterface.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,5 +0,0 @@ -.class public abstract interface LRangeMethodsInterface; -.super Ljava/lang/Object; - -.method public abstract interfaceMethodTest(IIIIII)I -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format3rc/RangeMethods.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format3rc/RangeMethods.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format3rc/RangeMethods.smali 2017-09-27 02:07:41.307736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format3rc/RangeMethods.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,45 +0,0 @@ -.class public LRangeMethods; -.super LRangeMethodsSuper; -.implements LRangeMethodsInterface; - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, LRangeMethodsSuper;->()V - return-void -.end method - -.method public virtualMethodTest(IIIIII)I - .registers 7 - - add-int v0, v1, v2 - add-int v0, v0, v3 - add-int v0, v0, v4 - add-int v0, v0, v5 - add-int v0, v0, v6 - - return v0 -.end method - -.method public static staticMethodTest(IIIIII)I - .registers 7 - - add-int v0, v1, v2 - add-int v0, v0, v3 - add-int v0, v0, v4 - add-int v0, v0, v5 - add-int v0, v0, v6 - - return v0 -.end method - -.method public interfaceMethodTest(IIIIII)I - .registers 7 - - add-int v0, v1, v2 - add-int v0, v0, v3 - add-int v0, v0, v4 - add-int v0, v0, v5 - add-int v0, v0, v6 - - return v0 -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format3rc/RangeMethodsSuper.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format3rc/RangeMethodsSuper.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format3rc/RangeMethodsSuper.smali 2017-09-27 02:07:41.307736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format3rc/RangeMethodsSuper.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,36 +0,0 @@ -.class public LRangeMethodsSuper; -.super Ljava/lang/Object; - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public superMethodTest(IIIIII)I - .registers 7 - - add-int v0, v1, v2 - add-int v0, v0, v3 - add-int v0, v0, v4 - add-int v0, v0, v5 - add-int v0, v0, v6 - - return v0 -.end method - -.method public virtualMethodTest(IIIIII)I - .registers 7 - - add-int v0, v1, v2 - add-int v0, v0, v3 - add-int v0, v0, v4 - add-int v0, v0, v5 - add-int v0, v0, v6 - - #add something extra, to make the test fail if this method is called instead of the subclasses's method - const v1, 1 - add-int v0, v0, v1 - - return v0 -.end method \ No newline at end of file diff -urN Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format51l/Format51l.smali SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format51l/Format51l.smali --- Android_6.0.1_r11/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format51l/Format51l.smali 2017-09-27 02:07:41.307736209 +0900 +++ SAMD_6.0.1_r11_20170930/external/smali/smali-integration-tests/src/test/smali/junit-tests/InstructionTests/Format51l/Format51l.smali 1970-01-01 09:00:00.000000000 +0900 @@ -1,22 +0,0 @@ -.class public LFormat51l; -.super Ljava/lang/Object; -.source "Format51l.smali" - -.method public constructor ()V - .registers 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - return-void -.end method - -.method public test_const-wide()V - .registers 4 - .annotation runtime Lorg/junit/Test; - .end annotation - - const-wide v0, 6 - - const-wide/16 v2, 6 - - invoke-static {v0, v1, v2, v3}, Lorg/junit/Assert;->assertEquals(JJ)V - return-void -.end method \ No newline at end of file Binary files Android_6.0.1_r11/external/sonic/.git/index and SAMD_6.0.1_r11_20170930/external/sonic/.git/index differ Binary files Android_6.0.1_r11/external/sonivox/.git/index and SAMD_6.0.1_r11_20170930/external/sonivox/.git/index differ Binary files Android_6.0.1_r11/external/speex/.git/index and SAMD_6.0.1_r11_20170930/external/speex/.git/index differ Binary files Android_6.0.1_r11/external/sqlite/.git/index and SAMD_6.0.1_r11_20170930/external/sqlite/.git/index differ Binary files Android_6.0.1_r11/external/squashfs-tools/.git/index and SAMD_6.0.1_r11_20170930/external/squashfs-tools/.git/index differ Binary files Android_6.0.1_r11/external/srtp/.git/index and SAMD_6.0.1_r11_20170930/external/srtp/.git/index differ Binary files Android_6.0.1_r11/external/strace/.git/index and SAMD_6.0.1_r11_20170930/external/strace/.git/index differ Binary files Android_6.0.1_r11/external/svox/.git/index and SAMD_6.0.1_r11_20170930/external/svox/.git/index differ Binary files Android_6.0.1_r11/external/tagsoup/.git/index and SAMD_6.0.1_r11_20170930/external/tagsoup/.git/index differ Binary files Android_6.0.1_r11/external/tcpdump/.git/index and SAMD_6.0.1_r11_20170930/external/tcpdump/.git/index differ Binary files Android_6.0.1_r11/external/timezonepicker-support/.git/index and SAMD_6.0.1_r11_20170930/external/timezonepicker-support/.git/index differ Binary files Android_6.0.1_r11/external/tinyalsa/.git/index and SAMD_6.0.1_r11_20170930/external/tinyalsa/.git/index differ Binary files Android_6.0.1_r11/external/tinycompress/.git/index and SAMD_6.0.1_r11_20170930/external/tinycompress/.git/index differ Binary files Android_6.0.1_r11/external/tinyxml/.git/index and SAMD_6.0.1_r11_20170930/external/tinyxml/.git/index differ Binary files Android_6.0.1_r11/external/tinyxml2/.git/index and SAMD_6.0.1_r11_20170930/external/tinyxml2/.git/index differ Binary files Android_6.0.1_r11/external/toybox/.git/index and SAMD_6.0.1_r11_20170930/external/toybox/.git/index differ Binary files Android_6.0.1_r11/external/tremolo/.git/index and SAMD_6.0.1_r11_20170930/external/tremolo/.git/index differ Binary files Android_6.0.1_r11/external/v8/.git/index and SAMD_6.0.1_r11_20170930/external/v8/.git/index differ Binary files Android_6.0.1_r11/external/valgrind/.git/index and SAMD_6.0.1_r11_20170930/external/valgrind/.git/index differ Binary files Android_6.0.1_r11/external/vboot_reference/.git/index and SAMD_6.0.1_r11_20170930/external/vboot_reference/.git/index differ Binary files Android_6.0.1_r11/external/vixl/.git/index and SAMD_6.0.1_r11_20170930/external/vixl/.git/index differ Binary files Android_6.0.1_r11/external/vogar/.git/index and SAMD_6.0.1_r11_20170930/external/vogar/.git/index differ Binary files Android_6.0.1_r11/external/webp/.git/index and SAMD_6.0.1_r11_20170930/external/webp/.git/index differ Binary files Android_6.0.1_r11/external/webrtc/.git/index and SAMD_6.0.1_r11_20170930/external/webrtc/.git/index differ Binary files Android_6.0.1_r11/external/wpa_supplicant_8/.git/index and SAMD_6.0.1_r11_20170930/external/wpa_supplicant_8/.git/index differ Binary files Android_6.0.1_r11/external/xmlwriter/.git/index and SAMD_6.0.1_r11_20170930/external/xmlwriter/.git/index differ Binary files Android_6.0.1_r11/external/xmp_toolkit/.git/index and SAMD_6.0.1_r11_20170930/external/xmp_toolkit/.git/index differ Binary files Android_6.0.1_r11/external/zlib/.git/index and SAMD_6.0.1_r11_20170930/external/zlib/.git/index differ Binary files Android_6.0.1_r11/external/zopfli/.git/index and SAMD_6.0.1_r11_20170930/external/zopfli/.git/index differ Binary files Android_6.0.1_r11/external/zxing/.git/index and SAMD_6.0.1_r11_20170930/external/zxing/.git/index differ