pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/mail/thunderbird45



Module Name:    pkgsrc
Committed By:   ryoon
Date:           Thu Apr 27 13:38:19 UTC 2017

Added Files:
        pkgsrc/mail/thunderbird45: DESCR Makefile PLIST PLIST.lightning
            distinfo hacks.mk options.mk
        pkgsrc/mail/thunderbird45/files: desktop.in patch-ipc_src_Makefile
        pkgsrc/mail/thunderbird45/patches: patch-calendar_lightning_Makefile.in
            patch-calendar_lightning_build_universal.mk
            patch-calendar_providers_gdata_Makefile.in
            patch-ldap_c-sdk_include_portable.h patch-mail_app_nsMailApp.cpp
            patch-mail_components_shell_nsMailGNOMEIntegration.cpp
            patch-mail_installer_package-manifest.in
            patch-mail_installer_removed-files.in
            patch-mozilla_browser_branding_unofficial_locales_en-US_brand.dtd
            patch-mozilla_browser_installer_package-manifest.in
            patch-mozilla_build_autoconf_compiler-opts.m4
            patch-mozilla_build_autoconf_nss.m4
            patch-mozilla_build_gyp.mozbuild
            patch-mozilla_build_pgo_profileserver.py
            patch-mozilla_config_Makefile.in patch-mozilla_config_baseconfig.mk
            patch-mozilla_config_external_moz.build
            patch-mozilla_config_rules.mk
            patch-mozilla_config_stl__wrappers_ios
            patch-mozilla_config_stl__wrappers_ostream
            patch-mozilla_config_system-headers patch-mozilla_configure.in
            patch-mozilla_dom_base_DOMRequest.cpp
            patch-mozilla_dom_base_moz.build
            patch-mozilla_dom_media_gstreamer_GStreamerAllocator.cpp
            patch-mozilla_dom_media_moz.build
            patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp
            patch-mozilla_dom_plugins_ipc_PluginModuleChild.h
            patch-mozilla_dom_plugins_ipc_PluginProcessChild.cpp
            patch-mozilla_dom_system_OSFileConstants.cpp
            patch-mozilla_extensions_spellcheck_hunspell_glue_mozHunspell.cpp
            patch-mozilla_gfx_cairo_libpixman_src_pixman-arm-neon-asm.S
            patch-mozilla_gfx_gl_GLContextProviderGLX.cpp
            patch-mozilla_gfx_graphite2_src_Bidi.cpp
            patch-mozilla_gfx_moz.build
            patch-mozilla_gfx_skia_generate__mozbuild.py
            patch-mozilla_gfx_skia_moz.build
            patch-mozilla_gfx_skia_skia_src_core_SkUtilsArm.cpp
            patch-mozilla_gfx_skia_skia_src_opts_SkBitmapProcState__opts__arm.cpp
            patch-mozilla_gfx_skia_skia_src_opts_memset.arm.S
            patch-mozilla_gfx_thebes_moz.build
            patch-mozilla_gfx_ycbcr_moz.build
            patch-mozilla_gfx_ycbcr_yuv__row__arm.S
            patch-mozilla_image_decoders_nsJPEGDecoder.cpp
            patch-mozilla_intl_hyphenation_glue_hnjalloc.h
            patch-mozilla_ipc_chromium_src_base_atomicops.h
            patch-mozilla_ipc_chromium_src_base_file__util__posix.cc
            patch-mozilla_ipc_chromium_src_base_message__loop.cc
            patch-mozilla_ipc_chromium_src_base_message__pump__libevent.cc
            patch-mozilla_ipc_chromium_src_base_platform__thread.h
            patch-mozilla_ipc_chromium_src_base_platform__thread__posix.cc
            patch-mozilla_ipc_chromium_src_base_process__util.h
            patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc
            patch-mozilla_ipc_chromium_src_base_process__util__posix.cc
            patch-mozilla_ipc_chromium_src_base_scoped__nsautorelease__pool.h
            patch-mozilla_ipc_chromium_src_base_sys__info__posix.cc
            patch-mozilla_ipc_chromium_src_base_time__posix.cc
            patch-mozilla_ipc_chromium_src_build_build__config.h
            patch-mozilla_ipc_chromium_src_chrome_common_transport__dib.h
            patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp
            patch-mozilla_ipc_glue_StringUtil.cpp
            patch-mozilla_ipc_glue_moz.build patch-mozilla_js_src_configure.in
            patch-mozilla_js_src_ctypes_CTypes.h
            patch-mozilla_js_src_frontend_ParseMaps.cpp
            patch-mozilla_js_src_jit_LIR.cpp patch-mozilla_js_src_jit_MIR.cpp
            patch-mozilla_js_src_jit_arm_Architecture-arm.cpp
            patch-mozilla_js_src_jsdate.cpp patch-mozilla_js_src_jskwgen.cpp
            patch-mozilla_js_src_jsmath.cpp
            patch-mozilla_js_src_jsnativestack.cpp
            patch-mozilla_js_src_shell_jsoptparse.cpp
            patch-mozilla_js_src_vm_SPSProfiler.cpp
            patch-mozilla_js_xpconnect_src_XPCConvert.cpp
            patch-mozilla_js_xpconnect_src_xpcprivate.h
            patch-mozilla_media_libcubeb_src_cubeb.c
            patch-mozilla_media_libcubeb_src_cubeb__alsa.c
            patch-mozilla_media_libcubeb_src_cubeb__oss.c
            patch-mozilla_media_libcubeb_src_moz.build
            patch-mozilla_media_libpng_pngpriv.h
            patch-mozilla_media_libsoundtouch_src_cpu__detect__x86.cpp
            patch-mozilla_media_libstagefright_frameworks_av_include_media_stagefright_foundation_AString.h
            patch-mozilla_media_libstagefright_frameworks_av_media_libstagefright_foundation_AString.cpp
            patch-mozilla_media_libstagefright_system_core_liblog_fake__log__device.c
            patch-mozilla_media_libstagefright_system_core_liblog_logprint.c
            patch-mozilla_media_libtheora_lib_arm_armcpu.c
            patch-mozilla_media_libtheora_lib_info.c
            patch-mozilla_media_libtheora_moz.build
            patch-mozilla_media_libtremor_Makefile.in
            patch-mozilla_media_libtremor_moz.build
            patch-mozilla_media_libvorbis_Makefile.in
            patch-mozilla_media_libvorbis_lib_vorbis__info.c
            patch-mozilla_media_libvorbis_moz.build
            patch-mozilla_media_libyuv_include_libyuv_scale__row.h
            patch-mozilla_media_mtransport_third__party_nICEr_src_util_mbslen.c
            patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h
            patch-mozilla_media_openmax__dl_dl_api_armCOMM__s.h
            patch-mozilla_media_webrtc_signaling_test_common.build
            patch-mozilla_media_webrtc_trunk_webrtc_build_common.gypi
            patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_neteq_neteq.gypi
            patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.cc
            patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.h
            patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc
            patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc
            patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi
            patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp
            patch-mozilla_memory_build_mozjemalloc__compat.c
            patch-mozilla_memory_mozalloc_mozalloc__abort.cpp
            patch-mozilla_memory_volatile_VolatileBufferOSX.cpp
            patch-mozilla_mfbt_Attributes.h patch-mozilla_mfbt_Poison.cpp
            patch-mozilla_modules_libjar_nsZipArchive.cpp
            patch-mozilla_modules_libpref_init_all.js
            patch-mozilla_mozglue_build_arm.cpp
            patch-mozilla_mozglue_build_arm.h
            patch-mozilla_netwerk_dns_moz.build
            patch-mozilla_storage_SQLiteMutex.h
            patch-mozilla_toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h
            patch-mozilla_toolkit_components_protobuf_src_google_protobuf_stubs_platform__macros.h
            patch-mozilla_toolkit_library_moz.build
            patch-mozilla_toolkit_mozapps_installer_packager.mk
            patch-mozilla_toolkit_mozapps_installer_packager.mk.orig
            patch-mozilla_toolkit_xre_glxtest.cpp
            patch-mozilla_toolkit_xre_nsAppRunner.cpp
            patch-mozilla_toolkit_xre_nsEmbedFunctions.cpp
            patch-mozilla_webapprt_moz.build patch-mozilla_xpcom_base_nscore.h
            patch-mozilla_xpcom_build_PoisonIOInterposer.h
            patch-mozilla_xpcom_components_Module.h
            patch-mozilla_xpcom_reflect_xptcall_md_unix_Makefile.in
            patch-mozilla_xpcom_reflect_xptcall_md_unix_moz.build
            patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__arm__netbsd.cpp
            patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__mips.S
            patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s
            patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__gcc__x86__unix.cpp
            patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp
            patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp
            patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp
            patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__arm__netbsd.cpp
            patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__mips.S
            patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__sparc64__netbsd.s
            patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__gcc__x86__unix.cpp
            patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__netbsd__m68k.cpp
            patch-mozilla_xulrunner_installer_Makefile.in
            patch-mozilla_xulrunner_installer_libxul-embedding.pc.in
            patch-mozilla_xulrunner_installer_libxul.pc.in

Log Message:
Import thunderbird45-45.8.0 as mail/thunderbird45.

Mozilla Thunderbird is a redesign of the Mozilla mail component. The
goal is to produce a cross platform stand alone mail application using
the XUL user interface language. This version uses the gtk2 toolkit.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 pkgsrc/mail/thunderbird45/DESCR \
    pkgsrc/mail/thunderbird45/Makefile pkgsrc/mail/thunderbird45/PLIST \
    pkgsrc/mail/thunderbird45/PLIST.lightning \
    pkgsrc/mail/thunderbird45/distinfo pkgsrc/mail/thunderbird45/hacks.mk \
    pkgsrc/mail/thunderbird45/options.mk
cvs rdiff -u -r0 -r1.1 pkgsrc/mail/thunderbird45/files/desktop.in \
    pkgsrc/mail/thunderbird45/files/patch-ipc_src_Makefile
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/mail/thunderbird45/patches/patch-calendar_lightning_Makefile.in \
    pkgsrc/mail/thunderbird45/patches/patch-calendar_lightning_build_universal.mk \
    pkgsrc/mail/thunderbird45/patches/patch-calendar_providers_gdata_Makefile.in \
    pkgsrc/mail/thunderbird45/patches/patch-ldap_c-sdk_include_portable.h \
    pkgsrc/mail/thunderbird45/patches/patch-mail_app_nsMailApp.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mail_components_shell_nsMailGNOMEIntegration.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mail_installer_package-manifest.in \
    pkgsrc/mail/thunderbird45/patches/patch-mail_installer_removed-files.in \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_browser_branding_unofficial_locales_en-US_brand.dtd \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_browser_installer_package-manifest.in \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_build_autoconf_compiler-opts.m4 \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_build_autoconf_nss.m4 \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_build_gyp.mozbuild \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_build_pgo_profileserver.py \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_Makefile.in \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_baseconfig.mk \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_external_moz.build \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_rules.mk \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_stl__wrappers_ios \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_stl__wrappers_ostream \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_system-headers \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_configure.in \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_base_DOMRequest.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_base_moz.build \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_media_gstreamer_GStreamerAllocator.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_media_moz.build \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_plugins_ipc_PluginProcessChild.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_system_OSFileConstants.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_extensions_spellcheck_hunspell_glue_mozHunspell.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_cairo_libpixman_src_pixman-arm-neon-asm.S \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_gl_GLContextProviderGLX.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_graphite2_src_Bidi.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_moz.build \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_skia_generate__mozbuild.py \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_skia_moz.build \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_skia_skia_src_core_SkUtilsArm.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_skia_skia_src_opts_SkBitmapProcState__opts__arm.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_skia_skia_src_opts_memset.arm.S \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_thebes_moz.build \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_ycbcr_moz.build \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_ycbcr_yuv__row__arm.S \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_image_decoders_nsJPEGDecoder.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_intl_hyphenation_glue_hnjalloc.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_atomicops.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_file__util__posix.cc \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_message__loop.cc \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_message__pump__libevent.cc \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_platform__thread.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_platform__thread__posix.cc \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_process__util.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_process__util__posix.cc \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_scoped__nsautorelease__pool.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_sys__info__posix.cc \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_time__posix.cc \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_build_build__config.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_chrome_common_transport__dib.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_glue_StringUtil.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_glue_moz.build \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_configure.in \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_ctypes_CTypes.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_frontend_ParseMaps.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jit_LIR.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jit_MIR.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jit_arm_Architecture-arm.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jsdate.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jskwgen.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jsmath.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jsnativestack.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_shell_jsoptparse.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_vm_SPSProfiler.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_xpconnect_src_XPCConvert.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_xpconnect_src_xpcprivate.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libcubeb_src_cubeb.c \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libcubeb_src_cubeb__alsa.c \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libcubeb_src_cubeb__oss.c \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libcubeb_src_moz.build \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libpng_pngpriv.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libsoundtouch_src_cpu__detect__x86.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libstagefright_frameworks_av_include_media_stagefright_foundation_AString.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libstagefright_frameworks_av_media_libstagefright_foundation_AString.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libstagefright_system_core_liblog_fake__log__device.c \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libstagefright_system_core_liblog_logprint.c \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libtheora_lib_arm_armcpu.c \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libtheora_lib_info.c \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libtheora_moz.build \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libtremor_Makefile.in \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libtremor_moz.build \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libvorbis_Makefile.in \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libvorbis_lib_vorbis__info.c \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libvorbis_moz.build \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libyuv_include_libyuv_scale__row.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_mtransport_third__party_nICEr_src_util_mbslen.c \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_openmax__dl_dl_api_armCOMM__s.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_signaling_test_common.build \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_build_common.gypi \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_neteq_neteq.gypi \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.cc \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_memory_build_mozjemalloc__compat.c \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_memory_mozalloc_mozalloc__abort.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_memory_volatile_VolatileBufferOSX.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_mfbt_Attributes.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_mfbt_Poison.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_modules_libjar_nsZipArchive.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_modules_libpref_init_all.js \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_mozglue_build_arm.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_mozglue_build_arm.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_netwerk_dns_moz.build \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_storage_SQLiteMutex.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_components_protobuf_src_google_protobuf_stubs_platform__macros.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_library_moz.build \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_mozapps_installer_packager.mk \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_mozapps_installer_packager.mk.orig \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_xre_glxtest.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_xre_nsAppRunner.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_xre_nsEmbedFunctions.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_webapprt_moz.build \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_base_nscore.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_build_PoisonIOInterposer.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_components_Module.h \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_Makefile.in \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_moz.build \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__arm__netbsd.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__mips.S \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__gcc__x86__unix.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__arm__netbsd.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__mips.S \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__sparc64__netbsd.s \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__gcc__x86__unix.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__netbsd__m68k.cpp \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_xulrunner_installer_Makefile.in \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_xulrunner_installer_libxul-embedding.pc.in \
    pkgsrc/mail/thunderbird45/patches/patch-mozilla_xulrunner_installer_libxul.pc.in

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: pkgsrc/mail/thunderbird45/DESCR
diff -u /dev/null pkgsrc/mail/thunderbird45/DESCR:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/DESCR     Thu Apr 27 13:38:18 2017
@@ -0,0 +1,3 @@
+Mozilla Thunderbird is a redesign of the Mozilla mail component. The
+goal is to produce a cross platform stand alone mail application using
+the XUL user interface language. This version uses the gtk2 toolkit.
Index: pkgsrc/mail/thunderbird45/Makefile
diff -u /dev/null pkgsrc/mail/thunderbird45/Makefile:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/Makefile  Thu Apr 27 13:38:18 2017
@@ -0,0 +1,95 @@
+# $NetBSD: Makefile,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+DISTNAME=      thunderbird-${TB_VER}.source
+PKGNAME=       thunderbird45-${TB_VER}
+TB_VER=                45.8.0
+CATEGORIES=    mail
+MASTER_SITES=  ${MASTER_SITE_MOZILLA:=thunderbird/releases/${TB_VER}/source/}
+EXTRACT_SUFX=  .tar.xz
+
+MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=      http://www.mozillamessaging.com/en-US/thunderbird/
+COMMENT=       Organize, secure and customize your mail
+
+USE_TOOLS+=    unzip pax
+WRKSRC=                ${WRKDIR}/${PKGNAME_NOREV:C/thunderbird45/thunderbird/}
+MOZILLA_DIR=   mozilla/
+PLIST_SRC+=    ${PLIST_SRC_DFLT}
+
+CONFIG_GUESS_OVERRIDE+=        ldap/sdks/c-sdk/config/autoconf/config.guess
+CONFIG_SUB_OVERRIDE+=  ldap/sdks/c-sdk/config/autoconf/config.sub
+
+CONFIGURE_ARGS+=       --enable-application=mail
+# Disable WebRTC support for Thunderbird unconditionally.
+CONFIGURE_ARGS+=       --disable-webrtc
+
+NOT_PAX_MPROTECT_SAFE+=        lib/thunderbird45/thunderbird
+NOT_PAX_MPROTECT_SAFE+=        lib/thunderbird45/thunderbird-bin
+
+ALL_ENV+=              MOZILLA_PKG_NAME=thunderbird45
+
+.include "../../mk/bsd.prefs.mk"
+
+#SUBST_CLASSES+=                       ext-compat
+#SUBST_STAGE.ext-compat=               pre-configure
+#SUBST_MESSAGE.ext-compat=     Fixing extension compatibility
+#SUBST_FILES.ext-compat=               mailnews/extensions/enigmail/package/install.rdf
+#SUBST_FILES.ext-compat+=      calendar/*/install.rdf
+#SUBST_FILES.ext-compat+=      calendar/*/*/install.rdf
+#SUBST_SED.ext-compat=         -e 's,\(<em:maxVersion>\).*<,\19.0<,g'
+
+SUBST_CLASSES+=                sys-dic
+SUBST_STAGE.sys-dic=   pre-configure
+SUBST_MESSAGE.sys-dic= Reference to system hunspell dictionaries.
+SUBST_FILES.sys-dic=   mozilla/extensions/spellcheck/hunspell/src/mozHunspell.cpp
+SUBST_VARS.sys-dic=    PREFIX
+
+CHECK_INTERPRETER_SKIP+=lib/thunderbird-sdk/sdk/bin/header.py
+CHECK_INTERPRETER_SKIP+=lib/thunderbird-sdk/sdk/bin/typelib.py
+CHECK_INTERPRETER_SKIP+=lib/thunderbird-sdk/sdk/bin/xpidl.py
+CHECK_INTERPRETER_SKIP+=lib/thunderbird-sdk/sdk/bin/xpt.py
+
+pre-configure:
+       cd ${WRKSRC} && mkdir ${OBJDIR}
+       cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} autoconf
+       cd ${WRKSRC}/mozilla && ${SETENV} ${CONFIGURE_ENV} autoconf
+       cd ${WRKSRC}/mozilla/js/src && ${SETENV} ${CONFIGURE_ENV} autoconf
+       touch ${WRKSRC}/.mozconfig
+
+do-build:
+# XXX for some reason it doesn't work unless -j is explicitly specified
+       cd ${WRKSRC}/${OBJDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} -j${MAKE_JOBS:U1}
+
+MOZILLA=thunderbird45
+MOZILLA_NAME=thunderbird45
+post-build:
+       ${SED} -e 's|@MOZILLA@|${MOZILLA}|g'                            \
+         -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|g'                       \
+         -e 's|@MOZILLA_ICON@|${MOZILLA}.png|g'                        \
+         < ${FILESDIR}/desktop.in                                      \
+         > ${WRKDIR}/desktop
+
+INSTALLATION_DIRS+=    lib/${MOZILLA}/extensions
+INSTALLATION_DIRS+=    share/applications share/pixmaps
+post-install:
+       ${INSTALL_DATA} ${WRKDIR}/desktop                               \
+         ${DESTDIR}${PREFIX}/share/applications/${MOZILLA}.desktop
+       ${INSTALL_DATA} ${WRKSRC}/${OBJDIR}/dist/thunderbird/chrome/icons/default/default48.png \
+         ${DESTDIR}${PREFIX}/share/pixmaps/${MOZILLA}.png
+       @${STEP_MSG} "Installing bundled thunderbird extensions."
+       rm -rf ${WRKDIR}/extensions
+       ${MKDIR} ${WRKDIR}/extensions
+       ${RUN} for e in ${XPI_FILES}; do                                \
+         subdir="`${UNZIP_CMD} -c "$$e" install.rdf | awk '/^    <em:id>/ {sub(".*<em:id>","");sub("</em:id>.*","");print;exit;}'`" && \
+         ${MKDIR} "${WRKDIR}/extensions/$$subdir" &&                   \
+         cd "${WRKDIR}/extensions/$$subdir" &&                         \
+         ${UNZIP_CMD} -aqo $$e;                                        \
+       done
+       cd ${WRKDIR}/extensions && pax -rw .                            \
+          ${DESTDIR}${PREFIX}/lib/${MOZILLA}/extensions/.
+       rm -rf ${WRKDIR}/extensions
+
+.include "../../www/firefox45/mozilla-common.mk"
+.include "options.mk"
+.include "../../sysutils/desktop-file-utils/desktopdb.mk"
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/mail/thunderbird45/PLIST
diff -u /dev/null pkgsrc/mail/thunderbird45/PLIST:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/PLIST     Thu Apr 27 13:38:18 2017
@@ -0,0 +1,3025 @@
+@comment $NetBSD: PLIST,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+bin/thunderbird45
+lib/thunderbird45/application.ini
+lib/thunderbird45/blocklist.xml
+lib/thunderbird45/chrome.manifest
+lib/thunderbird45/chrome/chat/content/chat/browserRequest.js
+lib/thunderbird45/chrome/chat/content/chat/browserRequest.xul
+lib/thunderbird45/chrome/chat/content/chat/conv.html
+lib/thunderbird45/chrome/chat/content/chat/convbrowser.xml
+lib/thunderbird45/chrome/chat/content/chat/imtooltip.css
+lib/thunderbird45/chrome/chat/content/chat/imtooltip.xml
+lib/thunderbird45/chrome/chat/skin/classic/chat/available-16.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/available.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/away-16.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/away.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/browserRequest.css
+lib/thunderbird45/chrome/chat/skin/classic/chat/chat-16.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/chat-left-16.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/conv.css
+lib/thunderbird45/chrome/chat/skin/classic/chat/icons/insecure.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/icons/secure.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/idle-16.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/idle.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/imtooltip.css
+lib/thunderbird45/chrome/chat/skin/classic/chat/loading.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/mobile-16.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/mobile.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/offline-16.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/offline.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/prpl-generic/icon.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/prpl-generic/icon32.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/prpl-generic/icon48.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/prpl-unknown/icon.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/prpl-unknown/icon32.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/prpl-unknown/icon48.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/status.css
+lib/thunderbird45/chrome/chat/skin/classic/chat/typed-16.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/typing-16.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/unknown-16.png
+lib/thunderbird45/chrome/chat/skin/classic/chat/unknown.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/facebook/icon.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/facebook/icon32.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/facebook/icon48.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/gtalk/icon.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/gtalk/icon32.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/gtalk/icon48.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/irc/icon.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/irc/icon32.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/irc/icon48.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/odnoklassniki/icon.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/odnoklassniki/icon32.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/odnoklassniki/icon48.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/skype/icon.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/skype/icon32.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/skype/icon48.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/twitter/icon-left.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/twitter/icon.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/twitter/icon32.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/twitter/icon48.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/xmpp/icon.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/xmpp/icon32.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/xmpp/icon48.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/yahoo/icon.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/yahoo/icon32.png
+lib/thunderbird45/chrome/chat/skin/classic/prpl/yahoo/icon48.png
+lib/thunderbird45/chrome/chrome.manifest
+lib/thunderbird45/chrome/classic/skin/classic/communicator/communicator.css
+lib/thunderbird45/chrome/classic/skin/classic/communicator/icons/smileys/smiley-cool.png
+lib/thunderbird45/chrome/classic/skin/classic/communicator/icons/smileys/smiley-cry.png
+lib/thunderbird45/chrome/classic/skin/classic/communicator/icons/smileys/smiley-embarassed.png
+lib/thunderbird45/chrome/classic/skin/classic/communicator/icons/smileys/smiley-foot-in-mouth.png
+lib/thunderbird45/chrome/classic/skin/classic/communicator/icons/smileys/smiley-frown.png
+lib/thunderbird45/chrome/classic/skin/classic/communicator/icons/smileys/smiley-innocent.png
+lib/thunderbird45/chrome/classic/skin/classic/communicator/icons/smileys/smiley-kiss.png
+lib/thunderbird45/chrome/classic/skin/classic/communicator/icons/smileys/smiley-laughing.png
+lib/thunderbird45/chrome/classic/skin/classic/communicator/icons/smileys/smiley-money-mouth.png
+lib/thunderbird45/chrome/classic/skin/classic/communicator/icons/smileys/smiley-sealed.png
+lib/thunderbird45/chrome/classic/skin/classic/communicator/icons/smileys/smiley-smile.png
+lib/thunderbird45/chrome/classic/skin/classic/communicator/icons/smileys/smiley-surprised.png
+lib/thunderbird45/chrome/classic/skin/classic/communicator/icons/smileys/smiley-tongue-out.png
+lib/thunderbird45/chrome/classic/skin/classic/communicator/icons/smileys/smiley-undecided.png
+lib/thunderbird45/chrome/classic/skin/classic/communicator/icons/smileys/smiley-wink.png
+lib/thunderbird45/chrome/classic/skin/classic/communicator/icons/smileys/smiley-yell.png
+lib/thunderbird45/chrome/classic/skin/classic/communicator/smileys.css
+lib/thunderbird45/chrome/classic/skin/classic/editor/EditorDialog.css
+lib/thunderbird45/chrome/classic/skin/classic/editor/editor.css
+lib/thunderbird45/chrome/classic/skin/classic/editor/icons/img-align-bottom.gif
+lib/thunderbird45/chrome/classic/skin/classic/editor/icons/img-align-left.gif
+lib/thunderbird45/chrome/classic/skin/classic/editor/icons/img-align-middle.gif
+lib/thunderbird45/chrome/classic/skin/classic/editor/icons/img-align-right.gif
+lib/thunderbird45/chrome/classic/skin/classic/editor/icons/img-align-top.gif
+lib/thunderbird45/chrome/classic/skin/classic/messenger-newsblog/feed-subscriptions.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger-newsblog/icons/rss-feed.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger-newsblog/icons/server-rss.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/aboutNetError.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/aboutSupport.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/accountCentral.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/accountCreation.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/accountManage.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/accountWizard.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/accountcentral/account-settings.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/accountcentral/create-account.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/accountcentral/manage-filters.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/accountcentral/manage-imap.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/accountcentral/manage-newsgroups.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/accountcentral/manage-rss.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/accountcentral/offline-settings.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/accountcentral/read-messages.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/accountcentral/search-messages.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/accountcentral/write-message.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/activity/activity.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/activity/addItemIcon.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/activity/buttons.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/activity/compactMailIcon.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/activity/copyMailIcon.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/activity/defaultEventIcon.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/activity/defaultProcessIcon.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/activity/defaultWarningIcon.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/activity/deleteMailIcon.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/activity/indexMailIcon.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/activity/moveMailIcon.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/activity/removeItemIcon.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/activity/sendMailIcon.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/activity/syncMailIcon.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/activity/undoIcon.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/addressbook/abContactsPanel.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/addressbook/abResultsPane.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/addressbook/addressbook.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/addressbook/cardDialog.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/addressbook/icons/abcard-large.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/addressbook/icons/abcard.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/addressbook/icons/ablist.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/addressbook/icons/addrbook.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/addressbook/icons/addressbook-toolbar.svg
+lib/thunderbird45/chrome/classic/skin/classic/messenger/addressbook/icons/contact-generic-tiny.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/addressbook/icons/contact-generic.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/addressbook/icons/remote-addrbook-error.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/addressbook/icons/remote-addrbook.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/addressbook/icons/secure-remote-addrbook.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/attachmentList.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/browserRequest.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/chat.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/cloudfile/Hightail/check.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/cloudfile/Hightail/fileExceedsLimit.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/cloudfile/Hightail/settings.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/cloudfile/addAccountDialog.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/contactStarred.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/dialogs.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/downloads/aboutDownloads.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/downloads/download.svg
+lib/thunderbird45/chrome/classic/skin/classic/messenger/editContactOverlay.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/filterDialog.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/folderMenus.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/folderPane.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/founder.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/glodaFacetView.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/half-operator.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/arrow-dn-blue.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/arrow-dn-grey.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/arrow/arrow-down-dim.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/arrow/arrow-down.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/arrow/arrow-left-dim.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/arrow/arrow-left.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/arrow/arrow-right-dim.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/arrow/arrow-right.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/arrow/arrow-up-dim.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/arrow/arrow-up.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/arrow/foldercycler-arrow.svg
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/attachment-col.svg
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/attachment-deleted-large.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/attachment-deleted.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/black_pin.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/blacklist.svg
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/box-logo.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/cancel.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/cert-error.svg
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/chat-toolbar.svg
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/check.gif
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/close-button.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/columnpicker.svg
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/connecting.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/dropmarker-hover.svg
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/dropmarker.svg
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/empty-search-results.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/error.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/exclude-selected.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/exclude.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/filterbar.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/flag-col.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/flag-col.svg
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/folder-new-star.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/folder-pane.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/hightail.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/identity.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/insecure.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/junk-col.svg
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/junk.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/loading.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/mail-toolbar.svg
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/message-ignored.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/message-list.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/message.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/multicolor.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/new-mail-alert.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/notchecked.gif
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/notloading.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/offline.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/online.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/phishing.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/readcol.svg
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/red_pin.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/remote-blocked.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/row.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/search-arrow.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/secure.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/server.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/status-small.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/status.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/thread-col.svg
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/thread-ignored.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/thread-watched.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/thread.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/tick.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/timeline-inverted.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/timeline.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/toolbarbutton-arrow-inverted.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/toolbarbutton-arrow.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/update.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/zoomout-hover.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/icons/zoomout.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/imAccountWizard.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/imAccounts.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/imMenulist.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/imRichlistbox.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/imageFilters.svg
+lib/thunderbird45/chrome/classic/skin/classic/messenger/junkMail.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/mailWindow1.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/messageBody.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/messageHeader.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/messageQuotes.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/messageWindow.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/messenger.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/messengerLWTheme.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/messengercompose/compose-toolbar.svg
+lib/thunderbird45/chrome/classic/skin/classic/messenger/messengercompose/format-buttons.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/messengercompose/linux-noise.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/messengercompose/messengercompose.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/msgSelectOffline.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/multimessageview.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/newmailaccount/accountProvisioner.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/newmailaccount/search.gif
+lib/thunderbird45/chrome/classic/skin/classic/messenger/newmailaccount/search.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/newmailaccount/spinner.gif
+lib/thunderbird45/chrome/classic/skin/classic/messenger/newmailaccount/success-addons.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/newmailaccount/success-border.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/newmailaccount/success-compose.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/newmailaccount/success-signature.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/newmailalert.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/noise.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/operator.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/preferences/aboutPreferences.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/preferences/advanced.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/preferences/alwaysAsk.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/preferences/applications.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/preferences/attachments.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/preferences/auth-error.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/preferences/background.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/preferences/chat.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/preferences/composition.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/preferences/dialog.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/preferences/display.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/preferences/general.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/preferences/hover.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/preferences/preferences.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/preferences/privacy.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/preferences/security.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/preferences/selected.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/primaryToolbar.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/quickFilterBar.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/sanitizeDialog.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/searchBox.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/searchDialog.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/section_collapsed.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/section_expanded.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/shared/accountProvisioner.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/shared/addressbook.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/shared/in-content/aboutPreferences.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/shared/in-content/dialog.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/shared/in-content/icons.svg
+lib/thunderbird45/chrome/classic/skin/classic/messenger/shared/mailWindow1.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/shared/messageHeader.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/shared/messenger.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/shared/tabmail.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/sharedPlatform.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/smime/certFetchingStatus.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/smime/icons/hdrCryptoNotOk.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/smime/icons/hdrCryptoOk.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/smime/icons/hdrSignNotOk.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/smime/icons/hdrSignOk.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/smime/icons/hdrSignUnknown.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/smime/icons/sbCryptoNotOk.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/smime/icons/sbCryptoOk.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/smime/icons/sbSignNotOk.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/smime/icons/sbSignOk.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/smime/icons/sbSignUnknown.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/smime/msgCompSMIMEOverlay.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/smime/msgCompSecurityInfo.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/smime/msgHdrViewSMIMEOverlay.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/smime/msgReadSMIMEOverlay.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/smime/msgReadSecurityInfo.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/starContact.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/starred48.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/subscribe.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/tabmail.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/tabs/active-middle.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/tabs/background-end.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/tabs/background-middle.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/tabs/background-start.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/tabs/dragIndicator.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/tabs/overflow-indicator.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/tabs/selected-end.svg
+lib/thunderbird45/chrome/classic/skin/classic/messenger/tabs/selected-start.svg
+lib/thunderbird45/chrome/classic/skin/classic/messenger/tabs/stroke-end.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/tabs/stroke-start.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/tagColors.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/tagbg.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/userIcon.png
+lib/thunderbird45/chrome/classic/skin/classic/messenger/virtualFolderListDialog.css
+lib/thunderbird45/chrome/classic/skin/classic/messenger/voice.png
+lib/thunderbird45/chrome/comm/content/communicator/charsetOverlay.xul
+lib/thunderbird45/chrome/comm/content/communicator/contentAreaClick.js
+lib/thunderbird45/chrome/comm/content/communicator/labelsencodings.properties
+lib/thunderbird45/chrome/comm/content/communicator/utilityOverlay.js
+lib/thunderbird45/chrome/comm/content/communicator/utilityOverlay.xul
+lib/thunderbird45/chrome/comm/content/editor/ComposerCommands.js
+lib/thunderbird45/chrome/comm/content/editor/EdAEAttributes.js
+lib/thunderbird45/chrome/comm/content/editor/EdAECSSAttributes.js
+lib/thunderbird45/chrome/comm/content/editor/EdAEHTMLAttributes.js
+lib/thunderbird45/chrome/comm/content/editor/EdAEJSEAttributes.js
+lib/thunderbird45/chrome/comm/content/editor/EdAdvancedEdit.js
+lib/thunderbird45/chrome/comm/content/editor/EdAdvancedEdit.xul
+lib/thunderbird45/chrome/comm/content/editor/EdButtonProps.js
+lib/thunderbird45/chrome/comm/content/editor/EdButtonProps.xul
+lib/thunderbird45/chrome/comm/content/editor/EdColorPicker.js
+lib/thunderbird45/chrome/comm/content/editor/EdColorPicker.xul
+lib/thunderbird45/chrome/comm/content/editor/EdColorProps.js
+lib/thunderbird45/chrome/comm/content/editor/EdColorProps.xul
+lib/thunderbird45/chrome/comm/content/editor/EdConvertToTable.js
+lib/thunderbird45/chrome/comm/content/editor/EdConvertToTable.xul
+lib/thunderbird45/chrome/comm/content/editor/EdDialogCommon.js
+lib/thunderbird45/chrome/comm/content/editor/EdDialogOverlay.xul
+lib/thunderbird45/chrome/comm/content/editor/EdDictionary.js
+lib/thunderbird45/chrome/comm/content/editor/EdDictionary.xul
+lib/thunderbird45/chrome/comm/content/editor/EdFieldSetProps.js
+lib/thunderbird45/chrome/comm/content/editor/EdFieldSetProps.xul
+lib/thunderbird45/chrome/comm/content/editor/EdFormProps.js
+lib/thunderbird45/chrome/comm/content/editor/EdFormProps.xul
+lib/thunderbird45/chrome/comm/content/editor/EdHLineProps.js
+lib/thunderbird45/chrome/comm/content/editor/EdHLineProps.xul
+lib/thunderbird45/chrome/comm/content/editor/EdImageOverlay.js
+lib/thunderbird45/chrome/comm/content/editor/EdImageOverlay.xul
+lib/thunderbird45/chrome/comm/content/editor/EdImageProps.js
+lib/thunderbird45/chrome/comm/content/editor/EdImageProps.xul
+lib/thunderbird45/chrome/comm/content/editor/EdInputImage.js
+lib/thunderbird45/chrome/comm/content/editor/EdInputImage.xul
+lib/thunderbird45/chrome/comm/content/editor/EdInputProps.js
+lib/thunderbird45/chrome/comm/content/editor/EdInputProps.xul
+lib/thunderbird45/chrome/comm/content/editor/EdInsSrc.js
+lib/thunderbird45/chrome/comm/content/editor/EdInsSrc.xul
+lib/thunderbird45/chrome/comm/content/editor/EdInsertChars.js
+lib/thunderbird45/chrome/comm/content/editor/EdInsertChars.xul
+lib/thunderbird45/chrome/comm/content/editor/EdInsertMath.js
+lib/thunderbird45/chrome/comm/content/editor/EdInsertMath.xul
+lib/thunderbird45/chrome/comm/content/editor/EdInsertTOC.js
+lib/thunderbird45/chrome/comm/content/editor/EdInsertTOC.xul
+lib/thunderbird45/chrome/comm/content/editor/EdInsertTable.js
+lib/thunderbird45/chrome/comm/content/editor/EdInsertTable.xul
+lib/thunderbird45/chrome/comm/content/editor/EdLabelProps.js
+lib/thunderbird45/chrome/comm/content/editor/EdLabelProps.xul
+lib/thunderbird45/chrome/comm/content/editor/EdLinkProps.js
+lib/thunderbird45/chrome/comm/content/editor/EdLinkProps.xul
+lib/thunderbird45/chrome/comm/content/editor/EdListProps.js
+lib/thunderbird45/chrome/comm/content/editor/EdListProps.xul
+lib/thunderbird45/chrome/comm/content/editor/EdNamedAnchorProps.js
+lib/thunderbird45/chrome/comm/content/editor/EdNamedAnchorProps.xul
+lib/thunderbird45/chrome/comm/content/editor/EdPageProps.js
+lib/thunderbird45/chrome/comm/content/editor/EdPageProps.xul
+lib/thunderbird45/chrome/comm/content/editor/EdReplace.js
+lib/thunderbird45/chrome/comm/content/editor/EdReplace.xul
+lib/thunderbird45/chrome/comm/content/editor/EdSelectProps.js
+lib/thunderbird45/chrome/comm/content/editor/EdSelectProps.xul
+lib/thunderbird45/chrome/comm/content/editor/EdSpellCheck.js
+lib/thunderbird45/chrome/comm/content/editor/EdSpellCheck.xul
+lib/thunderbird45/chrome/comm/content/editor/EdTableProps.js
+lib/thunderbird45/chrome/comm/content/editor/EdTableProps.xul
+lib/thunderbird45/chrome/comm/content/editor/EdTextAreaProps.js
+lib/thunderbird45/chrome/comm/content/editor/EdTextAreaProps.xul
+lib/thunderbird45/chrome/comm/content/editor/EditorContent.css
+lib/thunderbird45/chrome/comm/content/editor/TeXZilla.js
+lib/thunderbird45/chrome/comm/content/editor/editor.js
+lib/thunderbird45/chrome/comm/content/editor/editorApplicationOverlay.js
+lib/thunderbird45/chrome/comm/content/editor/editorMailOverlay.xul
+lib/thunderbird45/chrome/comm/content/editor/editorNavigatorOverlay.xul
+lib/thunderbird45/chrome/comm/content/editor/editorOverlay.xul
+lib/thunderbird45/chrome/comm/content/editor/editorSmileyOverlay.xul
+lib/thunderbird45/chrome/comm/content/editor/editorTasksOverlay.xul
+lib/thunderbird45/chrome/comm/content/editor/editorUtilities.js
+lib/thunderbird45/chrome/comm/content/editor/images/tag-anchor.gif
+lib/thunderbird45/chrome/devtools/modules/devtools/acorn/acorn.js
+lib/thunderbird45/chrome/devtools/modules/devtools/acorn/acorn_loose.js
+lib/thunderbird45/chrome/devtools/modules/devtools/acorn/walk.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/actor-registry.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/addon.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/animation.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/call-watcher.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/canvas.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/child-process.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/childtab.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/chrome.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/common.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/csscoverage.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/device.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/director-manager.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/director-registry.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/eventlooplag.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/framerate.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/gcli.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/heap-snapshot-file.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/highlighters.css
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/highlighters.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/highlighters/auto-refresh.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/highlighters/box-model.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/highlighters/css-transform.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/highlighters/geometry-editor.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/highlighters/measuring-tool.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/highlighters/rect.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/highlighters/rulers.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/highlighters/selector.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/highlighters/simple-outline.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/highlighters/utils/markup.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/inspector.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/layout.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/memory.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/memprof.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/monitor.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/object.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/performance-entries.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/performance-recording.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/performance.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/preference.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/pretty-print-worker.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/process.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/profiler.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/promises.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/root.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/script.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/settings.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/storage.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/string.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/styleeditor.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/styles.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/stylesheets.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/timeline.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/utils/ScriptStore.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/utils/TabSources.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/utils/actor-registry-utils.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/utils/audionodes.json
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/utils/automation-timeline.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/utils/make-debugger.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/utils/map-uri-to-addon-id.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/utils/stack.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/utils/walker-search.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/webapps.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/webaudio.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/webbrowser.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/webconsole.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/webgl.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/actors/worker.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/child.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/content-globals.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/content-server.jsm
+lib/thunderbird45/chrome/devtools/modules/devtools/server/main.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/performance/framerate.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/performance/memory.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/performance/profiler.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/performance/recorder.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/performance/timeline.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/protocol.js
+lib/thunderbird45/chrome/devtools/modules/devtools/server/worker.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/DevToolsUtils.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/Loader.jsm
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/Parser.jsm
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/apps/Devices.jsm
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/apps/Simulator.jsm
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/apps/app-actor-front.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/async-storage.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/async-utils.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/client/connection-manager.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/client/main.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/content-observer.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/css-color.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/deprecated-sync-thenables.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/discovery/discovery.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/event-emitter.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/event-parsers.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/Templater.jsm
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/addon.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/appcache.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/calllog.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/cmd.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/cookie.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/csscoverage.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/folder.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/highlight.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/index.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/inject.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/jsb.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/listen.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/measure.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/media.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/pagemod.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/paintflashing.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/qsa.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/restart.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/rulers.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/screenshot.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/security.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/commands/tools.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/cli.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/commands/clear.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/commands/commands.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/commands/connect.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/commands/context.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/commands/exec.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/commands/global.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/commands/help.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/commands/intro.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/commands/lang.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/commands/mocks.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/commands/pref.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/commands/preflist.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/commands/test.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/connectors/connectors.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/converters/basic.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/converters/converters.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/converters/html.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/converters/terminal.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/fields/delegate.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/fields/fields.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/fields/selection.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/index.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/l10n.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/languages/command.html
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/languages/command.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/languages/javascript.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/languages/languages.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/mozui/completer.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/mozui/inputter.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/mozui/tooltip.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/settings.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/system.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/array.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/boolean.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/command.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/date.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/delegate.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/file.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/fileparser.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/javascript.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/node.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/number.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/resource.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/selection.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/setting.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/string.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/types.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/union.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/url.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/ui/focus.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/ui/history.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/ui/intro.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/ui/menu.css
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/ui/menu.html
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/ui/menu.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/ui/view.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/util/domtemplate.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/util/fileparser.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/util/filesystem.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/util/host.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/util/l10n.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/util/legacy.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/util/prism.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/util/spell.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/util/util.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/heapsnapshot/CensusUtils.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/heapsnapshot/DominatorTreeNode.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/heapsnapshot/HeapAnalysesClient.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/heapsnapshot/HeapAnalysesWorker.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/heapsnapshot/HeapSnapshotFileUtils.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/heapsnapshot/census-tree-node.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/indentation.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/jsbeautify/beautify.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/jsbeautify/lib/sanitytest.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/jsbeautify/lib/urlencode_unpacker.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/jsbeautify/src/beautify-css.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/jsbeautify/src/beautify-html.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/jsbeautify/src/beautify-js.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/jsbeautify/src/beautify-tests.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/layout/utils.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/path.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/performance/process-communication.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/performance/recording-common.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/performance/recording-utils.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/pretty-fast/pretty-fast.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/qrcode/decoder/index.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/qrcode/encoder/index.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/qrcode/index.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/security/auth.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/security/cert.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/security/prompt.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/security/socket.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/sourcemap/source-map.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/styleinspector/css-logic.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/system.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/touch/simulator-content.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/touch/simulator.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/transport/packets.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/transport/stream-utils.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/transport/transport.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/webconsole/client.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/webconsole/js-property-provider.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/webconsole/network-helper.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/webconsole/network-monitor.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/webconsole/server-logger-monitor.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/webconsole/server-logger.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/webconsole/utils.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/webconsole/worker-utils.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/worker/helper.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/worker/loader.js
+lib/thunderbird45/chrome/devtools/modules/devtools/shared/worker/worker.js
+${PLIST.nobranding}lib/thunderbird45/chrome/en-US/locale/branding/brand.dtd
+${PLIST.nobranding}lib/thunderbird45/chrome/en-US/locale/branding/brand.properties
+${PLIST.branding}lib/thunderbird45/chrome/en-US/locale/en-US/branding/brand.dtd
+${PLIST.branding}lib/thunderbird45/chrome/en-US/locale/en-US/branding/brand.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/alerts/alert.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/alerts/alert.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/autoconfig/autoconfig.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/chat/accounts.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/chat/commands.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/chat/contacts.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/chat/conversations.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/chat/facebook.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/chat/imtooltip.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/chat/irc.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/chat/logger.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/chat/skype.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/chat/status.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/chat/twitter.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/chat/xmpp.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/chat/yahoo.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/communicator/utilityOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/cookie/cookieAcceptDialog.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/cookie/cookieAcceptDialog.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/devtools/shared/csscoverage.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/devtools/shared/csscoverage.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/devtools/shared/debugger.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/devtools/shared/gcli.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/devtools/shared/gclicommands.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/devtools/shared/styleinspector.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EdAdvancedEdit.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EdColorPicker.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EdConvertToTable.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EdDialogOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EdNamedAnchorProperties.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EditorButtonProperties.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EditorColorProperties.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EditorFieldSetProperties.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EditorFormProperties.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EditorHLineProperties.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EditorImageProperties.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EditorInputProperties.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EditorInsertChars.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EditorInsertMath.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EditorInsertSource.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EditorInsertTOC.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EditorInsertTable.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EditorLabelProperties.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EditorLinkProperties.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EditorListProperties.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EditorPersonalDictionary.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EditorReplace.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EditorSelectProperties.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EditorSpellCheck.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EditorTableProperties.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/EditorTextAreaProperties.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/editor.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/editorOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/editor/editorSmileyOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/formautofill/requestAutocomplete.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global-platform/mac/accessible.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global-platform/mac/intl.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global-platform/mac/platformKeys.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global-platform/unix/accessible.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global-platform/unix/intl.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global-platform/unix/platformKeys.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global-platform/win/accessible.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global-platform/win/intl.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global-platform/win/platformKeys.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global-region/region.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/AccessFu.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/about.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/aboutAbout.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/aboutNetworking.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/aboutReader.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/aboutRights.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/aboutServiceWorkers.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/aboutServiceWorkers.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/aboutSupport.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/aboutSupport.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/aboutTelemetry.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/aboutTelemetry.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/aboutWebrtc.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/appPicker.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/appstrings.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/autocomplete.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/brand.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/browser.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/charsetMenu.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/charsetMenu.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/commonDialog.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/commonDialogs.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/config.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/config.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/console.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/console.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/contentAreaCommands.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/crashes.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/crashes.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/css.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/customizeToolbar.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/customizeToolbar.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/dateFormat.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/datetimepicker.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/dialog.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/dialogOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/dom/dom.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/editMenuOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/fallbackMenubar.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/filefield.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/filepicker.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/filepicker.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/findbar.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/findbar.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/finddialog.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/finddialog.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/global-strres.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/global.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/globalKeys.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/headsUpDisplay.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/intl.css
+lib/thunderbird45/chrome/en-US/locale/en-US/global/intl.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/keys.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/languageNames.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/layout/HtmlForm.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/layout/MediaDocument.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/layout/htmlparser.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/layout/xmlparser.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/layout_errors.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/mathml/mathml.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/mozilla.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/netError.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/netErrorApp.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/notification.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/nsWebBrowserPersist.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/plugins.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/preferences.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/printPageSetup.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/printPreview.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/printPreviewProgress.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/printProgress.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/printdialog.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/printdialog.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/printing.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/printjoboptions.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/regionNames.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/resetProfile.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/resetProfile.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/search/search.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/security/caps.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/security/csp.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/security/security.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/svg/svg.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/textcontext.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/tree.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/videocontrols.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/viewSource.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/viewSource.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/webapps.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/wizard.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/wizard.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/xbl.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/xml/prettyprint.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/global/xslt/xslt.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/global/xul.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger-mapi/mapi.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger-newsblog/am-newsblog.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger-newsblog/feed-subscriptions.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger-newsblog/newsblog.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger-region/region.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger-smime/certFetchingStatus.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger-smime/msgCompSMIMEOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger-smime/msgCompSMIMEOverlay.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger-smime/msgCompSecurityInfo.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger-smime/msgCompSecurityInfo.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger-smime/msgReadSMIMEOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger-smime/msgReadSMIMEOverlay.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger-smime/msgReadSecurityInfo.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger-smime/msgSecurityInfo.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/AccountManager.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/AccountWizard.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/CustomHeaders.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/FilterEditor.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/FilterListDialog.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/SearchDialog.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/aboutDialog.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/aboutDownloads.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/aboutRights.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/aboutRights.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/aboutSupportMail.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/aboutSupportMail.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/accountCreation.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/accountCreation.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/accountCreationModel.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/accountCreationUtil.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/activity.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/activity.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/addbuddy.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/addressbook/abAddressBookNameDialog.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/addressbook/abCardOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/addressbook/abContactsPanel.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/addressbook/abMailListDialog.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/addressbook/abMainWindow.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/addressbook/abNewCardDialog.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/addressbook/abResultsPaneOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/addressbook/addressBook.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/addressbook/ldapAutoCompErrs.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/addressbook/pref-directory-add.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/addressbook/pref-directory.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/addressbook/replicationProgress.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/am-addressing.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/am-advanced.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/am-archiveoptions.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/am-copies.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/am-identities-list.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/am-identity-edit.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/am-im.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/am-junk.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/am-main.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/am-mdn.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/am-mdn.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/am-offline.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/am-server-advanced.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/am-server-top.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/am-serverwithnoidentities.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/am-smime.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/am-smime.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/appleMailImportMsgs.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/baseMenuOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/charsetTitles.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/chat.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/chat.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/cloudfile/Box/auth.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/cloudfile/Box/management.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/cloudfile/Box/settings.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/cloudfile/Hightail/fileExceeds2GB.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/cloudfile/Hightail/fileExceedsLimit.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/cloudfile/Hightail/fileExceedsQuota.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/cloudfile/Hightail/management.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/cloudfile/Hightail/settings.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/cloudfile/addAccountDialog.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/cloudfile/management.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/configEditorOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/custom.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/customizeToolbarOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/downloadheaders.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/downloads/settingsChange.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/downloadsOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/editContactOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/editContactOverlay.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/eudoraImportMsgs.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/fieldMapImport.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/filter.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/folderProps.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/folderWidgets.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/folderpane.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/gloda.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/glodaComplete.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/glodaFacetView.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/glodaFacetView.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/imAccountWizard.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/imAccounts.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/imAccounts.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/imapMsgs.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/importDialog.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/importMsgs.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/joinChat.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/junkLog.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/junkMailInfo.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/localMsgs.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/mailEditorOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/mailOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/mailViewList.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/mailViewSetup.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/mailviews.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/markByDate.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/messenger.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/messenger.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/messengercompose/addressingWidgetOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/messengercompose/askSendFormat.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/messengercompose/askSendFormat.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/messengercompose/composeMsgs.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/messengercompose/mailComposeEditorOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/messengercompose/messengercompose.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/messengercompose/sendProgress.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/messengercompose/sendProgress.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/migration/migration.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/migration/migration.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/mime.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/mimeheader.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/msgAccountCentral.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/msgHdrViewOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/msgPrintEngine.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/msgSynchronize.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/msgViewPickerOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/msgmdn.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/multimessageview.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/multimessageview.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/netError.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/newFolderDialog.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/newTagDialog.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/newmailaccount/accountProvisioner.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/newmailaccount/accountProvisioner.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/news.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/oeImportMsgs.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/offline.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/offlineStartup.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/outlookImportMsgs.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/pgpmime.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/advanced.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/applicationManager.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/applicationManager.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/applications.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/applications.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/attachmentReminder.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/chat.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/colors.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/compose.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/connection.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/cookies.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/display.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/dockoptions.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/fonts.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/general.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/notifications.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/offline.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/permissions.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/preferences.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/preferences.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/privacy.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/receipts.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/security.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/preferences/sendoptions.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/prefs.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/quickFilterBar.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/renameFolderDialog.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/safeMode.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/sanitize.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/search-attributes.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/search-operators.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/search.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/searchIntegrationDefault.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/searchIntegrationMac.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/searchIntegrationWin.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/searchTermOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/searchplugins/amazondotcom.xml
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/searchplugins/aol-web-search.xml
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/searchplugins/bing.xml
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/searchplugins/eBay.xml
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/searchplugins/list.txt
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/searchplugins/twitter.xml
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/searchplugins/wikipedia.xml
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/searchplugins/yahoo.xml
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/shutdownWindow.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/smime.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/smtpEditOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/subscribe.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/subscribe.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/systemIntegrationDialog.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/tabmail.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/taskbar.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/telemetry.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/templateUtils.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/textImportMsgs.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/vCardImportMsgs.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/viewLog.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/viewZoomOverlay.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/virtualFolderListDialog.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/virtualFolderProperties.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/messenger/wmImportMsgs.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/downloads/downloads.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/downloads/downloads.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/downloads/settingsChange.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/downloads/unknownContentType.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/downloads/unknownContentType.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/extensions/about.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/extensions/blocklist.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/extensions/extensions.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/extensions/extensions.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/extensions/newaddon.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/extensions/newaddon.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/extensions/selectAddons.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/extensions/selectAddons.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/extensions/update.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/extensions/update.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/handling/handling.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/handling/handling.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/preferences/changemp.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/preferences/preferences.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/preferences/removemp.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/profile/createProfileWizard.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/profile/profileSelection.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/profile/profileSelection.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/update/history.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/update/updates.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/update/updates.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/xpinstall/xpinstallConfirm.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/mozapps/xpinstall/xpinstallConfirm.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/mozldap/ldap.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/necko/necko.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/passwordmgr/passwordManager.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/passwordmgr/passwordmgr.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/pipnss/nsserrors.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/pipnss/pipnss.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/pippki/certManager.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/pippki/deviceManager.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/pippki/pippki.dtd
+lib/thunderbird45/chrome/en-US/locale/en-US/pippki/pippki.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/places/places.properties
+lib/thunderbird45/chrome/en-US/locale/en-US/pluginproblem/pluginproblem.dtd
+lib/thunderbird45/chrome/gloda/content/glodacomplete.css
+lib/thunderbird45/chrome/gloda/content/glodacomplete.xml
+lib/thunderbird45/chrome/gloda/content/overlay.js
+lib/thunderbird45/chrome/gloda/content/thunderbirdOverlay.xul
+lib/thunderbird45/chrome/icons/default/default16.png
+lib/thunderbird45/chrome/icons/default/default22.png
+lib/thunderbird45/chrome/icons/default/default24.png
+lib/thunderbird45/chrome/icons/default/default256.png
+lib/thunderbird45/chrome/icons/default/default32.png
+lib/thunderbird45/chrome/icons/default/default48.png
+lib/thunderbird45/chrome/messenger/content/branding/about-background.png
+lib/thunderbird45/chrome/messenger/content/branding/about-logo.png
+lib/thunderbird45/chrome/messenger/content/branding/about-wordmark.png
+lib/thunderbird45/chrome/messenger/content/branding/about.png
+lib/thunderbird45/chrome/messenger/content/branding/aboutDialog.css
+lib/thunderbird45/chrome/messenger/content/branding/icon48.png
+lib/thunderbird45/chrome/messenger/content/branding/icon64.png
+lib/thunderbird45/chrome/messenger/content/messagebody/addressbook/print.css
+lib/thunderbird45/chrome/messenger/content/messenger-smime/certFetchingStatus.js
+lib/thunderbird45/chrome/messenger/content/messenger-smime/certFetchingStatus.xul
+lib/thunderbird45/chrome/messenger/content/messenger-smime/msgCompSMIMEOverlay.js
+lib/thunderbird45/chrome/messenger/content/messenger-smime/msgCompSMIMEOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger-smime/msgCompSecurityInfo.js
+lib/thunderbird45/chrome/messenger/content/messenger-smime/msgCompSecurityInfo.xul
+lib/thunderbird45/chrome/messenger/content/messenger-smime/msgHdrViewSMIMEOverlay.js
+lib/thunderbird45/chrome/messenger/content/messenger-smime/msgHdrViewSMIMEOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger-smime/msgReadSMIMEOverlay.js
+lib/thunderbird45/chrome/messenger/content/messenger-smime/msgReadSMIMEOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger-smime/msgReadSecurityInfo.js
+lib/thunderbird45/chrome/messenger/content/messenger-smime/msgReadSecurityInfo.xul
+lib/thunderbird45/chrome/messenger/content/messenger/ABSearchDialog.js
+lib/thunderbird45/chrome/messenger/content/messenger/ABSearchDialog.xul
+lib/thunderbird45/chrome/messenger/content/messenger/AccountManager.js
+lib/thunderbird45/chrome/messenger/content/messenger/AccountManager.xul
+lib/thunderbird45/chrome/messenger/content/messenger/AccountWizard.js
+lib/thunderbird45/chrome/messenger/content/messenger/AccountWizard.xul
+lib/thunderbird45/chrome/messenger/content/messenger/CustomHeaders.js
+lib/thunderbird45/chrome/messenger/content/messenger/CustomHeaders.xul
+lib/thunderbird45/chrome/messenger/content/messenger/EdSpellCheckOverlay.js
+lib/thunderbird45/chrome/messenger/content/messenger/EdSpellCheckOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/FilterEditor.js
+lib/thunderbird45/chrome/messenger/content/messenger/FilterEditor.xul
+lib/thunderbird45/chrome/messenger/content/messenger/FilterListDialog.js
+lib/thunderbird45/chrome/messenger/content/messenger/FilterListDialog.xul
+lib/thunderbird45/chrome/messenger/content/messenger/SearchDialog.js
+lib/thunderbird45/chrome/messenger/content/messenger/SearchDialog.xul
+lib/thunderbird45/chrome/messenger/content/messenger/SmtpServerEdit.js
+lib/thunderbird45/chrome/messenger/content/messenger/SmtpServerEdit.xul
+lib/thunderbird45/chrome/messenger/content/messenger/about-support/a11y.js
+lib/thunderbird45/chrome/messenger/content/messenger/about-support/aboutSupport.xhtml
+lib/thunderbird45/chrome/messenger/content/messenger/about-support/accounts.js
+lib/thunderbird45/chrome/messenger/content/messenger/about-support/export.js
+lib/thunderbird45/chrome/messenger/content/messenger/about-support/extensions.js
+lib/thunderbird45/chrome/messenger/content/messenger/about-support/gfx.js
+lib/thunderbird45/chrome/messenger/content/messenger/about-support/hide-private.css
+lib/thunderbird45/chrome/messenger/content/messenger/about-support/init.js
+lib/thunderbird45/chrome/messenger/content/messenger/about-support/js.js
+lib/thunderbird45/chrome/messenger/content/messenger/about-support/libversions.js
+lib/thunderbird45/chrome/messenger/content/messenger/about-support/overlay.js
+lib/thunderbird45/chrome/messenger/content/messenger/about-support/overlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/about-support/prefs.js
+lib/thunderbird45/chrome/messenger/content/messenger/about-support/show-private.css
+lib/thunderbird45/chrome/messenger/content/messenger/aboutDialog.css
+lib/thunderbird45/chrome/messenger/content/messenger/aboutDialog.js
+lib/thunderbird45/chrome/messenger/content/messenger/aboutDialog.xul
+lib/thunderbird45/chrome/messenger/content/messenger/aboutRights.xhtml
+lib/thunderbird45/chrome/messenger/content/messenger/accountUtils.js
+lib/thunderbird45/chrome/messenger/content/messenger/accountcreation/MyBadCertHandler.js
+lib/thunderbird45/chrome/messenger/content/messenger/accountcreation/accountConfig.js
+lib/thunderbird45/chrome/messenger/content/messenger/accountcreation/createInBackend.js
+lib/thunderbird45/chrome/messenger/content/messenger/accountcreation/emailWizard.js
+lib/thunderbird45/chrome/messenger/content/messenger/accountcreation/emailWizard.xul
+lib/thunderbird45/chrome/messenger/content/messenger/accountcreation/fetchConfig.js
+lib/thunderbird45/chrome/messenger/content/messenger/accountcreation/fetchhttp.js
+lib/thunderbird45/chrome/messenger/content/messenger/accountcreation/guessConfig.js
+lib/thunderbird45/chrome/messenger/content/messenger/accountcreation/readFromXML.js
+lib/thunderbird45/chrome/messenger/content/messenger/accountcreation/sanitizeDatatypes.js
+lib/thunderbird45/chrome/messenger/content/messenger/accountcreation/util.js
+lib/thunderbird45/chrome/messenger/content/messenger/accountcreation/verifyConfig.js
+lib/thunderbird45/chrome/messenger/content/messenger/activity.js
+lib/thunderbird45/chrome/messenger/content/messenger/activity.xml
+lib/thunderbird45/chrome/messenger/content/messenger/activity.xul
+lib/thunderbird45/chrome/messenger/content/messenger/activityBinding.css
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/abAddressBookNameDialog.js
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/abAddressBookNameDialog.xul
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/abCardOverlay.js
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/abCardOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/abCardViewOverlay.js
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/abCommon.js
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/abContactsPanel.js
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/abContactsPanel.xul
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/abDragDrop.js
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/abEditCardDialog.xul
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/abEditListDialog.xul
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/abMailListDialog.js
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/abMailListDialog.xul
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/abNewCardDialog.xul
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/abResultsPane.js
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/abResultsPaneOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/abTrees.js
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/addrbookWidgets.xml
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/addressbook.js
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/addressbook.xul
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/pref-directory-add.js
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/pref-directory-add.xul
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/pref-editdirectories.js
+lib/thunderbird45/chrome/messenger/content/messenger/addressbook/pref-editdirectories.xul
+lib/thunderbird45/chrome/messenger/content/messenger/am-addressing.js
+lib/thunderbird45/chrome/messenger/content/messenger/am-addressing.xul
+lib/thunderbird45/chrome/messenger/content/messenger/am-addressingOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/am-archiveoptions.js
+lib/thunderbird45/chrome/messenger/content/messenger/am-archiveoptions.xul
+lib/thunderbird45/chrome/messenger/content/messenger/am-copies.js
+lib/thunderbird45/chrome/messenger/content/messenger/am-copies.xul
+lib/thunderbird45/chrome/messenger/content/messenger/am-copiesOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/am-help.js
+lib/thunderbird45/chrome/messenger/content/messenger/am-identities-list.js
+lib/thunderbird45/chrome/messenger/content/messenger/am-identities-list.xul
+lib/thunderbird45/chrome/messenger/content/messenger/am-identity-edit.js
+lib/thunderbird45/chrome/messenger/content/messenger/am-identity-edit.xul
+lib/thunderbird45/chrome/messenger/content/messenger/am-im.js
+lib/thunderbird45/chrome/messenger/content/messenger/am-im.xul
+lib/thunderbird45/chrome/messenger/content/messenger/am-junk.js
+lib/thunderbird45/chrome/messenger/content/messenger/am-junk.xul
+lib/thunderbird45/chrome/messenger/content/messenger/am-main.js
+lib/thunderbird45/chrome/messenger/content/messenger/am-main.xul
+lib/thunderbird45/chrome/messenger/content/messenger/am-mdn.js
+lib/thunderbird45/chrome/messenger/content/messenger/am-mdn.xul
+lib/thunderbird45/chrome/messenger/content/messenger/am-offline.js
+lib/thunderbird45/chrome/messenger/content/messenger/am-offline.xul
+lib/thunderbird45/chrome/messenger/content/messenger/am-prefs.js
+lib/thunderbird45/chrome/messenger/content/messenger/am-server-advanced.js
+lib/thunderbird45/chrome/messenger/content/messenger/am-server-advanced.xul
+lib/thunderbird45/chrome/messenger/content/messenger/am-server-top.xul
+lib/thunderbird45/chrome/messenger/content/messenger/am-server.js
+lib/thunderbird45/chrome/messenger/content/messenger/am-server.xul
+lib/thunderbird45/chrome/messenger/content/messenger/am-serverwithnoidentities.js
+lib/thunderbird45/chrome/messenger/content/messenger/am-serverwithnoidentities.xul
+lib/thunderbird45/chrome/messenger/content/messenger/am-smime.js
+lib/thunderbird45/chrome/messenger/content/messenger/am-smime.xul
+lib/thunderbird45/chrome/messenger/content/messenger/am-smimeIdentityEditOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/am-smimeOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/am-smtp.js
+lib/thunderbird45/chrome/messenger/content/messenger/am-smtp.xul
+lib/thunderbird45/chrome/messenger/content/messenger/amUtils.js
+lib/thunderbird45/chrome/messenger/content/messenger/aw-accname.js
+lib/thunderbird45/chrome/messenger/content/messenger/aw-accounttype.js
+lib/thunderbird45/chrome/messenger/content/messenger/aw-done.js
+lib/thunderbird45/chrome/messenger/content/messenger/aw-identity.js
+lib/thunderbird45/chrome/messenger/content/messenger/aw-incoming.js
+lib/thunderbird45/chrome/messenger/content/messenger/aw-outgoing.js
+lib/thunderbird45/chrome/messenger/content/messenger/baseMenuOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/browserRequest.js
+lib/thunderbird45/chrome/messenger/content/messenger/browserRequest.xul
+lib/thunderbird45/chrome/messenger/content/messenger/charsetList.css
+lib/thunderbird45/chrome/messenger/content/messenger/charsetList.xml
+lib/thunderbird45/chrome/messenger/content/messenger/chat/addbuddy.js
+lib/thunderbird45/chrome/messenger/content/messenger/chat/addbuddy.xul
+lib/thunderbird45/chrome/messenger/content/messenger/chat/badgebutton.xml
+lib/thunderbird45/chrome/messenger/content/messenger/chat/chat-messenger-overlay.js
+lib/thunderbird45/chrome/messenger/content/messenger/chat/chat-messenger-overlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/chat/chat.css
+lib/thunderbird45/chrome/messenger/content/messenger/chat/imAccount.xml
+lib/thunderbird45/chrome/messenger/content/messenger/chat/imAccountWizard.js
+lib/thunderbird45/chrome/messenger/content/messenger/chat/imAccountWizard.xul
+lib/thunderbird45/chrome/messenger/content/messenger/chat/imAccounts.css
+lib/thunderbird45/chrome/messenger/content/messenger/chat/imAccounts.js
+lib/thunderbird45/chrome/messenger/content/messenger/chat/imAccounts.xul
+lib/thunderbird45/chrome/messenger/content/messenger/chat/imContextMenu.js
+lib/thunderbird45/chrome/messenger/content/messenger/chat/imStatusSelector.js
+lib/thunderbird45/chrome/messenger/content/messenger/chat/imcontact.xml
+lib/thunderbird45/chrome/messenger/content/messenger/chat/imconv.xml
+lib/thunderbird45/chrome/messenger/content/messenger/chat/imconversation.xml
+lib/thunderbird45/chrome/messenger/content/messenger/chat/imgroup.xml
+lib/thunderbird45/chrome/messenger/content/messenger/chat/joinchat.js
+lib/thunderbird45/chrome/messenger/content/messenger/chat/joinchat.xul
+lib/thunderbird45/chrome/messenger/content/messenger/cloudfile/Box/management.js
+lib/thunderbird45/chrome/messenger/content/messenger/cloudfile/Box/management.xhtml
+lib/thunderbird45/chrome/messenger/content/messenger/cloudfile/Box/settings.xhtml
+lib/thunderbird45/chrome/messenger/content/messenger/cloudfile/Hightail/fileExceeds2GB.xul
+lib/thunderbird45/chrome/messenger/content/messenger/cloudfile/Hightail/fileExceedsLimit.xul
+lib/thunderbird45/chrome/messenger/content/messenger/cloudfile/Hightail/fileExceedsQuota.js
+lib/thunderbird45/chrome/messenger/content/messenger/cloudfile/Hightail/fileExceedsQuota.xul
+lib/thunderbird45/chrome/messenger/content/messenger/cloudfile/Hightail/management.js
+lib/thunderbird45/chrome/messenger/content/messenger/cloudfile/Hightail/management.xhtml
+lib/thunderbird45/chrome/messenger/content/messenger/cloudfile/Hightail/settings.js
+lib/thunderbird45/chrome/messenger/content/messenger/cloudfile/Hightail/settings.xhtml
+lib/thunderbird45/chrome/messenger/content/messenger/cloudfile/addAccountDialog.js
+lib/thunderbird45/chrome/messenger/content/messenger/cloudfile/addAccountDialog.xul
+lib/thunderbird45/chrome/messenger/content/messenger/cloudfile/attachment-24.png
+lib/thunderbird45/chrome/messenger/content/messenger/cloudfile/emptySettings.xhtml
+lib/thunderbird45/chrome/messenger/content/messenger/commandglue.js
+lib/thunderbird45/chrome/messenger/content/messenger/composerOverlay.css
+lib/thunderbird45/chrome/messenger/content/messenger/configEditorOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/customizeToolbarOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/dateFormat.js
+lib/thunderbird45/chrome/messenger/content/messenger/devtools/dbg-messenger-overlay.js
+lib/thunderbird45/chrome/messenger/content/messenger/devtools/dbg-messenger-overlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/downloadheaders.js
+lib/thunderbird45/chrome/messenger/content/messenger/downloadheaders.xul
+lib/thunderbird45/chrome/messenger/content/messenger/downloads/aboutDownloads.css
+lib/thunderbird45/chrome/messenger/content/messenger/downloads/aboutDownloads.js
+lib/thunderbird45/chrome/messenger/content/messenger/downloads/aboutDownloads.xul
+lib/thunderbird45/chrome/messenger/content/messenger/downloads/download.xml
+lib/thunderbird45/chrome/messenger/content/messenger/downloadsOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/editContactOverlay.js
+lib/thunderbird45/chrome/messenger/content/messenger/editContactOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/extraCustomizeItems.xul
+lib/thunderbird45/chrome/messenger/content/messenger/fieldMapImport.js
+lib/thunderbird45/chrome/messenger/content/messenger/fieldMapImport.xul
+lib/thunderbird45/chrome/messenger/content/messenger/folderDisplay.js
+lib/thunderbird45/chrome/messenger/content/messenger/folderPane.js
+lib/thunderbird45/chrome/messenger/content/messenger/folderProps.js
+lib/thunderbird45/chrome/messenger/content/messenger/folderProps.xul
+lib/thunderbird45/chrome/messenger/content/messenger/folderWidgets.xml
+lib/thunderbird45/chrome/messenger/content/messenger/glodaFacetBindings.css
+lib/thunderbird45/chrome/messenger/content/messenger/glodaFacetBindings.xml
+lib/thunderbird45/chrome/messenger/content/messenger/glodaFacetTab.js
+lib/thunderbird45/chrome/messenger/content/messenger/glodaFacetView.css
+lib/thunderbird45/chrome/messenger/content/messenger/glodaFacetView.js
+lib/thunderbird45/chrome/messenger/content/messenger/glodaFacetView.xhtml
+lib/thunderbird45/chrome/messenger/content/messenger/glodaFacetViewWrapper.xul
+lib/thunderbird45/chrome/messenger/content/messenger/glodaFacetVis.js
+lib/thunderbird45/chrome/messenger/content/messenger/hiddenWindow.js
+lib/thunderbird45/chrome/messenger/content/messenger/hiddenWindow.xul
+lib/thunderbird45/chrome/messenger/content/messenger/importDialog.js
+lib/thunderbird45/chrome/messenger/content/messenger/importDialog.xul
+lib/thunderbird45/chrome/messenger/content/messenger/ispUtils.js
+lib/thunderbird45/chrome/messenger/content/messenger/jsTreeView.js
+lib/thunderbird45/chrome/messenger/content/messenger/junkCommands.js
+lib/thunderbird45/chrome/messenger/content/messenger/junkLog.js
+lib/thunderbird45/chrome/messenger/content/messenger/junkLog.xul
+lib/thunderbird45/chrome/messenger/content/messenger/junkMailInfo.xul
+lib/thunderbird45/chrome/messenger/content/messenger/license.html
+lib/thunderbird45/chrome/messenger/content/messenger/mail-offline.js
+lib/thunderbird45/chrome/messenger/content/messenger/mail3PaneWindowCommands.js
+lib/thunderbird45/chrome/messenger/content/messenger/mailCommands.js
+lib/thunderbird45/chrome/messenger/content/messenger/mailContextMenus.js
+lib/thunderbird45/chrome/messenger/content/messenger/mailCore.js
+lib/thunderbird45/chrome/messenger/content/messenger/mailOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/mailTabs.js
+lib/thunderbird45/chrome/messenger/content/messenger/mailViewList.js
+lib/thunderbird45/chrome/messenger/content/messenger/mailViewList.xul
+lib/thunderbird45/chrome/messenger/content/messenger/mailViewSetup.js
+lib/thunderbird45/chrome/messenger/content/messenger/mailViewSetup.xul
+lib/thunderbird45/chrome/messenger/content/messenger/mailWidgets.xml
+lib/thunderbird45/chrome/messenger/content/messenger/mailWindow.js
+lib/thunderbird45/chrome/messenger/content/messenger/mailWindowOverlay.js
+lib/thunderbird45/chrome/messenger/content/messenger/mailWindowOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/markByDate.js
+lib/thunderbird45/chrome/messenger/content/messenger/markByDate.xul
+lib/thunderbird45/chrome/messenger/content/messenger/messageDisplay.js
+lib/thunderbird45/chrome/messenger/content/messenger/messageWindow.js
+lib/thunderbird45/chrome/messenger/content/messenger/messageWindow.xul
+lib/thunderbird45/chrome/messenger/content/messenger/messenger.css
+lib/thunderbird45/chrome/messenger/content/messenger/messenger.xul
+lib/thunderbird45/chrome/messenger/content/messenger/messengercompose/EdImageOverlayOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/messengercompose/MsgComposeCommands.js
+lib/thunderbird45/chrome/messenger/content/messenger/messengercompose/addressingWidgetOverlay.js
+lib/thunderbird45/chrome/messenger/content/messenger/messengercompose/askSendFormat.js
+lib/thunderbird45/chrome/messenger/content/messenger/messengercompose/askSendFormat.xul
+lib/thunderbird45/chrome/messenger/content/messenger/messengercompose/bigFileObserver.js
+lib/thunderbird45/chrome/messenger/content/messenger/messengercompose/cloudAttachmentLinkManager.js
+lib/thunderbird45/chrome/messenger/content/messenger/messengercompose/mailComposeEditorOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/messengercompose/menulistCompactBindings.xml
+lib/thunderbird45/chrome/messenger/content/messenger/messengercompose/messengercompose.xul
+lib/thunderbird45/chrome/messenger/content/messenger/messengercompose/sendProgress.js
+lib/thunderbird45/chrome/messenger/content/messenger/messengercompose/sendProgress.xul
+lib/thunderbird45/chrome/messenger/content/messenger/migration/migration.js
+lib/thunderbird45/chrome/messenger/content/messenger/migration/migration.xul
+lib/thunderbird45/chrome/messenger/content/messenger/msgAccountCentral.js
+lib/thunderbird45/chrome/messenger/content/messenger/msgAccountCentral.xul
+lib/thunderbird45/chrome/messenger/content/messenger/msgFolderPickerOverlay.js
+lib/thunderbird45/chrome/messenger/content/messenger/msgHdrViewOverlay.js
+lib/thunderbird45/chrome/messenger/content/messenger/msgHdrViewOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/msgMail3PaneWindow.js
+lib/thunderbird45/chrome/messenger/content/messenger/msgPrintEngine.js
+lib/thunderbird45/chrome/messenger/content/messenger/msgPrintEngine.xul
+lib/thunderbird45/chrome/messenger/content/messenger/msgSelectOffline.xul
+lib/thunderbird45/chrome/messenger/content/messenger/msgSynchronize.js
+lib/thunderbird45/chrome/messenger/content/messenger/msgSynchronize.xul
+lib/thunderbird45/chrome/messenger/content/messenger/msgViewNavigation.js
+lib/thunderbird45/chrome/messenger/content/messenger/msgViewPickerOverlay.js
+lib/thunderbird45/chrome/messenger/content/messenger/multimessageview.css
+lib/thunderbird45/chrome/messenger/content/messenger/multimessageview.js
+lib/thunderbird45/chrome/messenger/content/messenger/multimessageview.xhtml
+lib/thunderbird45/chrome/messenger/content/messenger/multimessageview_print.css
+lib/thunderbird45/chrome/messenger/content/messenger/newFolderDialog.js
+lib/thunderbird45/chrome/messenger/content/messenger/newFolderDialog.xul
+lib/thunderbird45/chrome/messenger/content/messenger/newTagDialog.js
+lib/thunderbird45/chrome/messenger/content/messenger/newTagDialog.xul
+lib/thunderbird45/chrome/messenger/content/messenger/newmailaccount/accountProvisioner.js
+lib/thunderbird45/chrome/messenger/content/messenger/newmailaccount/accountProvisioner.xhtml
+lib/thunderbird45/chrome/messenger/content/messenger/newmailaccount/accountProvisionerTab.js
+lib/thunderbird45/chrome/messenger/content/messenger/newmailaccount/uriListener.js
+lib/thunderbird45/chrome/messenger/content/messenger/newmailalert.css
+lib/thunderbird45/chrome/messenger/content/messenger/newmailalert.js
+lib/thunderbird45/chrome/messenger/content/messenger/newmailalert.xul
+lib/thunderbird45/chrome/messenger/content/messenger/nsContextMenu.js
+lib/thunderbird45/chrome/messenger/content/messenger/nsDragAndDrop.js
+lib/thunderbird45/chrome/messenger/content/messenger/phishingDetector.js
+lib/thunderbird45/chrome/messenger/content/messenger/plugins.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/aboutPreferences.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/actionsshared.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/advanced.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/advanced.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/applicationManager.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/applicationManager.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/applications.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/applications.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/attachmentReminder.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/attachmentReminder.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/chat.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/chat.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/colors.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/compose.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/compose.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/connection.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/connection.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/cookies.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/cookies.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/display.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/display.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/downloads.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/fonts.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/fonts.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/general.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/general.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/handlers.css
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/handlers.xml
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/notifications.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/offline.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/offline.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/permissions.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/permissions.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/preferences.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/preferences.xml
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/preferences.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/preferencesTab.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/preferencesTab.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/privacy.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/privacy.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/receipts.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/receipts.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/security.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/security.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/sendoptions.js
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/sendoptions.xul
+lib/thunderbird45/chrome/messenger/content/messenger/preferences/subdialogs.js
+lib/thunderbird45/chrome/messenger/content/messenger/protovis-r2.6-modded.js
+lib/thunderbird45/chrome/messenger/content/messenger/quickFilterBar.css
+lib/thunderbird45/chrome/messenger/content/messenger/quickFilterBar.js
+lib/thunderbird45/chrome/messenger/content/messenger/quickFilterBar.xul
+lib/thunderbird45/chrome/messenger/content/messenger/renameFolderDialog.js
+lib/thunderbird45/chrome/messenger/content/messenger/renameFolderDialog.xul
+lib/thunderbird45/chrome/messenger/content/messenger/retention.js
+lib/thunderbird45/chrome/messenger/content/messenger/safeMode.js
+lib/thunderbird45/chrome/messenger/content/messenger/safeMode.xul
+lib/thunderbird45/chrome/messenger/content/messenger/sanitize.js
+lib/thunderbird45/chrome/messenger/content/messenger/sanitize.xul
+lib/thunderbird45/chrome/messenger/content/messenger/sanitizeDialog.css
+lib/thunderbird45/chrome/messenger/content/messenger/sanitizeDialog.js
+lib/thunderbird45/chrome/messenger/content/messenger/search.xml
+lib/thunderbird45/chrome/messenger/content/messenger/search/searchOverlay.js
+lib/thunderbird45/chrome/messenger/content/messenger/search/searchOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/searchBar.js
+lib/thunderbird45/chrome/messenger/content/messenger/searchTermOverlay.js
+lib/thunderbird45/chrome/messenger/content/messenger/searchTermOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/searchWidgets.xml
+lib/thunderbird45/chrome/messenger/content/messenger/selectionsummaries.js
+lib/thunderbird45/chrome/messenger/content/messenger/sharedsummary.css
+lib/thunderbird45/chrome/messenger/content/messenger/shareglue.js
+lib/thunderbird45/chrome/messenger/content/messenger/shutdownWindow.js
+lib/thunderbird45/chrome/messenger/content/messenger/shutdownWindow.xul
+lib/thunderbird45/chrome/messenger/content/messenger/smtpEditOverlay.js
+lib/thunderbird45/chrome/messenger/content/messenger/smtpEditOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/specialTabs.js
+lib/thunderbird45/chrome/messenger/content/messenger/specialTabs.xul
+lib/thunderbird45/chrome/messenger/content/messenger/subscribe.js
+lib/thunderbird45/chrome/messenger/content/messenger/subscribe.xul
+lib/thunderbird45/chrome/messenger/content/messenger/systemIntegrationDialog.js
+lib/thunderbird45/chrome/messenger/content/messenger/systemIntegrationDialog.xul
+lib/thunderbird45/chrome/messenger/content/messenger/tabmail.css
+lib/thunderbird45/chrome/messenger/content/messenger/tabmail.xml
+lib/thunderbird45/chrome/messenger/content/messenger/threadPane.js
+lib/thunderbird45/chrome/messenger/content/messenger/threadPaneColumnPicker.xml
+lib/thunderbird45/chrome/messenger/content/messenger/toolbarIconColor.js
+lib/thunderbird45/chrome/messenger/content/messenger/viewLog.js
+lib/thunderbird45/chrome/messenger/content/messenger/viewLog.xul
+lib/thunderbird45/chrome/messenger/content/messenger/viewSourceOverlay.xul
+lib/thunderbird45/chrome/messenger/content/messenger/virtualFolderListDialog.js
+lib/thunderbird45/chrome/messenger/content/messenger/virtualFolderListDialog.xul
+lib/thunderbird45/chrome/messenger/content/messenger/virtualFolderProperties.js
+lib/thunderbird45/chrome/messenger/content/messenger/virtualFolderProperties.xul
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/messages/Bitmaps/minus-hover.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/messages/Bitmaps/minus.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/messages/Bitmaps/plus-hover.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/messages/Bitmaps/plus.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/messages/Footer.html
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/messages/Incoming/Content.html
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/messages/Incoming/Context.html
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/messages/Incoming/NextContent.html
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/messages/Incoming/buddy_icon.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/messages/Info.plist
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/messages/NextStatus.html
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/messages/Outgoing/buddy_icon.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/messages/Status.html
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/messages/main.css
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/angry.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/confused.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/cool.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/cry.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/embarrassed.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/grin.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/heart.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/manga_annoyed.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/manga_embarrassed.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/manga_smile.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/manga_stunned.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/manga_tired.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/sad.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/shocked.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/slant.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/slant2.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/smile.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/sp_laugh.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/straight_face.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/theme.js
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/tongue.png
+lib/thunderbird45/chrome/messenger/skin/classic/messenger/smileys/wink.png
+lib/thunderbird45/chrome/newsblog/content/messenger-newsblog/Feed.js
+lib/thunderbird45/chrome/newsblog/content/messenger-newsblog/FeedItem.js
+lib/thunderbird45/chrome/newsblog/content/messenger-newsblog/am-newsblog.js
+lib/thunderbird45/chrome/newsblog/content/messenger-newsblog/am-newsblog.xul
+lib/thunderbird45/chrome/newsblog/content/messenger-newsblog/feed-parser.js
+lib/thunderbird45/chrome/newsblog/content/messenger-newsblog/feed-subscriptions.js
+lib/thunderbird45/chrome/newsblog/content/messenger-newsblog/feed-subscriptions.xul
+lib/thunderbird45/chrome/newsblog/content/messenger-newsblog/feedAccountWizard.js
+lib/thunderbird45/chrome/newsblog/content/messenger-newsblog/feedAccountWizard.xul
+lib/thunderbird45/chrome/newsblog/content/messenger-newsblog/newsblogOverlay.js
+lib/thunderbird45/chrome/pippki/content/pippki/CAOverlay.xul
+lib/thunderbird45/chrome/pippki/content/pippki/MineOverlay.xul
+lib/thunderbird45/chrome/pippki/content/pippki/OrphanOverlay.xul
+lib/thunderbird45/chrome/pippki/content/pippki/OthersOverlay.xul
+lib/thunderbird45/chrome/pippki/content/pippki/WebSitesOverlay.xul
+lib/thunderbird45/chrome/pippki/content/pippki/certDump.xul
+lib/thunderbird45/chrome/pippki/content/pippki/certManager.js
+lib/thunderbird45/chrome/pippki/content/pippki/certManager.xul
+lib/thunderbird45/chrome/pippki/content/pippki/certViewer.xul
+lib/thunderbird45/chrome/pippki/content/pippki/certpicker.js
+lib/thunderbird45/chrome/pippki/content/pippki/certpicker.xul
+lib/thunderbird45/chrome/pippki/content/pippki/changepassword.xul
+lib/thunderbird45/chrome/pippki/content/pippki/choosetoken.js
+lib/thunderbird45/chrome/pippki/content/pippki/choosetoken.xul
+lib/thunderbird45/chrome/pippki/content/pippki/clientauthask.js
+lib/thunderbird45/chrome/pippki/content/pippki/clientauthask.xul
+lib/thunderbird45/chrome/pippki/content/pippki/createCertInfo.js
+lib/thunderbird45/chrome/pippki/content/pippki/createCertInfo.xul
+lib/thunderbird45/chrome/pippki/content/pippki/deletecert.js
+lib/thunderbird45/chrome/pippki/content/pippki/deletecert.xul
+lib/thunderbird45/chrome/pippki/content/pippki/device_manager.js
+lib/thunderbird45/chrome/pippki/content/pippki/device_manager.xul
+lib/thunderbird45/chrome/pippki/content/pippki/downloadcert.js
+lib/thunderbird45/chrome/pippki/content/pippki/downloadcert.xul
+lib/thunderbird45/chrome/pippki/content/pippki/editcacert.xul
+lib/thunderbird45/chrome/pippki/content/pippki/editcerts.js
+lib/thunderbird45/chrome/pippki/content/pippki/exceptionDialog.js
+lib/thunderbird45/chrome/pippki/content/pippki/exceptionDialog.xul
+lib/thunderbird45/chrome/pippki/content/pippki/load_device.xul
+lib/thunderbird45/chrome/pippki/content/pippki/password.js
+lib/thunderbird45/chrome/pippki/content/pippki/pippki.js
+lib/thunderbird45/chrome/pippki/content/pippki/protectedAuth.js
+lib/thunderbird45/chrome/pippki/content/pippki/protectedAuth.xul
+lib/thunderbird45/chrome/pippki/content/pippki/resetpassword.js
+lib/thunderbird45/chrome/pippki/content/pippki/resetpassword.xul
+lib/thunderbird45/chrome/pippki/content/pippki/setp12password.xul
+lib/thunderbird45/chrome/pippki/content/pippki/viewCertDetails.js
+lib/thunderbird45/chrome/pippki/content/pippki/viewCertDetails.xul
+lib/thunderbird45/chrome/toolkit/content/cookie/cookieAcceptDialog.js
+lib/thunderbird45/chrome/toolkit/content/cookie/cookieAcceptDialog.xul
+lib/thunderbird45/chrome/toolkit/content/extensions/ext-alarms.js
+lib/thunderbird45/chrome/toolkit/content/extensions/ext-backgroundPage.js
+lib/thunderbird45/chrome/toolkit/content/extensions/ext-cookies.js
+lib/thunderbird45/chrome/toolkit/content/extensions/ext-extension.js
+lib/thunderbird45/chrome/toolkit/content/extensions/ext-i18n.js
+lib/thunderbird45/chrome/toolkit/content/extensions/ext-idle.js
+lib/thunderbird45/chrome/toolkit/content/extensions/ext-notifications.js
+lib/thunderbird45/chrome/toolkit/content/extensions/ext-runtime.js
+lib/thunderbird45/chrome/toolkit/content/extensions/ext-storage.js
+lib/thunderbird45/chrome/toolkit/content/extensions/ext-test.js
+lib/thunderbird45/chrome/toolkit/content/extensions/ext-webNavigation.js
+lib/thunderbird45/chrome/toolkit/content/extensions/ext-webRequest.js
+lib/thunderbird45/chrome/toolkit/content/extensions/schemas/cookies.json
+lib/thunderbird45/chrome/toolkit/content/extensions/schemas/extension_types.json
+lib/thunderbird45/chrome/toolkit/content/extensions/schemas/web_navigation.json
+lib/thunderbird45/chrome/toolkit/content/extensions/schemas/web_request.json
+lib/thunderbird45/chrome/toolkit/content/formautofill/requestAutocomplete.js
+lib/thunderbird45/chrome/toolkit/content/formautofill/requestAutocomplete.xhtml
+lib/thunderbird45/chrome/toolkit/content/gfxsanity/gfxFrameScript.js
+lib/thunderbird45/chrome/toolkit/content/gfxsanity/sanityparent.html
+lib/thunderbird45/chrome/toolkit/content/gfxsanity/sanitytest.html
+lib/thunderbird45/chrome/toolkit/content/gfxsanity/videotest.mp4
+lib/thunderbird45/chrome/toolkit/content/global/BrowserElementChild.js
+lib/thunderbird45/chrome/toolkit/content/global/BrowserElementChildPreload.js
+lib/thunderbird45/chrome/toolkit/content/global/BrowserElementCopyPaste.js
+lib/thunderbird45/chrome/toolkit/content/global/BrowserElementPanning.js
+lib/thunderbird45/chrome/toolkit/content/global/BrowserElementPanningAPZDisabled.js
+lib/thunderbird45/chrome/toolkit/content/global/TopLevelVideoDocument.js
+lib/thunderbird45/chrome/toolkit/content/global/XPCNativeWrapper.js
+lib/thunderbird45/chrome/toolkit/content/global/about.js
+lib/thunderbird45/chrome/toolkit/content/global/about.xhtml
+lib/thunderbird45/chrome/toolkit/content/global/aboutAbout.js
+lib/thunderbird45/chrome/toolkit/content/global/aboutAbout.xhtml
+lib/thunderbird45/chrome/toolkit/content/global/aboutCache.js
+lib/thunderbird45/chrome/toolkit/content/global/aboutMemory.css
+lib/thunderbird45/chrome/toolkit/content/global/aboutMemory.js
+lib/thunderbird45/chrome/toolkit/content/global/aboutMemory.xhtml
+lib/thunderbird45/chrome/toolkit/content/global/aboutNetworking.js
+lib/thunderbird45/chrome/toolkit/content/global/aboutNetworking.xhtml
+lib/thunderbird45/chrome/toolkit/content/global/aboutRights.xhtml
+lib/thunderbird45/chrome/toolkit/content/global/aboutServiceWorkers.js
+lib/thunderbird45/chrome/toolkit/content/global/aboutServiceWorkers.xhtml
+lib/thunderbird45/chrome/toolkit/content/global/aboutSupport.js
+lib/thunderbird45/chrome/toolkit/content/global/aboutSupport.xhtml
+lib/thunderbird45/chrome/toolkit/content/global/aboutTelemetry.css
+lib/thunderbird45/chrome/toolkit/content/global/aboutTelemetry.js
+lib/thunderbird45/chrome/toolkit/content/global/aboutTelemetry.xhtml
+lib/thunderbird45/chrome/toolkit/content/global/aboutwebrtc/aboutWebrtc.css
+lib/thunderbird45/chrome/toolkit/content/global/aboutwebrtc/aboutWebrtc.js
+lib/thunderbird45/chrome/toolkit/content/global/aboutwebrtc/aboutWebrtc.xhtml
+lib/thunderbird45/chrome/toolkit/content/global/accessibility/AccessFu.css
+lib/thunderbird45/chrome/toolkit/content/global/accessibility/clicked.ogg
+lib/thunderbird45/chrome/toolkit/content/global/accessibility/content-script.js
+lib/thunderbird45/chrome/toolkit/content/global/accessibility/virtual_cursor_key.ogg
+lib/thunderbird45/chrome/toolkit/content/global/accessibility/virtual_cursor_move.ogg
+lib/thunderbird45/chrome/toolkit/content/global/alerts/alert.css
+lib/thunderbird45/chrome/toolkit/content/global/alerts/alert.js
+lib/thunderbird45/chrome/toolkit/content/global/alerts/alert.xul
+lib/thunderbird45/chrome/toolkit/content/global/appPicker.js
+lib/thunderbird45/chrome/toolkit/content/global/appPicker.xul
+lib/thunderbird45/chrome/toolkit/content/global/autocomplete.css
+lib/thunderbird45/chrome/toolkit/content/global/backgroundPageThumbsContent.js
+lib/thunderbird45/chrome/toolkit/content/global/bindings/autocomplete.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/browser.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/button.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/checkbox.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/colorpicker.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/datetimepicker.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/dialog.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/editor.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/expander.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/filefield.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/findbar.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/general.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/groupbox.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/listbox.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/menu.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/menulist.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/notification.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/numberbox.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/popup.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/preferences.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/progressmeter.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/radio.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/remote-browser.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/resizer.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/richlistbox.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/scale.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/scrollbar.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/scrollbox.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/spinbuttons.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/splitter.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/stringbundle.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/tabbox.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/text.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/textbox.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/toolbar.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/toolbarbutton.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/tree.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/videocontrols.css
+lib/thunderbird45/chrome/toolkit/content/global/bindings/videocontrols.xml
+lib/thunderbird45/chrome/toolkit/content/global/bindings/wizard.xml
+lib/thunderbird45/chrome/toolkit/content/global/browser-child.js
+lib/thunderbird45/chrome/toolkit/content/global/browser-content.js
+lib/thunderbird45/chrome/toolkit/content/global/buildconfig.html
+lib/thunderbird45/chrome/toolkit/content/global/commonDialog.css
+lib/thunderbird45/chrome/toolkit/content/global/commonDialog.js
+lib/thunderbird45/chrome/toolkit/content/global/commonDialog.xul
+lib/thunderbird45/chrome/toolkit/content/global/config.js
+lib/thunderbird45/chrome/toolkit/content/global/config.xul
+lib/thunderbird45/chrome/toolkit/content/global/console.css
+lib/thunderbird45/chrome/toolkit/content/global/console.js
+lib/thunderbird45/chrome/toolkit/content/global/console.xul
+lib/thunderbird45/chrome/toolkit/content/global/consoleBindings.xml
+lib/thunderbird45/chrome/toolkit/content/global/contentAreaUtils.js
+lib/thunderbird45/chrome/toolkit/content/global/customizeToolbar.css
+lib/thunderbird45/chrome/toolkit/content/global/customizeToolbar.js
+lib/thunderbird45/chrome/toolkit/content/global/customizeToolbar.xul
+lib/thunderbird45/chrome/toolkit/content/global/devicestorage.properties
+lib/thunderbird45/chrome/toolkit/content/global/dialogOverlay.js
+lib/thunderbird45/chrome/toolkit/content/global/dialogOverlay.xul
+lib/thunderbird45/chrome/toolkit/content/global/directionDetector.html
+lib/thunderbird45/chrome/toolkit/content/global/editMenuOverlay.js
+lib/thunderbird45/chrome/toolkit/content/global/editMenuOverlay.xul
+lib/thunderbird45/chrome/toolkit/content/global/extensions.js
+lib/thunderbird45/chrome/toolkit/content/global/filepicker.js
+lib/thunderbird45/chrome/toolkit/content/global/filepicker.properties
+lib/thunderbird45/chrome/toolkit/content/global/filepicker.xul
+lib/thunderbird45/chrome/toolkit/content/global/findUtils.js
+lib/thunderbird45/chrome/toolkit/content/global/finddialog.js
+lib/thunderbird45/chrome/toolkit/content/global/finddialog.xul
+lib/thunderbird45/chrome/toolkit/content/global/forms.js
+lib/thunderbird45/chrome/toolkit/content/global/globalOverlay.js
+lib/thunderbird45/chrome/toolkit/content/global/globalOverlay.xul
+lib/thunderbird45/chrome/toolkit/content/global/inlineSpellCheckUI.js
+lib/thunderbird45/chrome/toolkit/content/global/license.html
+lib/thunderbird45/chrome/toolkit/content/global/manifestMessages.js
+lib/thunderbird45/chrome/toolkit/content/global/menulist.css
+lib/thunderbird45/chrome/toolkit/content/global/minimal-xul.css
+lib/thunderbird45/chrome/toolkit/content/global/mozilla.xhtml
+lib/thunderbird45/chrome/toolkit/content/global/netError.xhtml
+lib/thunderbird45/chrome/toolkit/content/global/notfound.wav
+lib/thunderbird45/chrome/toolkit/content/global/nsClipboard.js
+lib/thunderbird45/chrome/toolkit/content/global/nsDragAndDrop.js
+lib/thunderbird45/chrome/toolkit/content/global/nsUserSettings.js
+lib/thunderbird45/chrome/toolkit/content/global/platformHTMLBindings.xml
+lib/thunderbird45/chrome/toolkit/content/global/plugins.css
+lib/thunderbird45/chrome/toolkit/content/global/plugins.html
+lib/thunderbird45/chrome/toolkit/content/global/preload.js
+lib/thunderbird45/chrome/toolkit/content/global/printPageSetup.js
+lib/thunderbird45/chrome/toolkit/content/global/printPageSetup.xul
+lib/thunderbird45/chrome/toolkit/content/global/printPreviewBindings.xml
+lib/thunderbird45/chrome/toolkit/content/global/printPreviewProgress.js
+lib/thunderbird45/chrome/toolkit/content/global/printPreviewProgress.xul
+lib/thunderbird45/chrome/toolkit/content/global/printProgress.js
+lib/thunderbird45/chrome/toolkit/content/global/printProgress.xul
+lib/thunderbird45/chrome/toolkit/content/global/printUtils.js
+lib/thunderbird45/chrome/toolkit/content/global/printdialog.js
+lib/thunderbird45/chrome/toolkit/content/global/printdialog.xul
+lib/thunderbird45/chrome/toolkit/content/global/printjoboptions.js
+lib/thunderbird45/chrome/toolkit/content/global/printjoboptions.xul
+lib/thunderbird45/chrome/toolkit/content/global/process-content.js
+lib/thunderbird45/chrome/toolkit/content/global/reader/aboutReader.html
+lib/thunderbird45/chrome/toolkit/content/global/reader/aboutReader.js
+lib/thunderbird45/chrome/toolkit/content/global/remote-test-ipc.js
+lib/thunderbird45/chrome/toolkit/content/global/resetProfile.css
+lib/thunderbird45/chrome/toolkit/content/global/resetProfile.js
+lib/thunderbird45/chrome/toolkit/content/global/resetProfile.xul
+lib/thunderbird45/chrome/toolkit/content/global/resetProfileProgress.xul
+lib/thunderbird45/chrome/toolkit/content/global/select-child.js
+lib/thunderbird45/chrome/toolkit/content/global/selectDialog.js
+lib/thunderbird45/chrome/toolkit/content/global/selectDialog.xul
+lib/thunderbird45/chrome/toolkit/content/global/strres.js
+lib/thunderbird45/chrome/toolkit/content/global/svg/svgBindings.xml
+lib/thunderbird45/chrome/toolkit/content/global/tabprompts.css
+lib/thunderbird45/chrome/toolkit/content/global/tabprompts.xml
+lib/thunderbird45/chrome/toolkit/content/global/test-ipc.xul
+lib/thunderbird45/chrome/toolkit/content/global/textbox.css
+lib/thunderbird45/chrome/toolkit/content/global/treeUtils.js
+lib/thunderbird45/chrome/toolkit/content/global/viewPartialSource.js
+lib/thunderbird45/chrome/toolkit/content/global/viewPartialSource.xul
+lib/thunderbird45/chrome/toolkit/content/global/viewSource-content.js
+lib/thunderbird45/chrome/toolkit/content/global/viewSource.css
+lib/thunderbird45/chrome/toolkit/content/global/viewSource.js
+lib/thunderbird45/chrome/toolkit/content/global/viewSource.xul
+lib/thunderbird45/chrome/toolkit/content/global/viewSourceUtils.js
+lib/thunderbird45/chrome/toolkit/content/global/viewZoomOverlay.js
+lib/thunderbird45/chrome/toolkit/content/global/xml/XMLMonoPrint.css
+lib/thunderbird45/chrome/toolkit/content/global/xml/XMLPrettyPrint.css
+lib/thunderbird45/chrome/toolkit/content/global/xml/XMLPrettyPrint.xml
+lib/thunderbird45/chrome/toolkit/content/global/xml/XMLPrettyPrint.xsl
+lib/thunderbird45/chrome/toolkit/content/global/xul.css
+lib/thunderbird45/chrome/toolkit/content/mozapps/downloads/DownloadProgressListener.js
+lib/thunderbird45/chrome/toolkit/content/mozapps/downloads/download.xml
+lib/thunderbird45/chrome/toolkit/content/mozapps/downloads/downloads.css
+lib/thunderbird45/chrome/toolkit/content/mozapps/downloads/downloads.js
+lib/thunderbird45/chrome/toolkit/content/mozapps/downloads/downloads.xul
+lib/thunderbird45/chrome/toolkit/content/mozapps/downloads/helperApps.js
+lib/thunderbird45/chrome/toolkit/content/mozapps/downloads/unknownContentType.xul
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/OpenH264-license.txt
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/about.js
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/about.xul
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/blocklist.css
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/blocklist.js
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/blocklist.xml
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/blocklist.xul
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/eula.js
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/eula.xul
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/extensions.css
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/extensions.js
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/extensions.xml
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/extensions.xul
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/gmpPrefs.xul
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/list.js
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/list.xul
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/newaddon.js
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/newaddon.xul
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/pluginPrefs.xul
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/selectAddons.css
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/selectAddons.js
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/selectAddons.xml
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/selectAddons.xul
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/setting.xml
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/update.js
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/update.xul
+lib/thunderbird45/chrome/toolkit/content/mozapps/extensions/updateinfo.xsl
+lib/thunderbird45/chrome/toolkit/content/mozapps/handling/dialog.js
+lib/thunderbird45/chrome/toolkit/content/mozapps/handling/dialog.xul
+lib/thunderbird45/chrome/toolkit/content/mozapps/handling/handler.css
+lib/thunderbird45/chrome/toolkit/content/mozapps/handling/handler.xml
+lib/thunderbird45/chrome/toolkit/content/mozapps/preferences/changemp.js
+lib/thunderbird45/chrome/toolkit/content/mozapps/preferences/changemp.xul
+lib/thunderbird45/chrome/toolkit/content/mozapps/preferences/fontbuilder.js
+lib/thunderbird45/chrome/toolkit/content/mozapps/preferences/removemp.js
+lib/thunderbird45/chrome/toolkit/content/mozapps/preferences/removemp.xul
+lib/thunderbird45/chrome/toolkit/content/mozapps/profile/createProfileWizard.js
+lib/thunderbird45/chrome/toolkit/content/mozapps/profile/createProfileWizard.xul
+lib/thunderbird45/chrome/toolkit/content/mozapps/profile/profileSelection.js
+lib/thunderbird45/chrome/toolkit/content/mozapps/profile/profileSelection.xul
+lib/thunderbird45/chrome/toolkit/content/mozapps/xpinstall/xpinstallConfirm.css
+lib/thunderbird45/chrome/toolkit/content/mozapps/xpinstall/xpinstallConfirm.js
+lib/thunderbird45/chrome/toolkit/content/mozapps/xpinstall/xpinstallConfirm.xul
+lib/thunderbird45/chrome/toolkit/content/mozapps/xpinstall/xpinstallItem.xml
+lib/thunderbird45/chrome/toolkit/content/passwordmgr/login.xml
+lib/thunderbird45/chrome/toolkit/content/passwordmgr/passwordManager.js
+lib/thunderbird45/chrome/toolkit/content/passwordmgr/passwordManager.xul
+lib/thunderbird45/chrome/toolkit/content/passwordmgr/passwordManagerCommon.js
+lib/thunderbird45/chrome/toolkit/content/passwordmgr/passwordManagerExceptions.js
+lib/thunderbird45/chrome/toolkit/content/passwordmgr/passwordManagerExceptions.xul
+lib/thunderbird45/chrome/toolkit/content/passwordmgr/recipes.json
+lib/thunderbird45/chrome/toolkit/content/satchel/formSubmitListener.js
+lib/thunderbird45/chrome/toolkit/content/xbl-marquee/xbl-marquee.css
+lib/thunderbird45/chrome/toolkit/content/xbl-marquee/xbl-marquee.xml
+lib/thunderbird45/chrome/toolkit/pluginproblem/pluginFinderBinding.css
+lib/thunderbird45/chrome/toolkit/pluginproblem/pluginProblem.xml
+lib/thunderbird45/chrome/toolkit/pluginproblem/pluginProblemBinding.css
+lib/thunderbird45/chrome/toolkit/pluginproblem/pluginProblemContent.css
+lib/thunderbird45/chrome/toolkit/res/arrow-left.gif
+lib/thunderbird45/chrome/toolkit/res/arrow-right.gif
+lib/thunderbird45/chrome/toolkit/res/arrow.gif
+lib/thunderbird45/chrome/toolkit/res/arrowd-left.gif
+lib/thunderbird45/chrome/toolkit/res/arrowd-right.gif
+lib/thunderbird45/chrome/toolkit/res/arrowd.gif
+lib/thunderbird45/chrome/toolkit/res/broken-image.png
+lib/thunderbird45/chrome/toolkit/res/charsetData.properties
+lib/thunderbird45/chrome/toolkit/res/counterstyles.css
+lib/thunderbird45/chrome/toolkit/res/forms.css
+lib/thunderbird45/chrome/toolkit/res/hiddenWindow.html
+lib/thunderbird45/chrome/toolkit/res/html.css
+lib/thunderbird45/chrome/toolkit/res/loading-image.png
+lib/thunderbird45/chrome/toolkit/res/mathml.css
+lib/thunderbird45/chrome/toolkit/res/noframes.css
+lib/thunderbird45/chrome/toolkit/res/noscript.css
+lib/thunderbird45/chrome/toolkit/res/number-control.css
+lib/thunderbird45/chrome/toolkit/res/plaintext.css
+lib/thunderbird45/chrome/toolkit/res/quirk.css
+lib/thunderbird45/chrome/toolkit/res/ua.css
+lib/thunderbird45/chrome/toolkit/res/viewsource.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/Filepicker.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/about.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/aboutCache.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/aboutCacheEntry.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/aboutMemory.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/aboutReader.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/aboutReaderContent.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/aboutReaderControls.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/aboutSupport.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/alerts/alert-common.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/alerts/alert.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/appPicker.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow/arrow-dn-dis.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow/arrow-dn-hov.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow/arrow-dn-sharp.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow/arrow-dn.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow/arrow-down.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow/arrow-lft-dis.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow/arrow-lft-sharp-end.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow/arrow-lft-sharp.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow/arrow-lft.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow/arrow-rit-dis.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow/arrow-rit-sharp-end.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow/arrow-rit-sharp.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow/arrow-rit.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow/arrow-up-dis.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow/arrow-up-hov.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow/arrow-up-sharp.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow/arrow-up.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow/panelarrow-horizontal-themed.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow/panelarrow-horizontal.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow/panelarrow-vertical-themed.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/arrow/panelarrow-vertical.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/autocomplete.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/button.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/checkbox.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/checkbox/cbox-check-dis.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/checkbox/cbox-check.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/colorpicker.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/commonDialog.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/config.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/console/console-error-caret.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/console/console-error-dash.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/console/console-toolbar.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/console/console.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/console/console.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/console/itemSelected.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/customizeToolbar.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/datetimepicker.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/dialog.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/dirListing/dirListing.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/dirListing/folder.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/dirListing/local.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/dirListing/remote.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/dirListing/up.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/dropmarker.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/expander.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/filefield.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/filepicker.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/findBar.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/global.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/globalBindings.xml
+lib/thunderbird45/chrome/toolkit/skin/classic/global/groupbox.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/Authentication.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/Close.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/Error.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/Landscape.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/Minimize.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/Portrait.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/Print-preview.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/Question.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/Restore.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/Search-close.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/Search-glass.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/Warning.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/autocomplete-search.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/autoscroll.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/blacklist_favicon.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/blacklist_large.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/close-inverted.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/close-inverted%2x.png@localhost
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/close.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/close.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/close%2x.png@localhost
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/collapse.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/error-16.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/error-64.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/expand.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/find-arrows.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/folder-item.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/info.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/information-16.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/information-24.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/information-32.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/loading-inverted.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/loading-inverted%2x.png@localhost
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/loading_16.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/panelarrow-horizontal.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/panelarrow-vertical.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/question-16.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/question-64.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/resizer-rtl.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/resizer.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/sslWarning.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/tabprompts-bgtexture.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/warning-16.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/warning-64.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/warning-large.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/warning.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/webapps-16.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/webapps-64.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/icons/windowControls.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/in-content/check-partial.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/in-content/check.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/in-content/common.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/in-content/dropdown.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/in-content/help-glyph.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/in-content/info-pages.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/in-content/radio.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/linkTree.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/listbox.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/media/TopLevelImageDocument.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/media/TopLevelVideoDocument.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/media/clicktoplay-bgtexture.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/media/error.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/media/fullscreenButton.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/media/imagedoc-darknoise.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/media/imagedoc-lightnoise.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/media/muteButton.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/media/noAudio.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/media/pauseButton.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/media/playButton.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/media/scrubberThumb.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/media/scrubberThumbWide.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/media/stalled.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/media/throbber.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/media/unmuteButton.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/media/videoClickToPlayButton.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/media/videocontrols.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/media/volume-empty.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/media/volume-full.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/menu.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/menu/shared-menu-check-active.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/menu/shared-menu-check-black.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/menu/shared-menu-check-hover.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/menu/shared-menu-check.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/menu/shared-menu-check%2x.png@localhost
+lib/thunderbird45/chrome/toolkit/skin/classic/global/menulist.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/netError.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/notification.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/numberbox.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/passwordmgr.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/popup.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/preferences.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/printPageSetup.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/printPreview.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/printpreview/arrow-left-end.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/printpreview/arrow-left.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/printpreview/arrow-right-end.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/printpreview/arrow-right.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/progressmeter.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/radio.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/radio/radio-check-dis.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/radio/radio-check.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/reader/RM-Add-24x24.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/reader/RM-Close-24x24.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/reader/RM-Delete-24x24.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/reader/RM-Minus-24x24.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/reader/RM-Plus-24x24.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/reader/RM-Reading-List-24x24.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/reader/RM-Type-Controls-24x24.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/reader/RM-Type-Controls-Arrow.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/reader/pocket.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/global/resizer.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/richlistbox.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/scale.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/scrollbar/slider.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/scrollbars.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/scrollbox.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/spinbuttons.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/splitter.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/splitter/grip-bottom.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/splitter/grip-left.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/splitter/grip-right.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/splitter/grip-top.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/tabbox.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/tabprompts.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/textbox.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/toolbar.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/toolbar/chevron-inverted.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/toolbar/chevron.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/toolbar/spring.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/toolbarbutton.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/tree.css
+lib/thunderbird45/chrome/toolkit/skin/classic/global/tree/columnpicker.gif
+lib/thunderbird45/chrome/toolkit/skin/classic/global/tree/sort-asc-classic.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/tree/sort-asc.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/tree/sort-dsc-classic.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/tree/sort-dsc.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/tree/twisty-clsd.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/tree/twisty-open.png
+lib/thunderbird45/chrome/toolkit/skin/classic/global/wizard.css
+lib/thunderbird45/chrome/toolkit/skin/classic/help/Toolbar-rtl.png
+lib/thunderbird45/chrome/toolkit/skin/classic/help/Toolbar.png
+lib/thunderbird45/chrome/toolkit/skin/classic/help/Weblink-rtl.png
+lib/thunderbird45/chrome/toolkit/skin/classic/help/Weblink.png
+lib/thunderbird45/chrome/toolkit/skin/classic/help/helpFileLayout.css
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/aboutNetworking.css
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/aboutServiceWorkers.css
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/downloads/downloadButtons.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/downloads/downloadIcon.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/downloads/downloads.css
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/downloads/unknownContentType.css
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/about.css
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/alerticon-error.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/alerticon-info-negative.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/alerticon-info-positive.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/alerticon-warning.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/blocklist.css
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/cancel.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/category-available.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/category-discover.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/category-plugins.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/category-recent.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/category-search.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/category-service.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/dictionaryGeneric-16.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/dictionaryGeneric.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/discover-logo.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/eula.css
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/experimentGeneric.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/extensionGeneric-16.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/extensionGeneric.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/extensions.css
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/heart.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/localeGeneric.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/navigation.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/newaddon.css
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/rating-not-won.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/rating-won.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/selectAddons.css
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/themeGeneric-16.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/themeGeneric.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/update.css
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/extensions/utilities.svg
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/formautofill/requestAutocomplete.css
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/handling/handling.css
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/passwordmgr/key-16.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/passwordmgr/key-64.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/places/defaultFavicon.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/places/defaultFavicon%2x.png@localhost
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/plugins/contentPluginActivate.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/plugins/contentPluginBlocked.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/plugins/contentPluginClose.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/plugins/contentPluginCrashed.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/plugins/contentPluginDisabled.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/plugins/contentPluginDownload.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/plugins/contentPluginMissing.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/plugins/contentPluginStripe.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/plugins/pluginBlocked-64.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/plugins/pluginBlocked.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/plugins/pluginGeneric-16.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/plugins/pluginGeneric.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/plugins/pluginHelp-16.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/plugins/pluginProblem.css
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/profile/profileSelection.css
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/profile/profileicon.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/update/downloadButtons.png
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/update/updates.css
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/viewsource/viewsource.css
+lib/thunderbird45/chrome/toolkit/skin/classic/mozapps/xpinstall/xpinstallConfirm.css
+lib/thunderbird45/components/AppsService.js
+lib/thunderbird45/components/BrowserElementParent.js
+lib/thunderbird45/components/ColorAnalyzer.js
+lib/thunderbird45/components/ConsoleAPIStorage.js
+lib/thunderbird45/components/ContactManager.js
+lib/thunderbird45/components/ContentProcessSingleton.js
+lib/thunderbird45/components/DownloadLegacy.js
+lib/thunderbird45/components/DownloadsStartup.js
+lib/thunderbird45/components/FeedProcessor.js
+lib/thunderbird45/components/FormAutofillContentService.js
+lib/thunderbird45/components/FormAutofillStartup.js
+lib/thunderbird45/components/FormHistoryStartup.js
+lib/thunderbird45/components/InstallPackagedWebapp.js
+lib/thunderbird45/components/MainProcessSingleton.js
+lib/thunderbird45/components/NetworkGeolocationProvider.js
+lib/thunderbird45/components/PACGenerator.js
+lib/thunderbird45/components/PackagedAppUtils.js
+lib/thunderbird45/components/PageThumbsProtocol.js
+lib/thunderbird45/components/PermissionSettings.js
+lib/thunderbird45/components/PlacesCategoriesStarter.js
+lib/thunderbird45/components/PresentationDeviceInfoManager.js
+lib/thunderbird45/components/Push.js
+lib/thunderbird45/components/PushNotificationService.js
+lib/thunderbird45/components/SettingsManager.js
+lib/thunderbird45/components/SiteSpecificUserAgent.js
+lib/thunderbird45/components/TCPPresentationServer.js
+lib/thunderbird45/components/TelemetryStartup.js
+lib/thunderbird45/components/UnifiedComplete.js
+lib/thunderbird45/components/Webapps.js
+lib/thunderbird45/components/XULStore.js
+lib/thunderbird45/components/aboutRedirector.js
+lib/thunderbird45/components/addonManager.js
+lib/thunderbird45/components/amContentHandler.js
+lib/thunderbird45/components/amInstallTrigger.js
+lib/thunderbird45/components/amWebInstallListener.js
+lib/thunderbird45/components/captivedetect.js
+lib/thunderbird45/components/components.manifest
+lib/thunderbird45/components/contentAreaDropListener.js
+lib/thunderbird45/components/crypto-SDR.js
+lib/thunderbird45/components/facebook.js
+lib/thunderbird45/components/folderLookupService.js
+lib/thunderbird45/components/glautocomp.js
+lib/thunderbird45/components/gtalk.js
+lib/thunderbird45/components/htmlMenuBuilder.js
+lib/thunderbird45/components/imAccounts.js
+lib/thunderbird45/components/imCommands.js
+lib/thunderbird45/components/imContacts.js
+lib/thunderbird45/components/imConversations.js
+lib/thunderbird45/components/imCore.js
+lib/thunderbird45/components/imIncomingServer.js
+lib/thunderbird45/components/imProtocolInfo.js
+lib/thunderbird45/components/interfaces.xpt
+lib/thunderbird45/components/irc.js
+lib/thunderbird45/components/jsconsole-clhandler.js
+lib/thunderbird45/components/jsmimeemitter.js
+lib/thunderbird45/components/logger.js
+lib/thunderbird45/components/mailContentHandler.js
+lib/thunderbird45/components/mailGlue.js
+lib/thunderbird45/components/mdn-service.js
+lib/thunderbird45/components/messageWakeupService.js
+lib/thunderbird45/components/mimeJSComponents.js
+lib/thunderbird45/components/msgAsyncPrompter.js
+lib/thunderbird45/components/msgOAuth2Module.js
+lib/thunderbird45/components/newMailNotificationService.js
+lib/thunderbird45/components/newsblog.js
+lib/thunderbird45/components/nsAbAutoCompleteMyDomain.js
+lib/thunderbird45/components/nsAbAutoCompleteSearch.js
+lib/thunderbird45/components/nsAbLDAPAttributeMap.js
+lib/thunderbird45/components/nsAbLDAPAutoCompleteSearch.js
+lib/thunderbird45/components/nsActivity.js
+lib/thunderbird45/components/nsActivityManager.js
+lib/thunderbird45/components/nsActivityManagerUI.js
+lib/thunderbird45/components/nsAsyncShutdown.js
+lib/thunderbird45/components/nsBlocklistService.js
+lib/thunderbird45/components/nsBox.js
+lib/thunderbird45/components/nsContentDispatchChooser.js
+lib/thunderbird45/components/nsContentPrefService.js
+lib/thunderbird45/components/nsCrashMonitor.js
+lib/thunderbird45/components/nsDefaultCLH.js
+lib/thunderbird45/components/nsFilePicker.js
+lib/thunderbird45/components/nsFormAutoComplete.js
+lib/thunderbird45/components/nsFormHistory.js
+lib/thunderbird45/components/nsHandlerService.js
+lib/thunderbird45/components/nsHelperAppDlg.js
+lib/thunderbird45/components/nsHightail.js
+lib/thunderbird45/components/nsINIProcessor.js
+lib/thunderbird45/components/nsInputListAutoComplete.js
+lib/thunderbird45/components/nsLDAPProtocolHandler.js
+lib/thunderbird45/components/nsLivemarkService.js
+lib/thunderbird45/components/nsLoginInfo.js
+lib/thunderbird45/components/nsLoginManager.js
+lib/thunderbird45/components/nsLoginManagerPrompter.js
+lib/thunderbird45/components/nsMailDefaultHandler.js
+lib/thunderbird45/components/nsMailNewsCommandLineHandler.js
+lib/thunderbird45/components/nsMsgTraitService.js
+lib/thunderbird45/components/nsNewsAutoCompleteSearch.js
+lib/thunderbird45/components/nsPlacesAutoComplete.js
+lib/thunderbird45/components/nsPlacesExpiration.js
+lib/thunderbird45/components/nsPrompter.js
+lib/thunderbird45/components/nsSMTPProtocolHandler.js
+lib/thunderbird45/components/nsSearchService.js
+lib/thunderbird45/components/nsSearchSuggestions.js
+lib/thunderbird45/components/nsSetDefaultMail.js
+lib/thunderbird45/components/nsTaggingService.js
+lib/thunderbird45/components/nsTerminatorTelemetry.js
+lib/thunderbird45/components/nsURLFormatter.js
+lib/thunderbird45/components/nsUpdateTimerManager.js
+lib/thunderbird45/components/nsUrlClassifierHashCompleter.js
+lib/thunderbird45/components/nsUrlClassifierLib.js
+lib/thunderbird45/components/nsUrlClassifierListManager.js
+lib/thunderbird45/components/nsWebHandlerApp.js
+lib/thunderbird45/components/offlineStartup.js
+lib/thunderbird45/components/simpleServices.js
+lib/thunderbird45/components/skype.js
+lib/thunderbird45/components/smileProtocolHandler.js
+lib/thunderbird45/components/smime-service.js
+lib/thunderbird45/components/steelApplication.js
+lib/thunderbird45/components/storage-json.js
+lib/thunderbird45/components/twitter.js
+lib/thunderbird45/components/txEXSLTRegExFunctions.js
+lib/thunderbird45/components/xmpp.js
+lib/thunderbird45/components/yahoo.js
+lib/thunderbird45/defaults/autoconfig/prefcalls.js
+lib/thunderbird45/defaults/messenger/mailViews.dat
+lib/thunderbird45/defaults/pref/all-im.js
+lib/thunderbird45/defaults/pref/all-l10n.js
+lib/thunderbird45/defaults/pref/all-thunderbird.js
+lib/thunderbird45/defaults/pref/channel-prefs.js
+lib/thunderbird45/defaults/pref/chat-prefs.js
+lib/thunderbird45/defaults/pref/composer.js
+lib/thunderbird45/defaults/pref/mailnews.js
+lib/thunderbird45/defaults/pref/mdn.js
+lib/thunderbird45/defaults/pref/smime.js
+lib/thunderbird45/defaults/pref/thunderbird-branding.js
+lib/thunderbird45/defaults/profile/localstore.rdf
+lib/thunderbird45/defaults/profile/mimeTypes.rdf
+lib/thunderbird45/defaults/profile/prefs.js
+lib/thunderbird45/dependentlibs.list
+lib/thunderbird45/dictionaries/en-US.aff
+lib/thunderbird45/dictionaries/en-US.dic
+lib/thunderbird45/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
+lib/thunderbird45/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon64.png
+lib/thunderbird45/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
+lib/thunderbird45/greprefs.js
+lib/thunderbird45/hyphenation/hyph_af.dic
+lib/thunderbird45/hyphenation/hyph_bg.dic
+lib/thunderbird45/hyphenation/hyph_ca.dic
+lib/thunderbird45/hyphenation/hyph_cy.dic
+lib/thunderbird45/hyphenation/hyph_da.dic
+lib/thunderbird45/hyphenation/hyph_de-1901.dic
+lib/thunderbird45/hyphenation/hyph_de-1996.dic
+lib/thunderbird45/hyphenation/hyph_de-CH.dic
+lib/thunderbird45/hyphenation/hyph_en_US.dic
+lib/thunderbird45/hyphenation/hyph_eo.dic
+lib/thunderbird45/hyphenation/hyph_es.dic
+lib/thunderbird45/hyphenation/hyph_et.dic
+lib/thunderbird45/hyphenation/hyph_fi.dic
+lib/thunderbird45/hyphenation/hyph_fr.dic
+lib/thunderbird45/hyphenation/hyph_gl.dic
+lib/thunderbird45/hyphenation/hyph_hr.dic
+lib/thunderbird45/hyphenation/hyph_hsb.dic
+lib/thunderbird45/hyphenation/hyph_hu.dic
+lib/thunderbird45/hyphenation/hyph_ia.dic
+lib/thunderbird45/hyphenation/hyph_is.dic
+lib/thunderbird45/hyphenation/hyph_it.dic
+lib/thunderbird45/hyphenation/hyph_kmr.dic
+lib/thunderbird45/hyphenation/hyph_la.dic
+lib/thunderbird45/hyphenation/hyph_lt.dic
+lib/thunderbird45/hyphenation/hyph_mn.dic
+lib/thunderbird45/hyphenation/hyph_nb.dic
+lib/thunderbird45/hyphenation/hyph_nl.dic
+lib/thunderbird45/hyphenation/hyph_nn.dic
+lib/thunderbird45/hyphenation/hyph_pl.dic
+lib/thunderbird45/hyphenation/hyph_pt.dic
+lib/thunderbird45/hyphenation/hyph_ru.dic
+lib/thunderbird45/hyphenation/hyph_sh.dic
+lib/thunderbird45/hyphenation/hyph_sl.dic
+lib/thunderbird45/hyphenation/hyph_sv.dic
+lib/thunderbird45/hyphenation/hyph_tr.dic
+lib/thunderbird45/hyphenation/hyph_uk.dic
+lib/thunderbird45/isp/Bogofilter.sfd
+lib/thunderbird45/isp/DSPAM.sfd
+lib/thunderbird45/isp/POPFile.sfd
+lib/thunderbird45/isp/SpamAssassin.sfd
+lib/thunderbird45/isp/SpamPal.sfd
+lib/thunderbird45/isp/movemail.rdf
+lib/thunderbird45/isp/rss.rdf
+lib/thunderbird45/libldap60.so
+lib/thunderbird45/libldif60.so
+lib/thunderbird45/liblgpllibs.so
+lib/thunderbird45/libmozsqlite3.so
+lib/thunderbird45/libprldap60.so
+lib/thunderbird45/libxul.so
+lib/thunderbird45/modules/ABQueryUtils.jsm
+lib/thunderbird45/modules/AboutReader.jsm
+lib/thunderbird45/modules/ActivitiesService.jsm
+lib/thunderbird45/modules/ActivitiesServiceFilter.jsm
+lib/thunderbird45/modules/AddonManager.jsm
+lib/thunderbird45/modules/AlarmDB.jsm
+lib/thunderbird45/modules/AlarmService.jsm
+lib/thunderbird45/modules/AppConstants.jsm
+lib/thunderbird45/modules/AppDownloadManager.jsm
+lib/thunderbird45/modules/AppsServiceChild.jsm
+lib/thunderbird45/modules/AppsUtils.jsm
+lib/thunderbird45/modules/ArrayBufferUtils.jsm
+lib/thunderbird45/modules/AsyncShutdown.jsm
+lib/thunderbird45/modules/AsyncSpellCheckTestHelper.jsm
+lib/thunderbird45/modules/AutoCompleteE10S.jsm
+lib/thunderbird45/modules/BackgroundPageThumbs.jsm
+lib/thunderbird45/modules/Battery.jsm
+lib/thunderbird45/modules/BigInteger.jsm
+lib/thunderbird45/modules/BinarySearch.jsm
+lib/thunderbird45/modules/BookmarkHTMLUtils.jsm
+lib/thunderbird45/modules/BookmarkJSONUtils.jsm
+lib/thunderbird45/modules/Bookmarks.jsm
+lib/thunderbird45/modules/BrowserElementPromptService.jsm
+lib/thunderbird45/modules/BrowserUtils.jsm
+lib/thunderbird45/modules/CertUtils.jsm
+lib/thunderbird45/modules/CharsetMenu.jsm
+lib/thunderbird45/modules/ChromeManifestParser.jsm
+lib/thunderbird45/modules/ClientID.jsm
+lib/thunderbird45/modules/ClusterLib.js
+lib/thunderbird45/modules/ColorAnalyzer_worker.js
+lib/thunderbird45/modules/ColorConversion.js
+lib/thunderbird45/modules/CommonDialog.jsm
+lib/thunderbird45/modules/CompatWarning.jsm
+lib/thunderbird45/modules/Console.jsm
+lib/thunderbird45/modules/ContactDB.jsm
+lib/thunderbird45/modules/ContactService.jsm
+lib/thunderbird45/modules/ContentPrefInstance.jsm
+lib/thunderbird45/modules/ContentPrefService2.jsm
+lib/thunderbird45/modules/ContentPrefServiceChild.jsm
+lib/thunderbird45/modules/ContentPrefServiceParent.jsm
+lib/thunderbird45/modules/ContentPrefStore.jsm
+lib/thunderbird45/modules/ContentPrefUtils.jsm
+lib/thunderbird45/modules/CrashMonitor.jsm
+lib/thunderbird45/modules/Credentials.jsm
+lib/thunderbird45/modules/DOMRequestHelper.jsm
+lib/thunderbird45/modules/DataStoreChangeNotifier.jsm
+lib/thunderbird45/modules/DataStoreCursorImpl.jsm
+lib/thunderbird45/modules/DataStoreDB.jsm
+lib/thunderbird45/modules/DeferredSave.jsm
+lib/thunderbird45/modules/DeferredTask.jsm
+lib/thunderbird45/modules/Deprecated.jsm
+lib/thunderbird45/modules/DownloadCore.jsm
+lib/thunderbird45/modules/DownloadImport.jsm
+lib/thunderbird45/modules/DownloadIntegration.jsm
+lib/thunderbird45/modules/DownloadLastDir.jsm
+lib/thunderbird45/modules/DownloadList.jsm
+lib/thunderbird45/modules/DownloadPaths.jsm
+lib/thunderbird45/modules/DownloadStore.jsm
+lib/thunderbird45/modules/DownloadTaskbarProgress.jsm
+lib/thunderbird45/modules/DownloadUIHelper.jsm
+lib/thunderbird45/modules/DownloadUtils.jsm
+lib/thunderbird45/modules/Downloads.jsm
+lib/thunderbird45/modules/Extension.jsm
+lib/thunderbird45/modules/ExtensionContent.jsm
+lib/thunderbird45/modules/ExtensionManagement.jsm
+lib/thunderbird45/modules/ExtensionStorage.jsm
+lib/thunderbird45/modules/ExtensionUtils.jsm
+lib/thunderbird45/modules/FeedUtils.jsm
+lib/thunderbird45/modules/FileUtils.jsm
+lib/thunderbird45/modules/Finder.jsm
+lib/thunderbird45/modules/ForgetAboutSite.jsm
+lib/thunderbird45/modules/FormAutofill.jsm
+lib/thunderbird45/modules/FormAutofillIntegration.jsm
+lib/thunderbird45/modules/FormData.jsm
+lib/thunderbird45/modules/FormHistory.jsm
+lib/thunderbird45/modules/FrameWorker.jsm
+lib/thunderbird45/modules/FrameWorkerContent.js
+lib/thunderbird45/modules/FreeSpaceWatcher.jsm
+lib/thunderbird45/modules/FxAccounts.jsm
+lib/thunderbird45/modules/FxAccountsClient.jsm
+lib/thunderbird45/modules/FxAccountsCommon.js
+lib/thunderbird45/modules/FxAccountsOAuthClient.jsm
+lib/thunderbird45/modules/FxAccountsOAuthGrantClient.jsm
+lib/thunderbird45/modules/FxAccountsProfile.jsm
+lib/thunderbird45/modules/FxAccountsProfileClient.jsm
+lib/thunderbird45/modules/FxAccountsStorage.jsm
+lib/thunderbird45/modules/FxAccountsWebChannel.jsm
+lib/thunderbird45/modules/GMPInstallManager.jsm
+lib/thunderbird45/modules/GMPUtils.jsm
+lib/thunderbird45/modules/Geometry.jsm
+lib/thunderbird45/modules/History.jsm
+lib/thunderbird45/modules/Http.jsm
+lib/thunderbird45/modules/IOUtils.js
+lib/thunderbird45/modules/ISO8601DateUtils.jsm
+lib/thunderbird45/modules/ImageObjectProcessor.jsm
+lib/thunderbird45/modules/ImportExport.jsm
+lib/thunderbird45/modules/IndexedDBHelper.jsm
+lib/thunderbird45/modules/InlineSpellChecker.jsm
+lib/thunderbird45/modules/InlineSpellCheckerContent.jsm
+lib/thunderbird45/modules/InsecurePasswordUtils.jsm
+lib/thunderbird45/modules/InterAppCommService.jsm
+lib/thunderbird45/modules/JXON.js
+lib/thunderbird45/modules/Keyboard.jsm
+lib/thunderbird45/modules/Langpacks.jsm
+lib/thunderbird45/modules/LightweightThemeConsumer.jsm
+lib/thunderbird45/modules/LightweightThemeManager.jsm
+lib/thunderbird45/modules/LoadContextInfo.jsm
+lib/thunderbird45/modules/Locale.jsm
+lib/thunderbird45/modules/Log.jsm
+lib/thunderbird45/modules/LoginHelper.jsm
+lib/thunderbird45/modules/LoginImport.jsm
+lib/thunderbird45/modules/LoginManagerContent.jsm
+lib/thunderbird45/modules/LoginManagerParent.jsm
+lib/thunderbird45/modules/LoginRecipes.jsm
+lib/thunderbird45/modules/LoginStore.jsm
+lib/thunderbird45/modules/MailConsts.js
+lib/thunderbird45/modules/MailUtils.js
+lib/thunderbird45/modules/ManifestFinder.jsm
+lib/thunderbird45/modules/ManifestObtainer.jsm
+lib/thunderbird45/modules/ManifestProcessor.jsm
+lib/thunderbird45/modules/MatchPattern.jsm
+lib/thunderbird45/modules/MessageBroadcaster.jsm
+lib/thunderbird45/modules/MessagePortBase.jsm
+lib/thunderbird45/modules/MessagePortWorker.js
+lib/thunderbird45/modules/Microformats.js
+lib/thunderbird45/modules/MozSocialAPI.jsm
+lib/thunderbird45/modules/MsgHdrSyntheticView.js
+lib/thunderbird45/modules/NativeApp.jsm
+lib/thunderbird45/modules/NetUtil.jsm
+lib/thunderbird45/modules/NewTabUtils.jsm
+lib/thunderbird45/modules/NormalizedMap.jsm
+lib/thunderbird45/modules/NotificationDB.jsm
+lib/thunderbird45/modules/OAuth2.jsm
+lib/thunderbird45/modules/OAuth2Providers.jsm
+lib/thunderbird45/modules/OSCrypto.jsm
+lib/thunderbird45/modules/ObjectUtils.jsm
+lib/thunderbird45/modules/OfflineCacheInstaller.jsm
+lib/thunderbird45/modules/OperatorApps.jsm
+lib/thunderbird45/modules/PageMenu.jsm
+lib/thunderbird45/modules/PageMetadata.jsm
+lib/thunderbird45/modules/PageThumbUtils.jsm
+lib/thunderbird45/modules/PageThumbs.jsm
+lib/thunderbird45/modules/PageThumbsWorker.js
+lib/thunderbird45/modules/PerfMeasurement.jsm
+lib/thunderbird45/modules/PermissionSettings.jsm
+lib/thunderbird45/modules/PermissionsInstaller.jsm
+lib/thunderbird45/modules/PermissionsTable.jsm
+lib/thunderbird45/modules/PermissionsUtils.jsm
+lib/thunderbird45/modules/PhoneNumber.jsm
+lib/thunderbird45/modules/PhoneNumberMetaData.jsm
+lib/thunderbird45/modules/PhoneNumberNormalizer.jsm
+lib/thunderbird45/modules/PhoneNumberUtils.jsm
+lib/thunderbird45/modules/PlacesBackups.jsm
+lib/thunderbird45/modules/PlacesDBUtils.jsm
+lib/thunderbird45/modules/PlacesRemoteTabsAutocompleteProvider.jsm
+lib/thunderbird45/modules/PlacesSearchAutocompleteProvider.jsm
+lib/thunderbird45/modules/PlacesTransactions.jsm
+lib/thunderbird45/modules/PlacesUtils.jsm
+lib/thunderbird45/modules/PluralForm.jsm
+lib/thunderbird45/modules/PopupNotifications.jsm
+lib/thunderbird45/modules/Preferences.jsm
+lib/thunderbird45/modules/Prefetcher.jsm
+lib/thunderbird45/modules/PresentationDeviceInfoManager.jsm
+lib/thunderbird45/modules/PrivateBrowsingUtils.jsm
+lib/thunderbird45/modules/ProfileAge.jsm
+lib/thunderbird45/modules/Promise-backend.js
+lib/thunderbird45/modules/Promise.jsm
+lib/thunderbird45/modules/PromiseMessage.jsm
+lib/thunderbird45/modules/PromiseUtils.jsm
+lib/thunderbird45/modules/PromiseWorker.jsm
+lib/thunderbird45/modules/PropertyListUtils.jsm
+lib/thunderbird45/modules/PushCrypto.jsm
+lib/thunderbird45/modules/PushDB.jsm
+lib/thunderbird45/modules/PushRecord.jsm
+lib/thunderbird45/modules/PushService.jsm
+lib/thunderbird45/modules/PushServiceChildPreload.jsm
+lib/thunderbird45/modules/PushServiceHttp2.jsm
+lib/thunderbird45/modules/PushServiceWebSocket.jsm
+lib/thunderbird45/modules/ReaderMode.jsm
+lib/thunderbird45/modules/RemoteAddonsChild.jsm
+lib/thunderbird45/modules/RemoteAddonsParent.jsm
+lib/thunderbird45/modules/RemoteController.jsm
+lib/thunderbird45/modules/RemoteDebuggerServer.jsm
+lib/thunderbird45/modules/RemoteFinder.jsm
+lib/thunderbird45/modules/RemotePageManager.jsm
+lib/thunderbird45/modules/RemoteSecurityUI.jsm
+lib/thunderbird45/modules/RemoteWebProgress.jsm
+lib/thunderbird45/modules/RequestAutocompleteUI.jsm
+lib/thunderbird45/modules/RequestSyncApp.jsm
+lib/thunderbird45/modules/RequestSyncService.jsm
+lib/thunderbird45/modules/RequestSyncTask.jsm
+lib/thunderbird45/modules/ResetProfile.jsm
+lib/thunderbird45/modules/ResourceStatsDB.jsm
+lib/thunderbird45/modules/ResourceStatsService.jsm
+lib/thunderbird45/modules/RokuApp.jsm
+lib/thunderbird45/modules/SafeBrowsing.jsm
+lib/thunderbird45/modules/Schemas.jsm
+lib/thunderbird45/modules/ScriptPreloader.jsm
+lib/thunderbird45/modules/ScrollPosition.jsm
+lib/thunderbird45/modules/SearchIntegration.js
+lib/thunderbird45/modules/SearchStaticData.jsm
+lib/thunderbird45/modules/SearchSuggestionController.jsm
+lib/thunderbird45/modules/SelectContentHelper.jsm
+lib/thunderbird45/modules/SelectParentHelper.jsm
+lib/thunderbird45/modules/Services.jsm
+lib/thunderbird45/modules/SessionRecorder.jsm
+lib/thunderbird45/modules/SettingsDB.jsm
+lib/thunderbird45/modules/SettingsRequestManager.jsm
+lib/thunderbird45/modules/SharedPromptUtils.jsm
+lib/thunderbird45/modules/ShimWaiver.jsm
+lib/thunderbird45/modules/ShortcutUtils.jsm
+lib/thunderbird45/modules/SimpleServiceDiscovery.jsm
+lib/thunderbird45/modules/Sntp.jsm
+lib/thunderbird45/modules/SocialService.jsm
+lib/thunderbird45/modules/SpatialNavigation.jsm
+lib/thunderbird45/modules/Sqlite.jsm
+lib/thunderbird45/modules/StoreTrustAnchor.jsm
+lib/thunderbird45/modules/StringBundle.js
+lib/thunderbird45/modules/SystemMessagePermissionsChecker.jsm
+lib/thunderbird45/modules/SystemUpdateService.jsm
+lib/thunderbird45/modules/Task.jsm
+lib/thunderbird45/modules/TelemetryArchive.jsm
+lib/thunderbird45/modules/TelemetryController.jsm
+lib/thunderbird45/modules/TelemetryEnvironment.jsm
+lib/thunderbird45/modules/TelemetryLog.jsm
+lib/thunderbird45/modules/TelemetryReportingPolicy.jsm
+lib/thunderbird45/modules/TelemetrySend.jsm
+lib/thunderbird45/modules/TelemetrySession.jsm
+lib/thunderbird45/modules/TelemetryStopwatch.jsm
+lib/thunderbird45/modules/TelemetryStorage.jsm
+lib/thunderbird45/modules/TelemetryTimestamps.jsm
+lib/thunderbird45/modules/TelemetryUtils.jsm
+lib/thunderbird45/modules/ThirdPartyCookieProbe.jsm
+lib/thunderbird45/modules/Timer.jsm
+lib/thunderbird45/modules/Troubleshoot.jsm
+lib/thunderbird45/modules/UITelemetry.jsm
+lib/thunderbird45/modules/UpdateUtils.jsm
+lib/thunderbird45/modules/UserAgentOverrides.jsm
+lib/thunderbird45/modules/UserAgentUpdates.jsm
+lib/thunderbird45/modules/UserCustomizations.jsm
+lib/thunderbird45/modules/ValueExtractor.jsm
+lib/thunderbird45/modules/ViewSourceBrowser.jsm
+lib/thunderbird45/modules/WebChannel.jsm
+lib/thunderbird45/modules/WebNavigation.jsm
+lib/thunderbird45/modules/WebNavigationContent.js
+lib/thunderbird45/modules/WebRequest.jsm
+lib/thunderbird45/modules/WebRequestCommon.jsm
+lib/thunderbird45/modules/WebRequestContent.js
+lib/thunderbird45/modules/WebappOSUtils.jsm
+lib/thunderbird45/modules/Webapps.jsm
+lib/thunderbird45/modules/WindowDraggingUtils.jsm
+lib/thunderbird45/modules/Windows8WindowFrameColor.jsm
+lib/thunderbird45/modules/WorkerAPI.jsm
+lib/thunderbird45/modules/XPCOMUtils.jsm
+lib/thunderbird45/modules/XPathGenerator.jsm
+lib/thunderbird45/modules/XULRootActor.js
+lib/thunderbird45/modules/ZipUtils.jsm
+lib/thunderbird45/modules/aboutSupport.js
+lib/thunderbird45/modules/aboutSupportUnix.js
+lib/thunderbird45/modules/accessibility/AccessFu.jsm
+lib/thunderbird45/modules/accessibility/Constants.jsm
+lib/thunderbird45/modules/accessibility/ContentControl.jsm
+lib/thunderbird45/modules/accessibility/EventManager.jsm
+lib/thunderbird45/modules/accessibility/Gestures.jsm
+lib/thunderbird45/modules/accessibility/OutputGenerator.jsm
+lib/thunderbird45/modules/accessibility/PointerAdapter.jsm
+lib/thunderbird45/modules/accessibility/Presentation.jsm
+lib/thunderbird45/modules/accessibility/Traversal.jsm
+lib/thunderbird45/modules/accessibility/Utils.jsm
+lib/thunderbird45/modules/activity/activityModules.js
+lib/thunderbird45/modules/activity/alertHook.js
+lib/thunderbird45/modules/activity/autosync.js
+lib/thunderbird45/modules/activity/glodaIndexer.js
+lib/thunderbird45/modules/activity/moveCopy.js
+lib/thunderbird45/modules/activity/pop3Download.js
+lib/thunderbird45/modules/activity/sendLater.js
+lib/thunderbird45/modules/addons/AddonConstants.jsm
+lib/thunderbird45/modules/addons/AddonLogging.jsm
+lib/thunderbird45/modules/addons/AddonRepository.jsm
+lib/thunderbird45/modules/addons/AddonRepository_SQLiteMigrator.jsm
+lib/thunderbird45/modules/addons/AddonUpdateChecker.jsm
+lib/thunderbird45/modules/addons/Content.js
+lib/thunderbird45/modules/addons/GMPProvider.jsm
+lib/thunderbird45/modules/addons/LightweightThemeImageOptimizer.jsm
+lib/thunderbird45/modules/addons/PluginProvider.jsm
+lib/thunderbird45/modules/addons/ProductAddonChecker.jsm
+lib/thunderbird45/modules/addons/SpellCheckDictionaryBootstrap.js
+lib/thunderbird45/modules/addons/WebExtensionBootstrap.js
+lib/thunderbird45/modules/addons/XPIProvider.jsm
+lib/thunderbird45/modules/addons/XPIProviderUtils.js
+lib/thunderbird45/modules/appIdleManager.js
+lib/thunderbird45/modules/attachmentChecker.js
+lib/thunderbird45/modules/chatHandler.jsm
+lib/thunderbird45/modules/chatNotifications.jsm
+lib/thunderbird45/modules/cloudFileAccounts.js
+lib/thunderbird45/modules/commonjs/dev/debuggee.js
+lib/thunderbird45/modules/commonjs/dev/frame-script.js
+lib/thunderbird45/modules/commonjs/dev/panel.js
+lib/thunderbird45/modules/commonjs/dev/panel/view.js
+lib/thunderbird45/modules/commonjs/dev/ports.js
+lib/thunderbird45/modules/commonjs/dev/theme.js
+lib/thunderbird45/modules/commonjs/dev/theme/hooks.js
+lib/thunderbird45/modules/commonjs/dev/toolbox.js
+lib/thunderbird45/modules/commonjs/dev/utils.js
+lib/thunderbird45/modules/commonjs/dev/volcan.js
+lib/thunderbird45/modules/commonjs/diffpatcher/diff.js
+lib/thunderbird45/modules/commonjs/diffpatcher/index.js
+lib/thunderbird45/modules/commonjs/diffpatcher/patch.js
+lib/thunderbird45/modules/commonjs/diffpatcher/rebase.js
+lib/thunderbird45/modules/commonjs/diffpatcher/test/common.js
+lib/thunderbird45/modules/commonjs/diffpatcher/test/diff.js
+lib/thunderbird45/modules/commonjs/diffpatcher/test/index.js
+lib/thunderbird45/modules/commonjs/diffpatcher/test/patch.js
+lib/thunderbird45/modules/commonjs/diffpatcher/test/tap.js
+lib/thunderbird45/modules/commonjs/framescript/FrameScriptManager.jsm
+lib/thunderbird45/modules/commonjs/framescript/content.jsm
+lib/thunderbird45/modules/commonjs/framescript/context-menu.js
+lib/thunderbird45/modules/commonjs/framescript/manager.js
+lib/thunderbird45/modules/commonjs/framescript/util.js
+lib/thunderbird45/modules/commonjs/index.js
+lib/thunderbird45/modules/commonjs/jetpack-id/index.js
+lib/thunderbird45/modules/commonjs/method/core.js
+lib/thunderbird45/modules/commonjs/method/test/browser.js
+lib/thunderbird45/modules/commonjs/method/test/common.js
+lib/thunderbird45/modules/commonjs/mozilla-toolkit-versioning/index.js
+lib/thunderbird45/modules/commonjs/mozilla-toolkit-versioning/lib/utils.js
+lib/thunderbird45/modules/commonjs/node/os.js
+lib/thunderbird45/modules/commonjs/sdk/addon/bootstrap.js
+lib/thunderbird45/modules/commonjs/sdk/addon/events.js
+lib/thunderbird45/modules/commonjs/sdk/addon/host.js
+lib/thunderbird45/modules/commonjs/sdk/addon/installer.js
+lib/thunderbird45/modules/commonjs/sdk/addon/manager.js
+lib/thunderbird45/modules/commonjs/sdk/addon/runner.js
+lib/thunderbird45/modules/commonjs/sdk/addon/window.js
+lib/thunderbird45/modules/commonjs/sdk/base64.js
+lib/thunderbird45/modules/commonjs/sdk/browser/events.js
+lib/thunderbird45/modules/commonjs/sdk/clipboard.js
+lib/thunderbird45/modules/commonjs/sdk/console/plain-text.js
+lib/thunderbird45/modules/commonjs/sdk/console/traceback.js
+lib/thunderbird45/modules/commonjs/sdk/content/content-worker.js
+lib/thunderbird45/modules/commonjs/sdk/content/content.js
+lib/thunderbird45/modules/commonjs/sdk/content/context-menu.js
+lib/thunderbird45/modules/commonjs/sdk/content/events.js
+lib/thunderbird45/modules/commonjs/sdk/content/l10n-html.js
+lib/thunderbird45/modules/commonjs/sdk/content/loader.js
+lib/thunderbird45/modules/commonjs/sdk/content/mod.js
+lib/thunderbird45/modules/commonjs/sdk/content/page-mod.js
+lib/thunderbird45/modules/commonjs/sdk/content/page-worker.js
+lib/thunderbird45/modules/commonjs/sdk/content/sandbox.js
+lib/thunderbird45/modules/commonjs/sdk/content/sandbox/events.js
+lib/thunderbird45/modules/commonjs/sdk/content/tab-events.js
+lib/thunderbird45/modules/commonjs/sdk/content/thumbnail.js
+lib/thunderbird45/modules/commonjs/sdk/content/utils.js
+lib/thunderbird45/modules/commonjs/sdk/content/worker-child.js
+lib/thunderbird45/modules/commonjs/sdk/content/worker.js
+lib/thunderbird45/modules/commonjs/sdk/context-menu.js
+lib/thunderbird45/modules/commonjs/sdk/context-menu/context.js
+lib/thunderbird45/modules/commonjs/sdk/context-menu/core.js
+lib/thunderbird45/modules/commonjs/sdk/context-menu/readers.js
+lib/thunderbird45/modules/commonjs/sdk/context-menu%2.js@localhost
+lib/thunderbird45/modules/commonjs/sdk/core/disposable.js
+lib/thunderbird45/modules/commonjs/sdk/core/heritage.js
+lib/thunderbird45/modules/commonjs/sdk/core/namespace.js
+lib/thunderbird45/modules/commonjs/sdk/core/observer.js
+lib/thunderbird45/modules/commonjs/sdk/core/promise.js
+lib/thunderbird45/modules/commonjs/sdk/core/reference.js
+lib/thunderbird45/modules/commonjs/sdk/deprecated/api-utils.js
+lib/thunderbird45/modules/commonjs/sdk/deprecated/events/assembler.js
+lib/thunderbird45/modules/commonjs/sdk/deprecated/sync-worker.js
+lib/thunderbird45/modules/commonjs/sdk/deprecated/unit-test-finder.js
+lib/thunderbird45/modules/commonjs/sdk/deprecated/unit-test.js
+lib/thunderbird45/modules/commonjs/sdk/deprecated/window-utils.js
+lib/thunderbird45/modules/commonjs/sdk/dom/events-shimmed.js
+lib/thunderbird45/modules/commonjs/sdk/dom/events.js
+lib/thunderbird45/modules/commonjs/sdk/dom/events/keys.js
+lib/thunderbird45/modules/commonjs/sdk/event/chrome.js
+lib/thunderbird45/modules/commonjs/sdk/event/core.js
+lib/thunderbird45/modules/commonjs/sdk/event/dom.js
+lib/thunderbird45/modules/commonjs/sdk/event/target.js
+lib/thunderbird45/modules/commonjs/sdk/event/utils.js
+lib/thunderbird45/modules/commonjs/sdk/frame/hidden-frame.js
+lib/thunderbird45/modules/commonjs/sdk/frame/utils.js
+lib/thunderbird45/modules/commonjs/sdk/fs/path.js
+lib/thunderbird45/modules/commonjs/sdk/hotkeys.js
+lib/thunderbird45/modules/commonjs/sdk/indexed-db.js
+lib/thunderbird45/modules/commonjs/sdk/input/browser.js
+lib/thunderbird45/modules/commonjs/sdk/input/customizable-ui.js
+lib/thunderbird45/modules/commonjs/sdk/input/frame.js
+lib/thunderbird45/modules/commonjs/sdk/input/system.js
+lib/thunderbird45/modules/commonjs/sdk/io/buffer.js
+lib/thunderbird45/modules/commonjs/sdk/io/byte-streams.js
+lib/thunderbird45/modules/commonjs/sdk/io/file.js
+lib/thunderbird45/modules/commonjs/sdk/io/fs.js
+lib/thunderbird45/modules/commonjs/sdk/io/stream.js
+lib/thunderbird45/modules/commonjs/sdk/io/text-streams.js
+lib/thunderbird45/modules/commonjs/sdk/keyboard/hotkeys.js
+lib/thunderbird45/modules/commonjs/sdk/keyboard/observer.js
+lib/thunderbird45/modules/commonjs/sdk/keyboard/utils.js
+lib/thunderbird45/modules/commonjs/sdk/l10n.js
+lib/thunderbird45/modules/commonjs/sdk/l10n/core.js
+lib/thunderbird45/modules/commonjs/sdk/l10n/html.js
+lib/thunderbird45/modules/commonjs/sdk/l10n/json/core.js
+lib/thunderbird45/modules/commonjs/sdk/l10n/loader.js
+lib/thunderbird45/modules/commonjs/sdk/l10n/locale.js
+lib/thunderbird45/modules/commonjs/sdk/l10n/plural-rules.js
+lib/thunderbird45/modules/commonjs/sdk/l10n/prefs.js
+lib/thunderbird45/modules/commonjs/sdk/l10n/properties/core.js
+lib/thunderbird45/modules/commonjs/sdk/lang/functional.js
+lib/thunderbird45/modules/commonjs/sdk/lang/functional/concurrent.js
+lib/thunderbird45/modules/commonjs/sdk/lang/functional/core.js
+lib/thunderbird45/modules/commonjs/sdk/lang/functional/helpers.js
+lib/thunderbird45/modules/commonjs/sdk/lang/type.js
+lib/thunderbird45/modules/commonjs/sdk/lang/weak-set.js
+lib/thunderbird45/modules/commonjs/sdk/loader/cuddlefish.js
+lib/thunderbird45/modules/commonjs/sdk/loader/sandbox.js
+lib/thunderbird45/modules/commonjs/sdk/messaging.js
+lib/thunderbird45/modules/commonjs/sdk/model/core.js
+lib/thunderbird45/modules/commonjs/sdk/net/url.js
+lib/thunderbird45/modules/commonjs/sdk/net/xhr.js
+lib/thunderbird45/modules/commonjs/sdk/notifications.js
+lib/thunderbird45/modules/commonjs/sdk/output/system.js
+lib/thunderbird45/modules/commonjs/sdk/page-mod.js
+lib/thunderbird45/modules/commonjs/sdk/page-mod/match-pattern.js
+lib/thunderbird45/modules/commonjs/sdk/page-worker.js
+lib/thunderbird45/modules/commonjs/sdk/panel.js
+lib/thunderbird45/modules/commonjs/sdk/panel/events.js
+lib/thunderbird45/modules/commonjs/sdk/panel/utils.js
+lib/thunderbird45/modules/commonjs/sdk/passwords.js
+lib/thunderbird45/modules/commonjs/sdk/passwords/utils.js
+lib/thunderbird45/modules/commonjs/sdk/places/bookmarks.js
+lib/thunderbird45/modules/commonjs/sdk/places/contract.js
+lib/thunderbird45/modules/commonjs/sdk/places/events.js
+lib/thunderbird45/modules/commonjs/sdk/places/favicon.js
+lib/thunderbird45/modules/commonjs/sdk/places/history.js
+lib/thunderbird45/modules/commonjs/sdk/places/host/host-bookmarks.js
+lib/thunderbird45/modules/commonjs/sdk/places/host/host-query.js
+lib/thunderbird45/modules/commonjs/sdk/places/host/host-tags.js
+lib/thunderbird45/modules/commonjs/sdk/places/utils.js
+lib/thunderbird45/modules/commonjs/sdk/platform/xpcom.js
+lib/thunderbird45/modules/commonjs/sdk/preferences/event-target.js
+lib/thunderbird45/modules/commonjs/sdk/preferences/native-options.js
+lib/thunderbird45/modules/commonjs/sdk/preferences/service.js
+lib/thunderbird45/modules/commonjs/sdk/preferences/utils.js
+lib/thunderbird45/modules/commonjs/sdk/private-browsing.js
+lib/thunderbird45/modules/commonjs/sdk/private-browsing/utils.js
+lib/thunderbird45/modules/commonjs/sdk/querystring.js
+lib/thunderbird45/modules/commonjs/sdk/remote/child.js
+lib/thunderbird45/modules/commonjs/sdk/remote/core.js
+lib/thunderbird45/modules/commonjs/sdk/remote/parent.js
+lib/thunderbird45/modules/commonjs/sdk/remote/utils.js
+lib/thunderbird45/modules/commonjs/sdk/request.js
+lib/thunderbird45/modules/commonjs/sdk/selection.js
+lib/thunderbird45/modules/commonjs/sdk/self.js
+lib/thunderbird45/modules/commonjs/sdk/simple-prefs.js
+lib/thunderbird45/modules/commonjs/sdk/simple-storage.js
+lib/thunderbird45/modules/commonjs/sdk/stylesheet/style.js
+lib/thunderbird45/modules/commonjs/sdk/stylesheet/utils.js
+lib/thunderbird45/modules/commonjs/sdk/system.js
+lib/thunderbird45/modules/commonjs/sdk/system/child_process.js
+lib/thunderbird45/modules/commonjs/sdk/system/child_process/subprocess.js
+lib/thunderbird45/modules/commonjs/sdk/system/child_process/subprocess_worker_unix.js
+lib/thunderbird45/modules/commonjs/sdk/system/child_process/subprocess_worker_win.js
+lib/thunderbird45/modules/commonjs/sdk/system/environment.js
+lib/thunderbird45/modules/commonjs/sdk/system/events-shimmed.js
+lib/thunderbird45/modules/commonjs/sdk/system/events.js
+lib/thunderbird45/modules/commonjs/sdk/system/globals.js
+lib/thunderbird45/modules/commonjs/sdk/system/process.js
+lib/thunderbird45/modules/commonjs/sdk/system/runtime.js
+lib/thunderbird45/modules/commonjs/sdk/system/unload.js
+lib/thunderbird45/modules/commonjs/sdk/system/xul-app.js
+lib/thunderbird45/modules/commonjs/sdk/system/xul-app.jsm
+lib/thunderbird45/modules/commonjs/sdk/tab/events.js
+lib/thunderbird45/modules/commonjs/sdk/tabs.js
+lib/thunderbird45/modules/commonjs/sdk/tabs/common.js
+lib/thunderbird45/modules/commonjs/sdk/tabs/events.js
+lib/thunderbird45/modules/commonjs/sdk/tabs/helpers.js
+lib/thunderbird45/modules/commonjs/sdk/tabs/namespace.js
+lib/thunderbird45/modules/commonjs/sdk/tabs/observer.js
+lib/thunderbird45/modules/commonjs/sdk/tabs/tab-fennec.js
+lib/thunderbird45/modules/commonjs/sdk/tabs/tab-firefox.js
+lib/thunderbird45/modules/commonjs/sdk/tabs/tab.js
+lib/thunderbird45/modules/commonjs/sdk/tabs/tabs-firefox.js
+lib/thunderbird45/modules/commonjs/sdk/tabs/utils.js
+lib/thunderbird45/modules/commonjs/sdk/tabs/worker.js
+lib/thunderbird45/modules/commonjs/sdk/test.js
+lib/thunderbird45/modules/commonjs/sdk/test/assert.js
+lib/thunderbird45/modules/commonjs/sdk/test/harness.js
+lib/thunderbird45/modules/commonjs/sdk/test/httpd.js
+lib/thunderbird45/modules/commonjs/sdk/test/loader.js
+lib/thunderbird45/modules/commonjs/sdk/test/memory.js
+lib/thunderbird45/modules/commonjs/sdk/test/options.js
+lib/thunderbird45/modules/commonjs/sdk/test/runner.js
+lib/thunderbird45/modules/commonjs/sdk/test/utils.js
+lib/thunderbird45/modules/commonjs/sdk/timers.js
+lib/thunderbird45/modules/commonjs/sdk/ui.js
+lib/thunderbird45/modules/commonjs/sdk/ui/button/action.js
+lib/thunderbird45/modules/commonjs/sdk/ui/button/contract.js
+lib/thunderbird45/modules/commonjs/sdk/ui/button/toggle.js
+lib/thunderbird45/modules/commonjs/sdk/ui/button/view.js
+lib/thunderbird45/modules/commonjs/sdk/ui/button/view/events.js
+lib/thunderbird45/modules/commonjs/sdk/ui/component.js
+lib/thunderbird45/modules/commonjs/sdk/ui/frame.js
+lib/thunderbird45/modules/commonjs/sdk/ui/frame/model.js
+lib/thunderbird45/modules/commonjs/sdk/ui/frame/view.html
+lib/thunderbird45/modules/commonjs/sdk/ui/frame/view.js
+lib/thunderbird45/modules/commonjs/sdk/ui/id.js
+lib/thunderbird45/modules/commonjs/sdk/ui/sidebar.js
+lib/thunderbird45/modules/commonjs/sdk/ui/sidebar/actions.js
+lib/thunderbird45/modules/commonjs/sdk/ui/sidebar/contract.js
+lib/thunderbird45/modules/commonjs/sdk/ui/sidebar/namespace.js
+lib/thunderbird45/modules/commonjs/sdk/ui/sidebar/utils.js
+lib/thunderbird45/modules/commonjs/sdk/ui/sidebar/view.js
+lib/thunderbird45/modules/commonjs/sdk/ui/state.js
+lib/thunderbird45/modules/commonjs/sdk/ui/state/events.js
+lib/thunderbird45/modules/commonjs/sdk/ui/toolbar.js
+lib/thunderbird45/modules/commonjs/sdk/ui/toolbar/model.js
+lib/thunderbird45/modules/commonjs/sdk/ui/toolbar/view.js
+lib/thunderbird45/modules/commonjs/sdk/uri/resource.js
+lib/thunderbird45/modules/commonjs/sdk/url.js
+lib/thunderbird45/modules/commonjs/sdk/url/utils.js
+lib/thunderbird45/modules/commonjs/sdk/util/array.js
+lib/thunderbird45/modules/commonjs/sdk/util/collection.js
+lib/thunderbird45/modules/commonjs/sdk/util/contract.js
+lib/thunderbird45/modules/commonjs/sdk/util/deprecate.js
+lib/thunderbird45/modules/commonjs/sdk/util/dispatcher.js
+lib/thunderbird45/modules/commonjs/sdk/util/list.js
+lib/thunderbird45/modules/commonjs/sdk/util/match-pattern.js
+lib/thunderbird45/modules/commonjs/sdk/util/object.js
+lib/thunderbird45/modules/commonjs/sdk/util/rules.js
+lib/thunderbird45/modules/commonjs/sdk/util/sequence.js
+lib/thunderbird45/modules/commonjs/sdk/util/uuid.js
+lib/thunderbird45/modules/commonjs/sdk/view/core.js
+lib/thunderbird45/modules/commonjs/sdk/window/browser.js
+lib/thunderbird45/modules/commonjs/sdk/window/events.js
+lib/thunderbird45/modules/commonjs/sdk/window/helpers.js
+lib/thunderbird45/modules/commonjs/sdk/window/namespace.js
+lib/thunderbird45/modules/commonjs/sdk/window/utils.js
+lib/thunderbird45/modules/commonjs/sdk/windows.js
+lib/thunderbird45/modules/commonjs/sdk/windows/fennec.js
+lib/thunderbird45/modules/commonjs/sdk/windows/firefox.js
+lib/thunderbird45/modules/commonjs/sdk/windows/observer.js
+lib/thunderbird45/modules/commonjs/sdk/windows/tabs-fennec.js
+lib/thunderbird45/modules/commonjs/sdk/worker/utils.js
+lib/thunderbird45/modules/commonjs/sdk/zip/utils.js
+lib/thunderbird45/modules/commonjs/test.js
+lib/thunderbird45/modules/commonjs/toolkit/loader.js
+lib/thunderbird45/modules/commonjs/toolkit/require.js
+lib/thunderbird45/modules/ctypes.jsm
+lib/thunderbird45/modules/dbViewWrapper.js
+lib/thunderbird45/modules/debug.js
+lib/thunderbird45/modules/devtools/Console.jsm
+lib/thunderbird45/modules/devtools/Loader.jsm
+lib/thunderbird45/modules/devtools/Simulator.jsm
+lib/thunderbird45/modules/devtools/dbg-client.jsm
+lib/thunderbird45/modules/devtools/dbg-server.jsm
+lib/thunderbird45/modules/devtools/event-emitter.js
+lib/thunderbird45/modules/devtools/shared/Console.jsm
+lib/thunderbird45/modules/devtools/shared/Loader.jsm
+lib/thunderbird45/modules/devtools/shared/apps/Simulator.jsm
+lib/thunderbird45/modules/displayNameUtils.js
+lib/thunderbird45/modules/distribution.js
+lib/thunderbird45/modules/editorUtilities.jsm
+lib/thunderbird45/modules/errUtils.js
+lib/thunderbird45/modules/extraMimeParsers.jsm
+lib/thunderbird45/modules/folderUtils.jsm
+lib/thunderbird45/modules/gloda/collection.js
+lib/thunderbird45/modules/gloda/connotent.js
+lib/thunderbird45/modules/gloda/databind.js
+lib/thunderbird45/modules/gloda/datamodel.js
+lib/thunderbird45/modules/gloda/datastore.js
+lib/thunderbird45/modules/gloda/dbview.js
+lib/thunderbird45/modules/gloda/everybody.js
+lib/thunderbird45/modules/gloda/explattr.js
+lib/thunderbird45/modules/gloda/facet.js
+lib/thunderbird45/modules/gloda/fundattr.js
+lib/thunderbird45/modules/gloda/gloda.js
+lib/thunderbird45/modules/gloda/index_ab.js
+lib/thunderbird45/modules/gloda/index_msg.js
+lib/thunderbird45/modules/gloda/indexer.js
+lib/thunderbird45/modules/gloda/log4moz.js
+lib/thunderbird45/modules/gloda/mimeTypeCategories.js
+lib/thunderbird45/modules/gloda/mimemsg.js
+lib/thunderbird45/modules/gloda/msg_search.js
+lib/thunderbird45/modules/gloda/noun_freetag.js
+lib/thunderbird45/modules/gloda/noun_mimetype.js
+lib/thunderbird45/modules/gloda/noun_tag.js
+lib/thunderbird45/modules/gloda/public.js
+lib/thunderbird45/modules/gloda/query.js
+lib/thunderbird45/modules/gloda/suffixtree.js
+lib/thunderbird45/modules/gloda/utils.js
+lib/thunderbird45/modules/hiddenWindow.jsm
+lib/thunderbird45/modules/hostnameUtils.jsm
+lib/thunderbird45/modules/identity/FirefoxAccounts.jsm
+lib/thunderbird45/modules/identity/Identity.jsm
+lib/thunderbird45/modules/identity/IdentityProvider.jsm
+lib/thunderbird45/modules/identity/IdentityStore.jsm
+lib/thunderbird45/modules/identity/IdentityUtils.jsm
+lib/thunderbird45/modules/identity/LogUtils.jsm
+lib/thunderbird45/modules/identity/MinimalIdentity.jsm
+lib/thunderbird45/modules/identity/RelyingParty.jsm
+lib/thunderbird45/modules/identity/Sandbox.jsm
+lib/thunderbird45/modules/identity/jwcrypto.jsm
+lib/thunderbird45/modules/imContentSink.jsm
+lib/thunderbird45/modules/imServices.jsm
+lib/thunderbird45/modules/imSmileys.jsm
+lib/thunderbird45/modules/imStatusUtils.jsm
+lib/thunderbird45/modules/imTextboxUtils.jsm
+lib/thunderbird45/modules/imThemes.jsm
+lib/thunderbird45/modules/imXPCOMUtils.jsm
+lib/thunderbird45/modules/index_im.js
+lib/thunderbird45/modules/ircBase.jsm
+lib/thunderbird45/modules/ircCAP.jsm
+lib/thunderbird45/modules/ircCTCP.jsm
+lib/thunderbird45/modules/ircCommands.jsm
+lib/thunderbird45/modules/ircDCC.jsm
+lib/thunderbird45/modules/ircHandlers.jsm
+lib/thunderbird45/modules/ircISUPPORT.jsm
+lib/thunderbird45/modules/ircMultiPrefix.jsm
+lib/thunderbird45/modules/ircNonStandard.jsm
+lib/thunderbird45/modules/ircSASL.jsm
+lib/thunderbird45/modules/ircServices.jsm
+lib/thunderbird45/modules/ircUtils.jsm
+lib/thunderbird45/modules/ircWatchMonitor.jsm
+lib/thunderbird45/modules/iteratorUtils.jsm
+lib/thunderbird45/modules/jsProtoHelper.jsm
+lib/thunderbird45/modules/jsTreeSelection.js
+lib/thunderbird45/modules/jsdebugger.jsm
+lib/thunderbird45/modules/jsmime.jsm
+lib/thunderbird45/modules/jsmime/jsmime.js
+lib/thunderbird45/modules/lz4.js
+lib/thunderbird45/modules/lz4_internal.js
+lib/thunderbird45/modules/mailInstrumentation.js
+lib/thunderbird45/modules/mailMigrator.js
+lib/thunderbird45/modules/mailServices.js
+lib/thunderbird45/modules/mailViewManager.js
+lib/thunderbird45/modules/mailnewsMigrator.js
+lib/thunderbird45/modules/mcc_iso3166_table.jsm
+lib/thunderbird45/modules/media/IdpSandbox.jsm
+lib/thunderbird45/modules/media/PeerConnectionIdp.jsm
+lib/thunderbird45/modules/media/RTCStatsReport.jsm
+lib/thunderbird45/modules/mimeParser.jsm
+lib/thunderbird45/modules/msgDBCacheManager.js
+lib/thunderbird45/modules/nsFormAutoCompleteResult.jsm
+lib/thunderbird45/modules/oauth.jsm
+lib/thunderbird45/modules/osfile.jsm
+lib/thunderbird45/modules/osfile/osfile_async_front.jsm
+lib/thunderbird45/modules/osfile/osfile_async_worker.js
+lib/thunderbird45/modules/osfile/osfile_native.jsm
+lib/thunderbird45/modules/osfile/osfile_shared_allthreads.jsm
+lib/thunderbird45/modules/osfile/osfile_shared_front.jsm
+lib/thunderbird45/modules/osfile/osfile_unix_allthreads.jsm
+lib/thunderbird45/modules/osfile/osfile_unix_back.jsm
+lib/thunderbird45/modules/osfile/osfile_unix_front.jsm
+lib/thunderbird45/modules/osfile/osfile_win_allthreads.jsm
+lib/thunderbird45/modules/osfile/osfile_win_back.jsm
+lib/thunderbird45/modules/osfile/osfile_win_front.jsm
+lib/thunderbird45/modules/osfile/ospath.jsm
+lib/thunderbird45/modules/osfile/ospath_unix.jsm
+lib/thunderbird45/modules/osfile/ospath_win.jsm
+lib/thunderbird45/modules/quickFilterManager.js
+lib/thunderbird45/modules/reader/JSDOMParser.js
+lib/thunderbird45/modules/reader/Readability.js
+lib/thunderbird45/modules/reader/ReaderWorker.js
+lib/thunderbird45/modules/reader/ReaderWorker.jsm
+lib/thunderbird45/modules/reflect.jsm
+lib/thunderbird45/modules/sdk/bootstrap.js
+lib/thunderbird45/modules/sdk/system/Startup.js
+lib/thunderbird45/modules/searchSpec.js
+lib/thunderbird45/modules/search_im.js
+lib/thunderbird45/modules/services-common/async.js
+lib/thunderbird45/modules/services-common/hawkclient.js
+lib/thunderbird45/modules/services-common/hawkrequest.js
+lib/thunderbird45/modules/services-common/logmanager.js
+lib/thunderbird45/modules/services-common/moz-kinto-client.js
+lib/thunderbird45/modules/services-common/observers.js
+lib/thunderbird45/modules/services-common/rest.js
+lib/thunderbird45/modules/services-common/stringbundle.js
+lib/thunderbird45/modules/services-common/tokenserverclient.js
+lib/thunderbird45/modules/services-common/utils.js
+lib/thunderbird45/modules/services-crypto/WeaveCrypto.js
+lib/thunderbird45/modules/services-crypto/utils.js
+lib/thunderbird45/modules/sessionStoreManager.js
+lib/thunderbird45/modules/socket.jsm
+lib/thunderbird45/modules/sqlite/sqlite_internal.js
+lib/thunderbird45/modules/summaryFrameManager.js
+lib/thunderbird45/modules/templateUtils.js
+lib/thunderbird45/modules/traceHelper.js
+lib/thunderbird45/modules/twitter-text.jsm
+lib/thunderbird45/modules/virtualFolderWrapper.js
+lib/thunderbird45/modules/vtt.jsm
+lib/thunderbird45/modules/windowsJumpLists.js
+lib/thunderbird45/modules/workers/PromiseWorker.js
+lib/thunderbird45/modules/workers/require.js
+lib/thunderbird45/modules/xmpp-authmechs.jsm
+lib/thunderbird45/modules/xmpp-commands.jsm
+lib/thunderbird45/modules/xmpp-session.jsm
+lib/thunderbird45/modules/xmpp-xml.jsm
+lib/thunderbird45/modules/xmpp.jsm
+lib/thunderbird45/modules/yahoo-session.jsm
+lib/thunderbird45/platform.ini
+lib/thunderbird45/plugin-container
+lib/thunderbird45/removed-files
+lib/thunderbird45/res/EditorOverride.css
+lib/thunderbird45/res/contenteditable.css
+lib/thunderbird45/res/designmode.css
+lib/thunderbird45/res/dtd/htmlmathml-f.ent
+lib/thunderbird45/res/entityTables/html40Latin1.properties
+lib/thunderbird45/res/entityTables/html40Special.properties
+lib/thunderbird45/res/entityTables/html40Symbols.properties
+lib/thunderbird45/res/entityTables/mathml20.properties
+lib/thunderbird45/res/fonts/mathfont.properties
+lib/thunderbird45/res/fonts/mathfontSTIXGeneral.properties
+lib/thunderbird45/res/fonts/mathfontUnicode.properties
+lib/thunderbird45/res/grabber.gif
+lib/thunderbird45/res/html/folder.png
+lib/thunderbird45/res/langGroups.properties
+lib/thunderbird45/res/language.properties
+lib/thunderbird45/res/svg.css
+lib/thunderbird45/res/table-add-column-after-active.gif
+lib/thunderbird45/res/table-add-column-after-hover.gif
+lib/thunderbird45/res/table-add-column-after.gif
+lib/thunderbird45/res/table-add-column-before-active.gif
+lib/thunderbird45/res/table-add-column-before-hover.gif
+lib/thunderbird45/res/table-add-column-before.gif
+lib/thunderbird45/res/table-add-row-after-active.gif
+lib/thunderbird45/res/table-add-row-after-hover.gif
+lib/thunderbird45/res/table-add-row-after.gif
+lib/thunderbird45/res/table-add-row-before-active.gif
+lib/thunderbird45/res/table-add-row-before-hover.gif
+lib/thunderbird45/res/table-add-row-before.gif
+lib/thunderbird45/res/table-remove-column-active.gif
+lib/thunderbird45/res/table-remove-column-hover.gif
+lib/thunderbird45/res/table-remove-column.gif
+lib/thunderbird45/res/table-remove-row-active.gif
+lib/thunderbird45/res/table-remove-row-hover.gif
+lib/thunderbird45/res/table-remove-row.gif
+lib/thunderbird45/res/text_caret.png
+lib/thunderbird45/res/text_caret%1.5x.png@localhost
+lib/thunderbird45/res/text_caret%2.25x.png@localhost
+lib/thunderbird45/res/text_caret%2x.png@localhost
+lib/thunderbird45/res/text_caret_tilt_left.png
+lib/thunderbird45/res/text_caret_tilt_left%1.5x.png@localhost
+lib/thunderbird45/res/text_caret_tilt_left%2.25x.png@localhost
+lib/thunderbird45/res/text_caret_tilt_left%2x.png@localhost
+lib/thunderbird45/res/text_caret_tilt_right.png
+lib/thunderbird45/res/text_caret_tilt_right%1.5x.png@localhost
+lib/thunderbird45/res/text_caret_tilt_right%2.25x.png@localhost
+lib/thunderbird45/res/text_caret_tilt_right%2x.png@localhost
+lib/thunderbird45/run-mozilla.sh
+lib/thunderbird45/thunderbird
+lib/thunderbird45/thunderbird-bin
+share/applications/thunderbird45.desktop
+share/pixmaps/thunderbird45.png
Index: pkgsrc/mail/thunderbird45/PLIST.lightning
diff -u /dev/null pkgsrc/mail/thunderbird45/PLIST.lightning:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/PLIST.lightning   Thu Apr 27 13:38:18 2017
@@ -0,0 +1,850 @@
+@comment $NetBSD: PLIST.lightning,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/app.ini
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calAlarm.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calAlarmMonitor.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calAlarmService.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calAttachment.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calAttendee.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calCachedCalendar.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calCalendarManager.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calCalendarSearchService.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calDateTime.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calDateTimeFormatter.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calDavRequestHandlers.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calDeletedItems.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calDuration.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calEvent.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calFilter.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calFreeBusyService.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calHtmlExport.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calICSService-worker.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calICSService.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calIcsImportExport.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calIcsParser.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calIcsSerializer.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calItemBase.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calItipItem.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calListFormatter.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calMonthGridPrinter.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calOutlookCSVImportExport.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calPeriod.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calProtocolHandler.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calRecurrenceDate.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calRecurrenceInfo.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calRecurrenceRule.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calRelation.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calStartupService.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calTimezone.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calTodo.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calTransactionManager.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calUtils.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calWcapCalendar.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calWcapCalendarItems.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calWcapErrors.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calWcapRequest.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calWcapSession.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calWcapUtils.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calWeekInfoService.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calWeekPrinter.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome.manifest
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar-alarms.properties
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar-event-dialog-attendees.properties
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar-event-dialog.dtd
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar-event-dialog.properties
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar-extract.properties
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar-invitations-dialog.dtd
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar-occurrence-prompt.dtd
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar-occurrence-prompt.properties
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar-subscriptions-dialog.dtd
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar.dtd
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar.properties
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendarCreation.dtd
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendarCreation.properties
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/categories.properties
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/dateFormat.properties
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/dialogs/calendar-event-dialog-reminder.dtd
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/global.dtd
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/menuOverlay.dtd
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/migration.dtd
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/migration.properties
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/preferences/alarms.dtd
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/preferences/categories.dtd
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/preferences/general.dtd
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/preferences/preferences.dtd
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/preferences/views.dtd
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/provider-uninstall.dtd
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/timezones.properties
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/wcap.properties
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/WindowsNTToZoneInfoTZId.properties
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/agenda-listbox.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/agenda-listbox.xml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calApplicationUtils.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calFilter.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calUtils.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-alarm-dialog.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-alarm-dialog.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-base-view.xml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-bindings.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-calendars-list.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-chrome-startup.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-clipboard.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-common-sets.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-common-sets.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-conflicts-dialog.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-creation.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-daypicker.xml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-dialog-utils.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-dnd-listener.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-error-prompt.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-attendees.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-attendees.xml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-attendees.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-freebusy.xml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-recurrence-preview.xml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-recurrence.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-recurrence.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-reminder.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-reminder.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-timezone.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-timezone.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-extract.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-invitations-dialog.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-invitations-dialog.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-invitations-dialog.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-invitations-list.xml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-invitations-manager.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-item-bindings.xml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-item-editing.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-management.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-menus.xml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-migration-dialog.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-migration-dialog.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-month-view.xml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-multiday-view.xml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-occurrence-prompt.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-print-dialog.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-print-dialog.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-properties-dialog.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-properties-dialog.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-providerUninstall-dialog.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-providerUninstall-dialog.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-statusbar.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-subscriptions-dialog.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-subscriptions-dialog.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-subscriptions-dialog.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-subscriptions-list.xml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-summary-dialog.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-summary-dialog.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-task-editing.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-task-tree.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-task-tree.xml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-task-view.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-task-view.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-ui-utils.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-unifinder-todo.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-unifinder-todo.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-unifinder.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-unifinder.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-view-bindings.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-view-core.xml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-views.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-views.xml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-views.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendarCreation.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendarCreation.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/chooseCalendarDialog.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/datetimepickers/datetimepickers.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/datetimepickers/datetimepickers.xml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/import-export.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/mouseoverPreviews.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/preferences/alarms.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/preferences/alarms.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/preferences/categories.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/preferences/categories.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/preferences/editCategory.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/preferences/editCategory.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/preferences/general.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/preferences/general.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/preferences/views.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/preferences/views.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/publish.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/publishDialog.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/publishDialog.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/sound.wav
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/today-pane.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/today-pane.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/widgets/calendar-alarm-widget.xml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/widgets/calendar-list-tree.xml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/widgets/calendar-widget-bindings.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/widgets/calendar-widgets.xml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/widgets/minimonth.xml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/icons/default/calendar-alarm-dialog.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/icons/default/calendar-event-dialog.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/icons/default/calendar-event-summary-dialog.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/icons/default/calendar-task-dialog.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/icons/default/calendar-task-summary-dialog.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning-en-US/locale/en-US/lightning/lightning-toolbar.dtd
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning-en-US/locale/en-US/lightning/lightning.dtd
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning-en-US/locale/en-US/lightning/lightning.properties
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/imip-bar-overlay.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/imip-bar.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-calendar-creation.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-calendar-creation.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-calendar-properties.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-calendar-properties.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-invitation.xhtml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-menus.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-migration.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-standalone.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-toolbar.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-utils.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-widgets.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-widgets.xml
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/messenger-overlay-accountCentral.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/messenger-overlay-messageWindow.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/messenger-overlay-preferences.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/messenger-overlay-preferences.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/messenger-overlay-sidebar.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/messenger-overlay-sidebar.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/suite-overlay-addons.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/suite-overlay-preferences.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/suite-overlay-sidebar.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/suite-overlay-sidebar.xul
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/alarm-flashing.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/alarm-icons.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/attendee-icons.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-alarms.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-attendees.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-creation-wizard.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-daypicker.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-event-dialog.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-itip-icons.svg
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-management.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-occurrence-prompt.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-overlay.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-printing.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-properties-dialog.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-providerUninstall-dialog.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-status.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-subscriptions-dialog.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-task-tree.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-task-view.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-timezone-highlighter.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-toolbar.svg
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-unifinder.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-views.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/classification.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/day-box-item-image.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/dialogs/calendar-alarm-dialog.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/dialogs/calendar-event-dialog.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/event-grippy-bottom.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/event-grippy-left.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/event-grippy-right.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/event-grippy-top.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/printing/calHtmlExport.html
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/printing/calMonthGridPrinter.html
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/printing/calWeekPrinter.html
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/task-images.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/timezone_map.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/timezones.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/today-pane.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/widgets/calendar-widgets.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/widgets/drag-center.svg
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/widgets/minimonth.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/widgets/nav-arrow.svg
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/widgets/nav-today-hov.svg
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/widgets/nav-today.svg
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/widgets/view-navigation-hov.svg
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/widgets/view-navigation.svg
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/lightning-common/datetimepickers.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/lightning-common/dialogOverlay.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/lightning-common/imip.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/lightning-common/lightning.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/lightning-common/mode-switch-icons.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/lightning-common/suite-accountCentral.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/cal-icon24.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/cal-icon32.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-alarm-dialog.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-daypicker.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-event-dialog-attendees.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-event-dialog.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-invitations-dialog-button-images.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-invitations-dialog-list-images.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-invitations-dialog.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-management.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-occurrence-prompt.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-task-tree.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-task-view.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-unifinder.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-views.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/checkbox-images.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/ok-cancel.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/today-pane.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/widgets/calendar-widgets.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/lightning/accountCentral.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/lightning/imip.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/lightning/imip.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/lightning/lightning-toolbar.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/lightning/lightning-widgets.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/lightning/lightning.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/cal-icon24.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/cal-icon32.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-alarm-dialog.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-daypicker.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-event-dialog-attendees.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-event-dialog.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-invitations-dialog-button-images.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-invitations-dialog-list-images.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-invitations-dialog.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-management.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-occurrence-prompt.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-task-tree.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-task-view.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-unifinder.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-views.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/checkbox-images-graphite.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/checkbox-images.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/ok-cancel.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/sidebar-item.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/today-pane.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/widgets/calendar-widgets.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/lightning/accountCentral.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/lightning/imip.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/lightning/imip.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/lightning/lightning-toolbar.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/lightning/lightning-widgets.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/lightning/lightning.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/cal-icon24.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/cal-icon32.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-alarm-dialog.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-daypicker.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-event-dialog-attendees.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-event-dialog-toolbar-small.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-event-dialog-toolbar.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-event-dialog.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-invitations-dialog-button-images.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-invitations-dialog-list-images.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-invitations-dialog.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-management.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-occurrence-prompt-aero.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-occurrence-prompt.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-task-tree.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-task-view.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-unifinder.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-views.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/checkbox-images.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/ok-cancel.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/tasks-actions.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/today-pane.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/toolbar-large.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/toolbar-small.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/widgets/calendar-widgets.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/accountCentral.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/imip-aero.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/imip.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/imip.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/lightning-toolbar.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/lightning-widgets.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/lightning.css
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/mode-switch-icons-aero.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/mode-switch-icons-inverted.png
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calBackendLoader.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calCompositeCalendar.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calDavCalendar.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calDefaultACLManager.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calICALJSComponents.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calICSCalendar.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calImportExportModule.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calItemModule.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calItipEmailTransport.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calItipProtocolHandler.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calMemoryCalendar.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calSleepMonitor.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calStorageCalendar.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calTimezoneService.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calWcapCalendarModule.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/components.manifest
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/icaljs-manifest
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/interfaces.xpt
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/libcalbasecomps.so
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/libical-manifest
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/lightningTextCalendarConverter.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/defaults/preferences/lightning.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/install.rdf
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calAlarmUtils.jsm
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calAsyncUtils.jsm
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calAuthUtils.jsm
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calExtract.jsm
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calHashedArray.jsm
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calItemUtils.jsm
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calIteratorUtils.jsm
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calItipUtils.jsm
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calPrintUtils.jsm
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calProviderUtils.jsm
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calRecurrenceUtils.jsm
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calStorageHelpers.jsm
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calStorageUpgrade.jsm
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calUtils.jsm
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calViewUtils.jsm
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calXMLUtils.jsm
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/ical.js
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/ltnInvitationUtils.jsm
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/ltnUtils.jsm
+lib/thunderbird45/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/timezones/zones.json
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome.manifest
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider-en-US/locale/en-US/gdata.dtd
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider-en-US/locale/en-US/gdata.properties
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider/content/browserRequest.js
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider/content/browserRequest.xul
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider/content/gcal.png
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider/content/gdata-calendar-creation.js
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider/content/gdata-calendar-creation.xul
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider/content/gdata-calendar-event-dialog.js
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider/content/gdata-calendar-event-dialog.xul
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider/content/gdata-calendar-properties.js
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider/content/gdata-calendar-properties.xul
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider/content/gdata-event-dialog-reminder.js
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider/content/gdata-event-dialog-reminder.xul
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider/content/gdata-list-tree.xml
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider/content/gdata-migration-overlay.xul
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider/content/gdata-migration-wizard.xul
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider/content/gdata-migration.js
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider/skin/browserRequest.css
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider/skin/gdata-bindings.css
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider/skin/gdata-event-dialog-reminder.css
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider/skin/reminder-action-sms.png
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/components/calGoogleCalendar.js
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/components/calGoogleCalendar.manifest
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/defaults/preferences/preferences.js
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/install.rdf
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/modules/OAuth2.jsm
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/modules/gdataLogging.jsm
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/modules/gdataRequest.jsm
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/modules/gdataSession.jsm
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/modules/gdataUtils.jsm
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/modules/shim/Calendar.jsm
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/modules/shim/Http.jsm
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/modules/shim/Loader.jsm
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/modules/shim/Preferences.jsm
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/modules/shim/Promise.jsm
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/modules/shim/PromiseExtras.jsm
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/modules/shim/PromiseUtils.jsm
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/modules/shim/Task.jsm
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/modules/shim/Timer.jsm
+lib/thunderbird45/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/modules/timezoneMap.jsm
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/app.ini
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calAlarm.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calAlarmMonitor.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calAlarmService.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calAttachment.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calAttendee.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calCachedCalendar.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calCalendarManager.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calCalendarSearchService.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calDateTime.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calDateTimeFormatter.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calDavRequestHandlers.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calDeletedItems.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calDuration.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calEvent.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calFilter.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calFreeBusyService.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calHtmlExport.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calICSService-worker.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calICSService.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calIcsImportExport.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calIcsParser.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calIcsSerializer.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calItemBase.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calItipItem.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calListFormatter.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calMonthGridPrinter.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calOutlookCSVImportExport.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calPeriod.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calProtocolHandler.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calRecurrenceDate.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calRecurrenceInfo.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calRecurrenceRule.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calRelation.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calStartupService.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calTimezone.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calTodo.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calTransactionManager.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calUtils.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calWcapCalendar.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calWcapCalendarItems.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calWcapErrors.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calWcapRequest.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calWcapSession.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calWcapUtils.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calWeekInfoService.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calWeekPrinter.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome.manifest
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar-alarms.properties
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar-event-dialog-attendees.properties
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar-event-dialog.dtd
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar-event-dialog.properties
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar-extract.properties
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar-invitations-dialog.dtd
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar-occurrence-prompt.dtd
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar-occurrence-prompt.properties
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar-subscriptions-dialog.dtd
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar.dtd
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendar.properties
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendarCreation.dtd
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/calendarCreation.properties
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/categories.properties
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/dateFormat.properties
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/dialogs/calendar-event-dialog-reminder.dtd
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/global.dtd
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/menuOverlay.dtd
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/migration.dtd
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/migration.properties
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/preferences/alarms.dtd
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/preferences/categories.dtd
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/preferences/general.dtd
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/preferences/preferences.dtd
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/preferences/views.dtd
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/provider-uninstall.dtd
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/timezones.properties
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US/locale/en-US/calendar/wcap.properties
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/WindowsNTToZoneInfoTZId.properties
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/agenda-listbox.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/agenda-listbox.xml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calApplicationUtils.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calFilter.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calUtils.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-alarm-dialog.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-alarm-dialog.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-base-view.xml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-bindings.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-calendars-list.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-chrome-startup.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-clipboard.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-common-sets.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-common-sets.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-conflicts-dialog.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-creation.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-daypicker.xml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-dialog-utils.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-dnd-listener.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-error-prompt.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-attendees.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-attendees.xml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-attendees.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-freebusy.xml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-recurrence-preview.xml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-recurrence.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-recurrence.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-reminder.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-reminder.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-timezone.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog-timezone.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-event-dialog.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-extract.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-invitations-dialog.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-invitations-dialog.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-invitations-dialog.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-invitations-list.xml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-invitations-manager.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-item-bindings.xml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-item-editing.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-management.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-menus.xml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-migration-dialog.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-migration-dialog.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-month-view.xml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-multiday-view.xml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-occurrence-prompt.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-print-dialog.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-print-dialog.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-properties-dialog.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-properties-dialog.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-providerUninstall-dialog.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-providerUninstall-dialog.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-statusbar.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-subscriptions-dialog.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-subscriptions-dialog.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-subscriptions-dialog.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-subscriptions-list.xml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-summary-dialog.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-summary-dialog.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-task-editing.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-task-tree.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-task-tree.xml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-task-view.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-task-view.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-ui-utils.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-unifinder-todo.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-unifinder-todo.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-unifinder.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-unifinder.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-view-bindings.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-view-core.xml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-views.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-views.xml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendar-views.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendarCreation.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/calendarCreation.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/chooseCalendarDialog.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/datetimepickers/datetimepickers.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/datetimepickers/datetimepickers.xml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/import-export.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/mouseoverPreviews.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/preferences/alarms.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/preferences/alarms.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/preferences/categories.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/preferences/categories.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/preferences/editCategory.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/preferences/editCategory.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/preferences/general.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/preferences/general.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/preferences/views.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/preferences/views.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/publish.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/publishDialog.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/publishDialog.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/sound.wav
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/today-pane.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/today-pane.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/widgets/calendar-alarm-widget.xml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/widgets/calendar-list-tree.xml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/widgets/calendar-widget-bindings.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/widgets/calendar-widgets.xml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/widgets/minimonth.xml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/icons/default/calendar-alarm-dialog.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/icons/default/calendar-event-dialog.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/icons/default/calendar-event-summary-dialog.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/icons/default/calendar-task-dialog.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/icons/default/calendar-task-summary-dialog.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning-en-US/locale/en-US/lightning/lightning-toolbar.dtd
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning-en-US/locale/en-US/lightning/lightning.dtd
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning-en-US/locale/en-US/lightning/lightning.properties
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/imip-bar-overlay.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/imip-bar.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-calendar-creation.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-calendar-creation.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-calendar-properties.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-calendar-properties.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-invitation.xhtml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-menus.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-migration.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-standalone.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-toolbar.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-utils.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-widgets.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/lightning-widgets.xml
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/messenger-overlay-accountCentral.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/messenger-overlay-messageWindow.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/messenger-overlay-preferences.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/messenger-overlay-preferences.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/messenger-overlay-sidebar.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/messenger-overlay-sidebar.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/suite-overlay-addons.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/suite-overlay-preferences.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/suite-overlay-sidebar.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/lightning/content/lightning/suite-overlay-sidebar.xul
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/alarm-flashing.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/alarm-icons.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/attendee-icons.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-alarms.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-attendees.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-creation-wizard.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-daypicker.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-event-dialog.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-itip-icons.svg
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-management.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-occurrence-prompt.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-overlay.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-printing.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-properties-dialog.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-providerUninstall-dialog.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-status.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-subscriptions-dialog.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-task-tree.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-task-view.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-timezone-highlighter.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-toolbar.svg
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-unifinder.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/calendar-views.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/classification.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/day-box-item-image.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/dialogs/calendar-alarm-dialog.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/dialogs/calendar-event-dialog.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/event-grippy-bottom.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/event-grippy-left.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/event-grippy-right.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/event-grippy-top.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/printing/calHtmlExport.html
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/printing/calMonthGridPrinter.html
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/printing/calWeekPrinter.html
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/task-images.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/timezone_map.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/timezones.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/today-pane.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/widgets/calendar-widgets.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/widgets/drag-center.svg
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/widgets/minimonth.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/widgets/nav-arrow.svg
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/widgets/nav-today-hov.svg
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/widgets/nav-today.svg
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/widgets/view-navigation-hov.svg
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/common/widgets/view-navigation.svg
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/lightning-common/datetimepickers.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/lightning-common/dialogOverlay.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/lightning-common/imip.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/lightning-common/lightning.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/lightning-common/mode-switch-icons.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/lightning-common/suite-accountCentral.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/cal-icon24.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/cal-icon32.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-alarm-dialog.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-daypicker.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-event-dialog-attendees.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-event-dialog.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-invitations-dialog-button-images.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-invitations-dialog-list-images.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-invitations-dialog.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-management.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-occurrence-prompt.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-task-tree.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-task-view.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-unifinder.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/calendar-views.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/checkbox-images.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/ok-cancel.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/today-pane.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/calendar/widgets/calendar-widgets.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/lightning/accountCentral.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/lightning/imip.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/lightning/imip.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/lightning/lightning-toolbar.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/lightning/lightning-widgets.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/linux/lightning/lightning.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/cal-icon24.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/cal-icon32.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-alarm-dialog.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-daypicker.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-event-dialog-attendees.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-event-dialog.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-invitations-dialog-button-images.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-invitations-dialog-list-images.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-invitations-dialog.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-management.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-occurrence-prompt.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-task-tree.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-task-view.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-unifinder.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/calendar-views.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/checkbox-images-graphite.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/checkbox-images.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/ok-cancel.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/sidebar-item.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/today-pane.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/calendar/widgets/calendar-widgets.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/lightning/accountCentral.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/lightning/imip.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/lightning/imip.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/lightning/lightning-toolbar.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/lightning/lightning-widgets.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/osx/lightning/lightning.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/cal-icon24.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/cal-icon32.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-alarm-dialog.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-daypicker.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-event-dialog-attendees.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-event-dialog-toolbar-small.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-event-dialog-toolbar.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-event-dialog.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-invitations-dialog-button-images.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-invitations-dialog-list-images.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-invitations-dialog.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-management.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-occurrence-prompt-aero.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-occurrence-prompt.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-task-tree.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-task-view.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-unifinder.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/calendar-views.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/checkbox-images.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/ok-cancel.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/tasks-actions.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/today-pane.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/toolbar-large.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/toolbar-small.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/calendar/widgets/calendar-widgets.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/accountCentral.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/imip-aero.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/imip.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/imip.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/lightning-toolbar.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/lightning-widgets.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/lightning.css
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/mode-switch-icons-aero.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/windows/lightning/mode-switch-icons-inverted.png
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calBackendLoader.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calBackendLoader.manifest
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calCompositeCalendar.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calCompositeCalendar.manifest
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calDavCalendar.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calDavCalendar.manifest
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calDefaultACLManager.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calDefaultACLManager.manifest
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calICALJSComponents.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calICSCalendar.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calICSCalendar.manifest
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calImportExportModule.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calImportExportModule.manifest
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calItemModule.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calItemModule.manifest
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calItipEmailTransport.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calItipEmailTransport.manifest
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calItipProtocolHandler.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calItipProtocolHandler.manifest
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calMemoryCalendar.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calMemoryCalendar.manifest
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calSleepMonitor.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calSleepMonitor.manifest
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calStorageCalendar.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calStorageCalendar.manifest
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calTimezoneService.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calTimezoneService.manifest
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calWcapCalendarModule.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calWcapCalendarModule.manifest
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calbase.xpt
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calbaseinternal.xpt
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/caldav.xpt
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/icaljs-manifest
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/interfaces.manifest
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/libcalbasecomps.so
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/libical-manifest
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/lightningTextCalendarConverter.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/lightningTextCalendarConverter.manifest
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/wcap.xpt
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/defaults/preferences/lightning.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/install.rdf
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calAlarmUtils.jsm
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calAsyncUtils.jsm
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calAuthUtils.jsm
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calExtract.jsm
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calHashedArray.jsm
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calItemUtils.jsm
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calIteratorUtils.jsm
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calItipUtils.jsm
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calPrintUtils.jsm
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calProviderUtils.jsm
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calRecurrenceUtils.jsm
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calStorageHelpers.jsm
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calStorageUpgrade.jsm
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calUtils.jsm
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calViewUtils.jsm
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calXMLUtils.jsm
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/ical.js
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/ltnInvitationUtils.jsm
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/ltnUtils.jsm
+lib/thunderbird45/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/timezones/zones.json
Index: pkgsrc/mail/thunderbird45/distinfo
diff -u /dev/null pkgsrc/mail/thunderbird45/distinfo:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/distinfo  Thu Apr 27 13:38:18 2017
@@ -0,0 +1,152 @@
+$NetBSD: distinfo,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+SHA1 (thunderbird-45.8.0.source.tar.xz) = 36fc106885d612966ec3be047f4e7d3fa06dc04a
+RMD160 (thunderbird-45.8.0.source.tar.xz) = 8d4ab2feabee0402fbfe38168c51187b1f26221d
+SHA512 (thunderbird-45.8.0.source.tar.xz) = f8ba08d874fb1a09ac9ba5d4d1f46cefe801783ba4bf82eee682ac2ecc4e231d07033a80e036ad04bda7780c093fb7bc3122a23dc6e19c12f18fb7168dc78deb
+Size (thunderbird-45.8.0.source.tar.xz) = 201199348 bytes
+SHA1 (patch-calendar_lightning_Makefile.in) = 02a1528f2da82f1d4ff4931a7d7dc8227b7fa9f2
+SHA1 (patch-calendar_lightning_build_universal.mk) = 86dc2c6b4f9feb835570111078aa5d08a389d0da
+SHA1 (patch-calendar_providers_gdata_Makefile.in) = 0e90ddc9aecc817b0b150bbc37d23ddec97b093e
+SHA1 (patch-ldap_c-sdk_include_portable.h) = 7b36594a98beb5af9f82810a052ad2d4706ac968
+SHA1 (patch-mail_app_nsMailApp.cpp) = e089b05a2a849f401fc0aa41fc781e544f6977a1
+SHA1 (patch-mail_components_shell_nsMailGNOMEIntegration.cpp) = cbd87d7d7fc8df32b7fd444148d48a92c54c94d9
+SHA1 (patch-mail_installer_package-manifest.in) = 3829a4d1ae7e8da29ae90d8ac31856fe260c2acc
+SHA1 (patch-mail_installer_removed-files.in) = 1a6744cda9842046b9d4b388333678a580d49d43
+SHA1 (patch-mozilla_browser_branding_unofficial_locales_en-US_brand.dtd) = 1cd7faa6a098e2bc609d941406b46e6f737fbb63
+SHA1 (patch-mozilla_browser_installer_package-manifest.in) = a0e9a23dd9e3e652fd9dd32b4e740adc0f50c453
+SHA1 (patch-mozilla_build_autoconf_compiler-opts.m4) = 5ac831579034defaa837748fe63595192d7a583a
+SHA1 (patch-mozilla_build_autoconf_nss.m4) = 7f4bb7c4308f8b74527bf00fb09489ee328696c5
+SHA1 (patch-mozilla_build_gyp.mozbuild) = 2fedb8762375c000e79d042aa974e66329fdb230
+SHA1 (patch-mozilla_build_pgo_profileserver.py) = 7a88be17fc5939aa2bc5af334dde3222b6cc3ba3
+SHA1 (patch-mozilla_config_Makefile.in) = 244eb6c7ee4973eb6ebec4fcf4181932b518ca2e
+SHA1 (patch-mozilla_config_baseconfig.mk) = 92891a656cb83de0f5ff7f88d10579cdde0e1359
+SHA1 (patch-mozilla_config_external_moz.build) = bb4d66b481967d98df5358f9e1d3cc3253d57fd1
+SHA1 (patch-mozilla_config_rules.mk) = 5bc569ee42ea8fa2f2726af1f2993167b029d308
+SHA1 (patch-mozilla_config_stl__wrappers_ios) = f84d793f65bc7c7d1ffc7b542f846b394cf6de50
+SHA1 (patch-mozilla_config_stl__wrappers_ostream) = b36e7e199e355a0950e0db51c45fb34ce5ea2cc4
+SHA1 (patch-mozilla_config_system-headers) = 4c1cd436ee7d173d76ff9c34fa74a571299879dc
+SHA1 (patch-mozilla_configure.in) = fe475edf594e2ca98e3f6da629d06734de091cee
+SHA1 (patch-mozilla_dom_base_DOMRequest.cpp) = 0140dc4e081a6675fdcf366057511df354d27d95
+SHA1 (patch-mozilla_dom_base_moz.build) = cb7b5eb422f733f36797eac39e63e7f6daa5574f
+SHA1 (patch-mozilla_dom_media_gstreamer_GStreamerAllocator.cpp) = 74e0c3ddc42007e056046c9fbe3b267cb75efdfe
+SHA1 (patch-mozilla_dom_media_moz.build) = 8a9b9b25ef5ad004383a4bd189ed37ac0f2bd8b3
+SHA1 (patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp) = 375a2ebda12bd4633c7ae3d5c0e0b6de6a61bb0f
+SHA1 (patch-mozilla_dom_plugins_ipc_PluginModuleChild.h) = 7009f9f2d01ca96f0ef6ca6f412485a4576f3072
+SHA1 (patch-mozilla_dom_plugins_ipc_PluginProcessChild.cpp) = adcb793da679bbfe7a79f3a119c4f9f8950c7eae
+SHA1 (patch-mozilla_dom_system_OSFileConstants.cpp) = 6685cf695ce13433bc061a82e1767ea4fc25bac5
+SHA1 (patch-mozilla_extensions_spellcheck_hunspell_glue_mozHunspell.cpp) = 8e2d1f82554fb0950f6f3d52f63cca10b15431db
+SHA1 (patch-mozilla_gfx_cairo_libpixman_src_pixman-arm-neon-asm.S) = 14b213eff89b78ecfe3ff74a4daca13138defd2e
+SHA1 (patch-mozilla_gfx_gl_GLContextProviderGLX.cpp) = f8b7ad2c1d1b8f0a4492fc49d1e5884ec4bdf4c4
+SHA1 (patch-mozilla_gfx_graphite2_src_Bidi.cpp) = 423009ff077aa4c0862fd5b8ec9066eb054440cf
+SHA1 (patch-mozilla_gfx_moz.build) = 60f774fe43846324b57fb1e46d1bd1a8348cf440
+SHA1 (patch-mozilla_gfx_skia_generate__mozbuild.py) = 227210904b6c194960668fee4253ddb183e33a0e
+SHA1 (patch-mozilla_gfx_skia_moz.build) = 8a70b3a8d8a7caa06f7b1b433cd5ffb37b4b38ba
+SHA1 (patch-mozilla_gfx_skia_skia_src_core_SkUtilsArm.cpp) = 390793e9b45af46914b1c51d0be9c9c875644a9c
+SHA1 (patch-mozilla_gfx_skia_skia_src_opts_SkBitmapProcState__opts__arm.cpp) = d2ce05bb0e288dc5e0c8f073d627c759a817d11f
+SHA1 (patch-mozilla_gfx_skia_skia_src_opts_memset.arm.S) = a4b4aab1c6fcf8681a1ef932fa26f6527ebd0eae
+SHA1 (patch-mozilla_gfx_thebes_moz.build) = 9ca30b203e492f59563f698d7bfe39befdef0bb1
+SHA1 (patch-mozilla_gfx_ycbcr_moz.build) = 84eab4220cbce9ad44a62b7ba64e838927382b13
+SHA1 (patch-mozilla_gfx_ycbcr_yuv__row__arm.S) = 2b2e6db1bdb0719ee7642447971fe2a9c80518dd
+SHA1 (patch-mozilla_image_decoders_nsJPEGDecoder.cpp) = 4388fb0c57011e19e8ee4768d3cc82b078b7a6e2
+SHA1 (patch-mozilla_intl_hyphenation_glue_hnjalloc.h) = 9159bfaa44bf70c04602a1ac10f698ef4f4a5187
+SHA1 (patch-mozilla_ipc_chromium_src_base_atomicops.h) = b70f38db87e80de06f061e7ee7664d47b1000f12
+SHA1 (patch-mozilla_ipc_chromium_src_base_file__util__posix.cc) = aff83e28eb7af0f04c68b8336441eaef04bb763c
+SHA1 (patch-mozilla_ipc_chromium_src_base_message__loop.cc) = b4d4e7fd53632751cf4624044815da3a9f20819c
+SHA1 (patch-mozilla_ipc_chromium_src_base_message__pump__libevent.cc) = 71825dd5ab9e8f3055fc276558dc73f5489ade15
+SHA1 (patch-mozilla_ipc_chromium_src_base_platform__thread.h) = a0d0cff52de77a45def4789a7f6f30603c13f07a
+SHA1 (patch-mozilla_ipc_chromium_src_base_platform__thread__posix.cc) = 9998c382302a022ba1027f4346c53dcd4ef0b52f
+SHA1 (patch-mozilla_ipc_chromium_src_base_process__util.h) = 56b13a62b9bb6b4a0b94ed285f33fa5d67c56dc8
+SHA1 (patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc) = e60b2d2aa3e37a6b4854b5aef91f430ecbb5eba0
+SHA1 (patch-mozilla_ipc_chromium_src_base_process__util__posix.cc) = 4dc6f93024eea761a53dc1df2933eb2f51612058
+SHA1 (patch-mozilla_ipc_chromium_src_base_scoped__nsautorelease__pool.h) = 9e623549aeb7f28270641a279f7608ab9338f228
+SHA1 (patch-mozilla_ipc_chromium_src_base_sys__info__posix.cc) = d2b220541fd1d29fb0972faa1bd4ce1d69d6ed31
+SHA1 (patch-mozilla_ipc_chromium_src_base_time__posix.cc) = d92e2f338c9c6e91aa7b7ad10d614a6def8707b9
+SHA1 (patch-mozilla_ipc_chromium_src_build_build__config.h) = 1cb374897dfee04780299c5345da7a883f633967
+SHA1 (patch-mozilla_ipc_chromium_src_chrome_common_transport__dib.h) = 74f68181b1770e8f2aa7325f8cd57d510fda7fa5
+SHA1 (patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp) = 076893b0af074e42d1a02e0c536ac13147dd4727
+SHA1 (patch-mozilla_ipc_glue_StringUtil.cpp) = 734b47ec5ebb89dc4711623cabc1e7cacde2641f
+SHA1 (patch-mozilla_ipc_glue_moz.build) = 8b6fd2e3e019195c9547add4f67c1ea22eb3a462
+SHA1 (patch-mozilla_js_src_configure.in) = df8db18ecded130197b85afa12a5c2c71c142656
+SHA1 (patch-mozilla_js_src_ctypes_CTypes.h) = ad11282f5c9e882bcd19fcfc5cc4c6027dd4aae2
+SHA1 (patch-mozilla_js_src_frontend_ParseMaps.cpp) = 4bead6061fa2a77a0de7a38ff497ccc24557b835
+SHA1 (patch-mozilla_js_src_jit_LIR.cpp) = 1f623a7e75d85de1c6af8a1cba218298ab3bb77b
+SHA1 (patch-mozilla_js_src_jit_MIR.cpp) = 48ec3fc79fd62d34a13825b25be6f17f04937b66
+SHA1 (patch-mozilla_js_src_jit_arm_Architecture-arm.cpp) = ef122bdc89efb0d8c71a24bd112e9f8a166f6cda
+SHA1 (patch-mozilla_js_src_jsdate.cpp) = 5dc0c38fb8eb509d2c6ecaf666d4c1d046082a34
+SHA1 (patch-mozilla_js_src_jskwgen.cpp) = 322a6ce311b1e8cb9dc6aadee88425e3b9318231
+SHA1 (patch-mozilla_js_src_jsmath.cpp) = f130a1c7c0d4384aa3ebff155d4e3ebb33823cbb
+SHA1 (patch-mozilla_js_src_jsnativestack.cpp) = c216baac857760571c60b45cb8682624b44232c4
+SHA1 (patch-mozilla_js_src_shell_jsoptparse.cpp) = 947cbe44e7a87fb37dcf48f45c1805ae7747b259
+SHA1 (patch-mozilla_js_src_vm_SPSProfiler.cpp) = f4a9a2b8d66442d3b52bef3bbe0d43abcc3ff0eb
+SHA1 (patch-mozilla_js_xpconnect_src_XPCConvert.cpp) = fb20844c866045677ce7b14099cf7a748d430f64
+SHA1 (patch-mozilla_js_xpconnect_src_xpcprivate.h) = eda7091a2b469bafad07b24d9ec9ed02626e3391
+SHA1 (patch-mozilla_media_libcubeb_src_cubeb.c) = b15c15f5aee05f335e49e9878ac8fe171002f599
+SHA1 (patch-mozilla_media_libcubeb_src_cubeb__alsa.c) = 3fcafd1e119bc96b89ac2447fe4c4b9f673bc401
+SHA1 (patch-mozilla_media_libcubeb_src_cubeb__oss.c) = f6dd9cafe11b61dd9061e22cddfecb214d40ac21
+SHA1 (patch-mozilla_media_libcubeb_src_moz.build) = 77498b73bd21f13df5690d82c62288788805c597
+SHA1 (patch-mozilla_media_libpng_pngpriv.h) = 1fbc7cef82486dd80aba5e86977158fcb15ffab3
+SHA1 (patch-mozilla_media_libsoundtouch_src_cpu__detect__x86.cpp) = e97b974d4eccc22699047413460b8c4687f9e658
+SHA1 (patch-mozilla_media_libstagefright_frameworks_av_include_media_stagefright_foundation_AString.h) = bfd8ef07c4277bf3d598f07b14e653ecd362b96d
+SHA1 (patch-mozilla_media_libstagefright_frameworks_av_media_libstagefright_foundation_AString.cpp) = 821b13b11f5bd7fe5d2bf9d6b48b8e402e15c44d
+SHA1 (patch-mozilla_media_libstagefright_system_core_liblog_fake__log__device.c) = 37eb1b950a2ed8bbaddac8fd198c534e3a62c41e
+SHA1 (patch-mozilla_media_libstagefright_system_core_liblog_logprint.c) = 74e85ceec274c51b7142c350d89cd67e4f0c43f6
+SHA1 (patch-mozilla_media_libtheora_lib_arm_armcpu.c) = 8ac0fc27df926fcdb40ea578f9bc89b845a4e72b
+SHA1 (patch-mozilla_media_libtheora_lib_info.c) = 6a63a044b6c485f6e7514050f7b465394b0654d6
+SHA1 (patch-mozilla_media_libtheora_moz.build) = 18621d838e2376350e883b67f74a8992d59e814f
+SHA1 (patch-mozilla_media_libtremor_Makefile.in) = 42c00d486290bfca17336750f740d83cb96cb9b2
+SHA1 (patch-mozilla_media_libtremor_moz.build) = 2d242343e6370f96c32670e405b39788186634f4
+SHA1 (patch-mozilla_media_libvorbis_Makefile.in) = a9baf3be6710b32544f1f8843fa07519d0348b76
+SHA1 (patch-mozilla_media_libvorbis_lib_vorbis__info.c) = 0ed66faa0c451813b578e91e60532cb9f90022f5
+SHA1 (patch-mozilla_media_libvorbis_moz.build) = c521e8a167bd83d130db3f8820e24425d6bd8016
+SHA1 (patch-mozilla_media_libyuv_include_libyuv_scale__row.h) = e67ff789d3c6132ec55c91acba08687c0ddb8227
+SHA1 (patch-mozilla_media_mtransport_third__party_nICEr_src_util_mbslen.c) = d1ef64cc7be19b9bc826de4f05472fc539913974
+SHA1 (patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h) = 68b91c952049820c29edf10fd791fec61273b1b7
+SHA1 (patch-mozilla_media_openmax__dl_dl_api_armCOMM__s.h) = dec3d3d538a4301920aa641d2d8da1e6c9b7bb54
+SHA1 (patch-mozilla_media_webrtc_signaling_test_common.build) = 53329838ba9cf448870ae8860456b69be420f3f6
+SHA1 (patch-mozilla_media_webrtc_trunk_webrtc_build_common.gypi) = 8caf6b3a8558bede5ccfa3b6009f7a57e04a02fa
+SHA1 (patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_neteq_neteq.gypi) = d1459b4972dade432e27e8005a64fc4eb8b02579
+SHA1 (patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.cc) = a48b7a0140fc40cca427034bf0b58a4e13c98e73
+SHA1 (patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.h) = 62dfbf579191447dea80bf2eee5a782eaee526df
+SHA1 (patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc) = 24455230e1a857824584af86b988036321f8c0aa
+SHA1 (patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc) = 8187760eeaa2c466b629b21cd8d3d460e532497f
+SHA1 (patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi) = 7dcd8e86e18bb39bb07864483927e89f0199e629
+SHA1 (patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp) = 8bc15ea9afab20f004275522e060e70f699f0862
+SHA1 (patch-mozilla_memory_build_mozjemalloc__compat.c) = aad27fb03be2d1fcc543f4f38ac5deb4f8e962f7
+SHA1 (patch-mozilla_memory_mozalloc_mozalloc__abort.cpp) = 2c2169296c3388fa49f57f55193ebc94892b2c91
+SHA1 (patch-mozilla_memory_volatile_VolatileBufferOSX.cpp) = 87a53581e32009c124437a277a26abef52d8b197
+SHA1 (patch-mozilla_mfbt_Attributes.h) = df5ad969a421936a5ab021c7c62891490c0f63d4
+SHA1 (patch-mozilla_mfbt_Poison.cpp) = 725f20137d6e0b19d85ee4c5a2fe286015652bad
+SHA1 (patch-mozilla_modules_libjar_nsZipArchive.cpp) = b306f3e037aced574e6e245d2bd80ffd5020a43e
+SHA1 (patch-mozilla_modules_libpref_init_all.js) = 0196b031480c89946634d34e35ccccf83d946146
+SHA1 (patch-mozilla_mozglue_build_arm.cpp) = 5f94591daf81ea22f5e3855cf8e6ba719c88c3eb
+SHA1 (patch-mozilla_mozglue_build_arm.h) = 40d8d2039c68fc825857a3c970eec2f296275cc5
+SHA1 (patch-mozilla_netwerk_dns_moz.build) = a58262e4a85b5b1e4986e82204df36ace4076738
+SHA1 (patch-mozilla_storage_SQLiteMutex.h) = 76907dfaa357fba3c0fdb7b0e7150d0b5241d64a
+SHA1 (patch-mozilla_toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h) = 06ffc01754f4a583ff6531f0da14aa23528ea409
+SHA1 (patch-mozilla_toolkit_components_protobuf_src_google_protobuf_stubs_platform__macros.h) = aa895f7147fdcdaa1dd75b17f96c562d15eed718
+SHA1 (patch-mozilla_toolkit_library_moz.build) = 13db2a682ae51c6d040e7c6c7edac1768d9b70d0
+SHA1 (patch-mozilla_toolkit_mozapps_installer_packager.mk) = fd5afe235bf61d72c3cd27b41a5c9b8e0920c83f
+SHA1 (patch-mozilla_toolkit_xre_glxtest.cpp) = a76049f61427fccf9896960ff9cc18e753e2cadd
+SHA1 (patch-mozilla_toolkit_xre_nsAppRunner.cpp) = 6d8100016b9ae90feeb2ea9868d33ba45780d401
+SHA1 (patch-mozilla_toolkit_xre_nsEmbedFunctions.cpp) = c6c1390f527f4b45e879f090531a53c3dc798873
+SHA1 (patch-mozilla_webapprt_moz.build) = 3239f8adb82cefc80395396408741516823a2f52
+SHA1 (patch-mozilla_xpcom_base_nscore.h) = 019d54275e162756294f6e803884b4af5578b45f
+SHA1 (patch-mozilla_xpcom_build_PoisonIOInterposer.h) = d3545362d31b7360c9e7a0e40b53041fd5b43516
+SHA1 (patch-mozilla_xpcom_components_Module.h) = 74b9ff0f7993ded55a05e2eb6e29741c65c81778
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_Makefile.in) = 71737ca3a31fa2e7c99fc07419a41918b9b37d26
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_moz.build) = 691d7ccf3ba75f069543e390d80dbdf0d698c1d4
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__arm__netbsd.cpp) = a6f3de24e78589bec5029d70872eb3d3def42690
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__mips.S) = d5e610e8170382786bd33ef9ccf7976e3a5ab361
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s) = 83b335036eb14ec01a6292b321954b4e92039253
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__gcc__x86__unix.cpp) = 69de6d043bfa9145e83ed4f9ff52f7866a9e86ba
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp) = b62ea1e6a09de47c3070eb0ecfe20e33f119fce2
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp) = 6bf93b8a0fe332185f5af6bbb0e2dc3312884b50
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp) = 9caec5bc1b6ed70c9d59adacaefa7a8f90c2a5cc
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__arm__netbsd.cpp) = 976c0c82fd5aa6223cf6d4f79166faeaf6377033
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__mips.S) = edbf6721ac8d74dc314f4c70fc5c74ebb6f44076
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__sparc64__netbsd.s) = a04a46c13752d4c92bbba8b96d85cb430f3a4ac6
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__gcc__x86__unix.cpp) = 0f0f070d4d04bedbb7c7b9afd068180e72623428
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__netbsd__m68k.cpp) = bb0d322a00c42e6ce1a5a931fecdcaf1b58109bc
+SHA1 (patch-mozilla_xulrunner_installer_Makefile.in) = 2766f9109f2f53827f1207d047caab16b30437ea
+SHA1 (patch-mozilla_xulrunner_installer_libxul-embedding.pc.in) = 585b0041ae6e9beabfffd78d09018219a2a15ba0
+SHA1 (patch-mozilla_xulrunner_installer_libxul.pc.in) = 9329de1e99c534565f31ff87f71677100a64e842
Index: pkgsrc/mail/thunderbird45/hacks.mk
diff -u /dev/null pkgsrc/mail/thunderbird45/hacks.mk:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/hacks.mk  Thu Apr 27 13:38:18 2017
@@ -0,0 +1,11 @@
+# $NetBSD: hacks.mk,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+# workround for link of thunderbird-bin etc.
+LDFLAGS+=      ${COMPILER_RPATH_FLAG}${PREFIX}/lib/${MOZILLA_NAME}
+
+.if ${OPSYS} == "SunOS"
+# workaround for strip problems with libxul.so
+# https://www.illumos.org/issues/4383
+INSTALL_UNSTRIPPED=yes
+.endif
+.include "../../devel/xulrunner17/hacks.mk"
Index: pkgsrc/mail/thunderbird45/options.mk
diff -u /dev/null pkgsrc/mail/thunderbird45/options.mk:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/options.mk        Thu Apr 27 13:38:18 2017
@@ -0,0 +1,76 @@
+# $NetBSD: options.mk,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+PKG_OPTIONS_VAR=       PKG_OPTIONS.thunderbird45
+PKG_SUPPORTED_OPTIONS= alsa debug mozilla-jemalloc gnome \
+                       official-mozilla-branding pulseaudio \
+                       mozilla-lightning
+PKG_SUGGESTED_OPTIONS= mozilla-lightning
+
+PLIST_VARS+=           branding nobranding debug gnome jemalloc
+
+PKG_SUGGESTED_OPTIONS.Linux+=  alsa mozilla-jemalloc
+PKG_SUGGESTED_OPTIONS.*+=      pulseaudio
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Malsa)
+CONFIGURE_ARGS+=       --enable-alsa
+.include "../../audio/alsa-lib/buildlink3.mk"
+.else
+CONFIGURE_ARGS+=       --disable-alsa
+.endif
+
+.if !empty(PKG_OPTIONS:Mgnome)
+.include "../../devel/libgnomeui/buildlink3.mk"
+.include "../../sysutils/gnome-vfs/buildlink3.mk"
+CONFIGURE_ARGS+=       --enable-gnomevfs --enable-dbus --enable-gnomeui
+PLIST.gnome=           yes
+.else
+CONFIGURE_ARGS+=       --disable-gnomevfs --disable-dbus --disable-gnomeui
+.endif
+
+.if !empty(PKG_OPTIONS:Mmozilla-jemalloc)
+PLIST.jemalloc=                yes
+CONFIGURE_ARGS+=       --enable-jemalloc
+.else
+CONFIGURE_ARGS+=       --disable-jemalloc
+.endif
+
+.if !empty(PKG_OPTIONS:Mdebug)
+CONFIGURE_ARGS+=       --enable-debug --enable-debug-symbols --disable-optimize
+CONFIGURE_ARGS+=       --disable-install-strip
+PLIST.debug=           yes
+.else
+CONFIGURE_ARGS+=       --disable-debug
+CONFIGURE_ARGS+=       --enable-optimize=-O2
+CONFIGURE_ARGS+=       --enable-install-strip
+BUILDLINK_TRANSFORM+=  rm:-g
+.endif
+
+.if !empty(PKG_OPTIONS:Mpulseaudio)
+.include "../../audio/pulseaudio/buildlink3.mk"
+CONFIGURE_ARGS+=       --enable-pulseaudio
+.else
+CONFIGURE_ARGS+=       --disable-pulseaudio
+.endif
+
+.if !empty(PKG_OPTIONS:Mmozilla-lightning)
+CONFIGURE_ARGS+=       --enable-calendar
+PLIST_SRC+=            PLIST.lightning
+XPI_FILES+=            ${WRKSRC}/${OBJDIR}/dist/xpi-stage/gdata-provider.xpi
+XPI_FILES+=            ${WRKSRC}/${OBJDIR}/dist/xpi-stage/lightning.xpi
+.else
+CONFIGURE_ARGS+=       --disable-calendar
+.endif
+
+.if !empty(PKG_OPTIONS:Mofficial-mozilla-branding)
+CONFIGURE_ARGS+=       --enable-official-branding
+PLIST.branding=                yes
+LICENSE=               mozilla-trademark-license
+RESTRICTED=            Trademark holder prohibits distribution of modified versions.
+NO_BIN_ON_CDROM=       ${RESTRICTED}
+NO_BIN_ON_FTP=         ${RESTRICTED}
+.else
+CONFIGURE_ARGS+=       --disable-official-branding
+PLIST.nobranding=      yes
+.endif

Index: pkgsrc/mail/thunderbird45/files/desktop.in
diff -u /dev/null pkgsrc/mail/thunderbird45/files/desktop.in:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/files/desktop.in  Thu Apr 27 13:38:18 2017
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=@MOZILLA_NAME@
+GenericName=Mail Client
+Comment=Mail client and News Reader
+Exec=@MOZILLA@ %U
+Icon=@MOZILLA_ICON@
+StartupNotify=false
+Terminal=false
+Type=Application
+Categories=Application;Network;
Index: pkgsrc/mail/thunderbird45/files/patch-ipc_src_Makefile
diff -u /dev/null pkgsrc/mail/thunderbird45/files/patch-ipc_src_Makefile:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/files/patch-ipc_src_Makefile      Thu Apr 27 13:38:18 2017
@@ -0,0 +1,16 @@
+diff --git a/ipc/src/Makefile b/ipc/src/Makefile
+index 4546c3e..2e0998d 100644
+--- a/ipc/src/Makefile
++++ b/ipc/src/Makefile
+@@ -49,6 +49,11 @@ ifeq ($(OS_TARGET),WINNT)
+ OBJ_SUFF = obj
+ endif
+ 
++ifeq ($(OS_ARCH),SunOS)
++LDFLAGS += -shared -Wl,-Bsymbolic
++CFLAGS += -fPIC
++endif
++
+ source = subprocess.c
+ objfiles = subprocess.$(OBJ_SUFF)
+ libname = $(DLL_PREFIX)subprocess-$(CPU_ARCH)$(DLL_SUFFIX)

Index: pkgsrc/mail/thunderbird45/patches/patch-calendar_lightning_Makefile.in
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-calendar_lightning_Makefile.in:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-calendar_lightning_Makefile.in      Thu Apr 27 13:38:18 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-calendar_lightning_Makefile.in,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- calendar/lightning/Makefile.in.orig        2016-04-07 21:14:23.000000000 +0000
++++ calendar/lightning/Makefile.in
+@@ -5,7 +5,7 @@
+ # Calendar builders currently use STRIP_XPI to reduce the binary component in
+ # Lightning.
+ 
+-XPI_PKGNAME = lightning-$(LIGHTNING_VERSION).$(AB_CD).$(MOZ_PKG_PLATFORM)
++XPI_PKGNAME = lightning
+ XPI_VERSION = $(LIGHTNING_VERSION)
+ 
+ XPI_EM_ID = {e2fda1a4-762b-4020-b5ad-a41df1933103}
Index: pkgsrc/mail/thunderbird45/patches/patch-calendar_lightning_build_universal.mk
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-calendar_lightning_build_universal.mk:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-calendar_lightning_build_universal.mk       Thu Apr 27 13:38:18 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-calendar_lightning_build_universal.mk,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- calendar/lightning/build/universal.mk.orig 2016-04-07 21:14:23.000000000 +0000
++++ calendar/lightning/build/universal.mk
+@@ -19,7 +19,7 @@ include $(topsrcdir)/mozilla/toolkit/moz
+ 
+ THUNDERBIRD_VERSION := $(shell cat $(topsrcdir)/mail/config/version.txt)
+ LIGHTNING_VERSION := $(shell $(PYTHON) $(topsrcdir)/calendar/lightning/build/makeversion.py $(word 1,$(MOZ_PKG_VERSION) $(THUNDERBIRD_VERSION)))
+-XPI_PKGNAME = lightning-$(LIGHTNING_VERSION).$(AB_CD).$(MOZ_PKG_PLATFORM)
++XPI_PKGNAME = lightning
+ 
+ STANDALONE_MAKEFILE := 1
+ include $(TOPSRCDIR)/config/config.mk
Index: pkgsrc/mail/thunderbird45/patches/patch-calendar_providers_gdata_Makefile.in
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-calendar_providers_gdata_Makefile.in:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-calendar_providers_gdata_Makefile.in        Thu Apr 27 13:38:18 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-calendar_providers_gdata_Makefile.in,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- calendar/providers/gdata/Makefile.in.orig  2016-04-07 21:14:23.000000000 +0000
++++ calendar/providers/gdata/Makefile.in
+@@ -2,7 +2,7 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ 
+-XPI_PKGNAME = gdata-provider-$(GDATA_VERSION).$(AB_CD).$(MOZ_PKG_PLATFORM)
++XPI_PKGNAME = gdata-provider
+ XPI_VERSION = $(GDATA_VERSION)
+ XPI_NO_UNIVERSAL = 1
+ XPI_EM_ID = {a62ef8ec-5fdc-40c2-873c-223b8a6925cc}
Index: pkgsrc/mail/thunderbird45/patches/patch-ldap_c-sdk_include_portable.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-ldap_c-sdk_include_portable.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-ldap_c-sdk_include_portable.h       Thu Apr 27 13:38:18 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-ldap_c-sdk_include_portable.h,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- ldap/c-sdk/include/portable.h.orig 2016-04-07 21:14:24.000000000 +0000
++++ ldap/c-sdk/include/portable.h
+@@ -122,7 +122,7 @@
+  * some systems don't have the BSD re_comp and re_exec routines
+  */
+ #ifndef NEED_BSDREGEX
+-#if ( defined( SYSV ) || defined( NETBSD ) || defined( FREEBSD ) || defined(__OpenBSD__) || defined( linux ) || defined( DARWIN )) && !defined(sgi)
++#if ( defined( SYSV ) || defined( NETBSD ) || defined(DRAGONFLY) || defined( FREEBSD ) || defined(__OpenBSD__) || defined( linux ) || defined( DARWIN )) && !defined(sgi)
+ #define NEED_BSDREGEX
+ #endif
+ #endif
Index: pkgsrc/mail/thunderbird45/patches/patch-mail_app_nsMailApp.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mail_app_nsMailApp.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mail_app_nsMailApp.cpp      Thu Apr 27 13:38:18 2017
@@ -0,0 +1,39 @@
+$NetBSD: patch-mail_app_nsMailApp.cpp,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mail/app/nsMailApp.cpp.orig        2016-04-07 21:14:22.000000000 +0000
++++ mail/app/nsMailApp.cpp
+@@ -15,6 +15,26 @@
+ #include <sys/resource.h>
+ #include <unistd.h>
+ #endif
++/*
++ * On netbsd-4, ulimit -n is 64 by default; too few for us.
++ */
++static void netbsd_fixrlimit(void) {
++      struct rlimit rlp;
++      if (getrlimit(RLIMIT_NOFILE, &rlp) == -1) {
++              fprintf(stderr, "warning: getrlimit failed\n");
++              return;
++      }
++      if (rlp.rlim_cur >= 512)
++              return;
++      if (rlp.rlim_max < 512) {
++              fprintf(stderr, "warning: hard limit of 'ulimit -n' too low\n");
++              rlp.rlim_cur = rlp.rlim_max;
++      }
++      else
++              rlp.rlim_cur = 512;
++      if (setrlimit(RLIMIT_NOFILE, &rlp) == -1)
++              fprintf(stderr, "warning: setrlimit failed\n");
++      }
+ 
+ #ifdef XP_MACOSX
+ #include "MacQuirks.h"
+@@ -213,6 +233,7 @@ FileExists(const char *path)
+ static nsresult
+ InitXPCOMGlue(const char *argv0, nsIFile **xreDirectory)
+ {
++  netbsd_fixrlimit();
+   char exePath[MAXPATHLEN];
+ 
+   nsresult rv = mozilla::BinaryPath::Get(argv0, exePath);
Index: pkgsrc/mail/thunderbird45/patches/patch-mail_components_shell_nsMailGNOMEIntegration.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mail_components_shell_nsMailGNOMEIntegration.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mail_components_shell_nsMailGNOMEIntegration.cpp    Thu Apr 27 13:38:18 2017
@@ -0,0 +1,24 @@
+$NetBSD: patch-mail_components_shell_nsMailGNOMEIntegration.cpp,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mail/components/shell/nsMailGNOMEIntegration.cpp.orig      2016-04-07 21:14:23.000000000 +0000
++++ mail/components/shell/nsMailGNOMEIntegration.cpp
+@@ -50,16 +50,16 @@ struct AppTypeAssociation {
+ 
+ static const AppTypeAssociation sAppTypes[] = {
+   {
+-    nsIShellService::MAIL, sMailProtocols, ArrayLength(sMailProtocols),
++    nsIShellService::MAIL, sMailProtocols, (unsigned int)ArrayLength(sMailProtocols),
+     "message/rfc822",
+     nullptr // don't associate .eml extension, as that breaks printing those
+   },
+   {
+-    nsIShellService::NEWS, sNewsProtocols, ArrayLength(sNewsProtocols),
++    nsIShellService::NEWS, sNewsProtocols, (unsigned int)ArrayLength(sNewsProtocols),
+     nullptr, nullptr
+   },
+   {
+-    nsIShellService::RSS, sFeedProtocols, ArrayLength(sFeedProtocols),
++    nsIShellService::RSS, sFeedProtocols, (unsigned int)ArrayLength(sFeedProtocols),
+     "application/rss+xml", "rss"
+   }
+ };
Index: pkgsrc/mail/thunderbird45/patches/patch-mail_installer_package-manifest.in
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mail_installer_package-manifest.in:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mail_installer_package-manifest.in  Thu Apr 27 13:38:18 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mail_installer_package-manifest.in,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mail/installer/package-manifest.in.orig    2016-04-07 21:14:23.000000000 +0000
++++ mail/installer/package-manifest.in
+@@ -804,7 +804,7 @@
+ #endif
+ 
+ ; for Solaris SPARC
+-#ifdef SOLARIS
++#if defined(SOLARIS) && defined(SPARC)
+ @BINPATH@/@DLL_PREFIX@freebl_32fpu_3@DLL_SUFFIX@
+ @BINPATH@/@DLL_PREFIX@freebl_32int_3@DLL_SUFFIX@
+ @BINPATH@/@DLL_PREFIX@freebl_32int64_3@DLL_SUFFIX@
Index: pkgsrc/mail/thunderbird45/patches/patch-mail_installer_removed-files.in
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mail_installer_removed-files.in:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mail_installer_removed-files.in     Thu Apr 27 13:38:18 2017
@@ -0,0 +1,47 @@
+$NetBSD: patch-mail_installer_removed-files.in,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mail/installer/removed-files.in.orig       2016-04-07 21:14:23.000000000 +0000
++++ mail/installer/removed-files.in
+@@ -196,42 +196,6 @@
+ @DIR_MACOS@greprefs/security-prefs.js
+ @DIR_MACOS@greprefs/xpinstall.js
+ @DIR_MACOS@greprefs/
+-@DIR_MACOS@hyphenation/
+-@DIR_MACOS@hyphenation/hyph_af.dic
+-@DIR_MACOS@hyphenation/hyph_bg.dic
+-@DIR_MACOS@hyphenation/hyph_ca.dic
+-@DIR_MACOS@hyphenation/hyph_cy.dic
+-@DIR_MACOS@hyphenation/hyph_da.dic
+-@DIR_MACOS@hyphenation/hyph_de-1901.dic
+-@DIR_MACOS@hyphenation/hyph_de-1996.dic
+-@DIR_MACOS@hyphenation/hyph_de-CH.dic
+-@DIR_MACOS@hyphenation/hyph_en_US.dic
+-@DIR_MACOS@hyphenation/hyph_eo.dic
+-@DIR_MACOS@hyphenation/hyph_es.dic
+-@DIR_MACOS@hyphenation/hyph_et.dic
+-@DIR_MACOS@hyphenation/hyph_fi.dic
+-@DIR_MACOS@hyphenation/hyph_fr.dic
+-@DIR_MACOS@hyphenation/hyph_gl.dic
+-@DIR_MACOS@hyphenation/hyph_hr.dic
+-@DIR_MACOS@hyphenation/hyph_hsb.dic
+-@DIR_MACOS@hyphenation/hyph_hu.dic
+-@DIR_MACOS@hyphenation/hyph_ia.dic
+-@DIR_MACOS@hyphenation/hyph_is.dic
+-@DIR_MACOS@hyphenation/hyph_it.dic
+-@DIR_MACOS@hyphenation/hyph_kmr.dic
+-@DIR_MACOS@hyphenation/hyph_la.dic
+-@DIR_MACOS@hyphenation/hyph_lt.dic
+-@DIR_MACOS@hyphenation/hyph_mn.dic
+-@DIR_MACOS@hyphenation/hyph_nb.dic
+-@DIR_MACOS@hyphenation/hyph_nl.dic
+-@DIR_MACOS@hyphenation/hyph_nn.dic
+-@DIR_MACOS@hyphenation/hyph_pt.dic
+-@DIR_MACOS@hyphenation/hyph_ru.dic
+-@DIR_MACOS@hyphenation/hyph_sh.dic
+-@DIR_MACOS@hyphenation/hyph_sl.dic
+-@DIR_MACOS@hyphenation/hyph_sv.dic
+-@DIR_MACOS@hyphenation/hyph_tr.dic
+-@DIR_MACOS@hyphenation/hyph_uk.dic
+ 
+ #ifdef MOZ_WIDGET_GTK
+   icons/mozicon128.png
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_browser_branding_unofficial_locales_en-US_brand.dtd
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_browser_branding_unofficial_locales_en-US_brand.dtd:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_browser_branding_unofficial_locales_en-US_brand.dtd Thu Apr 27 13:38:18 2017
@@ -0,0 +1,16 @@
+$NetBSD: patch-mozilla_browser_branding_unofficial_locales_en-US_brand.dtd,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/browser/branding/unofficial/locales/en-US/brand.dtd.orig   2016-04-07 21:33:15.000000000 +0000
++++ mozilla/browser/branding/unofficial/locales/en-US/brand.dtd
+@@ -2,8 +2,8 @@
+    - License, v. 2.0. If a copy of the MPL was not distributed with this
+    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+ 
+-<!ENTITY  brandShorterName      "Nightly">
+-<!ENTITY  brandShortName        "Nightly">
+-<!ENTITY  brandFullName         "Nightly">
++<!ENTITY  brandShorterName      "Browser">
++<!ENTITY  brandShortName        "Browser">
++<!ENTITY  brandFullName         "Browser">
+ <!ENTITY  vendorShortName       "Mozilla">
+ <!ENTITY  trademarkInfo.part1   " ">
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_browser_installer_package-manifest.in
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_browser_installer_package-manifest.in:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_browser_installer_package-manifest.in       Thu Apr 27 13:38:18 2017
@@ -0,0 +1,22 @@
+$NetBSD: patch-mozilla_browser_installer_package-manifest.in,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/browser/installer/package-manifest.in.orig 2016-04-07 21:33:17.000000000 +0000
++++ mozilla/browser/installer/package-manifest.in
+@@ -606,7 +606,7 @@
+ @RESPATH@/components/MozKeyboard.js
+ @RESPATH@/components/InputMethod.manifest
+ 
+-#ifdef MOZ_DEBUG
++#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
+ @RESPATH@/components/TestInterfaceJS.js
+ @RESPATH@/components/TestInterfaceJS.manifest
+ @RESPATH@/components/TestInterfaceJSMaplike.js
+@@ -824,7 +824,7 @@
+ #endif
+ 
+ ; for Solaris SPARC
+-#ifdef SOLARIS
++#if defined(SOLARIS) && defined(SPARC)
+ bin/libfreebl_32fpu_3.so
+ bin/libfreebl_32int_3.so
+ bin/libfreebl_32int64_3.so
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_build_autoconf_compiler-opts.m4
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_build_autoconf_compiler-opts.m4:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_build_autoconf_compiler-opts.m4     Thu Apr 27 13:38:18 2017
@@ -0,0 +1,19 @@
+$NetBSD: patch-mozilla_build_autoconf_compiler-opts.m4,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/build/autoconf/compiler-opts.m4.orig       2016-04-07 21:33:17.000000000 +0000
++++ mozilla/build/autoconf/compiler-opts.m4
+@@ -53,14 +53,6 @@ case "$target" in
+     if test -z "$CXX"; then
+         MOZ_PATH_PROGS(CXX, clang++)
+     fi
+-    IS_GCC=$($CC -v 2>&1 | grep gcc)
+-    if test -n "$IS_GCC"
+-    then
+-      echo gcc is known to be broken on OS X, please use clang.
+-      echo see http://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions/Mac_OS_X_Prerequisites
+-      echo for more information.
+-      exit 1
+-    fi
+     ;;
+ esac
+ fi
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_build_autoconf_nss.m4
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_build_autoconf_nss.m4:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_build_autoconf_nss.m4       Thu Apr 27 13:38:18 2017
@@ -0,0 +1,46 @@
+$NetBSD: patch-mozilla_build_autoconf_nss.m4,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/build/autoconf/nss.m4.orig 2016-04-07 21:33:17.000000000 +0000
++++ mozilla/build/autoconf/nss.m4
+@@ -22,18 +22,18 @@ AC_ARG_WITH(nss-exec-prefix,
+       if test -n "$nss_config_exec_prefix"; then
+               nss_config_args="$nss_config_args --exec-prefix=$nss_config_exec_prefix"
+               if test -z "$NSS_CONFIG"; then
+-                      NSS_CONFIG=$nss_config_exec_prefix/bin/nss-config
++                      NSS_CONFIG=$nss_config_exec_prefix/bin/pkg-config
+               fi
+       fi
+       if test -n "$nss_config_prefix"; then
+               nss_config_args="$nss_config_args --prefix=$nss_config_prefix"
+               if test -z "$NSS_CONFIG"; then
+-                      NSS_CONFIG=$nss_config_prefix/bin/nss-config
++                      NSS_CONFIG=$nss_config_prefix/bin/pkg-config
+               fi
+       fi
+ 
+       unset ac_cv_path_NSS_CONFIG
+-      AC_PATH_PROG(NSS_CONFIG, nss-config, no)
++      AC_PATH_PROG(NSS_CONFIG, pkg-config, no)
+       min_nss_version=ifelse([$1], ,3.0.0,$1)
+       AC_MSG_CHECKING(for NSS - version >= $min_nss_version)
+ 
+@@ -41,14 +41,14 @@ AC_ARG_WITH(nss-exec-prefix,
+       if test "$NSS_CONFIG" = "no"; then
+               no_nss="yes"
+       else
+-              NSS_CFLAGS=`$NSS_CONFIG $nss_config_args --cflags`
+-              NSS_LIBS=`$NSS_CONFIG $nss_config_args --libs`
++              NSS_CFLAGS=`$NSS_CONFIG $nss_config_args nss --cflags`
++              NSS_LIBS=`$NSS_CONFIG $nss_config_args nss --libs`
+ 
+-              nss_config_major_version=`$NSS_CONFIG $nss_config_args --version | \
++              nss_config_major_version=`$NSS_CONFIG $nss_config_args nss --modversion | \
+                       sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\(\.\([[0-9]]*\)\)\{0,1\}/\1/'`
+-              nss_config_minor_version=`$NSS_CONFIG $nss_config_args --version | \
++              nss_config_minor_version=`$NSS_CONFIG $nss_config_args nss --modversion | \
+                       sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\(\.\([[0-9]]*\)\)\{0,1\}/\2/'`
+-              nss_config_micro_version=`$NSS_CONFIG $nss_config_args --version | \
++              nss_config_micro_version=`$NSS_CONFIG $nss_config_args nss --modversion | \
+                       sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\(\.\([[0-9]]*\)\)\{0,1\}/\4/'`
+               if test -z "$nss_config_micro_version"; then
+                       nss_config_micro_version="0"
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_build_gyp.mozbuild
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_build_gyp.mozbuild:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_build_gyp.mozbuild  Thu Apr 27 13:38:18 2017
@@ -0,0 +1,33 @@
+$NetBSD: patch-mozilla_build_gyp.mozbuild,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/build/gyp.mozbuild.orig    2016-04-07 21:33:17.000000000 +0000
++++ mozilla/build/gyp.mozbuild
+@@ -14,6 +14,7 @@ gyp_vars = {
+     'have_ethtool_cmd_speed_hi': 1 if CONFIG['MOZ_WEBRTC_HAVE_ETHTOOL_SPEED_HI'] else 0,
+     'include_alsa_audio': 1 if CONFIG['MOZ_ALSA'] else 0,
+     'include_pulse_audio': 1 if CONFIG['MOZ_PULSEAUDIO'] else 0,
++    'use_libv4l2': 1 if CONFIG['MOZ_LIBV4L2_LIBS'] else 0,
+     # basic stuff for everything
+     'include_internal_video_render': 0,
+     'clang_use_chrome_plugins': 0,
+@@ -96,7 +97,7 @@ flavors = {
+     'WINNT': 'win',
+     'Android': 'linux' if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk' else 'android',
+     'Linux': 'linux',
+-    'Darwin': 'mac' if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa' else 'ios',
++    'Darwin': 'ios' if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cairo-uikit' else 'mac',
+     'SunOS': 'solaris',
+     'GNU/kFreeBSD': 'freebsd',
+     'DragonFly': 'dragonfly',
+@@ -131,5 +132,11 @@ if CONFIG['INTEL_ARCHITECTURE']:
+     if not CONFIG['HAVE_TOOLCHAIN_SUPPORT_MSSSE3'] or not CONFIG['HAVE_TOOLCHAIN_SUPPORT_MSSE4_1']:
+         gyp_vars['yuv_disable_asm'] = 1
+ 
++# MacOS X SDK version should be able to configure with ./configure
++# --enable-macos-target=VER
++if CONFIG['MACOSX_DEPLOYMENT_TARGET']:
++    gyp_vars['mac_sdk_min'] = CONFIG['MACOSX_DEPLOYMENT_TARGET']
++    gyp_vars['mac_deployment_target'] = CONFIG['MACOSX_DEPLOYMENT_TARGET']
++
+ if CONFIG['MACOS_SDK_DIR']:
+     gyp_vars['mac_sdk_path'] = CONFIG['MACOS_SDK_DIR']
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_build_pgo_profileserver.py
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_build_pgo_profileserver.py:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_build_pgo_profileserver.py  Thu Apr 27 13:38:18 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_build_pgo_profileserver.py,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/build/pgo/profileserver.py.orig    2016-04-07 21:33:18.000000000 +0000
++++ mozilla/build/pgo/profileserver.py
+@@ -68,7 +68,7 @@ if __name__ == '__main__':
+       env["MOZ_JAR_LOG_FILE"] = os.path.abspath(jarlog)
+       print "jarlog: %s" % env["MOZ_JAR_LOG_FILE"]
+ 
+-    cmdargs = ["http://localhost:%d/index.html"; % PORT]
++    cmdargs = ["http://127.0.0.1:%d/index.html"; % PORT]
+     runner = FirefoxRunner(profile=profile,
+                            binary=build.get_binary_path(where="staged-package"),
+                            cmdargs=cmdargs,
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_Makefile.in
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_Makefile.in:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_Makefile.in  Thu Apr 27 13:38:18 2017
@@ -0,0 +1,21 @@
+$NetBSD: patch-mozilla_config_Makefile.in,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/config/Makefile.in.orig    2016-04-07 21:33:18.000000000 +0000
++++ mozilla/config/Makefile.in
+@@ -73,6 +73,16 @@ export:: $(export-preqs)
+               -DMOZ_NATIVE_LIBEVENT=$(MOZ_NATIVE_LIBEVENT) \
+               -DMOZ_NATIVE_LIBVPX=$(MOZ_NATIVE_LIBVPX) \
+               -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \
++              -DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \
++              -DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \
++              -DMOZ_NATIVE_OGG=$(MOZ_NATIVE_OGG) \
++              -DMOZ_NATIVE_THEORA=$(MOZ_NATIVE_THEORA) \
++              -DMOZ_NATIVE_VORBIS=$(MOZ_NATIVE_VORBIS) \
++              -DMOZ_NATIVE_TREMOR=$(MOZ_NATIVE_TREMOR) \
++              -DMOZ_NATIVE_CELT=$(MOZ_NATIVE_CELT) \
++              -DMOZ_NATIVE_OPUS=$(MOZ_NATIVE_OPUS) \
++              -DMOZ_NATIVE_SPEEX=$(MOZ_NATIVE_SPEEX) \
++              -DMOZ_NATIVE_SOUNDTOUCH=$(MOZ_NATIVE_SOUNDTOUCH) \
+               $(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers
+       $(INSTALL) system_wrappers $(DIST)
+ 
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_baseconfig.mk
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_baseconfig.mk:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_baseconfig.mk        Thu Apr 27 13:38:18 2017
@@ -0,0 +1,19 @@
+$NetBSD: patch-mozilla_config_baseconfig.mk,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/config/baseconfig.mk.orig  2016-04-07 21:33:18.000000000 +0000
++++ mozilla/config/baseconfig.mk
+@@ -2,10 +2,10 @@
+ # directly in python/mozbuild/mozbuild/base.py for gmake validation.
+ # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending
+ # whether a normal build is happening or whether the check is running.
+-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
++includedir := $(includedir)/${MOZILLA_PKG_NAME}
++idldir = $(datadir)/idl/${MOZILLA_PKG_NAME}
++installdir = $(libdir)/${MOZILLA_PKG_NAME}
++sdkdir = $(libdir)/${MOZILLA_PKG_NAME}
+ ifeq (.,$(DEPTH))
+ DIST = dist
+ else
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_external_moz.build
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_external_moz.build:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_external_moz.build   Thu Apr 27 13:38:18 2017
@@ -0,0 +1,36 @@
+$NetBSD: patch-mozilla_config_external_moz.build,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/config/external/moz.build.orig     2016-04-07 21:33:18.000000000 +0000
++++ mozilla/config/external/moz.build
+@@ -20,10 +20,19 @@ if CONFIG['MOZ_UPDATER']:
+ # There's no "native brotli" yet, but probably in the future...
+ external_dirs += ['modules/brotli']
+ 
+-if CONFIG['MOZ_VORBIS']:
++if not CONFIG['MOZ_NATIVE_OGG']:
++    external_dirs += ['media/libogg']
++
++if not CONFIG['MOZ_NATIVE_CELT'] or not CONFIG['MOZ_NATIVE_OPUS']:
++    external_dirs += ['media/libopus']
++
++if not CONFIG['MOZ_NATIVE_THEORA']:
++    external_dirs += ['media/libtheora']
++
++if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_NATIVE_VORBIS']:
+     external_dirs += ['media/libvorbis']
+ 
+-if CONFIG['MOZ_TREMOR']:
++if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_NATIVE_TREMOR']:
+     external_dirs += ['media/libtremor']
+ 
+ if CONFIG['MOZ_WEBM']:
+@@ -50,9 +59,6 @@ if CONFIG['MOZ_WEBSPEECH_POCKETSPHINX']:
+ external_dirs += [
+     'media/kiss_fft',
+     'media/libcubeb',
+-    'media/libogg',
+-    'media/libopus',
+-    'media/libtheora',
+     'media/libspeex_resampler',
+     'media/libstagefright',
+     'media/libsoundtouch',
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_rules.mk
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_rules.mk:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_rules.mk     Thu Apr 27 13:38:18 2017
@@ -0,0 +1,12 @@
+$NetBSD: patch-mozilla_config_rules.mk,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/config/rules.mk.orig       2016-04-07 21:33:18.000000000 +0000
++++ mozilla/config/rules.mk
+@@ -773,6 +773,7 @@ endif
+ ifdef DTRACE_PROBE_OBJ
+ EXTRA_DEPS += $(DTRACE_PROBE_OBJ)
+ OBJS += $(DTRACE_PROBE_OBJ)
++EXCLUDED_OBJS += $(DTRACE_PROBE_OBJ)
+ endif
+ 
+ $(filter %.$(LIB_SUFFIX),$(LIBRARY)): $(OBJS) $(STATIC_LIBS_DEPS) $(filter %.$(LIB_SUFFIX),$(EXTRA_LIBS)) $(EXTRA_DEPS) $(GLOBAL_DEPS)
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_stl__wrappers_ios
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_stl__wrappers_ios:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_stl__wrappers_ios    Thu Apr 27 13:38:18 2017
@@ -0,0 +1,8 @@
+$NetBSD: patch-mozilla_config_stl__wrappers_ios,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/config/stl_wrappers/ios.orig       2016-04-17 13:47:46.239830507 +0000
++++ mozilla/config/stl_wrappers/ios
+@@ -0,0 +1,3 @@
++#pragma GCC visibility push(default)
++#include_next <ios>
++#pragma GCC visibility pop
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_stl__wrappers_ostream
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_stl__wrappers_ostream:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_stl__wrappers_ostream        Thu Apr 27 13:38:18 2017
@@ -0,0 +1,8 @@
+$NetBSD: patch-mozilla_config_stl__wrappers_ostream,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/config/stl_wrappers/ostream.orig   2016-04-17 13:47:46.239960852 +0000
++++ mozilla/config/stl_wrappers/ostream
+@@ -0,0 +1,3 @@
++#pragma GCC visibility push(default)
++#include_next <ostream>
++#pragma GCC visibility pop
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_system-headers
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_system-headers:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_config_system-headers       Thu Apr 27 13:38:18 2017
@@ -0,0 +1,90 @@
+$NetBSD: patch-mozilla_config_system-headers,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/config/system-headers.orig 2016-04-07 21:33:18.000000000 +0000
++++ mozilla/config/system-headers
+@@ -628,6 +628,7 @@ libgnome/libgnome.h
+ libgnomeui/gnome-icon-lookup.h
+ libgnomeui/gnome-icon-theme.h
+ libgnomeui/gnome-ui-init.h
++libv4l2.h
+ lib$routines.h
+ limits
+ limits.h
+@@ -722,6 +723,7 @@ mapiutil.h
+ mapix.h
+ Math64.h
+ math.h
++complex
+ mbstring.h
+ #ifdef ANDROID
+ media/AudioEffect.h
+@@ -1314,6 +1316,25 @@ vpx/vp8cx.h
+ vpx/vp8dx.h
+ vpx_mem/vpx_mem.h
+ #endif
++#ifdef GKMEDIAS_SHARED_LIBRARY
++vpx/vpx_codec.h
++vpx/vpx_decoder.h
++vpx/vpx_encoder.h
++vpx/vp8cx.h
++vpx/vp8dx.h
++vpx_mem/vpx_mem.h
++vorbis/codec.h
++theora/theoradec.h
++tremor/ivorbiscodec.h
++speex/speex_resampler.h
++soundtouch/SoundTouch.h
++ogg/ogg.h
++ogg/os_types.h
++nestegg/nestegg.h
++cubeb/cubeb.h
++speex/speex_resampler.h
++soundtouch/SoundTouch.h
++#endif
+ gst/gst.h
+ gst/app/gstappsink.h
+ gst/app/gstappsrc.h
+@@ -1344,3 +1365,43 @@ unicode/utypes.h
+ #endif
+ libutil.h
+ unwind.h
++#if MOZ_NATIVE_GRAPHITE2==1
++graphite2/Font.h
++graphite2/Segment.h
++#endif
++#if MOZ_NATIVE_HARFBUZZ==1
++harfbuzz/hb-ot.h
++harfbuzz/hb.h
++#endif
++#if MOZ_NATIVE_OGG==1
++ogg/ogg.h
++ogg/os_types.h
++#endif
++#if MOZ_NATIVE_THEORA==1
++theora/theoradec.h
++#endif
++#if MOZ_NATIVE_VORBIS==1
++vorbis/codec.h
++vorbis/vorbisenc.h
++#endif
++#if MOZ_NATIVE_TREMOR==1
++tremor/ivorbiscodec.h
++#endif
++#if MOZ_NATIVE_CELT==1
++celt.h
++celt_header.h
++celt/celt.h
++celt/celt_header.h
++#endif
++#if MOZ_NATIVE_OPUS==1
++opus.h
++opus_multistream.h
++opus/opus.h
++opus/opus_multistream.h
++#endif
++#if MOZ_NATIVE_SPEEX==1
++speex/speex_resampler.h
++#endif
++#if MOZ_NATIVE_SOUNDTOUCH==1
++soundtouch/SoundTouch.h
++#endif
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_configure.in
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_configure.in:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_configure.in        Thu Apr 27 13:38:18 2017
@@ -0,0 +1,365 @@
+$NetBSD: patch-mozilla_configure.in,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/configure.in.orig  2016-04-07 21:33:18.000000000 +0000
++++ mozilla/configure.in
+@@ -1746,7 +1746,7 @@ fi
+ dnl ========================================================
+ dnl SPS Profiler
+ dnl ========================================================
+-MOZ_ENABLE_PROFILER_SPS=1
++MOZ_ENABLE_PROFILER_SPS=
+ 
+ case "${OS_TARGET}" in
+ Android)
+@@ -1996,7 +1996,6 @@ case "$target" in
+         _PLATFORM_DEFAULT_TOOLKIT='cairo-uikit'
+         direct_nspr_config=1
+     else
+-        AC_DEFINE(XP_MACOSX)
+         AC_DEFINE(XP_DARWIN)
+         _PLATFORM_DEFAULT_TOOLKIT='cairo-cocoa'
+         # The ExceptionHandling framework is needed for Objective-C exception
+@@ -2580,8 +2579,7 @@ MOZ_CXX11
+ 
+ AC_LANG_C
+ 
+-dnl Check for .hidden assembler directive and visibility attribute.
+-dnl Borrowed from glibc configure.in
++dnl Setup default hidden visibility and wrapped system headers.
+ dnl ===============================================================
+ if test "$GNU_CC" -a "$OS_TARGET" != WINNT; then
+   AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
+@@ -3476,6 +3474,14 @@ if test -n "$YASM"; then
+   _YASM_BUILD=`        echo ${YASM_VERSION} | $AWK -F\. '{ print $4 }'`
+ fi
+ 
++if test -n "${LIBXUL_SDK_DIR}"; then
++    AC_MSG_WARN([pkgsrc: LIBXUL_SDK_DIR is set; assuming we want nss and nspr from xulrunner.])
++    NSPR_CFLAGS="-I${prefix}/include/xulrunner/unstable `pkg-config --cflags nspr`"
++    NSPR_LIBS="`pkg-config --libs nspr`"
++    NSS_CFLAGS="`pkg-config --cflags nss`"
++    NSS_LIBS="`pkg-config --libs nss`"
++fi
++
+ if test -z "$SKIP_LIBRARY_CHECKS"; then
+ dnl system JPEG support
+ dnl ========================================================
+@@ -3503,11 +3509,7 @@ if test "$MOZ_NATIVE_JPEG" = 1; then
+                      #include <jpeglib.h> ],
+                    [ #if JPEG_LIB_VERSION < $MOZJPEG
+                      #error "Insufficient JPEG library version ($MOZJPEG required)."
+-                     #endif
+-                     #ifndef JCS_EXTENSIONS
+-                     #error "libjpeg-turbo JCS_EXTENSIONS required"
+-                     #endif
+-                     ],
++                     #endif ],
+                    MOZ_NATIVE_JPEG=1,
+                    AC_MSG_ERROR([Insufficient JPEG library version for --with-system-jpeg]))
+ fi
+@@ -4260,6 +4262,10 @@ cairo-gonk)
+ 
+ esac
+ 
++if test "$MOZ_WIDGET_TOOLKIT" = "cocoa"; then
++   AC_DEFINE(XP_MACOSX)
++fi
++
+ AC_SUBST(MOZ_PDF_PRINTING)
+ if test "$MOZ_PDF_PRINTING"; then
+    PDF_SURFACE_FEATURE="#define CAIRO_HAS_PDF_SURFACE 1"
+@@ -5018,6 +5024,9 @@ if test -n "$MOZ_WEBRTC"; then
+     MOZ_VPX=1
+     MOZ_VPX_ERROR_CONCEALMENT=1
+ 
++    dnl with libv4l2 we can support more cameras
++    PKG_CHECK_MODULES(MOZ_LIBV4L2, libv4l2)
++
+ dnl enable once Signaling lands
+     MOZ_WEBRTC_SIGNALING=1
+     AC_DEFINE(MOZ_WEBRTC_SIGNALING)
+@@ -5161,6 +5170,142 @@ if test "${ac_cv_c_attribute_aligned}" !
+ fi
+ 
+ dnl ========================================================
++dnl Check for libogg
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-ogg,
++[  --with-system-ogg       Use system libogg (located with pkgconfig)],
++MOZ_NATIVE_OGG=1,
++MOZ_NATIVE_OGG=)
++
++if test -n "$MOZ_NATIVE_OGG"; then
++    PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.2.1)
++
++    _SAVE_LIBS=$LIBS
++    LIBS="$LIBS $MOZ_OGG_LIBS"
++    AC_CHECK_FUNC(ogg_set_mem_functions, [],
++      [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)])
++    LIBS=$_SAVE_LIBS
++fi
++
++AC_SUBST(MOZ_NATIVE_OGG)
++
++dnl ========================================================
++dnl Check for libvorbis
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-vorbis,
++[  --with-system-vorbis    Use system libvorbis (located with pkgconfig)],
++MOZ_NATIVE_VORBIS=1,
++MOZ_NATIVE_VORBIS=)
++
++if test -n "$MOZ_NATIVE_VORBIS"; then
++    PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.5)
++fi
++
++AC_SUBST(MOZ_NATIVE_VORBIS)
++
++dnl ========================================================
++dnl Check for integer-only libvorbis aka tremor
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-tremor,
++[  --with-system-tremor    Use system libtremor (located with pkgconfig)],
++MOZ_NATIVE_TREMOR=1,
++MOZ_NATIVE_TREMOR=)
++
++if test -n "$MOZ_NATIVE_TREMOR"; then
++    PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1)
++fi
++
++AC_SUBST(MOZ_NATIVE_TREMOR)
++
++dnl ========================================================
++dnl Check for libcelt
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-celt,
++[  --with-system-celt      Use system libcelt (located with pkgconfig)],
++MOZ_NATIVE_CELT=1,
++MOZ_NATIVE_CELT=)
++
++if test -n "$MOZ_NATIVE_CELT"; then
++    PKG_CHECK_MODULES(MOZ_CELT, celt)
++else
++    MOZ_CELT_CFLAGS='-I$(topsrcdir)/media/libopus'
++fi
++
++AC_SUBST(MOZ_NATIVE_CELT)
++
++dnl ========================================================
++dnl Check for libopus
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-opus,
++[  --with-system-opus      Use system libopus (located with pkgconfig)],
++MOZ_NATIVE_OPUS=1,
++MOZ_NATIVE_OPUS=)
++
++if test -n "$MOZ_NATIVE_OPUS"; then
++    PKG_CHECK_MODULES(MOZ_OPUS, opus >= 1.1)
++else
++    MOZ_OPUS_CFLAGS='-I$(topsrcdir)/media/libopus/include'
++fi
++
++AC_SUBST(MOZ_NATIVE_OPUS)
++
++dnl ========================================================
++dnl Check for libtheora
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-theora,
++[  --with-system-theora    Use system libtheora (located with pkgconfig)],
++MOZ_NATIVE_THEORA=1,
++MOZ_NATIVE_THEORA=)
++
++if test -n "$MOZ_NATIVE_THEORA"; then
++    PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2)
++fi
++
++AC_SUBST(MOZ_NATIVE_THEORA)
++
++dnl ========================================================
++dnl Check for libsoundtouch
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-soundtouch,
++[  --with-system-soundtouch Use system libsoundtouch (located with pkgconfig)],
++MOZ_NATIVE_SOUNDTOUCH=1,
++MOZ_NATIVE_SOUNDTOUCH=)
++
++if test -n "$MOZ_NATIVE_SOUNDTOUCH"; then
++    PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.8.0)
++
++    AC_LANG_SAVE
++    AC_LANG_CPLUSPLUS
++    _SAVE_CXXFLAGS=$CXXFLAGS
++    CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS"
++    AC_CACHE_CHECK(for soundtouch sample type,
++                   ac_cv_soundtouch_sample_type,
++                   [AC_TRY_COMPILE([#include <SoundTouch.h>
++                                    #ifndef SOUNDTOUCH_INTEGER_SAMPLES
++                                    #error soundtouch expects float samples
++                                    #endif],
++                                   [],
++                                   [ac_cv_soundtouch_sample_type=short],
++                                   [ac_cv_soundtouch_sample_type=float])])
++    CXXFLAGS=$_SAVE_CXXFLAGS
++    AC_LANG_RESTORE
++
++    if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \
++         -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then
++        AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove 
--with-system-soundtouch.])
++    fi
++fi
++
++AC_SUBST(MOZ_NATIVE_SOUNDTOUCH)
++
++dnl ========================================================
+ dnl = Disable VP8 decoder support
+ dnl ========================================================
+ MOZ_ARG_DISABLE_BOOL(webm,
+@@ -5563,6 +5708,67 @@ fi
+ AC_SUBST(MOZ_WEBM_ENCODER)
+ 
+ dnl ==================================
++dnl = Check OSS availability
++dnl ==================================
++
++dnl If using Linux, Solaris or BSDs, ensure that OSS is available
++case "$OS_TARGET" in
++Linux|SunOS|DragonFly|FreeBSD|GNU/kFreeBSD)
++    MOZ_OSS=1
++    ;;
++esac
++
++MOZ_ARG_WITH_STRING(oss,
++[  --with-oss[=PFX]        Enable OpenSoundSystem support [installed at prefix PFX]],
++   OSSPREFIX=$withval)
++
++if test -n "$OSSPREFIX"; then
++    if test "$OSSPREFIX" != "no"; then
++        MOZ_OSS=1
++    else
++        MOZ_OSS=
++    fi
++fi
++
++_SAVE_CFLAGS=$CFLAGS
++_SAVE_LIBS=$LIBS
++if test -n "$MOZ_OSS"; then
++    dnl Prefer 4Front implementation
++    AC_MSG_CHECKING([MOZ_OSS_CFLAGS])
++    if test "$OSSPREFIX" != "yes"; then
++        oss_conf=${OSSPREFIX}/etc/oss.conf
++        if test -f "$oss_conf"; then
++            . "$oss_conf"
++        else
++            OSSLIBDIR=$OSSPREFIX/lib/oss
++        fi
++        if test -d "$OSSLIBDIR"; then
++            MOZ_OSS_CFLAGS="$MOZ_OSS_CFLAGS -I$OSSLIBDIR/include"
++        fi
++    fi
++    AC_MSG_RESULT([$MOZ_OSS_CFLAGS])
++
++    CFLAGS="$CFLAGS $MOZ_OSS_CFLAGS"
++    MOZ_CHECK_HEADERS(sys/soundcard.h soundcard.h)
++
++    if test "$ac_cv_header_sys_soundcard_h" != "yes" -a \
++            "$ac_cv_header_soundcard_h" != "yes"; then
++        AC_MSG_ERROR([Need OSS for Ogg, Wave or WebM decoding on $OS_TARGET.  Disable with --disable-ogg --disable-wave --disable-webm.])
++    fi
++
++    dnl Assume NetBSD implementation over SunAudio
++    AC_CHECK_LIB(ossaudio, _oss_ioctl,
++        [AC_DEFINE_UNQUOTED(CUBEB_OSS_DEFAULT_OUTPUT, "/dev/sound")
++         MOZ_OSS_LIBS="$MOZ_OSS_LIBS -lossaudio"])
++fi
++CFLAGS=$_SAVE_CFLAGS
++LIBS=$_SAVE_LIBS
++
++AC_SUBST(MOZ_OSS)
++AC_SUBST_LIST(MOZ_OSS_CFLAGS)
++AC_SUBST_LIST(MOZ_OSS_LIBS)
++
++dnl ==================================
+ dnl = Check alsa availability on Linux
+ dnl ==================================
+ 
+@@ -5576,12 +5782,23 @@ MOZ_ARG_ENABLE_BOOL(alsa,
+    MOZ_ALSA=1,
+    MOZ_ALSA=)
+ 
++MOZ_ARG_DISABLE_BOOL(alsa-dlopen,
++[  --disable-alsa-dlopen   Disable runtime linking of libasound.so],
++   DISABLE_LIBASOUND_DLOPEN=1,
++   DISABLE_LIBASOUND_DLOPEN=)
++
+ if test -n "$MOZ_ALSA"; then
+     PKG_CHECK_MODULES(MOZ_ALSA, alsa, ,
+          [echo "$MOZ_ALSA_PKG_ERRORS"
+           AC_MSG_ERROR([Need alsa for audio output on Linux. (On Ubuntu, you might try installing the package libasound2-dev.)])])
+ fi
+ 
++if test -n "$DISABLE_LIBASOUND_DLOPEN"; then
++    AC_DEFINE(DISABLE_LIBASOUND_DLOPEN)
++else
++    MOZ_ALSA_LIBS=
++fi
++
+ AC_SUBST(MOZ_ALSA)
+ 
+ dnl ========================================================
+@@ -8139,6 +8356,49 @@ if test "$USE_FC_FREETYPE"; then
+ fi
+ 
+ dnl ========================================================
++dnl Check for harfbuzz
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-harfbuzz,
++[  --with-system-harfbuzz  Use system harfbuzz (located with pkgconfig)],
++MOZ_NATIVE_HARFBUZZ=1,
++MOZ_NATIVE_HARFBUZZ=)
++
++if test -n "$MOZ_NATIVE_HARFBUZZ"; then
++    PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 0.9.34)
++fi
++
++AC_SUBST(MOZ_NATIVE_HARFBUZZ)
++
++dnl ========================================================
++dnl Check for graphite2
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-graphite2,
++[  --with-system-graphite2 Use system graphite2 (located with pkgconfig)],
++MOZ_NATIVE_GRAPHITE2=1,
++MOZ_NATIVE_GRAPHITE2=)
++
++if test -n "$MOZ_NATIVE_GRAPHITE2"; then
++    PKG_CHECK_MODULES(MOZ_GRAPHITE2, graphite2)
++
++    dnl graphite2.pc has bogus version, check manually
++    AC_TRY_COMPILE([ #include <graphite2/Font.h>
++                     #define GR2_VERSION_REQUIRE(major,minor,bugfix)  \
++                             ( GR2_VERSION_MAJOR * 10000 + GR2_VERSION_MINOR \
++                               * 100 + GR2_VERSION_BUGFIX >= \
++                               (major) * 10000 + (minor) * 100 + (bugfix) )
++                   ], [
++                     #if !GR2_VERSION_REQUIRE(1,2,4)
++                     #error "Insufficient graphite2 version."
++                     #endif
++                   ], [],
++                   [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])])
++fi
++
++AC_SUBST(MOZ_NATIVE_GRAPHITE2)
++
++dnl ========================================================
+ dnl Check for pixman and cairo
+ dnl ========================================================
+ 
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_base_DOMRequest.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_base_DOMRequest.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_base_DOMRequest.cpp     Thu Apr 27 13:38:18 2017
@@ -0,0 +1,12 @@
+$NetBSD: patch-mozilla_dom_base_DOMRequest.cpp,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/dom/base/DOMRequest.cpp.orig       2016-04-07 21:33:22.000000000 +0000
++++ mozilla/dom/base/DOMRequest.cpp
+@@ -20,7 +20,6 @@ using mozilla::dom::DOMError;
+ using mozilla::dom::DOMRequest;
+ using mozilla::dom::DOMRequestService;
+ using mozilla::dom::DOMCursor;
+-using mozilla::dom::Promise;
+ using mozilla::dom::AutoJSAPI;
+ 
+ DOMRequest::DOMRequest(nsPIDOMWindow* aWindow)
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_base_moz.build
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_base_moz.build:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_base_moz.build  Thu Apr 27 13:38:18 2017
@@ -0,0 +1,14 @@
+$NetBSD: patch-mozilla_dom_base_moz.build,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/dom/base/moz.build.orig    2016-04-07 21:33:22.000000000 +0000
++++ mozilla/dom/base/moz.build
+@@ -393,6 +393,9 @@ if CONFIG['INTEL_ARCHITECTURE']:
+     SOURCES += ['nsTextFragmentSSE2.cpp']
+     SOURCES['nsTextFragmentSSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
+ 
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++    SOURCES['nsContentUtils.cpp'].flags += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ EXTRA_COMPONENTS += [
+     'ConsoleAPI.manifest',
+     'ConsoleAPIStorage.js',
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_media_gstreamer_GStreamerAllocator.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_media_gstreamer_GStreamerAllocator.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_media_gstreamer_GStreamerAllocator.cpp  Thu Apr 27 13:38:18 2017
@@ -0,0 +1,12 @@
+$NetBSD: patch-mozilla_dom_media_gstreamer_GStreamerAllocator.cpp,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/dom/media/gstreamer/GStreamerAllocator.cpp.orig    2016-04-07 21:33:27.000000000 +0000
++++ mozilla/dom/media/gstreamer/GStreamerAllocator.cpp
+@@ -51,7 +51,6 @@ typedef struct
+ #pragma GCC diagnostic ignored "-Wunused-function"
+ G_DEFINE_TYPE(MozGfxMemoryAllocator, moz_gfx_memory_allocator, GST_TYPE_ALLOCATOR);
+ G_DEFINE_TYPE(MozGfxBufferPool, moz_gfx_buffer_pool, GST_TYPE_VIDEO_BUFFER_POOL);
+-#pragma GCC diagnostic pop
+ 
+ void
+ moz_gfx_memory_reset(MozGfxMemory *mem)
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_media_moz.build
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_media_moz.build:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_media_moz.build Thu Apr 27 13:38:18 2017
@@ -0,0 +1,32 @@
+$NetBSD: patch-mozilla_dom_media_moz.build,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/dom/media/moz.build.orig   2016-04-07 21:33:27.000000000 +0000
++++ mozilla/dom/media/moz.build
+@@ -319,6 +319,27 @@ if CONFIG['MOZ_GONK_MEDIACODEC']:
+ CFLAGS += CONFIG['GSTREAMER_CFLAGS']
+ CXXFLAGS += CONFIG['GSTREAMER_CFLAGS']
+ 
++if CONFIG['MOZ_NATIVE_OGG']:
++    CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_THEORA']:
++    CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_VORBIS']:
++    CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_TREMOR']:
++    CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_OPUS']:
++    CXXFLAGS += CONFIG['MOZ_OPUS_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_SPEEX']:
++    CXXFLAGS += CONFIG['MOZ_SPEEX_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_SOUNDTOUCH']:
++    CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS']
++
+ include('/ipc/chromium/chromium-config.mozbuild')
+ 
+ # Suppress some GCC warnings being treated as errors:
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp       Thu Apr 27 13:38:18 2017
@@ -0,0 +1,31 @@
+$NetBSD: patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/dom/plugins/ipc/PluginModuleChild.cpp.orig 2016-04-07 21:33:30.000000000 +0000
++++ mozilla/dom/plugins/ipc/PluginModuleChild.cpp
+@@ -308,7 +308,7 @@ PluginModuleChild::InitForChrome(const s
+ 
+     // TODO: use PluginPRLibrary here
+ 
+-#if defined(OS_LINUX) || defined(OS_BSD)
++#if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS)
+     mShutdownFunc =
+         (NP_PLUGINSHUTDOWN) PR_FindFunctionSymbol(mLibrary, "NP_Shutdown");
+ 
+@@ -1916,7 +1916,7 @@ PluginModuleChild::AnswerNP_GetEntryPoin
+     AssertPluginThread();
+     MOZ_ASSERT(mIsChrome);
+ 
+-#if defined(OS_LINUX) || defined(OS_BSD)
++#if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS)
+     return true;
+ #elif defined(OS_WIN) || defined(OS_MACOSX)
+     *_retval = mGetEntryPointsFunc(&mFunctions);
+@@ -1961,7 +1961,7 @@ PluginModuleChild::DoNP_Initialize(const
+ #endif
+ 
+     NPError result;
+-#if defined(OS_LINUX) || defined(OS_BSD)
++#if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS)
+     result = mInitializeFunc(&sBrowserFuncs, &mFunctions);
+ #elif defined(OS_WIN) || defined(OS_MACOSX)
+     result = mInitializeFunc(&sBrowserFuncs);
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.h Thu Apr 27 13:38:18 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_dom_plugins_ipc_PluginModuleChild.h,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/dom/plugins/ipc/PluginModuleChild.h.orig   2016-04-07 21:33:30.000000000 +0000
++++ mozilla/dom/plugins/ipc/PluginModuleChild.h
+@@ -281,7 +281,7 @@ private:
+ 
+     // we get this from the plugin
+     NP_PLUGINSHUTDOWN mShutdownFunc;
+-#if defined(OS_LINUX) || defined(OS_BSD)
++#if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS)
+     NP_PLUGINUNIXINIT mInitializeFunc;
+ #elif defined(OS_WIN) || defined(OS_MACOSX)
+     NP_PLUGININIT mInitializeFunc;
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_plugins_ipc_PluginProcessChild.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_plugins_ipc_PluginProcessChild.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_plugins_ipc_PluginProcessChild.cpp      Thu Apr 27 13:38:18 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_dom_plugins_ipc_PluginProcessChild.cpp,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/dom/plugins/ipc/PluginProcessChild.cpp.orig        2016-04-07 21:33:30.000000000 +0000
++++ mozilla/dom/plugins/ipc/PluginProcessChild.cpp
+@@ -46,7 +46,7 @@ PluginProcessChild::Init()
+ {
+     nsDebugImpl::SetMultiprocessMode("NPAPI");
+ 
+-#if defined(XP_MACOSX)
++#if defined(MOZ_WIDGET_COCOA)
+     // Remove the trigger for "dyld interposing" that we added in
+     // GeckoChildProcessHost::PerformAsyncLaunchInternal(), in the host
+     // process just before we were launched.  Dyld interposing will still
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_system_OSFileConstants.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_system_OSFileConstants.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_dom_system_OSFileConstants.cpp      Thu Apr 27 13:38:18 2017
@@ -0,0 +1,46 @@
+$NetBSD: patch-mozilla_dom_system_OSFileConstants.cpp,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/dom/system/OSFileConstants.cpp.orig        2016-04-07 21:33:31.000000000 +0000
++++ mozilla/dom/system/OSFileConstants.cpp
+@@ -11,6 +11,10 @@
+ 
+ #include "prsystem.h"
+ 
++#if defined(__NetBSD__)
++#include <sys/param.h>
++#endif
++
+ #if defined(XP_UNIX)
+ #include "unistd.h"
+ #include "dirent.h"
+@@ -20,7 +24,9 @@
+ #define statvfs statfs
+ #else
+ #include "sys/statvfs.h"
++#if !(defined(__NetBSD__) && (__NetBSD_Version__ < 600000000))
+ #include <spawn.h>
++#endif // !NetBSD 5.*
+ #endif // defined(ANDROID)
+ #endif // defined(XP_UNIX)
+ 
+@@ -28,9 +34,9 @@
+ #include <linux/fadvise.h>
+ #endif // defined(XP_LINUX)
+ 
+-#if defined(XP_MACOSX)
++#if defined(XP_DARWIN)
+ #include "copyfile.h"
+-#endif // defined(XP_MACOSX)
++#endif // defined(XP_DARWIN)
+ 
+ #if defined(XP_WIN)
+ #include <windows.h>
+@@ -590,7 +596,7 @@ static const dom::ConstantSpec gLibcProp
+   // The size of |fsblkcnt_t|.
+   { "OSFILE_SIZEOF_FSBLKCNT_T", JS::Int32Value(sizeof (fsblkcnt_t)) },
+ 
+-#if !defined(ANDROID)
++#if !defined(ANDROID) && !(defined(__NetBSD__) && (__NetBSD_Version__ < 600000000))
+   // The size of |posix_spawn_file_actions_t|.
+   { "OSFILE_SIZEOF_POSIX_SPAWN_FILE_ACTIONS_T", JS::Int32Value(sizeof (posix_spawn_file_actions_t)) },
+ #endif // !defined(ANDROID)
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_extensions_spellcheck_hunspell_glue_mozHunspell.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_extensions_spellcheck_hunspell_glue_mozHunspell.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_extensions_spellcheck_hunspell_glue_mozHunspell.cpp Thu Apr 27 13:38:18 2017
@@ -0,0 +1,19 @@
+$NetBSD: patch-mozilla_extensions_spellcheck_hunspell_glue_mozHunspell.cpp,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/extensions/spellcheck/hunspell/glue/mozHunspell.cpp.orig   2016-04-07 21:33:34.000000000 +0000
++++ mozilla/extensions/spellcheck/hunspell/glue/mozHunspell.cpp
+@@ -358,6 +358,14 @@ mozHunspell::LoadDictionaryList(bool aNo
+     }
+   }
+ 
++  // load system hunspell dictionaries
++  nsCOMPtr<nsIFile> hunDir;
++  NS_NewNativeLocalFile(NS_LITERAL_CSTRING("@PREFIX@/share/hunspell"),
++                        true, getter_AddRefs(hunDir));
++  if (hunDir) {
++      LoadDictionariesFromDir(hunDir);
++  }
++
+   // find dictionaries from extensions requiring restart
+   nsCOMPtr<nsISimpleEnumerator> dictDirs;
+   rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST,
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_cairo_libpixman_src_pixman-arm-neon-asm.S
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_cairo_libpixman_src_pixman-arm-neon-asm.S:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_cairo_libpixman_src_pixman-arm-neon-asm.S       Thu Apr 27 13:38:18 2017
@@ -0,0 +1,37 @@
+$NetBSD: patch-mozilla_gfx_cairo_libpixman_src_pixman-arm-neon-asm.S,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/gfx/cairo/libpixman/src/pixman-arm-neon-asm.S.orig 2016-04-07 21:33:13.000000000 +0000
++++ mozilla/gfx/cairo/libpixman/src/pixman-arm-neon-asm.S
+@@ -34,6 +34,12 @@
+  *  - pixman_composite_over_n_8_0565_asm_neon
+  */
+ 
++#if defined(__ARM_EABI__) && !defined(__ARM_DWARF_EH__)
++#define UNWIND
++#else
++#define UNWIND @
++#endif
++
+ /* Prevent the stack from becoming executable for no reason... */
+ #if defined(__linux__) && defined(__ELF__)
+ .section .note.GNU-stack,"",%progbits
+@@ -3141,7 +3147,8 @@ pixman_asm_function fname
+     TMP4      .req      r9
+     STRIDE    .req      r2
+ 
+-    .fnstart
++    .cfi_startproc
++    UNWIND .fnstart
+     mov       ip, sp
+     .save     {r4, r5, r6, r7, r8, r9}
+     push      {r4, r5, r6, r7, r8, r9}
+@@ -3244,7 +3251,8 @@ pixman_asm_function fname
+ .endif
+     pop       {r4, r5, r6, r7, r8, r9}
+     bx        lr
+-    .fnend
++    UNWIND .fnend
++    .cfi_endproc
+ 
+     .unreq    OUT
+     .unreq    TOP
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_gl_GLContextProviderGLX.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_gl_GLContextProviderGLX.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_gl_GLContextProviderGLX.cpp     Thu Apr 27 13:38:18 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_gfx_gl_GLContextProviderGLX.cpp,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/gfx/gl/GLContextProviderGLX.cpp.orig       2016-04-07 21:33:13.000000000 +0000
++++ mozilla/gfx/gl/GLContextProviderGLX.cpp
+@@ -84,7 +84,7 @@ GLXLibrary::EnsureInitialized()
+         // see e.g. bug 608526: it is intrinsically interesting to know whether we have dynamically linked to libGL.so.1
+         // because at least the NVIDIA implementation requires an executable stack, which causes mprotect calls,
+         // which trigger glibc bug http://sourceware.org/bugzilla/show_bug.cgi?id=12225
+-#ifdef __OpenBSD__
++#if defined(__OpenBSD__) || defined(__NetBSD__)
+         libGLfilename = "libGL.so";
+ #else
+         libGLfilename = "libGL.so.1";
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_graphite2_src_Bidi.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_graphite2_src_Bidi.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_graphite2_src_Bidi.cpp  Thu Apr 27 13:38:18 2017
@@ -0,0 +1,16 @@
+$NetBSD: patch-mozilla_gfx_graphite2_src_Bidi.cpp,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/gfx/graphite2/src/Bidi.cpp.orig    2016-04-07 21:33:13.000000000 +0000
++++ mozilla/gfx/graphite2/src/Bidi.cpp
+@@ -31,6 +31,11 @@ of the License or (at your option) any l
+ 
+ using namespace graphite2;
+ 
++#ifdef __sun
++#undef CS
++#undef ES
++#endif
++
+ enum DirCode {  // Hungarian: dirc
+         Unk        = -1,
+         N          =  0,   // other neutrals (default) - ON
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_moz.build
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_moz.build:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_moz.build       Thu Apr 27 13:38:18 2017
@@ -0,0 +1,26 @@
+$NetBSD: patch-mozilla_gfx_moz.build,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/gfx/moz.build.orig 2016-04-07 21:33:14.000000000 +0000
++++ mozilla/gfx/moz.build
+@@ -7,6 +7,12 @@
+ if CONFIG['MOZ_TREE_CAIRO']:
+     DIRS += ['cairo']
+ 
++if not CONFIG['MOZ_NATIVE_GRAPHITE2']:
++    DIRS += ['graphite2/src' ]
++
++if not CONFIG['MOZ_NATIVE_HARFBUZZ']:
++    DIRS += ['harfbuzz/src']
++
+ DIRS += [
+     '2d',
+     'ycbcr',
+@@ -15,8 +21,6 @@ DIRS += [
+     'qcms',
+     'gl',
+     'layers',
+-    'graphite2/src',
+-    'harfbuzz/src',
+     'ots/src',
+     'thebes',
+     'ipc',
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_skia_generate__mozbuild.py
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_skia_generate__mozbuild.py:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_skia_generate__mozbuild.py      Thu Apr 27 13:38:18 2017
@@ -0,0 +1,17 @@
+$NetBSD: patch-mozilla_gfx_skia_generate__mozbuild.py,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/gfx/skia/generate_mozbuild.py.orig 2016-04-07 21:33:14.000000000 +0000
++++ mozilla/gfx/skia/generate_mozbuild.py
+@@ -155,6 +155,12 @@ if CONFIG['GNU_CXX']:
+     if CONFIG['CPU_ARCH'] == 'arm':
+         SOURCES['skia/src/opts/SkBlitRow_opts_arm.cpp'].flags += ['-fomit-frame-pointer']
+ 
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk', 'qt'):
+     CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
+     CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_skia_moz.build
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_skia_moz.build:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_skia_moz.build  Thu Apr 27 13:38:18 2017
@@ -0,0 +1,17 @@
+$NetBSD: patch-mozilla_gfx_skia_moz.build,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/gfx/skia/moz.build.orig    2016-04-07 21:33:14.000000000 +0000
++++ mozilla/gfx/skia/moz.build
+@@ -684,6 +684,12 @@ if CONFIG['GNU_CXX']:
+     if CONFIG['CPU_ARCH'] == 'arm':
+         SOURCES['skia/src/opts/SkBlitRow_opts_arm.cpp'].flags += ['-fomit-frame-pointer']
+ 
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk', 'qt'):
+     CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
+     CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_skia_skia_src_core_SkUtilsArm.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_skia_skia_src_core_SkUtilsArm.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_skia_skia_src_core_SkUtilsArm.cpp       Thu Apr 27 13:38:18 2017
@@ -0,0 +1,45 @@
+$NetBSD: patch-mozilla_gfx_skia_skia_src_core_SkUtilsArm.cpp,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/gfx/skia/skia/src/core/SkUtilsArm.cpp.orig 2016-04-07 21:33:15.000000000 +0000
++++ mozilla/gfx/skia/skia/src/core/SkUtilsArm.cpp
+@@ -16,6 +16,10 @@
+ #include <string.h>
+ #include <pthread.h>
+ 
++#if defined(__NetBSD__)
++#include <sys/sysctl.h>
++#endif
++
+ // Set USE_ANDROID_NDK_CPU_FEATURES to use the Android NDK's
+ // cpu-features helper library to detect NEON at runtime. See
+ // http://crbug.com/164154 to see why this is needed in Chromium
+@@ -47,6 +51,11 @@
+ #  endif
+ #endif
+ 
++#if !defined(TEMP_FAILURE_RETRY)
++   // TEMP_FAILURE_RETRY is glibc specific
++#  define TEMP_FAILURE_RETRY
++#endif
++
+ // A function used to determine at runtime if the target CPU supports
+ // the ARM NEON instruction set. This implementation is Linux-specific.
+ static bool sk_cpu_arm_check_neon(void) {
+@@ -82,6 +91,17 @@ static bool sk_cpu_arm_check_neon(void) 
+ 
+   result = (android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_NEON) != 0;
+ 
++#elif defined(__NetBSD__)
++
++    size_t len;
++    int flag;
++    len = sizeof(flag);
++    if (sysctlbyname("machdep.neon_present", &flag, &len, NULL, 0) == 0) {
++        result = flag != 0;
++    } else {
++        result = false;
++    }
++
+ #else  // USE_ANDROID_NDK_CPU_FEATURES
+ 
+     // There is no user-accessible CPUID instruction on ARM that we can use.
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_skia_skia_src_opts_SkBitmapProcState__opts__arm.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_skia_skia_src_opts_SkBitmapProcState__opts__arm.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_skia_skia_src_opts_SkBitmapProcState__opts__arm.cpp     Thu Apr 27 13:38:18 2017
@@ -0,0 +1,28 @@
+$NetBSD: patch-mozilla_gfx_skia_skia_src_opts_SkBitmapProcState__opts__arm.cpp,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/gfx/skia/skia/src/opts/SkBitmapProcState_opts_arm.cpp.orig 2016-04-07 21:33:15.000000000 +0000
++++ mozilla/gfx/skia/skia/src/opts/SkBitmapProcState_opts_arm.cpp
+@@ -97,7 +97,11 @@ void SI8_D16_nofilter_DX_arm(const SkBit
+             "2:                                        \n\t"
+             : [xx] "+r" (xx), [count8] "+r" (count8), [colors] "+r" (colors)
+             : [table] "r" (table), [srcAddr] "r" (srcAddr)
++#if defined(__NetBSD__)
++            : "memory", "cc", "r4", "r5", "r6", "r7", "r8", "r9", "r10"
++#else
+             : "memory", "cc", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11"
++#endif
+         );
+ 
+         for (i = (count & 7); i > 0; --i) {
+@@ -181,7 +185,11 @@ void SI8_opaque_D32_nofilter_DX_arm(cons
+             "4:                                       \n\t"   // exit
+             : [xx] "+r" (xx), [count] "+r" (count), [colors] "+r" (colors)
+             : [table] "r" (table), [srcAddr] "r" (srcAddr)
++#if defined(__NetBSD__)
++            : "memory", "cc", "r4", "r5", "r6", "r7", "r8", "r9", "r10"
++#else
+             : "memory", "cc", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11"
++#endif
+         );
+     }
+ 
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_skia_skia_src_opts_memset.arm.S
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_skia_skia_src_opts_memset.arm.S:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_skia_skia_src_opts_memset.arm.S Thu Apr 27 13:38:18 2017
@@ -0,0 +1,49 @@
+$NetBSD: patch-mozilla_gfx_skia_skia_src_opts_memset.arm.S,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/gfx/skia/skia/src/opts/memset.arm.S.orig   2016-04-07 21:33:15.000000000 +0000
++++ mozilla/gfx/skia/skia/src/opts/memset.arm.S
+@@ -13,6 +13,12 @@
+  *    to aid future maintenance.
+  */
+ 
++#if defined(__ARM_EABI__) && !defined(__ARM_DWARF_EH__)
++#define UNWIND
++#else
++#define UNWIND @
++#endif
++
+     .text
+     .align 4
+     .syntax unified
+@@ -30,7 +36,8 @@
+  *
+  */
+ arm_memset16:
+-        .fnstart
++      .cfi_startproc
++        UNWIND .fnstart
+         push        {lr}
+ 
+         /* if count is equal to zero then abort */
+@@ -51,10 +58,12 @@ arm_memset16:
+ 
+         /* Now jump into the main loop below. */
+         b           .Lwork_32
+-        .fnend
++        UNWIND .fnend
++      .cfi_endproc
+ 
+ arm_memset32:
+-        .fnstart
++      .cfi_startproc
++        UNWIND .fnstart
+         push        {lr}
+ 
+         /* if count is equal to zero then abort */
+@@ -108,4 +117,5 @@ arm_memset32:
+ 
+ .Lfinish:
+         pop         {pc}
+-        .fnend
++        UNWIND .fnend
++      .cfi_endproc
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_thebes_moz.build
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_thebes_moz.build:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_thebes_moz.build        Thu Apr 27 13:38:18 2017
@@ -0,0 +1,25 @@
+$NetBSD: patch-mozilla_gfx_thebes_moz.build,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/gfx/thebes/moz.build.orig  2016-04-07 21:33:15.000000000 +0000
++++ mozilla/gfx/thebes/moz.build
+@@ -293,6 +293,12 @@ CXXFLAGS += CONFIG['TK_CFLAGS']
+ CFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
+ CFLAGS += CONFIG['TK_CFLAGS']
+ 
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_GRAPHITE2']:
++    CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS']
++
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android', 'gonk', 'qt'):
+     CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
+ 
+@@ -306,7 +312,5 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk
+ 
+ LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
+ 
+-DEFINES['GRAPHITE2_STATIC'] = True
+-
+ if CONFIG['OS_ARCH'] == 'WINNT':
+     del DEFINES['UNICODE']
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_ycbcr_moz.build
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_ycbcr_moz.build:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_ycbcr_moz.build Thu Apr 27 13:38:18 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_gfx_ycbcr_moz.build,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/gfx/ycbcr/moz.build.orig   2016-04-07 21:33:15.000000000 +0000
++++ mozilla/gfx/ycbcr/moz.build
+@@ -57,7 +57,7 @@ else:
+ 
+ if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['HAVE_ARM_NEON']:
+     SOURCES += [
+-        'yuv_row_arm.s',
++        'yuv_row_arm.S',
+     ]
+     SOURCES += [
+         'yuv_convert_arm.cpp',
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_ycbcr_yuv__row__arm.S
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_ycbcr_yuv__row__arm.S:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_gfx_ycbcr_yuv__row__arm.S   Thu Apr 27 13:38:18 2017
@@ -0,0 +1,317 @@
+$NetBSD: patch-mozilla_gfx_ycbcr_yuv__row__arm.S,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/gfx/ycbcr/yuv_row_arm.S.orig       2016-04-17 13:47:46.265685842 +0000
++++ mozilla/gfx/ycbcr/yuv_row_arm.S
+@@ -0,0 +1,312 @@
++/* This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++#if defined(__ARM_EABI__) && !defined(__ARM_DWARF_EH__)
++#define UNWIND
++#else
++#define UNWIND @
++#endif
++
++    .arch   armv7-a
++    .fpu    neon
++/* Allow to build on targets not supporting neon, and force the object file
++ * target to avoid bumping the final binary target */
++    .object_arch armv4t
++    .text
++    .align
++
++    .balign 64
++YCbCr42xToRGB565_DITHER03_CONSTS_NEON:
++    .short -14240
++    .short -14240+384
++    .short   8672
++    .short   8672+192
++    .short -17696
++    .short -17696+384
++    .byte 102
++    .byte  25
++    .byte  52
++    .byte 129
++YCbCr42xToRGB565_DITHER12_CONSTS_NEON:
++    .short -14240+128
++    .short -14240+256
++    .short   8672+64
++    .short   8672+128
++    .short -17696+128
++    .short -17696+256
++    .byte 102
++    .byte  25
++    .byte  52
++    .byte 129
++YCbCr42xToRGB565_DITHER21_CONSTS_NEON:
++    .short -14240+256
++    .short -14240+128
++    .short   8672+128
++    .short   8672+64
++    .short -17696+256
++    .short -17696+128
++    .byte 102
++    .byte  25
++    .byte  52
++    .byte 129
++YCbCr42xToRGB565_DITHER30_CONSTS_NEON:
++    .short -14240+384
++    .short -14240
++    .short   8672+192
++    .short   8672
++    .short -17696+384
++    .short -17696
++    .byte 102
++    .byte  25
++    .byte  52
++    .byte 129
++
++@ void ScaleYCbCr42xToRGB565_BilinearY_Row_NEON(
++@  yuv2rgb565_row_scale_bilinear_ctx *ctx, int dither);
++@
++@ ctx = {
++@   uint16_t *rgb_row;       /*r0*/
++@   const uint8_t *y_row;    /*r1*/
++@   const uint8_t *u_row;    /*r2*/
++@   const uint8_t *v_row;    /*r3*/
++@   int y_yweight;           /*r4*/
++@   int y_pitch;             /*r5*/
++@   int width;               /*r6*/
++@   int source_x0_q16;       /*r7*/
++@   int source_dx_q16;       /*r8*/
++@   int source_uv_xoffs_q16; /*r9*/
++@ };
++    .global ScaleYCbCr42xToRGB565_BilinearY_Row_NEON
++    .type   ScaleYCbCr42xToRGB565_BilinearY_Row_NEON, %function
++    .balign 64
++    .cfi_startproc
++    UNWIND .fnstart
++ScaleYCbCr42xToRGB565_BilinearY_Row_NEON:
++    STMFD       r13!,{r4-r9,r14}       @ 8 words.
++    ADR         r14,YCbCr42xToRGB565_DITHER03_CONSTS_NEON
++    VPUSH       {Q4-Q7}                @ 16 words.
++    ADD         r14,r14,r1, LSL #4     @ Select the dither table to use
++    LDMIA       r0, {r0-r9}
++    @ Set up image index registers.
++    ADD         r12,r8, r8
++    VMOV.I32    D16,#0         @ Q8 = < 2| 2| 0| 0>*source_dx_q16
++    VDUP.32     D17,r12
++    ADD         r12,r12,r12
++    VTRN.32     D16,D17        @ Q2 = < 2| 0| 2| 0>*source_dx_q16
++    VDUP.32     D19,r12        @ Q9 = < 4| 4| ?| ?>*source_dx_q16
++    ADD         r12,r12,r12
++    VDUP.32     Q0, r7         @ Q0 = < 1| 1| 1| 1>*source_x0_q16
++    VADD.I32    D17,D17,D19    @ Q8 = < 6| 4| 2| 0>*source_dx_q16
++    CMP         r8, #0                 @ If source_dx_q16 is negative...
++    VDUP.32     Q9, r12        @ Q9 = < 8| 8| 8| 8>*source_dx_q16
++    ADDLT       r7, r7, r8, LSL #4     @ Make r7 point to the end of the block
++    VADD.I32    Q0, Q0, Q8     @ Q0 = < 6| 4| 2| 0>*source_dx_q16+source_x0_q16
++    SUBLT       r7, r7, r8             @ (i.e., the lowest address we'll use)
++    VADD.I32    Q1, Q0, Q9     @ Q1 = <14|12|10| 8>*source_dx_q16+source_x0_q16
++    VDUP.I32    Q9, r8         @ Q8 = < 1| 1| 1| 1>*source_dx_q16
++    VADD.I32    Q2, Q0, Q9     @ Q2 = < 7| 5| 3| 1>*source_dx_q16+source_x0_q16
++    VADD.I32    Q3, Q1, Q9     @ Q3 = <15|13|11| 9>*source_dx_q16+source_x0_q16
++    VLD1.64     {D30,D31},[r14,:128]   @ Load some constants
++    VMOV.I8     D28,#52
++    VMOV.I8     D29,#129
++    @ The basic idea here is to do aligned loads of a block of data and then
++    @  index into it using VTBL to extract the data from the source X
++    @  coordinate corresponding to each destination pixel.
++    @ This is significantly less code and significantly fewer cycles than doing
++    @  a series of single-lane loads, but it means that the X step between
++    @  pixels must be limited to 2.0 or less, otherwise we couldn't guarantee
++    @  that we could read 8 pixels from a single aligned 32-byte block of data.
++    @ Q0...Q3 contain the 16.16 fixed-point X coordinates of each pixel,
++    @  separated into even pixels and odd pixels to make extracting offsets and
++    @  weights easier.
++    @ We then pull out two bytes from the middle of each coordinate: the top
++    @  byte corresponds to the integer part of the X coordinate, and the bottom
++    @  byte corresponds to the weight to use for bilinear blending.
++    @ These are separated out into different registers with VTRN.
++    @ Then by subtracting the integer X coordinate of the first pixel in the
++    @  data block we loaded, we produce an index register suitable for use by
++    @  VTBL.
++s42xbily_neon_loop:
++    @ Load the Y' data.
++    MOV         r12,r7, ASR #16
++    VRSHRN.S32  D16,Q0, #8
++    AND         r12,r12,#~15   @ Read 16-byte aligned blocks
++    VDUP.I8     D20,r12
++    ADD         r12,r1, r12    @ r12 = y_row+(source_x&~7)
++    VRSHRN.S32  D17,Q1, #8
++    PLD         [r12,#64]
++    VLD1.64     {D8, D9, D10,D11},[r12,:128],r5        @ Load Y' top row
++    ADD         r14,r7, r8, LSL #3
++    VRSHRN.S32  D18,Q2, #8
++    MOV         r14,r14,ASR #16
++    VRSHRN.S32  D19,Q3, #8
++    AND         r14,r14,#~15   @ Read 16-byte aligned blocks
++    VLD1.64     {D12,D13,D14,D15},[r12,:128]           @ Load Y' bottom row
++    PLD         [r12,#64]
++    VDUP.I8     D21,r14
++    ADD         r14,r1, r14    @ r14 = y_row+(source_x&~7)
++    VMOV.I8     Q13,#1
++    PLD         [r14,#64]
++    VTRN.8      Q8, Q9         @ Q8  = <wFwEwDwCwBwAw9w8w7w6w5w4w3w2w1w0>
++                               @ Q9  = <xFxExDxCxBxAx9x8x7x6x5x4x3x2x1x0>
++    VSUB.S8     Q9, Q9, Q10    @ Make offsets relative to the data we loaded.
++    @ First 8 Y' pixels
++    VTBL.8      D20,{D8, D9, D10,D11},D18      @ Index top row at source_x
++    VTBL.8      D24,{D12,D13,D14,D15},D18      @ Index bottom row at source_x
++    VADD.S8     Q13,Q9, Q13                    @ Add 1 to source_x
++    VTBL.8      D22,{D8, D9, D10,D11},D26      @ Index top row at source_x+1
++    VTBL.8      D26,{D12,D13,D14,D15},D26      @ Index bottom row at source_x+1
++    @ Next 8 Y' pixels
++    VLD1.64     {D8, D9, D10,D11},[r14,:128],r5        @ Load Y' top row
++    VLD1.64     {D12,D13,D14,D15},[r14,:128]           @ Load Y' bottom row
++    PLD         [r14,#64]
++    VTBL.8      D21,{D8, D9, D10,D11},D19      @ Index top row at source_x
++    VTBL.8      D25,{D12,D13,D14,D15},D19      @ Index bottom row at source_x
++    VTBL.8      D23,{D8, D9, D10,D11},D27      @ Index top row at source_x+1
++    VTBL.8      D27,{D12,D13,D14,D15},D27      @ Index bottom row at source_x+1
++    @ Blend Y'.
++    VDUP.I16    Q9, r4         @ Load the y weights.
++    VSUBL.U8    Q4, D24,D20    @ Q5:Q4 = c-a
++    VSUBL.U8    Q5, D25,D21
++    VSUBL.U8    Q6, D26,D22    @ Q7:Q6 = d-b
++    VSUBL.U8    Q7, D27,D23
++    VMUL.S16    Q4, Q4, Q9     @ Q5:Q4 = (c-a)*yweight
++    VMUL.S16    Q5, Q5, Q9
++    VMUL.S16    Q6, Q6, Q9     @ Q7:Q6 = (d-b)*yweight
++    VMUL.S16    Q7, Q7, Q9
++    VMOVL.U8    Q12,D16        @ Promote the x weights to 16 bits.
++    VMOVL.U8    Q13,D17        @ Sadly, there's no VMULW.
++    VRSHRN.S16  D8, Q4, #8     @ Q4 = (c-a)*yweight+128>>8
++    VRSHRN.S16  D9, Q5, #8
++    VRSHRN.S16  D12,Q6, #8     @ Q6 = (d-b)*yweight+128>>8
++    VRSHRN.S16  D13,Q7, #8
++    VADD.I8     Q10,Q10,Q4     @ Q10 = a+((c-a)*yweight+128>>8)
++    VADD.I8     Q11,Q11,Q6     @ Q11 = b+((d-b)*yweight+128>>8)
++    VSUBL.U8    Q4, D22,D20    @ Q5:Q4 = b-a
++    VSUBL.U8    Q5, D23,D21
++    VMUL.S16    Q4, Q4, Q12    @ Q5:Q4 = (b-a)*xweight
++    VMUL.S16    Q5, Q5, Q13
++    VRSHRN.S16  D8, Q4, #8     @ Q4 = (b-a)*xweight+128>>8
++    ADD         r12,r7, r9
++    VRSHRN.S16  D9, Q5, #8
++    MOV         r12,r12,ASR #17
++    VADD.I8     Q8, Q10,Q4     @ Q8 = a+((b-a)*xweight+128>>8)
++    @ Start extracting the chroma x coordinates, and load Cb and Cr.
++    AND         r12,r12,#~15   @ Read 16-byte aligned blocks
++    VDUP.I32    Q9, r9         @ Q9 = source_uv_xoffs_q16 x 4
++    ADD         r14,r2, r12
++    VADD.I32    Q10,Q0, Q9
++    VLD1.64     {D8, D9, D10,D11},[r14,:128]   @ Load Cb
++    PLD         [r14,#64]
++    VADD.I32    Q11,Q1, Q9
++    ADD         r14,r3, r12
++    VADD.I32    Q12,Q2, Q9
++    VLD1.64     {D12,D13,D14,D15},[r14,:128]   @ Load Cr
++    PLD         [r14,#64]
++    VADD.I32    Q13,Q3, Q9
++    VRSHRN.S32  D20,Q10,#9     @ Q10 = <xEwExCwCxAwAx8w8x6w6x4w4x2w2x0w0>
++    VRSHRN.S32  D21,Q11,#9
++    VDUP.I8     Q9, r12
++    VRSHRN.S32  D22,Q12,#9     @ Q11 = <xFwFxDwDxBwBx9w9x7w7x5w5x3w3x1w1>
++    VRSHRN.S32  D23,Q13,#9
++    @ We don't actually need the x weights, but we get them for free.
++    @ Free ALU slot
++    VTRN.8      Q10,Q11        @ Q10 = <wFwEwDwCwBwAw9w8w7w6w5w4w3w2w1w0>
++    @ Free ALU slot            @ Q11 = <xFxExDxCxBxAx9x8x7x6x5x4x3x2x1x0>
++    VSUB.S8     Q11,Q11,Q9     @ Make offsets relative to the data we loaded.
++    VTBL.8      D18,{D8, D9, D10,D11},D22      @ Index Cb at source_x
++    VMOV.I8     D24,#74
++    VTBL.8      D19,{D8, D9, D10,D11},D23
++    VMOV.I8     D26,#102
++    VTBL.8      D20,{D12,D13,D14,D15},D22      @ Index Cr at source_x
++    VMOV.I8     D27,#25
++    VTBL.8      D21,{D12,D13,D14,D15},D23
++    @ We now have Y' in Q8, Cb in Q9, and Cr in Q10
++    @ We use VDUP to expand constants, because it's a permute instruction, so
++    @  it can dual issue on the A8.
++    SUBS        r6, r6, #16    @ width -= 16
++    VMULL.U8    Q4, D16,D24    @  Q5:Q4  = Y'*74
++    VDUP.32     Q6, D30[1]     @  Q7:Q6  = bias_G
++    VMULL.U8    Q5, D17,D24
++    VDUP.32     Q7, D30[1]
++    VMLSL.U8    Q6, D18,D27    @  Q7:Q6  = -25*Cb+bias_G
++    VDUP.32     Q11,D30[0]     @ Q12:Q11 = bias_R
++    VMLSL.U8    Q7, D19,D27
++    VDUP.32     Q12,D30[0]
++    VMLAL.U8    Q11,D20,D26    @ Q12:Q11 = 102*Cr+bias_R
++    VDUP.32     Q8, D31[0]     @ Q13:Q8  = bias_B
++    VMLAL.U8    Q12,D21,D26
++    VDUP.32     Q13,D31[0]
++    VMLAL.U8    Q8, D18,D29    @ Q13:Q8  = 129*Cb+bias_B
++    VMLAL.U8    Q13,D19,D29
++    VMLSL.U8    Q6, D20,D28    @  Q7:Q6  = -25*Cb-52*Cr+bias_G
++    VMLSL.U8    Q7, D21,D28
++    VADD.S16    Q11,Q4, Q11    @ Q12:Q11 = 74*Y'+102*Cr+bias_R
++    VADD.S16    Q12,Q5, Q12
++    VQADD.S16   Q8, Q4, Q8     @ Q13:Q8  = 74*Y'+129*Cr+bias_B
++    VQADD.S16   Q13,Q5, Q13
++    VADD.S16    Q6, Q4, Q6     @  Q7:Q6  = 74*Y'-25*Cb-52*Cr+bias_G
++    VADD.S16    Q7, Q5, Q7
++    @ Push each value to the top of its word and saturate it.
++    VQSHLU.S16 Q11,Q11,#2
++    VQSHLU.S16 Q12,Q12,#2
++    VQSHLU.S16 Q6, Q6, #2
++    VQSHLU.S16 Q7, Q7, #2
++    VQSHLU.S16 Q8, Q8, #2
++    VQSHLU.S16 Q13,Q13,#2
++    @ Merge G and B into R.
++    VSRI.U16   Q11,Q6, #5
++    VSRI.U16   Q12,Q7, #5
++    VSRI.U16   Q11,Q8, #11
++    MOV         r14,r8, LSL #4
++    VSRI.U16   Q12,Q13,#11
++    BLT s42xbily_neon_tail
++    VDUP.I32    Q13,r14
++    @ Store the result.
++    VST1.16     {D22,D23,D24,D25},[r0]!
++    BEQ s42xbily_neon_done
++    @ Advance the x coordinates.
++    VADD.I32    Q0, Q0, Q13
++    VADD.I32    Q1, Q1, Q13
++    ADD         r7, r14
++    VADD.I32    Q2, Q2, Q13
++    VADD.I32    Q3, Q3, Q13
++    B s42xbily_neon_loop
++s42xbily_neon_tail:
++    @ We have between 1 and 15 pixels left to write.
++    @ -r6 == the number of pixels we need to skip writing.
++    @ Adjust r0 to point to the last one we need to write, because we're going
++    @  to write them in reverse order.
++    ADD         r0, r0, r6, LSL #1
++    MOV         r14,#-2
++    ADD         r0, r0, #30
++    @ Skip past the ones we don't need to write.
++    SUB         PC, PC, r6, LSL #2
++    ORR         r0, r0, r0
++    VST1.16     {D25[3]},[r0,:16],r14
++    VST1.16     {D25[2]},[r0,:16],r14
++    VST1.16     {D25[1]},[r0,:16],r14
++    VST1.16     {D25[0]},[r0,:16],r14
++    VST1.16     {D24[3]},[r0,:16],r14
++    VST1.16     {D24[2]},[r0,:16],r14
++    VST1.16     {D24[1]},[r0,:16],r14
++    VST1.16     {D24[0]},[r0,:16],r14
++    VST1.16     {D23[3]},[r0,:16],r14
++    VST1.16     {D23[2]},[r0,:16],r14
++    VST1.16     {D23[1]},[r0,:16],r14
++    VST1.16     {D23[0]},[r0,:16],r14
++    VST1.16     {D22[3]},[r0,:16],r14
++    VST1.16     {D22[2]},[r0,:16],r14
++    VST1.16     {D22[1]},[r0,:16],r14
++    VST1.16     {D22[0]},[r0,:16]
++s42xbily_neon_done:
++    VPOP        {Q4-Q7}                @ 16 words.
++    LDMFD       r13!,{r4-r9,PC}        @ 8 words.
++    UNWIND .fnend
++    .cfi_endproc
++    .size ScaleYCbCr42xToRGB565_BilinearY_Row_NEON, .-ScaleYCbCr42xToRGB565_BilinearY_Row_NEON
++
++#if defined(__ELF__)&&(defined(__linux__) || defined(__NetBSD__))
++    .section .note.GNU-stack,"",%progbits
++#endif
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_image_decoders_nsJPEGDecoder.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_image_decoders_nsJPEGDecoder.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_image_decoders_nsJPEGDecoder.cpp    Thu Apr 27 13:38:18 2017
@@ -0,0 +1,364 @@
+$NetBSD: patch-mozilla_image_decoders_nsJPEGDecoder.cpp,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/image/decoders/nsJPEGDecoder.cpp.orig      2016-04-07 21:33:16.000000000 +0000
++++ mozilla/image/decoders/nsJPEGDecoder.cpp
+@@ -23,13 +23,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);
+ 
+@@ -339,6 +354,7 @@ nsJPEGDecoder::WriteInternal(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) {
+@@ -347,6 +363,9 @@ nsJPEGDecoder::WriteInternal(const char*
+           } else {
+               mInfo.out_color_space = JCS_RGB;
+           }
++#else
++          mInfo.out_color_space = JCS_RGB;
++#endif
+           break;
+         case JCS_CMYK:
+         case JCS_YCCK:
+@@ -420,6 +439,16 @@ nsJPEGDecoder::WriteInternal(const char*
+       return; // 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;
+@@ -601,7 +630,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
+@@ -925,6 +958,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,
++        0x5a,        0x5b,        0x5d,        0x5e,        0x5f,        0x61,
++        0x62,        0x64,        0x65,        0x66,        0x68,        0x69,
++        0x6b,        0x6c,        0x6d,        0x6f,        0x70,        0x72,
++        0x73,        0x74,        0x76,        0x77,        0x79,        0x7a,
++        0x7b,        0x7d,        0x7e,        0x80,        0x81,        0x82,
++        0x84,        0x85,        0x87,        0x88,        0x89,        0x8b,
++        0x8c,        0x8e,        0x8f,        0x90,        0x92,        0x93,
++        0x95,        0x96,        0x97,        0x99,        0x9a,        0x9c,
++        0x9d,        0x9e,        0xa0,        0xa1,        0xa3,        0xa4,
++        0xa5,        0xa7,        0xa8,        0xaa,        0xab,        0xac,
++        0xae,        0xaf,        0xb1,        0xb2,
++  };
++
++const int Cb_b_tab[(MAXJSAMPLE+1) * sizeof(int)] ={
++       -0xe3,       -0xe1,       -0xdf,       -0xde,       -0xdc,       -0xda,
++       -0xd8,       -0xd6,       -0xd5,       -0xd3,       -0xd1,       -0xcf,
++       -0xce,       -0xcc,       -0xca,       -0xc8,       -0xc6,       -0xc5,
++       -0xc3,       -0xc1,       -0xbf,       -0xbe,       -0xbc,       -0xba,
++       -0xb8,       -0xb7,       -0xb5,       -0xb3,       -0xb1,       -0xaf,
++       -0xae,       -0xac,       -0xaa,       -0xa8,       -0xa7,       -0xa5,
++       -0xa3,       -0xa1,       -0x9f,       -0x9e,       -0x9c,       -0x9a,
++       -0x98,       -0x97,       -0x95,       -0x93,       -0x91,       -0x90,
++       -0x8e,       -0x8c,       -0x8a,       -0x88,       -0x87,       -0x85,
++       -0x83,       -0x81,       -0x80,       -0x7e,       -0x7c,       -0x7a,
++       -0x78,       -0x77,       -0x75,       -0x73,       -0x71,       -0x70,
++       -0x6e,       -0x6c,       -0x6a,       -0x69,       -0x67,       -0x65,
++       -0x63,       -0x61,       -0x60,       -0x5e,       -0x5c,       -0x5a,
++       -0x59,       -0x57,       -0x55,       -0x53,       -0x52,       -0x50,
++       -0x4e,       -0x4c,       -0x4a,       -0x49,       -0x47,       -0x45,
++       -0x43,       -0x42,       -0x40,       -0x3e,       -0x3c,       -0x3a,
++       -0x39,       -0x37,       -0x35,       -0x33,       -0x32,       -0x30,
++       -0x2e,       -0x2c,       -0x2b,       -0x29,       -0x27,       -0x25,
++       -0x23,       -0x22,       -0x20,       -0x1e,       -0x1c,       -0x1b,
++       -0x19,       -0x17,       -0x15,       -0x13,       -0x12,       -0x10,
++       -0x0e,       -0x0c,       -0x0b,       -0x09,       -0x07,       -0x05,
++       -0x04,       -0x02,        0x00,        0x02,        0x04,        0x05,
++        0x07,        0x09,        0x0b,        0x0c,        0x0e,        0x10,
++        0x12,        0x13,        0x15,        0x17,        0x19,        0x1b,
++        0x1c,        0x1e,        0x20,        0x22,        0x23,        0x25,
++        0x27,        0x29,        0x2b,        0x2c,        0x2e,        0x30,
++        0x32,        0x33,        0x35,        0x37,        0x39,        0x3a,
++        0x3c,        0x3e,        0x40,        0x42,        0x43,        0x45,
++        0x47,        0x49,        0x4a,        0x4c,        0x4e,        0x50,
++        0x52,        0x53,        0x55,        0x57,        0x59,        0x5a,
++        0x5c,        0x5e,        0x60,        0x61,        0x63,        0x65,
++        0x67,        0x69,        0x6a,        0x6c,        0x6e,        0x70,
++        0x71,        0x73,        0x75,        0x77,        0x78,        0x7a,
++        0x7c,        0x7e,        0x80,        0x81,        0x83,        0x85,
++        0x87,        0x88,        0x8a,        0x8c,        0x8e,        0x90,
++        0x91,        0x93,        0x95,        0x97,        0x98,        0x9a,
++        0x9c,        0x9e,        0x9f,        0xa1,        0xa3,        0xa5,
++        0xa7,        0xa8,        0xaa,        0xac,        0xae,        0xaf,
++        0xb1,        0xb3,        0xb5,        0xb7,        0xb8,        0xba,
++        0xbc,        0xbe,        0xbf,        0xc1,        0xc3,        0xc5,
++        0xc6,        0xc8,        0xca,        0xcc,        0xce,        0xcf,
++        0xd1,        0xd3,        0xd5,        0xd6,        0xd8,        0xda,
++        0xdc,        0xde,        0xdf,        0xe1,
++  };
++
++const int Cr_g_tab[(MAXJSAMPLE+1) * sizeof(int)] ={
++    0x5b6900,    0x5ab22e,    0x59fb5c,    0x59448a,    0x588db8,    0x57d6e6,
++    0x572014,    0x566942,    0x55b270,    0x54fb9e,    0x5444cc,    0x538dfa,
++    0x52d728,    0x522056,    0x516984,    0x50b2b2,    0x4ffbe0,    0x4f450e,
++    0x4e8e3c,    0x4dd76a,    0x4d2098,    0x4c69c6,    0x4bb2f4,    0x4afc22,
++    0x4a4550,    0x498e7e,    0x48d7ac,    0x4820da,    0x476a08,    0x46b336,
++    0x45fc64,    0x454592,    0x448ec0,    0x43d7ee,    0x43211c,    0x426a4a,
++    0x41b378,    0x40fca6,    0x4045d4,    0x3f8f02,    0x3ed830,    0x3e215e,
++    0x3d6a8c,    0x3cb3ba,    0x3bfce8,    0x3b4616,    0x3a8f44,    0x39d872,
++    0x3921a0,    0x386ace,    0x37b3fc,    0x36fd2a,    0x364658,    0x358f86,
++    0x34d8b4,    0x3421e2,    0x336b10,    0x32b43e,    0x31fd6c,    0x31469a,
++    0x308fc8,    0x2fd8f6,    0x2f2224,    0x2e6b52,    0x2db480,    0x2cfdae,
++    0x2c46dc,    0x2b900a,    0x2ad938,    0x2a2266,    0x296b94,    0x28b4c2,
++    0x27fdf0,    0x27471e,    0x26904c,    0x25d97a,    0x2522a8,    0x246bd6,
++    0x23b504,    0x22fe32,    0x224760,    0x21908e,    0x20d9bc,    0x2022ea,
++    0x1f6c18,    0x1eb546,    0x1dfe74,    0x1d47a2,    0x1c90d0,    0x1bd9fe,
++    0x1b232c,    0x1a6c5a,    0x19b588,    0x18feb6,    0x1847e4,    0x179112,
++    0x16da40,    0x16236e,    0x156c9c,    0x14b5ca,    0x13fef8,    0x134826,
++    0x129154,    0x11da82,    0x1123b0,    0x106cde,    0x0fb60c,    0x0eff3a,
++    0x0e4868,    0x0d9196,    0x0cdac4,    0x0c23f2,    0x0b6d20,    0x0ab64e,
++    0x09ff7c,    0x0948aa,    0x0891d8,    0x07db06,    0x072434,    0x066d62,
++    0x05b690,    0x04ffbe,    0x0448ec,    0x03921a,    0x02db48,    0x022476,
++    0x016da4,    0x00b6d2,    0x000000,   -0x00b6d2,   -0x016da4,   -0x022476,
++   -0x02db48,   -0x03921a,   -0x0448ec,   -0x04ffbe,   -0x05b690,   -0x066d62,
++   -0x072434,   -0x07db06,   -0x0891d8,   -0x0948aa,   -0x09ff7c,   -0x0ab64e,
++   -0x0b6d20,   -0x0c23f2,   -0x0cdac4,   -0x0d9196,   -0x0e4868,   -0x0eff3a,
++   -0x0fb60c,   -0x106cde,   -0x1123b0,   -0x11da82,   -0x129154,   -0x134826,
++   -0x13fef8,   -0x14b5ca,   -0x156c9c,   -0x16236e,   -0x16da40,   -0x179112,
++   -0x1847e4,   -0x18feb6,   -0x19b588,   -0x1a6c5a,   -0x1b232c,   -0x1bd9fe,
++   -0x1c90d0,   -0x1d47a2,   -0x1dfe74,   -0x1eb546,   -0x1f6c18,   -0x2022ea,
++   -0x20d9bc,   -0x21908e,   -0x224760,   -0x22fe32,   -0x23b504,   -0x246bd6,
++   -0x2522a8,   -0x25d97a,   -0x26904c,   -0x27471e,   -0x27fdf0,   -0x28b4c2,
++   -0x296b94,   -0x2a2266,   -0x2ad938,   -0x2b900a,   -0x2c46dc,   -0x2cfdae,
++   -0x2db480,   -0x2e6b52,   -0x2f2224,   -0x2fd8f6,   -0x308fc8,   -0x31469a,
++   -0x31fd6c,   -0x32b43e,   -0x336b10,   -0x3421e2,   -0x34d8b4,   -0x358f86,
++   -0x364658,   -0x36fd2a,   -0x37b3fc,   -0x386ace,   -0x3921a0,   -0x39d872,
++   -0x3a8f44,   -0x3b4616,   -0x3bfce8,   -0x3cb3ba,   -0x3d6a8c,   -0x3e215e,
++   -0x3ed830,   -0x3f8f02,   -0x4045d4,   -0x40fca6,   -0x41b378,   -0x426a4a,
++   -0x43211c,   -0x43d7ee,   -0x448ec0,   -0x454592,   -0x45fc64,   -0x46b336,
++   -0x476a08,   -0x4820da,   -0x48d7ac,   -0x498e7e,   -0x4a4550,   -0x4afc22,
++   -0x4bb2f4,   -0x4c69c6,   -0x4d2098,   -0x4dd76a,   -0x4e8e3c,   -0x4f450e,
++   -0x4ffbe0,   -0x50b2b2,   -0x516984,   -0x522056,   -0x52d728,   -0x538dfa,
++   -0x5444cc,   -0x54fb9e,   -0x55b270,   -0x566942,   -0x572014,   -0x57d6e6,
++   -0x588db8,   -0x59448a,   -0x59fb5c,   -0x5ab22e,
++ };
++
++const int Cb_g_tab[(MAXJSAMPLE+1) * sizeof(int)] ={
++    0x2c8d00,    0x2c34e6,    0x2bdccc,    0x2b84b2,    0x2b2c98,    0x2ad47e,
++    0x2a7c64,    0x2a244a,    0x29cc30,    0x297416,    0x291bfc,    0x28c3e2,
++    0x286bc8,    0x2813ae,    0x27bb94,    0x27637a,    0x270b60,    0x26b346,
++    0x265b2c,    0x260312,    0x25aaf8,    0x2552de,    0x24fac4,    0x24a2aa,
++    0x244a90,    0x23f276,    0x239a5c,    0x234242,    0x22ea28,    0x22920e,
++    0x2239f4,    0x21e1da,    0x2189c0,    0x2131a6,    0x20d98c,    0x208172,
++    0x202958,    0x1fd13e,    0x1f7924,    0x1f210a,    0x1ec8f0,    0x1e70d6,
++    0x1e18bc,    0x1dc0a2,    0x1d6888,    0x1d106e,    0x1cb854,    0x1c603a,
++    0x1c0820,    0x1bb006,    0x1b57ec,    0x1affd2,    0x1aa7b8,    0x1a4f9e,
++    0x19f784,    0x199f6a,    0x194750,    0x18ef36,    0x18971c,    0x183f02,
++    0x17e6e8,    0x178ece,    0x1736b4,    0x16de9a,    0x168680,    0x162e66,
++    0x15d64c,    0x157e32,    0x152618,    0x14cdfe,    0x1475e4,    0x141dca,
++    0x13c5b0,    0x136d96,    0x13157c,    0x12bd62,    0x126548,    0x120d2e,
++    0x11b514,    0x115cfa,    0x1104e0,    0x10acc6,    0x1054ac,    0x0ffc92,
++    0x0fa478,    0x0f4c5e,    0x0ef444,    0x0e9c2a,    0x0e4410,    0x0debf6,
++    0x0d93dc,    0x0d3bc2,    0x0ce3a8,    0x0c8b8e,    0x0c3374,    0x0bdb5a,
++    0x0b8340,    0x0b2b26,    0x0ad30c,    0x0a7af2,    0x0a22d8,    0x09cabe,
++    0x0972a4,    0x091a8a,    0x08c270,    0x086a56,    0x08123c,    0x07ba22,
++    0x076208,    0x0709ee,    0x06b1d4,    0x0659ba,    0x0601a0,    0x05a986,
++    0x05516c,    0x04f952,    0x04a138,    0x04491e,    0x03f104,    0x0398ea,
++    0x0340d0,    0x02e8b6,    0x02909c,    0x023882,    0x01e068,    0x01884e,
++    0x013034,    0x00d81a,    0x008000,    0x0027e6,   -0x003034,   -0x00884e,
++   -0x00e068,   -0x013882,   -0x01909c,   -0x01e8b6,   -0x0240d0,   -0x0298ea,
++   -0x02f104,   -0x03491e,   -0x03a138,   -0x03f952,   -0x04516c,   -0x04a986,
++   -0x0501a0,   -0x0559ba,   -0x05b1d4,   -0x0609ee,   -0x066208,   -0x06ba22,
++   -0x07123c,   -0x076a56,   -0x07c270,   -0x081a8a,   -0x0872a4,   -0x08cabe,
++   -0x0922d8,   -0x097af2,   -0x09d30c,   -0x0a2b26,   -0x0a8340,   -0x0adb5a,
++   -0x0b3374,   -0x0b8b8e,   -0x0be3a8,   -0x0c3bc2,   -0x0c93dc,   -0x0cebf6,
++   -0x0d4410,   -0x0d9c2a,   -0x0df444,   -0x0e4c5e,   -0x0ea478,   -0x0efc92,
++   -0x0f54ac,   -0x0facc6,   -0x1004e0,   -0x105cfa,   -0x10b514,   -0x110d2e,
++   -0x116548,   -0x11bd62,   -0x12157c,   -0x126d96,   -0x12c5b0,   -0x131dca,
++   -0x1375e4,   -0x13cdfe,   -0x142618,   -0x147e32,   -0x14d64c,   -0x152e66,
++   -0x158680,   -0x15de9a,   -0x1636b4,   -0x168ece,   -0x16e6e8,   -0x173f02,
++   -0x17971c,   -0x17ef36,   -0x184750,   -0x189f6a,   -0x18f784,   -0x194f9e,
++   -0x19a7b8,   -0x19ffd2,   -0x1a57ec,   -0x1ab006,   -0x1b0820,   -0x1b603a,
++   -0x1bb854,   -0x1c106e,   -0x1c6888,   -0x1cc0a2,   -0x1d18bc,   -0x1d70d6,
++   -0x1dc8f0,   -0x1e210a,   -0x1e7924,   -0x1ed13e,   -0x1f2958,   -0x1f8172,
++   -0x1fd98c,   -0x2031a6,   -0x2089c0,   -0x20e1da,   -0x2139f4,   -0x21920e,
++   -0x21ea28,   -0x224242,   -0x229a5c,   -0x22f276,   -0x234a90,   -0x23a2aa,
++   -0x23fac4,   -0x2452de,   -0x24aaf8,   -0x250312,   -0x255b2c,   -0x25b346,
++   -0x260b60,   -0x26637a,   -0x26bb94,   -0x2713ae,   -0x276bc8,   -0x27c3e2,
++   -0x281bfc,   -0x287416,   -0x28cc30,   -0x29244a,   -0x297c64,   -0x29d47e,
++   -0x2a2c98,   -0x2a84b2,   -0x2adccc,   -0x2b34e6,
++ };
++
++
++/* We assume that right shift corresponds to signed division by 2 with
++ * rounding towards minus infinity.  This is correct for typical "arithmetic
++ * shift" instructions that shift in copies of the sign bit.  But some
++ * C compilers implement >> with an unsigned shift.  For these machines you
++ * must define RIGHT_SHIFT_IS_UNSIGNED.
++ * RIGHT_SHIFT provides a proper signed right shift of an INT32 quantity.
++ * It is only applied with constant shift counts.  SHIFT_TEMPS must be
++ * included in the variables of any routine using RIGHT_SHIFT.
++ */
++
++#ifdef RIGHT_SHIFT_IS_UNSIGNED
++#define SHIFT_TEMPS   INT32 shift_temp;
++#define RIGHT_SHIFT(x,shft)  \
++      ((shift_temp = (x)) < 0 ? \
++       (shift_temp >> (shft)) | ((~((INT32) 0)) << (32-(shft))) : \
++       (shift_temp >> (shft)))
++#else
++#define SHIFT_TEMPS
++#define RIGHT_SHIFT(x,shft)   ((x) >> (shft))
++#endif
++
++
++METHODDEF(void)
++ycc_rgb_convert_argb (j_decompress_ptr cinfo,
++                 JSAMPIMAGE input_buf, JDIMENSION input_row,
++                 JSAMPARRAY output_buf, int num_rows)
++{
++  JDIMENSION num_cols = cinfo->output_width;
++  JSAMPLE * range_limit = cinfo->sample_range_limit;
++
++  SHIFT_TEMPS
++
++  /* This is used if we don't have SSE2 */
++
++  while (--num_rows >= 0) {
++    JSAMPROW inptr0 = input_buf[0][input_row];
++    JSAMPROW inptr1 = input_buf[1][input_row];
++    JSAMPROW inptr2 = input_buf[2][input_row];
++    input_row++;
++    uint32_t *outptr = (uint32_t *) *output_buf++;
++    for (JDIMENSION col = 0; col < num_cols; col++) {
++      int y  = GETJSAMPLE(inptr0[col]);
++      int cb = GETJSAMPLE(inptr1[col]);
++      int cr = GETJSAMPLE(inptr2[col]);
++      JSAMPLE * range_limit_y = range_limit + y;
++      /* Range-limiting is essential due to noise introduced by DCT losses. */
++      outptr[col] = 0xFF000000 |
++                    ( range_limit_y[Cr_r_tab[cr]] << 16 ) |
++                    ( range_limit_y[((int) RIGHT_SHIFT(Cb_g_tab[cb] + Cr_g_tab[cr], SCALEBITS))] << 8 ) |
++                    ( range_limit_y[Cb_b_tab[cb]] );
++    }
++  }
++}
++#endif
++
++
+ ///*************** Inverted CMYK -> RGB conversion *************************
+ /// Input is (Inverted) CMYK stored as 4 bytes per pixel.
+ /// Output is RGB stored as 3 bytes per pixel.
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_intl_hyphenation_glue_hnjalloc.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_intl_hyphenation_glue_hnjalloc.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_intl_hyphenation_glue_hnjalloc.h    Thu Apr 27 13:38:18 2017
@@ -0,0 +1,14 @@
+$NetBSD: patch-mozilla_intl_hyphenation_glue_hnjalloc.h,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/intl/hyphenation/glue/hnjalloc.h.orig      2016-04-07 21:33:16.000000000 +0000
++++ mozilla/intl/hyphenation/glue/hnjalloc.h
+@@ -24,6 +24,9 @@
+  */
+ 
+ #include <stdio.h> /* ensure stdio.h is loaded before our macros */
++#ifdef __sun
++#include <wchar.h>
++#endif
+ 
+ #undef FILE
+ #define FILE hnjFile
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_atomicops.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_atomicops.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_atomicops.h   Thu Apr 27 13:38:18 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_atomicops.h,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/atomicops.h.orig     2016-04-07 21:33:19.000000000 +0000
++++ mozilla/ipc/chromium/src/base/atomicops.h
+@@ -45,7 +45,7 @@ typedef int64_t Atomic64;
+ 
+ // Use AtomicWord for a machine-sized pointer.  It will use the Atomic32 or
+ // Atomic64 routines below, depending on your architecture.
+-#ifdef OS_OPENBSD
++#if defined(OS_OPENBSD) || (defined(OS_NETBSD) && defined(ARCH_CPU_ARM_FAMILY))
+ #ifdef ARCH_CPU_64_BITS
+ typedef Atomic64 AtomicWord;
+ #else
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_file__util__posix.cc
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_file__util__posix.cc:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_file__util__posix.cc  Thu Apr 27 13:38:18 2017
@@ -0,0 +1,21 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_file__util__posix.cc,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/file_util_posix.cc.orig      2016-04-07 21:33:19.000000000 +0000
++++ mozilla/ipc/chromium/src/base/file_util_posix.cc
+@@ -266,7 +266,7 @@ bool SetCurrentDirectory(const FilePath&
+   return !ret;
+ }
+ 
+-#if !defined(OS_MACOSX)
++#if !defined(MOZ_WIDGET_COCOA)
+ bool GetTempDir(FilePath* path) {
+   const char* tmp = getenv("TMPDIR");
+   if (tmp)
+@@ -330,6 +330,6 @@ bool CopyFile(const FilePath& from_path,
+ 
+   return result;
+ }
+-#endif // !defined(OS_MACOSX)
++#endif // !defined(MOZ_WIDGET_COCOA)
+ 
+ } // namespace file_util
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_message__loop.cc
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_message__loop.cc:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_message__loop.cc      Thu Apr 27 13:38:18 2017
@@ -0,0 +1,38 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_message__loop.cc,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/message_loop.cc.orig 2016-04-07 21:33:19.000000000 +0000
++++ mozilla/ipc/chromium/src/base/message_loop.cc
+@@ -13,20 +13,18 @@
+ #include "base/string_util.h"
+ #include "base/thread_local.h"
+ 
+-#if defined(OS_MACOSX)
++#if defined(MOZ_WIDGET_COCOA)
+ #include "base/message_pump_mac.h"
+ #endif
+ #if defined(OS_POSIX)
+ #include "base/message_pump_libevent.h"
+ #endif
+-#if defined(OS_LINUX) || defined(OS_BSD)
+ #if defined(MOZ_WIDGET_GTK)
+ #include "base/message_pump_glib.h"
+ #endif
+ #ifdef MOZ_WIDGET_QT
+ #include "base/message_pump_qt.h"
+ #endif
+-#endif
+ #ifdef ANDROID
+ #include "base/message_pump_android.h"
+ #endif
+@@ -143,9 +141,9 @@ MessageLoop::MessageLoop(Type type)
+   }
+ #elif defined(OS_POSIX)
+   if (type_ == TYPE_UI) {
+-#if defined(OS_MACOSX)
++#if defined(MOZ_WIDGET_COCOA)
+     pump_ = base::MessagePumpMac::Create();
+-#elif defined(OS_LINUX) || defined(OS_BSD)
++#elif defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_QT)
+     pump_ = new base::MessagePumpForUI();
+ #endif  // OS_LINUX
+   } else if (type_ == TYPE_IO) {
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_message__pump__libevent.cc
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_message__pump__libevent.cc:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_message__pump__libevent.cc    Thu Apr 27 13:38:18 2017
@@ -0,0 +1,20 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_message__pump__libevent.cc,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/message_pump_libevent.cc.orig        2017-03-05 20:58:25.000000000 +0000
++++ mozilla/ipc/chromium/src/base/message_pump_libevent.cc
+@@ -20,6 +20,7 @@
+ 
+ // This macro checks that the _EVENT_SIZEOF_* constants defined in
+ // ipc/chromiume/src/third_party/<platform>/event2/event-config.h are correct.
++#if 0
+ #if defined(_EVENT_SIZEOF_SHORT)
+ #define CHECK_EVENT_SIZEOF(TYPE, type) \
+     static_assert(_EVENT_SIZEOF_##TYPE == sizeof(type), \
+@@ -38,6 +39,7 @@ CHECK_EVENT_SIZEOF(PTHREAD_T, pthread_t)
+ CHECK_EVENT_SIZEOF(SHORT,     short);
+ CHECK_EVENT_SIZEOF(SIZE_T,    size_t);
+ CHECK_EVENT_SIZEOF(VOID_P,    void*);
++#endif
+ 
+ // Lifecycle of struct event
+ // Libevent uses two main data structures:
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_platform__thread.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_platform__thread.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_platform__thread.h    Thu Apr 27 13:38:18 2017
@@ -0,0 +1,14 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_platform__thread.h,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/platform_thread.h.orig       2016-04-07 21:33:19.000000000 +0000
++++ mozilla/ipc/chromium/src/base/platform_thread.h
+@@ -25,6 +25,9 @@ typedef pthread_t PlatformThreadHandle;
+ #if defined(OS_LINUX) || defined(OS_OPENBSD) || defined(__GLIBC__)
+ #include <unistd.h>
+ typedef pid_t PlatformThreadId;
++#elif defined(OS_SOLARIS)
++#include <sys/lwp.h>
++typedef lwpid_t PlatformThreadId;
+ #elif defined(OS_BSD)
+ #include <sys/types.h>
+ typedef lwpid_t PlatformThreadId;
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_platform__thread__posix.cc
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_platform__thread__posix.cc:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_platform__thread__posix.cc    Thu Apr 27 13:38:18 2017
@@ -0,0 +1,87 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_platform__thread__posix.cc,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/platform_thread_posix.cc.orig        2016-04-07 21:33:19.000000000 +0000
++++ mozilla/ipc/chromium/src/base/platform_thread_posix.cc
+@@ -9,22 +9,24 @@
+ 
+ #if defined(OS_MACOSX)
+ #include <mach/mach.h>
++#include <dlfcn.h>
++#include <string>
+ #elif defined(OS_NETBSD)
++_Pragma("GCC visibility push(default)")
+ #include <lwp.h>
++_Pragma("GCC visibility pop")
+ #elif defined(OS_LINUX)
+ #include <sys/syscall.h>
+ #include <sys/prctl.h>
+ #endif
+ 
+-#if !defined(OS_MACOSX)
+ #include <unistd.h>
+-#endif
+ 
+ #if defined(OS_BSD) && !defined(OS_NETBSD) && !defined(__GLIBC__)
+ #include <pthread_np.h>
+ #endif
+ 
+-#if defined(OS_MACOSX)
++#if defined(MOZ_WIDGET_COCOA)
+ namespace base {
+ void InitThreading();
+ }  // namespace
+@@ -82,7 +84,7 @@ void PlatformThread::Sleep(int duration_
+     sleep_time = remaining;
+ }
+ 
+-#ifndef OS_MACOSX
++#ifndef MOZ_WIDGET_COCOA
+ // Mac is implemented in platform_thread_mac.mm.
+ 
+ // static
+@@ -105,19 +107,41 @@ void PlatformThread::SetName(const char*
+   pthread_setname_np(pthread_self(), "%s", (void *)name);
+ #elif defined(OS_BSD) && !defined(__GLIBC__)
+   pthread_set_name_np(pthread_self(), name);
+-#else
++#elif defined(OS_MACOSX)
++  // Copied from platform_thread_mac.mm
++
++  // pthread_setname_np is only available in 10.6 or later, so test
++  // for it at runtime.
++  int (*dynamic_pthread_setname_np)(const char*);
++  *reinterpret_cast<void**>(&dynamic_pthread_setname_np) =
++      dlsym(RTLD_DEFAULT, "pthread_setname_np");
++  if (!dynamic_pthread_setname_np)
++    return;
++
++  // Mac OS X does not expose the length limit of the name, so
++  // hardcode it.
++  const int kMaxNameLength = 63;
++  std::string shortened_name = std::string(name).substr(0, kMaxNameLength);
++  // pthread_setname() fails (harmlessly) in the sandbox, ignore when it does.
++  // See http://crbug.com/47058
++
++  // The name parameter is copied thus it's safe to release it after calling.
++  // Checked against the bionic implementation in bionic/libc/bionic/pthread.c
++  dynamic_pthread_setname_np(shortened_name.c_str());
++#elif !defined(OS_SOLARIS)
++  prctl(PR_SET_NAME, reinterpret_cast<uintptr_t>(name), 0, 0, 0);
+ #endif
+ }
+-#endif // !OS_MACOSX
++#endif // !MOZ_WIDGET_COCOA
+ 
+ namespace {
+ 
+ bool CreateThread(size_t stack_size, bool joinable,
+                   PlatformThread::Delegate* delegate,
+                   PlatformThreadHandle* thread_handle) {
+-#if defined(OS_MACOSX)
++#if defined(MOZ_WIDGET_COCOA)
+   base::InitThreading();
+-#endif  // OS_MACOSX
++#endif  // MOZ_WIDGET_COCOA
+ 
+   bool success = false;
+   pthread_attr_t attributes;
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_process__util.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_process__util.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_process__util.h       Thu Apr 27 13:38:18 2017
@@ -0,0 +1,14 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_process__util.h,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/process_util.h.orig  2016-04-07 21:33:19.000000000 +0000
++++ mozilla/ipc/chromium/src/base/process_util.h
+@@ -41,6 +41,9 @@
+ typedef PROCESSENTRY32 ProcessEntry;
+ typedef IO_COUNTERS IoCounters;
+ #elif defined(OS_POSIX)
++#ifndef NAME_MAX
++#define NAME_MAX _POSIX_NAME_MAX
++#endif
+ // TODO(port): we should not rely on a Win32 structure.
+ struct ProcessEntry {
+   int pid;
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc Thu Apr 27 13:38:18 2017
@@ -0,0 +1,15 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/process_util_bsd.cc.orig     2016-04-07 21:33:19.000000000 +0000
++++ mozilla/ipc/chromium/src/base/process_util_bsd.cc
+@@ -10,6 +10,10 @@
+ #include <spawn.h>
+ #include <sys/wait.h>
+ 
++#if defined(OS_BSD)
++#include <kvm.h>
++#endif
++
+ #include <string>
+ 
+ #include "base/eintr_wrapper.h"
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_process__util__posix.cc
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_process__util__posix.cc:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_process__util__posix.cc       Thu Apr 27 13:38:18 2017
@@ -0,0 +1,22 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_process__util__posix.cc,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/process_util_posix.cc.orig   2016-04-07 21:33:19.000000000 +0000
++++ mozilla/ipc/chromium/src/base/process_util_posix.cc
+@@ -116,7 +116,7 @@ void CloseSuperfluousFds(const base::Inj
+ #if defined(ANDROID)
+   static const rlim_t kSystemDefaultMaxFds = 1024;
+   static const char kFDDir[] = "/proc/self/fd";
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_SOLARIS)
+   static const rlim_t kSystemDefaultMaxFds = 8192;
+   static const char kFDDir[] = "/proc/self/fd";
+ #elif defined(OS_MACOSX)
+@@ -208,7 +208,7 @@ void CloseSuperfluousFds(const base::Inj
+ // TODO(agl): Remove this function. It's fundamentally broken for multithreaded
+ // apps.
+ void SetAllFDsToCloseOnExec() {
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_SOLARIS)
+   const char fd_dir[] = "/proc/self/fd";
+ #elif defined(OS_MACOSX) || defined(OS_BSD)
+   const char fd_dir[] = "/dev/fd";
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_scoped__nsautorelease__pool.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_scoped__nsautorelease__pool.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_scoped__nsautorelease__pool.h Thu Apr 27 13:38:18 2017
@@ -0,0 +1,42 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_scoped__nsautorelease__pool.h,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/scoped_nsautorelease_pool.h.orig     2016-04-07 21:33:19.000000000 +0000
++++ mozilla/ipc/chromium/src/base/scoped_nsautorelease_pool.h
+@@ -7,13 +7,13 @@
+ 
+ #include "base/basictypes.h"
+ 
+-#if defined(OS_MACOSX)
++#if defined(MOZ_WIDGET_COCOA)
+ #if defined(__OBJC__)
+ @class NSAutoreleasePool;
+ #else  // __OBJC__
+ class NSAutoreleasePool;
+ #endif  // __OBJC__
+-#endif  // OS_MACOSX
++#endif  // MOZ_WIDGET_COCOA
+ 
+ namespace base {
+ 
+@@ -27,10 +27,10 @@ namespace base {
+ // ugly #ifdefs.
+ class ScopedNSAutoreleasePool {
+  public:
+-#if !defined(OS_MACOSX)
++#if !defined(MOZ_WIDGET_COCOA)
+   ScopedNSAutoreleasePool() {}
+   void Recycle() { }
+-#else  // OS_MACOSX
++#else  // MOZ_WIDGET_COCOA
+   ScopedNSAutoreleasePool();
+   ~ScopedNSAutoreleasePool();
+ 
+@@ -41,7 +41,7 @@ class ScopedNSAutoreleasePool {
+   void Recycle();
+  private:
+   NSAutoreleasePool* autorelease_pool_;
+-#endif  // OS_MACOSX
++#endif  // MOZ_WIDGET_COCOA
+ 
+  private:
+   DISALLOW_COPY_AND_ASSIGN(ScopedNSAutoreleasePool);
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_sys__info__posix.cc
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_sys__info__posix.cc:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_sys__info__posix.cc   Thu Apr 27 13:38:18 2017
@@ -0,0 +1,16 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_sys__info__posix.cc,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/sys_info_posix.cc.orig       2016-04-07 21:33:19.000000000 +0000
++++ mozilla/ipc/chromium/src/base/sys_info_posix.cc
+@@ -119,7 +119,11 @@ std::wstring SysInfo::GetEnvVar(const wc
+ 
+ // static
+ std::string SysInfo::OperatingSystemName() {
++#ifdef OS_SOLARIS
++  struct utsname info;
++#else
+   utsname info;
++#endif
+   if (uname(&info) < 0) {
+     NOTREACHED();
+     return "";
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_time__posix.cc
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_time__posix.cc:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_base_time__posix.cc        Thu Apr 27 13:38:18 2017
@@ -0,0 +1,15 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_time__posix.cc,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/time_posix.cc.orig   2016-04-07 21:33:19.000000000 +0000
++++ mozilla/ipc/chromium/src/base/time_posix.cc
+@@ -65,8 +65,10 @@ Time Time::FromExploded(bool is_local, c
+   timestruct.tm_wday   = exploded.day_of_week;  // mktime/timegm ignore this
+   timestruct.tm_yday   = 0;     // mktime/timegm ignore this
+   timestruct.tm_isdst  = -1;    // attempt to figure it out
++#ifndef OS_SOLARIS
+   timestruct.tm_gmtoff = 0;     // not a POSIX field, so mktime/timegm ignore
+   timestruct.tm_zone   = NULL;  // not a POSIX field, so mktime/timegm ignore
++#endif
+ 
+   time_t seconds;
+ #ifdef ANDROID
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_build_build__config.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_build_build__config.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_build_build__config.h      Thu Apr 27 13:38:18 2017
@@ -0,0 +1,22 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_build_build__config.h,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/build/build_config.h.orig 2016-04-07 21:33:19.000000000 +0000
++++ mozilla/ipc/chromium/src/build/build_config.h
+@@ -30,6 +30,8 @@
+ #define OS_NETBSD 1
+ #elif defined(__OpenBSD__)
+ #define OS_OPENBSD 1
++#elif defined(__sun)
++#define OS_SOLARIS 1
+ #elif defined(_WIN32)
+ #define OS_WIN 1
+ #else
+@@ -45,7 +47,7 @@
+ 
+ // For access to standard POSIX features, use OS_POSIX instead of a more
+ // specific macro.
+-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS)
+ #define OS_POSIX 1
+ #endif
+ 
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_chrome_common_transport__dib.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_chrome_common_transport__dib.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_chromium_src_chrome_common_transport__dib.h     Thu Apr 27 13:38:18 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_chrome_common_transport__dib.h,v 1.1 2017/04/27 13:38:18 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/chrome/common/transport_dib.h.orig        2016-04-07 21:33:19.000000000 +0000
++++ mozilla/ipc/chromium/src/chrome/common/transport_dib.h
+@@ -66,7 +66,7 @@ class TransportDIB {
+   typedef base::SharedMemoryHandle Handle;
+   // On Mac, the inode number of the backing file is used as an id.
+   typedef base::SharedMemoryId Id;
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_SOLARIS)
+   typedef int Handle;  // These two ints are SysV IPC shared memory keys
+   typedef int Id;
+ #endif
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp  Thu Apr 27 13:38:19 2017
@@ -0,0 +1,45 @@
+$NetBSD: patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/ipc/glue/GeckoChildProcessHost.cpp.orig    2016-04-07 21:33:19.000000000 +0000
++++ mozilla/ipc/glue/GeckoChildProcessHost.cpp
+@@ -4,7 +4,13 @@
+  * License, v. 2.0. If a copy of the MPL was not distributed with this
+  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+ 
++#if defined(__NetBSD__)
++_Pragma("GCC visibility push(default)")
++#endif
+ #include "GeckoChildProcessHost.h"
++#if defined(__NetBSD__)
++_Pragma("GCC visibility pop")
++#endif
+ 
+ #include "base/command_line.h"
+ #include "base/string_util.h"
+@@ -633,7 +639,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
+   // and passing wstrings from one config to the other is unsafe.  So
+   // we split the logic here.
+ 
+-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) || defined(OS_SOLARIS)
+   base::environment_map newEnvVars;
+   ChildPrivileges privs = mPrivileges;
+   if (privs == base::PRIVILEGES_DEFAULT) {
+@@ -759,7 +765,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
+   childArgv.push_back(pidstring);
+ 
+ #if defined(MOZ_CRASHREPORTER)
+-#  if defined(OS_LINUX) || defined(OS_BSD)
++#  if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS)
+   int childCrashFd, childCrashRemapFd;
+   if (!CrashReporter::CreateNotificationPipeForChild(
+         &childCrashFd, &childCrashRemapFd))
+@@ -792,7 +798,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
+   childArgv.push_back(childProcessType);
+ 
+   base::LaunchApp(childArgv, mFileMap,
+-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) || defined(OS_SOLARIS)
+                   newEnvVars, privs,
+ #endif
+                   false, &process, arch);
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_glue_StringUtil.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_glue_StringUtil.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_glue_StringUtil.cpp     Thu Apr 27 13:38:19 2017
@@ -0,0 +1,21 @@
+$NetBSD: patch-mozilla_ipc_glue_StringUtil.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/ipc/glue/StringUtil.cpp.orig       2016-04-07 21:33:19.000000000 +0000
++++ mozilla/ipc/glue/StringUtil.cpp
+@@ -65,14 +65,14 @@ namespace base {
+ // converters, and implementing the one that doesn't exist for OS X
+ // and Windows.
+ 
+-#if !defined(OS_MACOSX) && !defined(OS_WIN)
++#if !defined(MOZ_WIDGET_COCOA) && !defined(OS_WIN)
+ std::string SysWideToUTF8(const std::wstring& wide) {
+   // FIXME/cjones: do this with iconv
+   return GhettoStringConvert<std::wstring, std::string>(wide);
+ }
+ #endif
+ 
+-#if !defined(OS_MACOSX) && !defined(OS_WIN)
++#if !defined(MOZ_WIDGET_COCOA) && !defined(OS_WIN)
+ std::wstring SysUTF8ToWide(const StringPiece& utf8) {
+   // FIXME/cjones: do this with iconv
+   return GhettoStringConvert<StringPiece, std::wstring>(utf8);
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_glue_moz.build
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_glue_moz.build:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_ipc_glue_moz.build  Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_ipc_glue_moz.build,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/ipc/glue/moz.build.orig    2016-04-07 21:33:19.000000000 +0000
++++ mozilla/ipc/glue/moz.build
+@@ -95,7 +95,7 @@ elif CONFIG['OS_ARCH'] in ('DragonFly', 
+     UNIFIED_SOURCES += [
+         'ProcessUtils_bsd.cpp'
+     ]
+-elif CONFIG['OS_ARCH'] == 'Darwin':
++elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
+     UNIFIED_SOURCES += [
+         'ProcessUtils_mac.mm'
+     ]
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_configure.in
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_configure.in:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_configure.in Thu Apr 27 13:38:19 2017
@@ -0,0 +1,40 @@
+$NetBSD: patch-mozilla_js_src_configure.in,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/js/src/configure.in.orig   2016-04-07 21:33:20.000000000 +0000
++++ mozilla/js/src/configure.in
+@@ -2114,8 +2114,7 @@ AC_LANG_CPLUSPLUS
+ 
+ MOZ_CXX11
+ 
+-dnl Check for .hidden assembler directive and visibility attribute.
+-dnl Borrowed from glibc configure.in
++dnl Setup default hidden visibility and wrapped system headers.
+ dnl ===============================================================
+ if test "$GNU_CC" -a "$OS_TARGET" != WINNT; then
+   AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
+@@ -2951,7 +2950,7 @@ if test "$MOZ_MEMORY"; then
+   *-darwin*)
+     AC_DEFINE(MOZ_MEMORY_DARWIN)
+     ;;
+-  *-*freebsd*)
++  *-*freebsd*|*-*dragonfly*)
+     AC_DEFINE(MOZ_MEMORY_BSD)
+     ;;
+   *-android*|*-linuxandroid*)
+@@ -3818,6 +3817,16 @@ MOZ_SUBCONFIGURE_ICU()
+ dnl ========================================================
+ dnl JavaScript shell
+ dnl ========================================================
++ICU_LIB_NAMES=
++MOZ_NATIVE_ICU=
++MOZ_ARG_WITH_BOOL(system-icu,
++[  --with-system-icu
++                          Use system icu (located with pkgconfig)],
++    MOZ_NATIVE_ICU=1)
++
++if test -n "$MOZ_NATIVE_ICU"; then
++    PKG_CHECK_MODULES(MOZ_ICU, icu-i18n >= 50.1)
++fi
+ 
+ MOZ_CHECK_ALLOCATOR
+ 
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_ctypes_CTypes.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_ctypes_CTypes.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_ctypes_CTypes.h      Thu Apr 27 13:38:19 2017
@@ -0,0 +1,28 @@
+$NetBSD: patch-mozilla_js_src_ctypes_CTypes.h,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/js/src/ctypes/CTypes.h.orig        2016-04-07 21:33:20.000000000 +0000
++++ mozilla/js/src/ctypes/CTypes.h
+@@ -19,6 +19,23 @@
+ #include "js/Vector.h"
+ #include "vm/String.h"
+ 
++#if defined(__NetBSD__)
++#include <stdint.h>
++/* XXX why do we have those funky __ #defines in stdint.h? */
++#warning this is a retarded workaround
++#define uint8_t uint8_t
++#define uint16_t uint16_t
++#define uint32_t uint32_t
++#define uint64_t uint64_t
++#define int8_t int8_t
++#define int16_t int16_t
++#define int32_t int32_t
++#define int64_t int64_t
++#define intptr_t intptr_t
++#define uintptr_t uintptr_t
++#define off_t off_t
++#endif
++
+ namespace js {
+ namespace ctypes {
+ 
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_frontend_ParseMaps.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_frontend_ParseMaps.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_frontend_ParseMaps.cpp       Thu Apr 27 13:38:19 2017
@@ -0,0 +1,12 @@
+$NetBSD: patch-mozilla_js_src_frontend_ParseMaps.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/js/src/frontend/ParseMaps.cpp.orig 2016-04-07 21:33:20.000000000 +0000
++++ mozilla/js/src/frontend/ParseMaps.cpp
+@@ -133,5 +133,5 @@ frontend::InitAtomMap(frontend::AtomInde
+     }
+ }
+ 
+-template class js::frontend::AtomDecls<FullParseHandler>;
+-template class js::frontend::AtomDecls<SyntaxParseHandler>;
++template class frontend::AtomDecls<FullParseHandler>;
++template class frontend::AtomDecls<SyntaxParseHandler>;
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jit_LIR.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jit_LIR.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jit_LIR.cpp  Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_js_src_jit_LIR.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/js/src/jit/LIR.cpp.orig    2016-04-07 21:33:24.000000000 +0000
++++ mozilla/js/src/jit/LIR.cpp
+@@ -322,7 +322,7 @@ LNode::printName(GenericPrinter& out, Op
+     const char* name = names[op];
+     size_t len = strlen(name);
+     for (size_t i = 0; i < len; i++)
+-        out.printf("%c", tolower(name[i]));
++        out.printf("%c", tolower((unsigned char)name[i]));
+ }
+ 
+ void
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jit_MIR.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jit_MIR.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jit_MIR.cpp  Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_js_src_jit_MIR.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/js/src/jit/MIR.cpp.orig    2016-04-07 21:33:24.000000000 +0000
++++ mozilla/js/src/jit/MIR.cpp
+@@ -75,7 +75,7 @@ MDefinition::PrintOpcodeName(GenericPrin
+     const char* name = names[op];
+     size_t len = strlen(name);
+     for (size_t i = 0; i < len; i++)
+-        out.printf("%c", tolower(name[i]));
++        out.printf("%c", tolower((unsigned char)name[i]));
+ }
+ 
+ const Value&
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jit_arm_Architecture-arm.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jit_arm_Architecture-arm.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jit_arm_Architecture-arm.cpp Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_js_src_jit_arm_Architecture-arm.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/js/src/jit/arm/Architecture-arm.cpp.orig   2016-04-07 21:33:24.000000000 +0000
++++ mozilla/js/src/jit/arm/Architecture-arm.cpp
+@@ -16,7 +16,7 @@
+ #include "jit/arm/Assembler-arm.h"
+ #include "jit/RegisterSets.h"
+ 
+-#if !defined(__linux__) || defined(ANDROID) || defined(JS_SIMULATOR_ARM)
++#if !defined(__linux__) || defined(ANDROID) || defined(JS_ARM_SIMULATOR) || defined(__NetBSD__)
+ // The Android NDK and B2G do not include the hwcap.h kernel header, and it is not
+ // defined when building the simulator, so inline the header defines we need.
+ # define HWCAP_VFP        (1 << 6)
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jsdate.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jsdate.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jsdate.cpp   Thu Apr 27 13:38:19 2017
@@ -0,0 +1,15 @@
+$NetBSD: patch-mozilla_js_src_jsdate.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/js/src/jsdate.cpp.orig     2016-04-07 21:33:24.000000000 +0000
++++ mozilla/js/src/jsdate.cpp
+@@ -2672,8 +2672,8 @@ ToLocaleFormatHelper(JSContext* cx, Hand
+         if (strcmp(format, "%x") == 0 && result_len >= 6 &&
+             /* Format %x means use OS settings, which may have 2-digit yr, so
+                hack end of 3/11/22 or 11.03.22 or 11Mar22 to use 4-digit yr...*/
+-            !isdigit(buf[result_len - 3]) &&
+-            isdigit(buf[result_len - 2]) && isdigit(buf[result_len - 1]) &&
++            !isdigit(((unsigned char)buf[result_len - 3])) &&
++            isdigit(((unsigned char)buf[result_len - 2])) && isdigit(((unsigned char)buf[result_len - 1])) &&
+             /* ...but not if starts with 4-digit year, like 2022/3/11. */
+             !(isdigit(buf[0]) && isdigit(buf[1]) &&
+               isdigit(buf[2]) && isdigit(buf[3]))) {
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jskwgen.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jskwgen.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jskwgen.cpp  Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_js_src_jskwgen.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/js/src/jskwgen.cpp.orig    2016-04-07 21:33:24.000000000 +0000
++++ mozilla/js/src/jskwgen.cpp
+@@ -181,7 +181,7 @@ qchar(char c, char* quoted_buffer)
+         *s++ = '\\';
+         break;
+       default:
+-        if (!isprint(c)) {
++        if (!isprint(((unsigned char)c))) {
+             *s++ = '\\';
+             *s++ = (char)('0' + (0x3 & (((unsigned char)c) >> 6)));
+             *s++ = (char)('0' + (0x7 & (((unsigned char)c) >> 3)));
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jsmath.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jsmath.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jsmath.cpp   Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_js_src_jsmath.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/js/src/jsmath.cpp.orig     2016-04-07 21:33:24.000000000 +0000
++++ mozilla/js/src/jsmath.cpp
+@@ -272,7 +272,7 @@ js::ecmaAtan2(double y, double x)
+     }
+ #endif
+ 
+-#if defined(SOLARIS) && defined(__GNUC__)
++#if defined(notSOLARIS) && defined(__GNUC__)
+     if (y == 0) {
+         if (IsNegativeZero(x))
+             return js_copysign(M_PI, y);
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jsnativestack.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jsnativestack.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_jsnativestack.cpp    Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_js_src_jsnativestack.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/js/src/jsnativestack.cpp.orig      2016-04-07 21:33:24.000000000 +0000
++++ mozilla/js/src/jsnativestack.cpp
+@@ -102,7 +102,7 @@ js::GetNativeStackBaseImpl()
+     pthread_attr_init(&sattr);
+ #  if defined(__OpenBSD__)
+     stack_t ss;
+-#  elif defined(PTHREAD_NP_H) || defined(_PTHREAD_NP_H_) || defined(NETBSD)
++#  elif defined(PTHREAD_NP_H) || defined(_PTHREAD_NP_H_) || defined(__DragonFly__) || defined(NETBSD) || defined(__NetBSD__) /* XXX tnn not sure why NETBSD isn't defined, it looks like it should be 
... */
+     /* e.g. on FreeBSD 4.8 or newer, neundorf%kde.org@localhost */
+     pthread_attr_get_np(thread, &sattr);
+ #  else
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_shell_jsoptparse.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_shell_jsoptparse.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_shell_jsoptparse.cpp Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_js_src_shell_jsoptparse.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/js/src/shell/jsoptparse.cpp.orig   2016-04-07 21:33:25.000000000 +0000
++++ mozilla/js/src/shell/jsoptparse.cpp
+@@ -95,7 +95,7 @@ PrintParagraph(const char* text, unsigne
+         ++it;
+ 
+     while (*it != '\0') {
+-        MOZ_ASSERT(!isspace(*it));
++        MOZ_ASSERT(!isspace((unsigned char)*it));
+ 
+         /* Delimit the current token. */
+         const char* limit = it;
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_vm_SPSProfiler.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_vm_SPSProfiler.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_src_vm_SPSProfiler.cpp   Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_js_src_vm_SPSProfiler.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/js/src/vm/SPSProfiler.cpp.orig     2016-04-07 21:33:28.000000000 +0000
++++ mozilla/js/src/vm/SPSProfiler.cpp
+@@ -4,6 +4,8 @@
+  * License, v. 2.0. If a copy of the MPL was not distributed with this
+  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+ 
++#include "jscntxtinlines.h"
++
+ #include "vm/SPSProfiler.h"
+ 
+ #include "mozilla/DebugOnly.h"
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_xpconnect_src_XPCConvert.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_xpconnect_src_XPCConvert.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_xpconnect_src_XPCConvert.cpp     Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_js_xpconnect_src_XPCConvert.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/js/xpconnect/src/XPCConvert.cpp.orig       2016-04-07 21:33:28.000000000 +0000
++++ mozilla/js/xpconnect/src/XPCConvert.cpp
+@@ -134,7 +134,7 @@ XPCConvert::NativeData2JS(MutableHandleV
+         d.setNumber(*static_cast<const float*>(s));
+         return true;
+     case nsXPTType::T_DOUBLE:
+-        d.setNumber(*static_cast<const double*>(s));
++        d.setNumber(CanonicalizeNaN(*static_cast<const double*>(s)));
+         return true;
+     case nsXPTType::T_BOOL  :
+         d.setBoolean(*static_cast<const bool*>(s));
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_xpconnect_src_xpcprivate.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_xpconnect_src_xpcprivate.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_js_xpconnect_src_xpcprivate.h       Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_js_xpconnect_src_xpcprivate.h,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/js/xpconnect/src/xpcprivate.h.orig 2016-04-07 21:33:28.000000000 +0000
++++ mozilla/js/xpconnect/src/xpcprivate.h
+@@ -999,6 +999,8 @@ typedef nsTArray<InterpositionWhitelistP
+ /***************************************************************************/
+ // XPCWrappedNativeScope is one-to-one with a JS global object.
+ 
++extern template class JS_PUBLIC_API(JS::WeakMapPtr)<JSObject*, JSObject*>;
++
+ class nsIAddonInterposition;
+ class nsXPCComponentsBase;
+ class XPCWrappedNativeScope : public PRCList
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libcubeb_src_cubeb.c
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libcubeb_src_cubeb.c:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libcubeb_src_cubeb.c  Thu Apr 27 13:38:19 2017
@@ -0,0 +1,24 @@
+$NetBSD: patch-mozilla_media_libcubeb_src_cubeb.c,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/libcubeb/src/cubeb.c.orig    2016-04-07 21:33:21.000000000 +0000
++++ mozilla/media/libcubeb/src/cubeb.c
+@@ -60,6 +60,9 @@ int audiotrack_init(cubeb ** context, ch
+ #if defined(USE_KAI)
+ int kai_init(cubeb ** context, char const * context_name);
+ #endif
++#if defined(USE_OSS)
++int oss_init(cubeb ** context, char const * context_name);
++#endif
+ 
+ int
+ validate_stream_params(cubeb_stream_params stream_params)
+@@ -129,6 +132,9 @@ cubeb_init(cubeb ** context, char const 
+ #if defined(USE_KAI)
+     kai_init,
+ #endif
++#if defined(USE_OSS)
++    oss_init,
++#endif
+   };
+   int i;
+ 
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libcubeb_src_cubeb__alsa.c
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libcubeb_src_cubeb__alsa.c:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libcubeb_src_cubeb__alsa.c    Thu Apr 27 13:38:19 2017
@@ -0,0 +1,675 @@
+$NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/libcubeb/src/cubeb_alsa.c.orig       2016-04-07 21:33:21.000000000 +0000
++++ mozilla/media/libcubeb/src/cubeb_alsa.c
+@@ -7,12 +7,18 @@
+ #undef NDEBUG
+ #define _DEFAULT_SOURCE
+ #define _BSD_SOURCE
++#if defined(__NetBSD__)
++#define _NETBSD_SOURCE
++#endif
+ #define _XOPEN_SOURCE 500
+ #include <pthread.h>
+ #include <sys/time.h>
+ #include <assert.h>
+ #include <limits.h>
++#include <dlfcn.h>
+ #include <poll.h>
++#include <stdlib.h>
++#include <stdio.h>
+ #include <unistd.h>
+ #include <alsa/asoundlib.h>
+ #include "cubeb/cubeb.h"
+@@ -25,6 +31,51 @@
+ 
+ #define ALSA_PA_PLUGIN "ALSA <-> PulseAudio PCM I/O Plugin"
+ 
++#ifdef DISABLE_LIBASOUND_DLOPEN
++#define WRAP(x) x
++#else
++#define WRAP(x) cubeb_##x
++#define MAKE_TYPEDEF(x) static typeof(x) * cubeb_##x
++MAKE_TYPEDEF(snd_config);
++MAKE_TYPEDEF(snd_config_add);
++MAKE_TYPEDEF(snd_config_copy);
++MAKE_TYPEDEF(snd_config_delete);
++MAKE_TYPEDEF(snd_config_get_id);
++MAKE_TYPEDEF(snd_config_get_string);
++MAKE_TYPEDEF(snd_config_imake_integer);
++MAKE_TYPEDEF(snd_config_search);
++MAKE_TYPEDEF(snd_config_search_definition);
++MAKE_TYPEDEF(snd_lib_error_set_handler);
++MAKE_TYPEDEF(snd_pcm_avail_update);
++MAKE_TYPEDEF(snd_pcm_close);
++MAKE_TYPEDEF(snd_pcm_delay);
++MAKE_TYPEDEF(snd_pcm_drain);
++MAKE_TYPEDEF(snd_pcm_forward);
++MAKE_TYPEDEF(snd_pcm_frames_to_bytes);
++MAKE_TYPEDEF(snd_pcm_get_params);
++/* snd_pcm_hw_params_alloca is actually a macro */
++/* MAKE_TYPEDEF(snd_pcm_hw_params_alloca); */
++MAKE_TYPEDEF(snd_pcm_hw_params_sizeof);
++#define snd_pcm_hw_params_sizeof cubeb_snd_pcm_hw_params_sizeof
++MAKE_TYPEDEF(snd_pcm_hw_params_any);
++MAKE_TYPEDEF(snd_pcm_hw_params_get_channels_max);
++MAKE_TYPEDEF(snd_pcm_hw_params_get_rate);
++MAKE_TYPEDEF(snd_pcm_hw_params_set_rate_near);
++MAKE_TYPEDEF(snd_pcm_nonblock);
++MAKE_TYPEDEF(snd_pcm_open);
++MAKE_TYPEDEF(snd_pcm_open_lconf);
++MAKE_TYPEDEF(snd_pcm_pause);
++MAKE_TYPEDEF(snd_pcm_poll_descriptors);
++MAKE_TYPEDEF(snd_pcm_poll_descriptors_count);
++MAKE_TYPEDEF(snd_pcm_poll_descriptors_revents);
++MAKE_TYPEDEF(snd_pcm_recover);
++MAKE_TYPEDEF(snd_pcm_set_params);
++MAKE_TYPEDEF(snd_pcm_state);
++MAKE_TYPEDEF(snd_pcm_writei);
++
++#undef MAKE_TYPEDEF
++#endif
++
+ /* ALSA is not thread-safe.  snd_pcm_t instances are individually protected
+    by the owning cubeb_stream's mutex.  snd_pcm_t creation and destruction
+    is not thread-safe until ALSA 1.0.24 (see alsa-lib.git commit 91c9c8f1),
+@@ -65,6 +116,8 @@ struct cubeb {
+      workaround is not required. */
+   snd_config_t * local_config;
+   int is_pa;
++
++  void * libasound;
+ };
+ 
+ enum stream_state {
+@@ -258,32 +311,35 @@ alsa_refill_stream(cubeb_stream * stm)
+   long got;
+   void * p;
+   int draining;
++  unsigned pipefailures, againfailures;
+ 
+   draining = 0;
+ 
+   pthread_mutex_lock(&stm->mutex);
+ 
+-  r = snd_pcm_poll_descriptors_revents(stm->pcm, stm->fds, stm->nfds, &revents);
+-  if (r < 0 || revents != POLLOUT) {
+-    /* This should be a stream error; it makes no sense for poll(2) to wake
+-       for this stream and then have the stream report that it's not ready.
+-       Unfortunately, this does happen, so just bail out and try again. */
+-    pthread_mutex_unlock(&stm->mutex);
+-    return RUNNING;
+-  }
+-
+-  avail = snd_pcm_avail_update(stm->pcm);
+-  if (avail == -EPIPE) {
+-    snd_pcm_recover(stm->pcm, avail, 1);
+-    avail = snd_pcm_avail_update(stm->pcm);
+-  }
++  for (pipefailures = 0;;) {
++    r = WRAP(snd_pcm_poll_descriptors_revents)(stm->pcm, stm->fds, stm->nfds, &revents);
++    if (r < 0 || revents != POLLOUT ||
++      (avail = WRAP(snd_pcm_avail_update)(stm->pcm)) == 0) {
++      /* This should be a stream error; it makes no sense for poll(2) to wake
++         for this stream and then have the stream report that it's not ready.
++         Unfortunately, this does happen, so just bail out and try again. */
++      pthread_mutex_unlock(&stm->mutex);
++      return RUNNING;
++    }
+ 
+-  /* Failed to recover from an xrun, this stream must be broken. */
+-  if (avail < 0) {
+-    pthread_mutex_unlock(&stm->mutex);
+-    stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
+-    return ERROR;
++    if (avail > 0)
++      break;
++    if (pipefailures++ > 11) {
++      fprintf(stderr, "%s: repeated failures from snd_pcm_avail_update, "
++              "giving up\n", __func__);
++      pthread_mutex_unlock(&stm->mutex);
++      stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
++      return ERROR;
++    }
++    WRAP(snd_pcm_recover)(stm->pcm, avail, 1);
+   }
++  pipefailures = againfailures = 0;
+ 
+   /* This should never happen. */
+   if ((unsigned int) avail > stm->buffer_size) {
+@@ -294,8 +350,8 @@ alsa_refill_stream(cubeb_stream * stm)
+      available to write.  If avail is still zero here, the stream must be in
+      a funky state, so recover and try again. */
+   if (avail == 0) {
+-    snd_pcm_recover(stm->pcm, -EPIPE, 1);
+-    avail = snd_pcm_avail_update(stm->pcm);
++    WRAP(snd_pcm_recover)(stm->pcm, -EPIPE, 1);
++    avail = WRAP(snd_pcm_avail_update)(stm->pcm);
+     if (avail <= 0) {
+       pthread_mutex_unlock(&stm->mutex);
+       stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
+@@ -303,7 +359,7 @@ alsa_refill_stream(cubeb_stream * stm)
+     }
+   }
+ 
+-  p = calloc(1, snd_pcm_frames_to_bytes(stm->pcm, avail));
++  p = calloc(1, WRAP(snd_pcm_frames_to_bytes)(stm->pcm, avail));
+   assert(p);
+ 
+   pthread_mutex_unlock(&stm->mutex);
+@@ -312,10 +368,11 @@ alsa_refill_stream(cubeb_stream * stm)
+   if (got < 0) {
+     pthread_mutex_unlock(&stm->mutex);
+     stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
++    free(p);
+     return ERROR;
+   }
+   if (got > 0) {
+-    snd_pcm_sframes_t wrote;
++    snd_pcm_sframes_t wrote, towrite = got;
+ 
+     if (stm->params.format == CUBEB_SAMPLE_FLOAT32NE) {
+       float * b = (float *) p;
+@@ -328,14 +385,66 @@ alsa_refill_stream(cubeb_stream * stm)
+         b[i] *= stm->volume;
+       }
+     }
+-    wrote = snd_pcm_writei(stm->pcm, p, got);
+-    if (wrote == -EPIPE) {
+-      snd_pcm_recover(stm->pcm, wrote, 1);
+-      wrote = snd_pcm_writei(stm->pcm, p, got);
+-    }
+-    assert(wrote >= 0 && wrote == got);
+-    stm->write_position += wrote;
+-    gettimeofday(&stm->last_activity, NULL);
++    for (;;) {
++      wrote = WRAP(snd_pcm_writei)(stm->pcm, p,
++        towrite > avail ? avail : towrite);
++      switch(wrote) {
++      case -EPIPE:
++        if (pipefailures++ > 3) {
++          fprintf(stderr, "%s: Too many underflows, giving up\n", __func__);
++          stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
++          pthread_mutex_unlock(&stm->mutex);
++          free(p);
++          return ERROR;
++        }
++        WRAP(snd_pcm_recover)(stm->pcm, wrote, 1);
++        continue;
++      case -EAGAIN:
++        if (againfailures++ > 3) {
++          fprintf(stderr, "%s: Too many -EAGAIN errors from snd_pcm_writei, "
++          "giving up\n", __func__);
++          stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
++          pthread_mutex_unlock(&stm->mutex);
++          free(p);
++          return ERROR;
++        }
++        continue;
++#if __linux__
++      case -EBADFD:
++#else
++      case -EBADF:
++#endif
++        fprintf(stderr, "%s: snc_pcm_writei returned -%s, giving up\n",
++                __func__, "EBADFD");
++        free(p);
++        stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
++        pthread_mutex_unlock(&stm->mutex);
++        return ERROR;
++      }
++      if (wrote < 0) {
++        fprintf(stderr, "%s: snc_pcm_writei returned unexpected error %lld, "
++                "giving up\n", __func__, (long long)wrote);
++        free(p);
++        stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
++        pthread_mutex_unlock(&stm->mutex);
++        return ERROR;
++      }
++      pipefailures = againfailures = 0;
++      stm->write_position += wrote;
++      gettimeofday(&stm->last_activity, NULL);
++      if (wrote > towrite) {
++        fprintf(stderr, "%s: snc_pcm_writei wrote %lld frames, which was more "
++              "than we requested (%lld). This should not happen, giving up\n",
++                __func__, (long long)wrote, (long long)towrite);
++        free(p);
++        stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
++        pthread_mutex_unlock(&stm->mutex);
++        return ERROR;
++      }
++      if (towrite == wrote)
++        break;
++      towrite -= wrote;
++    }
+   }
+   if (got != avail) {
+     long buffer_fill = stm->buffer_size - (avail - got);
+@@ -343,7 +452,7 @@ alsa_refill_stream(cubeb_stream * stm)
+ 
+     /* Fill the remaining buffer with silence to guarantee one full period
+        has been written. */
+-    snd_pcm_writei(stm->pcm, (char *) p + got, avail - got);
++    WRAP(snd_pcm_writei)(stm->pcm, (char *) p + got, avail - got);
+ 
+     set_timeout(&stm->drain_timeout, buffer_time * 1000);
+ 
+@@ -454,26 +563,26 @@ get_slave_pcm_node(snd_config_t * lconf,
+ 
+   slave_def = NULL;
+ 
+-  r = snd_config_search(root_pcm, "slave", &slave_pcm);
++  r = WRAP(snd_config_search)(root_pcm, "slave", &slave_pcm);
+   if (r < 0) {
+     return NULL;
+   }
+ 
+-  r = snd_config_get_string(slave_pcm, &string);
++  r = WRAP(snd_config_get_string)(slave_pcm, &string);
+   if (r >= 0) {
+-    r = snd_config_search_definition(lconf, "pcm_slave", string, &slave_def);
++    r = WRAP(snd_config_search_definition)(lconf, "pcm_slave", string, &slave_def);
+     if (r < 0) {
+       return NULL;
+     }
+   }
+ 
+   do {
+-    r = snd_config_search(slave_def ? slave_def : slave_pcm, "pcm", &pcm);
++    r = WRAP(snd_config_search)(slave_def ? slave_def : slave_pcm, "pcm", &pcm);
+     if (r < 0) {
+       break;
+     }
+ 
+-    r = snd_config_get_string(slave_def ? slave_def : slave_pcm, &string);
++    r = WRAP(snd_config_get_string)(slave_def ? slave_def : slave_pcm, &string);
+     if (r < 0) {
+       break;
+     }
+@@ -482,7 +591,7 @@ get_slave_pcm_node(snd_config_t * lconf,
+     if (r < 0 || r > (int) sizeof(node_name)) {
+       break;
+     }
+-    r = snd_config_search(lconf, node_name, &pcm);
++    r = WRAP(snd_config_search)(lconf, node_name, &pcm);
+     if (r < 0) {
+       break;
+     }
+@@ -491,7 +600,7 @@ get_slave_pcm_node(snd_config_t * lconf,
+   } while (0);
+ 
+   if (slave_def) {
+-    snd_config_delete(slave_def);
++    WRAP(snd_config_delete)(slave_def);
+   }
+ 
+   return NULL;
+@@ -514,22 +623,22 @@ init_local_config_with_workaround(char c
+ 
+   lconf = NULL;
+ 
+-  if (snd_config == NULL) {
++  if (*WRAP(snd_config) == NULL) {
+     return NULL;
+   }
+ 
+-  r = snd_config_copy(&lconf, snd_config);
++  r = WRAP(snd_config_copy)(&lconf, *WRAP(snd_config));
+   if (r < 0) {
+     return NULL;
+   }
+ 
+   do {
+-    r = snd_config_search_definition(lconf, "pcm", pcm_name, &pcm_node);
++    r = WRAP(snd_config_search_definition)(lconf, "pcm", pcm_name, &pcm_node);
+     if (r < 0) {
+       break;
+     }
+ 
+-    r = snd_config_get_id(pcm_node, &string);
++    r = WRAP(snd_config_get_id)(pcm_node, &string);
+     if (r < 0) {
+       break;
+     }
+@@ -538,7 +647,7 @@ init_local_config_with_workaround(char c
+     if (r < 0 || r > (int) sizeof(node_name)) {
+       break;
+     }
+-    r = snd_config_search(lconf, node_name, &pcm_node);
++    r = WRAP(snd_config_search)(lconf, node_name, &pcm_node);
+     if (r < 0) {
+       break;
+     }
+@@ -549,12 +658,12 @@ init_local_config_with_workaround(char c
+     }
+ 
+     /* Fetch the PCM node's type, and bail out if it's not the PulseAudio plugin. */
+-    r = snd_config_search(pcm_node, "type", &node);
++    r = WRAP(snd_config_search)(pcm_node, "type", &node);
+     if (r < 0) {
+       break;
+     }
+ 
+-    r = snd_config_get_string(node, &string);
++    r = WRAP(snd_config_get_string)(node, &string);
+     if (r < 0) {
+       break;
+     }
+@@ -565,18 +674,18 @@ init_local_config_with_workaround(char c
+ 
+     /* Don't clobber an explicit existing handle_underrun value, set it only
+        if it doesn't already exist. */
+-    r = snd_config_search(pcm_node, "handle_underrun", &node);
++    r = WRAP(snd_config_search)(pcm_node, "handle_underrun", &node);
+     if (r != -ENOENT) {
+       break;
+     }
+ 
+     /* Disable pcm_pulse's asynchronous underrun handling. */
+-    r = snd_config_imake_integer(&node, "handle_underrun", 0);
++    r = WRAP(snd_config_imake_integer)(&node, "handle_underrun", 0);
+     if (r < 0) {
+       break;
+     }
+ 
+-    r = snd_config_add(pcm_node, node);
++    r = WRAP(snd_config_add)(pcm_node, node);
+     if (r < 0) {
+       break;
+     }
+@@ -584,7 +693,7 @@ init_local_config_with_workaround(char c
+     return lconf;
+   } while (0);
+ 
+-  snd_config_delete(lconf);
++  WRAP(snd_config_delete)(lconf);
+ 
+   return NULL;
+ }
+@@ -596,9 +705,9 @@ alsa_locked_pcm_open(snd_pcm_t ** pcm, s
+ 
+   pthread_mutex_lock(&cubeb_alsa_mutex);
+   if (local_config) {
+-    r = snd_pcm_open_lconf(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK, local_config);
++    r = WRAP(snd_pcm_open_lconf)(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK, local_config);
+   } else {
+-    r = snd_pcm_open(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK);
++    r = WRAP(snd_pcm_open)(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK);
+   }
+   pthread_mutex_unlock(&cubeb_alsa_mutex);
+ 
+@@ -611,7 +720,7 @@ alsa_locked_pcm_close(snd_pcm_t * pcm)
+   int r;
+ 
+   pthread_mutex_lock(&cubeb_alsa_mutex);
+-  r = snd_pcm_close(pcm);
++  r = WRAP(snd_pcm_close)(pcm);
+   pthread_mutex_unlock(&cubeb_alsa_mutex);
+ 
+   return r;
+@@ -668,12 +777,65 @@ alsa_init(cubeb ** context, char const *
+   pthread_attr_t attr;
+   snd_pcm_t * dummy;
+ 
++  void * libasound = NULL;
++
++#ifndef DISABLE_LIBASOUND_DLOPEN
++  libasound = dlopen("libasound.so", RTLD_LAZY);
++  if (!libasound) {
++    return CUBEB_ERROR;
++  }
++
++#define LOAD(x) do { \
++    cubeb_##x = dlsym(libasound, #x); \
++    if (!cubeb_##x) { \
++      dlclose(libasound); \
++      return CUBEB_ERROR; \
++    } \
++  } while(0)
++
++  LOAD(snd_config);
++  LOAD(snd_config_add);
++  LOAD(snd_config_copy);
++  LOAD(snd_config_delete);
++  LOAD(snd_config_get_id);
++  LOAD(snd_config_get_string);
++  LOAD(snd_config_imake_integer);
++  LOAD(snd_config_search);
++  LOAD(snd_config_search_definition);
++  LOAD(snd_lib_error_set_handler);
++  LOAD(snd_pcm_avail_update);
++  LOAD(snd_pcm_close);
++  LOAD(snd_pcm_delay);
++  LOAD(snd_pcm_drain);
++  LOAD(snd_pcm_frames_to_bytes);
++  LOAD(snd_pcm_get_params);
++  /* snd_pcm_hw_params_alloca is actually a macro */
++  /* LOAD(snd_pcm_hw_params_alloca); */
++  LOAD(snd_pcm_hw_params_sizeof);
++  LOAD(snd_pcm_hw_params_any);
++  LOAD(snd_pcm_hw_params_get_channels_max);
++  LOAD(snd_pcm_hw_params_get_rate);
++  LOAD(snd_pcm_hw_params_set_rate_near);
++  LOAD(snd_pcm_nonblock);
++  LOAD(snd_pcm_open);
++  LOAD(snd_pcm_open_lconf);
++  LOAD(snd_pcm_pause);
++  LOAD(snd_pcm_poll_descriptors);
++  LOAD(snd_pcm_poll_descriptors_count);
++  LOAD(snd_pcm_poll_descriptors_revents);
++  LOAD(snd_pcm_recover);
++  LOAD(snd_pcm_set_params);
++  LOAD(snd_pcm_state);
++  LOAD(snd_pcm_writei);
++
++#undef LOAD
++#endif
+   assert(context);
+   *context = NULL;
+ 
+   pthread_mutex_lock(&cubeb_alsa_mutex);
+   if (!cubeb_alsa_error_handler_set) {
+-    snd_lib_error_set_handler(silent_error_handler);
++    WRAP(snd_lib_error_set_handler)(silent_error_handler);
+     cubeb_alsa_error_handler_set = 1;
+   }
+   pthread_mutex_unlock(&cubeb_alsa_mutex);
+@@ -681,6 +843,8 @@ alsa_init(cubeb ** context, char const *
+   ctx = calloc(1, sizeof(*ctx));
+   assert(ctx);
+ 
++  ctx->libasound = libasound;
++
+   ctx->ops = &alsa_ops;
+ 
+   r = pthread_mutex_init(&ctx->mutex, NULL);
+@@ -730,7 +894,7 @@ alsa_init(cubeb ** context, char const *
+        config fails with EINVAL, the PA PCM is too old for this workaround. */
+     if (r == -EINVAL) {
+       pthread_mutex_lock(&cubeb_alsa_mutex);
+-      snd_config_delete(ctx->local_config);
++      WRAP(snd_config_delete)(ctx->local_config);
+       pthread_mutex_unlock(&cubeb_alsa_mutex);
+       ctx->local_config = NULL;
+     } else if (r >= 0) {
+@@ -769,9 +933,13 @@ alsa_destroy(cubeb * ctx)
+   pthread_mutex_destroy(&ctx->mutex);
+   free(ctx->fds);
+ 
++  if (ctx->libasound) {
++    dlclose(ctx->libasound);
++  }
++
+   if (ctx->local_config) {
+     pthread_mutex_lock(&cubeb_alsa_mutex);
+-    snd_config_delete(ctx->local_config);
++    WRAP(snd_config_delete)(ctx->local_config);
+     pthread_mutex_unlock(&cubeb_alsa_mutex);
+   }
+ 
+@@ -839,7 +1007,7 @@ alsa_stream_init(cubeb * ctx, cubeb_stre
+     return CUBEB_ERROR;
+   }
+ 
+-  r = snd_pcm_nonblock(stm->pcm, 1);
++  r = WRAP(snd_pcm_nonblock)(stm->pcm, 1);
+   assert(r == 0);
+ 
+   /* Ugly hack: the PA ALSA plugin allows buffer configurations that can't
+@@ -849,23 +1017,23 @@ alsa_stream_init(cubeb * ctx, cubeb_stre
+     latency = latency < 500 ? 500 : latency;
+   }
+ 
+-  r = snd_pcm_set_params(stm->pcm, format, SND_PCM_ACCESS_RW_INTERLEAVED,
+-                         stm->params.channels, stm->params.rate, 1,
+-                         latency * 1000);
++  r = WRAP(snd_pcm_set_params)(stm->pcm, format, SND_PCM_ACCESS_RW_INTERLEAVED,
++                               stm->params.channels, stm->params.rate, 1,
++                               latency * 1000);
+   if (r < 0) {
+     alsa_stream_destroy(stm);
+     return CUBEB_ERROR_INVALID_FORMAT;
+   }
+ 
+-  r = snd_pcm_get_params(stm->pcm, &stm->buffer_size, &stm->period_size);
++  r = WRAP(snd_pcm_get_params)(stm->pcm, &stm->buffer_size, &stm->period_size);
+   assert(r == 0);
+ 
+-  stm->nfds = snd_pcm_poll_descriptors_count(stm->pcm);
++  stm->nfds = WRAP(snd_pcm_poll_descriptors_count)(stm->pcm);
+   assert(stm->nfds > 0);
+ 
+   stm->saved_fds = calloc(stm->nfds, sizeof(struct pollfd));
+   assert(stm->saved_fds);
+-  r = snd_pcm_poll_descriptors(stm->pcm, stm->saved_fds, stm->nfds);
++  r = WRAP(snd_pcm_poll_descriptors)(stm->pcm, stm->saved_fds, stm->nfds);
+   assert((nfds_t) r == stm->nfds);
+ 
+   r = pthread_cond_init(&stm->cond, NULL);
+@@ -896,7 +1064,7 @@ alsa_stream_destroy(cubeb_stream * stm)
+   pthread_mutex_lock(&stm->mutex);
+   if (stm->pcm) {
+     if (stm->state == DRAINING) {
+-      snd_pcm_drain(stm->pcm);
++      WRAP(snd_pcm_drain)(stm->pcm);
+     }
+     alsa_locked_pcm_close(stm->pcm);
+     stm->pcm = NULL;
+@@ -906,7 +1074,10 @@ alsa_stream_destroy(cubeb_stream * stm)
+   pthread_mutex_destroy(&stm->mutex);
+ 
+   r = pthread_cond_destroy(&stm->cond);
+-  assert(r == 0);
++  if (r != 0) {       /* XXX stopgap until someone figures out the real reason */
++    fprintf(stderr,"alsa_stream_destroy: pthread_cond_destroy failed: %s",
++      strerror(r));
++  }
+ 
+   alsa_unregister_stream(stm);
+ 
+@@ -938,12 +1109,12 @@ alsa_get_max_channel_count(cubeb * ctx, 
+     return CUBEB_ERROR;
+   }
+ 
+-  r = snd_pcm_hw_params_any(stm->pcm, hw_params);
++  r = WRAP(snd_pcm_hw_params_any)(stm->pcm, hw_params);
+   if (r < 0) {
+     return CUBEB_ERROR;
+   }
+ 
+-  r = snd_pcm_hw_params_get_channels_max(hw_params, max_channels);
++  r = WRAP(snd_pcm_hw_params_get_channels_max)(hw_params, max_channels);
+   if (r < 0) {
+     return CUBEB_ERROR;
+   }
+@@ -963,34 +1134,34 @@ alsa_get_preferred_sample_rate(cubeb * c
+ 
+   /* get a pcm, disabling resampling, so we get a rate the
+    * hardware/dmix/pulse/etc. supports. */
+-  r = snd_pcm_open(&pcm, CUBEB_ALSA_PCM_NAME, SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0);
++  r = WRAP(snd_pcm_open)(&pcm, CUBEB_ALSA_PCM_NAME, SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0);
+   if (r < 0) {
+     return CUBEB_ERROR;
+   }
+ 
+-  r = snd_pcm_hw_params_any(pcm, hw_params);
++  r = WRAP(snd_pcm_hw_params_any)(pcm, hw_params);
+   if (r < 0) {
+-    snd_pcm_close(pcm);
++    WRAP(snd_pcm_close)(pcm);
+     return CUBEB_ERROR;
+   }
+ 
+-  r = snd_pcm_hw_params_get_rate(hw_params, rate, &dir);
++  r = WRAP(snd_pcm_hw_params_get_rate)(hw_params, rate, &dir);
+   if (r >= 0) {
+     /* There is a default rate: use it. */
+-    snd_pcm_close(pcm);
++    WRAP(snd_pcm_close)(pcm);
+     return CUBEB_OK;
+   }
+ 
+   /* Use a common rate, alsa may adjust it based on hw/etc. capabilities. */
+   *rate = 44100;
+ 
+-  r = snd_pcm_hw_params_set_rate_near(pcm, hw_params, rate, NULL);
++  r = WRAP(snd_pcm_hw_params_set_rate_near)(pcm, hw_params, rate, NULL);
+   if (r < 0) {
+-    snd_pcm_close(pcm);
++    WRAP(snd_pcm_close)(pcm);
+     return CUBEB_ERROR;
+   }
+ 
+-  snd_pcm_close(pcm);
++  WRAP(snd_pcm_close)(pcm);
+ 
+   return CUBEB_OK;
+ }
+@@ -1014,7 +1185,7 @@ alsa_stream_start(cubeb_stream * stm)
+   ctx = stm->context;
+ 
+   pthread_mutex_lock(&stm->mutex);
+-  snd_pcm_pause(stm->pcm, 0);
++  WRAP(snd_pcm_pause)(stm->pcm, 0);
+   gettimeofday(&stm->last_activity, NULL);
+   pthread_mutex_unlock(&stm->mutex);
+ 
+@@ -1048,7 +1219,7 @@ alsa_stream_stop(cubeb_stream * stm)
+   pthread_mutex_unlock(&ctx->mutex);
+ 
+   pthread_mutex_lock(&stm->mutex);
+-  snd_pcm_pause(stm->pcm, 1);
++  WRAP(snd_pcm_pause)(stm->pcm, 1);
+   pthread_mutex_unlock(&stm->mutex);
+ 
+   return CUBEB_OK;
+@@ -1064,14 +1235,17 @@ alsa_stream_get_position(cubeb_stream * 
+   pthread_mutex_lock(&stm->mutex);
+ 
+   delay = -1;
+-  if (snd_pcm_state(stm->pcm) != SND_PCM_STATE_RUNNING ||
+-      snd_pcm_delay(stm->pcm, &delay) != 0) {
++  if (WRAP(snd_pcm_state)(stm->pcm) != SND_PCM_STATE_RUNNING ||
++      WRAP(snd_pcm_delay)(stm->pcm, &delay) != 0) {
+     *position = stm->last_position;
+     pthread_mutex_unlock(&stm->mutex);
+     return CUBEB_OK;
+   }
+ 
+-  assert(delay >= 0);
++  if (delay < 0) {
++    WRAP(snd_pcm_forward)(stm->pcm, -delay);
++    delay = 0;
++  }
+ 
+   *position = 0;
+   if (stm->write_position >= (snd_pcm_uframes_t) delay) {
+@@ -1090,7 +1264,7 @@ alsa_stream_get_latency(cubeb_stream * s
+   snd_pcm_sframes_t delay;
+   /* This function returns the delay in frames until a frame written using
+      snd_pcm_writei is sent to the DAC. The DAC delay should be < 1ms anyways. */
+-  if (snd_pcm_delay(stm->pcm, &delay)) {
++  if (WRAP(snd_pcm_delay)(stm->pcm, &delay)) {
+     return CUBEB_ERROR;
+   }
+ 
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libcubeb_src_cubeb__oss.c
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libcubeb_src_cubeb__oss.c:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libcubeb_src_cubeb__oss.c     Thu Apr 27 13:38:19 2017
@@ -0,0 +1,407 @@
+$NetBSD: patch-mozilla_media_libcubeb_src_cubeb__oss.c,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/libcubeb/src/cubeb_oss.c.orig        2016-04-17 13:47:46.296872813 +0000
++++ mozilla/media/libcubeb/src/cubeb_oss.c
+@@ -0,0 +1,402 @@
++/*
++ * Copyright © 2014 Mozilla Foundation
++ *
++ * This program is made available under an ISC-style license.  See the
++ * accompanying file LICENSE for details.
++ */
++#if defined(HAVE_SYS_SOUNDCARD_H)
++#include <sys/soundcard.h>
++#else
++#include <soundcard.h>
++#endif
++#include <unistd.h>
++#include <stdlib.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <fcntl.h>
++#include <sys/ioctl.h>
++#include <errno.h>
++#include <pthread.h>
++#include <stdio.h>
++
++#include "cubeb/cubeb.h"
++#include "cubeb-internal.h"
++
++#ifndef CUBEB_OSS_DEFAULT_OUTPUT
++#define CUBEB_OSS_DEFAULT_OUTPUT "/dev/dsp"
++#endif
++
++#define OSS_BUFFER_SIZE 1024
++
++struct cubeb {
++  struct cubeb_ops const * ops;
++};
++
++struct cubeb_stream {
++  cubeb * context;
++
++  cubeb_data_callback data_callback;
++  cubeb_state_callback state_callback;
++  void * user_ptr;
++  float volume;
++  float panning;
++
++  pthread_mutex_t state_mutex;
++  pthread_cond_t state_cond;
++
++  int running;
++  int stopped;
++  int floating;
++
++  /* These two vars are needed to support old versions of OSS */
++  unsigned int position_bytes;
++  unsigned int last_position_bytes;
++
++  uint64_t written_frags; /* The number of fragments written to /dev/dsp */
++  uint64_t missed_frags; /* fragments output with stopped stream */
++
++  cubeb_stream_params params;
++  int fd;
++  pthread_t th;
++};
++
++static struct cubeb_ops const oss_ops;
++
++int oss_init(cubeb ** context, char const * context_name)
++{
++  cubeb* ctx = (cubeb*)malloc(sizeof(cubeb));
++  ctx->ops = &oss_ops;
++  *context = ctx;
++  return CUBEB_OK;
++}
++
++static void oss_destroy(cubeb *ctx)
++{
++  free(ctx);
++}
++
++static char const * oss_get_backend_id(cubeb * context)
++{
++  static char oss_name[] = "oss";
++  return oss_name;
++}
++
++static int oss_get_max_channel_count(cubeb * ctx, uint32_t * max_channels)
++{
++  *max_channels = 2; /* Let's support only stereo for now */
++  return CUBEB_OK;
++}
++
++static int oss_get_min_latency(cubeb * context, cubeb_stream_params params,
++                               uint32_t * latency_ms)
++{
++  /* 40ms is a big enough number to work ok */
++  *latency_ms = 40;
++  return CUBEB_OK;
++}
++
++static int oss_get_preferred_sample_rate(cubeb *context, uint32_t * rate)
++{
++  /* 48000 seems a prefered choice for most audio devices
++   * and a good choice for OSS */
++  *rate = 48000;
++  return CUBEB_OK;
++}
++
++static void run_state_callback(cubeb_stream *stream, cubeb_state state)
++{
++  if (stream->state_callback) {
++    stream->state_callback(stream, stream->user_ptr, state);
++  }
++}
++
++static long run_data_callback(cubeb_stream *stream, void *buffer, long nframes)
++{
++  long got = 0;
++  pthread_mutex_lock(&stream->state_mutex);
++  if (stream->data_callback && stream->running && !stream->stopped) {
++    pthread_mutex_unlock(&stream->state_mutex);
++    got = stream->data_callback(stream, stream->user_ptr, buffer, nframes);
++  } else {
++    pthread_mutex_unlock(&stream->state_mutex);
++  }
++  return got;
++}
++
++static void apply_volume(int16_t* buffer, unsigned int n,
++                         float volume, float panning)
++{
++  float left = volume;
++  float right = volume;
++  unsigned int i;
++  int pan[2];
++  if (panning<0) {
++    right *= (1+panning);
++  } else {
++    left *= (1-panning);
++  }
++  pan[0] = 128.0*left;
++  pan[1] = 128.0*right;
++  for(i=0; i<n; i++){
++    buffer[i] = ((int)buffer[i])*pan[i%2]/128;
++  }
++}
++
++static void *writer(void *stm)
++{
++  cubeb_stream* stream = (cubeb_stream*)stm;
++  int16_t buffer[OSS_BUFFER_SIZE];
++  float f_buffer[OSS_BUFFER_SIZE];
++  int got;
++  unsigned long i;
++  while (stream->running) {
++    pthread_mutex_lock(&stream->state_mutex);
++    if (stream->stopped) {
++      pthread_mutex_unlock(&stream->state_mutex);
++      run_state_callback(stream, CUBEB_STATE_STOPPED);
++      pthread_mutex_lock(&stream->state_mutex);
++      while (stream->stopped) {
++        pthread_cond_wait(&stream->state_cond, &stream->state_mutex);
++      }
++      pthread_mutex_unlock(&stream->state_mutex);
++      run_state_callback(stream, CUBEB_STATE_STARTED);
++      continue;
++    }
++    pthread_mutex_unlock(&stream->state_mutex);
++    if (stream->floating) {
++      got = run_data_callback(stream, f_buffer,
++                              OSS_BUFFER_SIZE/stream->params.channels);
++      for (i=0; i<((unsigned long)got)*stream->params.channels; i++) {
++          buffer[i] = f_buffer[i]*32767.0;
++      }
++    } else {
++      got = run_data_callback(stream, buffer,
++                              OSS_BUFFER_SIZE/stream->params.channels);
++    }
++    apply_volume(buffer, got*stream->params.channels,
++                         stream->volume, stream->panning);
++    if (got<0) {
++      run_state_callback(stream, CUBEB_STATE_ERROR);
++      break;
++    }
++    if (!got) {
++      run_state_callback(stream, CUBEB_STATE_DRAINED);
++    }
++    if (got) {
++      size_t i = 0;
++      size_t s = got*stream->params.channels*sizeof(int16_t);
++      while (i < s) {
++        ssize_t n = write(stream->fd, ((char*)buffer) + i, s - i);
++        if (n<=0) {
++          run_state_callback(stream, CUBEB_STATE_ERROR);
++          break;
++        }
++        i+=n;
++      }
++      stream->written_frags+=got;
++    }
++  }
++  return NULL;
++}
++
++static void oss_try_set_latency(cubeb_stream* stream, unsigned int latency)
++{
++  unsigned int latency_bytes, n_frag;
++  int frag;
++  /* fragment size of 1024 is a good choice with good chances to be accepted */
++  unsigned int frag_size=1024;
++  unsigned int frag_log=10; /* 2^frag_log = frag_size */
++  latency_bytes =
++    latency*stream->params.rate*stream->params.channels*sizeof(uint16_t)/1000;
++  n_frag = latency_bytes>>frag_log;
++  frag = (n_frag<<16) | frag_log;
++  /* Even if this fails we wish to continue, not checking for errors */
++  ioctl(stream->fd, SNDCTL_DSP_SETFRAGMENT, &frag);
++}
++
++static int oss_stream_init(cubeb * context, cubeb_stream ** stm,
++                           char const * stream_name,
++                           cubeb_stream_params stream_params,
++                           unsigned int latency,
++                           cubeb_data_callback data_callback,
++                           cubeb_state_callback state_callback, void * user_ptr)
++{
++  cubeb_stream* stream = (cubeb_stream*)malloc(sizeof(cubeb_stream));
++  stream->context = context;
++  stream->data_callback = data_callback;
++  stream->state_callback = state_callback;
++  stream->user_ptr = user_ptr;
++
++  if ((stream->fd = open(CUBEB_OSS_DEFAULT_OUTPUT, O_WRONLY)) == -1) {
++    free(stream);
++    return CUBEB_ERROR;
++  }
++#define SET(what, to) do { unsigned int i = to; \
++    int j = ioctl(stream->fd, what, &i); \
++    if (j == -1 || i != to) { \
++      close(stream->fd); \
++      free(stream); \
++      return CUBEB_ERROR_INVALID_FORMAT; } } while (0)
++
++  stream->params = stream_params;
++  stream->volume = 1.0;
++  stream->panning = 0.0;
++
++  oss_try_set_latency(stream, latency); 
++
++  stream->floating = 0;
++  SET(SNDCTL_DSP_CHANNELS, stream_params.channels);
++  SET(SNDCTL_DSP_SPEED, stream_params.rate);
++  switch (stream_params.format) {
++    case CUBEB_SAMPLE_S16LE:
++      SET(SNDCTL_DSP_SETFMT, AFMT_S16_LE);
++    break;
++    case CUBEB_SAMPLE_S16BE:
++      SET(SNDCTL_DSP_SETFMT, AFMT_S16_BE);
++    break;
++    case CUBEB_SAMPLE_FLOAT32LE:
++      SET(SNDCTL_DSP_SETFMT, AFMT_S16_NE);
++      stream->floating = 1;
++    break;
++    default:
++      close(stream->fd);
++      free(stream);
++      return CUBEB_ERROR;
++  }
++
++
++  pthread_mutex_init(&stream->state_mutex, NULL);
++  pthread_cond_init(&stream->state_cond, NULL);
++
++  stream->running = 1;
++  stream->stopped = 1;
++  stream->position_bytes = 0;
++  stream->last_position_bytes = 0;
++  stream->written_frags = 0;
++  stream->missed_frags = 0;
++
++  pthread_create(&stream->th, NULL, writer, (void*)stream);
++
++  *stm = stream;
++
++  return CUBEB_OK;
++}
++
++static void oss_stream_destroy(cubeb_stream * stream)
++{
++  pthread_mutex_lock(&stream->state_mutex);
++
++  stream->running = 0;
++  stream->stopped = 0;
++  pthread_cond_signal(&stream->state_cond);
++
++  pthread_mutex_unlock(&stream->state_mutex);
++
++  pthread_join(stream->th, NULL);
++
++  pthread_mutex_destroy(&stream->state_mutex);
++  pthread_cond_destroy(&stream->state_cond);
++  close(stream->fd);
++  free(stream);
++}
++
++static int oss_stream_get_latency(cubeb_stream * stream, uint32_t * latency)
++{
++  if (ioctl(stream->fd, SNDCTL_DSP_GETODELAY, latency)==-1) {
++    return CUBEB_ERROR;
++  }
++  /* Convert latency from bytes to frames */
++  *latency /= stream->params.channels*sizeof(int16_t);
++  return CUBEB_OK;
++}
++
++
++static int oss_stream_current_optr(cubeb_stream * stream, uint64_t * position)
++{
++  count_info ci;
++  /* Unfortunately, this ioctl is only available in OSS 4.x */
++#ifdef SNDCTL_DSP_CURRENT_OPTR
++  oss_count_t count;
++  if (ioctl(stream->fd, SNDCTL_DSP_CURRENT_OPTR, &count) != -1) {
++    *position = count.samples;// + count.fifo_samples;
++    return CUBEB_OK;
++  }
++#endif
++  /* Fall back to this ioctl in case the previous one fails */
++  if (ioctl(stream->fd, SNDCTL_DSP_GETOPTR, &ci) == -1) {
++    return CUBEB_ERROR;
++  }
++  /* ci.bytes is only 32 bit and will start to wrap after arithmetic overflow */
++  stream->position_bytes += ci.bytes - stream->last_position_bytes;
++  stream->last_position_bytes = ci.bytes;
++  *position = stream->position_bytes/stream->params.channels/sizeof(int16_t);
++  return CUBEB_OK;
++}
++
++static int oss_stream_get_position(cubeb_stream * stream, uint64_t * position)
++{
++  if ( oss_stream_current_optr(stream, position) == CUBEB_OK ){
++    *position -= stream->missed_frags;
++    return CUBEB_OK;
++  }
++  /* If no correct method to get position works we resort to this */
++  *position = stream->written_frags;
++  return CUBEB_OK;
++}
++
++
++static int oss_stream_start(cubeb_stream * stream)
++{
++  pthread_mutex_lock(&stream->state_mutex);
++  if (stream->stopped) {
++    uint64_t ptr;
++    oss_stream_current_optr(stream, &ptr);
++    stream->missed_frags = ptr - stream->written_frags;
++    stream->stopped = 0;
++    pthread_cond_signal(&stream->state_cond);
++  }
++  pthread_mutex_unlock(&stream->state_mutex);
++  return CUBEB_OK;
++}
++
++static int oss_stream_stop(cubeb_stream * stream)
++{
++  pthread_mutex_lock(&stream->state_mutex);
++  stream->stopped = 1;
++  pthread_mutex_unlock(&stream->state_mutex);
++  return CUBEB_OK;
++}
++
++int oss_stream_set_panning(cubeb_stream * stream, float panning)
++{
++  if (stream->params.channels == 2) {
++    stream->panning=panning;
++  }
++  return CUBEB_OK;
++}
++
++int oss_stream_set_volume(cubeb_stream * stream, float volume)
++{
++  stream->volume=volume;
++  return CUBEB_OK;
++}
++
++static struct cubeb_ops const oss_ops = {
++  .init = oss_init,
++  .get_backend_id = oss_get_backend_id,
++  .get_max_channel_count = oss_get_max_channel_count,
++  .get_min_latency = oss_get_min_latency,
++  .get_preferred_sample_rate = oss_get_preferred_sample_rate,
++  .destroy = oss_destroy,
++  .stream_init = oss_stream_init,
++  .stream_destroy = oss_stream_destroy,
++  .stream_start = oss_stream_start,
++  .stream_stop = oss_stream_stop,
++  .stream_get_position = oss_stream_get_position,
++  .stream_get_latency = oss_stream_get_latency,
++  .stream_set_volume = oss_stream_set_volume,
++  .stream_set_panning = oss_stream_set_panning,
++  .stream_get_current_device = NULL,
++  .stream_device_destroy = NULL,
++  .stream_register_device_changed_callback = NULL
++};
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libcubeb_src_moz.build
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libcubeb_src_moz.build:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libcubeb_src_moz.build        Thu Apr 27 13:38:19 2017
@@ -0,0 +1,43 @@
+$NetBSD: patch-mozilla_media_libcubeb_src_moz.build,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/libcubeb/src/moz.build.orig  2016-04-07 21:33:21.000000000 +0000
++++ mozilla/media/libcubeb/src/moz.build
+@@ -17,6 +17,12 @@ if CONFIG['MOZ_ALSA']:
+     ]
+     DEFINES['USE_ALSA'] = True
+ 
++if CONFIG['MOZ_OSS']:
++    SOURCES += [
++        'cubeb_oss.c',
++    ]
++    DEFINES['USE_OSS'] = True
++
+ if CONFIG['MOZ_PULSEAUDIO']:
+     SOURCES += [
+         'cubeb_pulse.c',
+@@ -31,7 +37,7 @@ if CONFIG['OS_ARCH'] == 'OpenBSD':
+     ]
+     DEFINES['USE_SNDIO'] = True
+ 
+-if CONFIG['OS_TARGET'] == 'Darwin':
++if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
+     SOURCES += [
+         'cubeb_audiounit.c',
+     ]
+@@ -64,6 +70,9 @@ if CONFIG['OS_TARGET'] == 'Android':
+ 
+ FINAL_LIBRARY = 'gkmedias'
+ 
++if CONFIG['MOZ_NATIVE_SPEEX']:
++    SOURCES['cubeb_resampler.cpp'].flags += CONFIG['MOZ_SPEEX_CFLAGS']
++
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
+     if CONFIG['ANDROID_VERSION'] >= '17':
+         LOCAL_INCLUDES += [
+@@ -74,5 +83,6 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk
+             '%' + '%s/system/media/wilhelm/include' % CONFIG['ANDROID_SOURCE'],
+         ]
+ 
++CFLAGS += CONFIG['MOZ_OSS_CFLAGS']
+ CFLAGS += CONFIG['MOZ_ALSA_CFLAGS']
+ CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS']
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libpng_pngpriv.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libpng_pngpriv.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libpng_pngpriv.h      Thu Apr 27 13:38:19 2017
@@ -0,0 +1,12 @@
+$NetBSD: patch-mozilla_media_libpng_pngpriv.h,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/libpng/pngpriv.h.orig        2016-04-07 21:33:21.000000000 +0000
++++ mozilla/media/libpng/pngpriv.h
+@@ -36,6 +36,7 @@
+  * still required (as of 2011-05-02.)
+  */
+ #define _POSIX_SOURCE 1 /* Just the POSIX 1003.1 and C89 APIs */
++#define _XOPEN_SOURCE 600
+ 
+ #ifndef PNG_VERSION_INFO_ONLY
+ /* Standard library headers not required by png.h: */
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libsoundtouch_src_cpu__detect__x86.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libsoundtouch_src_cpu__detect__x86.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libsoundtouch_src_cpu__detect__x86.cpp        Thu Apr 27 13:38:19 2017
@@ -0,0 +1,15 @@
+$NetBSD: patch-mozilla_media_libsoundtouch_src_cpu__detect__x86.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/libsoundtouch/src/cpu_detect_x86.cpp.orig    2016-04-07 21:33:21.000000000 +0000
++++ mozilla/media/libsoundtouch/src/cpu_detect_x86.cpp
+@@ -125,7 +125,9 @@ uint detectCPUextensions(void)
+ #endif
+ 
+     return res & ~_dwDisabledISA;
+-
++#elif defined(__GNUC__)
++    // No cpuid.h --> no cpuid support
++    return 0;
+ #else
+ 
+ /// One of these is true:
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libstagefright_frameworks_av_include_media_stagefright_foundation_AString.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libstagefright_frameworks_av_include_media_stagefright_foundation_AString.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libstagefright_frameworks_av_include_media_stagefright_foundation_AString.h   Thu Apr 27 13:38:19 2017
@@ -0,0 +1,12 @@
+$NetBSD: patch-mozilla_media_libstagefright_frameworks_av_include_media_stagefright_foundation_AString.h,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/libstagefright/frameworks/av/include/media/stagefright/foundation/AString.h.orig     2016-04-07 21:33:21.000000000 +0000
++++ mozilla/media/libstagefright/frameworks/av/include/media/stagefright/foundation/AString.h
+@@ -18,6 +18,7 @@
+ 
+ #define A_STRING_H_
+ 
++#include <cctype>
+ #include <sys/types.h>
+ 
+ namespace stagefright {
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libstagefright_frameworks_av_media_libstagefright_foundation_AString.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libstagefright_frameworks_av_media_libstagefright_foundation_AString.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libstagefright_frameworks_av_media_libstagefright_foundation_AString.cpp      Thu Apr 27 13:38:19 2017
@@ -0,0 +1,22 @@
+$NetBSD: patch-mozilla_media_libstagefright_frameworks_av_media_libstagefright_foundation_AString.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/libstagefright/frameworks/av/media/libstagefright/foundation/AString.cpp.orig        2016-04-07 21:33:21.000000000 +0000
++++ mozilla/media/libstagefright/frameworks/av/media/libstagefright/foundation/AString.cpp
+@@ -23,6 +23,17 @@
+ #include "ADebug.h"
+ #include "AString.h"
+ 
++#ifdef __FreeBSD__
++# include <osreldate.h>
++# if __FreeBSD_version < 900506
++#  undef tolower
++# endif
++#endif
++
++#if defined(__NetBSD__) && defined(tolower)
++#undef tolower
++#endif
++
+ namespace stagefright {
+ 
+ // static
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libstagefright_system_core_liblog_fake__log__device.c
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libstagefright_system_core_liblog_fake__log__device.c:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libstagefright_system_core_liblog_fake__log__device.c Thu Apr 27 13:38:19 2017
@@ -0,0 +1,27 @@
+$NetBSD: patch-mozilla_media_libstagefright_system_core_liblog_fake__log__device.c,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/libstagefright/system/core/liblog/fake_log_device.c.orig     2016-04-07 21:33:21.000000000 +0000
++++ mozilla/media/libstagefright/system/core/liblog/fake_log_device.c
+@@ -231,11 +231,11 @@ static void configureInitialState(const 
+             char tagName[kMaxTagLen];
+             int i, minPrio;
+ 
+-            while (isspace(*tags))
++            while (isspace((unsigned char)*tags))
+                 tags++;
+ 
+             i = 0;
+-            while (*tags != '\0' && !isspace(*tags) && *tags != ':' &&
++            while (*tags != '\0' && !isspace((unsigned char)*tags) && *tags != ':' &&
+                 i < kMaxTagLen)
+             {
+                 tagName[i++] = *tags++;
+@@ -274,7 +274,7 @@ static void configureInitialState(const 
+                 }
+ 
+                 tags++;
+-                if (*tags != '\0' && !isspace(*tags)) {
++                if (*tags != '\0' && !isspace((unsigned char)*tags)) {
+                     TRACE("ERROR: garbage in tag env; expected whitespace\n");
+                     TRACE("       env='%s'\n", tags);
+                     return;
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libstagefright_system_core_liblog_logprint.c
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libstagefright_system_core_liblog_logprint.c:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libstagefright_system_core_liblog_logprint.c  Thu Apr 27 13:38:19 2017
@@ -0,0 +1,22 @@
+$NetBSD: patch-mozilla_media_libstagefright_system_core_liblog_logprint.c,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/libstagefright/system/core/liblog/logprint.c.orig    2016-04-07 21:33:21.000000000 +0000
++++ mozilla/media/libstagefright/system/core/liblog/logprint.c
+@@ -103,7 +103,7 @@ static android_LogPriority filterCharToP
+ {
+     android_LogPriority pri;
+ 
+-    c = tolower(c);
++    c = tolower((unsigned char)c);
+ 
+     if (c >= '0' && c <= '9') {
+         if (c >= ('0'+ANDROID_LOG_SILENT)) {
+@@ -372,7 +372,7 @@ static inline char * strip_end(char *str
+ {
+     char *end = str + strlen(str) - 1;
+ 
+-    while (end >= str && isspace(*end))
++    while (end >= str && isspace((unsigned char)*end))
+         *end-- = '\0';
+     return str;
+ }
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libtheora_lib_arm_armcpu.c
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libtheora_lib_arm_armcpu.c:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libtheora_lib_arm_armcpu.c    Thu Apr 27 13:38:19 2017
@@ -0,0 +1,23 @@
+$NetBSD: patch-mozilla_media_libtheora_lib_arm_armcpu.c,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/libtheora/lib/arm/armcpu.c.orig      2016-04-07 21:33:21.000000000 +0000
++++ mozilla/media/libtheora/lib/arm/armcpu.c
+@@ -107,6 +107,18 @@ ogg_uint32_t oc_cpu_flags_get(void){
+   return flags;
+ }
+ 
++#elif defined(__NetBSD__)
++ogg_uint32_t oc_cpu_flags_get(void){
++  ogg_uint32_t  flags;
++  /* XXX ryoon: I have no idea about ARM CPU extensions detection mechanism
++     under NetBSD/earm. 
++     evbearmv6hf-el machine, Raspberry Pi does not have NEON.
++     evbearmv7hf-el machine, CubieBoard2 does not have EDSP.
++     I have no idea about MEDIA.
++     So I will disable all options. */
++  flags=0;
++  return flags;
++}
+ #else
+ /*The feature registers which can tell us what the processor supports are
+    accessible in priveleged modes only, so we can't have a general user-space
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libtheora_lib_info.c
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libtheora_lib_info.c:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libtheora_lib_info.c  Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_media_libtheora_lib_info.c,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/libtheora/lib/info.c.orig    2016-04-07 21:33:21.000000000 +0000
++++ mozilla/media/libtheora/lib/info.c
+@@ -29,7 +29,7 @@
+ static int oc_tagcompare(const char *_s1,const char *_s2,int _n){
+   int c;
+   for(c=0;c<_n;c++){
+-    if(toupper(_s1[c])!=toupper(_s2[c]))return !0;
++    if(toupper((unsigned char)_s1[c])!=toupper((unsigned char)_s2[c]))return !0;
+   }
+   return _s1[c]!='=';
+ }
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libtheora_moz.build
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libtheora_moz.build:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libtheora_moz.build   Thu Apr 27 13:38:19 2017
@@ -0,0 +1,14 @@
+$NetBSD: patch-mozilla_media_libtheora_moz.build,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/libtheora/moz.build.orig     2016-04-07 21:33:21.000000000 +0000
++++ mozilla/media/libtheora/moz.build
+@@ -21,6 +21,9 @@ FINAL_LIBRARY = 'gkmedias'
+ # The encoder is currently not included.
+ DEFINES['THEORA_DISABLE_ENCODE'] = True
+ 
++if CONFIG['MOZ_NATIVE_OGG']:
++    CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
++
+ # Suppress warnings in third-party code.
+ if CONFIG['GNU_CC']:
+     CFLAGS += ['-Wno-type-limits']
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libtremor_Makefile.in
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libtremor_Makefile.in:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libtremor_Makefile.in Thu Apr 27 13:38:19 2017
@@ -0,0 +1,14 @@
+$NetBSD: patch-mozilla_media_libtremor_Makefile.in,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/libtremor/Makefile.in.orig   2016-04-17 13:47:46.300311547 +0000
++++ mozilla/media/libtremor/Makefile.in
+@@ -0,0 +1,9 @@
++# This Source Code Form is subject to the terms of the Mozilla Public
++# License, v. 2.0. If a copy of the MPL was not distributed with this
++# file, You can obtain one at http://mozilla.org/MPL/2.0/.
++
++include $(topsrcdir)/config/rules.mk
++
++ifdef MOZ_NATIVE_OGG
++CFLAGS += $(MOZ_OGG_CFLAGS)
++endif
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libtremor_moz.build
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libtremor_moz.build:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libtremor_moz.build   Thu Apr 27 13:38:19 2017
@@ -0,0 +1,10 @@
+$NetBSD: patch-mozilla_media_libtremor_moz.build,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/libtremor/moz.build.orig     2016-04-07 21:33:21.000000000 +0000
++++ mozilla/media/libtremor/moz.build
+@@ -9,3 +9,5 @@ with Files('*'):
+ 
+ DIRS += ['include/tremor', 'lib']
+ 
++if CONFIG['MOZ_NATIVE_OGG']:
++    CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libvorbis_Makefile.in
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libvorbis_Makefile.in:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libvorbis_Makefile.in Thu Apr 27 13:38:19 2017
@@ -0,0 +1,14 @@
+$NetBSD: patch-mozilla_media_libvorbis_Makefile.in,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/libvorbis/Makefile.in.orig   2016-04-17 13:47:46.301306422 +0000
++++ mozilla/media/libvorbis/Makefile.in
+@@ -0,0 +1,9 @@
++# This Source Code Form is subject to the terms of the Mozilla Public
++# License, v. 2.0. If a copy of the MPL was not distributed with this
++# file, You can obtain one at http://mozilla.org/MPL/2.0/.
++
++include $(topsrcdir)/config/rules.mk
++
++ifdef MOZ_NATIVE_OGG
++CFLAGS += $(MOZ_OGG_CFLAGS)
++endif
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libvorbis_lib_vorbis__info.c
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libvorbis_lib_vorbis__info.c:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libvorbis_lib_vorbis__info.c  Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_media_libvorbis_lib_vorbis__info.c,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/libvorbis/lib/vorbis_info.c.orig     2016-04-07 21:33:21.000000000 +0000
++++ mozilla/media/libvorbis/lib/vorbis_info.c
+@@ -77,7 +77,7 @@ void vorbis_comment_add_tag(vorbis_comme
+ static int tagcompare(const char *s1, const char *s2, int n){
+   int c=0;
+   while(c < n){
+-    if(toupper(s1[c]) != toupper(s2[c]))
++    if(toupper((unsigned char)s1[c]) != toupper((unsigned char)s2[c]))
+       return !0;
+     c++;
+   }
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libvorbis_moz.build
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libvorbis_moz.build:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libvorbis_moz.build   Thu Apr 27 13:38:19 2017
@@ -0,0 +1,11 @@
+$NetBSD: patch-mozilla_media_libvorbis_moz.build,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/libvorbis/moz.build.orig     2016-04-07 21:33:21.000000000 +0000
++++ mozilla/media/libvorbis/moz.build
+@@ -56,3 +56,6 @@ FINAL_LIBRARY = 'gkmedias'
+ # Suppress warnings in third-party code.
+ if CONFIG['GNU_CC']:
+     CFLAGS += ['-Wno-uninitialized']
++
++if CONFIG['MOZ_NATIVE_OGG']:
++    CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libyuv_include_libyuv_scale__row.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libyuv_include_libyuv_scale__row.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_libyuv_include_libyuv_scale__row.h    Thu Apr 27 13:38:19 2017
@@ -0,0 +1,17 @@
+$NetBSD: patch-mozilla_media_libyuv_include_libyuv_scale__row.h,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/libyuv/include/libyuv/scale_row.h.orig       2016-04-07 21:33:22.000000000 +0000
++++ mozilla/media/libyuv/include/libyuv/scale_row.h
+@@ -219,10 +219,10 @@ void ScaleARGBFilterCols_SSSE3(uint8* ds
+ void ScaleARGBColsUp2_SSE2(uint8* dst_argb, const uint8* src_argb,
+                            int dst_width, int x, int dx);
+ // Row functions.
+-void ScaleARGBRowDownEven_NEON(const uint8* src_argb, int src_stride,
++void ScaleARGBRowDownEven_NEON(const uint8* src_argb, ptrdiff_t src_stride,
+                                int src_stepx,
+                                uint8* dst_argb, int dst_width);
+-void ScaleARGBRowDownEvenBox_NEON(const uint8* src_argb, int src_stride,
++void ScaleARGBRowDownEvenBox_NEON(const uint8* src_argb, ptrdiff_t src_stride,
+                                   int src_stepx,
+                                   uint8* dst_argb, int dst_width);
+ void ScaleARGBRowDown2_NEON(const uint8* src_ptr, ptrdiff_t src_stride,
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_mtransport_third__party_nICEr_src_util_mbslen.c
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_mtransport_third__party_nICEr_src_util_mbslen.c:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_mtransport_third__party_nICEr_src_util_mbslen.c       Thu Apr 27 13:38:19 2017
@@ -0,0 +1,18 @@
+$NetBSD: patch-mozilla_media_mtransport_third__party_nICEr_src_util_mbslen.c,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/mtransport/third_party/nICEr/src/util/mbslen.c.orig  2016-04-07 21:33:22.000000000 +0000
++++ mozilla/media/mtransport/third_party/nICEr/src/util/mbslen.c
+@@ -47,6 +47,13 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ #define HAVE_XLOCALE
+ #endif
+ 
++#ifdef __DragonFly__
++#include <osreldate.h>
++# if __DragonFly_version > 300502
++#  define HAVE_XLOCALE
++# endif
++#endif
++
+ #ifdef HAVE_XLOCALE
+ #include <xlocale.h>
+ #endif /* HAVE_XLOCALE */
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h Thu Apr 27 13:38:19 2017
@@ -0,0 +1,19 @@
+$NetBSD: patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h.orig    2016-04-07 21:33:22.000000000 +0000
++++ mozilla/media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h
+@@ -30,7 +30,13 @@
+  * $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $
+  */
+ 
+-#ifndef _SYS_QUEUE_H_
++#if (defined(BSD) && !defined(__OpenBSD__)) || defined(DARWIN)
++#include_next <sys/queue.h>
++# if defined(__DragonFly__)
++#define STAILQ_FOREACH_SAFE STAILQ_FOREACH_MUTABLE
++#define TAILQ_FOREACH_SAFE TAILQ_FOREACH_MUTABLE
++# endif
++#elif !defined(_SYS_QUEUE_H_)
+ #define       _SYS_QUEUE_H_
+ 
+ #include <stddef.h>
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_openmax__dl_dl_api_armCOMM__s.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_openmax__dl_dl_api_armCOMM__s.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_openmax__dl_dl_api_armCOMM__s.h       Thu Apr 27 13:38:19 2017
@@ -0,0 +1,37 @@
+$NetBSD: patch-mozilla_media_openmax__dl_dl_api_armCOMM__s.h,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/openmax_dl/dl/api/armCOMM_s.h.orig   2016-04-07 21:33:22.000000000 +0000
++++ mozilla/media/openmax_dl/dl/api/armCOMM_s.h
+@@ -11,6 +11,12 @@
+ @//  This file was originally licensed as follows. It has been
+ @//  relicensed with permission from the copyright holders.
+ @//
++
++#if defined(__ARM_EABI__) && !defined(__ARM_DWARF_EH__)
++#define UNWIND
++#else
++#define UNWIND @
++#endif
+       
+ @// 
+ @// File Name:  armCOMM_s.h
+@@ -175,7 +181,8 @@
+       .object_arch armv4
+       .align  2
+ \name :               
+-.fnstart
++      .cfi_startproc
++      UNWIND .fnstart
+       @ Save specified R registers
+       _M_GETRREGLIST  \rreg
+       _M_PUSH_RREG
+@@ -202,7 +209,8 @@
+       .endif
+       @ Restore any saved R or D registers.
+       _M_RET
+-      .fnend  
++      UNWIND .fnend   
++      .cfi_endproc
+       .endfunc
+         @ Reset the global stack tracking variables back to their
+       @ initial values.
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_signaling_test_common.build
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_signaling_test_common.build:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_signaling_test_common.build    Thu Apr 27 13:38:19 2017
@@ -0,0 +1,26 @@
+$NetBSD: patch-mozilla_media_webrtc_signaling_test_common.build,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/webrtc/signaling/test/common.build.orig      2016-04-07 21:33:22.000000000 +0000
++++ mozilla/media/webrtc/signaling/test/common.build
+@@ -99,15 +99,19 @@ if CONFIG['JS_SHARED_LIBRARY']:
+ 
+ USE_LIBS += ['mozglue']
+ 
++OS_LIBS += CONFIG['MOZ_LIBV4L2_LIBS']
+ OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS']
+ OS_LIBS += CONFIG['REALTIME_LIBS']
+ 
+-if CONFIG['MOZ_ALSA']:
+-    OS_LIBS += CONFIG['MOZ_ALSA_LIBS']
++if CONFIG['MOZ_OSS']:
++    OS_LIBS += CONFIG['MOZ_OSS_LIBS']
+ 
+ if CONFIG['MOZ_NATIVE_JPEG']:
+     OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
+ 
++if CONFIG['MOZ_NATIVE_OPUS']:
++    OS_LIBS += CONFIG['MOZ_OPUS_LIBS']
++
+ if CONFIG['MOZ_NATIVE_LIBVPX']:
+     OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS']
+ 
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_build_common.gypi
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_build_common.gypi:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_build_common.gypi Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_build_common.gypi,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/webrtc/trunk/webrtc/build/common.gypi.orig   2016-04-07 21:33:23.000000000 +0000
++++ mozilla/media/webrtc/trunk/webrtc/build/common.gypi
+@@ -335,7 +335,7 @@
+       }],
+       ['OS=="dragonfly" or OS=="netbsd"', {
+         'defines': [
+-          # doesn't support pthread_condattr_setclock
++          # doesn't support pthread_condattr_setclock, NetBSD 6 supports it.
+           'WEBRTC_CLOCK_TYPE_REALTIME',
+         ],
+       }],
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_neteq_neteq.gypi
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_neteq_neteq.gypi:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_neteq_neteq.gypi    Thu Apr 27 13:38:19 2017
@@ -0,0 +1,28 @@
+$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_neteq_neteq.gypi,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi.orig       2016-04-07 21:33:23.000000000 +0000
++++ mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi
+@@ -85,19 +85,11 @@
+           ],
+       }],
+         ['build_with_mozilla==1', {
+-          'include_dirs': [
+-            # Need Opus header files for the audio classifier.
+-            '<(DEPTH)/../../../media/opus/celt',
+-#            '<(DEPTH)/third_party/opus/src/src',
++          'cflags_mozilla': [
++            '$(filter -I%, $(MOZ_CELT_CFLAGS))/celt',
++            '$(MOZ_OPUS_CFLAGS)',
++            '$(filter -I%, $(MOZ_OPUS_CFLAGS))/../src',
+           ],
+-          'direct_dependent_settings': {
+-            'include_dirs': [
+-              '../../../../../../media/opus/celt',
+-              # Need Opus header files for the audio classifier.
+-              '<(DEPTH)/../../../media/opus/celt',
+-#              '<(DEPTH)/third_party/opus/src/src',
+-            ],
+-          },
+         }],
+       ],
+       'sources': [
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.cc
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.cc:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.cc      Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.cc,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/webrtc/trunk/webrtc/modules/desktop_capture/screen_capturer.cc.orig  2016-04-07 21:33:24.000000000 +0000
++++ mozilla/media/webrtc/trunk/webrtc/modules/desktop_capture/screen_capturer.cc
+@@ -18,7 +18,7 @@ ScreenCapturer* ScreenCapturer::Create()
+   return Create(DesktopCaptureOptions::CreateDefault());
+ }
+ 
+-#if defined(WEBRTC_LINUX)
++#if defined(WEBRTC_LINUX) || defined(WEBRTC_BSD)
+ ScreenCapturer* ScreenCapturer::CreateWithXDamage(
+     bool use_update_notifications) {
+   DesktopCaptureOptions options;
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.h       Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.h,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/webrtc/trunk/webrtc/modules/desktop_capture/screen_capturer.h.orig   2016-04-07 21:33:24.000000000 +0000
++++ mozilla/media/webrtc/trunk/webrtc/modules/desktop_capture/screen_capturer.h
+@@ -63,7 +63,7 @@ class ScreenCapturer : public DesktopCap
+   static ScreenCapturer* Create(const DesktopCaptureOptions& options);
+   static ScreenCapturer* Create();
+ 
+-#if defined(WEBRTC_LINUX)
++#if defined(WEBRTC_LINUX) || defined(WEBRTC_BSD)
+   // Creates platform-specific capturer and instructs it whether it should use
+   // X DAMAGE support.
+   static ScreenCapturer* CreateWithXDamage(bool use_x_damage);
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc       Thu Apr 27 13:38:19 2017
@@ -0,0 +1,38 @@
+$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc.orig    2016-04-07 21:33:24.000000000 +0000
++++ mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc
+@@ -25,10 +25,21 @@
+ #else
+ #include <linux/videodev2.h>
+ #endif
++#ifdef HAVE_LIBV4L2
++#include <libv4l2.h>
++#endif
+ 
+ #include "webrtc/system_wrappers/interface/ref_count.h"
+ #include "webrtc/system_wrappers/interface/trace.h"
+ 
++#ifdef HAVE_LIBV4L2
++#define open  v4l2_open
++#define close v4l2_close
++#define dup   v4l2_dup
++#define ioctl v4l2_ioctl
++#define mmap  v4l2_mmap
++#define munmap        v4l2_munmap
++#endif
+ 
+ namespace webrtc
+ {
+@@ -136,6 +147,11 @@ int32_t DeviceInfoLinux::GetDeviceName(
+     memset(deviceNameUTF8, 0, deviceNameLength);
+     memcpy(cameraName, cap.card, sizeof(cap.card));
+ 
++    if (cameraName[0] == '\0')
++    {
++        sprintf(cameraName, "Camera at /dev/video%d", deviceNumber);
++    }
++
+     if (deviceNameLength >= strlen(cameraName))
+     {
+         memcpy(deviceNameUTF8, cameraName, strlen(cameraName));
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc     Thu Apr 27 13:38:19 2017
@@ -0,0 +1,30 @@
+$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc.orig  2016-04-07 21:33:24.000000000 +0000
++++ mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc
+@@ -25,6 +25,9 @@
+ #else
+ #include <linux/videodev2.h>
+ #endif
++#ifdef HAVE_LIBV4L2
++#include <libv4l2.h>
++#endif
+ 
+ #include <new>
+ 
+@@ -33,6 +36,15 @@
+ #include "webrtc/system_wrappers/interface/ref_count.h"
+ #include "webrtc/system_wrappers/interface/trace.h"
+ 
++#ifdef HAVE_LIBV4L2
++#define open  v4l2_open
++#define close v4l2_close
++#define dup   v4l2_dup
++#define ioctl v4l2_ioctl
++#define mmap  v4l2_mmap
++#define munmap        v4l2_munmap
++#endif
++
+ namespace webrtc
+ {
+ namespace videocapturemodule
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi        Thu Apr 27 13:38:19 2017
@@ -0,0 +1,49 @@
+$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi.orig    2016-04-07 21:33:24.000000000 +0000
++++ mozilla/media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi
+@@ -7,6 +7,9 @@
+ # be found in the AUTHORS file in the root of the source tree.
+ 
+ {
++  'variables': {
++     'use_libv4l2%': 0,
++  },
+   'targets': [
+     {
+       # Note this library is missing an implementation for the video capture.
+@@ -64,8 +67,32 @@
+             'video_capture_module',
+             '<(webrtc_root)/common.gyp:webrtc_common',
+           ],
+-        'cflags_mozilla': [
+-          '$(NSPR_CFLAGS)',
++          'conditions': [
++            ['use_libv4l2==1', {
++              'defines': [
++                'HAVE_LIBV4L2',
++              ],
++              'cflags_mozilla': [
++                '$(MOZ_LIBV4L2_CFLAGS)',
++              ],
++              'libraries': [
++                '-lv4l2',
++              ],
++            }],
++          ],
++        }],  # linux
++        ['OS=="mac"', {
++          'sources': [
++            'mac/qtkit/video_capture_qtkit.h',
++            'mac/qtkit/video_capture_qtkit.mm',
++            'mac/qtkit/video_capture_qtkit_info.h',
++            'mac/qtkit/video_capture_qtkit_info.mm',
++            'mac/qtkit/video_capture_qtkit_info_objc.h',
++            'mac/qtkit/video_capture_qtkit_info_objc.mm',
++            'mac/qtkit/video_capture_qtkit_objc.h',
++            'mac/qtkit/video_capture_qtkit_objc.mm',
++            'mac/qtkit/video_capture_qtkit_utility.h',
++            'mac/video_capture_mac.mm',
+           ],
+           'conditions': [
+            ['include_v4l2_video_capture==1', {
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp      Thu Apr 27 13:38:19 2017
@@ -0,0 +1,43 @@
+$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp.orig 2016-04-07 21:33:24.000000000 +0000
++++ mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp
+@@ -14,6 +14,13 @@ Cygwin fix provided by:
+ Scott McMurray
+ */
+ 
++#ifdef __FreeBSD__
++# include <osreldate.h>
++# if __FreeBSD_version < 900506
++#  define getchar boost_getchar
++# endif
++#endif
++
+ #ifndef BOOST_SPREAD_SORT_H
+ #define BOOST_SPREAD_SORT_H
+ #include <algorithm>
+@@ -21,10 +28,24 @@ Scott McMurray
+ #include <vector>
+ #include "webrtc/system_wrappers/source/spreadsortlib/constants.hpp"
+ 
++#ifdef __FreeBSD__
++# include <osreldate.h>
++# if __FreeBSD_version < 900506
++#  define getchar boost_getchar
++# endif
++#endif
++
+ #ifdef getchar
+ #undef getchar
+ #endif
+ 
++#ifdef __FreeBSD__
++# include <osreldate.h>
++# if __FreeBSD_version < 900506
++#  define getchar boost_getchar
++# endif
++#endif
++
+ namespace boost {
+   namespace detail {
+       //This only works on unsigned data types
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_memory_build_mozjemalloc__compat.c
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_memory_build_mozjemalloc__compat.c:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_memory_build_mozjemalloc__compat.c  Thu Apr 27 13:38:19 2017
@@ -0,0 +1,53 @@
+$NetBSD: patch-mozilla_memory_build_mozjemalloc__compat.c,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/memory/build/mozjemalloc_compat.c.orig     2016-04-07 21:33:25.000000000 +0000
++++ mozilla/memory/build/mozjemalloc_compat.c
+@@ -131,6 +131,48 @@ compute_bin_unused_and_bookkeeping(jemal
+     stats->bin_unused = bin_unused;
+ }
+ 
++static size_t
++compute_bin_unused(unsigned int narenas)
++{
++    size_t bin_unused = 0;
++
++    uint32_t nregs; // number of regions per run in the j-th bin
++    size_t reg_size; // size of regions served by the j-th bin
++    size_t curruns; // number of runs belonging to a bin
++    size_t curregs; // number of allocated regions in a bin
++
++    unsigned int nbins; // number of bins per arena
++    unsigned int i, j;
++
++    // curruns and curregs are not defined for uninitialized arenas,
++    // so we skip them when computing bin_unused. However, initialized
++    // arenas are not guaranteed to be sequential, so we must test each
++    // one when iterating below.
++    bool initialized[100]; // should be narenas, but MSVC doesn't have VLAs
++    size_t isz = sizeof(initialized) / sizeof(initialized[0]);
++
++    je_(mallctl)("arenas.initialized", initialized, &isz, NULL, 0);
++    CTL_GET("arenas.nbins", nbins);
++
++    for (j = 0; j < nbins; j++) {
++        CTL_I_GET("arenas.bin.0.nregs", nregs, j);
++        CTL_I_GET("arenas.bin.0.size", reg_size, j);
++
++        for (i = 0; i < narenas; i++) {
++            if (!initialized[i]) {
++                continue;
++            }
++
++            CTL_IJ_GET("stats.arenas.0.bins.0.curruns", curruns, i, j);
++            CTL_IJ_GET("stats.arenas.0.bins.0.curregs", curregs, i, j);
++
++            bin_unused += (nregs * curruns - curregs) * reg_size;
++        }
++    }
++
++    return bin_unused;
++}
++
+ MOZ_JEMALLOC_API void
+ jemalloc_stats_impl(jemalloc_stats_t *stats)
+ {
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_memory_mozalloc_mozalloc__abort.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_memory_mozalloc_mozalloc__abort.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_memory_mozalloc_mozalloc__abort.cpp Thu Apr 27 13:38:19 2017
@@ -0,0 +1,16 @@
+$NetBSD: patch-mozilla_memory_mozalloc_mozalloc__abort.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/memory/mozalloc/mozalloc_abort.cpp.orig    2016-04-07 21:33:25.000000000 +0000
++++ mozilla/memory/mozalloc/mozalloc_abort.cpp
+@@ -68,7 +68,11 @@ void fillAbortMessage(char (&msg)[N], ui
+ //
+ // That segmentation fault will be interpreted as another bug by ASan and as a
+ // result, ASan will just exit(1) instead of aborting.
++#if defined(SOLARIS)
++void std::abort(void)
++#else
+ void abort(void)
++#endif
+ {
+ #ifdef MOZ_WIDGET_ANDROID
+     char msg[64] = {};
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_memory_volatile_VolatileBufferOSX.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_memory_volatile_VolatileBufferOSX.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_memory_volatile_VolatileBufferOSX.cpp       Thu Apr 27 13:38:19 2017
@@ -0,0 +1,19 @@
+$NetBSD: patch-mozilla_memory_volatile_VolatileBufferOSX.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/memory/volatile/VolatileBufferOSX.cpp.orig 2016-04-07 21:33:25.000000000 +0000
++++ mozilla/memory/volatile/VolatileBufferOSX.cpp
+@@ -47,7 +47,14 @@ VolatileBuffer::Init(size_t aSize, size_
+   }
+ 
+ heap_alloc:
++#if defined(HAVE_POSIX_MEMALIGN)
+   (void)moz_posix_memalign(&mBuf, aAlignment, aSize);
++#else
++  MOZ_RELEASE_ASSERT(
++      !(aAlignment > (size_t)getpagesize()),
++      "Cannot fallback to valloc(3): alignment is larger than the page size");
++  mBuf = valloc(aSize);
++#endif
+   mHeap = true;
+   return !!mBuf;
+ }
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_mfbt_Attributes.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_mfbt_Attributes.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_mfbt_Attributes.h   Thu Apr 27 13:38:19 2017
@@ -0,0 +1,30 @@
+$NetBSD: patch-mozilla_mfbt_Attributes.h,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/mfbt/Attributes.h.orig     2016-04-07 21:33:25.000000000 +0000
++++ mozilla/mfbt/Attributes.h
+@@ -50,6 +50,7 @@
+  * don't indicate support for them here, due to
+  * http://stackoverflow.com/questions/20498142/visual-studio-2013-explicit-keyword-bug
+  */
++#  define MOZ_HAVE_CXX11_ALIGNAS
+ #  define MOZ_HAVE_NEVER_INLINE          __declspec(noinline)
+ #  define MOZ_HAVE_NORETURN              __declspec(noreturn)
+ #  if _MSC_VER >= 1900
+@@ -75,6 +76,9 @@
+ #  ifndef __has_extension
+ #    define __has_extension __has_feature /* compatibility, for older versions of clang */
+ #  endif
++#  if __has_extension(cxx_alignas)
++#    define MOZ_HAVE_CXX11_ALIGNAS
++#  endif
+ #  if __has_extension(cxx_constexpr)
+ #    define MOZ_HAVE_CXX11_CONSTEXPR
+ #  endif
+@@ -91,6 +95,7 @@
+ #  if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L
+ #    define MOZ_HAVE_CXX11_CONSTEXPR
+ #    if MOZ_GCC_VERSION_AT_LEAST(4, 8, 0)
++#      define MOZ_HAVE_CXX11_ALIGNAS
+ #      define MOZ_HAVE_CXX11_CONSTEXPR_IN_TEMPLATES
+ #    endif
+ #    define MOZ_HAVE_EXPLICIT_CONVERSION
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_mfbt_Poison.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_mfbt_Poison.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_mfbt_Poison.cpp     Thu Apr 27 13:38:19 2017
@@ -0,0 +1,16 @@
+$NetBSD: patch-mozilla_mfbt_Poison.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/mfbt/Poison.cpp.orig       2016-04-07 21:33:25.000000000 +0000
++++ mozilla/mfbt/Poison.cpp
+@@ -129,7 +129,11 @@ ReleaseRegion(void* aRegion, uintptr_t a
+ static bool
+ ProbeRegion(uintptr_t aRegion, uintptr_t aSize)
+ {
++#if !defined(__sun__)
+   if (madvise(reinterpret_cast<void*>(aRegion), aSize, MADV_NORMAL)) {
++#else
++  if (posix_madvise(reinterpret_cast<void*>(aRegion), aSize, MADV_NORMAL)) {
++#endif
+     return true;
+   } else {
+     return false;
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_modules_libjar_nsZipArchive.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_modules_libjar_nsZipArchive.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_modules_libjar_nsZipArchive.cpp     Thu Apr 27 13:38:19 2017
@@ -0,0 +1,15 @@
+$NetBSD: patch-mozilla_modules_libjar_nsZipArchive.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/modules/libjar/nsZipArchive.cpp.orig       2016-04-07 21:33:29.000000000 +0000
++++ mozilla/modules/libjar/nsZipArchive.cpp
+@@ -626,7 +626,9 @@ MOZ_WIN_MEM_TRY_BEGIN
+     // Success means optimized jar layout from bug 559961 is in effect
+     uint32_t readaheadLength = xtolong(startp);
+     if (readaheadLength) {
+-#if defined(XP_UNIX)
++#if defined(OS_SOLARIS)
++      posix_madvise(const_cast<uint8_t*>(startp), readaheadLength, POSIX_MADV_WILLNEED);
++#elif defined(XP_UNIX)
+       madvise(const_cast<uint8_t*>(startp), readaheadLength, MADV_WILLNEED);
+ #elif defined(XP_WIN)
+       if (aFd) {
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_modules_libpref_init_all.js
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_modules_libpref_init_all.js:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_modules_libpref_init_all.js Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_modules_libpref_init_all.js,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/modules/libpref/init/all.js.orig   2016-04-07 21:33:29.000000000 +0000
++++ mozilla/modules/libpref/init/all.js
+@@ -4332,7 +4332,7 @@ pref("layers.max-active", -1);
+ pref("layers.tiles.adjust", true);
+ 
+ // Set the default values, and then override per-platform as needed
+-pref("layers.offmainthreadcomposition.enabled", true);
++pref("layers.offmainthreadcomposition.enabled", false);
+ // Compositor target frame rate. NOTE: If vsync is enabled the compositor
+ // frame rate will still be capped.
+ // -1 -> default (match layout.frame_rate or 60 FPS)
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_mozglue_build_arm.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_mozglue_build_arm.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_mozglue_build_arm.cpp       Thu Apr 27 13:38:19 2017
@@ -0,0 +1,57 @@
+$NetBSD: patch-mozilla_mozglue_build_arm.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/mozglue/build/arm.cpp.orig 2016-04-07 21:33:29.000000000 +0000
++++ mozilla/mozglue/build/arm.cpp
+@@ -102,10 +102,13 @@ check_neon(void)
+ }
+ #    endif // !MOZILLA_PRESUME_NEON
+ 
+-#  elif defined(__linux__) || defined(ANDROID)
++#  elif defined(__linux__) || defined(ANDROID) || defined(__NetBSD__)
+ #    include <stdio.h>
+ #    include <stdlib.h>
+ #    include <string.h>
++#    if defined(__NetBSD__)
++#      include <sys/sysctl.h>
++#    endif
+ 
+ enum{
+   MOZILLA_HAS_EDSP_FLAG=1,
+@@ -114,6 +117,29 @@ enum{
+   MOZILLA_HAS_NEON_FLAG=8
+ };
+ 
++#    if defined(__NetBSD__)
++static unsigned
++get_arm_cpu_flags(void)
++{
++  unsigned flags = 0;
++  size_t len;
++  int flag;
++
++  len = sizeof(flag);
++  if (sysctlbyname("machdep.simdex_present", &flag, &len, NULL, 0) == 0 && flag) {
++    flags |= MOZILLA_HAS_ARMV6_FLAG;
++    flags |= MOZILLA_HAS_EDSP_FLAG;
++  }
++
++  len = sizeof(flag);
++  if (sysctlbyname("machdep.neon_present", &flag, &len, NULL, 0) == 0 && flag) {
++    flags |= MOZILLA_HAS_ARMV7_FLAG;
++    flags |= MOZILLA_HAS_NEON_FLAG;
++  }
++
++  return flags;
++}
++#    else
+ static unsigned
+ get_arm_cpu_flags(void)
+ {
+@@ -178,6 +204,7 @@ get_arm_cpu_flags(void)
+   }
+   return flags;
+ }
++#    endif
+ 
+ // Cache a local copy so we only have to read /proc/cpuinfo once.
+ static unsigned arm_cpu_flags = get_arm_cpu_flags();
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_mozglue_build_arm.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_mozglue_build_arm.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_mozglue_build_arm.h Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_mozglue_build_arm.h,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/mozglue/build/arm.h.orig   2016-04-07 21:33:29.000000000 +0000
++++ mozilla/mozglue/build/arm.h
+@@ -76,7 +76,7 @@
+ #  endif
+ 
+   // Currently we only have CPU detection for Linux via /proc/cpuinfo
+-#  if defined(__linux__) || defined(ANDROID)
++#  if defined(__linux__) || defined(ANDROID) || defined(__NetBSD__)
+ #    define MOZILLA_ARM_HAVE_CPUID_DETECTION 1
+ #  endif
+ 
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_netwerk_dns_moz.build
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_netwerk_dns_moz.build:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_netwerk_dns_moz.build       Thu Apr 27 13:38:19 2017
@@ -0,0 +1,14 @@
+$NetBSD: patch-mozilla_netwerk_dns_moz.build,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/netwerk/dns/moz.build.orig 2016-04-07 21:33:29.000000000 +0000
++++ mozilla/netwerk/dns/moz.build
+@@ -66,6 +66,9 @@ LOCAL_INCLUDES += [
+     '/netwerk/base',
+ ]
+ 
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk' and CONFIG['ANDROID_VERSION'] > '19':
+     LOCAL_INCLUDES += ['%' + '%s/bionic/libc/dns/include' % CONFIG['ANDROID_SOURCE']]
+ 
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_storage_SQLiteMutex.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_storage_SQLiteMutex.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_storage_SQLiteMutex.h       Thu Apr 27 13:38:19 2017
@@ -0,0 +1,24 @@
+$NetBSD: patch-mozilla_storage_SQLiteMutex.h,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/storage/SQLiteMutex.h.orig 2016-04-07 21:33:16.000000000 +0000
++++ mozilla/storage/SQLiteMutex.h
+@@ -107,15 +107,19 @@ public:
+   void assertCurrentThreadOwns()
+   {
+     NS_ASSERTION(mMutex, "No mutex associated with this wrapper!");
++#if 0
+     NS_ASSERTION(sqlite3_mutex_held(mMutex),
+                  "Mutex is not held, but we expect it to be!");
++#endif
+   }
+ 
+   void assertNotCurrentThreadOwns()
+   {
+     NS_ASSERTION(mMutex, "No mutex associated with this wrapper!");
++#if 0
+     NS_ASSERTION(sqlite3_mutex_notheld(mMutex),
+                  "Mutex is held, but we expect it to not be!");
++#endif
+   }
+ #endif // ifndef DEBUG
+ 
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h   Thu Apr 27 13:38:19 2017
@@ -0,0 +1,20 @@
+$NetBSD: patch-mozilla_toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/toolkit/components/protobuf/src/google/protobuf/stubs/atomicops.h.orig     2016-04-07 21:33:32.000000000 +0000
++++ mozilla/toolkit/components/protobuf/src/google/protobuf/stubs/atomicops.h
+@@ -76,9 +76,15 @@ typedef intptr_t Atomic64;
+ #endif
+ #endif
+ 
++#if defined(__NetBSD__) && defined(__arm__)
++// NetBSD/arm uses long for intptr_t, which fails -fpermissive checks. So
++// explicitly use int32 here instead.
++typedef int32 AtomicWord;
++#else
+ // Use AtomicWord for a machine-sized pointer.  It will use the Atomic32 or
+ // Atomic64 routines below, depending on your architecture.
+ typedef intptr_t AtomicWord;
++#endif
+ 
+ // Atomically execute:
+ //      result = *ptr;
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_components_protobuf_src_google_protobuf_stubs_platform__macros.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_components_protobuf_src_google_protobuf_stubs_platform__macros.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_components_protobuf_src_google_protobuf_stubs_platform__macros.h    Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_toolkit_components_protobuf_src_google_protobuf_stubs_platform__macros.h,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/toolkit/components/protobuf/src/google/protobuf/stubs/platform_macros.h.orig       2016-04-07 21:33:32.000000000 +0000
++++ mozilla/toolkit/components/protobuf/src/google/protobuf/stubs/platform_macros.h
+@@ -67,7 +67,7 @@
+ #define GOOGLE_PROTOBUF_ARCH_32_BIT 1
+ #elif defined(sparc)
+ #define GOOGLE_PROTOBUF_ARCH_SPARC 1
+-#ifdef SOLARIS_64BIT_ENABLED
++#if (defined(sun) && defined(SOLARIS_64BIT_ENABLED)) || __LP64__
+ #define GOOGLE_PROTOBUF_ARCH_64_BIT 1
+ #else
+ #define GOOGLE_PROTOBUF_ARCH_32_BIT 1
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_library_moz.build
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_library_moz.build:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_library_moz.build   Thu Apr 27 13:38:19 2017
@@ -0,0 +1,69 @@
+$NetBSD: patch-mozilla_toolkit_library_moz.build,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/toolkit/library/moz.build.orig     2016-04-07 21:33:33.000000000 +0000
++++ mozilla/toolkit/library/moz.build
+@@ -211,6 +211,7 @@ if CONFIG['OS_ARCH'] == 'Linux' and CONF
+     ]
+ 
+ OS_LIBS += CONFIG['MOZ_CAIRO_OSLIBS']
++OS_LIBS += CONFIG['MOZ_LIBV4L2_LIBS']
+ OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS']
+ 
+ if CONFIG['MOZ_NATIVE_JPEG']:
+@@ -222,6 +223,30 @@ if CONFIG['MOZ_NATIVE_PNG']:
+ if CONFIG['MOZ_NATIVE_HUNSPELL']:
+     OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
+ 
++if CONFIG['MOZ_NATIVE_OGG']:
++    OS_LIBS += CONFIG['MOZ_OGG_LIBS']
++
++if CONFIG['MOZ_NATIVE_THEORA']:
++    OS_LIBS += CONFIG['MOZ_THEORA_LIBS']
++
++if CONFIG['MOZ_NATIVE_VORBIS']:
++    OS_LIBS += CONFIG['MOZ_VORBIS_LIBS']
++
++if CONFIG['MOZ_NATIVE_TREMOR']:
++    OS_LIBS += CONFIG['MOZ_TREMOR_LIBS']
++
++if CONFIG['MOZ_NATIVE_CELT']:
++    OS_LIBS += CONFIG['MOZ_CELT_LIBS']
++
++if CONFIG['MOZ_NATIVE_OPUS']:
++    OS_LIBS += CONFIG['MOZ_OPUS_LIBS']
++
++if CONFIG['MOZ_NATIVE_SPEEX']:
++    OS_LIBS += CONFIG['MOZ_SPEEX_LIBS']
++
++if CONFIG['MOZ_NATIVE_SOUNDTOUCH']:
++    OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS']
++
+ if CONFIG['MOZ_NATIVE_LIBEVENT']:
+     OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
+ 
+@@ -231,8 +256,14 @@ if CONFIG['MOZ_NATIVE_LIBVPX']:
+ if not CONFIG['MOZ_TREE_PIXMAN']:
+     OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS']
+ 
+-if CONFIG['MOZ_ALSA']:
+-    OS_LIBS += CONFIG['MOZ_ALSA_LIBS']
++if CONFIG['MOZ_NATIVE_GRAPHITE2']:
++    OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS']
++
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++    OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
++
++if CONFIG['MOZ_OSS']:
++    OS_LIBS += CONFIG['MOZ_OSS_LIBS']
+ 
+ if CONFIG['HAVE_CLOCK_MONOTONIC']:
+     OS_LIBS += CONFIG['REALTIME_LIBS']
+@@ -368,7 +399,7 @@ if CONFIG['OS_ARCH'] == 'WINNT':
+ if CONFIG['MOZ_ENABLE_QT']:
+     OS_LIBS += CONFIG['XEXT_LIBS']
+ 
+-if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa' and CONFIG['MOZ_GSTREAMER']:
++if CONFIG['OS_ARCH'] == 'Darwin' and CONFIG['MOZ_GSTREAMER']:
+     OS_LIBS += CONFIG['GSTREAMER_LIBS']
+ 
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_mozapps_installer_packager.mk
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_mozapps_installer_packager.mk:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_mozapps_installer_packager.mk       Thu Apr 27 13:38:19 2017
@@ -0,0 +1,15 @@
+$NetBSD: patch-mozilla_toolkit_mozapps_installer_packager.mk,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/toolkit/mozapps/installer/packager.mk.orig 2017-03-05 20:58:33.000000000 +0000
++++ mozilla/toolkit/mozapps/installer/packager.mk
+@@ -132,8 +132,8 @@ endif
+         (cd $(DESTDIR)$(installdir) && tar -xf -)
+       $(NSINSTALL) -D $(DESTDIR)$(bindir)
+       $(RM) -f $(DESTDIR)$(bindir)/$(MOZ_APP_NAME)
+-      ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir)
+-ifdef INSTALL_SDK # Here comes the hard part
++      ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir)/${MOZILLA_PKG_NAME}
++ifeq ($(MOZ_APP_NAME),xulrunner)
+       $(NSINSTALL) -D $(DESTDIR)$(includedir)
+       (cd $(DIST)/include && $(TAR) $(TAR_CREATE_FLAGS) - .) | \
+         (cd $(DESTDIR)$(includedir) && tar -xf -)
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_mozapps_installer_packager.mk.orig
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_mozapps_installer_packager.mk.orig:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_mozapps_installer_packager.mk.orig  Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_toolkit_mozapps_installer_packager.mk.orig,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/toolkit/mozapps/installer/packager.mk.orig 2016-04-07 21:33:34.000000000 +0000
++++ mozilla/toolkit/mozapps/installer/packager.mk
+@@ -133,7 +133,7 @@ endif
+       $(NSINSTALL) -D $(DESTDIR)$(bindir)
+       $(RM) -f $(DESTDIR)$(bindir)/$(MOZ_APP_NAME)
+       ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir)
+-ifdef INSTALL_SDK # Here comes the hard part
++ifeq ($(MOZ_APP_NAME),xulrunner)
+       $(NSINSTALL) -D $(DESTDIR)$(includedir)
+       (cd $(DIST)/include && $(TAR) $(TAR_CREATE_FLAGS) - .) | \
+         (cd $(DESTDIR)$(includedir) && tar -xf -)
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_xre_glxtest.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_xre_glxtest.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_xre_glxtest.cpp     Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_toolkit_xre_glxtest.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/toolkit/xre/glxtest.cpp.orig       2016-04-07 21:33:34.000000000 +0000
++++ mozilla/toolkit/xre/glxtest.cpp
+@@ -163,7 +163,7 @@ void glxtest()
+     fatal_error("The MOZ_AVOID_OPENGL_ALTOGETHER environment variable is defined");
+ 
+   ///// Open libGL and load needed symbols /////
+-#ifdef __OpenBSD__
++#if defined(__OpenBSD__) || defined(__NetBSD__)
+   #define LIBGL_FILENAME "libGL.so"
+ #else
+   #define LIBGL_FILENAME "libGL.so.1"
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_xre_nsAppRunner.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_xre_nsAppRunner.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_xre_nsAppRunner.cpp Thu Apr 27 13:38:19 2017
@@ -0,0 +1,31 @@
+$NetBSD: patch-mozilla_toolkit_xre_nsAppRunner.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/toolkit/xre/nsAppRunner.cpp.orig   2016-04-07 21:33:34.000000000 +0000
++++ mozilla/toolkit/xre/nsAppRunner.cpp
+@@ -1893,6 +1893,18 @@ static nsresult LaunchChild(nsINativeApp
+   if (NS_FAILED(rv))
+     return rv;
+ 
++#if defined(XP_DARWIN)
++  pid_t pid = vfork();
++  if (pid == 0) { // child
++    if (execv(exePath.get(), gRestartArgv) == -1) {
++      _exit(1);
++    }
++  }
++  else if (pid == -1) {
++    return NS_ERROR_FAILURE;
++  }
++#else
++
+ #if defined(XP_UNIX)
+   if (execv(exePath.get(), gRestartArgv) == -1)
+     return NS_ERROR_FAILURE;
+@@ -1906,6 +1918,7 @@ static nsresult LaunchChild(nsINativeApp
+   if (failed || exitCode)
+     return NS_ERROR_FAILURE;
+ #endif // XP_UNIX
++#endif // XP_DARWIN
+ #endif // WP_WIN
+ #endif // WP_MACOSX
+ #endif // MOZ_WIDGET_ANDROID
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_xre_nsEmbedFunctions.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_xre_nsEmbedFunctions.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_toolkit_xre_nsEmbedFunctions.cpp    Thu Apr 27 13:38:19 2017
@@ -0,0 +1,22 @@
+$NetBSD: patch-mozilla_toolkit_xre_nsEmbedFunctions.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/toolkit/xre/nsEmbedFunctions.cpp.orig      2016-04-07 21:33:34.000000000 +0000
++++ mozilla/toolkit/xre/nsEmbedFunctions.cpp
+@@ -259,7 +259,7 @@ XRE_SetRemoteExceptionHandler(const char
+ {
+ #if defined(XP_WIN) || defined(XP_MACOSX)
+   return CrashReporter::SetRemoteExceptionHandler(nsDependentCString(aPipe));
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_SOLARIS)
+   return CrashReporter::SetRemoteExceptionHandler();
+ #else
+ #  error "OOP crash reporter unsupported on this platform"
+@@ -449,7 +449,7 @@ XRE_InitChildProcess(int aArgc,
+     // Bug 684322 will add better visibility into this condition
+     NS_WARNING("Could not setup crash reporting\n");
+   }
+-#  elif defined(OS_LINUX)
++#  elif defined(OS_LINUX) || defined(OS_SOLARIS)
+   // on POSIX, |crashReporterArg| is "true" if crash reporting is
+   // enabled, false otherwise
+   if (0 != strcmp("false", crashReporterArg) && 
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_webapprt_moz.build
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_webapprt_moz.build:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_webapprt_moz.build  Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_webapprt_moz.build,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/webapprt/moz.build.orig    2016-04-07 21:33:35.000000000 +0000
++++ mozilla/webapprt/moz.build
+@@ -9,7 +9,7 @@ with Files('**'):
+ 
+ if CONFIG['OS_ARCH'] == 'WINNT':
+     DIRS += ['win']
+-elif CONFIG['OS_ARCH'] == 'Darwin':
++elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
+     DIRS += ['mac']
+ elif CONFIG['MOZ_ENABLE_GTK']:
+     DIRS += ['gtk']
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_base_nscore.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_base_nscore.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_base_nscore.h Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_xpcom_base_nscore.h,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/xpcom/base/nscore.h.orig   2016-04-07 21:33:35.000000000 +0000
++++ mozilla/xpcom/base/nscore.h
+@@ -76,7 +76,7 @@
+  *           NS_HIDDEN_(int) NS_FASTCALL func2(char *foo);
+  */
+ 
+-#if defined(__i386__) && defined(__GNUC__)
++#if defined(__i386__) && defined(__GNUC__) && !(defined(__clang__) && __clang_major__ == 3 && __clang_minor__ == 4 && __clang_patchlevel__ == 0)
+ #define NS_FASTCALL __attribute__ ((regparm (3), stdcall))
+ #define NS_CONSTRUCTOR_FASTCALL __attribute__ ((regparm (3), stdcall))
+ #elif defined(XP_WIN) && !defined(_WIN64)
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_build_PoisonIOInterposer.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_build_PoisonIOInterposer.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_build_PoisonIOInterposer.h    Thu Apr 27 13:38:19 2017
@@ -0,0 +1,55 @@
+$NetBSD: patch-mozilla_xpcom_build_PoisonIOInterposer.h,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/xpcom/build/PoisonIOInterposer.h.orig      2016-04-07 21:33:35.000000000 +0000
++++ mozilla/xpcom/build/PoisonIOInterposer.h
+@@ -36,7 +36,7 @@ void MozillaUnRegisterDebugFILE(FILE* aF
+ 
+ MOZ_END_EXTERN_C
+ 
+-#if defined(XP_WIN) || defined(XP_MACOSX)
++#if defined(XP_WIN) || defined(XP_DARWIN)
+ 
+ #ifdef __cplusplus
+ namespace mozilla {
+@@ -54,7 +54,7 @@ bool IsDebugFile(intptr_t aFileID);
+  */
+ void InitPoisonIOInterposer();
+ 
+-#ifdef XP_MACOSX
++#ifdef XP_DARWIN
+ /**
+  * Check that writes are dirty before reporting I/O (Mac OS X only)
+  * This is necessary for late-write checks on Mac OS X, but reading the buffer
+@@ -62,7 +62,7 @@ void InitPoisonIOInterposer();
+  * to do this for everything else that uses
+  */
+ void OnlyReportDirtyWrites();
+-#endif /* XP_MACOSX */
++#endif /* XP_DARWIN */
+ 
+ /**
+  * Clear IO poisoning, this is only safe to do on the main-thread when no other
+@@ -73,19 +73,19 @@ void ClearPoisonIOInterposer();
+ } // namespace mozilla
+ #endif /* __cplusplus */
+ 
+-#else /* XP_WIN || XP_MACOSX */
++#else /* XP_WIN || XP_DARWIN */
+ 
+ #ifdef __cplusplus
+ namespace mozilla {
+ inline bool IsDebugFile(intptr_t aFileID) { return true; }
+ inline void InitPoisonIOInterposer() {}
+ inline void ClearPoisonIOInterposer() {}
+-#ifdef XP_MACOSX
++#ifdef XP_DARWIN
+ inline void OnlyReportDirtyWrites() {}
+-#endif /* XP_MACOSX */
++#endif /* XP_DARWIN */
+ } // namespace mozilla
+ #endif /* __cplusplus */
+ 
+-#endif /* XP_WIN || XP_MACOSX */
++#endif /* XP_WIN || XP_DARWIN */
+ 
+ #endif // mozilla_PoisonIOInterposer_h
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_components_Module.h
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_components_Module.h:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_components_Module.h   Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_xpcom_components_Module.h,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/xpcom/components/Module.h.orig     2016-04-07 21:33:35.000000000 +0000
++++ mozilla/xpcom/components/Module.h
+@@ -125,7 +125,7 @@ struct Module
+ #    define NSMODULE_SECTION __declspec(allocate(".kPStaticModules$M"), dllexport)
+ #  elif defined(__GNUC__)
+ #    if defined(__ELF__)
+-#      define NSMODULE_SECTION __attribute__((section(".kPStaticModules"), visibility("protected")))
++#      define NSMODULE_SECTION __attribute__((section(".kPStaticModules"), visibility("default")))
+ #    elif defined(__MACH__)
+ #      define NSMODULE_SECTION __attribute__((section("__DATA, .kPStaticModules"), visibility("default")))
+ #    elif defined (_WIN32)
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_Makefile.in
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_Makefile.in:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_Makefile.in   Thu Apr 27 13:38:19 2017
@@ -0,0 +1,48 @@
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_Makefile.in,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/xpcom/reflect/xptcall/md/unix/Makefile.in.orig     2016-04-07 21:33:35.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/Makefile.in
+@@ -42,6 +42,43 @@ ifeq ($(OS_ARCH),AIX)
+ CXXFLAGS      :=  $(filter-out $(MOZ_OPTIMIZE_FLAGS), $(CXXFLAGS))
+ endif
+ 
++######################################################################
++# SPARC
++######################################################################
++#
++# Linux/SPARC
++#
++ifeq ($(OS_ARCH),Linux)
++ifneq (,$(findstring sparc,$(OS_TEST)))
++ASFILES               := xptcinvoke_asm_sparc_linux_GCC3.s xptcstubs_asm_sparc_solaris.s
++endif
++endif
++#
++# NetBSD/SPARC
++#
++ifeq ($(OS_ARCH)$(OS_TEST),NetBSDsparc)
++ASFILES               := xptcinvoke_asm_sparc_netbsd.s xptcstubs_asm_sparc_netbsd.s
++endif
++#
++# OpenBSD/SPARC
++#
++ifeq ($(OS_ARCH)$(OS_TEST),OpenBSDsparc)
++ASFILES               := xptcinvoke_asm_sparc_openbsd.s xptcstubs_asm_sparc_openbsd.s
++endif
++#
++# OpenBSD/SPARC64
++#
++ifneq (,$(filter OpenBSDsparc64 FreeBSDsparc64,$(OS_ARCH)$(OS_TEST)))
++ASFILES               := xptcinvoke_asm_sparc64_openbsd.s xptcstubs_asm_sparc64_openbsd.s
++endif
++#
++# NetBSD/SPARC64
++#
++ifeq ($(OS_ARCH)$(OS_TEST),NetBSDsparc64)
++CPPSRCS                := xptcinvoke_sparc64_netbsd.cpp xptcstubs_sparc64_openbsd.cpp
++ASFILES                := xptcinvoke_asm_sparc64_openbsd.s xptcstubs_asm_sparc64_netbsd.s
++endif
++
+ include $(topsrcdir)/config/rules.mk
+ 
+ ifeq ($(OS_ARCH),Linux)
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_moz.build
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_moz.build:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_moz.build     Thu Apr 27 13:38:19 2017
@@ -0,0 +1,22 @@
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_moz.build,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/xpcom/reflect/xptcall/md/unix/moz.build.orig       2016-04-07 21:33:35.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/moz.build
+@@ -9,7 +9,7 @@ if CONFIG['OS_ARCH'] == 'Darwin':
+         'xptcinvoke_darwin.cpp',
+         'xptcstubs_darwin.cpp',
+     ]
+-    if CONFIG['OS_TEST'] == 'powerpc':
++    if CONFIG['OS_TEST'] == 'ppc':
+         SOURCES += [
+             '!xptcstubs_asm_ppc_darwin.s',
+             'xptcinvoke_asm_ppc_rhapsody.s',
+@@ -24,7 +24,7 @@ if CONFIG['OS_ARCH'] == 'GNU':
+             'xptcstubs_gcc_x86_unix.cpp'
+         ]
+ 
+-if CONFIG['OS_ARCH'] in ('Linux', 'FreeBSD', 'NetBSD', 'OpenBSD') or \
++if CONFIG['OS_ARCH'] in ('Linux', 'FreeBSD', 'NetBSD', 'OpenBSD', 'DragonFly') or \
+    CONFIG['OS_ARCH'].startswith('GNU_'):
+     if CONFIG['OS_TEST'] == 'x86_64':
+         SOURCES += [
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__arm__netbsd.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__arm__netbsd.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__arm__netbsd.cpp   Thu Apr 27 13:38:19 2017
@@ -0,0 +1,527 @@
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__arm__netbsd.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_arm_netbsd.cpp.orig       2016-04-07 21:33:35.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_arm_netbsd.cpp
+@@ -7,82 +7,92 @@
+ 
+ #include "xptcprivate.h"
+ 
+-// Remember that these 'words' are 32bit DWORDS
++#include "mozilla/Compiler.h"
+ 
+-static uint32_t
+-invoke_count_words(uint32_t paramCount, nsXPTCVariant* s)
++#ifndef __ARM_PCS_VFP
++
++/* This function copies a 64-bits word from dw to the given pointer in
++ * a buffer delimited by start and end, possibly wrapping around the
++ * buffer boundaries, and/or properly aligning the data at 64-bits word
++ * boundaries (for EABI).
++ * start and end are both assumed to be 64-bits aligned.
++ * Returns a pointer to the second 32-bits word copied (to accomodate
++ * the invoke_copy_to_stack loop).
++ */
++static uint32_t *
++copy_double_word(uint32_t *start, uint32_t *current, uint32_t *end, uint64_t *dw)
+ {
+-    uint32_t result = 0;
+-    for(uint32_t i = 0; i < paramCount; i++, s++)
+-    {
+-        if(s->IsPtrData())
+-        {
+-            result++;
+-            continue;
+-        }
+-        switch(s->type)
+-        {
+-        case nsXPTType::T_I8     :
+-        case nsXPTType::T_I16    :
+-        case nsXPTType::T_I32    :
+-            result++;
+-            break;
+-        case nsXPTType::T_I64    :
+-            result+=2;
+-            break;
+-        case nsXPTType::T_U8     :
+-        case nsXPTType::T_U16    :
+-        case nsXPTType::T_U32    :
+-            result++;
+-            break;
+-        case nsXPTType::T_U64    :
+-            result+=2;
+-            break;
+-        case nsXPTType::T_FLOAT  :
+-            result++;
+-            break;
+-        case nsXPTType::T_DOUBLE :
+-            result+=2;
+-            break;
+-        case nsXPTType::T_BOOL   :
+-        case nsXPTType::T_CHAR   :
+-        case nsXPTType::T_WCHAR  :
+-            result++;
+-            break;
+-        default:
+-            // all the others are plain pointer types
+-            result++;
+-            break;
+-        }
++#ifdef __ARM_EABI__
++    /* Aligning the pointer for EABI */
++    current = (uint32_t *)(((uint32_t)current + 7) & ~7);
++    /* Wrap when reaching the end of the buffer */
++    if (current == end) current = start;
++#else
++    /* On non-EABI, 64-bits values are not aligned and when we reach the end
++     * of the buffer, we need to write half of the data at the end, and the
++     * other half at the beginning. */
++    if (current == end - 1) {
++        *current = ((uint32_t*)dw)[0];
++        *start = ((uint32_t*)dw)[1];
++        return start;
+     }
+-    return result;
++#endif
++
++    *((uint64_t*) current) = *dw;
++    return current + 1;
+ }
+ 
+-static void
+-invoke_copy_to_stack(uint32_t* d, uint32_t paramCount, nsXPTCVariant* s)
++/* See stack_space comment in NS_InvokeByIndex to see why this needs not to
++ * be static on DEBUG builds. */
++#ifndef DEBUG
++static
++#endif
++void
++invoke_copy_to_stack(uint32_t* stk, uint32_t *end,
++                     uint32_t paramCount, nsXPTCVariant* s)
+ {
++    /* The stack buffer is 64-bits aligned. The end argument points to its end.
++     * The caller is assumed to create a stack buffer of at least four 32-bits
++     * words.
++     * We use the last three 32-bit words to store the values for r1, r2 and r3
++     * for the method call, i.e. the first words for arguments passing.
++     */
++    uint32_t *d = end - 3;
+     for(uint32_t i = 0; i < paramCount; i++, d++, s++)
+     {
++        /* Wrap when reaching the end of the stack buffer */
++        if (d == end) d = stk;
++        NS_ASSERTION(d >= stk && d < end,
++            "invoke_copy_to_stack is copying outside its given buffer");
+         if(s->IsPtrData())
+         {
+             *((void**)d) = s->ptr;
+             continue;
+         }
++        // According to the ARM EABI, integral types that are smaller than a word
++        // are to be sign/zero-extended to a full word and treated as 4-byte values.
++
+         switch(s->type)
+         {
+-        case nsXPTType::T_I8     : *((int8_t*)  d) = s->val.i8;          break;
+-        case nsXPTType::T_I16    : *((int16_t*) d) = s->val.i16;         break;
++        case nsXPTType::T_I8     : *((int32_t*) d) = s->val.i8;          break;
++        case nsXPTType::T_I16    : *((int32_t*) d) = s->val.i16;         break;
+         case nsXPTType::T_I32    : *((int32_t*) d) = s->val.i32;         break;
+-        case nsXPTType::T_I64    : *((int64_t*) d) = s->val.i64; d++;    break;
+-        case nsXPTType::T_U8     : *((uint8_t*) d) = s->val.u8;          break;
+-        case nsXPTType::T_U16    : *((uint16_t*)d) = s->val.u16;         break;
++        case nsXPTType::T_I64    :
++            d = copy_double_word(stk, d, end, (uint64_t *)&s->val.i64);
++            break;
++        case nsXPTType::T_U8     : *((uint32_t*)d) = s->val.u8;          break;
++        case nsXPTType::T_U16    : *((uint32_t*)d) = s->val.u16;         break;
+         case nsXPTType::T_U32    : *((uint32_t*)d) = s->val.u32;         break;
+-        case nsXPTType::T_U64    : *((uint64_t*)d) = s->val.u64; d++;    break;
++        case nsXPTType::T_U64    :
++            d = copy_double_word(stk, d, end, (uint64_t *)&s->val.u64);
++            break;
+         case nsXPTType::T_FLOAT  : *((float*)   d) = s->val.f;           break;
+-        case nsXPTType::T_DOUBLE : *((double*)  d) = s->val.d;   d++;    break;
+-        case nsXPTType::T_BOOL   : *((bool*)  d) = s->val.b;           break;
+-        case nsXPTType::T_CHAR   : *((char*)    d) = s->val.c;           break;
+-        case nsXPTType::T_WCHAR  : *((wchar_t*) d) = s->val.wc;          break;
++        case nsXPTType::T_DOUBLE :
++            d = copy_double_word(stk, d, end, (uint64_t *)&s->val.d);
++            break;
++        case nsXPTType::T_BOOL   : *((int32_t*) d) = s->val.b;           break;
++        case nsXPTType::T_CHAR   : *((int32_t*) d) = s->val.c;           break;
++        case nsXPTType::T_WCHAR  : *((int32_t*) d) = s->val.wc;          break;
+         default:
+             // all the others are plain pointer types
+             *((void**)d) = s->val.p;
+@@ -91,47 +101,27 @@ invoke_copy_to_stack(uint32_t* d, uint32
+     }
+ }
+ 
+-extern "C" 
+-struct my_params_struct {
+-    nsISupports* that;      
+-    uint32_t Index;         
+-    uint32_t Count;         
+-    nsXPTCVariant* params;  
+-    uint32_t fn_count;     
+-    uint32_t fn_copy;      
+-};
++typedef nsresult (*vtable_func)(nsISupports *, uint32_t, uint32_t, uint32_t);
+ 
+-XPTC_PUBLIC_API(nsresult)
+-XPTC_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
++EXPORT_XPCOM_API(nsresult)
++NS_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
+                    uint32_t paramCount, nsXPTCVariant* params)
+ {
+-    uint32_t result;
+-    struct my_params_struct my_params;
+-    my_params.that = that;
+-    my_params.Index = methodIndex;
+-    my_params.Count = paramCount;
+-    my_params.params = params;
+-    my_params.fn_copy = (uint32_t) &invoke_copy_to_stack;
+-    my_params.fn_count = (uint32_t) &invoke_count_words;
+ 
+ /* This is to call a given method of class that.
+  * The parameters are in params, the number is in paramCount.
+  * The routine will issue calls to count the number of words
+  * required for argument passing and to copy the arguments to
+  * the stack.
+- * Since APCS passes the first 3 params in r1-r3, we need to
+- * load the first three words from the stack and correct the stack
+- * pointer (sp) in the appropriate way. This means:
+- *
+- * 1.) more than 3 arguments: load r1-r3, correct sp and remember No.
+- *                          of bytes left on the stack in r4
+- *
+- * 2.) <= 2 args: load r1-r3 (we won't be causing a stack overflow I hope),
+- *              restore sp as if nothing had happened and set the marker r4 to zero.
+- *
+- * Afterwards sp will be restored using the value in r4 (which is not a temporary register
+- * and will be preserved by the function/method called according to APCS [ARM Procedure
+- * Calling Standard]).
++ * ACPS passes the first 3 params in r1-r3 (with exceptions for 64-bits
++ * arguments), and the remaining goes onto the stack.
++ * We allocate a buffer on the stack for a "worst case" estimate of how much
++ * stack might be needed for EABI, i.e. twice the number of parameters.
++ * The end of this buffer will be used to store r1 to r3, so that the start
++ * of the stack is the remaining parameters.
++ * The magic here is to call the method with "that" and three 32-bits
++ * arguments corresponding to r1-r3, so that the compiler generates the
++ * proper function call. The stack will also contain the remaining arguments.
+  *
+  * !!! IMPORTANT !!!
+  * This routine makes assumptions about the vtable layout of the c++ compiler. It's implemented
+@@ -139,43 +129,272 @@ XPTC_InvokeByIndex(nsISupports* that, ui
+  *
+  */
+  
+-  __asm__ __volatile__(
+-    "ldr      r1, [%1, #12]   \n\t"   /* prepare to call invoke_count_words   */
+-    "ldr      ip, [%1, #16]   \n\t"   /* r0=paramCount, r1=params             */
+-    "ldr      r0, [%1,  #8]   \n\t"
+-    "mov      lr, pc          \n\t"   /* call it...                           */
+-    "mov      pc, ip          \n\t"
+-    "mov      r4, r0, lsl #2  \n\t"   /* This is the amount of bytes needed.  */
+-    "sub      sp, sp, r4      \n\t"   /* use stack space for the args...      */
+-    "mov      r0, sp          \n\t"   /* prepare a pointer an the stack       */
+-    "ldr      r1, [%1,  #8]   \n\t"   /* =paramCount                          */
+-    "ldr      r2, [%1, #12]   \n\t"   /* =params                              */
+-    "ldr      ip, [%1, #20]   \n\t"   /* =invoke_copy_to_stack                */
+-    "mov      lr, pc          \n\t"   /* copy args to the stack like the      */
+-    "mov      pc, ip          \n\t"   /* compiler would.                      */
+-    "ldr      r0, [%1]        \n\t"   /* =that                                */
+-    "ldr      r1, [r0, #0]    \n\t"   /* get that->vtable offset              */
+-    "ldr      r2, [%1, #4]    \n\t"
+-    "add      r2, r1, r2, lsl #3\n\t" /* a vtable_entry(x)=8 + (8 bytes * x)  */
+-    "add      r2, r2, #8      \n\t"   /* with this compilers                  */
+-    "ldr      r3, [r2]        \n\t"   /* get virtual offset from vtable       */
+-    "mov      r3, r3, lsl #16 \n\t"
+-    "add      r0, r0, r3, asr #16\n\t"
+-    "ldr      ip, [r2, #4]    \n\t"   /* get method address from vtable       */
+-    "cmp      r4, #12         \n\t"   /* more than 3 arguments???             */
+-    "ldmgtia  sp!, {r1, r2, r3}\n\t"  /* yes: load arguments for r1-r3        */
+-    "subgt    r4, r4, #12     \n\t"   /*      and correct the stack pointer   */
+-    "ldmleia  sp, {r1, r2, r3}\n\t"   /* no:  load r1-r3 from stack           */ 
+-    "addle    sp, sp, r4      \n\t"   /*      and restore stack pointer       */
+-    "movle    r4, #0          \n\t"   /*      a mark for restoring sp         */
+-    "mov      lr, pc          \n\t"   /* call mathod                          */
+-    "mov      pc, ip          \n\t"
+-    "add      sp, sp, r4      \n\t"   /* restore stack pointer                */
+-    "mov      %0, r0          \n\t"   /* the result...                        */
+-    : "=r" (result)
+-    : "r" (&my_params)
+-    : "r0", "r1", "r2", "r3", "r4", "ip", "lr"
+-    );
+-    
+-  return result;
++  vtable_func *vtable, func;
++  int base_size = (paramCount > 1) ? paramCount : 2;
++
++/* !!! IMPORTANT !!!
++ * On DEBUG builds, the NS_ASSERTION used in invoke_copy_to_stack needs to use
++ * the stack to pass the 5th argument to NS_DebugBreak. When invoke_copy_to_stack
++ * is inlined, this can result, depending on the compiler and flags, in the
++ * stack pointer not pointing at stack_space when the method is called at the
++ * end of this function. More generally, any function call requiring stack
++ * allocation of arguments is unsafe to be inlined in this function.
++ */
++  uint32_t *stack_space = (uint32_t *) __builtin_alloca(base_size * 8);
++
++  invoke_copy_to_stack(stack_space, &stack_space[base_size * 2],
++                       paramCount, params);
++
++  vtable = *reinterpret_cast<vtable_func **>(that);
++  func = vtable[methodIndex];
++
++  return func(that, stack_space[base_size * 2 - 3],
++                    stack_space[base_size * 2 - 2],
++                    stack_space[base_size * 2 - 1]);
+ }    
++
++#else /* __ARM_PCS_VFP */
++
++/* "Procedure Call Standard for the ARM Architecture" document, sections
++ * "5.5 Parameter Passing" and "6.1.2 Procedure Calling" contain all the
++ * needed information.
++ *
++ * http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042d/IHI0042D_aapcs.pdf
++ */
++
++#if defined(__thumb__) && !defined(__thumb2__)
++#error "Thumb1 is not supported"
++#endif
++
++#ifndef __ARMEL__
++#error "Only little endian compatibility was tested"
++#endif
++
++/*
++ * Allocation of integer function arguments initially to registers r1-r3
++ * and then to stack. Handling of 'this' argument which goes to r0 registers
++ * is handled separately and does not belong to these two inline functions.
++ *
++ * The doubleword arguments are allocated to even:odd
++ * register pairs or get aligned at 8-byte boundary on stack. The "holes"
++ * which may appear as a result of this realignment remain unused.
++ *
++ * 'ireg_args'  - pointer to the current position in the buffer,
++ *                corresponding to the register arguments
++ * 'stack_args' - pointer to the current position in the buffer,
++ *                corresponding to the arguments on stack
++ * 'end'        - pointer to the end of the registers argument
++ *                buffer (it is guaranteed to be 8-bytes aligned)
++ */
++
++static inline void copy_word(uint32_t* &ireg_args,
++                             uint32_t* &stack_args,
++                             uint32_t* end,
++                             uint32_t  data)
++{
++  if (ireg_args < end) {
++    *ireg_args = data;
++    ireg_args++;
++  } else {
++    *stack_args = data;
++    stack_args++;
++  }
++}
++
++static inline void copy_dword(uint32_t* &ireg_args,
++                              uint32_t* &stack_args,
++                              uint32_t* end,
++                              uint64_t  data)
++{
++  if (ireg_args + 1 < end) {
++    if ((uint32_t)ireg_args & 4) {
++      ireg_args++;
++    }
++    *(uint64_t *)ireg_args = data;
++    ireg_args += 2;
++  } else {
++    if ((uint32_t)stack_args & 4) {
++      stack_args++;
++    }
++    *(uint64_t *)stack_args = data;
++    stack_args += 2;
++  }
++}
++
++/*
++ * Allocation of floating point arguments to VFP registers (s0-s15, d0-d7).
++ *
++ * Unlike integer registers allocation, "back-filling" needs to be
++ * supported. For example, the third floating point argument in the
++ * following function is going to be allocated to s1 register, back-filling
++ * the "hole":
++ *    void f(float s0, double d1, float s1)
++ *
++ * Refer to the "Procedure Call Standard for the ARM Architecture" document
++ * for more details.
++ *
++ * 'vfp_s_args' - pointer to the current position in the buffer with
++ *                the next unallocated single precision register
++ * 'vfp_d_args' - pointer to the current position in the buffer with
++ *                the next unallocated double precision register,
++ *                it has the same value as 'vfp_s_args' when back-filling
++ *                is not used
++ * 'end'        - pointer to the end of the vfp registers argument
++ *                buffer (it is guaranteed to be 8-bytes aligned)
++ *
++ * Mozilla bugtracker has a test program attached which be used for
++ * experimenting with VFP registers allocation code and testing its
++ * correctness:
++ * https://bugzilla.mozilla.org/show_bug.cgi?id=601914#c19
++ */
++
++static inline bool copy_vfp_single(float* &vfp_s_args, double* &vfp_d_args,
++                                   float* end, float data)
++{
++  if (vfp_s_args >= end)
++    return false;
++
++  *vfp_s_args = data;
++  vfp_s_args++;
++  if (vfp_s_args < (float *)vfp_d_args) {
++    // It was the case of back-filling, now the next free single precision
++    // register should overlap with the next free double precision register
++    vfp_s_args = (float *)vfp_d_args;
++  } else if (vfp_s_args > (float *)vfp_d_args) {
++    // also update the pointer to the next free double precision register
++    vfp_d_args++;
++  }
++  return true;
++}
++
++static inline bool copy_vfp_double(float* &vfp_s_args, double* &vfp_d_args,
++                                   float* end, double data)
++{
++  if (vfp_d_args >= (double *)end) {
++    // The back-filling continues only so long as no VFP CPRC has been
++    // allocated to a slot on the stack. Basically no VFP registers can
++    // be allocated after this point.
++    vfp_s_args = end;
++    return false;
++  }
++
++  if (vfp_s_args == (float *)vfp_d_args) {
++    // also update the pointer to the next free single precision register
++    vfp_s_args += 2;
++  }
++  *vfp_d_args = data;
++  vfp_d_args++;
++  return true;
++}
++
++static void
++invoke_copy_to_stack(uint32_t* stk, uint32_t *end,
++                     uint32_t paramCount, nsXPTCVariant* s)
++{
++  uint32_t *ireg_args  = end - 3;
++  float    *vfp_s_args = (float *)end;
++  double   *vfp_d_args = (double *)end;
++  float    *vfp_end    = vfp_s_args + 16;
++
++  for (uint32_t i = 0; i < paramCount; i++, s++) {
++    if (s->IsPtrData()) {
++      copy_word(ireg_args, stk, end, (uint32_t)s->ptr);
++      continue;
++    }
++    // According to the ARM EABI, integral types that are smaller than a word
++    // are to be sign/zero-extended to a full word and treated as 4-byte values
++    switch (s->type)
++    {
++      case nsXPTType::T_FLOAT:
++        if (!copy_vfp_single(vfp_s_args, vfp_d_args, vfp_end, s->val.f)) {
++          copy_word(end, stk, end, reinterpret_cast<uint32_t&>(s->val.f));
++        }
++        break;
++      case nsXPTType::T_DOUBLE:
++        if (!copy_vfp_double(vfp_s_args, vfp_d_args, vfp_end, s->val.d)) {
++          copy_dword(end, stk, end, reinterpret_cast<uint64_t&>(s->val.d));
++        }
++        break;
++      case nsXPTType::T_I8:  copy_word(ireg_args, stk, end, s->val.i8);   break;
++      case nsXPTType::T_I16: copy_word(ireg_args, stk, end, s->val.i16);  break;
++      case nsXPTType::T_I32: copy_word(ireg_args, stk, end, s->val.i32);  break;
++      case nsXPTType::T_I64: copy_dword(ireg_args, stk, end, s->val.i64); break;
++      case nsXPTType::T_U8:  copy_word(ireg_args, stk, end, s->val.u8);   break;
++      case nsXPTType::T_U16: copy_word(ireg_args, stk, end, s->val.u16);  break;
++      case nsXPTType::T_U32: copy_word(ireg_args, stk, end, s->val.u32);  break;
++      case nsXPTType::T_U64: copy_dword(ireg_args, stk, end, s->val.u64); break;
++      case nsXPTType::T_BOOL: copy_word(ireg_args, stk, end, s->val.b);   break;
++      case nsXPTType::T_CHAR: copy_word(ireg_args, stk, end, s->val.c);   break;
++      case nsXPTType::T_WCHAR: copy_word(ireg_args, stk, end, s->val.wc); break;
++      default:
++        // all the others are plain pointer types
++        copy_word(ireg_args, stk, end, reinterpret_cast<uint32_t>(s->val.p));
++        break;
++    }
++  }
++}
++
++typedef uint32_t (*vtable_func)(nsISupports *, uint32_t, uint32_t, uint32_t);
++
++EXPORT_XPCOM_API(nsresult)
++NS_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
++                   uint32_t paramCount, nsXPTCVariant* params)
++{
++  vtable_func *vtable = *reinterpret_cast<vtable_func **>(that);
++  vtable_func func = vtable[methodIndex];
++  // 'register uint32_t result asm("r0")' could be used here, but it does not
++  //  seem to be reliable in all cases: http://gcc.gnu.org/PR46164
++  nsresult result;
++  asm (
++    "mov    r3, sp\n"
++    "mov    %[stack_space_size], %[param_count_plus_2], lsl #3\n"
++    "tst    r3, #4\n" /* check stack alignment */
++
++    "add    %[stack_space_size], #(4 * 16)\n" /* space for VFP registers */
++    "mov    r3, %[params]\n"
++
++    "it     ne\n"
++    "addne  %[stack_space_size], %[stack_space_size], #4\n"
++    "sub    r0, sp, %[stack_space_size]\n" /* allocate space on stack */
++
++    "sub    r2, %[param_count_plus_2], #2\n"
++    "mov    sp, r0\n"
++
++    "add    r1, r0, %[param_count_plus_2], lsl #3\n"
++    "blx    %[invoke_copy_to_stack]\n"
++
++    "add    ip, sp, %[param_count_plus_2], lsl #3\n"
++    "mov    r0, %[that]\n"
++    "ldmdb  ip, {r1, r2, r3}\n"
++    "vldm   ip, {d0, d1, d2, d3, d4, d5, d6, d7}\n"
++    "blx    %[func]\n"
++
++    "add    sp, sp, %[stack_space_size]\n" /* cleanup stack */
++    "mov    %[stack_space_size], r0\n" /* it's actually 'result' variable */
++    : [stack_space_size]     "=&r" (result)
++    : [func]                 "r"   (func),
++      [that]                 "r"   (that),
++      [params]               "r"   (params),
++      [param_count_plus_2]   "r"   (paramCount + 2),
++      [invoke_copy_to_stack] "r"   (invoke_copy_to_stack)
++    : "cc", "memory",
++      // Mark all the scratch registers as clobbered because they may be
++      // modified by the functions, called from this inline assembly block
++      "r0", "r1", "r2", "r3", "ip", "lr",
++      "d0",  "d1",  "d2",  "d3",  "d4",  "d5",  "d6",  "d7",
++      // Also unconditionally mark d16-d31 registers as clobbered even though
++      // they actually don't exist in vfpv2 and vfpv3-d16 variants. There is
++      // no way to identify VFP variant using preprocessor at the momemnt
++      // (see http://gcc.gnu.org/PR46128 for more details), but fortunately
++      // current versions of gcc do not seem to complain about these registers
++      // even when this code is compiled with '-mfpu=vfpv3-d16' option.
++      // If gcc becomes more strict in the future and/or provides a way to
++      // identify VFP variant, the following d16-d31 registers list needs
++      // to be wrapped into some #ifdef
++      "d16", "d17", "d18", "d19", "d20", "d21", "d22", "d23",
++      "d24", "d25", "d26", "d27", "d28", "d29", "d30", "d31"
++  );
++  return result;
++}
++
++#endif
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__mips.S
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__mips.S:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__mips.S       Thu Apr 27 13:38:19 2017
@@ -0,0 +1,52 @@
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__mips.S,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_mips.S.orig   2016-04-07 21:33:35.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_mips.S
+@@ -16,6 +16,47 @@
+ #include <sys/asm.h>
+ #endif
+ 
++#ifdef __NetBSD__
++# include <machine/regdef.h>
++# include <machine/asm.h>
++# ifndef fp
++#  define      fp      s8
++# endif
++# ifndef PTRLOG
++#  if SZREG == 4
++#   define     PTRLOG  2
++#  else
++#   define     PTRLOG  3
++#  endif
++# endif
++# ifndef SETUP_GP
++#  if defined(__mips_o32)
++#   define     SETUP_GP        \
++               .set push;      \
++               .set noreorder; \
++               .cpload t9;     \
++               .set pop
++#   define     SAVE_GP(x)      \
++               .cprestore x
++#  else
++#   define     SETUP_GP
++#   define     SAVE_GP(x)
++#  endif
++# endif
++# ifndef ALSZ
++#  if defined(__mips_n32) || defined(__mips_n64)
++#   define     ALSZ    15
++#   define     ALMASK  ~15
++#  else
++#   define     ALSZ    7
++#   define     ALMASK  ~7
++#  endif
++# endif
++#else
++# include <sys/regdef.h>
++# include <sys/asm.h>
++#endif
++
+ # NARGSAVE is the argument space in the callers frame, including extra
+ # 'shadowed' space for the argument registers. The minimum of 4
+ # argument slots is sometimes predefined in the header files.
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s        Thu Apr 27 13:38:19 2017
@@ -0,0 +1,25 @@
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_ppc_netbsd.s.orig     2016-04-07 21:33:35.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_ppc_netbsd.s
+@@ -20,15 +20,15 @@
+                     
+         .section ".text"
+       .align 2
+-      .globl XPTC_InvokeByIndex
+-      .type  XPTC_InvokeByIndex,@function
++      .globl NS_InvokeByIndex_P
++      .type  NS_InvokeByIndex_P,@function
+ 
+ #
+-# XPTC_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
+-#                    uint32_t paramCount, nsXPTCVariant* params)
++# NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
++#                    PRUint32 paramCount, nsXPTCVariant* params)
+ #
+ 
+-XPTC_InvokeByIndex:
++NS_InvokeByIndex_P:
+       stwu    sp,-32(sp)                      # setup standard stack frame
+       mflr    r0                              # save LR
+       stw     r3,8(sp)                        # r3 <= that
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__gcc__x86__unix.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__gcc__x86__unix.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__gcc__x86__unix.cpp        Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__gcc__x86__unix.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_gcc_x86_unix.cpp.orig     2016-04-07 21:33:35.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_gcc_x86_unix.cpp
+@@ -9,7 +9,7 @@
+ #include "xptc_gcc_x86_unix.h"
+ 
+ extern "C" {
+-static void ATTRIBUTE_USED __attribute__ ((regparm(3)))
++void ATTRIBUTE_USED __attribute__ ((regparm(3)))
+ invoke_copy_to_stack(uint32_t paramCount, nsXPTCVariant* s, uint32_t* d)
+ {
+     for(uint32_t i = paramCount; i >0; i--, d++, s++)
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp  Thu Apr 27 13:38:19 2017
@@ -0,0 +1,75 @@
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_netbsd_m68k.cpp.orig      2016-04-07 21:33:35.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_netbsd_m68k.cpp
+@@ -100,6 +100,15 @@ extern "C" {
+     }
+ }
+ 
++/*
++ * SYMBOL PREFIX must be "_" for aout symbols and "" for ELF
++ */
++#ifndef __ELF__
++#define       SYMBOLPREFIX    "_"
++#else
++#define       SYMBOLPREFIX
++#endif
++
+ XPTC_PUBLIC_API(nsresult)
+ XPTC_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
+                    uint32_t paramCount, nsXPTCVariant* params)
+@@ -107,30 +116,30 @@ XPTC_InvokeByIndex(nsISupports* that, ui
+     uint32_t result;
+ 
+  __asm__ __volatile__(
+-    "movl  %4, sp@-\n\t"
+-    "movl  %3, sp@-\n\t"
+-    "jbsr  _invoke_count_words\n\t"     /* count words */
+-    "addql #8, sp\n\t"
+-    "lsll  #2, d0\n\t"      /* *= 4 */
+-    "movl  sp, a2\n\t"            /* save original sp */
+-    "subl  d0, sp\n\t"      /* make room for params */
+-    "movl  sp, a0\n\t"
+-    "movl  %4, sp@-\n\t"
+-    "movl  %3, sp@-\n\t"
+-    "movl  a0, sp@-\n\t"
+-    "jbsr  _invoke_copy_to_stack\n\t"   /* copy params */
+-    "addl  #12, sp\n\t"
+-    "movl  %1, a0\n\t"
+-    "movl  a0@, a1\n\t"
+-    "movl  %2, d0\n\t"      /* function index */
+-    "movl  a0, d1\n\t"
+-    "movw  a1@(8,d0:l:8), a0\n\t"
+-    "addl  a0, d1\n\t"
+-    "movl  a1@(12,d0:l:8), a1\n\t"
+-    "movl  d1, sp@-\n\t"
+-    "jbsr  a1@\n\t"
+-    "movl  a2, sp\n\t"            /* restore original sp */
+-    "movl  d0, %0\n\t"
++    "movl  %4, %%sp@-\n\t"
++    "movl  %3, %%sp@-\n\t"
++    "jbsr  "SYMBOLPREFIX"invoke_count_words\n\t"     /* count words */
++    "addql #8, %%sp\n\t"
++    "lsll  #2, %%d0\n\t"      /* *= 4 */
++    "movl  %%sp, %%a2\n\t"         /* save original sp */
++    "subl  %%d0, %%sp\n\t"      /* make room for params */
++    "movl  %%sp, %%a0\n\t"
++    "movl  %4, %%sp@-\n\t"
++    "movl  %3, %%sp@-\n\t"
++    "movl  %%a0, %%sp@-\n\t"
++    "jbsr  "SYMBOLPREFIX"invoke_copy_to_stack\n\t"   /* copy params */
++    "addl  #12, %%sp\n\t"
++    "movl  %1, %%a0\n\t"
++    "movl  %%a0@, %%a1\n\t"
++    "movl  %2, %%d0\n\t"      /* function index */
++    "movl  %%a0, %%d1\n\t"
++    "movw  %%a1@(8,%%d0:l:8), %%a0\n\t"
++    "addl  %%a0, %%d1\n\t"
++    "movl  %%a1@(12,%%d0:l:8), %%a1\n\t"
++    "movl  %%d1, %%sp@-\n\t"
++    "jbsr  %%a1@\n\t"
++    "movl  %%a2, %%sp\n\t"         /* restore original sp */
++    "movl  %%d0, %0\n\t"
+     : "=g" (result)         /* %0 */
+     : "g" (that),           /* %1 */
+       "g" (methodIndex),    /* %2 */
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp   Thu Apr 27 13:38:19 2017
@@ -0,0 +1,47 @@
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_ppc_netbsd.cpp.orig       2016-04-07 21:33:35.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_ppc_netbsd.cpp
+@@ -5,9 +5,9 @@
+ 
+ // Platform specific code to invoke XPCOM methods on native objects
+ 
+-// The purpose of XPTC_InvokeByIndex() is to map a platform
++// The purpose of NS_InvokeByIndex_P() is to map a platform
+ // indepenpent call to the platform ABI. To do that,
+-// XPTC_InvokeByIndex() has to determine the method to call via vtable
++// NS_InvokeByIndex_P() has to determine the method to call via vtable
+ // access. The parameters for the method are read from the
+ // nsXPTCVariant* and prepared for the native ABI.  For the Linux/PPC
+ // ABI this means that the first 8 integral and floating point
+@@ -72,8 +72,10 @@ invoke_copy_to_stack(uint32_t* d,
+                 if ((uint32_t) d & 4) d++; // doubles are 8-byte aligned on stack
+                 *((double*) d) = s->val.d;
+                 d += 2;
++#if __GXX_ABI_VERSION < 100
+               if (gpr < GPR_COUNT)
+                   gpr += 2;
++#endif
+             }
+         }
+         else if (!s->IsPtrData() && s->type == nsXPTType::T_FLOAT) {
+@@ -82,8 +84,10 @@ invoke_copy_to_stack(uint32_t* d,
+             else {
+                 *((float*) d) = s->val.f;
+               d += 1;
++#if __GXX_ABI_VERSION < 100
+               if (gpr < GPR_COUNT)
+                   gpr += 1;
++#endif
+           }
+         }
+         else if (!s->IsPtrData() && (s->type == nsXPTType::T_I64
+@@ -110,6 +114,6 @@ invoke_copy_to_stack(uint32_t* d,
+ }
+ 
+ extern "C"
+-XPTC_PUBLIC_API(nsresult)
+-XPTC_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
++EXPORT_XPCOM_API(nsresult)
++NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
+                    uint32_t paramCount, nsXPTCVariant* params);
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp       Thu Apr 27 13:38:19 2017
@@ -0,0 +1,89 @@
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_sparc64_netbsd.cpp.orig   2016-04-17 13:47:46.349377857 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_sparc64_netbsd.cpp
+@@ -0,0 +1,84 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
++ *
++ * The contents of this file are subject to the Netscape Public
++ * License Version 1.1 (the "License"); you may not use this file
++ * except in compliance with the License. You may obtain a copy of
++ * the License at http://www.mozilla.org/NPL/
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ * The Original Code is mozilla.org code.
++ *
++ * The Initial Developer of the Original Code is Netscape
++ * Communications Corporation.  Portions created by Netscape are
++ * Copyright (C) 1998 Netscape Communications Corporation. All
++ * Rights Reserved.
++ *
++ * Contributor(s): 
++ */
++
++/* Platform specific code to invoke XPCOM methods on native objects */
++
++#include "xptcprivate.h"
++
++#if !defined(__sparc64__) && !defined(_LP64)
++#error "This code is for Sparc64 only"
++#endif
++
++extern "C" PRUint32
++invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s)
++{
++  /*
++    We need to copy the parameters for this function to locals and use them
++    from there since the parameters occupy the same stack space as the stack
++    we're trying to populate.
++  */
++  PRUint64 *l_d = d;
++  nsXPTCVariant *l_s = s;
++  PRUint64 l_paramCount = paramCount;
++  PRUint64 regCount = 0;  // return the number of registers to load from the stack
++
++  for(PRUint64 i = 0; i < l_paramCount; i++, l_d++, l_s++)
++  {
++    if (regCount < 5) regCount++;
++
++    if (l_s->IsPtrData())
++    {
++      *l_d = (PRUint64)l_s->ptr;
++      continue;
++    }
++    switch (l_s->type)
++    {
++      case nsXPTType::T_I8    : *((PRInt64*)l_d)     = l_s->val.i8;    break;
++      case nsXPTType::T_I16   : *((PRInt64*)l_d)     = l_s->val.i16;   break;
++      case nsXPTType::T_I32   : *((PRInt64*)l_d)     = l_s->val.i32;   break;
++      case nsXPTType::T_I64   : *((PRInt64*)l_d)     = l_s->val.i64;   break;
++      
++      case nsXPTType::T_U8    : *((PRUint64*)l_d)    = l_s->val.u8;    break;
++      case nsXPTType::T_U16   : *((PRUint64*)l_d)    = l_s->val.u16;   break;
++      case nsXPTType::T_U32   : *((PRUint64*)l_d)    = l_s->val.u32;   break;
++      case nsXPTType::T_U64   : *((PRUint64*)l_d)    = l_s->val.u64;   break;
++
++      /* in the case of floats, we want to put the bits in to the
++         64bit space right justified... floats in the paramter array on
++         sparcv9 use odd numbered registers.. %f1, %f3, so we have to skip
++         the space that would be occupied by %f0, %f2, etc.
++      */
++      case nsXPTType::T_FLOAT : *(((float*)l_d) + 1) = l_s->val.f;     break;
++      case nsXPTType::T_DOUBLE: *((double*)l_d)      = l_s->val.d;     break;
++      case nsXPTType::T_BOOL  : *((PRInt64*)l_d)      = l_s->val.b;     break;
++      case nsXPTType::T_CHAR  : *((PRUint64*)l_d)    = l_s->val.c;     break;
++      case nsXPTType::T_WCHAR : *((PRInt64*)l_d)     = l_s->val.wc;    break;
++
++      default:
++        // all the others are plain pointer types
++        *((void**)l_d) = l_s->val.p;
++        break;
++    }
++  }
++  
++  return regCount;
++}
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__arm__netbsd.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__arm__netbsd.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__arm__netbsd.cpp    Thu Apr 27 13:38:19 2017
@@ -0,0 +1,217 @@
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__arm__netbsd.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_arm_netbsd.cpp.orig        2016-04-07 21:33:35.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_arm_netbsd.cpp
+@@ -6,15 +6,32 @@
+ /* Implement shared vtbl methods. */
+ 
+ #include "xptcprivate.h"
++#include "xptiprivate.h"
+ 
+-nsresult ATTRIBUTE_USED
++/* Specify explicitly a symbol for this function, don't try to guess the c++ mangled symbol.  */
++static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32_t methodIndex, uint32_t* args) asm("_PrepareAndDispatch")
++ATTRIBUTE_USED;
++
++#ifdef __ARM_EABI__
++#define DOUBLEWORD_ALIGN(p) ((uint32_t *)((((uint32_t)(p)) + 7) & 0xfffffff8))
++#else
++#define DOUBLEWORD_ALIGN(p) (p)
++#endif
++
++// Apple's iOS toolchain is lame and does not support .cfi directives.
++#ifdef __APPLE__
++#define CFI(str)
++#else
++#define CFI(str) str
++#endif
++
++static nsresult
+ PrepareAndDispatch(nsXPTCStubBase* self, uint32_t methodIndex, uint32_t* args)
+ {
+ #define PARAM_BUFFER_COUNT     16
+ 
+     nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
+     nsXPTCMiniVariant* dispatchParams = nullptr;
+-    nsIInterfaceInfo* iface_info = nullptr;
+     const nsXPTMethodInfo* info;
+     uint8_t paramCount;
+     uint8_t i;
+@@ -22,12 +39,7 @@ PrepareAndDispatch(nsXPTCStubBase* self,
+ 
+     NS_ASSERTION(self,"no self");
+ 
+-    self->GetInterfaceInfo(&iface_info);
+-    NS_ASSERTION(iface_info,"no interface info");
+-
+-    iface_info->GetMethodInfo(uint16_t(methodIndex), &info);
+-    NS_ASSERTION(info,"no interface info");
+-
++    self->mEntry->GetMethodInfo(uint16_t(methodIndex), &info);
+     paramCount = info->GetParamCount();
+ 
+     // setup variant array pointer
+@@ -55,13 +67,16 @@ PrepareAndDispatch(nsXPTCStubBase* self,
+         case nsXPTType::T_I8     : dp->val.i8  = *((int8_t*)  ap);       break;
+         case nsXPTType::T_I16    : dp->val.i16 = *((int16_t*) ap);       break;
+         case nsXPTType::T_I32    : dp->val.i32 = *((int32_t*) ap);       break;
+-        case nsXPTType::T_I64    : dp->val.i64 = *((int64_t*) ap); ap++; break;
++        case nsXPTType::T_I64    : ap = DOUBLEWORD_ALIGN(ap);
++                                 dp->val.i64 = *((int64_t*) ap); ap++; break;
+         case nsXPTType::T_U8     : dp->val.u8  = *((uint8_t*) ap);       break;
+         case nsXPTType::T_U16    : dp->val.u16 = *((uint16_t*)ap);       break;
+         case nsXPTType::T_U32    : dp->val.u32 = *((uint32_t*)ap);       break;
+-        case nsXPTType::T_U64    : dp->val.u64 = *((uint64_t*)ap); ap++; break;
++        case nsXPTType::T_U64    : ap = DOUBLEWORD_ALIGN(ap);
++                                 dp->val.u64 = *((uint64_t*)ap); ap++; break;
+         case nsXPTType::T_FLOAT  : dp->val.f   = *((float*)   ap);       break;
+-        case nsXPTType::T_DOUBLE : dp->val.d   = *((double*)  ap); ap++; break;
++        case nsXPTType::T_DOUBLE : ap = DOUBLEWORD_ALIGN(ap);
++                                 dp->val.d   = *((double*)  ap); ap++; break;
+         case nsXPTType::T_BOOL   : dp->val.b   = *((bool*)  ap);       break;
+         case nsXPTType::T_CHAR   : dp->val.c   = *((char*)    ap);       break;
+         case nsXPTType::T_WCHAR  : dp->val.wc  = *((wchar_t*) ap);       break;
+@@ -71,9 +86,7 @@ PrepareAndDispatch(nsXPTCStubBase* self,
+         }
+     }
+ 
+-    result = self->CallMethod((uint16_t)methodIndex, info, dispatchParams);
+-
+-    NS_RELEASE(iface_info);
++    result = self->mOuter->CallMethod((uint16_t)methodIndex, info, dispatchParams);
+ 
+     if(dispatchParams != paramBuffer)
+         delete [] dispatchParams;
+@@ -82,26 +95,114 @@ PrepareAndDispatch(nsXPTCStubBase* self,
+ }
+ 
+ /*
+- * These stubs move just move the values passed in registers onto the stack,
+- * so they are contiguous with values passed on the stack, and then calls
+- * PrepareAndDispatch() to do the dirty work.
++ * This is our shared stub.
++ *
++ * r0 = Self.
++ *
++ * The Rules:
++ *   We pass an (undefined) number of arguments into this function.
++ *   The first 3 C++ arguments are in r1 - r3, the rest are built
++ *   by the calling function on the stack.
++ *
++ *   We are allowed to corrupt r0 - r3, ip, and lr.
++ *
++ * Other Info:
++ *   We pass the stub number in using `ip'.
++ *
++ * Implementation:
++ * - We save r1 to r3 inclusive onto the stack, which will be
++ *   immediately below the caller saved arguments.
++ * - setup r2 (PrepareAndDispatch's args pointer) to point at
++ *   the base of all these arguments
++ * - Save LR (for the return address)
++ * - Set r1 (PrepareAndDispatch's methodindex argument) from ip
++ * - r0 is passed through (self)
++ * - Call PrepareAndDispatch
++ * - When the call returns, we return by loading the PC off the
++ *   stack, and undoing the stack (one instruction)!
++ *
+  */
++__asm__ ("\n"
++         ".text\n"
++         ".align 2\n"
++         "SharedStub:\n"
++         CFI(".cfi_startproc\n")
++         "stmfd       sp!, {r1, r2, r3}\n"
++         CFI(".cfi_def_cfa_offset 12\n")
++         CFI(".cfi_offset r3, -4\n")
++         CFI(".cfi_offset r2, -8\n")
++         CFI(".cfi_offset r1, -12\n")
++         "mov r2, sp\n"
++         "str lr, [sp, #-4]!\n"
++         CFI(".cfi_def_cfa_offset 16\n")
++         CFI(".cfi_offset lr, -16\n")
++         "mov r1, ip\n"
++         "bl  _PrepareAndDispatch\n"
++         "ldr pc, [sp], #16\n"
++         CFI(".cfi_endproc\n"));
++
++/*
++ * Create sets of stubs to call the SharedStub.
++ * We don't touch the stack here, nor any registers, other than IP.
++ * IP is defined to be corruptable by a called function, so we are
++ * safe to use it.
++ *
++ * This will work with or without optimisation.
++ */
++
++/*
++ * Note : As G++3 ABI contains the length of the functionname in the
++ *  mangled name, it is difficult to get a generic assembler mechanism like
++ *  in the G++ 2.95 case.
++ *  Create names would be like :
++ *    _ZN14nsXPTCStubBase5Stub9Ev
++ *    _ZN14nsXPTCStubBase6Stub13Ev
++ *    _ZN14nsXPTCStubBase7Stub144Ev
++ *  Use the assembler directives to get the names right...
++ */
++
++#define STUB_ENTRY(n)                                         \
++  __asm__(                                                    \
++      ".section \".text\"\n"                                  \
++"     .align 2\n"                                             \
++"     .iflt ("#n" - 10)\n"                                    \
++"     .globl  _ZN14nsXPTCStubBase5Stub"#n"Ev\n"               \
++"     .type   _ZN14nsXPTCStubBase5Stub"#n"Ev,#function\n"     \
++"_ZN14nsXPTCStubBase5Stub"#n"Ev:\n"                           \
++"     .else\n"                                                \
++"     .iflt  ("#n" - 100)\n"                                  \
++"     .globl  _ZN14nsXPTCStubBase6Stub"#n"Ev\n"               \
++"     .type   _ZN14nsXPTCStubBase6Stub"#n"Ev,#function\n"     \
++"_ZN14nsXPTCStubBase6Stub"#n"Ev:\n"                           \
++"     .else\n"                                                \
++"     .iflt ("#n" - 1000)\n"                                  \
++"     .globl  _ZN14nsXPTCStubBase7Stub"#n"Ev\n"               \
++"     .type   _ZN14nsXPTCStubBase7Stub"#n"Ev,#function\n"     \
++"_ZN14nsXPTCStubBase7Stub"#n"Ev:\n"                           \
++"     .else\n"                                                \
++"     .err \"stub number "#n"> 1000 not yet supported\"\n"    \
++"     .endif\n"                                               \
++"     .endif\n"                                               \
++"     .endif\n"                                               \
++"     mov     ip, #"#n"\n"                                    \
++"     b       SharedStub\n\t");
++
++#if 0
++/*
++ * This part is left in as comment : this is how the method definition
++ * should look like.
++ */
++
++#define STUB_ENTRY(n)  \
++nsresult nsXPTCStubBase::Stub##n ()  \
++{ \
++  __asm__ (                           \
++"     mov     ip, #"#n"\n"                                    \
++"     b       SharedStub\n\t");                               \
++  return 0; /* avoid warnings */                                \
++}
++#endif
+ 
+-#define STUB_ENTRY(n)                                                 \
+-__asm__(                                                              \
+-    ".global  _Stub"#n"__14nsXPTCStubBase\n\t"                        \
+-"_Stub"#n"__14nsXPTCStubBase:\n\t"                                    \
+-    "stmfd    sp!, {r1, r2, r3}       \n\t"                           \
+-    "mov      ip, sp                  \n\t"                           \
+-    "stmfd    sp!, {fp, ip, lr, pc}   \n\t"                           \
+-    "sub      fp, ip, #4              \n\t"                           \
+-    "mov      r1, #"#n"               \n\t"    /* = methodIndex       */ \
+-    "add      r2, sp, #16             \n\t"                           \
+-    "bl               _PrepareAndDispatch__FP14nsXPTCStubBaseUiPUi   \n\t"    \
+-    "ldmea    fp, {fp, sp, lr}        \n\t"                           \
+-    "add      sp, sp, #12             \n\t"                           \
+-    "mov      pc, lr                  \n\t"                           \
+-);
+ 
+ #define SENTINEL_ENTRY(n) \
+ nsresult nsXPTCStubBase::Sentinel##n() \
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__mips.S
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__mips.S:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__mips.S        Thu Apr 27 13:38:19 2017
@@ -0,0 +1,52 @@
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__mips.S,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_asm_mips.S.orig    2016-04-07 21:33:35.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_asm_mips.S
+@@ -14,6 +14,47 @@
+ #include <sys/asm.h>
+ #endif
+ 
++#ifdef __NetBSD__
++# include <machine/regdef.h>
++# include <machine/asm.h>
++# ifndef fp
++#  define      fp      s8
++# endif
++# ifndef PTRLOG
++#  if SZREG == 4
++#   define     PTRLOG  2
++#  else
++#   define     PTRLOG  3
++#  endif
++# endif
++# ifndef SETUP_GP
++#  if defined(__mips_o32)
++#   define     SETUP_GP        \
++               .set push;      \
++               .set noreorder; \
++               .cpload t9;     \
++               .set pop
++#   define     SAVE_GP(x)      \
++               .cprestore x
++#  else
++#   define     SETUP_GP
++#   define     SAVE_GP(x)
++#  endif
++# endif
++# ifndef ALSZ
++#  if defined(__mips_n32) || defined(__mips_n64)
++#   define     ALSZ    15
++#   define     ALMASK  ~15
++#  else
++#   define     ALSZ    7
++#   define     ALMASK  ~7
++#  endif
++# endif
++#else
++# include <sys/regdef.h>
++# include <sys/asm.h>
++#endif
++
+ # NARGSAVE is the argument space in the callers frame, including extra
+ # 'shadowed' space for the argument registers. The minimum of 4
+ # argument slots is sometimes predefined in the header files.
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__sparc64__netbsd.s
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__sparc64__netbsd.s:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__sparc64__netbsd.s     Thu Apr 27 13:38:19 2017
@@ -0,0 +1,71 @@
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__sparc64__netbsd.s,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_asm_sparc64_netbsd.s.orig  2016-04-17 13:47:46.350069203 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_asm_sparc64_netbsd.s
+@@ -0,0 +1,66 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
++ *
++ * The contents of this file are subject to the Netscape Public
++ * License Version 1.1 (the "License"); you may not use this file
++ * except in compliance with the License. You may obtain a copy of
++ * the License at http://www.mozilla.org/NPL/
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ * The Original Code is mozilla.org code.
++ *
++ * The Initial Developer of the Original Code is Netscape
++ * Communications Corporation.  Portions created by Netscape are
++ * Copyright (C) 1999 Netscape Communications Corporation. All
++ * Rights Reserved.
++ *
++ * Contributor(s): 
++ */
++
++        .global SharedStub
++
++/*
++    in the frame for the function that called SharedStub are the
++    rest of the parameters we need
++
++*/
++
++SharedStub:
++! we don't create a new frame yet, but work within the frame of the calling
++! function to give ourselves the other parameters we want
++
++      mov     %o0, %o1               ! shuffle the index up to 2nd place
++      mov     %i0, %o0               ! the original 'this'
++      add     %fp, 0x7ff + 136, %o2  ! previous stack top adjusted to the first argument slot (beyond 'this')
++
++! save off the original incoming parameters that arrived in 
++! registers, the ABI guarantees the space for us to do this
++      stx     %i1, [%fp + 0x7ff + 136]
++      stx     %i2, [%fp + 0x7ff + 144]
++      stx     %i3, [%fp + 0x7ff + 152]
++      stx     %i4, [%fp + 0x7ff + 160]
++      stx     %i5, [%fp + 0x7ff + 168]
++! now we can build our own stack frame
++      save    %sp,-(128 + 64),%sp    ! room for the register window and
++                                     ! struct pointer, rounded up to 0 % 64
++! our function now appears to have been called
++! as SharedStub(nsISupports* that, PRUint32 index, PRUint32* args)
++! so we can just copy these through
++
++      mov     %i0, %o0
++      mov     %i1, %o1
++      mov     %i2, %o2
++      call    PrepareAndDispatch
++       nop
++      mov     %o0,%i0             ! propagate return value
++      b .LL1
++       nop
++.LL1:
++      ret
++       restore
++
++       .size  SharedStub, .-SharedStub
++       .type  SharedStub, #function
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__gcc__x86__unix.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__gcc__x86__unix.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__gcc__x86__unix.cpp Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__gcc__x86__unix.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_gcc_x86_unix.cpp.orig      2016-04-07 21:33:35.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_gcc_x86_unix.cpp
+@@ -10,7 +10,7 @@
+ #include "xptc_gcc_x86_unix.h"
+ 
+ extern "C" {
+-static nsresult ATTRIBUTE_USED
++nsresult ATTRIBUTE_USED
+ __attribute__ ((regparm (3)))
+ PrepareAndDispatch(uint32_t methodIndex, nsXPTCStubBase* self, uint32_t* args)
+ {
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__netbsd__m68k.cpp
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__netbsd__m68k.cpp:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__netbsd__m68k.cpp   Thu Apr 27 13:38:19 2017
@@ -0,0 +1,41 @@
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__netbsd__m68k.cpp,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_netbsd_m68k.cpp.orig       2016-04-07 21:33:35.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_netbsd_m68k.cpp
+@@ -91,17 +91,27 @@ extern "C" {
+     }
+ }
+ 
++/*
++ * Beware: use % instead of %% for register identifiers in a preprocessor macro
++ * SYMBOL PREFIX must be "_" for aout and "" for ELF 
++ */
++#ifndef       __ELF__
++#define       SYMBOLPREFIX    "_"
++#else
++#define       SYMBOLPREFIX
++#endif
++
+ #define STUB_ENTRY(n)                                                 \
+ __asm__(                                                              \
+-    ".global  _Stub"#n"__14nsXPTCStubBase\n\t"                        \
+-"_Stub"#n"__14nsXPTCStubBase:\n\t"                                    \
+-    "link  a6,#0                      \n\t"                           \
+-    "lea   a6@(12), a0                        \n\t"   /* pointer to args */   \
+-    "movl  a0, sp@-                   \n\t"                           \
+-    "movl  #"#n", sp@-                        \n\t"   /* method index */      \
+-    "movl  a6@(8), sp@-                       \n\t"   /* this */              \
+-    "jbsr  _PrepareAndDispatch                \n\t"                           \
+-    "unlk  a6                         \n\t"                           \
++    ".global   "SYMBOLPREFIX"Stub"#n"__14nsXPTCStubBase\n\t"           \
++SYMBOLPREFIX"Stub"#n"__14nsXPTCStubBase:\n\t"                          \
++    "link  %a6,#0                      \n\t"                           \
++    "lea   %a6@(12), %a0               \n\t"   /* pointer to args */   \
++    "movl  %a0, %sp@-                  \n\t"                           \
++    "movl  #"#n", %sp@-                        \n\t"   /* method index */      \
++    "movl  %a6@(8), %sp@-              \n\t"   /* this */              \
++    "jbsr  "SYMBOLPREFIX"PrepareAndDispatch\n\t"                       \
++    "unlk  %a6                         \n\t"                           \
+     "rts                              \n\t"                           \
+ );
+ 
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_xulrunner_installer_Makefile.in
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_xulrunner_installer_Makefile.in:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_xulrunner_installer_Makefile.in     Thu Apr 27 13:38:19 2017
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_xulrunner_installer_Makefile.in,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/xulrunner/installer/Makefile.in.orig       2016-04-07 21:33:35.000000000 +0000
++++ mozilla/xulrunner/installer/Makefile.in
+@@ -88,7 +88,7 @@ endif
+ 
+ install:: $(pkg_config_files)
+       @echo pkg_config_file: $(pkg_config_files)
+-      $(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(libdir)/pkgconfig
++      $(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)${PREFIX}/lib/${MOZILLA_PKG_NAME}/pkgconfig
+ 
+ GARBAGE += $(pkg_config_files)
+ 
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_xulrunner_installer_libxul-embedding.pc.in
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_xulrunner_installer_libxul-embedding.pc.in:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_xulrunner_installer_libxul-embedding.pc.in  Thu Apr 27 13:38:19 2017
@@ -0,0 +1,12 @@
+$NetBSD: patch-mozilla_xulrunner_installer_libxul-embedding.pc.in,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/xulrunner/installer/libxul-embedding.pc.in.orig    2016-04-07 21:33:35.000000000 +0000
++++ mozilla/xulrunner/installer/libxul-embedding.pc.in
+@@ -6,5 +6,6 @@ idldir=%idldir%
+ Name: libxul-embedding
+ Description: Static library for version-independent embedding of the Mozilla runtime
+ Version: %MOZILLA_VERSION%
+-Libs: -L${sdkdir}/lib -lxpcomglue -ldl
++# XXXtnn -ldl removed
++Libs: -Wl,-R${prefix}/lib/xulrunner -Wl,-R${prefix}/lib/xulrunner -Wl,-R${prefix}/lib/xulrunner -Wl,-R${prefix}/lib/xulrunner -L${prefix}/lib/xulrunner -lxpcomglue
+ Cflags: -DXPCOM_GLUE -I${includedir} %WCHAR_CFLAGS%
Index: pkgsrc/mail/thunderbird45/patches/patch-mozilla_xulrunner_installer_libxul.pc.in
diff -u /dev/null pkgsrc/mail/thunderbird45/patches/patch-mozilla_xulrunner_installer_libxul.pc.in:1.1
--- /dev/null   Thu Apr 27 13:38:19 2017
+++ pkgsrc/mail/thunderbird45/patches/patch-mozilla_xulrunner_installer_libxul.pc.in    Thu Apr 27 13:38:19 2017
@@ -0,0 +1,11 @@
+$NetBSD: patch-mozilla_xulrunner_installer_libxul.pc.in,v 1.1 2017/04/27 13:38:19 ryoon Exp $
+
+--- mozilla/xulrunner/installer/libxul.pc.in.orig      2016-04-07 21:33:35.000000000 +0000
++++ mozilla/xulrunner/installer/libxul.pc.in
+@@ -7,5 +7,5 @@ Name: libxul
+ Description: The Mozilla Runtime and Embedding Engine
+ Version: %MOZILLA_VERSION%
+ Requires: %NSPR_NAME% >= %NSPR_VERSION%
+-Libs: -L${sdkdir}/lib %MOZ_XUL_LINK%
++Libs: -Wl,-R${prefix}/lib/xulrunner -Wl,-R${prefix}/lib/xulrunner -Wl,-R${prefix}/lib/xulrunner -Wl,-R${prefix}/lib/xulrunner -L${prefix}/lib/xulrunner %MOZ_XUL_LINK%
+ Cflags: -I${includedir} %WCHAR_CFLAGS%



Home | Main Index | Thread Index | Old Index