pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/www/firefox60 Update to 60.5.2
details: https://anonhg.NetBSD.org/pkgsrc/rev/673a46ef8779
branches: trunk
changeset: 392269:673a46ef8779
user: ryoon <ryoon%pkgsrc.org@localhost>
date: Tue Feb 26 11:23:53 2019 +0000
description:
Update to 60.5.2
Changelog:
60.5.2
Fixed a frequent crash when reading various Reuters news articles (bug 1505844)
60.5.1
#CVE-2018-18356: Use-after-free in Skia
#CVE-2019-5785: Integer overflow in Skia
#CVE-2018-18335: Buffer overflow in Skia with accelerated Canvas 2D
60.5.0
#CVE-2018-18500: Use-after-free parsing HTML5 stream
#CVE-2018-18505: Privilege escalation through IPC channel messages
#CVE-2018-18501: Memory safety bugs fixed in Firefox 65 and Firefox ESR 60.5
diffstat:
www/firefox60/Makefile | 6 +-
www/firefox60/distinfo | 32 +-
www/firefox60/mozilla-common.mk | 8 +-
www/firefox60/patches/patch-dom_media_CubebUtils.cpp | 19 +-
www/firefox60/patches/patch-image_decoders_nsJPEGDecoder.cpp | 367 ----------
www/firefox60/patches/patch-ipc_chromium_src_base_message__pump__libevent.cc | 20 +-
www/firefox60/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc | 11 +-
www/firefox60/patches/patch-ipc_glue_CrossProcessSemaphore__posix.cpp | 50 +-
www/firefox60/patches/patch-js_src_gc_Memory.cpp | 37 +-
www/firefox60/patches/patch-js_src_util_NativeStack.cpp | 26 +-
www/firefox60/patches/patch-js_src_wasm_WasmSignalHandlers.cpp | 22 +-
www/firefox60/patches/patch-media_libyuv_libyuv_source_mjpeg__decoder.cc | 13 -
www/firefox60/patches/patch-toolkit_xre_glxtest.cpp | 19 +-
www/firefox60/patches/patch-xpcom_base_nscore.h | 12 +-
www/firefox60/patches/patch-xpcom_build_BinaryPath.h | 22 +-
15 files changed, 130 insertions(+), 534 deletions(-)
diffs (truncated from 915 to 300 lines):
diff -r fcac23d7baa6 -r 673a46ef8779 www/firefox60/Makefile
--- a/www/firefox60/Makefile Tue Feb 26 10:58:25 2019 +0000
+++ b/www/firefox60/Makefile Tue Feb 26 11:23:53 2019 +0000
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.13 2019/01/29 22:33:58 tnn Exp $
+# $NetBSD: Makefile,v 1.14 2019/02/26 11:23:53 ryoon Exp $
FIREFOX_VER= ${MOZ_BRANCH}${MOZ_BRANCH_MINOR}
-MOZ_BRANCH= 60.4
-MOZ_BRANCH_MINOR= .0esr
+MOZ_BRANCH= 60.5
+MOZ_BRANCH_MINOR= .2esr
DISTNAME= firefox-${FIREFOX_VER}.source
PKGNAME= firefox${MOZ_BRANCH:C/\..*$//}-${MOZ_BRANCH}${MOZ_BRANCH_MINOR:S/b/beta/:S/esr//}
diff -r fcac23d7baa6 -r 673a46ef8779 www/firefox60/distinfo
--- a/www/firefox60/distinfo Tue Feb 26 10:58:25 2019 +0000
+++ b/www/firefox60/distinfo Tue Feb 26 11:23:53 2019 +0000
@@ -1,28 +1,27 @@
-$NetBSD: distinfo,v 1.4 2018/12/16 07:38:47 ryoon Exp $
+$NetBSD: distinfo,v 1.5 2019/02/26 11:23:53 ryoon Exp $
-SHA1 (firefox-60.4.0esr.source.tar.xz) = 0fa5a71ce2cb90ea4be719a92645aa09dff3721f
-RMD160 (firefox-60.4.0esr.source.tar.xz) = f0b67654864aadb454923cd1ac9abffe0ac20c7c
-SHA512 (firefox-60.4.0esr.source.tar.xz) = 8119f52b2fc06f76868bf0781fec9d46c8551f0a3ca832ac9bdef6aa6d77c1d785e50d35059f0df5e3586f3396b912af06e448d65e7f5d1f468338eebe8b2cd4
-Size (firefox-60.4.0esr.source.tar.xz) = 268425148 bytes
+SHA1 (firefox-60.5.2esr.source.tar.xz) = a6fd649d5a9e3943fb3e67a5e45f856a154b0483
+RMD160 (firefox-60.5.2esr.source.tar.xz) = ba8bb525e8a307c97f4ec4b1e20ab14781a83097
+SHA512 (firefox-60.5.2esr.source.tar.xz) = 5be7e5aefcd038b83a6859004042e796fee5adb48d1a010547ba5fb6eb9c69b11267d56ae9f55ea8f9e7859ea8d600fb93e03e3712f6f9c023370b53c0f5efcd
+Size (firefox-60.5.2esr.source.tar.xz) = 268056844 bytes
SHA1 (patch-aa) = fdabcc9b055f6439fdbda9b38ab7cec08ff3e231
SHA1 (patch-browser_app_profile_firefox.js) = 9a43095d94f83f315b9a3ce4a7b0a4301e9c40e6
SHA1 (patch-build_moz.configure_old.configure) = 1df6867eaf73a350fbe8fcd5bd34e1fcab09d707
SHA1 (patch-build_moz.configure_rust.configure) = 2818454ba4df3cbd85174edc4828206b3bf0a82b
SHA1 (patch-dom_fetch_FetchConsumer.cpp) = a164b68b968633e2f2e29c1c3917a77ac55a886b
-SHA1 (patch-dom_media_CubebUtils.cpp) = 3632cd0dd4b95f53f01050b8898b33fe198916b6
+SHA1 (patch-dom_media_CubebUtils.cpp) = 76fc35167e603f96450f4bc17cd0d76157a22dd3
SHA1 (patch-gfx_angle_checkout_src_common_third__party_smhasher_src_PMurHash.cpp) = f1d0adae2873545818072adb4e8599267bc4e6c5
SHA1 (patch-gfx_webrender_src_query.rs) = 6434b0fc1d6441ddb555a2a3b199564b488ec336
-SHA1 (patch-image_decoders_nsJPEGDecoder.cpp) = ed86c3fbb3aef753eec6f6a97940594aac5f3f2f
SHA1 (patch-ipc_chromium_src_base_lock__impl__posix.cc) = 16e37fe54ba1d8d233f6b04dbd06e248305d7f6e
-SHA1 (patch-ipc_chromium_src_base_message__pump__libevent.cc) = 99b9f3f9dd88f1c8008d2fb6058450695394f5cf
-SHA1 (patch-ipc_chromium_src_base_platform__thread__posix.cc) = 5b0bfe78e105cc3f395d5afda25a50afc6289f03
+SHA1 (patch-ipc_chromium_src_base_message__pump__libevent.cc) = cdb159f0ede970b150eca4cc5e0d1b2cf4e414b2
+SHA1 (patch-ipc_chromium_src_base_platform__thread__posix.cc) = 0809f1b12d3627e36cd32dce46a332abd7a74e6b
SHA1 (patch-ipc_glue_CrossProcessSemaphore.h) = 778a569887d8ad082abc2fa2fe89a0a943e84d64
-SHA1 (patch-ipc_glue_CrossProcessSemaphore__posix.cpp) = 3052338871447cedaeafe8369afe82233183c884
+SHA1 (patch-ipc_glue_CrossProcessSemaphore__posix.cpp) = 8775f39cdf91f61754474dde79f3895658348b02
SHA1 (patch-ipc_glue_GeckoChildProcessHost.cpp) = 260c29bacd8bf265951b7a412f850bf2b292c836
-SHA1 (patch-js_src_gc_Memory.cpp) = 40d8285d3f5a060e68a2884dd81b39950f45ff95
+SHA1 (patch-js_src_gc_Memory.cpp) = b27f68d31f584052dfb8a2d3132efc844c52c8e4
SHA1 (patch-js_src_threading_posix_Thread.cpp) = 47e612a676e614fd6dd43b8a3140218a3fbdc7fa
-SHA1 (patch-js_src_util_NativeStack.cpp) = c02781c07942d2aa037d5123cc09cb73d5e73316
-SHA1 (patch-js_src_wasm_WasmSignalHandlers.cpp) = 1c665a9383638774c00f6c5fead5d786b6c7944a
+SHA1 (patch-js_src_util_NativeStack.cpp) = 3af7d3c90ce9299f0a95b938ca903488e7809d0a
+SHA1 (patch-js_src_wasm_WasmSignalHandlers.cpp) = 5442266a05721a9f4a3c9d12429bd1d59ecd936a
SHA1 (patch-media_libcubeb_gtest_moz.build) = 921a001726cda9e9782df5e59ae02b19d76ef47e
SHA1 (patch-media_libcubeb_src_cubeb.c) = 1b1b8d57eb710cad13518ded79a0ddee2681881b
SHA1 (patch-media_libcubeb_src_cubeb__alsa.c) = 3ee36f58bb525767c7d2b9e814ba4ccaa4868717
@@ -30,7 +29,6 @@
SHA1 (patch-media_libcubeb_src_moz.build) = f243068c8908dcb16434221edef8c65db3bb0c83
SHA1 (patch-media_libcubeb_update.sh) = 3a322de06bbe9aafba9da349954ef022bd094992
SHA1 (patch-media_libpng_pngpriv.h) = c8084332560017cd7c9b519b61d125fa28af0dbc
-SHA1 (patch-media_libyuv_libyuv_source_mjpeg__decoder.cc) = 8a264c439fa4749cd7c5acf96e1ae3f9bae0a886
SHA1 (patch-media_webrtc_trunk_webrtc_modules_audio__device_linux_audio__device__alsa__linux.cc) = 91e8ce496c1f4dbbd0a463d83cb033afd1de3f49
SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc) = 0141dd1372c13ea1fce6e2f5ffb65e0cb0f3a13e
SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc) = a69bc7b7096b410582e725f9dbec57fee90d6686
@@ -40,7 +38,7 @@
SHA1 (patch-toolkit_library_moz.build) = ecb6125e996d5496335c58ecd3433ad3214f29f0
SHA1 (patch-toolkit_moz.configure) = 40ee147cc1d2c62dd6c83b3f67ce9e61f758ea57
SHA1 (patch-toolkit_mozapps_installer_packager.mk) = 6f557fb732f0b9dabf059ffac0400d3db4e79e47
-SHA1 (patch-toolkit_xre_glxtest.cpp) = cf048491778610454b914400e53072afedd96e7b
-SHA1 (patch-xpcom_base_nscore.h) = d7c96eda884d7f370442749c43caba50da61bbe4
-SHA1 (patch-xpcom_build_BinaryPath.h) = 65af561d663d605134ff2b6c51a268b525f6ac15
+SHA1 (patch-toolkit_xre_glxtest.cpp) = e02b1073fe1a6f36872b10883455c8be59ff81e9
+SHA1 (patch-xpcom_base_nscore.h) = 3f131370b9665a0af55cab7f8f54723ebbc389fa
+SHA1 (patch-xpcom_build_BinaryPath.h) = fcaca939aca30a4ae07414cd5e6b1497ac3a1178
SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp) = 0792c2c626d906e71c5183994cb32bf8cdb3e239
diff -r fcac23d7baa6 -r 673a46ef8779 www/firefox60/mozilla-common.mk
--- a/www/firefox60/mozilla-common.mk Tue Feb 26 10:58:25 2019 +0000
+++ b/www/firefox60/mozilla-common.mk Tue Feb 26 11:23:53 2019 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mozilla-common.mk,v 1.2 2018/10/23 12:33:04 jperkin Exp $
+# $NetBSD: mozilla-common.mk,v 1.3 2019/02/26 11:23:53 ryoon Exp $
#
# common Makefile fragment for mozilla packages based on gecko 2.0.
#
@@ -66,14 +66,14 @@
CONFIGURE_ARGS+= --with-system-icu
CONFIGURE_ARGS+= --with-system-nss
CONFIGURE_ARGS+= --with-system-nspr
-CONFIGURE_ARGS+= --with-system-jpeg
+#CONFIGURE_ARGS+= --with-system-jpeg
CONFIGURE_ARGS+= --with-system-zlib
CONFIGURE_ARGS+= --with-system-bz2
CONFIGURE_ARGS+= --with-system-libevent=${BUILDLINK_PREFIX.libevent}
CONFIGURE_ARGS+= --disable-crashreporter
CONFIGURE_ARGS+= --disable-necko-wifi
CONFIGURE_ARGS+= --enable-chrome-format=flat
-CONFIGURE_ARGS+= --disable-libjpeg-turbo
+#CONFIGURE_ARGS+= --disable-libjpeg-turbo
CONFIGURE_ARGS+= --disable-gconf
#CONFIGURE_ARGS+= --enable-readline
@@ -196,7 +196,7 @@
BUILDLINK_API_DEPENDS.nss+= nss>=3.35
.include "../../devel/nss/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
-.include "../../mk/jpeg.buildlink3.mk"
+#.include "../../mk/jpeg.buildlink3.mk"
.include "../../graphics/MesaLib/buildlink3.mk"
#BUILDLINK_API_DEPENDS.cairo+= cairo>=1.10.2nb4
#.include "../../graphics/cairo/buildlink3.mk"
diff -r fcac23d7baa6 -r 673a46ef8779 www/firefox60/patches/patch-dom_media_CubebUtils.cpp
--- a/www/firefox60/patches/patch-dom_media_CubebUtils.cpp Tue Feb 26 10:58:25 2019 +0000
+++ b/www/firefox60/patches/patch-dom_media_CubebUtils.cpp Tue Feb 26 11:23:53 2019 +0000
@@ -1,14 +1,13 @@
-$NetBSD: patch-dom_media_CubebUtils.cpp,v 1.1 2018/06/28 14:04:10 ryoon Exp $
+$NetBSD: patch-dom_media_CubebUtils.cpp,v 1.2 2019/02/26 11:23:53 ryoon Exp $
---- dom/media/CubebUtils.cpp.orig 2017-04-11 04:15:21.000000000 +0000
+--- dom/media/CubebUtils.cpp.orig 2019-02-13 14:19:37.000000000 +0000
+++ dom/media/CubebUtils.cpp
-@@ -71,7 +71,8 @@ const char* AUDIOSTREAM_BACKEND_ID_STR[]
- "sndio",
- "opensl",
- "audiotrack",
-- "kai"
-+ "kai",
-+ "oss",
- };
+@@ -143,7 +143,7 @@ const char kBrandBundleURL[] = "chrome:/
+
+ const char* AUDIOSTREAM_BACKEND_ID_STR[] = {
+ "jack", "pulse", "alsa", "audiounit", "audioqueue", "wasapi",
+- "winmm", "directsound", "sndio", "opensl", "audiotrack", "kai"};
++ "winmm", "directsound", "sndio", "opensl", "audiotrack", "kai", "oss"};
/* Index for failures to create an audio stream the first time. */
const int CUBEB_BACKEND_INIT_FAILURE_FIRST =
+ ArrayLength(AUDIOSTREAM_BACKEND_ID_STR);
diff -r fcac23d7baa6 -r 673a46ef8779 www/firefox60/patches/patch-image_decoders_nsJPEGDecoder.cpp
--- a/www/firefox60/patches/patch-image_decoders_nsJPEGDecoder.cpp Tue Feb 26 10:58:25 2019 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,367 +0,0 @@
-$NetBSD: patch-image_decoders_nsJPEGDecoder.cpp,v 1.1 2018/06/28 14:04:10 ryoon Exp $
-
-Partially revert https://bugzilla.mozilla.org/show_bug.cgi?id=791305
-to allow building against jpeg (not jpeg-turbo).
-
---- image/decoders/nsJPEGDecoder.cpp.orig 2016-10-31 20:15:32.000000000 +0000
-+++ image/decoders/nsJPEGDecoder.cpp
-@@ -28,13 +28,28 @@
-
- extern "C" {
- #include "iccjpeg.h"
--}
-
-+#ifdef JCS_EXTENSIONS
- #if MOZ_BIG_ENDIAN
- #define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_XRGB
- #else
- #define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_BGRX
- #endif
-+#else
-+/* Colorspace conversion (copied from jpegint.h) */
-+struct jpeg_color_deconverter {
-+ JMETHOD(void, start_pass, (j_decompress_ptr cinfo));
-+ JMETHOD(void, color_convert, (j_decompress_ptr cinfo,
-+ JSAMPIMAGE input_buf, JDIMENSION input_row,
-+ JSAMPARRAY output_buf, int num_rows));
-+};
-+
-+METHODDEF(void)
-+ycc_rgb_convert_argb (j_decompress_ptr cinfo,
-+ JSAMPIMAGE input_buf, JDIMENSION input_row,
-+ JSAMPARRAY output_buf, int num_rows);
-+#endif
-+}
-
- static void cmyk_convert_rgb(JSAMPROW row, JDIMENSION width);
-
-@@ -360,6 +375,7 @@ nsJPEGDecoder::ReadJPEGData(const char*
- case JCS_GRAYSCALE:
- case JCS_RGB:
- case JCS_YCbCr:
-+#ifdef JCS_EXTENSIONS
- // if we're not color managing we can decode directly to
- // MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB
- if (mCMSMode != eCMSMode_All) {
-@@ -368,6 +384,9 @@ nsJPEGDecoder::ReadJPEGData(const char*
- } else {
- mInfo.out_color_space = JCS_RGB;
- }
-+#else
-+ mInfo.out_color_space = JCS_RGB;
-+#endif
- break;
- case JCS_CMYK:
- case JCS_YCCK:
-@@ -441,6 +460,16 @@ nsJPEGDecoder::ReadJPEGData(const char*
- return Transition::ContinueUnbuffered(State::JPEG_DATA); // I/O suspension
- }
-
-+#ifndef JCS_EXTENSIONS
-+ /* Force to use our YCbCr to Packed RGB converter when possible */
-+ if (!mTransform && (mCMSMode != eCMSMode_All) &&
-+ mInfo.jpeg_color_space == JCS_YCbCr && mInfo.out_color_space == JCS_RGB) {
-+ /* Special case for the most common case: transform from YCbCr direct into packed ARGB */
-+ mInfo.out_color_components = 4; /* Packed ARGB pixels are always 4 bytes...*/
-+ mInfo.cconvert->color_convert = ycc_rgb_convert_argb;
-+ }
-+#endif
-+
- // If this is a progressive JPEG ...
- mState = mInfo.buffered_image ?
- JPEG_DECOMPRESS_PROGRESSIVE : JPEG_DECOMPRESS_SEQUENTIAL;
-@@ -638,7 +667,11 @@ nsJPEGDecoder::OutputScanlines(bool* sus
-
- MOZ_ASSERT(imageRow, "Should have a row buffer here");
-
-+#ifdef JCS_EXTENSIONS
- if (mInfo.out_color_space == MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB) {
-+#else
-+ if (mInfo.cconvert->color_convert == ycc_rgb_convert_argb) {
-+#endif
- // Special case: scanline will be directly converted into packed ARGB
- if (jpeg_read_scanlines(&mInfo, (JSAMPARRAY)&imageRow, 1) != 1) {
- *suspend = true; // suspend
-@@ -962,6 +995,282 @@ term_source (j_decompress_ptr jd)
- } // namespace image
- } // namespace mozilla
-
-+#ifndef JCS_EXTENSIONS
-+/**************** YCbCr -> Cairo's RGB24/ARGB32 conversion: most common case **************/
-+
-+/*
-+ * YCbCr is defined per CCIR 601-1, except that Cb and Cr are
-+ * normalized to the range 0..MAXJSAMPLE rather than -0.5 .. 0.5.
-+ * The conversion equations to be implemented are therefore
-+ * R = Y + 1.40200 * Cr
-+ * G = Y - 0.34414 * Cb - 0.71414 * Cr
-+ * B = Y + 1.77200 * Cb
-+ * where Cb and Cr represent the incoming values less CENTERJSAMPLE.
-+ * (These numbers are derived from TIFF 6.0 section 21, dated 3-June-92.)
-+ *
-+ * To avoid floating-point arithmetic, we represent the fractional constants
-+ * as integers scaled up by 2^16 (about 4 digits precision); we have to divide
-+ * the products by 2^16, with appropriate rounding, to get the correct answer.
-+ * Notice that Y, being an integral input, does not contribute any fraction
-+ * so it need not participate in the rounding.
-+ *
-+ * For even more speed, we avoid doing any multiplications in the inner loop
-+ * by precalculating the constants times Cb and Cr for all possible values.
-+ * For 8-bit JSAMPLEs this is very reasonable (only 256 entries per table);
-+ * for 12-bit samples it is still acceptable. It's not very reasonable for
-+ * 16-bit samples, but if you want lossless storage you shouldn't be changing
-+ * colorspace anyway.
-+ * The Cr=>R and Cb=>B values can be rounded to integers in advance; the
-+ * values for the G calculation are left scaled up, since we must add them
-+ * together before rounding.
-+ */
-+
-+#define SCALEBITS 16 /* speediest right-shift on some machines */
-+
-+/* Use static tables for color processing. */
-+/* Four tables, each 256 entries of 4 bytes totals 4K which is not bad... */
-+
-+const int Cr_r_tab[(MAXJSAMPLE+1) * sizeof(int)] ={
-+ -0xb3, -0xb2, -0xb1, -0xaf, -0xae, -0xac,
-+ -0xab, -0xaa, -0xa8, -0xa7, -0xa5, -0xa4,
-+ -0xa3, -0xa1, -0xa0, -0x9e, -0x9d, -0x9c,
-+ -0x9a, -0x99, -0x97, -0x96, -0x95, -0x93,
-+ -0x92, -0x90, -0x8f, -0x8e, -0x8c, -0x8b,
-+ -0x89, -0x88, -0x87, -0x85, -0x84, -0x82,
-+ -0x81, -0x80, -0x7e, -0x7d, -0x7b, -0x7a,
-+ -0x79, -0x77, -0x76, -0x74, -0x73, -0x72,
-+ -0x70, -0x6f, -0x6d, -0x6c, -0x6b, -0x69,
-+ -0x68, -0x66, -0x65, -0x64, -0x62, -0x61,
-+ -0x5f, -0x5e, -0x5d, -0x5b, -0x5a, -0x58,
-+ -0x57, -0x56, -0x54, -0x53, -0x51, -0x50,
-+ -0x4f, -0x4d, -0x4c, -0x4a, -0x49, -0x48,
-+ -0x46, -0x45, -0x43, -0x42, -0x40, -0x3f,
-+ -0x3e, -0x3c, -0x3b, -0x39, -0x38, -0x37,
-+ -0x35, -0x34, -0x32, -0x31, -0x30, -0x2e,
-+ -0x2d, -0x2b, -0x2a, -0x29, -0x27, -0x26,
-+ -0x24, -0x23, -0x22, -0x20, -0x1f, -0x1d,
-+ -0x1c, -0x1b, -0x19, -0x18, -0x16, -0x15,
-+ -0x14, -0x12, -0x11, -0x0f, -0x0e, -0x0d,
-+ -0x0b, -0x0a, -0x08, -0x07, -0x06, -0x04,
-+ -0x03, -0x01, 0x00, 0x01, 0x03, 0x04,
-+ 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0d,
-+ 0x0e, 0x0f, 0x11, 0x12, 0x14, 0x15,
-+ 0x16, 0x18, 0x19, 0x1b, 0x1c, 0x1d,
-+ 0x1f, 0x20, 0x22, 0x23, 0x24, 0x26,
-+ 0x27, 0x29, 0x2a, 0x2b, 0x2d, 0x2e,
-+ 0x30, 0x31, 0x32, 0x34, 0x35, 0x37,
-+ 0x38, 0x39, 0x3b, 0x3c, 0x3e, 0x3f,
-+ 0x40, 0x42, 0x43, 0x45, 0x46, 0x48,
-+ 0x49, 0x4a, 0x4c, 0x4d, 0x4f, 0x50,
-+ 0x51, 0x53, 0x54, 0x56, 0x57, 0x58,
Home |
Main Index |
Thread Index |
Old Index