[Swfdec-commits] 17 commits - swfdec/Makefile.am swfdec/swfdec_actor.c swfdec/swfdec_actor.h swfdec/swfdec_as_object.c swfdec/swfdec_as_object.h swfdec/swfdec_as_strings.c swfdec/swfdec_audio.c swfdec/swfdec_audio_event.c swfdec/swfdec_audio_event.h swfdec/swfdec_audio_flv.c swfdec/swfdec_audio.h swfdec/swfdec_audio_internal.h swfdec/swfdec_audio_stream.c swfdec/swfdec_audio_stream.h swfdec/swfdec_player.c swfdec/swfdec_player.h swfdec/swfdec_player_internal.h swfdec/swfdec_renderer.c swfdec/swfdec_sound_matrix.c swfdec/swfdec_sound_matrix.h swfdec/swfdec_sound_object.c swfdec/swfdec_sound_object.h swfdec/swfdec_sprite_movie.c swfdec/swfdec_sprite_movie.h test/image test/trace
Benjamin Otte
company at kemper.freedesktop.org
Wed Jun 11 10:54:09 PDT 2008
swfdec/Makefile.am | 2
swfdec/swfdec_actor.c | 1
swfdec/swfdec_actor.h | 4
swfdec/swfdec_as_object.c | 9
swfdec/swfdec_as_object.h | 2
swfdec/swfdec_as_strings.c | 4
swfdec/swfdec_audio.c | 76
swfdec/swfdec_audio.h | 6
swfdec/swfdec_audio_event.c | 16
swfdec/swfdec_audio_event.h | 12
swfdec/swfdec_audio_flv.c | 10
swfdec/swfdec_audio_internal.h | 30
swfdec/swfdec_audio_stream.c | 12
swfdec/swfdec_audio_stream.h | 2
swfdec/swfdec_player.c | 11
swfdec/swfdec_player.h | 64
swfdec/swfdec_player_internal.h | 2
swfdec/swfdec_renderer.c | 3
swfdec/swfdec_sound_matrix.c | 123
swfdec/swfdec_sound_matrix.h | 56
swfdec/swfdec_sound_object.c | 127
swfdec/swfdec_sound_object.h | 2
swfdec/swfdec_sprite_movie.c | 2
swfdec/swfdec_sprite_movie.h | 2
test/image/Makefile.am | 9
test/image/setMask-matrices-5.swf |binary
test/image/setMask-matrices-5.swf.png |binary
test/image/setMask-matrices-6.swf |binary
test/image/setMask-matrices-6.swf.png |binary
test/image/setMask-matrices-7.swf |binary
test/image/setMask-matrices-7.swf.png |binary
test/image/setMask-matrices-8.swf |binary
test/image/setMask-matrices-8.swf.png |binary
test/image/setMask-matrices.as | 26
test/trace/Makefile.am | 27
test/trace/sound-set-5.swf |binary
test/trace/sound-set-5.swf.trace | 39
test/trace/sound-set-6.swf |binary
test/trace/sound-set-6.swf.trace | 39
test/trace/sound-set-7.swf |binary
test/trace/sound-set-7.swf.trace | 39
test/trace/sound-set-8.swf |binary
test/trace/sound-set-8.swf.trace | 39
test/trace/sound-set.as | 32
test/trace/sound-setTransform-propertytypes-5.swf |binary
test/trace/sound-setTransform-propertytypes-5.swf.trace | 1625 +++++++++
test/trace/sound-setTransform-propertytypes-6.swf |binary
test/trace/sound-setTransform-propertytypes-6.swf.trace | 2625 ++++++++++++++++
test/trace/sound-setTransform-propertytypes-7.swf |binary
test/trace/sound-setTransform-propertytypes-7.swf.trace | 2625 ++++++++++++++++
test/trace/sound-setTransform-propertytypes-8.swf |binary
test/trace/sound-setTransform-propertytypes-8.swf.trace | 2625 ++++++++++++++++
test/trace/sound-setTransform-propertytypes.as | 45
test/trace/sound-textfield-5.swf |binary
test/trace/sound-textfield-5.swf.trace | 3
test/trace/sound-textfield-6.swf |binary
test/trace/sound-textfield-6.swf.trace | 3
test/trace/sound-textfield-7.swf |binary
test/trace/sound-textfield-7.swf.trace | 3
test/trace/sound-textfield-8.swf |binary
test/trace/sound-textfield-8.swf.trace | 3
test/trace/sound-textfield.as | 20
62 files changed, 10307 insertions(+), 98 deletions(-)
New commits:
commit 0f6b097ec6e6e0b767f2d8049f7d11b8230454fa
Author: Benjamin Otte <otte at gnome.org>
Date: Wed Jun 11 17:58:05 2008 +0200
make sample sizes gsize instead of guint
diff --git a/swfdec/swfdec_audio.c b/swfdec/swfdec_audio.c
index db085f4..7e6f448 100644
--- a/swfdec/swfdec_audio.c
+++ b/swfdec/swfdec_audio.c
@@ -158,7 +158,7 @@ swfdec_audio_remove (SwfdecAudio *audio)
* Returns: maximum number of remaining frames. If G_MAXUINT is returned,
* then the number of frames isn't known yet.
**/
-guint
+gsize
swfdec_audio_iterate (SwfdecAudio *audio, guint n_samples)
{
SwfdecAudioClass *klass;
@@ -228,9 +228,9 @@ swfdec_audio_update_matrix (SwfdecAudio *audio)
* stream is still loading, this number may be lower. It indicates
* that no more samples are available.
**/
-guint
+gsize
swfdec_audio_render (SwfdecAudio *audio, gint16 *dest,
- guint start_offset, guint n_samples)
+ gsize start_offset, gsize n_samples)
{
SwfdecAudioClass *klass;
guint rendered;
diff --git a/swfdec/swfdec_audio.h b/swfdec/swfdec_audio.h
index 842dd92..e6b2078 100644
--- a/swfdec/swfdec_audio.h
+++ b/swfdec/swfdec_audio.h
@@ -38,10 +38,10 @@ typedef struct _SwfdecAudioClass SwfdecAudioClass;
GType swfdec_audio_get_type (void);
-guint swfdec_audio_render (SwfdecAudio * audio,
+gsize swfdec_audio_render (SwfdecAudio * audio,
gint16 * dest,
- guint start_offset,
- guint n_samples);
+ gsize start_offset,
+ gsize n_samples);
G_END_DECLS
#endif
diff --git a/swfdec/swfdec_audio_event.c b/swfdec/swfdec_audio_event.c
index 10114e4..b72494d 100644
--- a/swfdec/swfdec_audio_event.c
+++ b/swfdec/swfdec_audio_event.c
@@ -1,7 +1,7 @@
/* Swfdec
* Copyright (C) 2003-2006 David Schleef <ds at schleef.org>
* 2005-2006 Eric Anholt <eric at anholt.net>
- * 2006-2007 Benjamin Otte <otte at gnome.org>
+ * 2006-2008 Benjamin Otte <otte at gnome.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -32,8 +32,8 @@
G_DEFINE_TYPE (SwfdecAudioEvent, swfdec_audio_event, SWFDEC_TYPE_AUDIO)
-static guint
-swfdec_audio_event_iterate (SwfdecAudio *audio, guint remove)
+static gsize
+swfdec_audio_event_iterate (SwfdecAudio *audio, gsize remove)
{
SwfdecAudioEvent *event = SWFDEC_AUDIO_EVENT (audio);
@@ -78,13 +78,13 @@ swfdec_audio_event_get_envelop_volume (SwfdecAudioEvent *event, guint pos,
event->envelope[pos].volume[channel] * (offset / distance);
}
-static guint
-swfdec_audio_event_render (SwfdecAudio *audio, gint16* dest, guint start,
- guint n_samples)
+static gsize
+swfdec_audio_event_render (SwfdecAudio *audio, gint16* dest, gsize start,
+ gsize n_samples)
{
SwfdecAudioEvent *event = SWFDEC_AUDIO_EVENT (audio);
- guint offset = event->offset + start;
- guint loop, samples, global_offset, pos, i, rendered;
+ gsize offset = event->offset + start;
+ gsize loop, samples, global_offset, pos, i, rendered;
gint16 *dest_end;
if (event->n_samples == 0)
diff --git a/swfdec/swfdec_audio_event.h b/swfdec/swfdec_audio_event.h
index 6f86692..cc4dcba 100644
--- a/swfdec/swfdec_audio_event.h
+++ b/swfdec/swfdec_audio_event.h
@@ -43,16 +43,16 @@ struct _SwfdecAudioEvent
/* static data */
SwfdecSound * sound; /* sound we're playing */
- guint start_sample; /* sample at which to start playing */
- guint stop_sample; /* first sample to not play anymore or 0 for playing all */
- guint n_loops; /* amount of times this sample still needs to be played back */
+ gsize start_sample; /* sample at which to start playing */
+ gsize stop_sample; /* first sample to not play anymore or 0 for playing all */
+ gsize n_loops; /* amount of times this sample still needs to be played back */
guint n_envelopes; /* amount of points in the envelope */
SwfdecSoundEnvelope * envelope; /* volume envelope or NULL if none */
/* dynamic data */
SwfdecBuffer * decoded; /* the decoded buffer we play back or NULL if failure */
- guint offset; /* current offset in 44.1kHz */
- guint loop; /* current loop we're in */
- guint n_samples; /* length of decoded buffer in 44.1kHz samples - can be 0 */
+ gsize offset; /* current offset in 44.1kHz */
+ gsize loop; /* current loop we're in */
+ gsize n_samples; /* length of decoded buffer in 44.1kHz samples - can be 0 */
};
struct _SwfdecAudioEventClass
diff --git a/swfdec/swfdec_audio_flv.c b/swfdec/swfdec_audio_flv.c
index df00208..7b46c65 100644
--- a/swfdec/swfdec_audio_flv.c
+++ b/swfdec/swfdec_audio_flv.c
@@ -112,13 +112,13 @@ swfdec_audio_flv_decode_one (SwfdecAudioFlv *flv)
return buffer;
}
-static guint
+static gsize
swfdec_audio_flv_render (SwfdecAudio *audio, gint16* dest,
- guint start, guint n_samples)
+ gsize start, gsize n_samples)
{
SwfdecAudioFlv *flv = SWFDEC_AUDIO_FLV (audio);
GList *walk;
- guint samples, rendered;
+ gsize samples, rendered;
SwfdecBuffer *buffer;
g_assert (start < G_MAXINT);
@@ -156,8 +156,8 @@ swfdec_audio_flv_render (SwfdecAudio *audio, gint16* dest,
return rendered;
}
-static guint
-swfdec_audio_flv_iterate (SwfdecAudio *audio, guint remove)
+static gsize
+swfdec_audio_flv_iterate (SwfdecAudio *audio, gsize remove)
{
SwfdecAudioFlv *flv = SWFDEC_AUDIO_FLV (audio);
SwfdecBuffer *buffer;
diff --git a/swfdec/swfdec_audio_internal.h b/swfdec/swfdec_audio_internal.h
index 7d854f8..41ca683 100644
--- a/swfdec/swfdec_audio_internal.h
+++ b/swfdec/swfdec_audio_internal.h
@@ -48,11 +48,11 @@ struct _SwfdecAudioClass {
GObjectClass object_class;
guint (* iterate) (SwfdecAudio * audio,
- guint n_samples);
+ gsize n_samples);
guint (* render) (SwfdecAudio * audio,
gint16 * dest,
- guint start,
- guint n_samples);
+ gsize start,
+ gsize n_samples);
};
void swfdec_audio_add (SwfdecAudio * audio,
@@ -61,8 +61,8 @@ void swfdec_audio_remove (SwfdecAudio * audio);
void swfdec_audio_set_actor (SwfdecAudio * audio,
SwfdecActor * actor);
-guint swfdec_audio_iterate (SwfdecAudio * audio,
- guint n_samples);
+gsize swfdec_audio_iterate (SwfdecAudio * audio,
+ gsize n_samples);
void swfdec_audio_update_matrix (SwfdecAudio * audio);
SwfdecAudioFormat swfdec_audio_format_parse (SwfdecBits * bits);
diff --git a/swfdec/swfdec_audio_stream.c b/swfdec/swfdec_audio_stream.c
index ba781f5..e116d9e 100644
--- a/swfdec/swfdec_audio_stream.c
+++ b/swfdec/swfdec_audio_stream.c
@@ -75,13 +75,13 @@ swfdec_audio_stream_require (SwfdecAudioStream *stream, guint n_samples)
}
}
-static guint
+static gsize
swfdec_audio_stream_render (SwfdecAudio *audio, gint16* dest,
- guint start, guint n_samples)
+ gsize start, gsize n_samples)
{
SwfdecAudioStream *stream = SWFDEC_AUDIO_STREAM (audio);
GList *walk;
- guint samples, rendered, skip;
+ gsize samples, rendered, skip;
SwfdecBuffer *buffer;
g_assert (start < G_MAXINT);
@@ -117,12 +117,12 @@ swfdec_audio_stream_render (SwfdecAudio *audio, gint16* dest,
return rendered - start;
}
-static guint
-swfdec_audio_stream_iterate (SwfdecAudio *audio, guint remove)
+static gsize
+swfdec_audio_stream_iterate (SwfdecAudio *audio, gsize remove)
{
SwfdecAudioStream *stream = SWFDEC_AUDIO_STREAM (audio);
SwfdecBuffer *buffer;
- guint samples, cur_samples;
+ gsize samples, cur_samples;
swfdec_audio_stream_require (stream, remove);
samples = MIN (remove, stream->queue_size);
diff --git a/swfdec/swfdec_audio_stream.h b/swfdec/swfdec_audio_stream.h
index 96ea53f..824d477 100644
--- a/swfdec/swfdec_audio_stream.h
+++ b/swfdec/swfdec_audio_stream.h
@@ -43,7 +43,7 @@ struct _SwfdecAudioStream
SwfdecAudioDecoder * decoder; /* decoder in use */
GQueue * queue; /* all the samples we've decoded so far */
- guint queue_size; /* size of queue in samples */
+ gsize queue_size; /* size of queue in samples */
gboolean done; /* no more data will arrive */
};
commit 6c95b90301333239148afeb26117a717d5a110d8
Author: Benjamin Otte <otte at gnome.org>
Date: Wed Jun 11 16:56:40 2008 +0200
attach the played sound to the movieclip that created it
diff --git a/swfdec/swfdec_sound_object.c b/swfdec/swfdec_sound_object.c
index c5cb8a1..b689c61 100644
--- a/swfdec/swfdec_sound_object.c
+++ b/swfdec/swfdec_sound_object.c
@@ -372,6 +372,8 @@ swfdec_sound_object_start (SwfdecAsContext *cx, SwfdecAsObject *object, guint ar
offset = 0;
audio = swfdec_audio_event_new (SWFDEC_PLAYER (cx), sound->attached, offset / 44100, loops);
+ if (sound->target && !sound->global)
+ swfdec_audio_set_actor (audio, SWFDEC_ACTOR (sound->target));
g_object_unref (audio);
}
commit 3300a4c0de0027a1449027f8689d76c3792ee1f2
Author: Benjamin Otte <otte at gnome.org>
Date: Wed Jun 11 16:54:52 2008 +0200
make audio gain a "changed" signal so people know when audio changes
diff --git a/swfdec/swfdec_audio.c b/swfdec/swfdec_audio.c
index 9848b92..db085f4 100644
--- a/swfdec/swfdec_audio.c
+++ b/swfdec/swfdec_audio.c
@@ -58,6 +58,13 @@
G_DEFINE_ABSTRACT_TYPE (SwfdecAudio, swfdec_audio, G_TYPE_OBJECT)
+enum {
+ CHANGED,
+ LAST_SIGNAL
+};
+
+static guint signals[LAST_SIGNAL] = { 0, };
+
static void
swfdec_audio_dispose (GObject *object)
{
@@ -74,6 +81,18 @@ swfdec_audio_class_init (SwfdecAudioClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ /**
+ * SwfdecAudio::changed:
+ * @audio: the #SwfdecAudio affected
+ *
+ * This signal is emitted whenever the data of the @audio changed and cached
+ * data should be rerendered. This happens for example when the volume of the
+ * audio is changed by the Flash file.
+ */
+ signals[CHANGED] = g_signal_new ("changed", G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
+
object_class->dispose = swfdec_audio_dispose;
}
@@ -168,6 +187,30 @@ swfdec_audio_set_actor (SwfdecAudio *audio, SwfdecActor *actor)
audio->actor = actor;
}
+/* FIXME: This function is pretty much a polling approach at sound matrix
+ * handling and it would be much nicer if we had a "changed" signal on the
+ * matrices. But matrices can't emit signals...
+ */
+void
+swfdec_audio_update_matrix (SwfdecAudio *audio)
+{
+ SwfdecSoundMatrix sound;
+
+ g_return_if_fail (SWFDEC_IS_AUDIO (audio));
+
+ if (audio->actor) {
+ swfdec_sound_matrix_multiply (&sound, &audio->actor->sound_matrix,
+ &audio->player->priv->sound_matrix);
+ } else if (audio->player) {
+ sound = audio->player->priv->sound_matrix;
+ }
+ if (swfdec_sound_matrix_is_equal (&sound, &audio->matrix))
+ return;
+
+ audio->matrix = sound;
+ g_signal_emit (audio, signals[CHANGED], 0);
+}
+
/**
* swfdec_audio_render:
* @audio: a #SwfdecAudio
@@ -198,15 +241,7 @@ swfdec_audio_render (SwfdecAudio *audio, gint16 *dest,
klass = SWFDEC_AUDIO_GET_CLASS (audio);
rendered = klass->render (audio, dest, start_offset, n_samples);
- if (audio->actor) {
- SwfdecSoundMatrix sound;
-
- swfdec_sound_matrix_multiply (&sound, &audio->actor->sound_matrix,
- &audio->player->priv->sound_matrix);
- swfdec_sound_matrix_apply (&sound, dest, rendered);
- } else if (audio->player) {
- swfdec_sound_matrix_apply (&audio->player->priv->sound_matrix, dest, rendered);
- }
+ swfdec_sound_matrix_apply (&audio->matrix, dest, rendered);
return rendered;
}
diff --git a/swfdec/swfdec_audio_internal.h b/swfdec/swfdec_audio_internal.h
index e7deff8..7d854f8 100644
--- a/swfdec/swfdec_audio_internal.h
+++ b/swfdec/swfdec_audio_internal.h
@@ -25,6 +25,7 @@
#include <swfdec/swfdec.h>
#include <swfdec/swfdec_audio.h>
#include <swfdec/swfdec_bits.h>
+#include <swfdec/swfdec_sound_matrix.h>
#include <swfdec/swfdec_types.h>
G_BEGIN_DECLS
@@ -40,6 +41,7 @@ struct _SwfdecAudio {
SwfdecPlayer * player; /* the player that plays us */
gboolean added; /* set to TRUE after the added signal has been emitted */
SwfdecActor * actor; /* NULL or movieclip that controls our volume */
+ SwfdecSoundMatrix matrix; /* matrix used by this audio instance */
};
struct _SwfdecAudioClass {
@@ -61,6 +63,7 @@ void swfdec_audio_set_actor (SwfdecAudio * audio,
guint swfdec_audio_iterate (SwfdecAudio * audio,
guint n_samples);
+void swfdec_audio_update_matrix (SwfdecAudio * audio);
SwfdecAudioFormat swfdec_audio_format_parse (SwfdecBits * bits);
SwfdecAudioFormat swfdec_audio_format_new (guint rate,
diff --git a/swfdec/swfdec_player.c b/swfdec/swfdec_player.c
index 87763e0..c9f6dfa 100644
--- a/swfdec/swfdec_player.c
+++ b/swfdec/swfdec_player.c
@@ -828,10 +828,11 @@ swfdec_player_emit_signals (SwfdecPlayer *player)
for (walk = priv->audio; walk; walk = walk->next) {
SwfdecAudio *audio = walk->data;
- if (audio->added)
- continue;
- g_signal_emit (player, signals[AUDIO_ADDED], 0, audio);
- audio->added = TRUE;
+ swfdec_audio_update_matrix (audio);
+ if (!audio->added) {
+ g_signal_emit (player, signals[AUDIO_ADDED], 0, audio);
+ audio->added = TRUE;
+ }
}
/* emit missing-plugin signal for newly discovered plugins */
commit f416af4bacbf407c324502c7d154c0cb6b9849ec
Author: Benjamin Otte <otte at gnome.org>
Date: Wed Jun 11 16:07:33 2008 +0200
add swfdec_sound_matrix_is_equal()
and fix a bug in swfdec_sound_matrix_is_identity() that made it always return
FALSE
diff --git a/swfdec/swfdec_sound_matrix.c b/swfdec/swfdec_sound_matrix.c
index 645c77d..5531a43 100644
--- a/swfdec/swfdec_sound_matrix.c
+++ b/swfdec/swfdec_sound_matrix.c
@@ -65,7 +65,17 @@ swfdec_sound_matrix_is_identity (const SwfdecSoundMatrix *sound)
g_return_val_if_fail (sound != NULL, FALSE);
return sound->ll == 100 && sound->rr == 100 &&
- sound->lr == 0 && sound->rr == 0 && sound->volume == 100;
+ sound->lr == 0 && sound->rl == 0 && sound->volume == 100;
+}
+
+gboolean
+swfdec_sound_matrix_is_equal (const SwfdecSoundMatrix *a, const SwfdecSoundMatrix *b)
+{
+ g_return_val_if_fail (a != NULL, FALSE);
+ g_return_val_if_fail (b != NULL, FALSE);
+
+ return a->ll == b->ll && a->rr == b->rr &&
+ a->lr == b->lr && a->rl == b->rl && a->volume == b->volume;
}
void
diff --git a/swfdec/swfdec_sound_matrix.h b/swfdec/swfdec_sound_matrix.h
index 0f3327c..aa0042e 100644
--- a/swfdec/swfdec_sound_matrix.h
+++ b/swfdec/swfdec_sound_matrix.h
@@ -36,6 +36,8 @@ struct _SwfdecSoundMatrix
void swfdec_sound_matrix_init_identity (SwfdecSoundMatrix * sound);
gboolean swfdec_sound_matrix_is_identity (const SwfdecSoundMatrix * sound);
+gboolean swfdec_sound_matrix_is_equal (const SwfdecSoundMatrix * a,
+ const SwfdecSoundMatrix * b);
int swfdec_sound_matrix_get_pan (const SwfdecSoundMatrix * sound);
void swfdec_sound_matrix_set_pan (SwfdecSoundMatrix * sound,
commit 1189026d95f7c24878b9f6c370d32e89ec609065
Author: Benjamin Otte <otte at gnome.org>
Date: Wed Jun 11 14:53:32 2008 +0200
add a test for setting various values
diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am
index f26bc10..00226b2 100644
--- a/test/trace/Makefile.am
+++ b/test/trace/Makefile.am
@@ -3100,6 +3100,15 @@ EXTRA_DIST = \
sound-properties-8.swf.trace \
sound-properties-9.swf \
sound-properties-9.swf.trace \
+ sound-set-5.swf \
+ sound-set-5.swf.trace \
+ sound-set-6.swf \
+ sound-set-6.swf.trace \
+ sound-set-7.swf \
+ sound-set-7.swf.trace \
+ sound-set-8.swf \
+ sound-set-8.swf.trace \
+ sound-set.as \
sound-setTransform-propertytypes-5.swf \
sound-setTransform-propertytypes-5.swf.trace \
sound-setTransform-propertytypes-6.swf \
diff --git a/test/trace/sound-set-5.swf b/test/trace/sound-set-5.swf
new file mode 100644
index 0000000..bb06889
Binary files /dev/null and b/test/trace/sound-set-5.swf differ
diff --git a/test/trace/sound-set-5.swf.trace b/test/trace/sound-set-5.swf.trace
new file mode 100644
index 0000000..a523db9
--- /dev/null
+++ b/test/trace/sound-set-5.swf.trace
@@ -0,0 +1,39 @@
+{ 0, 0, 0, 0} (100, 100)
+{ 0, 0, 0, 0} (100, 100)
+{ 0, 0, 0, 0} (100, 100)
+{ -1234567890, -1234567890, -1234567890, -1234567890} (100, -1234567790)
+{ 1234567890, 1234567890, 1234567890, 1234567890} (100, -1234567790)
+{ -20, -20, -20, -20} (100, 80)
+{ 0, 0, 0, 0} (100, 100)
+{ 20, 20, 20, 20} (100, 80)
+{ 40, 40, 40, 40} (100, 60)
+{ 60, 60, 60, 60} (100, 40)
+{ 80, 80, 80, 80} (100, 20)
+{ 100, 100, 100, 100} (100, 0)
+{ 120, 120, 120, 120} (100, -20)
+{ 120, 120, 120, 120} (0, -20)
+{ 120, 120, 120, 120} (0, -20)
+{ 120, 120, 120, 120} (0, -20)
+{ 120, 120, 120, 120} (-1234567890, -20)
+{ 120, 120, 120, 120} (1234567890, -20)
+{ 120, 120, 120, 120} (-20, -20)
+{ 120, 120, 120, 120} (0, -20)
+{ 120, 120, 120, 120} (20, -20)
+{ 120, 120, 120, 120} (40, -20)
+{ 120, 120, 120, 120} (60, -20)
+{ 120, 120, 120, 120} (80, -20)
+{ 120, 120, 120, 120} (100, -20)
+{ 120, 120, 120, 120} (120, -20)
+{ 100, 0, 0, 100} (120, 0)
+{ 100, 0, 0, 100} (120, 0)
+{ 100, 0, 0, 100} (120, 0)
+{ 100, 0, 0, -1234567790} (120, 1234567690)
+{ -1234567790, 0, 0, 100} (120, -1234567690)
+{ 100, 0, 0, 80} (120, -20)
+{ 100, 0, 0, 100} (120, 0)
+{ 80, 0, 0, 100} (120, 20)
+{ 60, 0, 0, 100} (120, 40)
+{ 40, 0, 0, 100} (120, 60)
+{ 20, 0, 0, 100} (120, 80)
+{ 0, 0, 0, 100} (120, 100)
+{ -20, 0, 0, 100} (120, 80)
diff --git a/test/trace/sound-set-6.swf b/test/trace/sound-set-6.swf
new file mode 100644
index 0000000..809c5c7
Binary files /dev/null and b/test/trace/sound-set-6.swf differ
diff --git a/test/trace/sound-set-6.swf.trace b/test/trace/sound-set-6.swf.trace
new file mode 100644
index 0000000..dba9b37
--- /dev/null
+++ b/test/trace/sound-set-6.swf.trace
@@ -0,0 +1,39 @@
+{ 0, 0, 0, 0} (100, 100)
+{ 0, 0, 0, 0} (100, 100)
+{ 0, 0, 0, 0} (100, 100)
+{ -1234567890, -1234567890, -1234567890, -1234567890} (100, -1234567790)
+{ 1234567890, 1234567890, 1234567890, 1234567890} (100, -1234567790)
+{ -20, -20, -20, -20} (100, 80)
+{ 0, 0, 0, 0} (100, 100)
+{ 20, 20, 20, 20} (100, 80)
+{ 40, 40, 40, 40} (100, 60)
+{ 60, 60, 60, 60} (100, 40)
+{ 80, 80, 80, 80} (100, 20)
+{ 100, 100, 100, 100} (100, 0)
+{ 120, 120, 120, 120} (100, -20)
+{ 100, 0, 0, 100} (0, 0)
+{ 100, 0, 0, 100} (0, 0)
+{ 100, 0, 0, 100} (0, 0)
+{ 100, 0, 0, 100} (-1234567890, 0)
+{ 100, 0, 0, 100} (1234567890, 0)
+{ 100, 0, 0, 100} (-20, 0)
+{ 100, 0, 0, 100} (0, 0)
+{ 100, 0, 0, 100} (20, 0)
+{ 100, 0, 0, 100} (40, 0)
+{ 100, 0, 0, 100} (60, 0)
+{ 100, 0, 0, 100} (80, 0)
+{ 100, 0, 0, 100} (100, 0)
+{ 100, 0, 0, 100} (120, 0)
+{ 100, 0, 0, 100} (100, 0)
+{ 100, 0, 0, 100} (100, 0)
+{ 100, 0, 0, 100} (100, 0)
+{ 100, 0, 0, -1234567790} (100, 1234567690)
+{ -1234567790, 0, 0, 100} (100, -1234567690)
+{ 100, 0, 0, 80} (100, -20)
+{ 100, 0, 0, 100} (100, 0)
+{ 80, 0, 0, 100} (100, 20)
+{ 60, 0, 0, 100} (100, 40)
+{ 40, 0, 0, 100} (100, 60)
+{ 20, 0, 0, 100} (100, 80)
+{ 0, 0, 0, 100} (100, 100)
+{ -20, 0, 0, 100} (100, 80)
diff --git a/test/trace/sound-set-7.swf b/test/trace/sound-set-7.swf
new file mode 100644
index 0000000..93eeae2
Binary files /dev/null and b/test/trace/sound-set-7.swf differ
diff --git a/test/trace/sound-set-7.swf.trace b/test/trace/sound-set-7.swf.trace
new file mode 100644
index 0000000..dba9b37
--- /dev/null
+++ b/test/trace/sound-set-7.swf.trace
@@ -0,0 +1,39 @@
+{ 0, 0, 0, 0} (100, 100)
+{ 0, 0, 0, 0} (100, 100)
+{ 0, 0, 0, 0} (100, 100)
+{ -1234567890, -1234567890, -1234567890, -1234567890} (100, -1234567790)
+{ 1234567890, 1234567890, 1234567890, 1234567890} (100, -1234567790)
+{ -20, -20, -20, -20} (100, 80)
+{ 0, 0, 0, 0} (100, 100)
+{ 20, 20, 20, 20} (100, 80)
+{ 40, 40, 40, 40} (100, 60)
+{ 60, 60, 60, 60} (100, 40)
+{ 80, 80, 80, 80} (100, 20)
+{ 100, 100, 100, 100} (100, 0)
+{ 120, 120, 120, 120} (100, -20)
+{ 100, 0, 0, 100} (0, 0)
+{ 100, 0, 0, 100} (0, 0)
+{ 100, 0, 0, 100} (0, 0)
+{ 100, 0, 0, 100} (-1234567890, 0)
+{ 100, 0, 0, 100} (1234567890, 0)
+{ 100, 0, 0, 100} (-20, 0)
+{ 100, 0, 0, 100} (0, 0)
+{ 100, 0, 0, 100} (20, 0)
+{ 100, 0, 0, 100} (40, 0)
+{ 100, 0, 0, 100} (60, 0)
+{ 100, 0, 0, 100} (80, 0)
+{ 100, 0, 0, 100} (100, 0)
+{ 100, 0, 0, 100} (120, 0)
+{ 100, 0, 0, 100} (100, 0)
+{ 100, 0, 0, 100} (100, 0)
+{ 100, 0, 0, 100} (100, 0)
+{ 100, 0, 0, -1234567790} (100, 1234567690)
+{ -1234567790, 0, 0, 100} (100, -1234567690)
+{ 100, 0, 0, 80} (100, -20)
+{ 100, 0, 0, 100} (100, 0)
+{ 80, 0, 0, 100} (100, 20)
+{ 60, 0, 0, 100} (100, 40)
+{ 40, 0, 0, 100} (100, 60)
+{ 20, 0, 0, 100} (100, 80)
+{ 0, 0, 0, 100} (100, 100)
+{ -20, 0, 0, 100} (100, 80)
diff --git a/test/trace/sound-set-8.swf b/test/trace/sound-set-8.swf
new file mode 100644
index 0000000..4ab03ca
Binary files /dev/null and b/test/trace/sound-set-8.swf differ
diff --git a/test/trace/sound-set-8.swf.trace b/test/trace/sound-set-8.swf.trace
new file mode 100644
index 0000000..dba9b37
--- /dev/null
+++ b/test/trace/sound-set-8.swf.trace
@@ -0,0 +1,39 @@
+{ 0, 0, 0, 0} (100, 100)
+{ 0, 0, 0, 0} (100, 100)
+{ 0, 0, 0, 0} (100, 100)
+{ -1234567890, -1234567890, -1234567890, -1234567890} (100, -1234567790)
+{ 1234567890, 1234567890, 1234567890, 1234567890} (100, -1234567790)
+{ -20, -20, -20, -20} (100, 80)
+{ 0, 0, 0, 0} (100, 100)
+{ 20, 20, 20, 20} (100, 80)
+{ 40, 40, 40, 40} (100, 60)
+{ 60, 60, 60, 60} (100, 40)
+{ 80, 80, 80, 80} (100, 20)
+{ 100, 100, 100, 100} (100, 0)
+{ 120, 120, 120, 120} (100, -20)
+{ 100, 0, 0, 100} (0, 0)
+{ 100, 0, 0, 100} (0, 0)
+{ 100, 0, 0, 100} (0, 0)
+{ 100, 0, 0, 100} (-1234567890, 0)
+{ 100, 0, 0, 100} (1234567890, 0)
+{ 100, 0, 0, 100} (-20, 0)
+{ 100, 0, 0, 100} (0, 0)
+{ 100, 0, 0, 100} (20, 0)
+{ 100, 0, 0, 100} (40, 0)
+{ 100, 0, 0, 100} (60, 0)
+{ 100, 0, 0, 100} (80, 0)
+{ 100, 0, 0, 100} (100, 0)
+{ 100, 0, 0, 100} (120, 0)
+{ 100, 0, 0, 100} (100, 0)
+{ 100, 0, 0, 100} (100, 0)
+{ 100, 0, 0, 100} (100, 0)
+{ 100, 0, 0, -1234567790} (100, 1234567690)
+{ -1234567790, 0, 0, 100} (100, -1234567690)
+{ 100, 0, 0, 80} (100, -20)
+{ 100, 0, 0, 100} (100, 0)
+{ 80, 0, 0, 100} (100, 20)
+{ 60, 0, 0, 100} (100, 40)
+{ 40, 0, 0, 100} (100, 60)
+{ 20, 0, 0, 100} (100, 80)
+{ 0, 0, 0, 100} (100, 100)
+{ -20, 0, 0, 100} (100, 80)
diff --git a/test/trace/sound-set.as b/test/trace/sound-set.as
new file mode 100644
index 0000000..6fc3f08
--- /dev/null
+++ b/test/trace/sound-set.as
@@ -0,0 +1,32 @@
+// makeswf -v 7 -s 200x150 -r 1 -o sound-set.swf sound-set.as
+
+Sound.prototype.toString = function () {
+ var tf = this.getTransform ();
+ return "{ " + tf.ll + ", " + tf.rl + ", " + tf.lr + ", " + tf.rr + "} (" + this.getVolume () + ", " + this.getPan () + ")";
+};
+
+values = [ undefined, NaN, Infinity, -1234567890, 1234567890, -20, 0, 20, 40, 60, 80, 100, 120];
+
+for (i = 0; i < values.length; i++) {
+ createEmptyMovieClip ("a", 0);
+ x = new Sound (a);
+ x.setTransform ({ ll:values[i], lr:values[i], rl:values[i], rr:values[i] });
+ trace (x);
+};
+
+for (i = 0; i < values.length; i++) {
+ createEmptyMovieClip ("a", 0);
+ x = new Sound (a);
+ x.setVolume (values[i]);
+ trace (x);
+};
+
+for (i = 0; i < values.length; i++) {
+ createEmptyMovieClip ("a", 0);
+ x = new Sound (a);
+ x.setTransform ({ ll: random(101), lr: random (101), rl: random (101), rr: random (101) });
+ x.setPan (values[i]);
+ trace (x);
+};
+
+getURL ("fscommand:quit", "");
commit ed4ffd15c8069f8962fa1fee2dc5ec88a2ff2bf3
Author: Benjamin Otte <otte at gnome.org>
Date: Wed Jun 11 14:53:14 2008 +0200
setPan sets lr and rl members to 0
diff --git a/swfdec/swfdec_sound_matrix.c b/swfdec/swfdec_sound_matrix.c
index f686f18..645c77d 100644
--- a/swfdec/swfdec_sound_matrix.c
+++ b/swfdec/swfdec_sound_matrix.c
@@ -55,6 +55,8 @@ swfdec_sound_matrix_set_pan (SwfdecSoundMatrix *sound, int pan)
sound->ll = 100;
sound->rr = 100 + pan;
}
+ sound->lr = 0;
+ sound->rl = 0;
}
gboolean
commit dd5d788a6964eb27068bc5b200ddb5de6ddcb2b1
Author: Benjamin Otte <otte at gnome.org>
Date: Wed Jun 11 14:00:57 2008 +0200
add test that tests if Sound objects works on textfields
diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am
index 3063c2d..f26bc10 100644
--- a/test/trace/Makefile.am
+++ b/test/trace/Makefile.am
@@ -3109,6 +3109,15 @@ EXTRA_DIST = \
sound-setTransform-propertytypes-8.swf \
sound-setTransform-propertytypes-8.swf.trace \
sound-setTransform-propertytypes.as \
+ sound-textfield-5.swf \
+ sound-textfield-5.swf.trace \
+ sound-textfield-6.swf \
+ sound-textfield-6.swf.trace \
+ sound-textfield-7.swf \
+ sound-textfield-7.swf.trace \
+ sound-textfield-8.swf \
+ sound-textfield-8.swf.trace \
+ sound-textfield.as \
stack-overflow.as \
stack-overflow-5.swf \
stack-overflow-5.swf.trace \
diff --git a/test/trace/sound-textfield-5.swf b/test/trace/sound-textfield-5.swf
new file mode 100644
index 0000000..374a9c2
Binary files /dev/null and b/test/trace/sound-textfield-5.swf differ
diff --git a/test/trace/sound-textfield-5.swf.trace b/test/trace/sound-textfield-5.swf.trace
new file mode 100644
index 0000000..4d3be27
--- /dev/null
+++ b/test/trace/sound-textfield-5.swf.trace
@@ -0,0 +1,3 @@
+[object Object]: { 100, 0, 0, 50} (100, -50)
+[object Object]: { 50, 0, 0, 100} (100, 50)
+: { , , , } (, )
diff --git a/test/trace/sound-textfield-6.swf b/test/trace/sound-textfield-6.swf
new file mode 100644
index 0000000..52d4f3b
Binary files /dev/null and b/test/trace/sound-textfield-6.swf differ
diff --git a/test/trace/sound-textfield-6.swf.trace b/test/trace/sound-textfield-6.swf.trace
new file mode 100644
index 0000000..4d3be27
--- /dev/null
+++ b/test/trace/sound-textfield-6.swf.trace
@@ -0,0 +1,3 @@
+[object Object]: { 100, 0, 0, 50} (100, -50)
+[object Object]: { 50, 0, 0, 100} (100, 50)
+: { , , , } (, )
diff --git a/test/trace/sound-textfield-7.swf b/test/trace/sound-textfield-7.swf
new file mode 100644
index 0000000..f7b213d
Binary files /dev/null and b/test/trace/sound-textfield-7.swf differ
diff --git a/test/trace/sound-textfield-7.swf.trace b/test/trace/sound-textfield-7.swf.trace
new file mode 100644
index 0000000..405bbf1
--- /dev/null
+++ b/test/trace/sound-textfield-7.swf.trace
@@ -0,0 +1,3 @@
+[object Object]: { 100, 0, 0, 50} (100, -50)
+[object Object]: { 50, 0, 0, 100} (100, 50)
+undefined: { undefined, undefined, undefined, undefined} (undefined, undefined)
diff --git a/test/trace/sound-textfield-8.swf b/test/trace/sound-textfield-8.swf
new file mode 100644
index 0000000..0e193a2
Binary files /dev/null and b/test/trace/sound-textfield-8.swf differ
diff --git a/test/trace/sound-textfield-8.swf.trace b/test/trace/sound-textfield-8.swf.trace
new file mode 100644
index 0000000..405bbf1
--- /dev/null
+++ b/test/trace/sound-textfield-8.swf.trace
@@ -0,0 +1,3 @@
+[object Object]: { 100, 0, 0, 50} (100, -50)
+[object Object]: { 50, 0, 0, 100} (100, 50)
+undefined: { undefined, undefined, undefined, undefined} (undefined, undefined)
diff --git a/test/trace/sound-textfield.as b/test/trace/sound-textfield.as
new file mode 100644
index 0000000..be826a8
--- /dev/null
+++ b/test/trace/sound-textfield.as
@@ -0,0 +1,20 @@
+// makeswf -v 7 -s 200x150 -r 1 -o sound-textfield.swf sound-textfield.as
+
+Sound.prototype.toString = function () {
+ var tf = this.getTransform ();
+ return tf + ": { " + tf.ll + ", " + tf.rl + ", " + tf.lr + ", " + tf.rr + "} (" + this.getVolume () + ", " + this.getPan () + ")";
+};
+
+x = new Sound ();
+x.setPan (-50);
+createTextField ("t", 0, 0, 0, 100, 50);
+x = new Sound (t);
+x.setPan (50);
+x = new Sound ();
+trace (x);
+x = new Sound (t);
+trace (x);
+x = new Sound ("asdf");
+trace (x);
+
+getURL ("fscommand:quit", "");
commit 33ef1e777e66c3c24c538eabc0b6950460db9718
Author: Benjamin Otte <otte at gnome.org>
Date: Wed Jun 11 14:00:24 2008 +0200
make setPan work right
s/+/-/ and vice versa
diff --git a/swfdec/swfdec_sound_matrix.c b/swfdec/swfdec_sound_matrix.c
index 40c76c9..f686f18 100644
--- a/swfdec/swfdec_sound_matrix.c
+++ b/swfdec/swfdec_sound_matrix.c
@@ -50,10 +50,10 @@ swfdec_sound_matrix_set_pan (SwfdecSoundMatrix *sound, int pan)
if (pan > 0) {
sound->rr = 100;
- sound->ll = 100 + pan;
+ sound->ll = 100 - pan;
} else {
sound->ll = 100;
- sound->rr = 100 - pan;
+ sound->rr = 100 + pan;
}
}
commit 6d656fb75a4a0bc30e9915e7f17faa3e37cef084
Author: Benjamin Otte <otte at gnome.org>
Date: Wed Jun 11 13:46:59 2008 +0200
add test for how Sound.setTransform() parses properties on the passed object
diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am
index b0c25b2..3063c2d 100644
--- a/test/trace/Makefile.am
+++ b/test/trace/Makefile.am
@@ -3100,6 +3100,15 @@ EXTRA_DIST = \
sound-properties-8.swf.trace \
sound-properties-9.swf \
sound-properties-9.swf.trace \
+ sound-setTransform-propertytypes-5.swf \
+ sound-setTransform-propertytypes-5.swf.trace \
+ sound-setTransform-propertytypes-6.swf \
+ sound-setTransform-propertytypes-6.swf.trace \
+ sound-setTransform-propertytypes-7.swf \
+ sound-setTransform-propertytypes-7.swf.trace \
+ sound-setTransform-propertytypes-8.swf \
+ sound-setTransform-propertytypes-8.swf.trace \
+ sound-setTransform-propertytypes.as \
stack-overflow.as \
stack-overflow-5.swf \
stack-overflow-5.swf.trace \
diff --git a/test/trace/sound-setTransform-propertytypes-5.swf b/test/trace/sound-setTransform-propertytypes-5.swf
new file mode 100644
index 0000000..3fa315e
Binary files /dev/null and b/test/trace/sound-setTransform-propertytypes-5.swf differ
diff --git a/test/trace/sound-setTransform-propertytypes-5.swf.trace b/test/trace/sound-setTransform-propertytypes-5.swf.trace
new file mode 100644
index 0000000..48bdd16
--- /dev/null
+++ b/test/trace/sound-setTransform-propertytypes-5.swf.trace
@@ -0,0 +1,1625 @@
+0 ( ) [object Object]: { 100, 0, 0, 100} (100, 0)
+1 (44 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+2 ( ) [object Object]: { 44, 0, 0, 100} (100, 56)
+3 (22 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf
+valueOf
+4 ( ) [object Object]: { 0, 0, 0, 100} (100, 100)
+5 ( 42 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+6 (4442 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+7 ( 42 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+8 (2242 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf
+valueOf
+9 (42 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+10 ( ) [object Object]: { 0, 0, 42, 100} (100, 100)
+11 (44 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+12 ( ) [object Object]: { 44, 0, 42, 100} (100, 56)
+13 (22 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf
+valueOf
+14 ( ) [object Object]: { 0, 0, 42, 100} (100, 100)
+15 ( 21 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+16 (4421 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+17 ( 21 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+18 (2221 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf
+valueOf
+19 (21 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf
+valueOf
+20 ( ) [object Object]: { 0, 0, 0, 100} (100, 100)
+valueOf
+valueOf
+21 (44 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf
+valueOf
+22 ( ) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf
+valueOf
+23 (22 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+24 ( ) [object Object]: { 0, 0, 0, 100} (100, 100)
+25 ( 24 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+26 (44 24 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+27 ( 24 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+28 (22 24 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf
+valueOf
+29 ( 24 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+30 ( 4224 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+31 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+32 ( 4224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+33 (224224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf
+valueOf
+34 (4224 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+35 ( 24 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+36 (44 24 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+37 ( 24 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+38 (22 24 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf
+valueOf
+39 ( 24 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+40 ( 2124 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+41 (442124 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+42 ( 2124 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+43 (222124 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf
+valueOf
+44 (2124 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+valueOf
+valueOf
+45 ( 24 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf
+valueOf
+46 (4424 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf
+valueOf
+47 ( 24 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf
+valueOf
+48 (2224 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+49 (24 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+50 ( ) [object Object]: { 0, 24, 0, 100} (100, 100)
+51 (44 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+52 ( ) [object Object]: { 44, 24, 0, 100} (100, 56)
+53 (22 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf
+valueOf
+54 ( ) [object Object]: { 0, 24, 0, 100} (100, 100)
+55 ( 42 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+56 (4442 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+57 ( 42 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+58 (2242 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf
+valueOf
+59 (42 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+60 ( ) [object Object]: { 0, 24, 42, 100} (100, 100)
+61 (44 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+62 ( ) [object Object]: { 44, 24, 42, 100} (100, 56)
+63 (22 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf
+valueOf
+64 ( ) [object Object]: { 0, 24, 42, 100} (100, 100)
+65 ( 21 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+66 (4421 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+67 ( 21 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+68 (2221 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf
+valueOf
+69 (21 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+valueOf
+valueOf
+70 ( ) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf
+valueOf
+71 (44 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf
+valueOf
+72 ( ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf
+valueOf
+73 (22 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+74 ( ) [object Object]: { 0, 24, 0, 100} (100, 100)
+75 ( 12 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+76 (44 12 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+77 ( 12 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+78 (22 12 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf
+valueOf
+79 ( 12 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+80 ( 4212 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+81 (444212 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+82 ( 4212 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+83 (224212 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf
+valueOf
+84 (4212 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+85 ( 12 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+86 (44 12 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+87 ( 12 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+88 (22 12 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf
+valueOf
+89 ( 12 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+90 ( 2112 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+91 (442112 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+92 ( 2112 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+93 (222112 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf
+valueOf
+94 (2112 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+valueOf
+valueOf
+95 ( 12 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf
+valueOf
+96 (4412 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf
+valueOf
+97 ( 12 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf
+valueOf
+98 (2212 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+99 (12 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf
+valueOf
+100 ( ) [object Object]: { 0, 0, 0, 100} (100, 100)
+valueOf
+valueOf
+101 (44 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf
+valueOf
+102 ( ) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf
+valueOf
+103 (22 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+104 ( ) [object Object]: { 0, 0, 0, 100} (100, 100)
+valueOf
+valueOf
+105 ( 42 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf
+valueOf
+106 (4442 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf
+valueOf
+107 ( 42 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf
+valueOf
+108 (2242 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+109 (42 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf
+valueOf
+110 ( ) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf
+valueOf
+111 (44 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf
+valueOf
+112 ( ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf
+valueOf
+113 (22 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+114 ( ) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf
+valueOf
+115 ( 21 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf
+valueOf
+116 (4421 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf
+valueOf
+117 ( 21 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf
+valueOf
+118 (2221 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+119 (21 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+120 ( ) [object Object]: { 0, 0, 0, 100} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+121 (44 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+122 ( ) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+123 (22 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+124 ( ) [object Object]: { 0, 0, 0, 100} (100, 100)
+125 ( 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+126 (44 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+127 ( 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+128 (22 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+129 ( 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+130 ( 42 22) [object Object]: { 0, 0, 42, 22} (100, 100)
+131 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+132 ( 42 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+133 (2242 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+134 (42 22) [object Object]: { 0, 0, 42, 22} (100, 100)
+135 ( 22) [object Object]: { 0, 0, 42, 22} (100, 100)
+136 (44 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+137 ( 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+138 (22 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+139 ( 22) [object Object]: { 0, 0, 42, 22} (100, 100)
+140 ( 21 22) [object Object]: { 0, 0, 42, 22} (100, 100)
+141 (4421 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+142 ( 21 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+143 (2221 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+144 (21 22) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf
+valueOf
+145 ( 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf
+valueOf
+146 (44 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+147 ( 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+148 (22 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+149 ( 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+150 ( 2422) [object Object]: { 0, 24, 0, 22} (100, 100)
+151 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+152 ( 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+153 (22 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+154 ( 2422) [object Object]: { 0, 24, 0, 22} (100, 100)
+155 ( 422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+156 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+157 ( 422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+158 (22422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+159 (422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+160 ( 2422) [object Object]: { 0, 24, 42, 22} (100, 100)
+161 (44 2422) [object Object]: { 44, 24, 42, 22} (100, 56)
+162 ( 2422) [object Object]: { 44, 24, 42, 22} (100, 56)
+163 (22 2422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+164 ( 2422) [object Object]: { 0, 24, 42, 22} (100, 100)
+165 ( 212422) [object Object]: { 0, 24, 42, 22} (100, 100)
+166 (44212422) [object Object]: { 44, 24, 42, 22} (100, 56)
+167 ( 212422) [object Object]: { 44, 24, 42, 22} (100, 56)
+168 (22212422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+169 (212422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf
+valueOf
+170 ( 2422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf
+valueOf
+171 (442422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+172 ( 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+173 (222422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+174 (2422) [object Object]: { 0, 24, 0, 22} (100, 100)
+175 ( 22) [object Object]: { 0, 24, 0, 22} (100, 100)
+176 (44 22) [object Object]: { 44, 24, 0, 22} (100, 56)
+177 ( 22) [object Object]: { 44, 24, 0, 22} (100, 56)
+178 (22 22) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+179 ( 22) [object Object]: { 0, 24, 0, 22} (100, 100)
+180 ( 42 22) [object Object]: { 0, 24, 42, 22} (100, 100)
+181 (4442 22) [object Object]: { 44, 24, 42, 22} (100, 56)
+182 ( 42 22) [object Object]: { 44, 24, 42, 22} (100, 56)
+183 (2242 22) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+184 (42 22) [object Object]: { 0, 24, 42, 22} (100, 100)
+185 ( 22) [object Object]: { 0, 24, 42, 22} (100, 100)
+186 (44 22) [object Object]: { 44, 24, 42, 22} (100, 56)
+187 ( 22) [object Object]: { 44, 24, 42, 22} (100, 56)
+188 (22 22) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+189 ( 22) [object Object]: { 0, 24, 42, 22} (100, 100)
+190 ( 21 22) [object Object]: { 0, 24, 42, 22} (100, 100)
+191 (4421 22) [object Object]: { 44, 24, 42, 22} (100, 56)
+192 ( 21 22) [object Object]: { 44, 24, 42, 22} (100, 56)
+193 (2221 22) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+194 (21 22) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf
+valueOf
+195 ( 22) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf
+valueOf
+196 (44 22) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+197 ( 22) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+198 (22 22) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+199 ( 22) [object Object]: { 0, 24, 0, 22} (100, 100)
+200 ( 1222) [object Object]: { 0, 24, 0, 22} (100, 100)
+201 (44 1222) [object Object]: { 44, 24, 0, 22} (100, 56)
+202 ( 1222) [object Object]: { 44, 24, 0, 22} (100, 56)
+203 (22 1222) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+204 ( 1222) [object Object]: { 0, 24, 0, 22} (100, 100)
+205 ( 421222) [object Object]: { 0, 24, 42, 22} (100, 100)
+206 (44421222) [object Object]: { 44, 24, 42, 22} (100, 56)
+207 ( 421222) [object Object]: { 44, 24, 42, 22} (100, 56)
+208 (22421222) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+209 (421222) [object Object]: { 0, 24, 42, 22} (100, 100)
+210 ( 1222) [object Object]: { 0, 24, 42, 22} (100, 100)
+211 (44 1222) [object Object]: { 44, 24, 42, 22} (100, 56)
+212 ( 1222) [object Object]: { 44, 24, 42, 22} (100, 56)
+213 (22 1222) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+214 ( 1222) [object Object]: { 0, 24, 42, 22} (100, 100)
+215 ( 211222) [object Object]: { 0, 24, 42, 22} (100, 100)
+216 (44211222) [object Object]: { 44, 24, 42, 22} (100, 56)
+217 ( 211222) [object Object]: { 44, 24, 42, 22} (100, 56)
+218 (22211222) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+219 (211222) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf
+valueOf
+220 ( 1222) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf
+valueOf
+221 (441222) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+222 ( 1222) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+223 (221222) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+224 (1222) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf
+valueOf
+225 ( 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf
+valueOf
+226 (44 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+227 ( 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+228 (22 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+229 ( 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf
+valueOf
+230 ( 4222) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf
+valueOf
+231 (444222) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+232 ( 4222) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+233 (224222) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+234 (4222) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf
+valueOf
+235 ( 22) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf
+valueOf
+236 (44 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+237 ( 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+238 (22 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+239 ( 22) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf
+valueOf
+240 ( 2122) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf
+valueOf
+241 (442122) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+242 ( 2122) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+243 (222122) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+244 (2122) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+245 ( 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+246 (4422) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+247 ( 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+248 (2222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+249 (22) [object Object]: { 0, 0, 0, 22} (100, 100)
+250 ( ) [object Object]: { 0, 0, 0, 22} (100, 100)
+251 (44 ) [object Object]: { 44, 0, 0, 22} (100, 56)
+252 ( ) [object Object]: { 44, 0, 0, 22} (100, 56)
+253 (22 ) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+254 ( ) [object Object]: { 0, 0, 0, 22} (100, 100)
+255 ( 42 ) [object Object]: { 0, 0, 42, 22} (100, 100)
+256 (4442 ) [object Object]: { 44, 0, 42, 22} (100, 56)
+257 ( 42 ) [object Object]: { 44, 0, 42, 22} (100, 56)
+258 (2242 ) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+259 (42 ) [object Object]: { 0, 0, 42, 22} (100, 100)
+260 ( ) [object Object]: { 0, 0, 42, 22} (100, 100)
+261 (44 ) [object Object]: { 44, 0, 42, 22} (100, 56)
+262 ( ) [object Object]: { 44, 0, 42, 22} (100, 56)
+263 (22 ) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+264 ( ) [object Object]: { 0, 0, 42, 22} (100, 100)
+265 ( 21 ) [object Object]: { 0, 0, 42, 22} (100, 100)
+266 (4421 ) [object Object]: { 44, 0, 42, 22} (100, 56)
+267 ( 21 ) [object Object]: { 44, 0, 42, 22} (100, 56)
+268 (2221 ) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+269 (21 ) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf
+valueOf
+270 ( ) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf
+valueOf
+271 (44 ) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+272 ( ) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+273 (22 ) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+274 ( ) [object Object]: { 0, 0, 0, 22} (100, 100)
+275 ( 24 ) [object Object]: { 0, 24, 0, 22} (100, 100)
+276 (44 24 ) [object Object]: { 44, 24, 0, 22} (100, 56)
+277 ( 24 ) [object Object]: { 44, 24, 0, 22} (100, 56)
+278 (22 24 ) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+279 ( 24 ) [object Object]: { 0, 24, 0, 22} (100, 100)
+280 ( 4224 ) [object Object]: { 0, 24, 42, 22} (100, 100)
+281 (444224 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+282 ( 4224 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+283 (224224 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+284 (4224 ) [object Object]: { 0, 24, 42, 22} (100, 100)
+285 ( 24 ) [object Object]: { 0, 24, 42, 22} (100, 100)
+286 (44 24 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+287 ( 24 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+288 (22 24 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+289 ( 24 ) [object Object]: { 0, 24, 42, 22} (100, 100)
+290 ( 2124 ) [object Object]: { 0, 24, 42, 22} (100, 100)
+291 (442124 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+292 ( 2124 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+293 (222124 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+294 (2124 ) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf
+valueOf
+295 ( 24 ) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf
+valueOf
+296 (4424 ) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+297 ( 24 ) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+298 (2224 ) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+299 (24 ) [object Object]: { 0, 24, 0, 22} (100, 100)
+300 ( ) [object Object]: { 0, 24, 0, 22} (100, 100)
+301 (44 ) [object Object]: { 44, 24, 0, 22} (100, 56)
+302 ( ) [object Object]: { 44, 24, 0, 22} (100, 56)
+303 (22 ) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+304 ( ) [object Object]: { 0, 24, 0, 22} (100, 100)
+305 ( 42 ) [object Object]: { 0, 24, 42, 22} (100, 100)
+306 (4442 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+307 ( 42 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+308 (2242 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+309 (42 ) [object Object]: { 0, 24, 42, 22} (100, 100)
+310 ( ) [object Object]: { 0, 24, 42, 22} (100, 100)
+311 (44 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+312 ( ) [object Object]: { 44, 24, 42, 22} (100, 56)
+313 (22 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+314 ( ) [object Object]: { 0, 24, 42, 22} (100, 100)
+315 ( 21 ) [object Object]: { 0, 24, 42, 22} (100, 100)
+316 (4421 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+317 ( 21 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+318 (2221 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+319 (21 ) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf
+valueOf
+320 ( ) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf
+valueOf
+321 (44 ) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+322 ( ) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+323 (22 ) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+324 ( ) [object Object]: { 0, 24, 0, 22} (100, 100)
+325 ( 12 ) [object Object]: { 0, 24, 0, 22} (100, 100)
+326 (44 12 ) [object Object]: { 44, 24, 0, 22} (100, 56)
+327 ( 12 ) [object Object]: { 44, 24, 0, 22} (100, 56)
+328 (22 12 ) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+329 ( 12 ) [object Object]: { 0, 24, 0, 22} (100, 100)
+330 ( 4212 ) [object Object]: { 0, 24, 42, 22} (100, 100)
+331 (444212 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+332 ( 4212 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+333 (224212 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+334 (4212 ) [object Object]: { 0, 24, 42, 22} (100, 100)
+335 ( 12 ) [object Object]: { 0, 24, 42, 22} (100, 100)
+336 (44 12 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+337 ( 12 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+338 (22 12 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+339 ( 12 ) [object Object]: { 0, 24, 42, 22} (100, 100)
+340 ( 2112 ) [object Object]: { 0, 24, 42, 22} (100, 100)
+341 (442112 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+342 ( 2112 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+343 (222112 ) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+344 (2112 ) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf
+valueOf
+345 ( 12 ) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf
+valueOf
+346 (4412 ) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+347 ( 12 ) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+348 (2212 ) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+349 (12 ) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf
+valueOf
+350 ( ) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf
+valueOf
+351 (44 ) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+352 ( ) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+353 (22 ) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+354 ( ) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf
+valueOf
+355 ( 42 ) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf
+valueOf
+356 (4442 ) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+357 ( 42 ) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+358 (2242 ) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+359 (42 ) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf
+valueOf
+360 ( ) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf
+valueOf
+361 (44 ) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+362 ( ) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+363 (22 ) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+364 ( ) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf
+valueOf
+365 ( 21 ) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf
+valueOf
+366 (4421 ) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+367 ( 21 ) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+368 (2221 ) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+369 (21 ) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+370 ( ) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+371 (44 ) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+372 ( ) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+373 (22 ) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+374 ( ) [object Object]: { 0, 0, 0, 22} (100, 100)
+375 ( 11) [object Object]: { 0, 0, 0, 22} (100, 100)
+376 (44 11) [object Object]: { 44, 0, 0, 22} (100, 56)
+377 ( 11) [object Object]: { 44, 0, 0, 22} (100, 56)
+378 (22 11) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+379 ( 11) [object Object]: { 0, 0, 0, 22} (100, 100)
+380 ( 42 11) [object Object]: { 0, 0, 42, 22} (100, 100)
+381 (4442 11) [object Object]: { 44, 0, 42, 22} (100, 56)
+382 ( 42 11) [object Object]: { 44, 0, 42, 22} (100, 56)
+383 (2242 11) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+384 (42 11) [object Object]: { 0, 0, 42, 22} (100, 100)
+385 ( 11) [object Object]: { 0, 0, 42, 22} (100, 100)
+386 (44 11) [object Object]: { 44, 0, 42, 22} (100, 56)
+387 ( 11) [object Object]: { 44, 0, 42, 22} (100, 56)
+388 (22 11) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+389 ( 11) [object Object]: { 0, 0, 42, 22} (100, 100)
+390 ( 21 11) [object Object]: { 0, 0, 42, 22} (100, 100)
+391 (4421 11) [object Object]: { 44, 0, 42, 22} (100, 56)
+392 ( 21 11) [object Object]: { 44, 0, 42, 22} (100, 56)
+393 (2221 11) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+394 (21 11) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf
+valueOf
+395 ( 11) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf
+valueOf
+396 (44 11) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+397 ( 11) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+398 (22 11) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+399 ( 11) [object Object]: { 0, 0, 0, 22} (100, 100)
+400 ( 2411) [object Object]: { 0, 24, 0, 22} (100, 100)
+401 (44 2411) [object Object]: { 44, 24, 0, 22} (100, 56)
+402 ( 2411) [object Object]: { 44, 24, 0, 22} (100, 56)
+403 (22 2411) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+404 ( 2411) [object Object]: { 0, 24, 0, 22} (100, 100)
+405 ( 422411) [object Object]: { 0, 24, 42, 22} (100, 100)
+406 (44422411) [object Object]: { 44, 24, 42, 22} (100, 56)
+407 ( 422411) [object Object]: { 44, 24, 42, 22} (100, 56)
+408 (22422411) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+409 (422411) [object Object]: { 0, 24, 42, 22} (100, 100)
+410 ( 2411) [object Object]: { 0, 24, 42, 22} (100, 100)
+411 (44 2411) [object Object]: { 44, 24, 42, 22} (100, 56)
+412 ( 2411) [object Object]: { 44, 24, 42, 22} (100, 56)
+413 (22 2411) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+414 ( 2411) [object Object]: { 0, 24, 42, 22} (100, 100)
+415 ( 212411) [object Object]: { 0, 24, 42, 22} (100, 100)
+416 (44212411) [object Object]: { 44, 24, 42, 22} (100, 56)
+417 ( 212411) [object Object]: { 44, 24, 42, 22} (100, 56)
+418 (22212411) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+419 (212411) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf
+valueOf
+420 ( 2411) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf
+valueOf
+421 (442411) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+422 ( 2411) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+423 (222411) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+424 (2411) [object Object]: { 0, 24, 0, 22} (100, 100)
+425 ( 11) [object Object]: { 0, 24, 0, 22} (100, 100)
+426 (44 11) [object Object]: { 44, 24, 0, 22} (100, 56)
+427 ( 11) [object Object]: { 44, 24, 0, 22} (100, 56)
+428 (22 11) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+429 ( 11) [object Object]: { 0, 24, 0, 22} (100, 100)
+430 ( 42 11) [object Object]: { 0, 24, 42, 22} (100, 100)
+431 (4442 11) [object Object]: { 44, 24, 42, 22} (100, 56)
+432 ( 42 11) [object Object]: { 44, 24, 42, 22} (100, 56)
+433 (2242 11) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+434 (42 11) [object Object]: { 0, 24, 42, 22} (100, 100)
+435 ( 11) [object Object]: { 0, 24, 42, 22} (100, 100)
+436 (44 11) [object Object]: { 44, 24, 42, 22} (100, 56)
+437 ( 11) [object Object]: { 44, 24, 42, 22} (100, 56)
+438 (22 11) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+439 ( 11) [object Object]: { 0, 24, 42, 22} (100, 100)
+440 ( 21 11) [object Object]: { 0, 24, 42, 22} (100, 100)
+441 (4421 11) [object Object]: { 44, 24, 42, 22} (100, 56)
+442 ( 21 11) [object Object]: { 44, 24, 42, 22} (100, 56)
+443 (2221 11) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+444 (21 11) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf
+valueOf
+445 ( 11) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf
+valueOf
+446 (44 11) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+447 ( 11) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+448 (22 11) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+449 ( 11) [object Object]: { 0, 24, 0, 22} (100, 100)
+450 ( 1211) [object Object]: { 0, 24, 0, 22} (100, 100)
+451 (44 1211) [object Object]: { 44, 24, 0, 22} (100, 56)
+452 ( 1211) [object Object]: { 44, 24, 0, 22} (100, 56)
+453 (22 1211) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+454 ( 1211) [object Object]: { 0, 24, 0, 22} (100, 100)
+455 ( 421211) [object Object]: { 0, 24, 42, 22} (100, 100)
+456 (44421211) [object Object]: { 44, 24, 42, 22} (100, 56)
+457 ( 421211) [object Object]: { 44, 24, 42, 22} (100, 56)
+458 (22421211) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+459 (421211) [object Object]: { 0, 24, 42, 22} (100, 100)
+460 ( 1211) [object Object]: { 0, 24, 42, 22} (100, 100)
+461 (44 1211) [object Object]: { 44, 24, 42, 22} (100, 56)
+462 ( 1211) [object Object]: { 44, 24, 42, 22} (100, 56)
+463 (22 1211) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+464 ( 1211) [object Object]: { 0, 24, 42, 22} (100, 100)
+465 ( 211211) [object Object]: { 0, 24, 42, 22} (100, 100)
+466 (44211211) [object Object]: { 44, 24, 42, 22} (100, 56)
+467 ( 211211) [object Object]: { 44, 24, 42, 22} (100, 56)
+468 (22211211) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf
+valueOf
+469 (211211) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf
+valueOf
+470 ( 1211) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf
+valueOf
+471 (441211) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+472 ( 1211) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+473 (221211) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+474 (1211) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf
+valueOf
+475 ( 11) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf
+valueOf
+476 (44 11) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+477 ( 11) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+478 (22 11) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+479 ( 11) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf
+valueOf
+480 ( 4211) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf
+valueOf
+481 (444211) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+482 ( 4211) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+483 (224211) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+484 (4211) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf
+valueOf
+485 ( 11) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf
+valueOf
+486 (44 11) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+487 ( 11) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+488 (22 11) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+489 ( 11) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf
+valueOf
+490 ( 2111) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf
+valueOf
+491 (442111) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+492 ( 2111) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+493 (222111) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+494 (2111) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+495 ( 11) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+496 (4411) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+497 ( 11) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+498 (2211) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+499 (11) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf
+valueOf
+500 ( ) [object Object]: { 0, 0, 0, 0} (100, 100)
+valueOf
+valueOf
+501 (44 ) [object Object]: { 44, 0, 0, 0} (100, 56)
+valueOf
+valueOf
+502 ( ) [object Object]: { 44, 0, 0, 0} (100, 56)
+valueOf
+valueOf
+503 (22 ) [object Object]: { 44, 0, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+504 ( ) [object Object]: { 0, 0, 0, 0} (100, 100)
+valueOf
+valueOf
+505 ( 42 ) [object Object]: { 0, 0, 42, 0} (100, 100)
+valueOf
+valueOf
+506 (4442 ) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf
+valueOf
+507 ( 42 ) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf
+valueOf
+508 (2242 ) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+509 (42 ) [object Object]: { 0, 0, 42, 0} (100, 100)
+valueOf
+valueOf
+510 ( ) [object Object]: { 0, 0, 42, 0} (100, 100)
+valueOf
+valueOf
+511 (44 ) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf
+valueOf
+512 ( ) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf
+valueOf
+513 (22 ) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+514 ( ) [object Object]: { 0, 0, 42, 0} (100, 100)
+valueOf
+valueOf
+515 ( 21 ) [object Object]: { 0, 0, 42, 0} (100, 100)
+valueOf
+valueOf
+516 (4421 ) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf
+valueOf
+517 ( 21 ) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf
+valueOf
+518 (2221 ) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+519 (21 ) [object Object]: { 0, 0, 42, 0} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+520 ( ) [object Object]: { 0, 0, 0, 0} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+521 (44 ) [object Object]: { 44, 0, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+522 ( ) [object Object]: { 44, 0, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+523 (22 ) [object Object]: { 44, 0, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+524 ( ) [object Object]: { 0, 0, 0, 0} (100, 100)
+valueOf
+valueOf
+525 ( 24) [object Object]: { 0, 24, 0, 0} (100, 100)
+valueOf
+valueOf
+526 (44 24) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf
+valueOf
+527 ( 24) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf
+valueOf
+528 (22 24) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+529 ( 24) [object Object]: { 0, 24, 0, 0} (100, 100)
+valueOf
+valueOf
+530 ( 4224) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf
+valueOf
+531 (444224) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+532 ( 4224) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+533 (224224) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+534 (4224) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf
+valueOf
+535 ( 24) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf
+valueOf
+536 (44 24) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+537 ( 24) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+538 (22 24) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+539 ( 24) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf
+valueOf
+540 ( 2124) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf
+valueOf
+541 (442124) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+542 ( 2124) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+543 (222124) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+544 (2124) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+545 ( 24) [object Object]: { 0, 24, 0, 0} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+546 (4424) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+547 ( 24) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+548 (2224) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+549 (24) [object Object]: { 0, 24, 0, 0} (100, 100)
+valueOf
+valueOf
+550 ( ) [object Object]: { 0, 24, 0, 0} (100, 100)
+valueOf
+valueOf
+551 (44 ) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf
+valueOf
+552 ( ) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf
+valueOf
+553 (22 ) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+554 ( ) [object Object]: { 0, 24, 0, 0} (100, 100)
+valueOf
+valueOf
+555 ( 42 ) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf
+valueOf
+556 (4442 ) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+557 ( 42 ) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+558 (2242 ) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+559 (42 ) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf
+valueOf
+560 ( ) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf
+valueOf
+561 (44 ) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+562 ( ) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+563 (22 ) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+564 ( ) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf
+valueOf
+565 ( 21 ) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf
+valueOf
+566 (4421 ) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+567 ( 21 ) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+568 (2221 ) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+569 (21 ) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+570 ( ) [object Object]: { 0, 24, 0, 0} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+571 (44 ) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+572 ( ) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+573 (22 ) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+574 ( ) [object Object]: { 0, 24, 0, 0} (100, 100)
+valueOf
+valueOf
+575 ( 12) [object Object]: { 0, 24, 0, 0} (100, 100)
+valueOf
+valueOf
+576 (44 12) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf
+valueOf
+577 ( 12) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf
+valueOf
+578 (22 12) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+579 ( 12) [object Object]: { 0, 24, 0, 0} (100, 100)
+valueOf
+valueOf
+580 ( 4212) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf
+valueOf
+581 (444212) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+582 ( 4212) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+583 (224212) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+584 (4212) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf
+valueOf
+585 ( 12) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf
+valueOf
+586 (44 12) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+587 ( 12) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+588 (22 12) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+589 ( 12) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf
+valueOf
+590 ( 2112) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf
+valueOf
+591 (442112) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+592 ( 2112) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+593 (222112) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+594 (2112) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+595 ( 12) [object Object]: { 0, 24, 0, 0} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+596 (4412) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+597 ( 12) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+598 (2212) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+599 (12) [object Object]: { 0, 24, 0, 0} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+600 ( ) [object Object]: { 0, 0, 0, 0} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+601 (44 ) [object Object]: { 44, 0, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+602 ( ) [object Object]: { 44, 0, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+603 (22 ) [object Object]: { 44, 0, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+604 ( ) [object Object]: { 0, 0, 0, 0} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+605 ( 42) [object Object]: { 0, 0, 42, 0} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+606 (4442) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+607 ( 42) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+608 (2242) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+609 (42) [object Object]: { 0, 0, 42, 0} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+610 ( ) [object Object]: { 0, 0, 42, 0} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+611 (44 ) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+612 ( ) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+613 (22 ) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+614 ( ) [object Object]: { 0, 0, 42, 0} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+615 ( 21) [object Object]: { 0, 0, 42, 0} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+616 (4421) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+617 ( 21) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+618 (2221) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+619 (21) [object Object]: { 0, 0, 42, 0} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+620 ( ) [object Object]: { 0, 0, 0, 0} (100, 100)
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+621 (44) [object Object]: { 44, 0, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+622 ( ) [object Object]: { 44, 0, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+623 (22) [object Object]: { 44, 0, 0, 0} (100, 56)
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+valueOf
+624 () [object Object]: { 0, 0, 0, 0} (100, 100)
diff --git a/test/trace/sound-setTransform-propertytypes-6.swf b/test/trace/sound-setTransform-propertytypes-6.swf
new file mode 100644
index 0000000..0a8980e
Binary files /dev/null and b/test/trace/sound-setTransform-propertytypes-6.swf differ
diff --git a/test/trace/sound-setTransform-propertytypes-6.swf.trace b/test/trace/sound-setTransform-propertytypes-6.swf.trace
new file mode 100644
index 0000000..e366510
--- /dev/null
+++ b/test/trace/sound-setTransform-propertytypes-6.swf.trace
@@ -0,0 +1,2625 @@
+0 ( ) [object Object]: { 100, 0, 0, 100} (100, 0)
+1 (44 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+2 (88 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+3 (22 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+4 (44 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+5 ( 42 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+6 (4442 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+ll
+ll
+7 (8842 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+8 (2242 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+9 (4442 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+lr
+lr
+10 ( 84 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+lr
+lr
+11 (4484 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+12 (8884 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+lr
+lr
+13 (2284 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+14 (4484 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+15 ( 21 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+16 (4421 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+17 (8821 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+18 (2221 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+19 (4421 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+20 ( 42 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+21 (4442 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+22 (8842 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+23 (2242 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+24 (4442 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+25 ( 24 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+26 (44 24 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+ll
+ll
+27 (88 24 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+28 (22 24 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+29 (44 24 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+30 ( 4224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+31 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+ll
+ll
+32 (884224 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+33 (224224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+34 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+lr
+lr
+35 ( 8424 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+lr
+lr
+36 (448424 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+37 (888424 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+lr
+lr
+38 (228424 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+39 (448424 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+40 ( 2124 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+41 (442124 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+ll
+ll
+42 (882124 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+43 (222124 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+44 (442124 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+45 ( 4224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+46 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+47 (884224 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+48 (224224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+49 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+rl
+rl
+50 ( 48 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+rl
+rl
+51 (44 48 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+rl
+rl
+52 (88 48 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+rl
+rl
+53 (22 48 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+rl
+rl
+54 (44 48 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+rl
+rl
+55 ( 4248 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+rl
+rl
+56 (444248 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+ll
+ll
+rl
+rl
+57 (884248 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+rl
+rl
+58 (224248 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+rl
+rl
+59 (444248 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+lr
+lr
+rl
+rl
+60 ( 8448 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+lr
+lr
+rl
+rl
+61 (448448 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+rl
+rl
+62 (888448 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+lr
+lr
+rl
+rl
+63 (228448 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+rl
+rl
+64 (448448 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+rl
+rl
+65 ( 2148 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+rl
+rl
+66 (442148 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+rl
+rl
+67 (882148 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+rl
+rl
+68 (222148 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+rl
+rl
+69 (442148 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+rl
+rl
+70 ( 4248 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+rl
+rl
+71 (444248 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+rl
+rl
+72 (884248 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+rl
+rl
+73 (224248 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+rl
+rl
+74 (444248 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+75 ( 12 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+76 (44 12 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+77 (88 12 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+78 (22 12 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+79 (44 12 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+80 ( 4212 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+81 (444212 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+ll
+ll
+82 (884212 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+83 (224212 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+84 (444212 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+lr
+lr
+85 ( 8412 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+lr
+lr
+86 (448412 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+87 (888412 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+lr
+lr
+88 (228412 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+89 (448412 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+90 ( 2112 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+91 (442112 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+92 (882112 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+93 (222112 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+94 (442112 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+95 ( 4212 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+96 (444212 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+97 (884212 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+98 (224212 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+99 (444212 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf rl
+valueOf rl
+100 ( 24 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf rl
+valueOf rl
+101 (44 24 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+102 (88 24 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf rl
+valueOf rl
+103 (22 24 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+104 (44 24 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+valueOf rl
+105 ( 4224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf rl
+valueOf rl
+106 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+107 (884224 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+valueOf rl
+valueOf rl
+108 (224224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+109 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf rl
+lr
+lr
+valueOf rl
+110 ( 8424 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf rl
+lr
+lr
+valueOf rl
+111 (448424 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+ll
+ll
+lr
+lr
+valueOf rl
+112 (888424 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf rl
+lr
+lr
+valueOf rl
+113 (228424 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+lr
+lr
+valueOf rl
+114 (448424 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+valueOf rl
+115 ( 2124 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf rl
+valueOf rl
+116 (442124 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+117 (882124 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf rl
+valueOf rl
+118 (222124 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+119 (442124 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+120 ( 4224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+121 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf lr
+valueOf rl
+ll
+ll
+valueOf lr
+valueOf rl
+122 (884224 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+123 (224224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf rl
+valueOf ll
+valueOf lr
+valueOf rl
+124 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+125 ( 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+126 (44 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+127 (88 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+128 (22 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+129 (44 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+130 ( 42 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+131 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+ll
+ll
+132 (8842 22) [object Object]: { 0, 0, 42, 22} (100, 100)
+133 (2242 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf ll
+134 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+lr
+lr
+135 ( 84 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+lr
+lr
+136 (4484 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+lr
+lr
+137 (8884 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+lr
+lr
+138 (2284 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+lr
+lr
+139 (4484 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+140 ( 21 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+141 (4421 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+142 (8821 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+143 (2221 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+144 (4421 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf lr
+valueOf lr
+145 ( 42 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf lr
+valueOf lr
+146 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+147 (8842 22) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf lr
+valueOf lr
+148 (2242 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+149 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+150 ( 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+151 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+ll
+ll
+152 (88 2422) [object Object]: { 0, 24, 0, 22} (100, 100)
+153 (22 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+154 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+155 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+156 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+ll
+ll
+157 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+158 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf ll
+159 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+lr
+lr
+160 ( 842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+lr
+lr
+161 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+ll
+ll
+lr
+lr
+162 (88842422) [object Object]: { 0, 24, 0, 22} (100, 100)
+lr
+lr
+163 (22842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+lr
+lr
+164 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+165 ( 212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+166 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+ll
+ll
+167 (88212422) [object Object]: { 0, 24, 0, 22} (100, 100)
+168 (22212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+169 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf lr
+valueOf lr
+170 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf lr
+valueOf lr
+171 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+172 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf lr
+valueOf lr
+173 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+174 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+rl
+rl
+175 ( 4822) [object Object]: { 100, 0, 0, 22} (100, -78)
+rl
+rl
+176 (44 4822) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+rl
+rl
+177 (88 4822) [object Object]: { 0, 0, 0, 22} (100, 100)
+rl
+rl
+178 (22 4822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+rl
+rl
+179 (44 4822) [object Object]: { 44, 0, 0, 22} (100, 56)
+rl
+rl
+180 ( 424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+rl
+rl
+181 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+ll
+ll
+rl
+rl
+182 (88424822) [object Object]: { 0, 0, 42, 22} (100, 100)
+rl
+rl
+183 (22424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf ll
+rl
+rl
+184 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+lr
+lr
+rl
+rl
+185 ( 844822) [object Object]: { 100, 0, 0, 22} (100, -78)
+lr
+lr
+rl
+rl
+186 (44844822) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+lr
+lr
+rl
+rl
+187 (88844822) [object Object]: { 0, 0, 0, 22} (100, 100)
+lr
+lr
+rl
+rl
+188 (22844822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+lr
+lr
+rl
+rl
+189 (44844822) [object Object]: { 44, 0, 0, 22} (100, 56)
+rl
+rl
+190 ( 214822) [object Object]: { 100, 0, 0, 22} (100, -78)
+rl
+rl
+191 (44214822) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+rl
+rl
+192 (88214822) [object Object]: { 0, 0, 0, 22} (100, 100)
+rl
+rl
+193 (22214822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+rl
+rl
+194 (44214822) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf lr
+valueOf lr
+rl
+rl
+195 ( 424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf lr
+valueOf lr
+rl
+rl
+196 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+rl
+rl
+197 (88424822) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf lr
+valueOf lr
+rl
+rl
+198 (22424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+rl
+rl
+199 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+200 ( 1222) [object Object]: { 100, 0, 0, 22} (100, -78)
+201 (44 1222) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+202 (88 1222) [object Object]: { 0, 0, 0, 22} (100, 100)
+203 (22 1222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+204 (44 1222) [object Object]: { 44, 0, 0, 22} (100, 56)
+205 ( 421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+206 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+ll
+ll
+207 (88421222) [object Object]: { 0, 0, 42, 22} (100, 100)
+208 (22421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf ll
+209 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+lr
+lr
+210 ( 841222) [object Object]: { 100, 0, 0, 22} (100, -78)
+lr
+lr
+211 (44841222) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+lr
+lr
+212 (88841222) [object Object]: { 0, 0, 0, 22} (100, 100)
+lr
+lr
+213 (22841222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+lr
+lr
+214 (44841222) [object Object]: { 44, 0, 0, 22} (100, 56)
+215 ( 211222) [object Object]: { 100, 0, 0, 22} (100, -78)
+216 (44211222) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+217 (88211222) [object Object]: { 0, 0, 0, 22} (100, 100)
+218 (22211222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+219 (44211222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf lr
+valueOf lr
+220 ( 421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf lr
+valueOf lr
+221 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+222 (88421222) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf lr
+valueOf lr
+223 (22421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+224 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rl
+valueOf rl
+225 ( 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rl
+valueOf rl
+226 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+227 (88 2422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rl
+valueOf rl
+228 (22 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+229 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rl
+valueOf rl
+230 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf rl
+valueOf rl
+231 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+232 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf rl
+valueOf rl
+233 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+234 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf rl
+lr
+lr
+valueOf rl
+235 ( 842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rl
+lr
+lr
+valueOf rl
+236 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rl
+ll
+ll
+lr
+lr
+valueOf rl
+237 (88842422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rl
+lr
+lr
+valueOf rl
+238 (22842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rl
+valueOf ll
+lr
+lr
+valueOf rl
+239 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rl
+valueOf rl
+240 ( 212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rl
+valueOf rl
+241 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+242 (88212422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rl
+valueOf rl
+243 (22212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+244 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+245 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+246 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf lr
+valueOf rl
+ll
+ll
+valueOf lr
+valueOf rl
+247 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+248 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf rl
+valueOf ll
+valueOf lr
+valueOf rl
+249 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+rr
+rr
+250 ( 44) [object Object]: { 100, 0, 0, 0} (100, -100)
+rr
+rr
+251 (44 44) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+rr
+rr
+252 (88 44) [object Object]: { 0, 0, 0, 0} (100, 100)
+rr
+rr
+253 (22 44) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+254 (44 44) [object Object]: { 44, 0, 0, 0} (100, 56)
+rr
+rr
+255 ( 42 44) [object Object]: { 100, 0, 42, 0} (100, -100)
+rr
+rr
+256 (4442 44) [object Object]: { 44, 0, 42, 0} (100, 56)
+ll
+ll
+rr
+rr
+257 (8842 44) [object Object]: { 0, 0, 42, 0} (100, 100)
+rr
+rr
+258 (2242 44) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+259 (4442 44) [object Object]: { 44, 0, 42, 0} (100, 56)
+lr
+lr
+rr
+rr
+260 ( 84 44) [object Object]: { 100, 0, 0, 0} (100, -100)
+lr
+lr
+rr
+rr
+261 (4484 44) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+lr
+lr
+rr
+rr
+262 (8884 44) [object Object]: { 0, 0, 0, 0} (100, 100)
+lr
+lr
+rr
+rr
+263 (2284 44) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+lr
+lr
+rr
+rr
+264 (4484 44) [object Object]: { 44, 0, 0, 0} (100, 56)
+rr
+rr
+265 ( 21 44) [object Object]: { 100, 0, 0, 0} (100, -100)
+rr
+rr
+266 (4421 44) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+rr
+rr
+267 (8821 44) [object Object]: { 0, 0, 0, 0} (100, 100)
+rr
+rr
+268 (2221 44) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+269 (4421 44) [object Object]: { 44, 0, 0, 0} (100, 56)
+valueOf lr
+valueOf lr
+rr
+rr
+270 ( 42 44) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf lr
+valueOf lr
+rr
+rr
+271 (4442 44) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+rr
+rr
+272 (8842 44) [object Object]: { 0, 0, 42, 0} (100, 100)
+valueOf lr
+valueOf lr
+rr
+rr
+273 (2242 44) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+rr
+rr
+274 (4442 44) [object Object]: { 44, 0, 42, 0} (100, 56)
+rr
+rr
+275 ( 2444) [object Object]: { 100, 24, 0, 0} (100, -100)
+rr
+rr
+276 (44 2444) [object Object]: { 44, 24, 0, 0} (100, 56)
+ll
+ll
+rr
+rr
+277 (88 2444) [object Object]: { 0, 24, 0, 0} (100, 100)
+rr
+rr
+278 (22 2444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+279 (44 2444) [object Object]: { 44, 24, 0, 0} (100, 56)
+rr
+rr
+280 ( 422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+rr
+rr
+281 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+ll
+ll
+rr
+rr
+282 (88422444) [object Object]: { 0, 24, 42, 0} (100, 100)
+rr
+rr
+283 (22422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+284 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+lr
+lr
+rr
+rr
+285 ( 842444) [object Object]: { 100, 24, 0, 0} (100, -100)
+lr
+lr
+rr
+rr
+286 (44842444) [object Object]: { 44, 24, 0, 0} (100, 56)
+ll
+ll
+lr
+lr
+rr
+rr
+287 (88842444) [object Object]: { 0, 24, 0, 0} (100, 100)
+lr
+lr
+rr
+rr
+288 (22842444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+lr
+lr
+rr
+rr
+289 (44842444) [object Object]: { 44, 24, 0, 0} (100, 56)
+rr
+rr
+290 ( 212444) [object Object]: { 100, 24, 0, 0} (100, -100)
+rr
+rr
+291 (44212444) [object Object]: { 44, 24, 0, 0} (100, 56)
+ll
+ll
+rr
+rr
+292 (88212444) [object Object]: { 0, 24, 0, 0} (100, 100)
+rr
+rr
+293 (22212444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+294 (44212444) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf lr
+valueOf lr
+rr
+rr
+295 ( 422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+valueOf lr
+valueOf lr
+rr
+rr
+296 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+rr
+rr
+297 (88422444) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf lr
+valueOf lr
+rr
+rr
+298 (22422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+rr
+rr
+299 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+rl
+rl
+rr
+rr
+300 ( 4844) [object Object]: { 100, 0, 0, 0} (100, -100)
+rl
+rl
+rr
+rr
+301 (44 4844) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+rl
+rl
+rr
+rr
+302 (88 4844) [object Object]: { 0, 0, 0, 0} (100, 100)
+rl
+rl
+rr
+rr
+303 (22 4844) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rl
+rl
+rr
+rr
+304 (44 4844) [object Object]: { 44, 0, 0, 0} (100, 56)
+rl
+rl
+rr
+rr
+305 ( 424844) [object Object]: { 100, 0, 42, 0} (100, -100)
+rl
+rl
+rr
+rr
+306 (44424844) [object Object]: { 44, 0, 42, 0} (100, 56)
+ll
+ll
+rl
+rl
+rr
+rr
+307 (88424844) [object Object]: { 0, 0, 42, 0} (100, 100)
+rl
+rl
+rr
+rr
+308 (22424844) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf ll
+valueOf ll
+rl
+rl
+rr
+rr
+309 (44424844) [object Object]: { 44, 0, 42, 0} (100, 56)
+lr
+lr
+rl
+rl
+rr
+rr
+310 ( 844844) [object Object]: { 100, 0, 0, 0} (100, -100)
+lr
+lr
+rl
+rl
+rr
+rr
+311 (44844844) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+lr
+lr
+rl
+rl
+rr
+rr
+312 (88844844) [object Object]: { 0, 0, 0, 0} (100, 100)
+lr
+lr
+rl
+rl
+rr
+rr
+313 (22844844) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+lr
+lr
+rl
+rl
+rr
+rr
+314 (44844844) [object Object]: { 44, 0, 0, 0} (100, 56)
+rl
+rl
+rr
+rr
+315 ( 214844) [object Object]: { 100, 0, 0, 0} (100, -100)
+rl
+rl
+rr
+rr
+316 (44214844) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+rl
+rl
+rr
+rr
+317 (88214844) [object Object]: { 0, 0, 0, 0} (100, 100)
+rl
+rl
+rr
+rr
+318 (22214844) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rl
+rl
+rr
+rr
+319 (44214844) [object Object]: { 44, 0, 0, 0} (100, 56)
+valueOf lr
+valueOf lr
+rl
+rl
+rr
+rr
+320 ( 424844) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf lr
+valueOf lr
+rl
+rl
+rr
+rr
+321 (44424844) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+rl
+rl
+rr
+rr
+322 (88424844) [object Object]: { 0, 0, 42, 0} (100, 100)
+valueOf lr
+valueOf lr
+rl
+rl
+rr
+rr
+323 (22424844) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+rl
+rl
+rr
+rr
+324 (44424844) [object Object]: { 44, 0, 42, 0} (100, 56)
+rr
+rr
+325 ( 1244) [object Object]: { 100, 0, 0, 0} (100, -100)
+rr
+rr
+326 (44 1244) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+rr
+rr
+327 (88 1244) [object Object]: { 0, 0, 0, 0} (100, 100)
+rr
+rr
+328 (22 1244) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+329 (44 1244) [object Object]: { 44, 0, 0, 0} (100, 56)
+rr
+rr
+330 ( 421244) [object Object]: { 100, 0, 42, 0} (100, -100)
+rr
+rr
+331 (44421244) [object Object]: { 44, 0, 42, 0} (100, 56)
+ll
+ll
+rr
+rr
+332 (88421244) [object Object]: { 0, 0, 42, 0} (100, 100)
+rr
+rr
+333 (22421244) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+334 (44421244) [object Object]: { 44, 0, 42, 0} (100, 56)
+lr
+lr
+rr
+rr
+335 ( 841244) [object Object]: { 100, 0, 0, 0} (100, -100)
+lr
+lr
+rr
+rr
+336 (44841244) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+lr
+lr
+rr
+rr
+337 (88841244) [object Object]: { 0, 0, 0, 0} (100, 100)
+lr
+lr
+rr
+rr
+338 (22841244) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+lr
+lr
+rr
+rr
+339 (44841244) [object Object]: { 44, 0, 0, 0} (100, 56)
+rr
+rr
+340 ( 211244) [object Object]: { 100, 0, 0, 0} (100, -100)
+rr
+rr
+341 (44211244) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+rr
+rr
+342 (88211244) [object Object]: { 0, 0, 0, 0} (100, 100)
+rr
+rr
+343 (22211244) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+344 (44211244) [object Object]: { 44, 0, 0, 0} (100, 56)
+valueOf lr
+valueOf lr
+rr
+rr
+345 ( 421244) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf lr
+valueOf lr
+rr
+rr
+346 (44421244) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+rr
+rr
+347 (88421244) [object Object]: { 0, 0, 42, 0} (100, 100)
+valueOf lr
+valueOf lr
+rr
+rr
+348 (22421244) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+rr
+rr
+349 (44421244) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf rl
+valueOf rl
+rr
+rr
+350 ( 2444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf rl
+valueOf rl
+rr
+rr
+351 (44 2444) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+rr
+rr
+352 (88 2444) [object Object]: { 0, 24, 0, 0} (100, 100)
+valueOf rl
+valueOf rl
+rr
+rr
+353 (22 2444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+rr
+rr
+354 (44 2444) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf rl
+valueOf rl
+rr
+rr
+355 ( 422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+valueOf rl
+valueOf rl
+rr
+rr
+356 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+rr
+rr
+357 (88422444) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf rl
+valueOf rl
+rr
+rr
+358 (22422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+rr
+rr
+359 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf rl
+lr
+lr
+valueOf rl
+rr
+rr
+360 ( 842444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf rl
+lr
+lr
+valueOf rl
+rr
+rr
+361 (44842444) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf rl
+ll
+ll
+lr
+lr
+valueOf rl
+rr
+rr
+362 (88842444) [object Object]: { 0, 24, 0, 0} (100, 100)
+valueOf rl
+lr
+lr
+valueOf rl
+rr
+rr
+363 (22842444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf ll
+valueOf rl
+valueOf ll
+lr
+lr
+valueOf rl
+rr
+rr
+364 (44842444) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf rl
+valueOf rl
+rr
+rr
+365 ( 212444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf rl
+valueOf rl
+rr
+rr
+366 (44212444) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+rr
+rr
+367 (88212444) [object Object]: { 0, 24, 0, 0} (100, 100)
+valueOf rl
+valueOf rl
+rr
+rr
+368 (22212444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+rr
+rr
+369 (44212444) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+rr
+rr
+370 ( 422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+rr
+rr
+371 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf lr
+valueOf rl
+ll
+ll
+valueOf lr
+valueOf rl
+rr
+rr
+372 (88422444) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+rr
+rr
+373 (22422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+valueOf ll
+valueOf lr
+valueOf rl
+valueOf ll
+valueOf lr
+valueOf rl
+rr
+rr
+374 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+375 ( 11) [object Object]: { 100, 0, 0, 100} (100, 0)
+376 (44 11) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+377 (88 11) [object Object]: { 0, 0, 0, 100} (100, 100)
+378 (22 11) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+379 (44 11) [object Object]: { 44, 0, 0, 100} (100, 56)
+380 ( 42 11) [object Object]: { 100, 0, 42, 100} (100, 0)
+381 (4442 11) [object Object]: { 44, 0, 42, 100} (100, 56)
+ll
+ll
+382 (8842 11) [object Object]: { 0, 0, 42, 100} (100, 100)
+383 (2242 11) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+384 (4442 11) [object Object]: { 44, 0, 42, 100} (100, 56)
+lr
+lr
+385 ( 84 11) [object Object]: { 100, 0, 0, 100} (100, 0)
+lr
+lr
+386 (4484 11) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+387 (8884 11) [object Object]: { 0, 0, 0, 100} (100, 100)
+lr
+lr
+388 (2284 11) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+389 (4484 11) [object Object]: { 44, 0, 0, 100} (100, 56)
+390 ( 21 11) [object Object]: { 100, 0, 0, 100} (100, 0)
+391 (4421 11) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+392 (8821 11) [object Object]: { 0, 0, 0, 100} (100, 100)
+393 (2221 11) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+394 (4421 11) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+395 ( 42 11) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+396 (4442 11) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+397 (8842 11) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+398 (2242 11) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+399 (4442 11) [object Object]: { 44, 0, 42, 100} (100, 56)
+400 ( 2411) [object Object]: { 100, 24, 0, 100} (100, 0)
+401 (44 2411) [object Object]: { 44, 24, 0, 100} (100, 56)
+ll
+ll
+402 (88 2411) [object Object]: { 0, 24, 0, 100} (100, 100)
+403 (22 2411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+404 (44 2411) [object Object]: { 44, 24, 0, 100} (100, 56)
+405 ( 422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+406 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+ll
+ll
+407 (88422411) [object Object]: { 0, 24, 42, 100} (100, 100)
+408 (22422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+409 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+lr
+lr
+410 ( 842411) [object Object]: { 100, 24, 0, 100} (100, 0)
+lr
+lr
+411 (44842411) [object Object]: { 44, 24, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+412 (88842411) [object Object]: { 0, 24, 0, 100} (100, 100)
+lr
+lr
+413 (22842411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+414 (44842411) [object Object]: { 44, 24, 0, 100} (100, 56)
+415 ( 212411) [object Object]: { 100, 24, 0, 100} (100, 0)
+416 (44212411) [object Object]: { 44, 24, 0, 100} (100, 56)
+ll
+ll
+417 (88212411) [object Object]: { 0, 24, 0, 100} (100, 100)
+418 (22212411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+419 (44212411) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+420 ( 422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+421 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+422 (88422411) [object Object]: { 0, 24, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+423 (22422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+424 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+rl
+rl
+425 ( 4811) [object Object]: { 100, 0, 0, 100} (100, 0)
+rl
+rl
+426 (44 4811) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+rl
+rl
+427 (88 4811) [object Object]: { 0, 0, 0, 100} (100, 100)
+rl
+rl
+428 (22 4811) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+rl
+rl
+429 (44 4811) [object Object]: { 44, 0, 0, 100} (100, 56)
+rl
+rl
+430 ( 424811) [object Object]: { 100, 0, 42, 100} (100, 0)
+rl
+rl
+431 (44424811) [object Object]: { 44, 0, 42, 100} (100, 56)
+ll
+ll
+rl
+rl
+432 (88424811) [object Object]: { 0, 0, 42, 100} (100, 100)
+rl
+rl
+433 (22424811) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+rl
+rl
+434 (44424811) [object Object]: { 44, 0, 42, 100} (100, 56)
+lr
+lr
+rl
+rl
+435 ( 844811) [object Object]: { 100, 0, 0, 100} (100, 0)
+lr
+lr
+rl
+rl
+436 (44844811) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+rl
+rl
+437 (88844811) [object Object]: { 0, 0, 0, 100} (100, 100)
+lr
+lr
+rl
+rl
+438 (22844811) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+rl
+rl
+439 (44844811) [object Object]: { 44, 0, 0, 100} (100, 56)
+rl
+rl
+440 ( 214811) [object Object]: { 100, 0, 0, 100} (100, 0)
+rl
+rl
+441 (44214811) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+rl
+rl
+442 (88214811) [object Object]: { 0, 0, 0, 100} (100, 100)
+rl
+rl
+443 (22214811) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+rl
+rl
+444 (44214811) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+rl
+rl
+445 ( 424811) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+rl
+rl
+446 (44424811) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+rl
+rl
+447 (88424811) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+rl
+rl
+448 (22424811) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+rl
+rl
+449 (44424811) [object Object]: { 44, 0, 42, 100} (100, 56)
+450 ( 1211) [object Object]: { 100, 0, 0, 100} (100, 0)
+451 (44 1211) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+452 (88 1211) [object Object]: { 0, 0, 0, 100} (100, 100)
+453 (22 1211) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+454 (44 1211) [object Object]: { 44, 0, 0, 100} (100, 56)
+455 ( 421211) [object Object]: { 100, 0, 42, 100} (100, 0)
+456 (44421211) [object Object]: { 44, 0, 42, 100} (100, 56)
+ll
+ll
+457 (88421211) [object Object]: { 0, 0, 42, 100} (100, 100)
+458 (22421211) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+459 (44421211) [object Object]: { 44, 0, 42, 100} (100, 56)
+lr
+lr
+460 ( 841211) [object Object]: { 100, 0, 0, 100} (100, 0)
+lr
+lr
+461 (44841211) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+462 (88841211) [object Object]: { 0, 0, 0, 100} (100, 100)
+lr
+lr
+463 (22841211) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+464 (44841211) [object Object]: { 44, 0, 0, 100} (100, 56)
+465 ( 211211) [object Object]: { 100, 0, 0, 100} (100, 0)
+466 (44211211) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+467 (88211211) [object Object]: { 0, 0, 0, 100} (100, 100)
+468 (22211211) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+469 (44211211) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+470 ( 421211) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+471 (44421211) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+472 (88421211) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+473 (22421211) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+474 (44421211) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf rl
+valueOf rl
+475 ( 2411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf rl
+valueOf rl
+476 (44 2411) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+477 (88 2411) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf rl
+valueOf rl
+478 (22 2411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+479 (44 2411) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+valueOf rl
+480 ( 422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf rl
+valueOf rl
+481 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+482 (88422411) [object Object]: { 0, 24, 42, 100} (100, 100)
+valueOf rl
+valueOf rl
+483 (22422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+484 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf rl
+lr
+lr
+valueOf rl
+485 ( 842411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf rl
+lr
+lr
+valueOf rl
+486 (44842411) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+ll
+ll
+lr
+lr
+valueOf rl
+487 (88842411) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf rl
+lr
+lr
+valueOf rl
+488 (22842411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+lr
+lr
+valueOf rl
+489 (44842411) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+valueOf rl
+490 ( 212411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf rl
+valueOf rl
+491 (44212411) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+492 (88212411) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf rl
+valueOf rl
+493 (22212411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+494 (44212411) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+495 ( 422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+496 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf lr
+valueOf rl
+ll
+ll
+valueOf lr
+valueOf rl
+497 (88422411) [object Object]: { 0, 24, 42, 100} (100, 100)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+498 (22422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf rl
+valueOf ll
+valueOf lr
+valueOf rl
+499 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf rr
+valueOf rr
+500 ( 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+valueOf rr
+501 (44 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+502 (88 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+valueOf rr
+503 (22 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+504 (44 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+valueOf rr
+505 ( 42 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf rr
+valueOf rr
+506 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+507 (8842 22) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf rr
+valueOf rr
+508 (2242 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+509 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+lr
+lr
+valueOf rr
+510 ( 84 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+lr
+lr
+valueOf rr
+511 (4484 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+lr
+lr
+valueOf rr
+512 (8884 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+lr
+lr
+valueOf rr
+513 (2284 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+lr
+lr
+valueOf rr
+514 (4484 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+valueOf rr
+515 ( 21 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+valueOf rr
+516 (4421 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+517 (8821 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+valueOf rr
+518 (2221 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+519 (4421 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+520 ( 42 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+521 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf lr
+valueOf rr
+ll
+ll
+valueOf lr
+valueOf rr
+522 (8842 22) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+523 (2242 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf rr
+valueOf ll
+valueOf lr
+valueOf rr
+524 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+valueOf rr
+525 ( 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rr
+valueOf rr
+526 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+527 (88 2422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rr
+valueOf rr
+528 (22 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+529 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+valueOf rr
+530 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf rr
+valueOf rr
+531 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+532 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf rr
+valueOf rr
+533 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+534 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf rr
+lr
+lr
+valueOf rr
+535 ( 842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rr
+lr
+lr
+valueOf rr
+536 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+lr
+lr
+valueOf rr
+537 (88842422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rr
+lr
+lr
+valueOf rr
+538 (22842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+lr
+lr
+valueOf rr
+539 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+valueOf rr
+540 ( 212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rr
+valueOf rr
+541 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+542 (88212422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rr
+valueOf rr
+543 (22212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+544 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+545 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+546 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf lr
+valueOf rr
+ll
+ll
+valueOf lr
+valueOf rr
+547 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+548 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf rr
+valueOf ll
+valueOf lr
+valueOf rr
+549 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf rr
+rl
+rl
+valueOf rr
+550 ( 4822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+rl
+rl
+valueOf rr
+551 (44 4822) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+rl
+rl
+valueOf rr
+552 (88 4822) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+rl
+rl
+valueOf rr
+553 (22 4822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+rl
+rl
+valueOf rr
+554 (44 4822) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+rl
+rl
+valueOf rr
+555 ( 424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf rr
+rl
+rl
+valueOf rr
+556 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+ll
+ll
+rl
+rl
+valueOf rr
+557 (88424822) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf rr
+rl
+rl
+valueOf rr
+558 (22424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+rl
+rl
+valueOf rr
+559 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+lr
+lr
+rl
+rl
+valueOf rr
+560 ( 844822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+lr
+lr
+rl
+rl
+valueOf rr
+561 (44844822) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+lr
+lr
+rl
+rl
+valueOf rr
+562 (88844822) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+lr
+lr
+rl
+rl
+valueOf rr
+563 (22844822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+lr
+lr
+rl
+rl
+valueOf rr
+564 (44844822) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+rl
+rl
+valueOf rr
+565 ( 214822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+rl
+rl
+valueOf rr
+566 (44214822) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+rl
+rl
+valueOf rr
+567 (88214822) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+rl
+rl
+valueOf rr
+568 (22214822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+rl
+rl
+valueOf rr
+569 (44214822) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf lr
+valueOf rr
+valueOf lr
+rl
+rl
+valueOf rr
+570 ( 424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf lr
+valueOf rr
+valueOf lr
+rl
+rl
+valueOf rr
+571 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf lr
+valueOf rr
+ll
+ll
+valueOf lr
+rl
+rl
+valueOf rr
+572 (88424822) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf lr
+valueOf rr
+valueOf lr
+rl
+rl
+valueOf rr
+573 (22424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf rr
+valueOf ll
+valueOf lr
+rl
+rl
+valueOf rr
+574 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+valueOf rr
+575 ( 1222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+valueOf rr
+576 (44 1222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+577 (88 1222) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+valueOf rr
+578 (22 1222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+579 (44 1222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+valueOf rr
+580 ( 421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf rr
+valueOf rr
+581 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+582 (88421222) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf rr
+valueOf rr
+583 (22421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+584 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+lr
+lr
+valueOf rr
+585 ( 841222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+lr
+lr
+valueOf rr
+586 (44841222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+lr
+lr
+valueOf rr
+587 (88841222) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+lr
+lr
+valueOf rr
+588 (22841222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+lr
+lr
+valueOf rr
+589 (44841222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+valueOf rr
+590 ( 211222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+valueOf rr
+591 (44211222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+592 (88211222) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+valueOf rr
+593 (22211222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+594 (44211222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+595 ( 421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+596 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf lr
+valueOf rr
+ll
+ll
+valueOf lr
+valueOf rr
+597 (88421222) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+598 (22421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf rr
+valueOf ll
+valueOf lr
+valueOf rr
+599 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+600 ( 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+601 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+valueOf rl
+ll
+ll
+valueOf rl
+valueOf rr
+602 (88 2422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+603 (22 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf rl
+valueOf ll
+valueOf rl
+valueOf rr
+604 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+605 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+606 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf rr
+valueOf rl
+ll
+ll
+valueOf rl
+valueOf rr
+607 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+608 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf rl
+valueOf ll
+valueOf rl
+valueOf rr
+609 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf rr
+valueOf rl
+lr
+lr
+valueOf rl
+valueOf rr
+610 ( 842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rr
+valueOf rl
+lr
+lr
+valueOf rl
+valueOf rr
+611 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+valueOf rl
+ll
+ll
+lr
+lr
+valueOf rl
+valueOf rr
+612 (88842422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rr
+valueOf rl
+lr
+lr
+valueOf rl
+valueOf rr
+613 (22842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf rl
+valueOf ll
+lr
+lr
+valueOf rl
+valueOf rr
+614 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+615 ( 212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+616 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+valueOf rl
+ll
+ll
+valueOf rl
+valueOf rr
+617 (88212422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+618 (22212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf rl
+valueOf ll
+valueOf rl
+valueOf rr
+619 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf lr
+valueOf rr
+valueOf rl
+valueOf lr
+valueOf rl
+valueOf rr
+620 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf lr
+valueOf rr
+valueOf rl
+valueOf lr
+valueOf rl
+valueOf rr
+621 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf lr
+valueOf rr
+valueOf rl
+ll
+ll
+valueOf lr
+valueOf rl
+valueOf rr
+622 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf lr
+valueOf rr
+valueOf rl
+valueOf lr
+valueOf rl
+valueOf rr
+623 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf rr
+valueOf rl
+valueOf ll
+valueOf lr
+valueOf rl
+valueOf rr
+624 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
diff --git a/test/trace/sound-setTransform-propertytypes-7.swf b/test/trace/sound-setTransform-propertytypes-7.swf
new file mode 100644
index 0000000..7327ebd
Binary files /dev/null and b/test/trace/sound-setTransform-propertytypes-7.swf differ
diff --git a/test/trace/sound-setTransform-propertytypes-7.swf.trace b/test/trace/sound-setTransform-propertytypes-7.swf.trace
new file mode 100644
index 0000000..e366510
--- /dev/null
+++ b/test/trace/sound-setTransform-propertytypes-7.swf.trace
@@ -0,0 +1,2625 @@
+0 ( ) [object Object]: { 100, 0, 0, 100} (100, 0)
+1 (44 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+2 (88 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+3 (22 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+4 (44 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+5 ( 42 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+6 (4442 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+ll
+ll
+7 (8842 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+8 (2242 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+9 (4442 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+lr
+lr
+10 ( 84 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+lr
+lr
+11 (4484 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+12 (8884 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+lr
+lr
+13 (2284 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+14 (4484 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+15 ( 21 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+16 (4421 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+17 (8821 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+18 (2221 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+19 (4421 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+20 ( 42 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+21 (4442 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+22 (8842 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+23 (2242 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+24 (4442 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+25 ( 24 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+26 (44 24 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+ll
+ll
+27 (88 24 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+28 (22 24 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+29 (44 24 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+30 ( 4224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+31 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+ll
+ll
+32 (884224 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+33 (224224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+34 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+lr
+lr
+35 ( 8424 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+lr
+lr
+36 (448424 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+37 (888424 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+lr
+lr
+38 (228424 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+39 (448424 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+40 ( 2124 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+41 (442124 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+ll
+ll
+42 (882124 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+43 (222124 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+44 (442124 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+45 ( 4224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+46 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+47 (884224 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+48 (224224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+49 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+rl
+rl
+50 ( 48 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+rl
+rl
+51 (44 48 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+rl
+rl
+52 (88 48 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+rl
+rl
+53 (22 48 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+rl
+rl
+54 (44 48 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+rl
+rl
+55 ( 4248 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+rl
+rl
+56 (444248 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+ll
+ll
+rl
+rl
+57 (884248 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+rl
+rl
+58 (224248 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+rl
+rl
+59 (444248 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+lr
+lr
+rl
+rl
+60 ( 8448 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+lr
+lr
+rl
+rl
+61 (448448 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+rl
+rl
+62 (888448 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+lr
+lr
+rl
+rl
+63 (228448 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+rl
+rl
+64 (448448 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+rl
+rl
+65 ( 2148 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+rl
+rl
+66 (442148 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+rl
+rl
+67 (882148 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+rl
+rl
+68 (222148 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+rl
+rl
+69 (442148 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+rl
+rl
+70 ( 4248 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+rl
+rl
+71 (444248 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+rl
+rl
+72 (884248 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+rl
+rl
+73 (224248 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+rl
+rl
+74 (444248 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+75 ( 12 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+76 (44 12 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+77 (88 12 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+78 (22 12 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+79 (44 12 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+80 ( 4212 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+81 (444212 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+ll
+ll
+82 (884212 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+83 (224212 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+84 (444212 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+lr
+lr
+85 ( 8412 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+lr
+lr
+86 (448412 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+87 (888412 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+lr
+lr
+88 (228412 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+89 (448412 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+90 ( 2112 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+91 (442112 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+92 (882112 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+93 (222112 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+94 (442112 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+95 ( 4212 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+96 (444212 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+97 (884212 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+98 (224212 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+99 (444212 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf rl
+valueOf rl
+100 ( 24 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf rl
+valueOf rl
+101 (44 24 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+102 (88 24 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf rl
+valueOf rl
+103 (22 24 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+104 (44 24 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+valueOf rl
+105 ( 4224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf rl
+valueOf rl
+106 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+107 (884224 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+valueOf rl
+valueOf rl
+108 (224224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+109 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf rl
+lr
+lr
+valueOf rl
+110 ( 8424 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf rl
+lr
+lr
+valueOf rl
+111 (448424 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+ll
+ll
+lr
+lr
+valueOf rl
+112 (888424 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf rl
+lr
+lr
+valueOf rl
+113 (228424 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+lr
+lr
+valueOf rl
+114 (448424 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+valueOf rl
+115 ( 2124 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf rl
+valueOf rl
+116 (442124 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+117 (882124 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf rl
+valueOf rl
+118 (222124 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+119 (442124 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+120 ( 4224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+121 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf lr
+valueOf rl
+ll
+ll
+valueOf lr
+valueOf rl
+122 (884224 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+123 (224224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf rl
+valueOf ll
+valueOf lr
+valueOf rl
+124 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+125 ( 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+126 (44 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+127 (88 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+128 (22 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+129 (44 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+130 ( 42 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+131 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+ll
+ll
+132 (8842 22) [object Object]: { 0, 0, 42, 22} (100, 100)
+133 (2242 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf ll
+134 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+lr
+lr
+135 ( 84 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+lr
+lr
+136 (4484 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+lr
+lr
+137 (8884 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+lr
+lr
+138 (2284 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+lr
+lr
+139 (4484 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+140 ( 21 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+141 (4421 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+142 (8821 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+143 (2221 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+144 (4421 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf lr
+valueOf lr
+145 ( 42 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf lr
+valueOf lr
+146 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+147 (8842 22) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf lr
+valueOf lr
+148 (2242 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+149 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+150 ( 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+151 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+ll
+ll
+152 (88 2422) [object Object]: { 0, 24, 0, 22} (100, 100)
+153 (22 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+154 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+155 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+156 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+ll
+ll
+157 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+158 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf ll
+159 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+lr
+lr
+160 ( 842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+lr
+lr
+161 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+ll
+ll
+lr
+lr
+162 (88842422) [object Object]: { 0, 24, 0, 22} (100, 100)
+lr
+lr
+163 (22842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+lr
+lr
+164 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+165 ( 212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+166 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+ll
+ll
+167 (88212422) [object Object]: { 0, 24, 0, 22} (100, 100)
+168 (22212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+169 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf lr
+valueOf lr
+170 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf lr
+valueOf lr
+171 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+172 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf lr
+valueOf lr
+173 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+174 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+rl
+rl
+175 ( 4822) [object Object]: { 100, 0, 0, 22} (100, -78)
+rl
+rl
+176 (44 4822) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+rl
+rl
+177 (88 4822) [object Object]: { 0, 0, 0, 22} (100, 100)
+rl
+rl
+178 (22 4822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+rl
+rl
+179 (44 4822) [object Object]: { 44, 0, 0, 22} (100, 56)
+rl
+rl
+180 ( 424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+rl
+rl
+181 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+ll
+ll
+rl
+rl
+182 (88424822) [object Object]: { 0, 0, 42, 22} (100, 100)
+rl
+rl
+183 (22424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf ll
+rl
+rl
+184 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+lr
+lr
+rl
+rl
+185 ( 844822) [object Object]: { 100, 0, 0, 22} (100, -78)
+lr
+lr
+rl
+rl
+186 (44844822) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+lr
+lr
+rl
+rl
+187 (88844822) [object Object]: { 0, 0, 0, 22} (100, 100)
+lr
+lr
+rl
+rl
+188 (22844822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+lr
+lr
+rl
+rl
+189 (44844822) [object Object]: { 44, 0, 0, 22} (100, 56)
+rl
+rl
+190 ( 214822) [object Object]: { 100, 0, 0, 22} (100, -78)
+rl
+rl
+191 (44214822) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+rl
+rl
+192 (88214822) [object Object]: { 0, 0, 0, 22} (100, 100)
+rl
+rl
+193 (22214822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+rl
+rl
+194 (44214822) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf lr
+valueOf lr
+rl
+rl
+195 ( 424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf lr
+valueOf lr
+rl
+rl
+196 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+rl
+rl
+197 (88424822) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf lr
+valueOf lr
+rl
+rl
+198 (22424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+rl
+rl
+199 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+200 ( 1222) [object Object]: { 100, 0, 0, 22} (100, -78)
+201 (44 1222) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+202 (88 1222) [object Object]: { 0, 0, 0, 22} (100, 100)
+203 (22 1222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+204 (44 1222) [object Object]: { 44, 0, 0, 22} (100, 56)
+205 ( 421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+206 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+ll
+ll
+207 (88421222) [object Object]: { 0, 0, 42, 22} (100, 100)
+208 (22421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf ll
+209 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+lr
+lr
+210 ( 841222) [object Object]: { 100, 0, 0, 22} (100, -78)
+lr
+lr
+211 (44841222) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+lr
+lr
+212 (88841222) [object Object]: { 0, 0, 0, 22} (100, 100)
+lr
+lr
+213 (22841222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+lr
+lr
+214 (44841222) [object Object]: { 44, 0, 0, 22} (100, 56)
+215 ( 211222) [object Object]: { 100, 0, 0, 22} (100, -78)
+216 (44211222) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+217 (88211222) [object Object]: { 0, 0, 0, 22} (100, 100)
+218 (22211222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+219 (44211222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf lr
+valueOf lr
+220 ( 421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf lr
+valueOf lr
+221 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+222 (88421222) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf lr
+valueOf lr
+223 (22421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+224 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rl
+valueOf rl
+225 ( 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rl
+valueOf rl
+226 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+227 (88 2422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rl
+valueOf rl
+228 (22 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+229 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rl
+valueOf rl
+230 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf rl
+valueOf rl
+231 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+232 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf rl
+valueOf rl
+233 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+234 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf rl
+lr
+lr
+valueOf rl
+235 ( 842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rl
+lr
+lr
+valueOf rl
+236 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rl
+ll
+ll
+lr
+lr
+valueOf rl
+237 (88842422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rl
+lr
+lr
+valueOf rl
+238 (22842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rl
+valueOf ll
+lr
+lr
+valueOf rl
+239 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rl
+valueOf rl
+240 ( 212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rl
+valueOf rl
+241 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+242 (88212422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rl
+valueOf rl
+243 (22212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+244 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+245 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+246 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf lr
+valueOf rl
+ll
+ll
+valueOf lr
+valueOf rl
+247 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+248 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf rl
+valueOf ll
+valueOf lr
+valueOf rl
+249 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+rr
+rr
+250 ( 44) [object Object]: { 100, 0, 0, 0} (100, -100)
+rr
+rr
+251 (44 44) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+rr
+rr
+252 (88 44) [object Object]: { 0, 0, 0, 0} (100, 100)
+rr
+rr
+253 (22 44) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+254 (44 44) [object Object]: { 44, 0, 0, 0} (100, 56)
+rr
+rr
+255 ( 42 44) [object Object]: { 100, 0, 42, 0} (100, -100)
+rr
+rr
+256 (4442 44) [object Object]: { 44, 0, 42, 0} (100, 56)
+ll
+ll
+rr
+rr
+257 (8842 44) [object Object]: { 0, 0, 42, 0} (100, 100)
+rr
+rr
+258 (2242 44) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+259 (4442 44) [object Object]: { 44, 0, 42, 0} (100, 56)
+lr
+lr
+rr
+rr
+260 ( 84 44) [object Object]: { 100, 0, 0, 0} (100, -100)
+lr
+lr
+rr
+rr
+261 (4484 44) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+lr
+lr
+rr
+rr
+262 (8884 44) [object Object]: { 0, 0, 0, 0} (100, 100)
+lr
+lr
+rr
+rr
+263 (2284 44) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+lr
+lr
+rr
+rr
+264 (4484 44) [object Object]: { 44, 0, 0, 0} (100, 56)
+rr
+rr
+265 ( 21 44) [object Object]: { 100, 0, 0, 0} (100, -100)
+rr
+rr
+266 (4421 44) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+rr
+rr
+267 (8821 44) [object Object]: { 0, 0, 0, 0} (100, 100)
+rr
+rr
+268 (2221 44) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+269 (4421 44) [object Object]: { 44, 0, 0, 0} (100, 56)
+valueOf lr
+valueOf lr
+rr
+rr
+270 ( 42 44) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf lr
+valueOf lr
+rr
+rr
+271 (4442 44) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+rr
+rr
+272 (8842 44) [object Object]: { 0, 0, 42, 0} (100, 100)
+valueOf lr
+valueOf lr
+rr
+rr
+273 (2242 44) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+rr
+rr
+274 (4442 44) [object Object]: { 44, 0, 42, 0} (100, 56)
+rr
+rr
+275 ( 2444) [object Object]: { 100, 24, 0, 0} (100, -100)
+rr
+rr
+276 (44 2444) [object Object]: { 44, 24, 0, 0} (100, 56)
+ll
+ll
+rr
+rr
+277 (88 2444) [object Object]: { 0, 24, 0, 0} (100, 100)
+rr
+rr
+278 (22 2444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+279 (44 2444) [object Object]: { 44, 24, 0, 0} (100, 56)
+rr
+rr
+280 ( 422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+rr
+rr
+281 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+ll
+ll
+rr
+rr
+282 (88422444) [object Object]: { 0, 24, 42, 0} (100, 100)
+rr
+rr
+283 (22422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+284 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+lr
+lr
+rr
+rr
+285 ( 842444) [object Object]: { 100, 24, 0, 0} (100, -100)
+lr
+lr
+rr
+rr
+286 (44842444) [object Object]: { 44, 24, 0, 0} (100, 56)
+ll
+ll
+lr
+lr
+rr
+rr
+287 (88842444) [object Object]: { 0, 24, 0, 0} (100, 100)
+lr
+lr
+rr
+rr
+288 (22842444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+lr
+lr
+rr
+rr
+289 (44842444) [object Object]: { 44, 24, 0, 0} (100, 56)
+rr
+rr
+290 ( 212444) [object Object]: { 100, 24, 0, 0} (100, -100)
+rr
+rr
+291 (44212444) [object Object]: { 44, 24, 0, 0} (100, 56)
+ll
+ll
+rr
+rr
+292 (88212444) [object Object]: { 0, 24, 0, 0} (100, 100)
+rr
+rr
+293 (22212444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+294 (44212444) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf lr
+valueOf lr
+rr
+rr
+295 ( 422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+valueOf lr
+valueOf lr
+rr
+rr
+296 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+rr
+rr
+297 (88422444) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf lr
+valueOf lr
+rr
+rr
+298 (22422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+rr
+rr
+299 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+rl
+rl
+rr
+rr
+300 ( 4844) [object Object]: { 100, 0, 0, 0} (100, -100)
+rl
+rl
+rr
+rr
+301 (44 4844) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+rl
+rl
+rr
+rr
+302 (88 4844) [object Object]: { 0, 0, 0, 0} (100, 100)
+rl
+rl
+rr
+rr
+303 (22 4844) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rl
+rl
+rr
+rr
+304 (44 4844) [object Object]: { 44, 0, 0, 0} (100, 56)
+rl
+rl
+rr
+rr
+305 ( 424844) [object Object]: { 100, 0, 42, 0} (100, -100)
+rl
+rl
+rr
+rr
+306 (44424844) [object Object]: { 44, 0, 42, 0} (100, 56)
+ll
+ll
+rl
+rl
+rr
+rr
+307 (88424844) [object Object]: { 0, 0, 42, 0} (100, 100)
+rl
+rl
+rr
+rr
+308 (22424844) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf ll
+valueOf ll
+rl
+rl
+rr
+rr
+309 (44424844) [object Object]: { 44, 0, 42, 0} (100, 56)
+lr
+lr
+rl
+rl
+rr
+rr
+310 ( 844844) [object Object]: { 100, 0, 0, 0} (100, -100)
+lr
+lr
+rl
+rl
+rr
+rr
+311 (44844844) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+lr
+lr
+rl
+rl
+rr
+rr
+312 (88844844) [object Object]: { 0, 0, 0, 0} (100, 100)
+lr
+lr
+rl
+rl
+rr
+rr
+313 (22844844) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+lr
+lr
+rl
+rl
+rr
+rr
+314 (44844844) [object Object]: { 44, 0, 0, 0} (100, 56)
+rl
+rl
+rr
+rr
+315 ( 214844) [object Object]: { 100, 0, 0, 0} (100, -100)
+rl
+rl
+rr
+rr
+316 (44214844) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+rl
+rl
+rr
+rr
+317 (88214844) [object Object]: { 0, 0, 0, 0} (100, 100)
+rl
+rl
+rr
+rr
+318 (22214844) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rl
+rl
+rr
+rr
+319 (44214844) [object Object]: { 44, 0, 0, 0} (100, 56)
+valueOf lr
+valueOf lr
+rl
+rl
+rr
+rr
+320 ( 424844) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf lr
+valueOf lr
+rl
+rl
+rr
+rr
+321 (44424844) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+rl
+rl
+rr
+rr
+322 (88424844) [object Object]: { 0, 0, 42, 0} (100, 100)
+valueOf lr
+valueOf lr
+rl
+rl
+rr
+rr
+323 (22424844) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+rl
+rl
+rr
+rr
+324 (44424844) [object Object]: { 44, 0, 42, 0} (100, 56)
+rr
+rr
+325 ( 1244) [object Object]: { 100, 0, 0, 0} (100, -100)
+rr
+rr
+326 (44 1244) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+rr
+rr
+327 (88 1244) [object Object]: { 0, 0, 0, 0} (100, 100)
+rr
+rr
+328 (22 1244) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+329 (44 1244) [object Object]: { 44, 0, 0, 0} (100, 56)
+rr
+rr
+330 ( 421244) [object Object]: { 100, 0, 42, 0} (100, -100)
+rr
+rr
+331 (44421244) [object Object]: { 44, 0, 42, 0} (100, 56)
+ll
+ll
+rr
+rr
+332 (88421244) [object Object]: { 0, 0, 42, 0} (100, 100)
+rr
+rr
+333 (22421244) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+334 (44421244) [object Object]: { 44, 0, 42, 0} (100, 56)
+lr
+lr
+rr
+rr
+335 ( 841244) [object Object]: { 100, 0, 0, 0} (100, -100)
+lr
+lr
+rr
+rr
+336 (44841244) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+lr
+lr
+rr
+rr
+337 (88841244) [object Object]: { 0, 0, 0, 0} (100, 100)
+lr
+lr
+rr
+rr
+338 (22841244) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+lr
+lr
+rr
+rr
+339 (44841244) [object Object]: { 44, 0, 0, 0} (100, 56)
+rr
+rr
+340 ( 211244) [object Object]: { 100, 0, 0, 0} (100, -100)
+rr
+rr
+341 (44211244) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+rr
+rr
+342 (88211244) [object Object]: { 0, 0, 0, 0} (100, 100)
+rr
+rr
+343 (22211244) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+344 (44211244) [object Object]: { 44, 0, 0, 0} (100, 56)
+valueOf lr
+valueOf lr
+rr
+rr
+345 ( 421244) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf lr
+valueOf lr
+rr
+rr
+346 (44421244) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+rr
+rr
+347 (88421244) [object Object]: { 0, 0, 42, 0} (100, 100)
+valueOf lr
+valueOf lr
+rr
+rr
+348 (22421244) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+rr
+rr
+349 (44421244) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf rl
+valueOf rl
+rr
+rr
+350 ( 2444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf rl
+valueOf rl
+rr
+rr
+351 (44 2444) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+rr
+rr
+352 (88 2444) [object Object]: { 0, 24, 0, 0} (100, 100)
+valueOf rl
+valueOf rl
+rr
+rr
+353 (22 2444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+rr
+rr
+354 (44 2444) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf rl
+valueOf rl
+rr
+rr
+355 ( 422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+valueOf rl
+valueOf rl
+rr
+rr
+356 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+rr
+rr
+357 (88422444) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf rl
+valueOf rl
+rr
+rr
+358 (22422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+rr
+rr
+359 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf rl
+lr
+lr
+valueOf rl
+rr
+rr
+360 ( 842444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf rl
+lr
+lr
+valueOf rl
+rr
+rr
+361 (44842444) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf rl
+ll
+ll
+lr
+lr
+valueOf rl
+rr
+rr
+362 (88842444) [object Object]: { 0, 24, 0, 0} (100, 100)
+valueOf rl
+lr
+lr
+valueOf rl
+rr
+rr
+363 (22842444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf ll
+valueOf rl
+valueOf ll
+lr
+lr
+valueOf rl
+rr
+rr
+364 (44842444) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf rl
+valueOf rl
+rr
+rr
+365 ( 212444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf rl
+valueOf rl
+rr
+rr
+366 (44212444) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+rr
+rr
+367 (88212444) [object Object]: { 0, 24, 0, 0} (100, 100)
+valueOf rl
+valueOf rl
+rr
+rr
+368 (22212444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+rr
+rr
+369 (44212444) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+rr
+rr
+370 ( 422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+rr
+rr
+371 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf lr
+valueOf rl
+ll
+ll
+valueOf lr
+valueOf rl
+rr
+rr
+372 (88422444) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+rr
+rr
+373 (22422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+valueOf ll
+valueOf lr
+valueOf rl
+valueOf ll
+valueOf lr
+valueOf rl
+rr
+rr
+374 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+375 ( 11) [object Object]: { 100, 0, 0, 100} (100, 0)
+376 (44 11) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+377 (88 11) [object Object]: { 0, 0, 0, 100} (100, 100)
+378 (22 11) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+379 (44 11) [object Object]: { 44, 0, 0, 100} (100, 56)
+380 ( 42 11) [object Object]: { 100, 0, 42, 100} (100, 0)
+381 (4442 11) [object Object]: { 44, 0, 42, 100} (100, 56)
+ll
+ll
+382 (8842 11) [object Object]: { 0, 0, 42, 100} (100, 100)
+383 (2242 11) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+384 (4442 11) [object Object]: { 44, 0, 42, 100} (100, 56)
+lr
+lr
+385 ( 84 11) [object Object]: { 100, 0, 0, 100} (100, 0)
+lr
+lr
+386 (4484 11) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+387 (8884 11) [object Object]: { 0, 0, 0, 100} (100, 100)
+lr
+lr
+388 (2284 11) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+389 (4484 11) [object Object]: { 44, 0, 0, 100} (100, 56)
+390 ( 21 11) [object Object]: { 100, 0, 0, 100} (100, 0)
+391 (4421 11) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+392 (8821 11) [object Object]: { 0, 0, 0, 100} (100, 100)
+393 (2221 11) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+394 (4421 11) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+395 ( 42 11) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+396 (4442 11) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+397 (8842 11) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+398 (2242 11) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+399 (4442 11) [object Object]: { 44, 0, 42, 100} (100, 56)
+400 ( 2411) [object Object]: { 100, 24, 0, 100} (100, 0)
+401 (44 2411) [object Object]: { 44, 24, 0, 100} (100, 56)
+ll
+ll
+402 (88 2411) [object Object]: { 0, 24, 0, 100} (100, 100)
+403 (22 2411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+404 (44 2411) [object Object]: { 44, 24, 0, 100} (100, 56)
+405 ( 422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+406 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+ll
+ll
+407 (88422411) [object Object]: { 0, 24, 42, 100} (100, 100)
+408 (22422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+409 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+lr
+lr
+410 ( 842411) [object Object]: { 100, 24, 0, 100} (100, 0)
+lr
+lr
+411 (44842411) [object Object]: { 44, 24, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+412 (88842411) [object Object]: { 0, 24, 0, 100} (100, 100)
+lr
+lr
+413 (22842411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+414 (44842411) [object Object]: { 44, 24, 0, 100} (100, 56)
+415 ( 212411) [object Object]: { 100, 24, 0, 100} (100, 0)
+416 (44212411) [object Object]: { 44, 24, 0, 100} (100, 56)
+ll
+ll
+417 (88212411) [object Object]: { 0, 24, 0, 100} (100, 100)
+418 (22212411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+419 (44212411) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+420 ( 422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+421 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+422 (88422411) [object Object]: { 0, 24, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+423 (22422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+424 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+rl
+rl
+425 ( 4811) [object Object]: { 100, 0, 0, 100} (100, 0)
+rl
+rl
+426 (44 4811) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+rl
+rl
+427 (88 4811) [object Object]: { 0, 0, 0, 100} (100, 100)
+rl
+rl
+428 (22 4811) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+rl
+rl
+429 (44 4811) [object Object]: { 44, 0, 0, 100} (100, 56)
+rl
+rl
+430 ( 424811) [object Object]: { 100, 0, 42, 100} (100, 0)
+rl
+rl
+431 (44424811) [object Object]: { 44, 0, 42, 100} (100, 56)
+ll
+ll
+rl
+rl
+432 (88424811) [object Object]: { 0, 0, 42, 100} (100, 100)
+rl
+rl
+433 (22424811) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+rl
+rl
+434 (44424811) [object Object]: { 44, 0, 42, 100} (100, 56)
+lr
+lr
+rl
+rl
+435 ( 844811) [object Object]: { 100, 0, 0, 100} (100, 0)
+lr
+lr
+rl
+rl
+436 (44844811) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+rl
+rl
+437 (88844811) [object Object]: { 0, 0, 0, 100} (100, 100)
+lr
+lr
+rl
+rl
+438 (22844811) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+rl
+rl
+439 (44844811) [object Object]: { 44, 0, 0, 100} (100, 56)
+rl
+rl
+440 ( 214811) [object Object]: { 100, 0, 0, 100} (100, 0)
+rl
+rl
+441 (44214811) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+rl
+rl
+442 (88214811) [object Object]: { 0, 0, 0, 100} (100, 100)
+rl
+rl
+443 (22214811) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+rl
+rl
+444 (44214811) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+rl
+rl
+445 ( 424811) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+rl
+rl
+446 (44424811) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+rl
+rl
+447 (88424811) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+rl
+rl
+448 (22424811) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+rl
+rl
+449 (44424811) [object Object]: { 44, 0, 42, 100} (100, 56)
+450 ( 1211) [object Object]: { 100, 0, 0, 100} (100, 0)
+451 (44 1211) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+452 (88 1211) [object Object]: { 0, 0, 0, 100} (100, 100)
+453 (22 1211) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+454 (44 1211) [object Object]: { 44, 0, 0, 100} (100, 56)
+455 ( 421211) [object Object]: { 100, 0, 42, 100} (100, 0)
+456 (44421211) [object Object]: { 44, 0, 42, 100} (100, 56)
+ll
+ll
+457 (88421211) [object Object]: { 0, 0, 42, 100} (100, 100)
+458 (22421211) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+459 (44421211) [object Object]: { 44, 0, 42, 100} (100, 56)
+lr
+lr
+460 ( 841211) [object Object]: { 100, 0, 0, 100} (100, 0)
+lr
+lr
+461 (44841211) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+462 (88841211) [object Object]: { 0, 0, 0, 100} (100, 100)
+lr
+lr
+463 (22841211) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+464 (44841211) [object Object]: { 44, 0, 0, 100} (100, 56)
+465 ( 211211) [object Object]: { 100, 0, 0, 100} (100, 0)
+466 (44211211) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+467 (88211211) [object Object]: { 0, 0, 0, 100} (100, 100)
+468 (22211211) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+469 (44211211) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+470 ( 421211) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+471 (44421211) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+472 (88421211) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+473 (22421211) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+474 (44421211) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf rl
+valueOf rl
+475 ( 2411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf rl
+valueOf rl
+476 (44 2411) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+477 (88 2411) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf rl
+valueOf rl
+478 (22 2411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+479 (44 2411) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+valueOf rl
+480 ( 422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf rl
+valueOf rl
+481 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+482 (88422411) [object Object]: { 0, 24, 42, 100} (100, 100)
+valueOf rl
+valueOf rl
+483 (22422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+484 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf rl
+lr
+lr
+valueOf rl
+485 ( 842411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf rl
+lr
+lr
+valueOf rl
+486 (44842411) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+ll
+ll
+lr
+lr
+valueOf rl
+487 (88842411) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf rl
+lr
+lr
+valueOf rl
+488 (22842411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+lr
+lr
+valueOf rl
+489 (44842411) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+valueOf rl
+490 ( 212411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf rl
+valueOf rl
+491 (44212411) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+492 (88212411) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf rl
+valueOf rl
+493 (22212411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+494 (44212411) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+495 ( 422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+496 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf lr
+valueOf rl
+ll
+ll
+valueOf lr
+valueOf rl
+497 (88422411) [object Object]: { 0, 24, 42, 100} (100, 100)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+498 (22422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf rl
+valueOf ll
+valueOf lr
+valueOf rl
+499 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf rr
+valueOf rr
+500 ( 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+valueOf rr
+501 (44 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+502 (88 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+valueOf rr
+503 (22 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+504 (44 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+valueOf rr
+505 ( 42 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf rr
+valueOf rr
+506 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+507 (8842 22) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf rr
+valueOf rr
+508 (2242 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+509 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+lr
+lr
+valueOf rr
+510 ( 84 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+lr
+lr
+valueOf rr
+511 (4484 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+lr
+lr
+valueOf rr
+512 (8884 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+lr
+lr
+valueOf rr
+513 (2284 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+lr
+lr
+valueOf rr
+514 (4484 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+valueOf rr
+515 ( 21 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+valueOf rr
+516 (4421 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+517 (8821 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+valueOf rr
+518 (2221 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+519 (4421 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+520 ( 42 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+521 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf lr
+valueOf rr
+ll
+ll
+valueOf lr
+valueOf rr
+522 (8842 22) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+523 (2242 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf rr
+valueOf ll
+valueOf lr
+valueOf rr
+524 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+valueOf rr
+525 ( 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rr
+valueOf rr
+526 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+527 (88 2422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rr
+valueOf rr
+528 (22 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+529 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+valueOf rr
+530 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf rr
+valueOf rr
+531 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+532 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf rr
+valueOf rr
+533 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+534 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf rr
+lr
+lr
+valueOf rr
+535 ( 842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rr
+lr
+lr
+valueOf rr
+536 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+lr
+lr
+valueOf rr
+537 (88842422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rr
+lr
+lr
+valueOf rr
+538 (22842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+lr
+lr
+valueOf rr
+539 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+valueOf rr
+540 ( 212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rr
+valueOf rr
+541 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+542 (88212422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rr
+valueOf rr
+543 (22212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+544 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+545 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+546 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf lr
+valueOf rr
+ll
+ll
+valueOf lr
+valueOf rr
+547 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+548 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf rr
+valueOf ll
+valueOf lr
+valueOf rr
+549 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf rr
+rl
+rl
+valueOf rr
+550 ( 4822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+rl
+rl
+valueOf rr
+551 (44 4822) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+rl
+rl
+valueOf rr
+552 (88 4822) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+rl
+rl
+valueOf rr
+553 (22 4822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+rl
+rl
+valueOf rr
+554 (44 4822) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+rl
+rl
+valueOf rr
+555 ( 424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf rr
+rl
+rl
+valueOf rr
+556 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+ll
+ll
+rl
+rl
+valueOf rr
+557 (88424822) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf rr
+rl
+rl
+valueOf rr
+558 (22424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+rl
+rl
+valueOf rr
+559 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+lr
+lr
+rl
+rl
+valueOf rr
+560 ( 844822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+lr
+lr
+rl
+rl
+valueOf rr
+561 (44844822) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+lr
+lr
+rl
+rl
+valueOf rr
+562 (88844822) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+lr
+lr
+rl
+rl
+valueOf rr
+563 (22844822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+lr
+lr
+rl
+rl
+valueOf rr
+564 (44844822) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+rl
+rl
+valueOf rr
+565 ( 214822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+rl
+rl
+valueOf rr
+566 (44214822) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+rl
+rl
+valueOf rr
+567 (88214822) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+rl
+rl
+valueOf rr
+568 (22214822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+rl
+rl
+valueOf rr
+569 (44214822) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf lr
+valueOf rr
+valueOf lr
+rl
+rl
+valueOf rr
+570 ( 424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf lr
+valueOf rr
+valueOf lr
+rl
+rl
+valueOf rr
+571 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf lr
+valueOf rr
+ll
+ll
+valueOf lr
+rl
+rl
+valueOf rr
+572 (88424822) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf lr
+valueOf rr
+valueOf lr
+rl
+rl
+valueOf rr
+573 (22424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf rr
+valueOf ll
+valueOf lr
+rl
+rl
+valueOf rr
+574 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+valueOf rr
+575 ( 1222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+valueOf rr
+576 (44 1222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+577 (88 1222) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+valueOf rr
+578 (22 1222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+579 (44 1222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+valueOf rr
+580 ( 421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf rr
+valueOf rr
+581 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+582 (88421222) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf rr
+valueOf rr
+583 (22421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+584 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+lr
+lr
+valueOf rr
+585 ( 841222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+lr
+lr
+valueOf rr
+586 (44841222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+lr
+lr
+valueOf rr
+587 (88841222) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+lr
+lr
+valueOf rr
+588 (22841222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+lr
+lr
+valueOf rr
+589 (44841222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+valueOf rr
+590 ( 211222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+valueOf rr
+591 (44211222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+592 (88211222) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+valueOf rr
+593 (22211222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+594 (44211222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+595 ( 421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+596 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf lr
+valueOf rr
+ll
+ll
+valueOf lr
+valueOf rr
+597 (88421222) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+598 (22421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf rr
+valueOf ll
+valueOf lr
+valueOf rr
+599 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+600 ( 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+601 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+valueOf rl
+ll
+ll
+valueOf rl
+valueOf rr
+602 (88 2422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+603 (22 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf rl
+valueOf ll
+valueOf rl
+valueOf rr
+604 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+605 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+606 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf rr
+valueOf rl
+ll
+ll
+valueOf rl
+valueOf rr
+607 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+608 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf rl
+valueOf ll
+valueOf rl
+valueOf rr
+609 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf rr
+valueOf rl
+lr
+lr
+valueOf rl
+valueOf rr
+610 ( 842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rr
+valueOf rl
+lr
+lr
+valueOf rl
+valueOf rr
+611 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+valueOf rl
+ll
+ll
+lr
+lr
+valueOf rl
+valueOf rr
+612 (88842422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rr
+valueOf rl
+lr
+lr
+valueOf rl
+valueOf rr
+613 (22842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf rl
+valueOf ll
+lr
+lr
+valueOf rl
+valueOf rr
+614 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+615 ( 212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+616 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+valueOf rl
+ll
+ll
+valueOf rl
+valueOf rr
+617 (88212422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+618 (22212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf rl
+valueOf ll
+valueOf rl
+valueOf rr
+619 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf lr
+valueOf rr
+valueOf rl
+valueOf lr
+valueOf rl
+valueOf rr
+620 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf lr
+valueOf rr
+valueOf rl
+valueOf lr
+valueOf rl
+valueOf rr
+621 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf lr
+valueOf rr
+valueOf rl
+ll
+ll
+valueOf lr
+valueOf rl
+valueOf rr
+622 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf lr
+valueOf rr
+valueOf rl
+valueOf lr
+valueOf rl
+valueOf rr
+623 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf rr
+valueOf rl
+valueOf ll
+valueOf lr
+valueOf rl
+valueOf rr
+624 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
diff --git a/test/trace/sound-setTransform-propertytypes-8.swf b/test/trace/sound-setTransform-propertytypes-8.swf
new file mode 100644
index 0000000..2bf9fb8
Binary files /dev/null and b/test/trace/sound-setTransform-propertytypes-8.swf differ
diff --git a/test/trace/sound-setTransform-propertytypes-8.swf.trace b/test/trace/sound-setTransform-propertytypes-8.swf.trace
new file mode 100644
index 0000000..e366510
--- /dev/null
+++ b/test/trace/sound-setTransform-propertytypes-8.swf.trace
@@ -0,0 +1,2625 @@
+0 ( ) [object Object]: { 100, 0, 0, 100} (100, 0)
+1 (44 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+2 (88 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+3 (22 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+4 (44 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+5 ( 42 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+6 (4442 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+ll
+ll
+7 (8842 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+8 (2242 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+9 (4442 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+lr
+lr
+10 ( 84 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+lr
+lr
+11 (4484 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+12 (8884 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+lr
+lr
+13 (2284 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+14 (4484 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+15 ( 21 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+16 (4421 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+17 (8821 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+18 (2221 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+19 (4421 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+20 ( 42 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+21 (4442 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+22 (8842 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+23 (2242 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+24 (4442 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+25 ( 24 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+26 (44 24 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+ll
+ll
+27 (88 24 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+28 (22 24 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+29 (44 24 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+30 ( 4224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+31 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+ll
+ll
+32 (884224 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+33 (224224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+34 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+lr
+lr
+35 ( 8424 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+lr
+lr
+36 (448424 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+37 (888424 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+lr
+lr
+38 (228424 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+39 (448424 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+40 ( 2124 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+41 (442124 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+ll
+ll
+42 (882124 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+43 (222124 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+44 (442124 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+45 ( 4224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+46 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+47 (884224 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+48 (224224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+49 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+rl
+rl
+50 ( 48 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+rl
+rl
+51 (44 48 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+rl
+rl
+52 (88 48 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+rl
+rl
+53 (22 48 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+rl
+rl
+54 (44 48 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+rl
+rl
+55 ( 4248 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+rl
+rl
+56 (444248 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+ll
+ll
+rl
+rl
+57 (884248 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+rl
+rl
+58 (224248 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+rl
+rl
+59 (444248 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+lr
+lr
+rl
+rl
+60 ( 8448 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+lr
+lr
+rl
+rl
+61 (448448 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+rl
+rl
+62 (888448 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+lr
+lr
+rl
+rl
+63 (228448 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+rl
+rl
+64 (448448 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+rl
+rl
+65 ( 2148 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+rl
+rl
+66 (442148 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+rl
+rl
+67 (882148 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+rl
+rl
+68 (222148 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+rl
+rl
+69 (442148 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+rl
+rl
+70 ( 4248 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+rl
+rl
+71 (444248 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+rl
+rl
+72 (884248 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+rl
+rl
+73 (224248 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+rl
+rl
+74 (444248 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+75 ( 12 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+76 (44 12 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+77 (88 12 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+78 (22 12 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+79 (44 12 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+80 ( 4212 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+81 (444212 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+ll
+ll
+82 (884212 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+83 (224212 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+84 (444212 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+lr
+lr
+85 ( 8412 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+lr
+lr
+86 (448412 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+87 (888412 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+lr
+lr
+88 (228412 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+89 (448412 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+90 ( 2112 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+91 (442112 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+92 (882112 ) [object Object]: { 0, 0, 0, 100} (100, 100)
+93 (222112 ) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+94 (442112 ) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+95 ( 4212 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+96 (444212 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+97 (884212 ) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+98 (224212 ) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+99 (444212 ) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf rl
+valueOf rl
+100 ( 24 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf rl
+valueOf rl
+101 (44 24 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+102 (88 24 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf rl
+valueOf rl
+103 (22 24 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+104 (44 24 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+valueOf rl
+105 ( 4224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf rl
+valueOf rl
+106 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+107 (884224 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+valueOf rl
+valueOf rl
+108 (224224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+109 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf rl
+lr
+lr
+valueOf rl
+110 ( 8424 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf rl
+lr
+lr
+valueOf rl
+111 (448424 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+ll
+ll
+lr
+lr
+valueOf rl
+112 (888424 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf rl
+lr
+lr
+valueOf rl
+113 (228424 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+lr
+lr
+valueOf rl
+114 (448424 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+valueOf rl
+115 ( 2124 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf rl
+valueOf rl
+116 (442124 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+117 (882124 ) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf rl
+valueOf rl
+118 (222124 ) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+119 (442124 ) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+120 ( 4224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+121 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf lr
+valueOf rl
+ll
+ll
+valueOf lr
+valueOf rl
+122 (884224 ) [object Object]: { 0, 24, 42, 100} (100, 100)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+123 (224224 ) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf rl
+valueOf ll
+valueOf lr
+valueOf rl
+124 (444224 ) [object Object]: { 44, 24, 42, 100} (100, 56)
+125 ( 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+126 (44 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+127 (88 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+128 (22 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+129 (44 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+130 ( 42 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+131 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+ll
+ll
+132 (8842 22) [object Object]: { 0, 0, 42, 22} (100, 100)
+133 (2242 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf ll
+134 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+lr
+lr
+135 ( 84 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+lr
+lr
+136 (4484 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+lr
+lr
+137 (8884 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+lr
+lr
+138 (2284 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+lr
+lr
+139 (4484 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+140 ( 21 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+141 (4421 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+142 (8821 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+143 (2221 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+144 (4421 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf lr
+valueOf lr
+145 ( 42 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf lr
+valueOf lr
+146 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+147 (8842 22) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf lr
+valueOf lr
+148 (2242 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+149 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+150 ( 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+151 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+ll
+ll
+152 (88 2422) [object Object]: { 0, 24, 0, 22} (100, 100)
+153 (22 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+154 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+155 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+156 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+ll
+ll
+157 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+158 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf ll
+159 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+lr
+lr
+160 ( 842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+lr
+lr
+161 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+ll
+ll
+lr
+lr
+162 (88842422) [object Object]: { 0, 24, 0, 22} (100, 100)
+lr
+lr
+163 (22842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+lr
+lr
+164 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+165 ( 212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+166 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+ll
+ll
+167 (88212422) [object Object]: { 0, 24, 0, 22} (100, 100)
+168 (22212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+169 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf lr
+valueOf lr
+170 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf lr
+valueOf lr
+171 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+172 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf lr
+valueOf lr
+173 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+174 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+rl
+rl
+175 ( 4822) [object Object]: { 100, 0, 0, 22} (100, -78)
+rl
+rl
+176 (44 4822) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+rl
+rl
+177 (88 4822) [object Object]: { 0, 0, 0, 22} (100, 100)
+rl
+rl
+178 (22 4822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+rl
+rl
+179 (44 4822) [object Object]: { 44, 0, 0, 22} (100, 56)
+rl
+rl
+180 ( 424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+rl
+rl
+181 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+ll
+ll
+rl
+rl
+182 (88424822) [object Object]: { 0, 0, 42, 22} (100, 100)
+rl
+rl
+183 (22424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf ll
+rl
+rl
+184 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+lr
+lr
+rl
+rl
+185 ( 844822) [object Object]: { 100, 0, 0, 22} (100, -78)
+lr
+lr
+rl
+rl
+186 (44844822) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+lr
+lr
+rl
+rl
+187 (88844822) [object Object]: { 0, 0, 0, 22} (100, 100)
+lr
+lr
+rl
+rl
+188 (22844822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+lr
+lr
+rl
+rl
+189 (44844822) [object Object]: { 44, 0, 0, 22} (100, 56)
+rl
+rl
+190 ( 214822) [object Object]: { 100, 0, 0, 22} (100, -78)
+rl
+rl
+191 (44214822) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+rl
+rl
+192 (88214822) [object Object]: { 0, 0, 0, 22} (100, 100)
+rl
+rl
+193 (22214822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+rl
+rl
+194 (44214822) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf lr
+valueOf lr
+rl
+rl
+195 ( 424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf lr
+valueOf lr
+rl
+rl
+196 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+rl
+rl
+197 (88424822) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf lr
+valueOf lr
+rl
+rl
+198 (22424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+rl
+rl
+199 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+200 ( 1222) [object Object]: { 100, 0, 0, 22} (100, -78)
+201 (44 1222) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+202 (88 1222) [object Object]: { 0, 0, 0, 22} (100, 100)
+203 (22 1222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+204 (44 1222) [object Object]: { 44, 0, 0, 22} (100, 56)
+205 ( 421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+206 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+ll
+ll
+207 (88421222) [object Object]: { 0, 0, 42, 22} (100, 100)
+208 (22421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf ll
+209 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+lr
+lr
+210 ( 841222) [object Object]: { 100, 0, 0, 22} (100, -78)
+lr
+lr
+211 (44841222) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+lr
+lr
+212 (88841222) [object Object]: { 0, 0, 0, 22} (100, 100)
+lr
+lr
+213 (22841222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+lr
+lr
+214 (44841222) [object Object]: { 44, 0, 0, 22} (100, 56)
+215 ( 211222) [object Object]: { 100, 0, 0, 22} (100, -78)
+216 (44211222) [object Object]: { 44, 0, 0, 22} (100, 56)
+ll
+ll
+217 (88211222) [object Object]: { 0, 0, 0, 22} (100, 100)
+218 (22211222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf ll
+219 (44211222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf lr
+valueOf lr
+220 ( 421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf lr
+valueOf lr
+221 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+222 (88421222) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf lr
+valueOf lr
+223 (22421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+224 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rl
+valueOf rl
+225 ( 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rl
+valueOf rl
+226 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+227 (88 2422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rl
+valueOf rl
+228 (22 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+229 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rl
+valueOf rl
+230 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf rl
+valueOf rl
+231 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+232 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf rl
+valueOf rl
+233 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+234 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf rl
+lr
+lr
+valueOf rl
+235 ( 842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rl
+lr
+lr
+valueOf rl
+236 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rl
+ll
+ll
+lr
+lr
+valueOf rl
+237 (88842422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rl
+lr
+lr
+valueOf rl
+238 (22842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rl
+valueOf ll
+lr
+lr
+valueOf rl
+239 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rl
+valueOf rl
+240 ( 212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rl
+valueOf rl
+241 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+242 (88212422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rl
+valueOf rl
+243 (22212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+244 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+245 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+246 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf lr
+valueOf rl
+ll
+ll
+valueOf lr
+valueOf rl
+247 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+248 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf rl
+valueOf ll
+valueOf lr
+valueOf rl
+249 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+rr
+rr
+250 ( 44) [object Object]: { 100, 0, 0, 0} (100, -100)
+rr
+rr
+251 (44 44) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+rr
+rr
+252 (88 44) [object Object]: { 0, 0, 0, 0} (100, 100)
+rr
+rr
+253 (22 44) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+254 (44 44) [object Object]: { 44, 0, 0, 0} (100, 56)
+rr
+rr
+255 ( 42 44) [object Object]: { 100, 0, 42, 0} (100, -100)
+rr
+rr
+256 (4442 44) [object Object]: { 44, 0, 42, 0} (100, 56)
+ll
+ll
+rr
+rr
+257 (8842 44) [object Object]: { 0, 0, 42, 0} (100, 100)
+rr
+rr
+258 (2242 44) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+259 (4442 44) [object Object]: { 44, 0, 42, 0} (100, 56)
+lr
+lr
+rr
+rr
+260 ( 84 44) [object Object]: { 100, 0, 0, 0} (100, -100)
+lr
+lr
+rr
+rr
+261 (4484 44) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+lr
+lr
+rr
+rr
+262 (8884 44) [object Object]: { 0, 0, 0, 0} (100, 100)
+lr
+lr
+rr
+rr
+263 (2284 44) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+lr
+lr
+rr
+rr
+264 (4484 44) [object Object]: { 44, 0, 0, 0} (100, 56)
+rr
+rr
+265 ( 21 44) [object Object]: { 100, 0, 0, 0} (100, -100)
+rr
+rr
+266 (4421 44) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+rr
+rr
+267 (8821 44) [object Object]: { 0, 0, 0, 0} (100, 100)
+rr
+rr
+268 (2221 44) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+269 (4421 44) [object Object]: { 44, 0, 0, 0} (100, 56)
+valueOf lr
+valueOf lr
+rr
+rr
+270 ( 42 44) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf lr
+valueOf lr
+rr
+rr
+271 (4442 44) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+rr
+rr
+272 (8842 44) [object Object]: { 0, 0, 42, 0} (100, 100)
+valueOf lr
+valueOf lr
+rr
+rr
+273 (2242 44) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+rr
+rr
+274 (4442 44) [object Object]: { 44, 0, 42, 0} (100, 56)
+rr
+rr
+275 ( 2444) [object Object]: { 100, 24, 0, 0} (100, -100)
+rr
+rr
+276 (44 2444) [object Object]: { 44, 24, 0, 0} (100, 56)
+ll
+ll
+rr
+rr
+277 (88 2444) [object Object]: { 0, 24, 0, 0} (100, 100)
+rr
+rr
+278 (22 2444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+279 (44 2444) [object Object]: { 44, 24, 0, 0} (100, 56)
+rr
+rr
+280 ( 422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+rr
+rr
+281 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+ll
+ll
+rr
+rr
+282 (88422444) [object Object]: { 0, 24, 42, 0} (100, 100)
+rr
+rr
+283 (22422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+284 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+lr
+lr
+rr
+rr
+285 ( 842444) [object Object]: { 100, 24, 0, 0} (100, -100)
+lr
+lr
+rr
+rr
+286 (44842444) [object Object]: { 44, 24, 0, 0} (100, 56)
+ll
+ll
+lr
+lr
+rr
+rr
+287 (88842444) [object Object]: { 0, 24, 0, 0} (100, 100)
+lr
+lr
+rr
+rr
+288 (22842444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+lr
+lr
+rr
+rr
+289 (44842444) [object Object]: { 44, 24, 0, 0} (100, 56)
+rr
+rr
+290 ( 212444) [object Object]: { 100, 24, 0, 0} (100, -100)
+rr
+rr
+291 (44212444) [object Object]: { 44, 24, 0, 0} (100, 56)
+ll
+ll
+rr
+rr
+292 (88212444) [object Object]: { 0, 24, 0, 0} (100, 100)
+rr
+rr
+293 (22212444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+294 (44212444) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf lr
+valueOf lr
+rr
+rr
+295 ( 422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+valueOf lr
+valueOf lr
+rr
+rr
+296 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+rr
+rr
+297 (88422444) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf lr
+valueOf lr
+rr
+rr
+298 (22422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+rr
+rr
+299 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+rl
+rl
+rr
+rr
+300 ( 4844) [object Object]: { 100, 0, 0, 0} (100, -100)
+rl
+rl
+rr
+rr
+301 (44 4844) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+rl
+rl
+rr
+rr
+302 (88 4844) [object Object]: { 0, 0, 0, 0} (100, 100)
+rl
+rl
+rr
+rr
+303 (22 4844) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rl
+rl
+rr
+rr
+304 (44 4844) [object Object]: { 44, 0, 0, 0} (100, 56)
+rl
+rl
+rr
+rr
+305 ( 424844) [object Object]: { 100, 0, 42, 0} (100, -100)
+rl
+rl
+rr
+rr
+306 (44424844) [object Object]: { 44, 0, 42, 0} (100, 56)
+ll
+ll
+rl
+rl
+rr
+rr
+307 (88424844) [object Object]: { 0, 0, 42, 0} (100, 100)
+rl
+rl
+rr
+rr
+308 (22424844) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf ll
+valueOf ll
+rl
+rl
+rr
+rr
+309 (44424844) [object Object]: { 44, 0, 42, 0} (100, 56)
+lr
+lr
+rl
+rl
+rr
+rr
+310 ( 844844) [object Object]: { 100, 0, 0, 0} (100, -100)
+lr
+lr
+rl
+rl
+rr
+rr
+311 (44844844) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+lr
+lr
+rl
+rl
+rr
+rr
+312 (88844844) [object Object]: { 0, 0, 0, 0} (100, 100)
+lr
+lr
+rl
+rl
+rr
+rr
+313 (22844844) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+lr
+lr
+rl
+rl
+rr
+rr
+314 (44844844) [object Object]: { 44, 0, 0, 0} (100, 56)
+rl
+rl
+rr
+rr
+315 ( 214844) [object Object]: { 100, 0, 0, 0} (100, -100)
+rl
+rl
+rr
+rr
+316 (44214844) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+rl
+rl
+rr
+rr
+317 (88214844) [object Object]: { 0, 0, 0, 0} (100, 100)
+rl
+rl
+rr
+rr
+318 (22214844) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rl
+rl
+rr
+rr
+319 (44214844) [object Object]: { 44, 0, 0, 0} (100, 56)
+valueOf lr
+valueOf lr
+rl
+rl
+rr
+rr
+320 ( 424844) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf lr
+valueOf lr
+rl
+rl
+rr
+rr
+321 (44424844) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+rl
+rl
+rr
+rr
+322 (88424844) [object Object]: { 0, 0, 42, 0} (100, 100)
+valueOf lr
+valueOf lr
+rl
+rl
+rr
+rr
+323 (22424844) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+rl
+rl
+rr
+rr
+324 (44424844) [object Object]: { 44, 0, 42, 0} (100, 56)
+rr
+rr
+325 ( 1244) [object Object]: { 100, 0, 0, 0} (100, -100)
+rr
+rr
+326 (44 1244) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+rr
+rr
+327 (88 1244) [object Object]: { 0, 0, 0, 0} (100, 100)
+rr
+rr
+328 (22 1244) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+329 (44 1244) [object Object]: { 44, 0, 0, 0} (100, 56)
+rr
+rr
+330 ( 421244) [object Object]: { 100, 0, 42, 0} (100, -100)
+rr
+rr
+331 (44421244) [object Object]: { 44, 0, 42, 0} (100, 56)
+ll
+ll
+rr
+rr
+332 (88421244) [object Object]: { 0, 0, 42, 0} (100, 100)
+rr
+rr
+333 (22421244) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+334 (44421244) [object Object]: { 44, 0, 42, 0} (100, 56)
+lr
+lr
+rr
+rr
+335 ( 841244) [object Object]: { 100, 0, 0, 0} (100, -100)
+lr
+lr
+rr
+rr
+336 (44841244) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+lr
+lr
+rr
+rr
+337 (88841244) [object Object]: { 0, 0, 0, 0} (100, 100)
+lr
+lr
+rr
+rr
+338 (22841244) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+lr
+lr
+rr
+rr
+339 (44841244) [object Object]: { 44, 0, 0, 0} (100, 56)
+rr
+rr
+340 ( 211244) [object Object]: { 100, 0, 0, 0} (100, -100)
+rr
+rr
+341 (44211244) [object Object]: { 44, 0, 0, 0} (100, 56)
+ll
+ll
+rr
+rr
+342 (88211244) [object Object]: { 0, 0, 0, 0} (100, 100)
+rr
+rr
+343 (22211244) [object Object]: { 100, 0, 0, 0} (100, -100)
+valueOf ll
+valueOf ll
+rr
+rr
+344 (44211244) [object Object]: { 44, 0, 0, 0} (100, 56)
+valueOf lr
+valueOf lr
+rr
+rr
+345 ( 421244) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf lr
+valueOf lr
+rr
+rr
+346 (44421244) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+rr
+rr
+347 (88421244) [object Object]: { 0, 0, 42, 0} (100, 100)
+valueOf lr
+valueOf lr
+rr
+rr
+348 (22421244) [object Object]: { 100, 0, 42, 0} (100, -100)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+rr
+rr
+349 (44421244) [object Object]: { 44, 0, 42, 0} (100, 56)
+valueOf rl
+valueOf rl
+rr
+rr
+350 ( 2444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf rl
+valueOf rl
+rr
+rr
+351 (44 2444) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+rr
+rr
+352 (88 2444) [object Object]: { 0, 24, 0, 0} (100, 100)
+valueOf rl
+valueOf rl
+rr
+rr
+353 (22 2444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+rr
+rr
+354 (44 2444) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf rl
+valueOf rl
+rr
+rr
+355 ( 422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+valueOf rl
+valueOf rl
+rr
+rr
+356 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+rr
+rr
+357 (88422444) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf rl
+valueOf rl
+rr
+rr
+358 (22422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+rr
+rr
+359 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf rl
+lr
+lr
+valueOf rl
+rr
+rr
+360 ( 842444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf rl
+lr
+lr
+valueOf rl
+rr
+rr
+361 (44842444) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf rl
+ll
+ll
+lr
+lr
+valueOf rl
+rr
+rr
+362 (88842444) [object Object]: { 0, 24, 0, 0} (100, 100)
+valueOf rl
+lr
+lr
+valueOf rl
+rr
+rr
+363 (22842444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf ll
+valueOf rl
+valueOf ll
+lr
+lr
+valueOf rl
+rr
+rr
+364 (44842444) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf rl
+valueOf rl
+rr
+rr
+365 ( 212444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf rl
+valueOf rl
+rr
+rr
+366 (44212444) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+rr
+rr
+367 (88212444) [object Object]: { 0, 24, 0, 0} (100, 100)
+valueOf rl
+valueOf rl
+rr
+rr
+368 (22212444) [object Object]: { 100, 24, 0, 0} (100, -100)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+rr
+rr
+369 (44212444) [object Object]: { 44, 24, 0, 0} (100, 56)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+rr
+rr
+370 ( 422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+rr
+rr
+371 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+valueOf lr
+valueOf rl
+ll
+ll
+valueOf lr
+valueOf rl
+rr
+rr
+372 (88422444) [object Object]: { 0, 24, 42, 0} (100, 100)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+rr
+rr
+373 (22422444) [object Object]: { 100, 24, 42, 0} (100, -100)
+valueOf ll
+valueOf lr
+valueOf rl
+valueOf ll
+valueOf lr
+valueOf rl
+rr
+rr
+374 (44422444) [object Object]: { 44, 24, 42, 0} (100, 56)
+375 ( 11) [object Object]: { 100, 0, 0, 100} (100, 0)
+376 (44 11) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+377 (88 11) [object Object]: { 0, 0, 0, 100} (100, 100)
+378 (22 11) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+379 (44 11) [object Object]: { 44, 0, 0, 100} (100, 56)
+380 ( 42 11) [object Object]: { 100, 0, 42, 100} (100, 0)
+381 (4442 11) [object Object]: { 44, 0, 42, 100} (100, 56)
+ll
+ll
+382 (8842 11) [object Object]: { 0, 0, 42, 100} (100, 100)
+383 (2242 11) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+384 (4442 11) [object Object]: { 44, 0, 42, 100} (100, 56)
+lr
+lr
+385 ( 84 11) [object Object]: { 100, 0, 0, 100} (100, 0)
+lr
+lr
+386 (4484 11) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+387 (8884 11) [object Object]: { 0, 0, 0, 100} (100, 100)
+lr
+lr
+388 (2284 11) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+389 (4484 11) [object Object]: { 44, 0, 0, 100} (100, 56)
+390 ( 21 11) [object Object]: { 100, 0, 0, 100} (100, 0)
+391 (4421 11) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+392 (8821 11) [object Object]: { 0, 0, 0, 100} (100, 100)
+393 (2221 11) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+394 (4421 11) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+395 ( 42 11) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+396 (4442 11) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+397 (8842 11) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+398 (2242 11) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+399 (4442 11) [object Object]: { 44, 0, 42, 100} (100, 56)
+400 ( 2411) [object Object]: { 100, 24, 0, 100} (100, 0)
+401 (44 2411) [object Object]: { 44, 24, 0, 100} (100, 56)
+ll
+ll
+402 (88 2411) [object Object]: { 0, 24, 0, 100} (100, 100)
+403 (22 2411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+404 (44 2411) [object Object]: { 44, 24, 0, 100} (100, 56)
+405 ( 422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+406 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+ll
+ll
+407 (88422411) [object Object]: { 0, 24, 42, 100} (100, 100)
+408 (22422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+409 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+lr
+lr
+410 ( 842411) [object Object]: { 100, 24, 0, 100} (100, 0)
+lr
+lr
+411 (44842411) [object Object]: { 44, 24, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+412 (88842411) [object Object]: { 0, 24, 0, 100} (100, 100)
+lr
+lr
+413 (22842411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+414 (44842411) [object Object]: { 44, 24, 0, 100} (100, 56)
+415 ( 212411) [object Object]: { 100, 24, 0, 100} (100, 0)
+416 (44212411) [object Object]: { 44, 24, 0, 100} (100, 56)
+ll
+ll
+417 (88212411) [object Object]: { 0, 24, 0, 100} (100, 100)
+418 (22212411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+419 (44212411) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+420 ( 422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+421 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+422 (88422411) [object Object]: { 0, 24, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+423 (22422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+424 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+rl
+rl
+425 ( 4811) [object Object]: { 100, 0, 0, 100} (100, 0)
+rl
+rl
+426 (44 4811) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+rl
+rl
+427 (88 4811) [object Object]: { 0, 0, 0, 100} (100, 100)
+rl
+rl
+428 (22 4811) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+rl
+rl
+429 (44 4811) [object Object]: { 44, 0, 0, 100} (100, 56)
+rl
+rl
+430 ( 424811) [object Object]: { 100, 0, 42, 100} (100, 0)
+rl
+rl
+431 (44424811) [object Object]: { 44, 0, 42, 100} (100, 56)
+ll
+ll
+rl
+rl
+432 (88424811) [object Object]: { 0, 0, 42, 100} (100, 100)
+rl
+rl
+433 (22424811) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+rl
+rl
+434 (44424811) [object Object]: { 44, 0, 42, 100} (100, 56)
+lr
+lr
+rl
+rl
+435 ( 844811) [object Object]: { 100, 0, 0, 100} (100, 0)
+lr
+lr
+rl
+rl
+436 (44844811) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+rl
+rl
+437 (88844811) [object Object]: { 0, 0, 0, 100} (100, 100)
+lr
+lr
+rl
+rl
+438 (22844811) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+rl
+rl
+439 (44844811) [object Object]: { 44, 0, 0, 100} (100, 56)
+rl
+rl
+440 ( 214811) [object Object]: { 100, 0, 0, 100} (100, 0)
+rl
+rl
+441 (44214811) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+rl
+rl
+442 (88214811) [object Object]: { 0, 0, 0, 100} (100, 100)
+rl
+rl
+443 (22214811) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+rl
+rl
+444 (44214811) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+rl
+rl
+445 ( 424811) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+rl
+rl
+446 (44424811) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+rl
+rl
+447 (88424811) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+rl
+rl
+448 (22424811) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+rl
+rl
+449 (44424811) [object Object]: { 44, 0, 42, 100} (100, 56)
+450 ( 1211) [object Object]: { 100, 0, 0, 100} (100, 0)
+451 (44 1211) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+452 (88 1211) [object Object]: { 0, 0, 0, 100} (100, 100)
+453 (22 1211) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+454 (44 1211) [object Object]: { 44, 0, 0, 100} (100, 56)
+455 ( 421211) [object Object]: { 100, 0, 42, 100} (100, 0)
+456 (44421211) [object Object]: { 44, 0, 42, 100} (100, 56)
+ll
+ll
+457 (88421211) [object Object]: { 0, 0, 42, 100} (100, 100)
+458 (22421211) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf ll
+459 (44421211) [object Object]: { 44, 0, 42, 100} (100, 56)
+lr
+lr
+460 ( 841211) [object Object]: { 100, 0, 0, 100} (100, 0)
+lr
+lr
+461 (44841211) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+lr
+lr
+462 (88841211) [object Object]: { 0, 0, 0, 100} (100, 100)
+lr
+lr
+463 (22841211) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+lr
+lr
+464 (44841211) [object Object]: { 44, 0, 0, 100} (100, 56)
+465 ( 211211) [object Object]: { 100, 0, 0, 100} (100, 0)
+466 (44211211) [object Object]: { 44, 0, 0, 100} (100, 56)
+ll
+ll
+467 (88211211) [object Object]: { 0, 0, 0, 100} (100, 100)
+468 (22211211) [object Object]: { 100, 0, 0, 100} (100, 0)
+valueOf ll
+valueOf ll
+469 (44211211) [object Object]: { 44, 0, 0, 100} (100, 56)
+valueOf lr
+valueOf lr
+470 ( 421211) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf lr
+valueOf lr
+471 (44421211) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf lr
+ll
+ll
+valueOf lr
+472 (88421211) [object Object]: { 0, 0, 42, 100} (100, 100)
+valueOf lr
+valueOf lr
+473 (22421211) [object Object]: { 100, 0, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf ll
+valueOf lr
+474 (44421211) [object Object]: { 44, 0, 42, 100} (100, 56)
+valueOf rl
+valueOf rl
+475 ( 2411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf rl
+valueOf rl
+476 (44 2411) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+477 (88 2411) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf rl
+valueOf rl
+478 (22 2411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+479 (44 2411) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+valueOf rl
+480 ( 422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf rl
+valueOf rl
+481 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+482 (88422411) [object Object]: { 0, 24, 42, 100} (100, 100)
+valueOf rl
+valueOf rl
+483 (22422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+484 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf rl
+lr
+lr
+valueOf rl
+485 ( 842411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf rl
+lr
+lr
+valueOf rl
+486 (44842411) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+ll
+ll
+lr
+lr
+valueOf rl
+487 (88842411) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf rl
+lr
+lr
+valueOf rl
+488 (22842411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+lr
+lr
+valueOf rl
+489 (44842411) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+valueOf rl
+490 ( 212411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf rl
+valueOf rl
+491 (44212411) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf rl
+ll
+ll
+valueOf rl
+492 (88212411) [object Object]: { 0, 24, 0, 100} (100, 100)
+valueOf rl
+valueOf rl
+493 (22212411) [object Object]: { 100, 24, 0, 100} (100, 0)
+valueOf ll
+valueOf rl
+valueOf ll
+valueOf rl
+494 (44212411) [object Object]: { 44, 24, 0, 100} (100, 56)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+495 ( 422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+496 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf lr
+valueOf rl
+ll
+ll
+valueOf lr
+valueOf rl
+497 (88422411) [object Object]: { 0, 24, 42, 100} (100, 100)
+valueOf lr
+valueOf rl
+valueOf lr
+valueOf rl
+498 (22422411) [object Object]: { 100, 24, 42, 100} (100, 0)
+valueOf ll
+valueOf lr
+valueOf rl
+valueOf ll
+valueOf lr
+valueOf rl
+499 (44422411) [object Object]: { 44, 24, 42, 100} (100, 56)
+valueOf rr
+valueOf rr
+500 ( 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+valueOf rr
+501 (44 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+502 (88 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+valueOf rr
+503 (22 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+504 (44 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+valueOf rr
+505 ( 42 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf rr
+valueOf rr
+506 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+507 (8842 22) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf rr
+valueOf rr
+508 (2242 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+509 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+lr
+lr
+valueOf rr
+510 ( 84 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+lr
+lr
+valueOf rr
+511 (4484 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+lr
+lr
+valueOf rr
+512 (8884 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+lr
+lr
+valueOf rr
+513 (2284 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+lr
+lr
+valueOf rr
+514 (4484 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+valueOf rr
+515 ( 21 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+valueOf rr
+516 (4421 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+517 (8821 22) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+valueOf rr
+518 (2221 22) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+519 (4421 22) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+520 ( 42 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+521 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf lr
+valueOf rr
+ll
+ll
+valueOf lr
+valueOf rr
+522 (8842 22) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+523 (2242 22) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf rr
+valueOf ll
+valueOf lr
+valueOf rr
+524 (4442 22) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+valueOf rr
+525 ( 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rr
+valueOf rr
+526 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+527 (88 2422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rr
+valueOf rr
+528 (22 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+529 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+valueOf rr
+530 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf rr
+valueOf rr
+531 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+532 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf rr
+valueOf rr
+533 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+534 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf rr
+lr
+lr
+valueOf rr
+535 ( 842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rr
+lr
+lr
+valueOf rr
+536 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+lr
+lr
+valueOf rr
+537 (88842422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rr
+lr
+lr
+valueOf rr
+538 (22842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+lr
+lr
+valueOf rr
+539 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+valueOf rr
+540 ( 212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rr
+valueOf rr
+541 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+542 (88212422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rr
+valueOf rr
+543 (22212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+544 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+545 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+546 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf lr
+valueOf rr
+ll
+ll
+valueOf lr
+valueOf rr
+547 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+548 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf rr
+valueOf ll
+valueOf lr
+valueOf rr
+549 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf rr
+rl
+rl
+valueOf rr
+550 ( 4822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+rl
+rl
+valueOf rr
+551 (44 4822) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+rl
+rl
+valueOf rr
+552 (88 4822) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+rl
+rl
+valueOf rr
+553 (22 4822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+rl
+rl
+valueOf rr
+554 (44 4822) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+rl
+rl
+valueOf rr
+555 ( 424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf rr
+rl
+rl
+valueOf rr
+556 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+ll
+ll
+rl
+rl
+valueOf rr
+557 (88424822) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf rr
+rl
+rl
+valueOf rr
+558 (22424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+rl
+rl
+valueOf rr
+559 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+lr
+lr
+rl
+rl
+valueOf rr
+560 ( 844822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+lr
+lr
+rl
+rl
+valueOf rr
+561 (44844822) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+lr
+lr
+rl
+rl
+valueOf rr
+562 (88844822) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+lr
+lr
+rl
+rl
+valueOf rr
+563 (22844822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+lr
+lr
+rl
+rl
+valueOf rr
+564 (44844822) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+rl
+rl
+valueOf rr
+565 ( 214822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+rl
+rl
+valueOf rr
+566 (44214822) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+rl
+rl
+valueOf rr
+567 (88214822) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+rl
+rl
+valueOf rr
+568 (22214822) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+rl
+rl
+valueOf rr
+569 (44214822) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf lr
+valueOf rr
+valueOf lr
+rl
+rl
+valueOf rr
+570 ( 424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf lr
+valueOf rr
+valueOf lr
+rl
+rl
+valueOf rr
+571 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf lr
+valueOf rr
+ll
+ll
+valueOf lr
+rl
+rl
+valueOf rr
+572 (88424822) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf lr
+valueOf rr
+valueOf lr
+rl
+rl
+valueOf rr
+573 (22424822) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf rr
+valueOf ll
+valueOf lr
+rl
+rl
+valueOf rr
+574 (44424822) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+valueOf rr
+575 ( 1222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+valueOf rr
+576 (44 1222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+577 (88 1222) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+valueOf rr
+578 (22 1222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+579 (44 1222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+valueOf rr
+580 ( 421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf rr
+valueOf rr
+581 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+582 (88421222) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf rr
+valueOf rr
+583 (22421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+584 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+lr
+lr
+valueOf rr
+585 ( 841222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+lr
+lr
+valueOf rr
+586 (44841222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+lr
+lr
+valueOf rr
+587 (88841222) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+lr
+lr
+valueOf rr
+588 (22841222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+lr
+lr
+valueOf rr
+589 (44841222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+valueOf rr
+590 ( 211222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf rr
+valueOf rr
+591 (44211222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf rr
+ll
+ll
+valueOf rr
+592 (88211222) [object Object]: { 0, 0, 0, 22} (100, 100)
+valueOf rr
+valueOf rr
+593 (22211222) [object Object]: { 100, 0, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf ll
+valueOf rr
+594 (44211222) [object Object]: { 44, 0, 0, 22} (100, 56)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+595 ( 421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+596 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf lr
+valueOf rr
+ll
+ll
+valueOf lr
+valueOf rr
+597 (88421222) [object Object]: { 0, 0, 42, 22} (100, 100)
+valueOf lr
+valueOf rr
+valueOf lr
+valueOf rr
+598 (22421222) [object Object]: { 100, 0, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf rr
+valueOf ll
+valueOf lr
+valueOf rr
+599 (44421222) [object Object]: { 44, 0, 42, 22} (100, 56)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+600 ( 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+601 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+valueOf rl
+ll
+ll
+valueOf rl
+valueOf rr
+602 (88 2422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+603 (22 2422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf rl
+valueOf ll
+valueOf rl
+valueOf rr
+604 (44 2422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+605 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+606 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf rr
+valueOf rl
+ll
+ll
+valueOf rl
+valueOf rr
+607 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+608 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf rl
+valueOf ll
+valueOf rl
+valueOf rr
+609 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf rr
+valueOf rl
+lr
+lr
+valueOf rl
+valueOf rr
+610 ( 842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rr
+valueOf rl
+lr
+lr
+valueOf rl
+valueOf rr
+611 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+valueOf rl
+ll
+ll
+lr
+lr
+valueOf rl
+valueOf rr
+612 (88842422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rr
+valueOf rl
+lr
+lr
+valueOf rl
+valueOf rr
+613 (22842422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf rl
+valueOf ll
+lr
+lr
+valueOf rl
+valueOf rr
+614 (44842422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+615 ( 212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+616 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf rr
+valueOf rl
+ll
+ll
+valueOf rl
+valueOf rr
+617 (88212422) [object Object]: { 0, 24, 0, 22} (100, 100)
+valueOf rr
+valueOf rl
+valueOf rl
+valueOf rr
+618 (22212422) [object Object]: { 100, 24, 0, 22} (100, -78)
+valueOf ll
+valueOf rr
+valueOf rl
+valueOf ll
+valueOf rl
+valueOf rr
+619 (44212422) [object Object]: { 44, 24, 0, 22} (100, 56)
+valueOf lr
+valueOf rr
+valueOf rl
+valueOf lr
+valueOf rl
+valueOf rr
+620 ( 422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf lr
+valueOf rr
+valueOf rl
+valueOf lr
+valueOf rl
+valueOf rr
+621 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
+valueOf lr
+valueOf rr
+valueOf rl
+ll
+ll
+valueOf lr
+valueOf rl
+valueOf rr
+622 (88422422) [object Object]: { 0, 24, 42, 22} (100, 100)
+valueOf lr
+valueOf rr
+valueOf rl
+valueOf lr
+valueOf rl
+valueOf rr
+623 (22422422) [object Object]: { 100, 24, 42, 22} (100, -78)
+valueOf ll
+valueOf lr
+valueOf rr
+valueOf rl
+valueOf ll
+valueOf lr
+valueOf rl
+valueOf rr
+624 (44422422) [object Object]: { 44, 24, 42, 22} (100, 56)
diff --git a/test/trace/sound-setTransform-propertytypes.as b/test/trace/sound-setTransform-propertytypes.as
new file mode 100644
index 0000000..d6d760f
--- /dev/null
+++ b/test/trace/sound-setTransform-propertytypes.as
@@ -0,0 +1,45 @@
+// makeswf -v 7 -s 200x150 -r 1 -o sound-setTransform-propertytypes.swf sound-setTransform-propertytypes.as
+
+Sound.prototype.toString = function () {
+ var tf = this.getTransform ();
+ return tf + ": { " + tf.ll + ", " + tf.rl + ", " + tf.lr + ", " + tf.rr + "} (" + this.getVolume () + ", " + this.getPan () + ")";
+};
+
+N = 5;
+vals = { ll: 44, lr: 42, rl: 24, rr: 22 };
+function modify (o, name, num) {
+ //trace (num);
+ switch (num) {
+ case 0:
+ break;
+ case 1:
+ o[name] = vals[name];
+ break;
+ case 2:
+ o.addProperty (name, function () { trace (name); return vals[name] * 2; }, null);
+ break;
+ case 3:
+ o.__proto__[name] = vals[name] / 2;
+ break;
+ case 4:
+ o[name] = { valueOf: function () { trace ("valueOf " + name); return vals[name]; } };
+ break;
+ default:
+ trace ("ERROR");
+ break;
+ }
+};
+
+for (i = 0; i < N * N * N * N; i++) {
+ o = { __proto__: {}, toString: function () { return "(" + (o.ll ? o.ll : " ") + (o.lr ? o.lr : " ") + (o.rl ? o.rl : " ") + (o.rr ? o.rr : " ") + ")"; } };
+ modify (o, "ll", int (i) % N);
+ modify (o, "lr", int (i / N) % N);
+ modify (o, "rl", int (i / N / N) % N);
+ modify (o, "rr", int (i / N / N / N) % N);
+ createEmptyMovieClip ("a", 0);
+ x = new Sound (a);
+ x.setTransform (o);
+ trace (i + " " + o + " " + x);
+};
+
+getURL ("fscommand:quit", "");
commit b3f66bc20bf2be919a5848dc0830608d03bf6a32
Author: Benjamin Otte <otte at gnome.org>
Date: Wed Jun 11 13:43:29 2008 +0200
implement Sound.[gs]et(Volume|Pan|Transform)
diff --git a/swfdec/swfdec_as_strings.c b/swfdec/swfdec_as_strings.c
index e93063c..8be8570 100644
--- a/swfdec/swfdec_as_strings.c
+++ b/swfdec/swfdec_as_strings.c
@@ -507,5 +507,9 @@ const char swfdec_as_strings[] =
SWFDEC_AS_CONSTANT_STRING ("onFullScreen")
SWFDEC_AS_CONSTANT_STRING ("_customHeaders")
SWFDEC_AS_CONSTANT_STRING ("Content-Type")
+ SWFDEC_AS_CONSTANT_STRING ("ll")
+ SWFDEC_AS_CONSTANT_STRING ("lr")
+ SWFDEC_AS_CONSTANT_STRING ("rl")
+ SWFDEC_AS_CONSTANT_STRING ("rr")
/* add more here */
;
diff --git a/swfdec/swfdec_sound_object.c b/swfdec/swfdec_sound_object.c
index 7a17761..c5cb8a1 100644
--- a/swfdec/swfdec_sound_object.c
+++ b/swfdec/swfdec_sound_object.c
@@ -1,5 +1,5 @@
/* Swfdec
- * Copyright (C) 2007 Benjamin Otte <otte at gnome.org>
+ * Copyright (C) 2007-2008 Benjamin Otte <otte at gnome.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -89,12 +89,32 @@ swfdec_sound_object_get_sound (SwfdecSoundObject *sound, const char *name)
/*** AS CODE ***/
+static SwfdecSoundMatrix *
+swfdec_sound_object_get_matrix (SwfdecSoundObject *sound)
+{
+ if (sound->global) {
+ return &SWFDEC_PLAYER (SWFDEC_AS_OBJECT (sound)->context)->priv->sound_matrix;
+ } else if (SWFDEC_IS_ACTOR (sound->target)) {
+ return &SWFDEC_ACTOR (sound->target)->sound_matrix;
+ }
+ return NULL;
+}
+
SWFDEC_AS_NATIVE (500, 0, swfdec_sound_object_getPan)
void
swfdec_sound_object_getPan (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- SWFDEC_STUB ("Sound.getPan");
+ SwfdecSoundObject *sound;
+ const SwfdecSoundMatrix *matrix;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_SOUND_OBJECT, &sound, "");
+
+ matrix = swfdec_sound_object_get_matrix (sound);
+ if (matrix == NULL)
+ return;
+
+ SWFDEC_AS_VALUE_SET_INT (ret, swfdec_sound_matrix_get_pan (matrix));
}
SWFDEC_AS_NATIVE (500, 1, swfdec_sound_object_getTransform)
@@ -102,7 +122,31 @@ void
swfdec_sound_object_getTransform (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- SWFDEC_STUB ("Sound.getTransform");
+ SwfdecSoundObject *sound;
+ const SwfdecSoundMatrix *matrix;
+ SwfdecAsObject *obj;
+ SwfdecAsValue val;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_SOUND_OBJECT, &sound, "");
+
+ matrix = swfdec_sound_object_get_matrix (sound);
+ if (matrix == NULL)
+ return;
+
+ obj = swfdec_as_object_new (cx);
+ if (obj == NULL)
+ return;
+
+ SWFDEC_AS_VALUE_SET_INT (&val, matrix->ll);
+ swfdec_as_object_set_variable (obj, SWFDEC_AS_STR_ll, &val);
+ SWFDEC_AS_VALUE_SET_INT (&val, matrix->lr);
+ swfdec_as_object_set_variable (obj, SWFDEC_AS_STR_lr, &val);
+ SWFDEC_AS_VALUE_SET_INT (&val, matrix->rl);
+ swfdec_as_object_set_variable (obj, SWFDEC_AS_STR_rl, &val);
+ SWFDEC_AS_VALUE_SET_INT (&val, matrix->rr);
+ swfdec_as_object_set_variable (obj, SWFDEC_AS_STR_rr, &val);
+
+ SWFDEC_AS_VALUE_SET_OBJECT (ret, obj);
}
SWFDEC_AS_NATIVE (500, 2, swfdec_sound_object_getVolume)
@@ -110,7 +154,16 @@ void
swfdec_sound_object_getVolume (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- SWFDEC_STUB ("Sound.getVolume");
+ SwfdecSoundObject *sound;
+ const SwfdecSoundMatrix *matrix;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_SOUND_OBJECT, &sound, "");
+
+ matrix = swfdec_sound_object_get_matrix (sound);
+ if (matrix == NULL)
+ return;
+
+ SWFDEC_AS_VALUE_SET_INT (ret, matrix->volume);
}
SWFDEC_AS_NATIVE (500, 3, swfdec_sound_object_setPan)
@@ -118,7 +171,17 @@ void
swfdec_sound_object_setPan (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- SWFDEC_STUB ("Sound.setPan");
+ SwfdecSoundObject *sound;
+ SwfdecSoundMatrix *matrix;
+ int pan;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_SOUND_OBJECT, &sound, "i", &pan);
+
+ matrix = swfdec_sound_object_get_matrix (sound);
+ if (matrix == NULL)
+ return;
+
+ swfdec_sound_matrix_set_pan (matrix, pan);
}
SWFDEC_AS_NATIVE (500, 4, swfdec_sound_object_setTransform)
@@ -126,7 +189,45 @@ void
swfdec_sound_object_setTransform (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- SWFDEC_STUB ("Sound.setTransform");
+ SwfdecSoundObject *sound;
+ SwfdecSoundMatrix *matrix;
+ SwfdecAsObject *trans;
+ SwfdecAsValue *val;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_SOUND_OBJECT, &sound, "o", &trans);
+
+ matrix = swfdec_sound_object_get_matrix (sound);
+ if (matrix == NULL)
+ return;
+
+ /* ll */
+ val = swfdec_as_object_peek_variable (trans, SWFDEC_AS_STR_ll);
+ if (val) {
+ matrix->ll = swfdec_as_value_to_integer (cx, val);
+ } else if (swfdec_as_object_has_variable (trans, SWFDEC_AS_STR_ll) == trans) {
+ matrix->ll = 0;
+ }
+ /* lr */
+ val = swfdec_as_object_peek_variable (trans, SWFDEC_AS_STR_lr);
+ if (val) {
+ matrix->lr = swfdec_as_value_to_integer (cx, val);
+ } else if (swfdec_as_object_has_variable (trans, SWFDEC_AS_STR_lr) == trans) {
+ matrix->lr = 0;
+ }
+ /* rr */
+ val = swfdec_as_object_peek_variable (trans, SWFDEC_AS_STR_rr);
+ if (val) {
+ matrix->rr = swfdec_as_value_to_integer (cx, val);
+ } else if (swfdec_as_object_has_variable (trans, SWFDEC_AS_STR_rr) == trans) {
+ matrix->rr = 0;
+ }
+ /* rl */
+ val = swfdec_as_object_peek_variable (trans, SWFDEC_AS_STR_rl);
+ if (val) {
+ matrix->rl = swfdec_as_value_to_integer (cx, val);
+ } else if (swfdec_as_object_has_variable (trans, SWFDEC_AS_STR_rl) == trans) {
+ matrix->rl = 0;
+ }
}
SWFDEC_AS_NATIVE (500, 5, swfdec_sound_object_setVolume)
@@ -134,7 +235,17 @@ void
swfdec_sound_object_setVolume (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- SWFDEC_STUB ("Sound.setVolume");
+ SwfdecSoundObject *sound;
+ SwfdecSoundMatrix *matrix;
+ int volume;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_SOUND_OBJECT, &sound, "i", &volume);
+
+ matrix = swfdec_sound_object_get_matrix (sound);
+ if (matrix == NULL)
+ return;
+
+ matrix->volume = volume;
}
SWFDEC_AS_NATIVE (500, 9, swfdec_sound_object_getDuration)
diff --git a/swfdec/swfdec_sound_object.h b/swfdec/swfdec_sound_object.h
index c36d12e..ec057b6 100644
--- a/swfdec/swfdec_sound_object.h
+++ b/swfdec/swfdec_sound_object.h
@@ -1,5 +1,5 @@
/* Swfdec
- * Copyright (C) 2007 Benjamin Otte <otte at gnome.org>
+ * Copyright (C) 2007-2008 Benjamin Otte <otte at gnome.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
commit 69ea7e7fefdb37664adf06ce8b6eb65fbc341092
Author: Benjamin Otte <otte at gnome.org>
Date: Wed Jun 11 13:43:00 2008 +0200
make swfdec_as_object_has_variable() return which object has the variable
This will be needed by the sound object stuff
diff --git a/swfdec/swfdec_as_object.c b/swfdec/swfdec_as_object.c
index 3bf10cd..df90ccd 100644
--- a/swfdec/swfdec_as_object.c
+++ b/swfdec/swfdec_as_object.c
@@ -978,9 +978,10 @@ swfdec_as_object_get_variable_and_flags (SwfdecAsObject *object,
* function does not check variables that are available via an overwritten get
* function of the object's class.
*
- * Returns: %TRUE if the @object contains the given @variable
+ * Returns: the object in the prototype chain that contains @variable or %NULL
+ * if the @object does not contain this variable.
**/
-gboolean
+SwfdecAsObject *
swfdec_as_object_has_variable (SwfdecAsObject *object, const char *variable)
{
guint i;
@@ -992,11 +993,11 @@ swfdec_as_object_has_variable (SwfdecAsObject *object, const char *variable)
var = swfdec_as_object_hash_lookup (object, variable);
if (var) {
/* FIXME: propflags? */
- return TRUE;
+ return object;
}
object = swfdec_as_object_get_prototype_internal (object);
}
- return FALSE;
+ return NULL;
}
/**
diff --git a/swfdec/swfdec_as_object.h b/swfdec/swfdec_as_object.h
index d8fcf32..cd84e5d 100644
--- a/swfdec/swfdec_as_object.h
+++ b/swfdec/swfdec_as_object.h
@@ -144,7 +144,7 @@ gboolean swfdec_as_object_get_variable_and_flags
SwfdecAsValue * value,
guint * flags,
SwfdecAsObject ** pobject);
-gboolean swfdec_as_object_has_variable (SwfdecAsObject * object,
+SwfdecAsObject *swfdec_as_object_has_variable (SwfdecAsObject * object,
const char * variable);
SwfdecAsDeleteReturn
swfdec_as_object_delete_variable(SwfdecAsObject * object,
commit ac3801ca75983c16a4f1dc944a00f985ab009a10
Author: Benjamin Otte <otte at gnome.org>
Date: Tue Jun 10 15:20:06 2008 +0200
sound matrices work on TextFields, too
diff --git a/swfdec/swfdec_actor.c b/swfdec/swfdec_actor.c
index 767c862..ce0a921 100644
--- a/swfdec/swfdec_actor.c
+++ b/swfdec/swfdec_actor.c
@@ -158,6 +158,7 @@ swfdec_actor_class_init (SwfdecActorClass *klass)
static void
swfdec_actor_init (SwfdecActor *actor)
{
+ swfdec_sound_matrix_init_identity (&actor->sound_matrix);
}
static void
diff --git a/swfdec/swfdec_actor.h b/swfdec/swfdec_actor.h
index c299769..6528322 100644
--- a/swfdec/swfdec_actor.h
+++ b/swfdec/swfdec_actor.h
@@ -21,6 +21,7 @@
#define _SWFDEC_ACTOR_H_
#include <swfdec/swfdec_movie.h>
+#include <swfdec/swfdec_sound_matrix.h>
G_BEGIN_DECLS
@@ -44,6 +45,9 @@ struct _SwfdecActor
SwfdecFlashBool focusrect; /* if we should draw a focus rectangle or not */
guint needs_matrix; /* number of movies contained that need matrix updates */
+
+ /* sound */
+ SwfdecSoundMatrix sound_matrix; /* movie's sound matrix */
};
struct _SwfdecActorClass
diff --git a/swfdec/swfdec_audio.c b/swfdec/swfdec_audio.c
index 43da325..9848b92 100644
--- a/swfdec/swfdec_audio.c
+++ b/swfdec/swfdec_audio.c
@@ -25,9 +25,9 @@
#include <string.h>
#include "swfdec_audio_internal.h"
+#include "swfdec_actor.h"
#include "swfdec_debug.h"
#include "swfdec_player_internal.h"
-#include "swfdec_sprite_movie.h"
/**
* SECTION:SwfdecAudio
@@ -63,7 +63,7 @@ swfdec_audio_dispose (GObject *object)
{
SwfdecAudio *audio = SWFDEC_AUDIO (object);
- g_assert (audio->movie == NULL);
+ g_assert (audio->actor == NULL);
g_assert (audio->player == NULL);
G_OBJECT_CLASS (swfdec_audio_parent_class)->dispose (object);
@@ -117,7 +117,7 @@ swfdec_audio_remove (SwfdecAudio *audio)
if (audio->player != NULL) {
SwfdecPlayerPrivate *priv = audio->player->priv;
SWFDEC_INFO ("removing %s %p", G_OBJECT_TYPE_NAME (audio), audio);
- swfdec_audio_set_movie (audio, NULL);
+ swfdec_audio_set_actor (audio, NULL);
priv->audio = g_list_remove (priv->audio, audio);
if (audio->added) {
g_signal_emit_by_name (audio->player, "audio-removed", audio);
@@ -153,19 +153,19 @@ swfdec_audio_iterate (SwfdecAudio *audio, guint n_samples)
}
void
-swfdec_audio_set_movie (SwfdecAudio *audio, SwfdecSpriteMovie *movie)
+swfdec_audio_set_actor (SwfdecAudio *audio, SwfdecActor *actor)
{
g_return_if_fail (SWFDEC_IS_AUDIO (audio));
g_return_if_fail (audio->player != NULL);
- g_return_if_fail (movie == NULL || SWFDEC_IS_SPRITE_MOVIE (movie));
+ g_return_if_fail (actor == NULL || SWFDEC_IS_ACTOR (actor));
- if (movie) {
- g_object_ref (movie);
+ if (actor) {
+ g_object_ref (actor);
}
- if (audio->movie) {
- g_object_unref (audio->movie);
+ if (audio->actor) {
+ g_object_unref (audio->actor);
}
- audio->movie = movie;
+ audio->actor = actor;
}
/**
@@ -198,10 +198,10 @@ swfdec_audio_render (SwfdecAudio *audio, gint16 *dest,
klass = SWFDEC_AUDIO_GET_CLASS (audio);
rendered = klass->render (audio, dest, start_offset, n_samples);
- if (audio->movie) {
+ if (audio->actor) {
SwfdecSoundMatrix sound;
- swfdec_sound_matrix_multiply (&sound, &audio->movie->sound_matrix,
+ swfdec_sound_matrix_multiply (&sound, &audio->actor->sound_matrix,
&audio->player->priv->sound_matrix);
swfdec_sound_matrix_apply (&sound, dest, rendered);
} else if (audio->player) {
diff --git a/swfdec/swfdec_audio_internal.h b/swfdec/swfdec_audio_internal.h
index f7d368b..e7deff8 100644
--- a/swfdec/swfdec_audio_internal.h
+++ b/swfdec/swfdec_audio_internal.h
@@ -39,7 +39,7 @@ struct _SwfdecAudio {
SwfdecPlayer * player; /* the player that plays us */
gboolean added; /* set to TRUE after the added signal has been emitted */
- SwfdecSpriteMovie * movie; /* NULL or movieclip that controls our volume */
+ SwfdecActor * actor; /* NULL or movieclip that controls our volume */
};
struct _SwfdecAudioClass {
@@ -56,8 +56,8 @@ struct _SwfdecAudioClass {
void swfdec_audio_add (SwfdecAudio * audio,
SwfdecPlayer * player);
void swfdec_audio_remove (SwfdecAudio * audio);
-void swfdec_audio_set_movie (SwfdecAudio * audio,
- SwfdecSpriteMovie * movie);
+void swfdec_audio_set_actor (SwfdecAudio * audio,
+ SwfdecActor * actor);
guint swfdec_audio_iterate (SwfdecAudio * audio,
guint n_samples);
diff --git a/swfdec/swfdec_sprite_movie.c b/swfdec/swfdec_sprite_movie.c
index 9c44e09..b74d61f 100644
--- a/swfdec/swfdec_sprite_movie.c
+++ b/swfdec/swfdec_sprite_movie.c
@@ -793,8 +793,6 @@ swfdec_sprite_movie_init (SwfdecSpriteMovie * movie)
{
movie->playing = TRUE;
movie->frame = (guint) -1;
-
- swfdec_sound_matrix_init_identity (&movie->sound_matrix);
}
/* cute little hack */
diff --git a/swfdec/swfdec_sprite_movie.h b/swfdec/swfdec_sprite_movie.h
index 45be4eb..6f5a043 100644
--- a/swfdec/swfdec_sprite_movie.h
+++ b/swfdec/swfdec_sprite_movie.h
@@ -22,7 +22,6 @@
#include <swfdec/swfdec_actor.h>
#include <swfdec/swfdec_audio.h>
-#include <swfdec/swfdec_sound_matrix.h>
#include <swfdec/swfdec_types.h>
G_BEGIN_DECLS
@@ -53,7 +52,6 @@ struct _SwfdecSpriteMovie
/* audio stream handling */
SwfdecAudio * sound_stream; /* stream that currently plays */
gboolean sound_active; /* if the sound stream had a SoundStreamBlock last frame */
- SwfdecSoundMatrix sound_matrix; /* movie's sound matrix */
};
struct _SwfdecSpriteMovieClass
commit 22917e1d0789c06920c6af4adf75cd3edef9ec9e
Author: Benjamin Otte <otte at gnome.org>
Date: Tue Jun 10 15:01:50 2008 +0200
add initial infrastructure for supporting volume
It doesn't do anything useful yet
diff --git a/swfdec/Makefile.am b/swfdec/Makefile.am
index 6c8f5c1..8b78fdf 100644
--- a/swfdec/Makefile.am
+++ b/swfdec/Makefile.am
@@ -127,6 +127,7 @@ libswfdec_source_files = \
swfdec_shared_object.c \
swfdec_socket.c \
swfdec_sound.c \
+ swfdec_sound_matrix.c \
swfdec_sound_object.c \
swfdec_sprite.c \
swfdec_sprite_movie.c \
@@ -289,6 +290,7 @@ noinst_HEADERS = \
swfdec_shape.h \
swfdec_shape_parser.h \
swfdec_sound.h \
+ swfdec_sound_matrix.h \
swfdec_sound_object.h \
swfdec_sprite.h \
swfdec_sprite_movie.h \
diff --git a/swfdec/swfdec_audio.c b/swfdec/swfdec_audio.c
index 238aa64..43da325 100644
--- a/swfdec/swfdec_audio.c
+++ b/swfdec/swfdec_audio.c
@@ -1,7 +1,7 @@
/* Swfdec
* Copyright (C) 2003-2006 David Schleef <ds at schleef.org>
* 2005-2006 Eric Anholt <eric at anholt.net>
- * 2006 Benjamin Otte <otte at gnome.org>
+ * 2006-2008 Benjamin Otte <otte at gnome.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -27,6 +27,7 @@
#include "swfdec_audio_internal.h"
#include "swfdec_debug.h"
#include "swfdec_player_internal.h"
+#include "swfdec_sprite_movie.h"
/**
* SECTION:SwfdecAudio
@@ -62,6 +63,7 @@ swfdec_audio_dispose (GObject *object)
{
SwfdecAudio *audio = SWFDEC_AUDIO (object);
+ g_assert (audio->movie == NULL);
g_assert (audio->player == NULL);
G_OBJECT_CLASS (swfdec_audio_parent_class)->dispose (object);
@@ -115,6 +117,7 @@ swfdec_audio_remove (SwfdecAudio *audio)
if (audio->player != NULL) {
SwfdecPlayerPrivate *priv = audio->player->priv;
SWFDEC_INFO ("removing %s %p", G_OBJECT_TYPE_NAME (audio), audio);
+ swfdec_audio_set_movie (audio, NULL);
priv->audio = g_list_remove (priv->audio, audio);
if (audio->added) {
g_signal_emit_by_name (audio->player, "audio-removed", audio);
@@ -149,6 +152,22 @@ swfdec_audio_iterate (SwfdecAudio *audio, guint n_samples)
return klass->iterate (audio, n_samples);
}
+void
+swfdec_audio_set_movie (SwfdecAudio *audio, SwfdecSpriteMovie *movie)
+{
+ g_return_if_fail (SWFDEC_IS_AUDIO (audio));
+ g_return_if_fail (audio->player != NULL);
+ g_return_if_fail (movie == NULL || SWFDEC_IS_SPRITE_MOVIE (movie));
+
+ if (movie) {
+ g_object_ref (movie);
+ }
+ if (audio->movie) {
+ g_object_unref (audio->movie);
+ }
+ audio->movie = movie;
+}
+
/**
* swfdec_audio_render:
* @audio: a #SwfdecAudio
@@ -171,13 +190,25 @@ swfdec_audio_render (SwfdecAudio *audio, gint16 *dest,
guint start_offset, guint n_samples)
{
SwfdecAudioClass *klass;
+ guint rendered;
g_return_val_if_fail (SWFDEC_IS_AUDIO (audio), 0);
g_return_val_if_fail (dest != NULL, 0);
g_return_val_if_fail (n_samples > 0, 0);
klass = SWFDEC_AUDIO_GET_CLASS (audio);
- return klass->render (audio, dest, start_offset, n_samples);
+ rendered = klass->render (audio, dest, start_offset, n_samples);
+ if (audio->movie) {
+ SwfdecSoundMatrix sound;
+
+ swfdec_sound_matrix_multiply (&sound, &audio->movie->sound_matrix,
+ &audio->player->priv->sound_matrix);
+ swfdec_sound_matrix_apply (&sound, dest, rendered);
+ } else if (audio->player) {
+ swfdec_sound_matrix_apply (&audio->player->priv->sound_matrix, dest, rendered);
+ }
+
+ return rendered;
}
/*** SWFDEC_AUDIO_FORMAT ***/
diff --git a/swfdec/swfdec_audio_internal.h b/swfdec/swfdec_audio_internal.h
index 1737437..f7d368b 100644
--- a/swfdec/swfdec_audio_internal.h
+++ b/swfdec/swfdec_audio_internal.h
@@ -1,7 +1,7 @@
/* Swfdec
* Copyright (C) 2003-2006 David Schleef <ds at schleef.org>
* 2005-2006 Eric Anholt <eric at anholt.net>
- * 2006-2007 Benjamin Otte <otte at gnome.org>
+ * 2006-2008 Benjamin Otte <otte at gnome.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -39,6 +39,7 @@ struct _SwfdecAudio {
SwfdecPlayer * player; /* the player that plays us */
gboolean added; /* set to TRUE after the added signal has been emitted */
+ SwfdecSpriteMovie * movie; /* NULL or movieclip that controls our volume */
};
struct _SwfdecAudioClass {
@@ -55,6 +56,8 @@ struct _SwfdecAudioClass {
void swfdec_audio_add (SwfdecAudio * audio,
SwfdecPlayer * player);
void swfdec_audio_remove (SwfdecAudio * audio);
+void swfdec_audio_set_movie (SwfdecAudio * audio,
+ SwfdecSpriteMovie * movie);
guint swfdec_audio_iterate (SwfdecAudio * audio,
guint n_samples);
diff --git a/swfdec/swfdec_player.c b/swfdec/swfdec_player.c
index 790ad6c..87763e0 100644
--- a/swfdec/swfdec_player.c
+++ b/swfdec/swfdec_player.c
@@ -2351,6 +2351,8 @@ swfdec_player_init (SwfdecPlayer *player)
cairo_matrix_init_scale (&priv->stage_to_global,
SWFDEC_TWIPS_SCALE_FACTOR, SWFDEC_TWIPS_SCALE_FACTOR);
priv->global_to_stage = priv->stage_to_global;
+ cairo_matrix_invert (&priv->global_to_stage);
+ swfdec_sound_matrix_init_identity (&priv->sound_matrix);
}
void
diff --git a/swfdec/swfdec_player_internal.h b/swfdec/swfdec_player_internal.h
index 8391998..70bdbb8 100644
--- a/swfdec/swfdec_player_internal.h
+++ b/swfdec/swfdec_player_internal.h
@@ -30,6 +30,7 @@
#include <swfdec/swfdec_rect.h>
#include <swfdec/swfdec_ringbuffer.h>
#include <swfdec/swfdec_socket.h>
+#include <swfdec/swfdec_sound_matrix.h>
#include <swfdec/swfdec_system.h>
G_BEGIN_DECLS
@@ -137,6 +138,7 @@ struct _SwfdecPlayerPrivate
/* audio */
GList * audio; /* list of playing SwfdecAudio */
GSList * missing_plugins; /* list of GStreamer detail strings for missing plugins */
+ SwfdecSoundMatrix sound_matrix; /* global sound transform - FIXME: is this per-sandbox or global? */
/* events and advancing */
SwfdecTick time; /* current time */
diff --git a/swfdec/swfdec_sound_matrix.c b/swfdec/swfdec_sound_matrix.c
new file mode 100644
index 0000000..40c76c9
--- /dev/null
+++ b/swfdec/swfdec_sound_matrix.c
@@ -0,0 +1,111 @@
+/* Swfdec
+ * Copyright (C) 2008 Benjamin Otte <otte at gnome.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifndef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <swfdec_sound_matrix.h>
+#include <liboil/liboil.h>
+#include <swfdec_debug.h>
+
+void
+swfdec_sound_matrix_init_identity (SwfdecSoundMatrix *sound)
+{
+ sound->ll = sound->rr = sound->volume = 100;
+ sound->lr = sound->rl = 0;
+}
+
+int
+swfdec_sound_matrix_get_pan (const SwfdecSoundMatrix *sound)
+{
+ g_return_val_if_fail (sound != NULL, 0);
+
+ if (sound->ll == 100)
+ return ABS (sound->rr) - 100;
+ else
+ return 100 - ABS (sound->ll);
+}
+
+void
+swfdec_sound_matrix_set_pan (SwfdecSoundMatrix *sound, int pan)
+{
+ g_return_if_fail (sound != NULL);
+
+ if (pan > 0) {
+ sound->rr = 100;
+ sound->ll = 100 + pan;
+ } else {
+ sound->ll = 100;
+ sound->rr = 100 - pan;
+ }
+}
+
+gboolean
+swfdec_sound_matrix_is_identity (const SwfdecSoundMatrix *sound)
+{
+ g_return_val_if_fail (sound != NULL, FALSE);
+
+ return sound->ll == 100 && sound->rr == 100 &&
+ sound->lr == 0 && sound->rr == 0 && sound->volume == 100;
+}
+
+void
+swfdec_sound_matrix_apply (const SwfdecSoundMatrix *sound,
+ gint16 *dest, guint n_samples)
+{
+ guint i;
+ int left, right;
+
+ if (swfdec_sound_matrix_is_identity (sound))
+ return;
+ for (i = 0; i < n_samples; i++) {
+ left = (sound->ll * dest[0] + sound->lr * dest[1]) / 100;
+ left *= sound->volume / 100;
+ right = (sound->rl * dest[0] + sound->rr * dest[1]) / 100;
+ right *= sound->volume / 100;
+ dest[0] = left;
+ dest[1] = right;
+ dest += 2;
+ }
+}
+
+
+void
+swfdec_sound_matrix_multiply (SwfdecSoundMatrix *dest,
+ const SwfdecSoundMatrix *a, const SwfdecSoundMatrix *b)
+{
+ int ll, lr, rl, rr;
+
+ g_return_if_fail (dest != NULL);
+ g_return_if_fail (a != NULL);
+ g_return_if_fail (b != NULL);
+
+ ll = (b->ll * a->ll + b->lr * a->rl) / 100;
+ rl = (b->rl * a->ll + b->rr * a->rl) / 100;
+ lr = (b->ll * a->lr + b->lr * a->rr) / 100;
+ rr = (b->rl * a->lr + b->rr * a->rr) / 100;
+
+ dest->volume = b->volume * a->volume / 100;
+ dest->ll = ll;
+ dest->rl = rl;
+ dest->lr = lr;
+ dest->rr = rr;
+}
+
diff --git a/swfdec/swfdec_sound_matrix.h b/swfdec/swfdec_sound_matrix.h
new file mode 100644
index 0000000..0f3327c
--- /dev/null
+++ b/swfdec/swfdec_sound_matrix.h
@@ -0,0 +1,54 @@
+/* Swfdec
+ * Copyright (C) 2008 Benjamin Otte <otte at gnome.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifndef __SWFDEC_SOUND_MATRIX_H__
+#define __SWFDEC_SOUND_MATRIX_H__
+
+#include <glib.h>
+
+typedef struct _SwfdecSoundMatrix SwfdecSoundMatrix;
+
+struct _SwfdecSoundMatrix
+{
+ int ll; /* percentage of left channel */
+ int rl; /* "percentage" of left channel on right speaker */
+ int lr; /* "percentage" of right channel on left speaker */
+ int rr; /* percentage of right channel */
+ int volume; /* don't ask me why volume is seperate */
+};
+
+void swfdec_sound_matrix_init_identity (SwfdecSoundMatrix * sound);
+
+gboolean swfdec_sound_matrix_is_identity (const SwfdecSoundMatrix * sound);
+
+int swfdec_sound_matrix_get_pan (const SwfdecSoundMatrix * sound);
+void swfdec_sound_matrix_set_pan (SwfdecSoundMatrix * sound,
+ int pan);
+
+void swfdec_sound_matrix_apply (const SwfdecSoundMatrix * sound,
+ gint16 * dest,
+ guint n_samples);
+
+void swfdec_sound_matrix_multiply (SwfdecSoundMatrix * dest,
+ const SwfdecSoundMatrix * a,
+ const SwfdecSoundMatrix * b);
+
+
+#endif
+
diff --git a/swfdec/swfdec_sprite_movie.c b/swfdec/swfdec_sprite_movie.c
index 90ba1dc..9c44e09 100644
--- a/swfdec/swfdec_sprite_movie.c
+++ b/swfdec/swfdec_sprite_movie.c
@@ -1,5 +1,5 @@
/* Swfdec
- * Copyright (C) 2006 Benjamin Otte <otte at gnome.org>
+ * Copyright (C) 2006-2008 Benjamin Otte <otte at gnome.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -793,6 +793,8 @@ swfdec_sprite_movie_init (SwfdecSpriteMovie * movie)
{
movie->playing = TRUE;
movie->frame = (guint) -1;
+
+ swfdec_sound_matrix_init_identity (&movie->sound_matrix);
}
/* cute little hack */
diff --git a/swfdec/swfdec_sprite_movie.h b/swfdec/swfdec_sprite_movie.h
index 4ab6145..45be4eb 100644
--- a/swfdec/swfdec_sprite_movie.h
+++ b/swfdec/swfdec_sprite_movie.h
@@ -1,5 +1,5 @@
/* Swfdec
- * Copyright (C) 2006 Benjamin Otte <otte at gnome.org>
+ * Copyright (C) 2006-2008 Benjamin Otte <otte at gnome.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -22,6 +22,7 @@
#include <swfdec/swfdec_actor.h>
#include <swfdec/swfdec_audio.h>
+#include <swfdec/swfdec_sound_matrix.h>
#include <swfdec/swfdec_types.h>
G_BEGIN_DECLS
@@ -52,6 +53,7 @@ struct _SwfdecSpriteMovie
/* audio stream handling */
SwfdecAudio * sound_stream; /* stream that currently plays */
gboolean sound_active; /* if the sound stream had a SoundStreamBlock last frame */
+ SwfdecSoundMatrix sound_matrix; /* movie's sound matrix */
};
struct _SwfdecSpriteMovieClass
commit def43d24cfb78b6b37fe56268ba32e03bffb1667
Author: Benjamin Otte <otte at gnome.org>
Date: Tue Jun 10 14:43:38 2008 +0200
reindent
diff --git a/swfdec/swfdec_player.h b/swfdec/swfdec_player.h
index 35f9b4c..08b04ef 100644
--- a/swfdec/swfdec_player.h
+++ b/swfdec/swfdec_player.h
@@ -103,18 +103,18 @@ GType swfdec_player_get_type (void);
SwfdecPlayer * swfdec_player_new (SwfdecAsDebugger * debugger);
-gboolean swfdec_player_is_initialized (SwfdecPlayer * player);
-glong swfdec_player_get_next_event (SwfdecPlayer * player);
-double swfdec_player_get_rate (SwfdecPlayer * player);
-void swfdec_player_get_default_size (SwfdecPlayer * player,
- guint * width,
- guint * height);
-void swfdec_player_get_size (SwfdecPlayer * player,
- int * width,
- int * height);
-void swfdec_player_set_size (SwfdecPlayer * player,
- int width,
- int height);
+gboolean swfdec_player_is_initialized (SwfdecPlayer * player);
+glong swfdec_player_get_next_event (SwfdecPlayer * player);
+double swfdec_player_get_rate (SwfdecPlayer * player);
+void swfdec_player_get_default_size (SwfdecPlayer * player,
+ guint * width,
+ guint * height);
+void swfdec_player_get_size (SwfdecPlayer * player,
+ int * width,
+ int * height);
+void swfdec_player_set_size (SwfdecPlayer * player,
+ int width,
+ int height);
guint swfdec_player_get_background_color
(SwfdecPlayer * player);
SwfdecScaleMode swfdec_player_get_scale_mode (SwfdecPlayer * player);
@@ -170,27 +170,27 @@ void swfdec_player_render_with_renderer (SwfdecPlayer * player,
double y,
double width,
double height);
-gulong swfdec_player_advance (SwfdecPlayer * player,
- gulong msecs);
-gboolean swfdec_player_mouse_move (SwfdecPlayer * player,
- double x,
- double y);
-gboolean swfdec_player_mouse_press (SwfdecPlayer * player,
- double x,
- double y,
- guint button);
-gboolean swfdec_player_mouse_release (SwfdecPlayer * player,
- double x,
- double y,
- guint button);
-gboolean swfdec_player_key_press (SwfdecPlayer * player,
- guint keycode,
- guint character);
-gboolean swfdec_player_key_release (SwfdecPlayer * player,
- guint keycode,
- guint character);
+gulong swfdec_player_advance (SwfdecPlayer * player,
+ gulong msecs);
+gboolean swfdec_player_mouse_move (SwfdecPlayer * player,
+ double x,
+ double y);
+gboolean swfdec_player_mouse_press (SwfdecPlayer * player,
+ double x,
+ double y,
+ guint button);
+gboolean swfdec_player_mouse_release (SwfdecPlayer * player,
+ double x,
+ double y,
+ guint button);
+gboolean swfdec_player_key_press (SwfdecPlayer * player,
+ guint keycode,
+ guint character);
+gboolean swfdec_player_key_release (SwfdecPlayer * player,
+ guint keycode,
+ guint character);
/* audio - see swfdec_audio.c */
-const GList * swfdec_player_get_audio (SwfdecPlayer * player);
+const GList * swfdec_player_get_audio (SwfdecPlayer * player);
G_END_DECLS
#endif
commit 4af79874951ef4900746050812a36d8b666a292e
Author: Benjamin Otte <otte at gnome.org>
Date: Tue Jun 10 14:42:27 2008 +0200
fix indentation
diff --git a/swfdec/swfdec_audio_internal.h b/swfdec/swfdec_audio_internal.h
index a69df75..1737437 100644
--- a/swfdec/swfdec_audio_internal.h
+++ b/swfdec/swfdec_audio_internal.h
@@ -44,20 +44,20 @@ struct _SwfdecAudio {
struct _SwfdecAudioClass {
GObjectClass object_class;
- guint (* iterate) (SwfdecAudio * audio,
- guint n_samples);
- guint (* render) (SwfdecAudio * audio,
- gint16 * dest,
- guint start,
- guint n_samples);
+ guint (* iterate) (SwfdecAudio * audio,
+ guint n_samples);
+ guint (* render) (SwfdecAudio * audio,
+ gint16 * dest,
+ guint start,
+ guint n_samples);
};
-void swfdec_audio_add (SwfdecAudio * audio,
- SwfdecPlayer * player);
-void swfdec_audio_remove (SwfdecAudio * audio);
+void swfdec_audio_add (SwfdecAudio * audio,
+ SwfdecPlayer * player);
+void swfdec_audio_remove (SwfdecAudio * audio);
-guint swfdec_audio_iterate (SwfdecAudio * audio,
- guint n_samples);
+guint swfdec_audio_iterate (SwfdecAudio * audio,
+ guint n_samples);
SwfdecAudioFormat swfdec_audio_format_parse (SwfdecBits * bits);
SwfdecAudioFormat swfdec_audio_format_new (guint rate,
commit dd4a226fd0840ecc67123442c695873721b32df8
Author: Benjamin Otte <otte at gnome.org>
Date: Tue Jun 10 10:17:49 2008 +0200
add test for recent matrix fix
diff --git a/test/image/Makefile.am b/test/image/Makefile.am
index b5b42af..7b47b06 100644
--- a/test/image/Makefile.am
+++ b/test/image/Makefile.am
@@ -378,6 +378,15 @@ EXTRA_DIST = \
replace-shape-shape-6.swf.png \
replace-shape-shape-7.swf \
replace-shape-shape-7.swf.png \
+ setMask-matrices-5.swf \
+ setMask-matrices-5.swf.png \
+ setMask-matrices-6.swf \
+ setMask-matrices-6.swf.png \
+ setMask-matrices-7.swf \
+ setMask-matrices-7.swf.png \
+ setMask-matrices-8.swf \
+ setMask-matrices-8.swf.png \
+ setMask-matrices.as \
swfdec.jpg \
text-field-align-5.swf \
text-field-align-5.swf.png \
diff --git a/test/image/setMask-matrices-5.swf b/test/image/setMask-matrices-5.swf
new file mode 100644
index 0000000..137368a
Binary files /dev/null and b/test/image/setMask-matrices-5.swf differ
diff --git a/test/image/setMask-matrices-5.swf.png b/test/image/setMask-matrices-5.swf.png
new file mode 100644
index 0000000..49ce875
Binary files /dev/null and b/test/image/setMask-matrices-5.swf.png differ
diff --git a/test/image/setMask-matrices-6.swf b/test/image/setMask-matrices-6.swf
new file mode 100644
index 0000000..b23373f
Binary files /dev/null and b/test/image/setMask-matrices-6.swf differ
diff --git a/test/image/setMask-matrices-6.swf.png b/test/image/setMask-matrices-6.swf.png
new file mode 100644
index 0000000..d743f32
Binary files /dev/null and b/test/image/setMask-matrices-6.swf.png differ
diff --git a/test/image/setMask-matrices-7.swf b/test/image/setMask-matrices-7.swf
new file mode 100644
index 0000000..8bfd359
Binary files /dev/null and b/test/image/setMask-matrices-7.swf differ
diff --git a/test/image/setMask-matrices-7.swf.png b/test/image/setMask-matrices-7.swf.png
new file mode 100644
index 0000000..9032935
Binary files /dev/null and b/test/image/setMask-matrices-7.swf.png differ
diff --git a/test/image/setMask-matrices-8.swf b/test/image/setMask-matrices-8.swf
new file mode 100644
index 0000000..6fa874d
Binary files /dev/null and b/test/image/setMask-matrices-8.swf differ
diff --git a/test/image/setMask-matrices-8.swf.png b/test/image/setMask-matrices-8.swf.png
new file mode 100644
index 0000000..c212a34
Binary files /dev/null and b/test/image/setMask-matrices-8.swf.png differ
diff --git a/test/image/setMask-matrices.as b/test/image/setMask-matrices.as
new file mode 100644
index 0000000..3823175
--- /dev/null
+++ b/test/image/setMask-matrices.as
@@ -0,0 +1,26 @@
+// makeswf -v 7 -s 200x150 -r 1 -o setMask-matrices.swf setMask-matrices.as
+
+rectangle = function (mc, color, x, y, w, h)
+{
+ mc.beginFill (color);
+ mc.moveTo (x + w, y);
+ mc.lineTo (x + w, y + h);
+ mc.lineTo (x, y + h);
+ mc.lineTo (x, y);
+ mc.lineTo (x + w, y);
+ mc.endFill ();
+};
+
+createEmptyMovieClip ("a", 0);
+a.createEmptyMovieClip ("a", 0);
+a._x = 10;
+a.a._x = 10;
+rectangle (a.a, 0xFF, 0, 0, 50, 100);
+
+createEmptyMovieClip ("b", 1);
+b.createEmptyMovieClip ("b", 1);
+b._y = 10;
+b.b._y = 10;
+rectangle (b.b, 0xFF00, 0, 0, 100, 50);
+
+a.a.setMask (b.b);
commit deb8ef5f053d85c7447361c5d1ed5addfb31d027
Author: Benjamin Otte <otte at gnome.org>
Date: Mon Jun 9 23:43:48 2008 +0200
only remove weak references to objects that aren't dead yet
diff --git a/swfdec/swfdec_renderer.c b/swfdec/swfdec_renderer.c
index eb41e5c..cd8c071 100644
--- a/swfdec/swfdec_renderer.c
+++ b/swfdec/swfdec_renderer.c
@@ -106,7 +106,8 @@ swfdec_renderer_dispose (GObject *object)
g_hash_table_iter_init (&iter, priv->cache_lookup);
while (g_hash_table_iter_next (&iter, NULL, &list)) {
for (walk = list; walk; walk = walk->next) {
- g_object_remove_weak_pointer (walk->data, &walk->data);
+ if (walk->data)
+ g_object_remove_weak_pointer (walk->data, &walk->data);
}
g_list_free (list);
}
More information about the Swfdec-commits
mailing list