Commit 76428989 authored by Yves-Alexis Perez's avatar Yves-Alexis Perez

New upstream version 1.9.5

parent 071b5ee6
This diff is collapsed.
......@@ -33,18 +33,22 @@ lib_libscreenshooter_la_SOURCES = \
lib/screenshooter-job-callbacks.c lib/screenshooter-job-callbacks.h \
lib/screenshooter-simple-job.c lib/screenshooter-simple-job.h \
lib/screenshooter-utils.c lib/screenshooter-utils.h \
lib/screenshooter-imgur.c lib/screenshooter-imgur.h
lib/screenshooter-imgur.c lib/screenshooter-imgur.h \
lib/screenshooter-imgur-dialog.c lib/screenshooter-imgur-dialog.h
lib_libscreenshooter_la_CFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir)/lib \
@EXO_CFLAGS@ \
@GTK_CFLAGS@ \
@GDK_CFLAGS@ \
@GDKX11_CFLAGS@ \
@GLIB_CFLAGS@ \
@LIBXFCE4UTIL_CFLAGS@ \
@LIBXFCE4UI_CFLAGS@ \
@LIBXML_CFLAGS@ \
@SOUP_CFLAGS@ \
@LIBX11_CFLAGS@ \
@XFIXES_CFLAGS@ \
-DPACKAGE_LOCALE_DIR=\"$(localedir)\"
......@@ -52,6 +56,8 @@ lib_libscreenshooter_la_LIBADD = \
-lm \
@EXO_LIBS@ \
@GTK_LIBS@ \
@GDK_LIBS@ \
@GDKX11_LIBS@ \
@LIBXFCE4UTIL_LIBS@ \
@LIBXFCE4UI_LIBS@ \
@GLIB_LIBS@ \
......@@ -59,10 +65,12 @@ lib_libscreenshooter_la_LIBADD = \
@LIBXML_LIBS@ \
@LIBXEXT_LIBS@ \
@LIBX11_LIBS@ \
@LIBX11_LDFLAGS@ \
@XFIXES_LIBS@
lib_libscreenshooter_built_sources = \
lib/screenshooter-marshal.c lib/screenshooter-marshal.h
lib/screenshooter-marshal.c lib/screenshooter-marshal.h \
lib/screenshooter-imgur-dialog_ui.h
#Autogenerated sources for the library
BUILT_SOURCES = $(lib_libscreenshooter_built_sources)
......@@ -83,27 +91,37 @@ lib/screenshooter-marshal.c: lib/screenshooter-marshal.list Makefile
&& glib-genmarshal --prefix=_screenshooter_marshal --body $(top_srcdir)/lib/screenshooter-marshal.list >>$@ \
)
lib/screenshooter-imgur-dialog_ui.h: lib/screenshooter-imgur-dialog.ui
$(AM_V_GEN) exo-csource --static --strip-comments --strip-content --name=screenshooter_imgur_dialog_ui $< >$@
# Main application
src_xfce4_screenshooter_CFLAGS = \
-I$(top_srcdir)/lib/ \
-I$(top_builddir)/lib \
@EXO_CFLAGS@ \
@GTK_CFLAGS@ \
@GDK_CFLAGS@ \
@GDKX11_CFLAGS@ \
@GLIB_CFLAGS@ \
@LIBXFCE4UTIL_CFLAGS@ \
@LIBXFCE4UI_CFLAGS@ \
@GTHREAD_CFLAGS@ \
@SOUP_CFLAGS@ \
@LIBXML_CFLAGS@ \
@LIBX11_CFLAGS@ \
-DPACKAGE_LOCALE_DIR=\"$(localedir)\"
src_xfce4_screenshooter_LDFLAGS = \
@EXO_LIBS@ \
@GTK_LIBS@ \
@GDK_LIBS@ \
@GDKX11_LIBS@ \
@GLIB_LIBS@ \
@GTHREAD_LIBS@ \
@SOUP_LIBS@ \
@LIBXML_LIBS@ \
@LIBX11_LIBS@ \
@LIBX11_LDFLAGS@ \
@LIBXFCE4UTIL_LIBS@ \
@LIBXFCE4UI_LIBS@
......@@ -111,6 +129,12 @@ src_xfce4_screenshooter_LDADD = lib/libscreenshooter.la
src_xfce4_screenshooter_SOURCES = src/main.c
# Manual file for the application
if HAVE_HELP2MAN
xfce4-screenshooter.1: src/xfce4-screenshooter
$(HELP2MAN) -o $@ --no-info $<
endif
# Desktop file for the application
app_desktopdir = $(datadir)/applications
app_desktop_in_in_files = src/xfce4-screenshooter.desktop.in.in
......@@ -139,6 +163,7 @@ panel_plugin_libscreenshooterplugin_la_CFLAGS = \
@LIBXFCE4UI_CFLAGS@ \
@GTHREAD_CFLAGS@ \
@LIBXML_CFLAGS@ \
@LIBX11_CFLAGS@ \
@SOUP_CFLAGS@
panel_plugin_libscreenshooterplugin_la_LDFLAGS = \
......@@ -154,6 +179,8 @@ panel_plugin_libscreenshooterplugin_la_LIBADD = \
@GTHREAD_LIBS@ \
@SOUP_LIBS@ \
@LIBXML_LIBS@ \
@LIBX11_LIBS@ \
@LIBX11_LDFLAGS@ \
@LIBXFCE4UI_LIBS@ \
lib/libscreenshooter.la
......@@ -214,6 +241,7 @@ EXTRA_DIST = \
intltool-merge.in \
intltool-update.in \
lib/screenshooter-marshal.list \
lib/screenshooter-imgur-dialog.ui \
$(app_desktop_in_in_files) \
$(panel_desktop_in_files) \
$(48icons_DATA) \
......@@ -229,8 +257,8 @@ DISTCLEANFILES = \
lib/stamp-screenshooter-marshal.h \
$(app_desktop_DATA) $(app_desktop_in_files) \
$(panel_desktop_DATA) \
$(appdata_DATA)
$(appdata_DATA) \
xfce4-screenshooter.1
# Man pages
dist_man_MANS = xfce4-screenshooter.1
This diff is collapsed.
=== Version 1.9.5 ===
* Bugs fixed:
- Panel plugin: allow it to save files (bug #15187)
=== Version 1.9.4 ===
* Enhancements:
- Extended save function to also take files (bug #14156, thanks to Arthur Jansen)
- Show width and height of selection area (bug #12664, thanks to Simon)
- Improved imgur dialog (bug #14973, thanks to Arthur Jansen)
- Don't save region/delay/show_mouse if region was specified from CLI
* Bugs fixed:
- React to core X input events when XInput is not available (bug #15166)
- Fix crash and properly handle cursors on HiDPI (thanks to Viktor Odintsev)
- Delay in panel plugin does not work (bug #14604)
=== Version 1.9.3 ===
* Enhancements:
- Allow user to move selection rectangle (bug #14365)
- Allow and remember 0sec delay for all regions (bug #13763)
* Bugs fixed:
- Fix clipboard action handling (Bug #14513)
- Fix clipboard action handling (bug #14513)
=== Version 1.9.2 ===
* Remove zimagez support (bug #14283)
......
This diff is collapsed.
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2016-01-11.22; # UTC
scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
......@@ -17,7 +17,7 @@ scriptversion=2016-01-11.22; # UTC
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
......@@ -340,7 +340,7 @@ exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -10,9 +10,9 @@ dnl
m4_define([xfce4_screenshooter_version_major], [1])
m4_define([xfce4_screenshooter_version_minor], [9])
m4_define([xfce4_screenshooter_version_micro], [3])
m4_define([xfce4_screenshooter_version_micro], [5])
m4_define([xfce4_screenshooter_version_nano], []) dnl leave this empty to have no nano version
m4_define([xfce4_screenshooter_version_build], [00e5a5c])
m4_define([xfce4_screenshooter_version_build], [37a344f])
m4_define([xfce4_screenshooter_version_tag], [])
m4_define([xfce4_screenshooter_version], [xfce4_screenshooter_version_major().xfce4_screenshooter_version_minor().xfce4_screenshooter_version_micro()ifelse(xfce4_screenshooter_version_nano(), [], [], [.xfce4_screenshooter_version_nano()])ifelse(xfce4_screenshooter_version_tag(), [git], [xfce4_screenshooter_version_tag()-xfce4_screenshooter_version_build()], [xfce4_screenshooter_version_tag()])])
......@@ -51,14 +51,16 @@ dnl ***********************************
dnl *** Check for required packages ***
dnl ***********************************
XDT_CHECK_PACKAGE([LIBXFCE4PANEL], [libxfce4panel-2.0], [4.12.0])
XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.10.0])
XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.12.0])
XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-2], [4.12.0])
XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.16.0])
XDT_CHECK_PACKAGE([GTK], [gtk+-3.0], [3.20.0])
XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.16.0])
XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.42.0])
XDT_CHECK_PACKAGE([GTK], [gtk+-3.0], [3.22.0])
XDT_CHECK_PACKAGE([GDK], [gdk-3.0], [3.22.0])
XDT_CHECK_PACKAGE([GDKX11], [gdk-x11-3.0], [3.22.0])
XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.42.0])
XDT_CHECK_PACKAGE([SOUP], [libsoup-2.4], [2.26.0])
XDT_CHECK_PACKAGE([LIBXML], [libxml-2.0], [2.4.0])
XDT_CHECK_PACKAGE([EXO], [exo-2], [0.11.0])
XDT_CHECK_PACKAGE([EXO], [exo-2], [0.12.0])
XDT_CHECK_PACKAGE([LIBXEXT], [xext], [1.0.0])
XDT_CHECK_OPTIONAL_PACKAGE([XFIXES], [xfixes], [4.0.0], [xfixes], [XFIXES extension support])
XDT_CHECK_LIBX11()
......@@ -68,6 +70,16 @@ dnl *** Check for i18n support ***
dnl ******************************
XDT_I18N([ar ast be bg ca cs da de el en_AU en_GB es et eu fi fr gl he hr hu id is it ja kk ko lt lv ms nb nl nn oc pa pl pt_BR pt ro ru si sk sl sq sr sv te th tr ug uk ur_PK ur vi zh_CN zh_TW ])
dnl **************************
dnl *** Check for help2man ***
dnl **************************
AC_CHECK_PROGS([HELP2MAN], [help2man])
if ! test -z "$HELP2MAN"; then
AM_CONDITIONAL([HAVE_HELP2MAN], true)
else
AM_CONDITIONAL([HAVE_HELP2MAN], false)
fi
dnl Check for debugging support
XDT_FEATURE_DEBUG()
......
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2016-01-11.22; # UTC
scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
......@@ -16,7 +16,7 @@ scriptversion=2016-01-11.22; # UTC
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
......@@ -783,7 +783,7 @@ exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
......
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2016-01-11.22; # UTC
scriptversion=2018-03-11.20; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
......@@ -271,15 +271,18 @@ do
fi
dst=$dst_arg
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
# If destination is a directory, append the input filename.
if test -d "$dst"; then
if test "$is_target_a_directory" = never; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstbase=`basename "$src"`
case $dst in
*/) dst=$dst$dstbase;;
*) dst=$dst/$dstbase;;
esac
dstdir_status=0
else
dstdir=`dirname "$dst"`
......@@ -288,6 +291,11 @@ do
fi
fi
case $dstdir in
*/) dstdirslash=$dstdir;;
*) dstdirslash=$dstdir/;;
esac
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
......@@ -324,34 +332,43 @@ do
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
# Note that $RANDOM variable is not portable (e.g. dash); Use it
# here however when possible just to lower collision chance.
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
# Because "mkdir -p" follows existing symlinks and we likely work
# directly in world-writeable /tmp, make sure that the '$tmpdir'
# directory is successfully created first before we actually test
# 'mkdir -p' feature.
if (umask $mkdir_umask &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
$mkdirprog $mkdir_mode "$tmpdir" &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
test_tmpdir="$tmpdir/a"
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/d" "$tmpdir"
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
fi
trap '' 0;;
esac;;
......@@ -427,8 +444,8 @@ do
else
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
dsttmp=${dstdirslash}_inst.$$_
rmtmp=${dstdirslash}_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
......@@ -493,7 +510,7 @@ do
done
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
......
......@@ -18,8 +18,11 @@
* */
#include "screenshooter-actions.h"
#include "screenshooter-utils.h"
#include "screenshooter-capture.h"
#include "screenshooter-global.h"
#include "screenshooter-dialogs.h"
#include "screenshooter-imgur.h"
static void
cb_help_response (GtkWidget *dialog, gint response, gpointer unused)
......@@ -33,26 +36,8 @@ cb_help_response (GtkWidget *dialog, gint response, gpointer unused)
/* Public */
gboolean screenshooter_take_screenshot_idle (ScreenshotData *sd)
{
sd->screenshot = screenshooter_take_screenshot (sd->region,
sd->delay,
sd->show_mouse,
sd->plugin);
if (sd->screenshot != NULL)
g_idle_add ((GSourceFunc) screenshooter_action_idle, sd);
else if (!sd->plugin)
gtk_main_quit ();
return FALSE;
}
gboolean screenshooter_action_idle (ScreenshotData *sd)
static gboolean
action_idle (ScreenshotData *sd)
{
if (!sd->action_specified)
{
......@@ -85,26 +70,31 @@ gboolean screenshooter_action_idle (ScreenshotData *sd)
if (sd->action & SAVE)
{
const gchar *save_location;
if (sd->screenshot_dir == NULL)
sd->screenshot_dir = screenshooter_get_xdg_image_dir_uri ();
save_location = screenshooter_save_screenshot (sd->screenshot,
sd->screenshot_dir,
sd->title,
sd->timestamp,
TRUE,
TRUE);
if (save_location)
if (!sd->path_is_dir)
screenshooter_save_screenshot_to (sd->screenshot, sd->screenshot_dir);
else
{
const gchar *temp;
g_free (sd->screenshot_dir);
temp = g_path_get_dirname (save_location);
sd->screenshot_dir = g_build_filename ("file://", temp, NULL);
TRACE ("New save directory: %s", sd->screenshot_dir);
const gchar *save_location;
if (sd->screenshot_dir == NULL)
sd->screenshot_dir = screenshooter_get_xdg_image_dir_uri ();
save_location = screenshooter_save_screenshot (sd->screenshot,
sd->screenshot_dir,
sd->title,
sd->timestamp,
TRUE,
TRUE);
if (save_location)
{
const gchar *temp;
g_free (sd->screenshot_dir);
temp = g_path_get_dirname (save_location);
sd->screenshot_dir = g_build_filename ("file://", temp, NULL);
TRACE ("New save directory: %s", sd->screenshot_dir);
}
}
}
else
......@@ -138,3 +128,54 @@ gboolean screenshooter_action_idle (ScreenshotData *sd)
return FALSE;
}
static gboolean
take_screenshot_idle (ScreenshotData *sd)
{
sd->screenshot = screenshooter_capture_screenshot (sd->region,
sd->delay,
sd->show_mouse,
sd->plugin);
if (sd->screenshot != NULL)
g_idle_add ((GSourceFunc) action_idle, sd);
else if (!sd->plugin)
gtk_main_quit ();
return FALSE;
}
/* Public */
void
screenshooter_take_screenshot (ScreenshotData *sd, gboolean immediate)
{
gint delay;
if (sd->region == SELECT)
{
/* The delay will be applied after the rectangle selection */
g_idle_add ((GSourceFunc) take_screenshot_idle, sd);
return;
}
if (sd->delay == 0 && immediate)
{
/* If delay is zero and the region was passed as an argument (from cli
* or panel plugin), thus the first dialog was not shown, we will take
* the screenshot immediately without a minimal delay */
g_idle_add ((GSourceFunc) take_screenshot_idle, sd);
return;
}
/* Await the amount of the time specified by the user before capturing the
* screenshot, but not less than 200ms, otherwise the first dialog might
* appear on the screenshot. */
delay = sd->delay == 0 ? 200 : sd->delay * 1000;
g_timeout_add (delay, (GSourceFunc) take_screenshot_idle, sd);
}
......@@ -20,13 +20,9 @@
#ifndef __HAVE_ACTIONS_H__
#define __HAVE_ACTIONS_H__
#include "screenshooter-utils.h"
#include "screenshooter-capture.h"
#include "screenshooter-global.h"
#include "screenshooter-dialogs.h"
#include "screenshooter-imgur.h"
gboolean screenshooter_take_screenshot_idle (ScreenshotData *sd);
gboolean screenshooter_action_idle (ScreenshotData *sd);
void screenshooter_take_screenshot (ScreenshotData *sd,
gboolean immediate);
#endif
This diff is collapsed.
......@@ -41,9 +41,9 @@
GdkPixbuf
*screenshooter_take_screenshot (gint region,
gint delay,
gboolean show_mouse,
gboolean plugin);
*screenshooter_capture_screenshot (gint region,
gint delay,
gboolean show_mouse,
gboolean plugin);
#endif
This diff is collapsed.
......@@ -45,8 +45,7 @@ gchar *screenshooter_save_screenshot (GdkPixbuf *screenshot,
gboolean timestamp,
gboolean save_dialog,
gboolean show_preview);
gchar *screenshooter_save_screenshot_to (GdkPixbuf *screenshot,
const gchar *save_uri);
#endif
......@@ -48,7 +48,9 @@ typedef struct
gint action;
gboolean plugin;
gboolean action_specified;
gboolean region_specified;
gboolean timestamp;
gboolean path_is_dir;
gchar *screenshot_dir;
gchar *title;
gchar *app;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -52,6 +52,7 @@ cb_update_info (ExoJob *job,
void
cb_image_uploaded (ScreenshooterJob *job,
gchar *upload_name,
gchar *delete_hash,
gchar **last_user);
void
cb_ask_for_information (ScreenshooterJob *job,
......
This diff is collapsed.
......@@ -69,7 +69,8 @@ void screenshooter_job_ask_info (ScreenshooterJob *job,
void screenshooter_job_image_uploaded (ScreenshooterJob *job,
const gchar *file_name);
const gchar *file_name,
const gchar *delete_hash);
G_END_DECLS
......
This diff is collapsed.
This diff is collapsed.
VOID:STRING
VOID:POINTER,STRING
VOID:STRING,STRING
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment