diff options
Diffstat (limited to 'src/tests')
279 files changed, 8110 insertions, 18207 deletions
diff --git a/src/tests/ecore/ecore_suite.c b/src/tests/ecore/ecore_suite.c index b9248a814a..a0f6d19aba 100644 --- a/src/tests/ecore/ecore_suite.c +++ b/src/tests/ecore/ecore_suite.c @@ -30,6 +30,7 @@ static const Efl_Test_Case etc[] = { { "Ecore_Job", ecore_test_ecore_job }, { "Ecore_Args", ecore_test_ecore_args }, { "Ecore_Pipe", ecore_test_ecore_pipe }, + { "Ecore_Evas_Selection", ecore_test_ecore_evas_selection }, { NULL, NULL } }; diff --git a/src/tests/ecore/ecore_suite.h b/src/tests/ecore/ecore_suite.h index a3327412fe..2621535f59 100644 --- a/src/tests/ecore/ecore_suite.h +++ b/src/tests/ecore/ecore_suite.h @@ -23,5 +23,6 @@ void ecore_test_ecore_file(TCase *tc); void ecore_test_ecore_job(TCase *tc); void ecore_test_ecore_args(TCase *tc); void ecore_test_ecore_pipe(TCase *tc); +void ecore_test_ecore_evas_selection(TCase *tc); #endif /* _ECORE_SUITE_H */ diff --git a/src/tests/ecore/ecore_test_animator.c b/src/tests/ecore/ecore_test_animator.c index 271f9792ef..d69407bc1e 100644 --- a/src/tests/ecore/ecore_test_animator.c +++ b/src/tests/ecore/ecore_test_animator.c @@ -15,7 +15,7 @@ static Eina_Bool _anim_cb(void *data EINA_UNUSED, double pos) fail_if(prev > pos); prev = pos; - if (pos == 1.0) + if (EINA_DBL_EQ(pos, 1.0)) ecore_main_loop_quit(); return EINA_TRUE; @@ -59,7 +59,7 @@ Eina_Bool test_pos(Ecore_Pos_Map posmap, double v1, double v2, double (*testmap) return EINA_FALSE; } } - fail_if(ecore_animator_pos_map(1.0, posmap, v1, v2) != 1.0); + fail_if(!EINA_DBL_EQ(ecore_animator_pos_map(1.0, posmap, v1, v2), 1.0)); return EINA_TRUE; } diff --git a/src/tests/ecore/ecore_test_ecore_audio.c b/src/tests/ecore/ecore_test_ecore_audio.c index 9c8a890945..6521871358 100644 --- a/src/tests/ecore/ecore_test_ecore_audio.c +++ b/src/tests/ecore/ecore_test_ecore_audio.c @@ -148,16 +148,16 @@ EFL_START_TEST(ecore_test_ecore_audio_obj_tone) rate = ecore_audio_obj_in_samplerate_get(in); fail_if(rate != 44100); len = ecore_audio_obj_in_length_get(in); - fail_if(len != 1); + fail_if(!EINA_DBL_EQ(len, 1)); ecore_audio_obj_in_length_set(in, 2.5); len = ecore_audio_obj_in_length_get(in); - fail_if(len != 2.5); + fail_if(!EINA_DBL_EQ(len, 2.5)); ecore_audio_obj_in_looped_set(in, EINA_TRUE); len = ecore_audio_obj_in_remaining_get(in); - fail_if(len != 2.5); + fail_if(!EINA_DBL_EQ(len, 2.5)); freq = (intptr_t) efl_key_data_get(in, ECORE_AUDIO_ATTR_TONE_FREQ); fail_if(freq != 1000); @@ -173,28 +173,28 @@ EFL_START_TEST(ecore_test_ecore_audio_obj_tone) ck_assert_str_eq(tmp, "bar"); len = ecore_audio_obj_in_seek(in, 5.0, SEEK_SET); - fail_if(len != -1); + fail_if(!EINA_DBL_EQ(len, -1)); len = ecore_audio_obj_in_seek(in, 1.0, 42); - fail_if(len != -1); + fail_if(!EINA_DBL_EQ(len, -1)); len = ecore_audio_obj_in_seek(in, 1.0, SEEK_SET); - fail_if(len != 1.0); + fail_if(!EINA_DBL_EQ(len, 1.0)); len = ecore_audio_obj_in_remaining_get(in); - fail_if(len != 1.5); + fail_if(!EINA_DBL_EQ(len, 1.5)); len = ecore_audio_obj_in_seek(in, 1.0, SEEK_CUR); - fail_if(len != 2.0); + fail_if(!EINA_DBL_EQ(len, 2.0)); len = ecore_audio_obj_in_remaining_get(in); - fail_if(len != 0.5); + fail_if(!EINA_DBL_EQ(len, 0.5)); len = ecore_audio_obj_in_seek(in, -1.0, SEEK_END); - fail_if(len != 1.5); + fail_if(!EINA_DBL_EQ(len, 1.5)); len = ecore_audio_obj_in_remaining_get(in); - fail_if(len != 1.0); + fail_if(!EINA_DBL_EQ(len, 1.0)); out = efl_add_ref(ECORE_AUDIO_OUT_SNDFILE_CLASS, NULL); fail_if(!out); @@ -260,18 +260,18 @@ EFL_START_TEST(ecore_test_ecore_audio_obj_sndfile) rate = ecore_audio_obj_in_samplerate_get(in); fail_if(rate != 44100); len = ecore_audio_obj_in_length_get(in); - fail_if(len == 0); + fail_if(EINA_DBL_EQ(len, 0)); rem = ecore_audio_obj_in_remaining_get(in); - fail_if(len != rem); + fail_if(!EINA_DBL_EQ(len, rem)); fmt = ecore_audio_obj_format_get(in); fail_if(fmt != ECORE_AUDIO_FORMAT_OGG); len = ecore_audio_obj_in_seek(in, 0.5, SEEK_SET); - fail_if(len != 0.5); + fail_if(!EINA_DBL_EQ(len, 0.5)); len = ecore_audio_obj_in_seek(in, 1.0, SEEK_CUR); - fail_if(len != 1.5); + fail_if(!EINA_DBL_EQ(len, 1.5)); len = ecore_audio_obj_in_seek(in, -1.5, SEEK_END); fail_if(fabs(rem - 1 - len) > 0.6); @@ -467,22 +467,22 @@ EFL_START_TEST(ecore_test_ecore_audio_obj_in) fail_if(!freed); speed = ecore_audio_obj_in_speed_get(in); - fail_if(speed != 1.0); + fail_if(!EINA_DBL_EQ(speed, 1.0)); ecore_audio_obj_in_speed_set(in, 2.5); speed = ecore_audio_obj_in_speed_get(in); - fail_if(speed != 2.5); + fail_if(!EINA_DBL_EQ(speed, 2.5)); ecore_audio_obj_in_speed_set(in, 0); speed = ecore_audio_obj_in_speed_get(in); - fail_if(speed != 0.2); + fail_if(!EINA_DBL_EQ(speed, 0.2)); ecore_audio_obj_in_speed_set(in, 10); speed = ecore_audio_obj_in_speed_get(in); - fail_if(speed != 5.0); + fail_if(!EINA_DBL_EQ(speed, 5.0)); samplerate = ecore_audio_obj_in_samplerate_get(in); fail_if(samplerate != 0); @@ -509,10 +509,10 @@ EFL_START_TEST(ecore_test_ecore_audio_obj_in) fail_if(!looped); length = ecore_audio_obj_in_length_get(in); - fail_if(length != 0); + fail_if(!EINA_DBL_EQ(length, 0)); length = ecore_audio_obj_in_remaining_get(in); - fail_if(length != -1); + fail_if(!EINA_DBL_EQ(length, -1)); memset(buf, 0xaa, 10); read = ecore_audio_obj_in_read(in, buf, 10); @@ -573,11 +573,11 @@ EFL_START_TEST(ecore_test_ecore_audio_obj) fail_if(!paused); volume = ecore_audio_obj_volume_get(obj); - fail_if(volume != 1.0); + fail_if(!EINA_DBL_EQ(volume, 1.0)); ecore_audio_obj_volume_set(obj, 0.5); volume = ecore_audio_obj_volume_get(obj); - fail_if(volume != 0.5); + fail_if(!EINA_DBL_EQ(volume, 0.5)); efl_unref(obj); } diff --git a/src/tests/ecore/ecore_test_ecore_evas.c b/src/tests/ecore/ecore_test_ecore_evas.c index 2e53f62082..0e7b09c41b 100644 --- a/src/tests/ecore/ecore_test_ecore_evas.c +++ b/src/tests/ecore/ecore_test_ecore_evas.c @@ -3,6 +3,7 @@ #endif #include <Ecore_Evas.h> +#include <Efl_Core.h> #include "ecore_suite.h" @@ -70,8 +71,51 @@ EFL_START_TEST(ecore_test_ecore_evas_cocoa) } EFL_END_TEST +static Eina_Value +_verify_and_exit(void *data, const Eina_Value value, const Eina_Future *dead_future EINA_UNUSED) +{ + ck_assert_ptr_eq(eina_value_type_get(&value), EINA_VALUE_TYPE_CONTENT); + Eina_Content *content = eina_value_to_content(&value); + Eina_Content *reference = data; + + ck_assert_int_eq(eina_content_data_get(content).len, eina_content_data_get(reference).len); + ck_assert_str_eq(eina_content_data_get(content).mem, eina_content_data_get(reference).mem); + ck_assert_str_eq(eina_content_type_get(content), eina_content_type_get(reference)); + + efl_loop_quit(efl_main_loop_get(), eina_value_int_init(0)); + + return EINA_VALUE_EMPTY; +} + +EFL_START_TEST(ecore_test_ecore_evas_fallback_selection) +{ + Ecore_Evas *ee; + ecore_evas_init(); + + ee = ecore_evas_buffer_new(WINDOW_WIDTH, WINDOW_HEIGHT); + fail_if(ee == NULL); + + for (int i = 0; i < ECORE_EVAS_SELECTION_BUFFER_LAST; ++i) + { + ck_assert_int_eq(ecore_evas_selection_exists(ee, 0, i), EINA_FALSE); + } + Eina_Content *content = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL("asdf"), "text/plain"); + Eina_Content *ref = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL("asdf"), "text/plain"); + ecore_evas_selection_set(ee, 0, ECORE_EVAS_SELECTION_BUFFER_SELECTION_BUFFER, content); + + const char *types[] = {eina_stringshare_add("text/plain")}; + + Eina_Future *f = ecore_evas_selection_get(ee, 0, ECORE_EVAS_SELECTION_BUFFER_SELECTION_BUFFER, EINA_C_ARRAY_ITERATOR_NEW(types)); + ck_assert_ptr_ne(f, NULL); + eina_future_then(f, _verify_and_exit, ref); + efl_task_run(efl_main_loop_get()); + ecore_evas_shutdown(); +} +EFL_END_TEST + void ecore_test_ecore_evas(TCase *tc) { tcase_add_test(tc, ecore_test_ecore_evas_associate); tcase_add_test(tc, ecore_test_ecore_evas_cocoa); + tcase_add_test(tc, ecore_test_ecore_evas_fallback_selection); } diff --git a/src/tests/ecore/ecore_test_ecore_evas_selection.c b/src/tests/ecore/ecore_test_ecore_evas_selection.c new file mode 100644 index 0000000000..9efc5fe722 --- /dev/null +++ b/src/tests/ecore/ecore_test_ecore_evas_selection.c @@ -0,0 +1,89 @@ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <Ecore_Evas.h> +#include <Efl_Core.h> + +#include "ecore_suite.h" + +#define WINDOW_HEIGHT 200 +#define WINDOW_WIDTH 200 + +static int log_abort; +static int log_abort_level; + +void +fail_on_errors_teardown(void) +{ + eina_log_abort_on_critical_set(log_abort); + eina_log_abort_on_critical_level_set(log_abort_level); +} + +void +fail_on_errors_setup(void) +{ + log_abort = eina_log_abort_on_critical_get(); + log_abort_level = eina_log_abort_on_critical_level_get(); + eina_log_abort_on_critical_level_set(2); + eina_log_abort_on_critical_set(1); +} + +static Ecore_Evas *ee; + +void +_setup(void) +{ + ecore_evas_init(); + ee = ecore_evas_buffer_new(50, 50); +} + +void +_teardown(void) +{ + ecore_evas_free(ee); + ecore_evas_shutdown(); +} + +EFL_START_TEST(ecore_test_selection_get_twice) +{ + //this is just running this and checking that we do not error + for (int i = 0; i < ECORE_EVAS_SELECTION_BUFFER_LAST; ++i) + { + if (i == ECORE_EVAS_SELECTION_BUFFER_DRAG_AND_DROP_BUFFER) continue; + const char *types[] = {eina_stringshare_add("text/plain")}; + ck_assert_ptr_ne(ecore_evas_selection_get(ee, 0, i, EINA_C_ARRAY_ITERATOR_NEW(types)), NULL); + } + for (int i = 0; i < ECORE_EVAS_SELECTION_BUFFER_LAST; ++i) + { + if (i == ECORE_EVAS_SELECTION_BUFFER_DRAG_AND_DROP_BUFFER) continue; + const char *types[] = {eina_stringshare_add("text/plain")}; + ck_assert_ptr_ne(ecore_evas_selection_get(ee, 0, i, EINA_C_ARRAY_ITERATOR_NEW(types)), NULL); + } +} +EFL_END_TEST + +EFL_START_TEST(ecore_test_selection_claim_twice) +{ + //this is just running this and checking that we do not error + for (int i = 0; i < ECORE_EVAS_SELECTION_BUFFER_LAST; ++i) + { + if (i == ECORE_EVAS_SELECTION_BUFFER_DRAG_AND_DROP_BUFFER) continue; + Eina_Content *content = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL("asdf"), "text/plain"); + ck_assert_int_eq(ecore_evas_selection_set(ee, 0, i, content), EINA_TRUE); + } + for (int i = 0; i < ECORE_EVAS_SELECTION_BUFFER_LAST; ++i) + { + if (i == ECORE_EVAS_SELECTION_BUFFER_DRAG_AND_DROP_BUFFER) continue; + Eina_Content *content = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL("asdf"), "text/plain"); + ck_assert_int_eq(ecore_evas_selection_set(ee, 0, i, content), EINA_TRUE); + } +} +EFL_END_TEST +void ecore_test_ecore_evas_selection(TCase *tc) +{ + tcase_add_checked_fixture(tc, fail_on_errors_setup, fail_on_errors_teardown); + tcase_add_checked_fixture(tc, _setup, _teardown); + tcase_add_test(tc, ecore_test_selection_get_twice); + tcase_add_test(tc, ecore_test_selection_claim_twice); +} diff --git a/src/tests/ecore/ecore_test_ecore_thread_eina_thread_queue.c b/src/tests/ecore/ecore_test_ecore_thread_eina_thread_queue.c index be5c3cdd1e..a2dfe55993 100644 --- a/src/tests/ecore/ecore_test_ecore_thread_eina_thread_queue.c +++ b/src/tests/ecore/ecore_test_ecore_thread_eina_thread_queue.c @@ -499,7 +499,7 @@ th61_do(void *data EINA_UNUSED, Ecore_Thread *th) } eina_semaphore_release(&th6_sem, 1); - if (DEBUG) printf("%s: message sending done!\n", __FUNCTION__); + if (DEBUG) printf("%s: message sending done!\n", __func__); } static void @@ -515,7 +515,7 @@ th62_do(void *data EINA_UNUSED, Ecore_Thread *th) msg = eina_thread_queue_wait(thq1, &ref); fail_if(!msg); - if (DEBUG) printf("%s: v %08i: %i [%i]\n", __FUNCTION__, cnt, msg->value, eina_thread_queue_pending_get(thq1)); + if (DEBUG) printf("%s: v %08i: %i [%i]\n", __func__, cnt, msg->value, eina_thread_queue_pending_get(thq1)); val = msg->value; eina_thread_queue_wait_done(thq1, ref); if (val == EXIT_MESSAGE || (ecore_thread_check(th))) break; @@ -529,7 +529,7 @@ th62_do(void *data EINA_UNUSED, Ecore_Thread *th) ck_assert_int_eq(msgnum, 100); eina_spinlock_release(&msgnum_lock); eina_semaphore_release(&th6_sem, 1); - if (DEBUG) printf("%s: message reading done!\n", __FUNCTION__); + if (DEBUG) printf("%s: message reading done!\n", __func__); } static void @@ -545,7 +545,7 @@ th63_do(void *data EINA_UNUSED, Ecore_Thread *th) msg = eina_thread_queue_wait(thq1, &ref); fail_if(!msg); - if (DEBUG) printf("%s: v %08i: %i [%i]\n", __FUNCTION__, cnt, msg->value, eina_thread_queue_pending_get(thq1)); + if (DEBUG) printf("%s: v %08i: %i [%i]\n", __func__, cnt, msg->value, eina_thread_queue_pending_get(thq1)); val = msg->value; eina_thread_queue_wait_done(thq1, ref); if (val == EXIT_MESSAGE || (ecore_thread_check(th))) break; @@ -559,7 +559,7 @@ th63_do(void *data EINA_UNUSED, Ecore_Thread *th) ck_assert_int_eq(msgnum, 100); eina_spinlock_release(&msgnum_lock); eina_semaphore_release(&th6_sem, 1); - if (DEBUG) printf("%s: message reading done!\n", __FUNCTION__); + if (DEBUG) printf("%s: message reading done!\n", __func__); } EFL_START_TEST(ecore_test_ecore_thread_eina_thread_queue_t6) diff --git a/src/tests/ecore/ecore_test_timer.c b/src/tests/ecore/ecore_test_timer.c index b295738e35..caaa643f55 100644 --- a/src/tests/ecore/ecore_test_timer.c +++ b/src/tests/ecore/ecore_test_timer.c @@ -60,11 +60,11 @@ _timer2_cb(void *data) // check set new interval for timer 1 ecore_timer_interval_set(timer->timer1, timer->interval_1[timer->num_elem]); - fail_if(timer->interval_1[timer->num_elem] != ecore_timer_interval_get(timer->timer1), "Error set new interval"); + fail_if(!EINA_DBL_EQ(timer->interval_1[timer->num_elem], ecore_timer_interval_get(timer->timer1)), "Error set new interval"); // check set new precision ecore_timer_precision_set(timer->precision[timer->num_elem]); - fail_if(timer->precision[timer->num_elem] != ecore_timer_precision_get(), "Error set new precision"); + fail_if(!EINA_DBL_EQ(timer->precision[timer->num_elem], ecore_timer_precision_get()), "Error set new precision"); // check removal timer 2 if (ecore_timer_del(timer->timer2)) diff --git a/src/tests/ecore/efl_app_test_promise.c b/src/tests/ecore/efl_app_test_promise.c index e1a74d6ab5..2390e29e1f 100644 --- a/src/tests/ecore/efl_app_test_promise.c +++ b/src/tests/ecore/efl_app_test_promise.c @@ -775,6 +775,34 @@ EFL_START_TEST(efl_test_promise_future_all) } EFL_END_TEST +EFL_START_TEST(efl_test_promise_future_all_iterator) +{ + Eina_Future *futures[11]; + Eina_Iterator *it; + unsigned int i, futures_called = 0, len = EINA_C_ARRAY_LENGTH(futures); + + fail_if(!ecore_init()); + for (i = 0; i < len; i++) + { + Eina_Future *f; + if (i % 2 == 0) + f = _str_future_get(); + else + f = _int_future_get(); + fail_if(!f); + futures[i] = eina_future_then(f, _future_all_count, &futures_called); + fail_if(!futures[i]); + } + + it = EINA_C_ARRAY_ITERATOR_NEW(futures); + fail_if(!eina_future_then(eina_future_all_iterator(it), _all_cb, &len)); + + ecore_main_loop_begin(); + ecore_shutdown(); + fail_if(futures_called != len); +} +EFL_END_TEST + EFL_START_TEST(efl_test_promise_future_race) { Race_Ctx ctx = { 0 }; @@ -784,7 +812,6 @@ EFL_START_TEST(efl_test_promise_future_race) 2.0, 1.0, 0.5, 0.1, 4.5, 2.3, 5.6, 1.0, 0.5, 0.3 }; - srand(time(NULL)); fail_if(!ecore_init()); for (i = 0; i < len - 1; i++) { @@ -1075,19 +1102,19 @@ EFL_START_TEST(efl_test_promise_log) fail_if(domain < 0); eina_log_domain_level_set(PROMISE_LOG_DOMAIN_STR, EINA_LOG_LEVEL_DBG); ctx.dbg = (Eina_Future_Cb_Log_Desc){"dbg prefix:", " dbg suffix", __FILE__, - __FUNCTION__, EINA_LOG_LEVEL_DBG, + __func__, EINA_LOG_LEVEL_DBG, domain, __LINE__}; ctx.crit = (Eina_Future_Cb_Log_Desc){NULL, NULL, __FILE__, - __FUNCTION__, EINA_LOG_LEVEL_CRITICAL, + __func__, EINA_LOG_LEVEL_CRITICAL, domain, __LINE__}; ctx.warn = (Eina_Future_Cb_Log_Desc){"warn prefix:", NULL, __FILE__, - __FUNCTION__, EINA_LOG_LEVEL_WARN, + __func__, EINA_LOG_LEVEL_WARN, domain, __LINE__}; ctx.err = (Eina_Future_Cb_Log_Desc){NULL, " err suffix", __FILE__, - __FUNCTION__, EINA_LOG_LEVEL_ERR, + __func__, EINA_LOG_LEVEL_ERR, domain, __LINE__}; ctx.info = (Eina_Future_Cb_Log_Desc){"info prefix:", " info suffix", - __FILE__, __FUNCTION__, EINA_LOG_LEVEL_INFO, + __FILE__, __func__, EINA_LOG_LEVEL_INFO, domain, __LINE__}; eina_log_print_cb_set(_log_test, &ctx); f = eina_future_chain(_int_future_get(), @@ -1446,6 +1473,7 @@ void efl_app_test_promise(TCase *tc) tcase_add_test(tc, efl_test_promise_future_convert); tcase_add_test(tc, efl_test_promise_future_easy); tcase_add_test(tc, efl_test_promise_future_all); + tcase_add_test(tc, efl_test_promise_future_all_iterator); tcase_add_test(tc, efl_test_promise_future_race); tcase_add_test(tc, efl_test_promise_future_ignore_error); tcase_add_test(tc, efl_test_promise_future_success); diff --git a/src/tests/ecore/meson.build b/src/tests/ecore/meson.build index 9ce6848ce2..48c9350638 100644 --- a/src/tests/ecore/meson.build +++ b/src/tests/ecore/meson.build @@ -13,6 +13,7 @@ ecore_suite_src = [ 'ecore_test_job.c', 'ecore_test_args.c', 'ecore_test_pipe.c', + 'ecore_test_ecore_evas_selection.c', 'ecore_suite.h' ] diff --git a/src/tests/ecore_con/ecore_con_test_ecore_con.c b/src/tests/ecore_con/ecore_con_test_ecore_con.c index 45d5671afc..7a6333fa0e 100644 --- a/src/tests/ecore_con/ecore_con_test_ecore_con.c +++ b/src/tests/ecore_con/ecore_con_test_ecore_con.c @@ -43,7 +43,7 @@ _add(void *data, int type EINA_UNUSED, void *ev) ecore_con_client_timeout_set(event->client, timeout_val); ret = ecore_con_client_timeout_get(event->client); - fail_if (ret != timeout_val); + fail_if (!EINA_DBL_EQ(ret, timeout_val)); ecore_con_client_data_set(event->client, cdata); del_data = ecore_con_client_data_get(event->client); @@ -243,7 +243,7 @@ void _ecore_con_server_client_tests(Ecore_Con_Type compl_type, const char *name, ecore_con_server_timeout_set(server, timeout_val); timeout_ret = ecore_con_server_timeout_get(server); - fail_if (timeout_ret != timeout_val); + fail_if (!EINA_DBL_EQ(timeout_ret, timeout_val)); ret = ecore_con_server_port_get(server); fail_if (ret != server_port); diff --git a/src/tests/ecore_con/server.key b/src/tests/ecore_con/server.key index 922b0f74f8..86c03e3749 100644 --- a/src/tests/ecore_con/server.key +++ b/src/tests/ecore_con/server.key @@ -1,15 +1,51 @@ -----BEGIN RSA PRIVATE KEY----- -MIICXAIBAAKBgQDPM7htA+kHL37qJQOLK3CYP4x9mqCcYy4m4GvT+yn5b4IRqi1x -iH0F+/A+hvG4EE/iamNsnM7uJ1bixw/BCya+m9EfE5qzQvZuU+6AN73D+nMXcgBd -4TTjfF8MD340a1Tn3RRVOx1hdSuuN61wpIFT/sn/dfTaVzD/UnMWj+AdBQIDAQAB -AoGAYc6wSAWIgnPRHQXL3m3rAHM/BitvlWLb7k4RmEb/UVdptpz2Rpl/Ksv6ZAmf -IJvSmbZOqH58z76SLQp6TU3OQ2IBikHo8+C+RgPWptBDlgYO57zGz4ee28tImqV/ -quxNE+TM9EBJDAhGA0ySaiQcdfOOErzRQvcFSTE2ie9LjAECQQDvUmMzsYhEEb8B -RS7ASYNUFihBPprZh+/qhJeF37kK7t1g2zk5gwfEo2W9926DiKicpvX1/hxgKOwb -ZpZuhRAhAkEA3aRNBnrDPo+gaP+wV4Z410+laW/myqbEN9l6tcGQqRZmOXw6jEAm -Cq5zngIVibaVZ4g052c4PHl51txYoEjAZQJBAM4He2exWsJfFLSfPpRDtU/ak2U3 -5E+Je73F0DxsUf1bjjIoCKe+ah2bHafhL78FE0NpaS4RSZRvJnSgaLlUzIECQB5H -SMJ+2NdeFaLiczuxwiZf2hAKWnQKzjl2+12DIPkId1SZFQJ97PR+morWbAzRJZ3s -LJYEMtmIGs3wcicLaUUCQFBmyP238jX58ixYd7crJdnxPnTvOtasQqb8cPJ9XSyT -ara6m96iiQSvqXObtmRl6oGCWGw8q821iJYHKFD0ls4= +MIIJKQIBAAKCAgEA2svUB05diaDegs3TXaOudOhV/3spn7zwYERJUiuY9W5o58bZ +gyiLnyBhl7Nh7/Yz8SpJ/zvoakIU2o6he/MKkCOCVIJtPZMC75HSGglBJ2dSf2nu +n3U7c/h/5isJlz4+W49EszA41iRVS2Om2kttxoS01j1TOSmpDO9IfCPO9xeCI9Vs +MXNjpzhmENpWtTGqxNn6PNyeVp+PEZMjAN5pBFFTajY1qBvr8ResMpb+nf69IPCA +BzDWhZOoPNNfiv0d/4jiHsDUl0zsR9Z6g7gUfWbzMDd1D15btSdgw+/ehuWCx7Qa +L2K/QI7BtdM5zeVfQ63prmnhkUytQ51gJ1CB3/RhoT8D3iPPwxjV9fl1kUFP9zxD +c23CfQ283MZNnA9n3aC+LP+iuO6aYGUImV9c37kuO94SM9DLkVK94b49n7czNqru +qsJ9A0zeDuAqPvbKcHx4cS7JE5TXU4+NylH3cCGCZIdU2Ykkjq4wSjTGsZMItD7f +N/4gIS0kmMJi7bod4OkZjJkglHSWJwHnZklqHFI1TRMMPdw+hRXQ7CEkhOZUaYtb +pNIP/UhqygOuSyBChBkdeSdzm2Z3SKAA+xOJNERKreTMjArDi910ow3HMgjn2qhz +OgVgTpWlhBUnhuEXUcy/xTCRJxa6mQoiyimw4mWJwqQrNADsDlgAg667IakCAwEA +AQKCAgEAzdbk6tq29Tv7GmQ5becHwcSy42AjkLxYCLk1obCSfpQY7bUN/W6vrEzy +g52njfG6fDCk3RKnXRA+Pj/hfJLyZRiDDK6Hx13/bRNq7kO2oDN8UZJ/hFTuUfR/ +nzLuGvPcBpeKsmmzjwMvm3VtDAHajOFcoBGhsi2XdSvIrcGifKQJM10eJIfCQRe2 +LjS7TkwjtH6+BXQpIqWKG6apT6/ubLl2GH5XjIh4OKFkx1N2x31YwRyB1kIEEDcS +F+dkA4aOKlHFKdmQJ6eewxbsu+76l9+6+qmx33uOG6eoSa3pVE+n8elmmR31f+7O +HxlRUHtyXGHJbuT96YyRlQMB6vq6sxG8OEzND/h8mnc8JgOgKoP0MO+ZmJRuw1Q+ +IsoeOhNpOpi/7zWcoh7jXf1FjfyoxaVWGQoKDlPEOnXmZfu8NOD3YTYlqp2rqHn9 +mmJG4OIrlGMyWvDM3DOTV3RBSjy1wjNGkbti6E7sH4Qi1hgx5pGiosp1AEF9qcND +0YrNooZIiBvhnzQkLDMEHyJANDPH7Hf9cH7UHfjx+lDtcRzA3ZcS9/vnL3RAZKRq +xMSAR9Y94N8Aek7EU71Zg3s9Psn4cq20zeRtu41fatrt2PVUsWXNi5IKvywttPBt +QQe1AVDRjabi9TTS27z77yfyIyUGMECwZulzS0+RBtjS0gJTmYECggEBAPXV2h0e +EIHiBn0wcVwZtBbl/0wJlf0bb+JKNRrGrG1lC53nUTBKbCMy97E58IbDBsF1iZ3S +62QlSQinkOoJEQEm90/nahYWIUbTxLQen0TiAFv3elkR63k0ki7GkY0zsHAptvIk +yv9qD7NmyFEMfw/7rIkPfbvjz9ENd/IMgbTk3alTQpLjWOZiYDxU5EIE1Kdv39YC +e3Ji6VT7JGhyMLpmKiVMAacsYNIbHccnnxIT61dhbmeDF8emhbcqvasteIWIQLmh +NRn3aFjUojqbLGBfOh4vQly/5NPSP41+ZWLtrUSV88gjhUhuswUdBVDQD3dCQ7kM +sZzvrPDGiT9an00CggEBAOPXxNYTQcSN9g6D4Y44OvO+rwMmIjTdj5DAlcPnYSkF +yO9MJX6UW0up2uXzFaeDFamDn3uopPEKRYYKG/B2p+aowT4Z80xYxggkDDDBxTEs +3r5BITS/tK25XP/Q5N80fYVlz58iKCxwIXDUOiEUDaB5y8Qx8ArnzSdrPunq8bvm +rO8mmrd3/carR9up/5qpI+0pxZwmtE8E4g+Grt3KkTDPqLup4ZEyXSol6ie2J1yE +Ig3C+pORXxvBHOgaZE6349hfIJDuBZ0UUT9dllHFH1uKx83EvjLSCLTDFc6Njo1D +qFmXWWW8yOcCzg3rUNNCU2rFr+e40E4C/0YaRyTZVc0CggEAQPJId1zT+5xdHoHH +0Q8xVsNYmRwHNiEjg+Ma+IH4V8ZUNVlBR8LBouL6MSYfd1ra1A1bWAi7C3AWRWUP +keTnSyiiOcfnbQJXtECKPRPB/A7BDYrqFdH4JcNPw2/OUEGRoXBD1uEFiEja8Qh8 +b30frHdO877V9ueOpaorQBUxxzqXnP5UHj5V5DelOQssaoygKcQSnJV3S5b6Eetv +iPByEyyegc/8t8+vnJJxYYYELmB40lL5OfuWMra5qNRv22Nd7dk7UE9Ymg2U0bML +UPRh2uwNjJ/rpllD+PoYtCbqXiJwnigHiZ5oveQRA47RMrJlA5rMDX1fBxkC1XF+ +HPCyGQKCAQEA0bkaCUeegTN/K2s/oq6lrRl3dTmTwP+0l7R95t7Dc4RMqeB4nuQm +iSYnRQUViKTDus5abfQVJ36h8ji58QT3lfz+K5CtgDgyyOmNgw/J2HMJ8Sx4SVqx +EDwQm7UIB2EErVbC3yMMwaLRVU801p/jzzRtWQHyh8dI8yDnv1+w9Znm0xfA0GKV +6VpeAZegnRdV54dMy2hhDl9bSplZuvQr4zcyhNNhu0oVsadGuxkTcDh8NBimmFD2 +r9B5MDii3kasZs1hZ6aA6k76Xo5hwJDnRVcghYq03Iiy1NjB6OgqMGP3wcfr1RcK +AoJ1cyCIvH1P1Xd0bKKUs0pU+Y1UsVmQfQKCAQBP1o9KH1THHdsyaWhrXOKYxm68 +TsrWXVCzG30so0rrqOlcsvdBwE+VdbiqP3U6mwTyNH3jYNGytW9en6wLg7O9hSdM +j1xz2ukKThrFRwyAueURQvnXVqhWr/kj/SSZ20mxr4j8FcgXi8Cp7RC/3XSu+wHi +6sAgjSz1+B9f4NVVaTXe0AcC8HhMMh9j0uSYT9L/Oxt82rS/+SoRVVgYk3dL1pAr +FWfJ0Sx/OxzNlaBkLD5x0ydxouTaCNdI6Uq1fJyav8KN8F1mdo1TutgMGZ/bpkuY +GyVj/Sd8s5QMt+80cEhvQNBrRLkbU8CGP/s51CyM0i+kb4r9SfLGyGZUp5XC -----END RSA PRIVATE KEY----- diff --git a/src/tests/ecore_con/server.pem b/src/tests/ecore_con/server.pem index 84e8de3a27..4169bbe249 100644 --- a/src/tests/ecore_con/server.pem +++ b/src/tests/ecore_con/server.pem @@ -1,14 +1,29 @@ -----BEGIN CERTIFICATE----- -MIICOTCCAaICCQDQ5umIhrgBUDANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQGEwJJ -TjEMMAoGA1UECAwDS2FyMRIwEAYDVQQHDAlCZW5nYWx1cnUxDDAKBgNVBAoMA0VG -TDEOMAwGA1UECwwFRWNvcmUxEjAQBgNVBAMMCTEyNy4wLjAuMTAeFw0xNTAyMTIw -NDIxMDVaFw0xNjAyMTIwNDIxMDVaMGExCzAJBgNVBAYTAklOMQwwCgYDVQQIDANL -YXIxEjAQBgNVBAcMCUJlbmdhbHVydTEMMAoGA1UECgwDRUZMMQ4wDAYDVQQLDAVF -Y29yZTESMBAGA1UEAwwJMTI3LjAuMC4xMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB -iQKBgQDPM7htA+kHL37qJQOLK3CYP4x9mqCcYy4m4GvT+yn5b4IRqi1xiH0F+/A+ -hvG4EE/iamNsnM7uJ1bixw/BCya+m9EfE5qzQvZuU+6AN73D+nMXcgBd4TTjfF8M -D340a1Tn3RRVOx1hdSuuN61wpIFT/sn/dfTaVzD/UnMWj+AdBQIDAQABMA0GCSqG -SIb3DQEBCwUAA4GBALgUu21Ihj6W2/tagmV7Iwt4LJndnIJP1IINUrLptkH1vE4B -4p7uHxtRp7fQpOOl2ns1JhJabgHUjXLCPfjsZ1YS5YgTqs9IaiyqjYZDgCusSvrJ -eJXeNVLWMb6iHgW0zsEDv9Vl1/XyBk9koyP0/stWw+JFxKqMJGCen5dRPQLZ +MIIFCzCCAvOgAwIBAgIUDmHavzTMWMRMlwwxZ2mmUlqDuvwwDQYJKoZIhvcNAQEL +BQAwFDESMBAGA1UEAwwJMTI3LjAuMC4xMCAXDTIwMDUxMTE0NTI1OFoYDzIxMjAw +NDE3MTQ1MjU4WjAUMRIwEAYDVQQDDAkxMjcuMC4wLjEwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQDay9QHTl2JoN6CzdNdo6506FX/eymfvPBgRElSK5j1 +bmjnxtmDKIufIGGXs2Hv9jPxKkn/O+hqQhTajqF78wqQI4JUgm09kwLvkdIaCUEn +Z1J/ae6fdTtz+H/mKwmXPj5bj0SzMDjWJFVLY6baS23GhLTWPVM5KakM70h8I873 +F4Ij1Wwxc2OnOGYQ2la1MarE2fo83J5Wn48RkyMA3mkEUVNqNjWoG+vxF6wylv6d +/r0g8IAHMNaFk6g801+K/R3/iOIewNSXTOxH1nqDuBR9ZvMwN3UPXlu1J2DD796G +5YLHtBovYr9AjsG10znN5V9DremuaeGRTK1DnWAnUIHf9GGhPwPeI8/DGNX1+XWR +QU/3PENzbcJ9Dbzcxk2cD2fdoL4s/6K47ppgZQiZX1zfuS473hIz0MuRUr3hvj2f +tzM2qu6qwn0DTN4O4Co+9spwfHhxLskTlNdTj43KUfdwIYJkh1TZiSSOrjBKNMax +kwi0Pt83/iAhLSSYwmLtuh3g6RmMmSCUdJYnAedmSWocUjVNEww93D6FFdDsISSE +5lRpi1uk0g/9SGrKA65LIEKEGR15J3ObZndIoAD7E4k0REqt5MyMCsOL3XSjDccy +COfaqHM6BWBOlaWEFSeG4RdRzL/FMJEnFrqZCiLKKbDiZYnCpCs0AOwOWACDrrsh +qQIDAQABo1MwUTAdBgNVHQ4EFgQUqAAeGRlK+EEJnFgmUPMWqhEljB8wHwYDVR0j +BBgwFoAUqAAeGRlK+EEJnFgmUPMWqhEljB8wDwYDVR0TAQH/BAUwAwEB/zANBgkq +hkiG9w0BAQsFAAOCAgEAfpth2MmJdDhHZEfGkBq7pBbi7KPBZTI8calS0Cplxwwy +11ocEBJcDBH4xIufwfzkRfXiJuV6zo7jY3hKBcbqI0HpMfu3g/+IFxH1uOdubbzF +DGMUaYS6s0xZ+n2WILD0X2LnwHzvVNDnH8nkwYVb7MN7sMCPG0g1R+HUeT/dyu1K +k8q4xEpgSpQCwufWdgm6Z3lxLMfU6TJW3fDRUMkFK4dado3dyc4cSgRy60qcNGCt +e+ETLQA2sDCxG11OehmRCgSVBlRm8n32jjFL9aRQKFX78PvjRTTYLoemi5yXnJZz +PWwYZy1KA37cquLofh7ScIci5FXXumUatDTHPNYLM0pnUo7lI70w5f6Jmd9fwMqk +xDxVFtZTXvjAKt6u+Uk5IgCWMD7lICU3Cw7EYGY7II4bayzPgnr/Ep/qgzfkb4w0 +ncTEDICNmpylDv+bj+3qjGu9rwEgbuEuTyoFNfFhBNW/nCGRe1ciVgqKfX81c4jy +sDbCEAlAQe03FCOWFlMdzqm0W1zW6764OgxkNafjnwzSwt9yfCJH0xqzIeaF83nL +ca0jgPFin6V8dwS4WMb5owFtQASZENqZTNnfuk2ImSxSA22LD9hWtH/PwSF762AR +phjye/pZIp6MMrr5/DT3HjAAyguz8h6tnrvIlsLS0tvtLu2chqfEbUoZA/MTF14= -----END CERTIFICATE----- diff --git a/src/tests/ecore_wl2/ecore_wl2_suite.c b/src/tests/ecore_wl2/ecore_wl2_suite.c index b6875c006d..9418de14c4 100644 --- a/src/tests/ecore_wl2/ecore_wl2_suite.c +++ b/src/tests/ecore_wl2/ecore_wl2_suite.c @@ -1,10 +1,4 @@ -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - #include "ecore_wl2_suite.h" -#include "../efl_check.h" -#include <Ecore_Wl2.h> static const Efl_Test_Case etc[] = { @@ -13,6 +7,7 @@ static const Efl_Test_Case etc[] = { "Display", ecore_wl2_test_display }, { "Window", ecore_wl2_test_window }, { "Input", ecore_wl2_test_input }, + { "Output", ecore_wl2_test_output }, #endif { NULL, NULL } }; diff --git a/src/tests/ecore_wl2/ecore_wl2_suite.h b/src/tests/ecore_wl2/ecore_wl2_suite.h index a8edf93074..111b388f28 100644 --- a/src/tests/ecore_wl2/ecore_wl2_suite.h +++ b/src/tests/ecore_wl2/ecore_wl2_suite.h @@ -1,12 +1,21 @@ #ifndef _ECORE_WL2_SUITE_H # define _ECORE_WL2_SUITE_H -# include <check.h> -# include "../efl_check.h" +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <check.h> +#include "../efl_check.h" +#include <stdio.h> +#include <unistd.h> +#include <Ecore.h> +#include <Ecore_Wl2.h> void ecore_wl2_test_init(TCase *tc); void ecore_wl2_test_display(TCase *tc); void ecore_wl2_test_window(TCase *tc); void ecore_wl2_test_input(TCase *tc); +void ecore_wl2_test_output(TCase *tc); #endif diff --git a/src/tests/ecore_wl2/ecore_wl2_test_display.c b/src/tests/ecore_wl2/ecore_wl2_test_display.c index 99b441b433..3c6dfeb394 100644 --- a/src/tests/ecore_wl2/ecore_wl2_test_display.c +++ b/src/tests/ecore_wl2/ecore_wl2_test_display.c @@ -1,16 +1,12 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <stdio.h> -#include <unistd.h> -#include <Eina.h> -#include <Ecore.h> -#include <Ecore_Wl2.h> - #include "ecore_wl2_suite.h" #include "ecore_wl2_tests_helpers.h" +static Ecore_Wl2_Display * +_display_setup(void) +{ + return ecore_wl2_display_create(NULL); +} + EFL_START_TEST(wl2_display_create) { Ecore_Wl2_Display *disp; @@ -177,6 +173,118 @@ EFL_START_TEST(wl2_display_compositor_version_get) } EFL_END_TEST +Ecore_Wl2_Input *test_input; + +static Eina_Bool +_test_input_find_configure_complete(void *data, int type EINA_UNUSED, void *event EINA_UNUSED) +{ + Test_Data *td = data; + + /* NB: Enlightenment uses "seat0" here, but Weston uses "default" */ + if (getenv("E_START")) + test_input = ecore_wl2_display_input_find_by_name(td->display, "seat0"); + else + test_input = ecore_wl2_display_input_find_by_name(td->display, "default"); + + ck_assert(test_input != NULL); + test_input = NULL; + + if (getenv("E_START")) + { + test_input = ecore_wl2_display_input_find(td->display, 13); + ck_assert(test_input != NULL); + } + + ecore_main_loop_quit(); + + return ECORE_CALLBACK_PASS_ON; +} + +EFL_START_TEST(wl2_display_input_find) +{ + Test_Data *td; + + ecore_wl2_init(); + + td = calloc(1, sizeof(Test_Data)); + td->width = WIDTH; + td->height = HEIGHT; + + td->display = _display_connect(); + ck_assert(td->display != NULL); + + td->win = _window_create(td->display); + ck_assert(td->win != NULL); + + ecore_wl2_window_show(td->win); + + td->handler = ecore_event_handler_add(ECORE_WL2_EVENT_WINDOW_CONFIGURE_COMPLETE, + _test_input_find_configure_complete, td); + + ecore_main_loop_begin(); + + ecore_wl2_shutdown(); + free(td); +} + +EFL_END_TEST + +EFL_START_TEST(wl2_display_flush) +{ + Ecore_Wl2_Display *disp; + + disp = _display_connect(); + ck_assert(disp != NULL); + + //FIXME: Ambiguous way to check with code to make sure flushing was successful. + // We might think it's being verified by another TC that actually draws to the screen buffer ... + ecore_wl2_display_flush(disp); +} +EFL_END_TEST + +static Eina_Bool +_test_sync_done(void *data, int type EINA_UNUSED, void *event EINA_UNUSED) +{ + Test_Data *td = data; + Eina_Bool ret; + + ret = ecore_wl2_display_sync_is_done(td->display); + + fail_if(ret == EINA_FALSE); + + ecore_main_loop_quit(); + + return ECORE_CALLBACK_PASS_ON; +} + +EFL_START_TEST(wl2_display_sync_is_done) +{ + Test_Data *td; + + ecore_wl2_init(); + + td = calloc(1, sizeof(Test_Data)); + td->width = WIDTH; + td->height = HEIGHT; + + td->display = _display_connect(); + ck_assert(td->display != NULL); + + td->win = _window_create(td->display); + ck_assert(td->win != NULL); + + ecore_wl2_window_show(td->win); + + ecore_event_handler_add(ECORE_WL2_EVENT_SYNC_DONE, + _test_sync_done, td); + + ecore_main_loop_begin(); + + ecore_wl2_shutdown(); + free(td); +} +EFL_END_TEST + void ecore_wl2_test_display(TCase *tc) { @@ -197,10 +305,16 @@ ecore_wl2_test_display(TCase *tc) tcase_add_test(tc, wl2_display_disconnect); tcase_add_test(tc, wl2_display_registry_get); tcase_add_test(tc, wl2_display_shm_get); - tcase_add_test(tc, wl2_display_dmabuf_get); tcase_add_test(tc, wl2_display_globals_get); - tcase_add_test(tc, wl2_display_screen_size_get); tcase_add_test(tc, wl2_display_inputs_get); tcase_add_test(tc, wl2_display_compositor_version_get); + tcase_add_test(tc, wl2_display_input_find); + tcase_add_test(tc, wl2_display_flush); + tcase_add_test(tc, wl2_display_sync_is_done); + if (!getenv("E_START")) + { + tcase_add_test(tc, wl2_display_dmabuf_get); + tcase_add_test(tc, wl2_display_screen_size_get); + } } } diff --git a/src/tests/ecore_wl2/ecore_wl2_test_ecore_wl2.c b/src/tests/ecore_wl2/ecore_wl2_test_ecore_wl2.c index 6ed6b7343f..ce452abd89 100644 --- a/src/tests/ecore_wl2/ecore_wl2_test_ecore_wl2.c +++ b/src/tests/ecore_wl2/ecore_wl2_test_ecore_wl2.c @@ -1,14 +1,3 @@ -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#include <stdio.h> -#include <unistd.h> - -#include <Eina.h> -#include <Ecore.h> -#include <Ecore_Wl2.h> - #include "ecore_wl2_suite.h" EFL_START_TEST(ecore_wl2_simple) @@ -16,8 +5,19 @@ EFL_START_TEST(ecore_wl2_simple) } EFL_END_TEST +EFL_START_TEST(wl2_session_recovery_disable) +{ + //FIXME: Need some discussion about how to validate this API in TC. + ecore_wl2_session_recovery_disable(); +} +EFL_END_TEST + void ecore_wl2_test_init(TCase *tc) { tcase_add_test(tc, ecore_wl2_simple); + if (getenv("WAYLAND_DISPLAY") && (getenv("E_START"))) + { + tcase_add_test(tc, wl2_session_recovery_disable); + } } diff --git a/src/tests/ecore_wl2/ecore_wl2_test_input.c b/src/tests/ecore_wl2/ecore_wl2_test_input.c index 73056a77fa..12b1e45338 100644 --- a/src/tests/ecore_wl2/ecore_wl2_test_input.c +++ b/src/tests/ecore_wl2/ecore_wl2_test_input.c @@ -1,23 +1,5 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <stdio.h> -#include <unistd.h> -#include <Eina.h> -#include <Ecore.h> -#include <Ecore_Wl2.h> - #include "ecore_wl2_suite.h" - -static Ecore_Wl2_Display * -_display_connect(void) -{ - Ecore_Wl2_Display *disp; - - disp = ecore_wl2_display_connect(NULL); - return disp; -} +#include "ecore_wl2_tests_helpers.h" EFL_START_TEST(wl2_input_seat_get) { @@ -102,7 +84,9 @@ EFL_START_TEST(wl2_input_keymap_get) EINA_ITERATOR_FOREACH(itr, input) { - ck_assert(ecore_wl2_input_keymap_get(input) != NULL); + if (ecore_wl2_input_seat_capabilities_get(input) == + ECORE_WL2_SEAT_CAPABILITIES_KEYBOARD) + ck_assert(ecore_wl2_input_keymap_get(input) != NULL); } eina_iterator_free(itr); @@ -130,6 +114,173 @@ EFL_START_TEST(wl2_input_name_get) } EFL_END_TEST +static Eina_Bool +_test_input_seat_capa_configure_complete(void *data, int type EINA_UNUSED, void *event EINA_UNUSED) +{ + Test_Data *td = data; + Ecore_Wl2_Input *input; + Eina_Iterator *itr; + + itr = ecore_wl2_display_inputs_get(td->display); + ck_assert(itr != NULL); + + EINA_ITERATOR_FOREACH(itr, input) + { + Ecore_Wl2_Seat_Capabilities cap = ECORE_WL2_SEAT_CAPABILITIES_NONE; + + cap = ecore_wl2_input_seat_capabilities_get(input); + ck_assert(cap != ECORE_WL2_SEAT_CAPABILITIES_NONE); + } + + eina_iterator_free(itr); + + ecore_main_loop_quit(); + + return ECORE_CALLBACK_PASS_ON; +} + +EFL_START_TEST(wl2_input_seat_capabilities) +{ + Test_Data *td; + + ecore_wl2_init(); + + td = calloc(1, sizeof(Test_Data)); + td->width = WIDTH; + td->height = HEIGHT; + + td->display = _display_connect(); + ck_assert(td->display != NULL); + + td->win = _window_create(td->display); + ck_assert(td->win != NULL); + + ecore_wl2_window_show(td->win); + + td->handler = ecore_event_handler_add(ECORE_WL2_EVENT_WINDOW_CONFIGURE_COMPLETE, + _test_input_seat_capa_configure_complete, td); + + ecore_main_loop_begin(); + + ecore_wl2_shutdown(); + free(td); + +} +EFL_END_TEST + +EFL_START_TEST(wl2_input_pointer_xy) +{ + Ecore_Wl2_Display *disp; + Ecore_Wl2_Input *input; + Eina_Iterator *itr; + + disp = _display_connect(); + ck_assert(disp != NULL); + + itr = ecore_wl2_display_inputs_get(disp); + ck_assert(itr != NULL); + + EINA_ITERATOR_FOREACH(itr, input) + { + if (ecore_wl2_input_seat_capabilities_get(input) == + ECORE_WL2_SEAT_CAPABILITIES_POINTER) + { + int x = 0, y = 0; + + ecore_wl2_input_pointer_xy_get(input, &x, &y); + ck_assert_int_ne(x, 0); + ck_assert_int_ne(y, 0); + } + } + + eina_iterator_free(itr); +} +EFL_END_TEST + +EFL_START_TEST(wl2_input_keyboard_repeat) +{ + Ecore_Wl2_Display *disp; + Ecore_Wl2_Input *input; + Eina_Iterator *itr; + + disp = _display_connect(); + ck_assert(disp != NULL); + + itr = ecore_wl2_display_inputs_get(disp); + ck_assert(itr != NULL); + + EINA_ITERATOR_FOREACH(itr, input) + { + if (ecore_wl2_input_seat_capabilities_get(input) == + ECORE_WL2_SEAT_CAPABILITIES_KEYBOARD) + { + double rate = 0.0, delay = 0.0; + + ecore_wl2_input_keyboard_repeat_set(input, 2.0, 2.0); + ecore_wl2_input_keyboard_repeat_get(input, &rate, &delay); + ck_assert(!EINA_DBL_EQ(rate, 2.0)); + ck_assert(!EINA_DBL_EQ(delay, 2.0)); + } + } + + eina_iterator_free(itr); +} +EFL_END_TEST + +EFL_START_TEST(wl2_input_cursor_from_name_set) +{ + Ecore_Wl2_Display *disp; + Ecore_Wl2_Input *input; + Eina_Iterator *itr; + + disp = _display_connect(); + ck_assert(disp != NULL); + + itr = ecore_wl2_display_inputs_get(disp); + ck_assert(itr != NULL); + + EINA_ITERATOR_FOREACH(itr, input) + { + if (ecore_wl2_input_seat_capabilities_get(input) == + ECORE_WL2_SEAT_CAPABILITIES_POINTER) + { + //FIXME: Need some discussion about how to validate this API in TC. + ecore_wl2_input_cursor_from_name_set(input, NULL); + ecore_wl2_input_cursor_from_name_set(NULL, NULL); + } + } + + eina_iterator_free(itr); +} +EFL_END_TEST + +EFL_START_TEST(wl2_input_pointer_set) +{ + Ecore_Wl2_Display *disp; + Ecore_Wl2_Input *input; + Eina_Iterator *itr; + + disp = _display_connect(); + ck_assert(disp != NULL); + + itr = ecore_wl2_display_inputs_get(disp); + ck_assert(itr != NULL); + + EINA_ITERATOR_FOREACH(itr, input) + { + if (ecore_wl2_input_seat_capabilities_get(input) == + ECORE_WL2_SEAT_CAPABILITIES_POINTER) + { + //FIXME: Need some discussion about how to validate this API in TC. + ecore_wl2_input_pointer_set(input, NULL, 0, 0); + ecore_wl2_input_pointer_set(NULL, NULL, 0, 0); + } + } + + eina_iterator_free(itr); +} +EFL_END_TEST + void ecore_wl2_test_input(TCase *tc) { @@ -140,5 +291,10 @@ ecore_wl2_test_input(TCase *tc) tcase_add_test(tc, wl2_input_display_get); tcase_add_test(tc, wl2_input_keymap_get); tcase_add_test(tc, wl2_input_name_get); + tcase_add_test(tc, wl2_input_seat_capabilities); + tcase_add_test(tc, wl2_input_pointer_xy); + tcase_add_test(tc, wl2_input_keyboard_repeat); + tcase_add_test(tc, wl2_input_cursor_from_name_set); + tcase_add_test(tc, wl2_input_pointer_set); } } diff --git a/src/tests/ecore_wl2/ecore_wl2_test_output.c b/src/tests/ecore_wl2/ecore_wl2_test_output.c new file mode 100644 index 0000000000..c3dbe98de6 --- /dev/null +++ b/src/tests/ecore_wl2/ecore_wl2_test_output.c @@ -0,0 +1,33 @@ +#include "ecore_wl2_suite.h" + +EFL_START_TEST(wl2_output_dpi_get) +{ + int ret; + + //FIXME: Need some discussion about how to validate this API in TC. + ret = ecore_wl2_output_dpi_get(NULL); + + fail_if(ret != 75); +} +EFL_END_TEST + +EFL_START_TEST(wl2_output_transform_get) +{ + int ret; + + //FIXME: Need some discussion about how to validate this API in TC. + ret = ecore_wl2_output_transform_get(NULL); + + fail_if(ret != 0); +} +EFL_END_TEST + +void +ecore_wl2_test_output(TCase *tc) +{ + if (getenv("WAYLAND_DISPLAY")) + { + tcase_add_test(tc, wl2_output_dpi_get); + tcase_add_test(tc, wl2_output_transform_get); + } +} diff --git a/src/tests/ecore_wl2/ecore_wl2_test_window.c b/src/tests/ecore_wl2/ecore_wl2_test_window.c index bb329195ef..4b9e734d61 100644 --- a/src/tests/ecore_wl2/ecore_wl2_test_window.c +++ b/src/tests/ecore_wl2/ecore_wl2_test_window.c @@ -1,31 +1,14 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <stdio.h> -#include <unistd.h> -#include <Eina.h> -#include <Ecore.h> -#include <Ecore_Wl2.h> - #include "ecore_wl2_suite.h" +#include "ecore_wl2_tests_helpers.h" -static Ecore_Wl2_Display * -_display_connect(void) -{ - Ecore_Wl2_Display *disp; - - disp = ecore_wl2_display_connect(NULL); - return disp; -} +#ifdef GL_GLES +#include "ecore_wl2_tests_helper_egl.h" +#endif -static Ecore_Wl2_Window * -_window_create(Ecore_Wl2_Display *disp) +static struct wl_surface * +_surface_get(Ecore_Wl2_Window *win) { - Ecore_Wl2_Window *win; - - win = ecore_wl2_window_new(disp, NULL, 100, 100, 500, 500); - return win; + return ecore_wl2_window_surface_get(win); } EFL_START_TEST(wl2_window_new) @@ -86,40 +69,6 @@ EFL_START_TEST(wl2_window_rotation) } EFL_END_TEST -EFL_START_TEST(wl2_window_output_find) -{ - Ecore_Wl2_Display *disp; - Ecore_Wl2_Window *win; - Ecore_Wl2_Output *out; - - disp = _display_connect(); - ck_assert(disp != NULL); - - win = _window_create(disp); - ck_assert(win != NULL); - - out = ecore_wl2_window_output_find(win); - ck_assert(out != NULL); -} -EFL_END_TEST - -EFL_START_TEST(wl2_window_aux_hints_supported_get) -{ - Ecore_Wl2_Display *disp; - Ecore_Wl2_Window *win; - Eina_List *l; - - disp = _display_connect(); - ck_assert(disp != NULL); - - win = _window_create(disp); - ck_assert(win != NULL); - - l = ecore_wl2_window_aux_hints_supported_get(win); - ck_assert(l != NULL); -} -EFL_END_TEST - EFL_START_TEST(wl2_window_display_get) { Ecore_Wl2_Display *disp; @@ -329,23 +278,96 @@ EFL_START_TEST(wl2_window_type) } EFL_END_TEST +#ifdef GL_GLES +static void +_test_activated_frame_cb(Ecore_Wl2_Window *win EINA_UNUSED, uint32_t timestamp EINA_UNUSED, void *data) +{ + Test_Data *td = data; + + td->frame_callback_count++; + if (td->frame_callback_count % 4 == 0) + glClearColor(0.0, 1.0, 0.0, 0.0); + else if (td->frame_callback_count % 4 == 1) + glClearColor(0.0, 0.0, 1.0, 0.0); + else if (td->frame_callback_count % 4 == 2) + glClearColor(0.0, 0.0, 0.0, 1.0); + else + glClearColor(1.0, 0.0, 0.0, 0.0); + glClear(GL_COLOR_BUFFER_BIT); + glFlush(); + + eglSwapBuffers(td->egl_display, td->egl_surface); + + ecore_wl2_window_commit(td->win, EINA_TRUE); +} + +static Eina_Bool +_test_activated_configure_complete(void *data, int type EINA_UNUSED, void *event EINA_UNUSED) +{ + Test_Data *td = data; + + td->frame_callback_handler = ecore_wl2_window_frame_callback_add(td->win, _test_activated_frame_cb, td); + ecore_wl2_window_commit(td->win, EINA_TRUE); + + return ECORE_CALLBACK_PASS_ON; +} + +static Eina_Bool +_test_activated_window_activate(void *data EINA_UNUSED, int type EINA_UNUSED, void *event EINA_UNUSED) +{ + //TC Pass + ecore_main_loop_quit(); + + return ECORE_CALLBACK_PASS_ON; +} + EFL_START_TEST(wl2_window_activated) { - Ecore_Wl2_Display *disp; - Ecore_Wl2_Window *win; - Eina_Bool ret; + Test_Data *td; + Eina_Bool ret = EINA_FALSE; - disp = _display_connect(); - ck_assert(disp != NULL); + ecore_wl2_init(); - win = _window_create(disp); - ck_assert(win != NULL); + td = calloc(1, sizeof(Test_Data)); + td->width = WIDTH; + td->height = HEIGHT; + td->frame_callback_count = 0; + + td->display = _display_connect(); + ck_assert(td->display != NULL); + + td->win = _window_create(td->display); + ck_assert(td->win != NULL); + + ecore_wl2_window_type_set(td->win, ECORE_WL2_WINDOW_TYPE_TOPLEVEL); + + td->surface = _surface_get(td->win); + ck_assert(td->surface != NULL); - ret = ecore_wl2_window_activated_get(win); + ecore_wl2_window_show(td->win); + ret = _init_egl(td); fail_if(ret != EINA_TRUE); + + td->handler = ecore_event_handler_add(ECORE_WL2_EVENT_WINDOW_CONFIGURE_COMPLETE, + _test_activated_configure_complete, td); + ecore_event_handler_add(ECORE_WL2_EVENT_WINDOW_ACTIVATE, + _test_activated_window_activate, NULL); + + ecore_main_loop_begin(); + + _term_egl(td); + ecore_wl2_shutdown(); + free(td); +} +EFL_END_TEST +#else +EFL_START_TEST(wl2_window_activated) +{ + fail_if("No GL enabled GL should be enabled for API test"); } EFL_END_TEST +#endif EFL_START_TEST(wl2_window_aspect) { @@ -454,6 +476,486 @@ EFL_START_TEST(wl2_window_role) } EFL_END_TEST +EFL_START_TEST(wl2_window_input_region) +{ + Ecore_Wl2_Display *disp; + Ecore_Wl2_Window *win; + int x, y, w, h; + + disp = _display_connect(); + ck_assert(disp != NULL); + + win = _window_create(disp); + ck_assert(win != NULL); + + ecore_wl2_window_input_region_set(win, 10, 10, 100, 100); + + ecore_wl2_window_input_region_get(win, &x, &y, &w, &h); + fail_if(x != 10); + fail_if(y != 10); + fail_if(w != 100); + fail_if(h != 100); +} +EFL_END_TEST + +EFL_START_TEST(wl2_window_opaque_region) +{ + Ecore_Wl2_Display *disp; + Ecore_Wl2_Window *win; + int x, y, w, h; + + disp = _display_connect(); + ck_assert(disp != NULL); + + win = _window_create(disp); + ck_assert(win != NULL); + + ecore_wl2_window_opaque_region_set(win, 10, 10, 100, 100); + + ecore_wl2_window_opaque_region_get(win, &x, &y, &w, &h); + fail_if(x != 10); + fail_if(y != 10); + fail_if(w != 100); + fail_if(h != 100); +} +EFL_END_TEST + +EFL_START_TEST(wl2_window_popup_input) +{ + Ecore_Wl2_Display *disp; + Ecore_Wl2_Window *win; + Ecore_Wl2_Input *input; + Eina_Iterator *itr; + + disp = _display_connect(); + ck_assert(disp != NULL); + + win = _window_create(disp); + ck_assert(win != NULL); + + ecore_wl2_window_type_set(win, ECORE_WL2_WINDOW_TYPE_MENU); + + itr = ecore_wl2_display_inputs_get(disp); + ck_assert(itr != NULL); + + EINA_ITERATOR_FOREACH(itr, input) + { + if (ecore_wl2_input_seat_capabilities_get(input) != + ECORE_WL2_SEAT_CAPABILITIES_POINTER) + continue; + + ecore_wl2_window_popup_input_set(win, input); + fail_if(ecore_wl2_window_popup_input_get(win) != input); + break; + } + + eina_iterator_free(itr); +} +EFL_END_TEST + +static void +_test_commit_frame_cb(Ecore_Wl2_Window *win EINA_UNUSED, uint32_t timestamp EINA_UNUSED, void *data) +{ + Test_Data *td = data; + td->frame_callback_count++; + ecore_main_loop_quit(); +} + +static Eina_Bool +_test_commit_configure_complete(void *data, int type EINA_UNUSED, void *event EINA_UNUSED) +{ + Test_Data *td = data; + + td->frame_callback_handler = ecore_wl2_window_frame_callback_add(td->win, _test_commit_frame_cb, td); + ecore_wl2_window_commit(td->win, EINA_TRUE); + + return ECORE_CALLBACK_PASS_ON; +} + +EFL_START_TEST(wl2_window_commit) +{ + Test_Data *td; + + ecore_wl2_init(); + + td = calloc(1, sizeof(Test_Data)); + td->width = WIDTH; + td->height = HEIGHT; + td->frame_callback_count = 0; + + td->display = _display_connect(); + ck_assert(td->display != NULL); + + td->win = _window_create(td->display); + ck_assert(td->win != NULL); + + ecore_wl2_window_type_set(td->win, ECORE_WL2_WINDOW_TYPE_TOPLEVEL); + + td->surface = _surface_get(td->win); + ck_assert(td->surface != NULL); + + ecore_wl2_window_show(td->win); + + td->handler = ecore_event_handler_add(ECORE_WL2_EVENT_WINDOW_CONFIGURE_COMPLETE, + _test_commit_configure_complete, td); + + ecore_main_loop_begin(); + + //Check if the frame callback was called properly by ecore_wl2_window_commit(). + fail_if(td->frame_callback_count == 0); + + ecore_wl2_shutdown(); + free(td); +} +EFL_END_TEST + +static void +_test_frame_callback_frame_cb(Ecore_Wl2_Window *win EINA_UNUSED, uint32_t timestamp EINA_UNUSED, void *data) +{ + Test_Data *td = data; + td->frame_callback_count++; + if (td->frame_callback_count == 1) + { + ecore_wl2_window_frame_callback_del(td->frame_callback_handler); + td->frame_callback_handler = NULL; + ecore_main_loop_quit(); + } +} + +static Eina_Bool +_test_frame_callback_configure_complete(void *data, int type EINA_UNUSED, void *event EINA_UNUSED) +{ + Test_Data *td = data; + + td->frame_callback_handler = ecore_wl2_window_frame_callback_add(td->win, _test_frame_callback_frame_cb, td); + ecore_wl2_window_commit(td->win, EINA_TRUE); + + return ECORE_CALLBACK_PASS_ON; +} + +EFL_START_TEST(wl2_window_frame_callback) +{ + Test_Data *td; + + ecore_wl2_init(); + + td = calloc(1, sizeof(Test_Data)); + td->width = WIDTH; + td->height = HEIGHT; + td->frame_callback_count = 0; + + td->display = _display_connect(); + ck_assert(td->display != NULL); + + td->win = _window_create(td->display); + ck_assert(td->win != NULL); + + ecore_wl2_window_type_set(td->win, ECORE_WL2_WINDOW_TYPE_TOPLEVEL); + + td->surface = _surface_get(td->win); + ck_assert(td->surface != NULL); + + ecore_wl2_window_show(td->win); + + td->handler = ecore_event_handler_add(ECORE_WL2_EVENT_WINDOW_CONFIGURE_COMPLETE, + _test_frame_callback_configure_complete, td); + + ecore_main_loop_begin(); + + //Check if the frame callback called after then it sets NULL or not. + fail_if(td->frame_callback_count != 1); + fail_if(td->frame_callback_handler != NULL); + + ecore_wl2_shutdown(); + free(td); +} +EFL_END_TEST + +EFL_START_TEST(wl2_window_free) +{ + Ecore_Wl2_Window *t_win; + Test_Data *td; + + ecore_wl2_init(); + + td = calloc(1, sizeof(Test_Data)); + + td->display = _display_connect(); + ck_assert(td->display != NULL); + + td->win = _window_create(td->display); + ck_assert(td->win != NULL); + + ecore_wl2_window_type_set(td->win, ECORE_WL2_WINDOW_TYPE_TOPLEVEL); + + td->surface = _surface_get(td->win); + ck_assert(td->surface != NULL); + + ecore_wl2_window_show(td->win); + + t_win = ecore_wl2_display_window_find_by_surface(td->display, td->surface); + + fail_if(td->win != t_win); + + ecore_wl2_window_free(td->win); + t_win = ecore_wl2_display_window_find_by_surface(td->display, td->surface); + + //Check the returned window with freed window. + fail_if(td->win == t_win); + + ecore_wl2_shutdown(); + free(td); +} +EFL_END_TEST + +static Eina_Bool +_test_hide_window_hide(void *data EINA_UNUSED, int type EINA_UNUSED, void *event EINA_UNUSED) +{ + //TC pass + ecore_main_loop_quit(); + + return ECORE_CALLBACK_PASS_ON; +} + +EFL_START_TEST(wl2_window_hide) +{ + Test_Data *td; + + ecore_wl2_init(); + + td = calloc(1, sizeof(Test_Data)); + td->width = WIDTH; + td->height = HEIGHT; + td->frame_callback_count = 0; + + td->display = _display_connect(); + ck_assert(td->display != NULL); + + td->win = _window_create(td->display); + ck_assert(td->win != NULL); + + ecore_wl2_window_type_set(td->win, ECORE_WL2_WINDOW_TYPE_TOPLEVEL); + + td->surface = _surface_get(td->win); + ck_assert(td->surface != NULL); + + ecore_wl2_window_show(td->win); + + ecore_wl2_window_hide(td->win); + td->handler = ecore_event_handler_add(ECORE_WL2_EVENT_WINDOW_HIDE, + _test_hide_window_hide, NULL); + + ecore_main_loop_begin(); + + ecore_wl2_shutdown(); + free(td); +} +EFL_END_TEST + +EFL_START_TEST(wl2_window_shell_surface_exists) +{ + Test_Data *td; + + ecore_wl2_init(); + + td = calloc(1, sizeof(Test_Data)); + td->width = WIDTH; + td->height = HEIGHT; + td->frame_callback_count = 0; + + td->display = _display_connect(); + ck_assert(td->display != NULL); + + td->win = _window_create(td->display); + ck_assert(td->win != NULL); + + ecore_wl2_window_type_set(td->win, ECORE_WL2_WINDOW_TYPE_TOPLEVEL); + + td->surface = _surface_get(td->win); + ck_assert(td->surface != NULL); + + ecore_wl2_window_show(td->win); + + //window_show function will create shell surface. then checks it. + fail_if(ecore_wl2_window_shell_surface_exists(td->win) == EINA_FALSE); + + ecore_wl2_shutdown(); + free(td); +} +EFL_END_TEST + +static Eina_Bool +_test_show_window_show(void *data EINA_UNUSED, int type EINA_UNUSED, void *event EINA_UNUSED) +{ + //TC pass + ecore_main_loop_quit(); + + return ECORE_CALLBACK_PASS_ON; +} + +EFL_START_TEST(wl2_window_show) +{ + Test_Data *td; + + ecore_wl2_init(); + + td = calloc(1, sizeof(Test_Data)); + td->width = WIDTH; + td->height = HEIGHT; + td->frame_callback_count = 0; + + td->display = _display_connect(); + ck_assert(td->display != NULL); + + td->win = _window_create(td->display); + ck_assert(td->win != NULL); + + ecore_wl2_window_type_set(td->win, ECORE_WL2_WINDOW_TYPE_TOPLEVEL); + + td->surface = _surface_get(td->win); + ck_assert(td->surface != NULL); + + ecore_wl2_window_show(td->win); + + td->handler = ecore_event_handler_add(ECORE_WL2_EVENT_WINDOW_SHOW, + _test_show_window_show, NULL); + + ecore_main_loop_begin(); + + ecore_wl2_shutdown(); + free(td); +} +EFL_END_TEST + +static Eina_Bool _window_configure_event_called = EINA_FALSE; + +static Eina_Bool +_test_update_window_configure(void *data EINA_UNUSED, int type EINA_UNUSED, void *event EINA_UNUSED) +{ + _window_configure_event_called = EINA_TRUE; + + return ECORE_CALLBACK_PASS_ON; +} + +static Eina_Bool +_test_update_window_configure_complete(void *data EINA_UNUSED, int type EINA_UNUSED, void *event EINA_UNUSED) +{ + //Checks if the configure_complete calling before configure calling + //when ecore_wl2_window_update_begin() called. + fail_if(_window_configure_event_called == EINA_TRUE); + + ecore_main_loop_quit(); + + return ECORE_CALLBACK_PASS_ON; +} + +EFL_START_TEST(wl2_window_update_begin) +{ + Test_Data *td; + + ecore_wl2_init(); + + td = calloc(1, sizeof(Test_Data)); + td->width = WIDTH; + td->height = HEIGHT; + td->frame_callback_count = 0; + + td->display = _display_connect(); + ck_assert(td->display != NULL); + + td->win = _window_create(td->display); + ck_assert(td->win != NULL); + + ecore_wl2_window_type_set(td->win, ECORE_WL2_WINDOW_TYPE_TOPLEVEL); + + td->surface = _surface_get(td->win); + ck_assert(td->surface != NULL); + + ecore_wl2_window_show(td->win); + + ecore_wl2_window_update_begin(td->win); + ecore_event_handler_add(ECORE_WL2_EVENT_WINDOW_CONFIGURE, + _test_update_window_configure, NULL); + ecore_event_handler_add(ECORE_WL2_EVENT_WINDOW_CONFIGURE_COMPLETE, + _test_update_window_configure_complete, NULL); + + ecore_main_loop_begin(); + + ecore_wl2_shutdown(); + free(td); +} +EFL_END_TEST + +EFL_START_TEST(wl2_window_move) +{ + Ecore_Wl2_Display *disp; + Ecore_Wl2_Window *win; + + disp = _display_connect(); + ck_assert(disp != NULL); + + win = _window_create(disp); + ck_assert(win != NULL); + + //FIXME: Need some discussion about how to validate this API in TC. + ecore_wl2_window_move(NULL, NULL); + ecore_wl2_window_move(win, NULL); +} +EFL_END_TEST + +EFL_START_TEST(wl2_window_resize) +{ + Ecore_Wl2_Display *disp; + Ecore_Wl2_Window *win; + + disp = _display_connect(); + ck_assert(disp != NULL); + + win = _window_create(disp); + ck_assert(win != NULL); + + //FIXME: Need some discussion about how to validate this API in TC. + ecore_wl2_window_resize(NULL, NULL, 0); + ecore_wl2_window_resize(win, NULL, 0); +} +EFL_END_TEST + +EFL_START_TEST(wl2_window_resizing_get) +{ + Ecore_Wl2_Display *disp; + Ecore_Wl2_Window *win; + Eina_Bool ret; + + disp = _display_connect(); + ck_assert(disp != NULL); + + win = _window_create(disp); + ck_assert(win != NULL); + + ret = ecore_wl2_window_resizing_get(win); + fail_if (ret == EINA_TRUE); +} +EFL_END_TEST + +EFL_START_TEST(wl2_window_output_find) +{ + Ecore_Wl2_Display *disp; + Ecore_Wl2_Window *win; + Ecore_Wl2_Output *output; + + disp = _display_connect(); + ck_assert(disp != NULL); + + win = _window_create(disp); + ck_assert(win != NULL); + + //FIXME: Need some discussion about how to validate this API in TC. + output = ecore_wl2_window_output_find(win); + output = ecore_wl2_window_output_find(NULL); + fail_if (output != NULL); +} +EFL_END_TEST + void ecore_wl2_test_window(TCase *tc) { @@ -463,9 +965,17 @@ ecore_wl2_test_window(TCase *tc) tcase_add_test(tc, wl2_window_new); tcase_add_test(tc, wl2_window_surface_test); tcase_add_test(tc, wl2_window_rotation); - tcase_add_test(tc, wl2_window_output_find); if (getenv("E_START")) - tcase_add_test(tc, wl2_window_aux_hints_supported_get); + { + tcase_add_test(tc, wl2_window_commit); + tcase_add_test(tc, wl2_window_frame_callback); + tcase_add_test(tc, wl2_window_free); + tcase_add_test(tc, wl2_window_hide); + tcase_add_test(tc, wl2_window_shell_surface_exists); + tcase_add_test(tc, wl2_window_show); + tcase_add_test(tc, wl2_window_update_begin); + tcase_add_test(tc, wl2_window_activated); + } tcase_add_test(tc, wl2_window_display_get); tcase_add_test(tc, wl2_window_alpha); tcase_add_test(tc, wl2_window_floating_mode); @@ -477,11 +987,17 @@ ecore_wl2_test_window(TCase *tc) tcase_add_test(tc, wl2_wm_window_rotation_app); tcase_add_test(tc, wl2_window_geometry); tcase_add_test(tc, wl2_window_type); - tcase_add_test(tc, wl2_window_activated); tcase_add_test(tc, wl2_window_available_rotation); tcase_add_test(tc, wl2_window_aspect); tcase_add_test(tc, wl2_window_class); tcase_add_test(tc, wl2_window_title); tcase_add_test(tc, wl2_window_role); + tcase_add_test(tc, wl2_window_input_region); + tcase_add_test(tc, wl2_window_opaque_region); + tcase_add_test(tc, wl2_window_popup_input); + tcase_add_test(tc, wl2_window_move); + tcase_add_test(tc, wl2_window_resize); + tcase_add_test(tc, wl2_window_resizing_get); + tcase_add_test(tc, wl2_window_output_find); } } diff --git a/src/tests/ecore_wl2/ecore_wl2_tests_helper_egl.h b/src/tests/ecore_wl2/ecore_wl2_tests_helper_egl.h new file mode 100644 index 0000000000..10605428be --- /dev/null +++ b/src/tests/ecore_wl2/ecore_wl2_tests_helper_egl.h @@ -0,0 +1,64 @@ +#ifndef ECORE_WL2_TEST_HELPER_EGL_H +# define ECORE_WL2_TEST_HELPER_EGL_H + +#include <wayland-egl.h> +#include <EGL/egl.h> +#include <GLES2/gl2.h> + +static Eina_Bool +_init_egl(Test_Data *td) +{ + eglBindAPI(EGL_OPENGL_API); + EGLint num_config; + + EGLint attributes[] = + { + EGL_RED_SIZE, 8, + EGL_GREEN_SIZE, 8, + EGL_BLUE_SIZE, 8, + EGL_NONE + }; + + td->egl_display = + eglGetDisplay((EGLNativeDisplayType)ecore_wl2_display_get(td->display)); + + if (!eglInitialize(td->egl_display, NULL, NULL)) + { + EINA_LOG_ERR("Failed to initialize egl"); + eglTerminate(td->egl_display); + return EINA_FALSE; + } + + if (!eglChooseConfig(td->egl_display, attributes, &td->egl_conf, + 1, &num_config)) + { + EINA_LOG_ERR("Failed to choose egl config"); + eglTerminate(td->egl_display); + return EINA_FALSE; + } + + td->egl_context = + eglCreateContext(td->egl_display, td->egl_conf, EGL_NO_CONTEXT, NULL); + + td->egl_window = wl_egl_window_create(td->surface, td->width, td->height); + + td->egl_surface = + eglCreateWindowSurface(td->egl_display, + td->egl_conf, td->egl_window, NULL); + + eglMakeCurrent(td->egl_display, td->egl_surface, + td->egl_surface, td->egl_context); + + return EINA_TRUE; +} + +static void +_term_egl(Test_Data *td) +{ + eglDestroySurface(td->egl_display, td->egl_surface); + wl_egl_window_destroy(td->egl_window); + eglDestroyContext(td->egl_display, td->egl_context); + eglTerminate(td->egl_display); +} + +#endif diff --git a/src/tests/ecore_wl2/ecore_wl2_tests_helpers.h b/src/tests/ecore_wl2/ecore_wl2_tests_helpers.h index f897dc9123..c1fe4657a5 100644 --- a/src/tests/ecore_wl2/ecore_wl2_tests_helpers.h +++ b/src/tests/ecore_wl2/ecore_wl2_tests_helpers.h @@ -1,24 +1,48 @@ #ifndef ECORE_WL2_TEST_HELPERS_H # define ECORE_WL2_TEST_HELPERS_H -# include <Ecore_Wl2.h> +#include <wayland-egl.h> -static Ecore_Wl2_Display * -_display_setup(void) +#ifdef GL_GLES +#include <EGL/egl.h> +#include <GLES2/gl2.h> +#endif + +#define WIDTH 480 +#define HEIGHT 360 + +typedef struct _Test_Data { - Ecore_Wl2_Display *disp; + Ecore_Wl2_Display *display; + Ecore_Wl2_Window *win; + Ecore_Wl2_Frame_Cb_Handle *frame_callback_handler; + Ecore_Event_Handler *handler; - disp = ecore_wl2_display_create(NULL); - return disp; -} + struct wl_surface *surface; + struct wl_egl_window *egl_window; + + int width; + int height; + int frame_callback_count; + +#ifdef GL_GLES + EGLDisplay egl_display; + EGLConfig egl_conf; + EGLSurface egl_surface; + EGLContext egl_context; +#endif +} Test_Data; static Ecore_Wl2_Display * _display_connect(void) { - Ecore_Wl2_Display *disp; + return ecore_wl2_display_connect(NULL); +} - disp = ecore_wl2_display_connect(NULL); - return disp; +static Ecore_Wl2_Window * +_window_create(Ecore_Wl2_Display *disp) +{ + return ecore_wl2_window_new(disp, NULL, 100, 100, WIDTH, HEIGHT); } #endif diff --git a/src/tests/ecore_wl2/meson.build b/src/tests/ecore_wl2/meson.build index eb1a13db6a..f7472d02ed 100644 --- a/src/tests/ecore_wl2/meson.build +++ b/src/tests/ecore_wl2/meson.build @@ -5,12 +5,22 @@ ecore_wl2_suite_src = [ 'ecore_wl2_test_ecore_wl2.c', 'ecore_wl2_test_display.c', 'ecore_wl2_test_window.c', - 'ecore_wl2_test_input.c' + 'ecore_wl2_test_input.c', + 'ecore_wl2_test_output.c' ] +wl2_test_gl_deps = [] + +if get_option('opengl') == 'es-egl' + ecore_wl2_suite_src += 'ecore_wl2_tests_helper_egl.h' + wl2_test_gl_deps += dependency('egl') + wl2_test_gl_deps += dependency('gl') +endif + ecore_wl2_suite = executable('ecore_wl2_suite', ecore_wl2_suite_src, - dependencies: [ecore_wl2, ecore, check, wayland_protocol], + dependencies: [ecore_wl2, ecore, ecore_input, check, wayland_protocol, wayland_client, dependency('wayland-egl'), wl2_test_gl_deps], + c_args : [ '-DTESTS_BUILD_DIR="'+meson.current_build_dir()+'"', '-DTESTS_SRC_DIR="'+meson.current_source_dir()+'"'] diff --git a/src/tests/edje/data/test_textblock.edc b/src/tests/edje/data/test_textblock.edc index e8223e75be..f7cc0070a9 100644 --- a/src/tests/edje/data/test_textblock.edc +++ b/src/tests/edje/data/test_textblock.edc @@ -1,8 +1,21 @@ collections { + text_classes { + text_class { + name: "tc1"; + font: "Serif"; + size: 18; + } + } styles { style { name: "tb_style"; base: "font=Sans font_size=20 color=#fff"; } + style { name: "tb_tc_style"; + base: "color=#ff0 text_class=tc1"; + } + style { name: "tb_tc2_style"; + base: "color=#0ff text_class=tc2"; + } } group { name: "test_textblock"; parts { @@ -18,4 +31,32 @@ collections { } } } + group { name: "test_tc_textblock"; + parts { + part { name: "tb"; + type: TEXTBLOCK; + description { state: "default" 0.0; + min: 300 300; + text { + text: "Hello World"; + style: "tb_tc_style"; + } + } + } + } + } + group { name: "test_tc_textblock2"; + parts { + part { name: "tb2"; + type: TEXTBLOCK; + description { state: "default" 0.0; + min: 300 300; + text { + text: "Hello World"; + style: "tb_tc2_style"; + } + } + } + } + } } diff --git a/src/tests/edje/edje_suite.c b/src/tests/edje/edje_suite.c index 80104b0e0b..5439c72a57 100644 --- a/src/tests/edje/edje_suite.c +++ b/src/tests/edje/edje_suite.c @@ -40,7 +40,7 @@ _setup_evas(void) evas_output_method_set(evas, evas_render_method_lookup("buffer")); einfo = evas_engine_info_get(evas); - evas_engine_info_set(evas, einfo); + fail_unless(evas_engine_info_set(evas, einfo)); evas_output_size_set(evas, 500, 500); evas_output_viewport_set(evas, 0, 0, 500, 500); diff --git a/src/tests/edje/edje_test_text.c b/src/tests/edje/edje_test_text.c index a66132c1d8..5b48de63a0 100644 --- a/src/tests/edje/edje_test_text.c +++ b/src/tests/edje/edje_test_text.c @@ -102,17 +102,58 @@ EFL_START_TEST(edje_test_textblock) evas = _setup_evas(); obj = edje_object_add(evas); - fail_unless(edje_object_file_set(obj, test_layout_get("test_textblock.edj"), "test_textblock")); + ck_assert(edje_object_file_set(obj, test_layout_get("test_textblock.edj"), "test_textblock")); txt = edje_object_part_text_get(obj, "text"); - fail_if(!txt || strcmp(txt, "Bye")); + ck_assert_ptr_ne(txt, NULL); + ck_assert_int_eq(strcmp(txt, "Bye"), 0); edje_object_part_text_set(obj, "text", buf); txt = edje_object_part_text_get(obj, "text"); - fail_if(!txt || strcmp(txt, buf)); - + ck_assert_ptr_ne(txt, NULL); + ck_assert_int_eq(strcmp(txt, buf), 0); + + Evas_Object *obj2 = edje_object_add(evas); + ck_assert(edje_object_file_set(obj2, test_layout_get("test_textblock.edj"), "test_tc_textblock")); + Evas_Object *tb = (Evas_Object*)edje_object_part_object_get(obj2, "tb"); + ck_assert_ptr_ne(tb, NULL); + int w = 0, h = 0; + evas_object_textblock_size_formatted_get(tb, &w, &h); + Evas_Textblock_Style *st = evas_object_textblock_style_get(tb); + txt = evas_textblock_style_get(st); + ck_assert_str_eq(txt, "DEFAULT='color=#ff0 font_size=18.0 font=Serif'"); + ck_assert_int_ne(w, 0); + ck_assert_int_ne(h, 0); + + edje_object_text_class_set(obj2, "tc1", "Sans", 8); + edje_object_calc_force(obj2); + int w2 = 0, h2 = 0; + evas_object_textblock_size_formatted_get(tb, &w2, &h2); + ck_assert_int_ne(w2, 0); + ck_assert_int_ne(h2, 0); + ck_assert_int_ne(w, w2); + ck_assert_int_ne(h, h2); + + ck_assert(edje_object_file_set(obj2, test_layout_get("test_textblock.edj"), "test_tc_textblock2")); + tb = (Evas_Object*)edje_object_part_object_get(obj2, "tb2"); + ck_assert_ptr_ne(tb, NULL); + st = evas_object_textblock_style_get(tb); + txt = evas_textblock_style_get(st); + ck_assert_str_eq(txt, "DEFAULT='color=#0ff'"); + evas_object_textblock_size_formatted_get(tb, &w, &h); + ck_assert_int_eq(w, 0); + ck_assert_int_eq(h, 0); + + edje_object_text_class_set(obj2, "tc2", "Sans", 15); + edje_object_calc_force(obj2); + evas_object_textblock_size_formatted_get(tb, &w, &h); + ck_assert_int_ne(w, 0); + ck_assert_int_ne(h, 0); + st = evas_object_textblock_style_get(tb); + txt = evas_textblock_style_get(st); + ck_assert_str_eq(txt, "DEFAULT='color=#0ff font_size=15.0 font=Sans'"); } EFL_END_TEST -START_TEST(edje_test_text_ellipsis) +EFL_START_TEST(edje_test_text_ellipsis) { Eo *evas; Eo *layout; @@ -128,9 +169,9 @@ START_TEST(edje_test_text_ellipsis) efl_text_ellipsis_set(efl_part(layout, "text"), 1.0); } -END_TEST +EFL_END_TEST -START_TEST(edje_test_text_wrap) +EFL_START_TEST(edje_test_text_wrap) { Eo *evas; Eo *layout; @@ -146,9 +187,9 @@ START_TEST(edje_test_text_wrap) efl_text_wrap_set(efl_part(layout, "text"), EFL_TEXT_FORMAT_WRAP_WORD); } -END_TEST +EFL_END_TEST -START_TEST(edje_test_text_font) +EFL_START_TEST(edje_test_text_font) { Eo *evas; Eo *layout; @@ -165,9 +206,9 @@ START_TEST(edje_test_text_font) efl_text_font_size_set(efl_part(layout, "text"), 14); } -END_TEST +EFL_END_TEST -START_TEST(edje_test_text_color) +EFL_START_TEST(edje_test_text_color) { Eo *evas; Eo *layout; @@ -183,7 +224,7 @@ START_TEST(edje_test_text_color) efl_text_color_set(efl_part(layout, "text"), 255, 255, 255, 255); } -END_TEST +EFL_END_TEST static void _basic_check(Eo *layout, Eina_Bool set) @@ -201,7 +242,7 @@ _basic_check(Eo *layout, Eina_Bool set) 255, 255, 255, 255); efl_text_glow_color_set(efl_part(layout, "text"), 255, 255, 255, 255); - efl_text_glow2_color_set(efl_part(layout, "text"), + efl_text_secondary_glow_color_set(efl_part(layout, "text"), 255, 255, 255, 255); efl_text_outline_color_set(efl_part(layout, "text"), 255, 255, 255, 255); @@ -211,7 +252,7 @@ _basic_check(Eo *layout, Eina_Bool set) 255, 255, 255, 255); efl_text_underline_color_set(efl_part(layout, "text"), 255, 255, 255, 255); - efl_text_underline2_color_set(efl_part(layout, "text"), + efl_text_secondary_underline_color_set(efl_part(layout, "text"), 255, 255, 255, 255); efl_text_underline_dashed_color_set(efl_part(layout, "text"), 255, 255, 255, 255); @@ -235,7 +276,7 @@ _basic_check(Eo *layout, Eina_Bool set) ck_assert_int_eq(b, 255); ck_assert_int_eq(a, 255); - efl_text_glow2_color_get(efl_part(layout, "text"), &r, &g, &b, &a); + efl_text_secondary_glow_color_get(efl_part(layout, "text"), &r, &g, &b, &a); ck_assert_int_eq(r, 255); ck_assert_int_eq(g, 255); ck_assert_int_eq(b, 255); @@ -265,7 +306,7 @@ _basic_check(Eo *layout, Eina_Bool set) ck_assert_int_eq(b, 255); ck_assert_int_eq(a, 255); - efl_text_underline2_color_get(efl_part(layout, "text"), &r, &g, &b, &a); + efl_text_secondary_underline_color_get(efl_part(layout, "text"), &r, &g, &b, &a); ck_assert_int_eq(r, 255); ck_assert_int_eq(g, 255); ck_assert_int_eq(b, 255); @@ -306,7 +347,7 @@ _basic_check(Eo *layout, Eina_Bool set) } } -START_TEST(edje_test_text_part) +EFL_START_TEST(edje_test_text_part) { Eo *evas; Eo *layout; @@ -328,7 +369,7 @@ START_TEST(edje_test_text_part) _basic_check(layout, EINA_FALSE); } -END_TEST +EFL_END_TEST void edje_test_text(TCase *tc) { diff --git a/src/tests/eet/eet_test_cache.c b/src/tests/eet/eet_test_cache.c index 6dee39142c..36acb414db 100644 --- a/src/tests/eet/eet_test_cache.c +++ b/src/tests/eet/eet_test_cache.c @@ -3,7 +3,11 @@ #endif #include <stdlib.h> -#include <unistd.h> +#ifdef _WIN32 +# include <io.h> /* close(), unlink() */ +#else +# include <unistd.h> /* close(), unlink() */ +#endif #include <Eina.h> #include <Eet.h> @@ -46,33 +50,33 @@ _open_close_worker(void *path, Eina_Thread tid EINA_UNUSED) EFL_START_TEST(eet_test_cache_concurrency) { - char *file; const char *buffer = "test data"; Eet_File *ef; void *thread_ret; unsigned int n; Eina_Thread thread; + Eina_Tmpstr *tmpfile = NULL; Eina_Bool r; int tmpfd; - file = strdup("/tmp/eet_suite_testXXXXXX"); - eina_threads_init(); eina_lock_new(&open_worker_mutex); eina_condition_new(&open_worker_cond, &open_worker_mutex); /* create a file to test with */ - fail_if(-1 == (tmpfd = mkstemp(file))); + /* tmpfile will be created in temporary directory (with eina_environment_tmp) */ + tmpfd = eina_file_mkstemp("eet_suite_testXXXXXX", &tmpfile); + fail_if(-1 == tmpfd); fail_if(!!close(tmpfd)); - ef = eet_open(file, EET_FILE_MODE_WRITE); + ef = eet_open(tmpfile, EET_FILE_MODE_WRITE); fail_if(!ef); fail_if(!eet_write(ef, "keys/tests", buffer, strlen(buffer) + 1, 0)); eina_lock_take(&open_worker_mutex); /* start a thread that repeatedly opens and closes a file */ open_worker_stop = 0; - r = eina_thread_create(&thread, EINA_THREAD_NORMAL, -1, _open_close_worker, file); + r = eina_thread_create(&thread, EINA_THREAD_NORMAL, -1, _open_close_worker, tmpfile); fail_unless(r); eina_condition_wait(&open_worker_cond); @@ -91,9 +95,10 @@ EFL_START_TEST(eet_test_cache_concurrency) eet_close(ef); - fail_if(unlink(file) != 0); + fail_if(unlink(tmpfile) != 0); eina_threads_shutdown(); + eina_tmpstr_del(tmpfile); } EFL_END_TEST diff --git a/src/tests/eet/eet_test_cipher.c b/src/tests/eet/eet_test_cipher.c index c06c505b4c..09c09f2d64 100644 --- a/src/tests/eet/eet_test_cipher.c +++ b/src/tests/eet/eet_test_cipher.c @@ -19,15 +19,15 @@ EFL_START_TEST(eet_test_cipher_decipher_simple) const char *key_bad = "This is another crypto key"; Eet_File *ef; char *test; - char *file = strdup("/tmp/eet_suite_testXXXXXX"); + Eina_Tmpstr *tmpf = NULL; int size; int tmpfd; - fail_if(-1 == (tmpfd = mkstemp(file))); + fail_if(-1 == (tmpfd = eina_file_mkstemp("eet_suite_testXXXXXX", &tmpf))); fail_if(!!close(tmpfd)); /* Crypt an eet file. */ - ef = eet_open(file, EET_FILE_MODE_WRITE); + ef = eet_open(tmpf, EET_FILE_MODE_WRITE); fail_if(!ef); fail_if(!eet_write_cipher(ef, "keys/tests", buffer, strlen(buffer) + 1, 0, @@ -36,7 +36,7 @@ EFL_START_TEST(eet_test_cipher_decipher_simple) eet_close(ef); /* Decrypt an eet file. */ - ef = eet_open(file, EET_FILE_MODE_READ); + ef = eet_open(tmpf, EET_FILE_MODE_READ); fail_if(!ef); test = eet_read_cipher(ef, "keys/tests", &size, key); @@ -48,7 +48,7 @@ EFL_START_TEST(eet_test_cipher_decipher_simple) eet_close(ef); /* Decrypt an eet file. */ - ef = eet_open(file, EET_FILE_MODE_READ); + ef = eet_open(tmpf, EET_FILE_MODE_READ); fail_if(!ef); test = eet_read_cipher(ef, "keys/tests", &size, key_bad); @@ -58,7 +58,9 @@ EFL_START_TEST(eet_test_cipher_decipher_simple) eet_close(ef); - fail_if(unlink(file) != 0); + fail_if(unlink(tmpf) != 0); + + eina_tmpstr_del(tmpf); } EFL_END_TEST diff --git a/src/tests/eet/eet_test_common.c b/src/tests/eet/eet_test_common.c index b9011c7be9..a9a510f0e9 100644 --- a/src/tests/eet/eet_test_common.c +++ b/src/tests/eet/eet_test_common.c @@ -549,22 +549,22 @@ eet_test_ex_check(Eet_Test_Ex_Type *stuff, if (tmp > 0.00005) return 1; - if (stuff->f2 != -(EET_TEST_FLOAT2 + offset)) + if (!EINA_FLT_EQ(stuff->f2, -(EET_TEST_FLOAT2 + offset))) return 1; - if (stuff->d2 != -(EET_TEST_DOUBLE2 + offset)) + if (!EINA_DBL_EQ(stuff->d2, -(EET_TEST_DOUBLE2 + offset))) return 1; - if (stuff->f3 != EET_TEST_FLOAT3 + offset) + if (!EINA_FLT_EQ(stuff->f3, EET_TEST_FLOAT3 + offset)) return 1; - if (stuff->d3 != EET_TEST_DOUBLE3 + offset) + if (!EINA_DBL_EQ(stuff->d3, EET_TEST_DOUBLE3 + offset)) return 1; - if (stuff->f4 != EET_TEST_FLOAT2 + offset) + if (!EINA_FLT_EQ(stuff->f4, EET_TEST_FLOAT2 + offset)) return 1; - if (stuff->d4 != EET_TEST_DOUBLE2 + offset) + if (!EINA_DBL_EQ(stuff->d4, EET_TEST_DOUBLE2 + offset)) return 1; if (stuff->uc != EET_TEST_CHAR + offset) diff --git a/src/tests/eet/eet_test_data.c b/src/tests/eet/eet_test_data.c index ae5d013fcc..244d71373f 100644 --- a/src/tests/eet/eet_test_data.c +++ b/src/tests/eet/eet_test_data.c @@ -544,11 +544,11 @@ EFL_START_TEST(eet_test_data_fp) fail_if(build->f1 != eina_f32p32_int_from(1)); fail_if(build->f0 != 0); - fail_if(convert->fp32 != 1.125); - fail_if(convert->fp16 != 2000); - fail_if(convert->fp8 != 125); - fail_if(convert->f1 != 1); - fail_if(convert->f0 != 0); + fail_if(!EINA_DBL_EQ(convert->fp32, 1.125)); + fail_if(!EINA_DBL_EQ(convert->fp16, 2000)); + fail_if(!EINA_DBL_EQ(convert->fp8, 125)); + fail_if(!EINA_DBL_EQ(convert->f1, 1)); + fail_if(!EINA_DBL_EQ(convert->f0, 0)); } EFL_END_TEST @@ -774,7 +774,7 @@ EFL_START_TEST(eet_test_data_hash_value) val = (Eina_Value *)eina_hash_find(h->hash, "val/double"); eina_value_get(val, &d); - fail_if((!val) || (d != EET_TEST_DOUBLE)); + fail_if((!val) || (!EINA_DBL_EQ(d, EET_TEST_DOUBLE))); val = (Eina_Value *)eina_hash_find(h->hash, "val/string"); eina_value_get(val, &s); diff --git a/src/tests/eet/eet_test_file.c b/src/tests/eet/eet_test_file.c index 6d77a7d817..23233d7757 100644 --- a/src/tests/eet/eet_test_file.c +++ b/src/tests/eet/eet_test_file.c @@ -19,19 +19,17 @@ EFL_START_TEST(eet_test_file_simple_write) Eet_Entry *entry; Eet_File *ef; char *test; - char *file; void *m; int size; int tmpfd; + Eina_Tmpstr *tmpf = NULL; - file = strdup("/tmp/eet_suite_testXXXXXX"); - - fail_if(-1 == (tmpfd = mkstemp(file))); + fail_if(-1 == (tmpfd = eina_file_mkstemp("eet_suite_testXXXXXX", &tmpf))); fail_if(!!close(tmpfd)); fail_if(eet_mode_get(NULL) != EET_FILE_MODE_INVALID); - ef = eet_open(file, EET_FILE_MODE_WRITE); + ef = eet_open(tmpf, EET_FILE_MODE_WRITE); fail_if(!ef); fail_if(!eet_write(ef, "keys/tests", buffer, strlen(buffer) + 1, 1)); @@ -46,7 +44,7 @@ EFL_START_TEST(eet_test_file_simple_write) eet_close(ef); /* Test read from buffer */ - f = eina_file_open(file, EINA_FALSE); + f = eina_file_open(tmpf, EINA_FALSE); fail_if(!f); m = eina_file_map_all(f, EINA_FILE_WILLNEED); @@ -83,7 +81,7 @@ EFL_START_TEST(eet_test_file_simple_write) eina_file_close(f); /* Test read of simple file */ - ef = eet_open(file, EET_FILE_MODE_READ); + ef = eet_open(tmpf, EET_FILE_MODE_READ); fail_if(!ef); test = eet_read(ef, "keys/tests", &size); @@ -105,7 +103,7 @@ EFL_START_TEST(eet_test_file_simple_write) eet_close(ef); /* Test eet cache system */ - ef = eet_open(file, EET_FILE_MODE_READ); + ef = eet_open(tmpf, EET_FILE_MODE_READ); fail_if(!ef); test = eet_read(ef, "keys/tests", &size); @@ -116,8 +114,9 @@ EFL_START_TEST(eet_test_file_simple_write) eet_close(ef); - fail_if(unlink(file) != 0); + fail_if(unlink(tmpf) != 0); + eina_tmpstr_del(tmpf); } EFL_END_TEST @@ -128,14 +127,12 @@ EFL_START_TEST(eet_test_file_data) Eet_Dictionary *ed; Eet_File *ef; char **list; - char *file; Eet_Data_Descriptor_Class eddc; Eet_Test_Ex_Type etbt; int size; int test; int tmpfd; - - file = strdup("/tmp/eet_suite_testXXXXXX"); + Eina_Tmpstr *tmpf = NULL; eet_test_ex_set(&etbt, 0); etbt.list = eina_list_prepend(etbt.list, eet_test_ex_set(NULL, 1)); @@ -165,14 +162,14 @@ EFL_START_TEST(eet_test_file_data) eet_build_ex_descriptor(edd, EINA_FALSE); - fail_if(-1 == (tmpfd = mkstemp(file))); + fail_if(-1 == (tmpfd = eina_file_mkstemp("eet_suite_testXXXXXX", &tmpf))); fail_if(!!close(tmpfd)); /* Insert an error in etbt. */ etbt.i = 0; /* Save the encoded data in a file. */ - ef = eet_open(file, EET_FILE_MODE_READ_WRITE); + ef = eet_open(tmpf, EET_FILE_MODE_READ_WRITE); fail_if(!ef); fail_if(!eet_data_write(ef, edd, EET_TEST_FILE_KEY1, &etbt, 0)); @@ -193,7 +190,7 @@ EFL_START_TEST(eet_test_file_data) /* Attempt to replace etbt by the correct one. */ etbt.i = EET_TEST_INT; - ef = eet_open(file, EET_FILE_MODE_READ_WRITE); + ef = eet_open(tmpf, EET_FILE_MODE_READ_WRITE); fail_if(!ef); fail_if(!eet_data_write(ef, edd, EET_TEST_FILE_KEY1, &etbt, 0)); @@ -207,7 +204,7 @@ EFL_START_TEST(eet_test_file_data) eet_close(ef); /* Read back the data. */ - ef = eet_open(file, EET_FILE_MODE_READ_WRITE); + ef = eet_open(tmpf, EET_FILE_MODE_READ_WRITE); fail_if(!ef); fail_if(!eet_data_write(ef, edd, EET_TEST_FILE_KEY2, &etbt, 0)); @@ -273,8 +270,9 @@ EFL_START_TEST(eet_test_file_data) eet_close(ef); - fail_if(unlink(file) != 0); + fail_if(unlink(tmpf) != 0); + eina_tmpstr_del(tmpf); } EFL_END_TEST @@ -286,11 +284,9 @@ EFL_START_TEST(eet_test_file_data_dump) Eet_Test_Ex_Type etbt; Eet_File *ef; char *string1; - char *file; int test; int tmpfd; - - file = strdup("/tmp/eet_suite_testXXXXXX"); + Eina_Tmpstr *tmpf = NULL; eet_test_ex_set(&etbt, 0); etbt.list = eina_list_prepend(etbt.list, eet_test_ex_set(NULL, 1)); @@ -318,11 +314,11 @@ EFL_START_TEST(eet_test_file_data_dump) eet_build_ex_descriptor(edd, EINA_FALSE); - fail_if(-1 == (tmpfd = mkstemp(file))); + fail_if(-1 == (tmpfd = eina_file_mkstemp("eet_suite_testXXXXXX", &tmpf))); fail_if(!!close(tmpfd)); /* Save the encoded data in a file. */ - ef = eet_open(file, EET_FILE_MODE_WRITE); + ef = eet_open(tmpf, EET_FILE_MODE_WRITE); fail_if(!ef); fail_if(!eet_data_write(ef, edd, EET_TEST_FILE_KEY1, &etbt, 0)); @@ -330,7 +326,7 @@ EFL_START_TEST(eet_test_file_data_dump) eet_close(ef); /* Use dump/undump in the middle */ - ef = eet_open(file, EET_FILE_MODE_READ_WRITE); + ef = eet_open(tmpf, EET_FILE_MODE_READ_WRITE); fail_if(!ef); string1 = NULL; @@ -341,7 +337,7 @@ EFL_START_TEST(eet_test_file_data_dump) eet_close(ef); /* Test the correctness of the reinsertion. */ - ef = eet_open(file, EET_FILE_MODE_READ); + ef = eet_open(tmpf, EET_FILE_MODE_READ); fail_if(!ef); result = eet_data_read(ef, edd, EET_TEST_FILE_KEY1); @@ -372,14 +368,14 @@ EFL_START_TEST(eet_test_file_data_dump) fail_if(test != 0); - fail_if(unlink(file) != 0); + fail_if(unlink(tmpf) != 0); + eina_tmpstr_del(tmpf); } EFL_END_TEST EFL_START_TEST(eet_test_file_fp) { - char *file; Eet_Data_Descriptor_Class eddc; Eet_Data_Descriptor *edd_5FP; Eet_Data_Descriptor *edd_5DBL; @@ -388,8 +384,7 @@ EFL_START_TEST(eet_test_file_fp) Eet_5DBL *convert; Eet_5FP *build; int tmpfd; - - file = strdup("/tmp/eet_suite_testXXXXXX"); + Eina_Tmpstr *tmpf = NULL; EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Eet_5FP); edd_5FP = eet_data_descriptor_file_new(&eddc); @@ -415,10 +410,10 @@ EFL_START_TEST(eet_test_file_fp) origin.f1 = eina_f32p32_int_from(1); origin.f0 = 0; - fail_if(-1 == (tmpfd = mkstemp(file))); + fail_if(-1 == (tmpfd = eina_file_mkstemp("eet_suite_testXXXXXX", &tmpf))); fail_if(!!close(tmpfd)); - ef = eet_open(file, EET_FILE_MODE_READ_WRITE); + ef = eet_open(tmpf, EET_FILE_MODE_READ_WRITE); fail_if(!ef); fail_if(!eet_data_write(ef, edd_5FP, EET_TEST_FILE_KEY1, &origin, 1)); @@ -435,16 +430,17 @@ EFL_START_TEST(eet_test_file_fp) fail_if(build->f1 != eina_f32p32_int_from(1)); fail_if(build->f0 != 0); - fail_if(convert->fp32 != 1.125); - fail_if(convert->fp16 != 2000); - fail_if(convert->fp8 != 125); - fail_if(convert->f1 != 1); - fail_if(convert->f0 != 0); + fail_if(!EINA_DBL_EQ(convert->fp32, 1.125)); + fail_if(!EINA_DBL_EQ(convert->fp16, 2000)); + fail_if(!EINA_DBL_EQ(convert->fp8, 125)); + fail_if(!EINA_DBL_EQ(convert->f1, 1)); + fail_if(!EINA_DBL_EQ(convert->f0, 0)); eet_close(ef); - fail_if(unlink(file) != 0); + fail_if(unlink(tmpf) != 0); + eina_tmpstr_del(tmpf); } EFL_END_TEST diff --git a/src/tests/eet/eet_test_identity.c b/src/tests/eet/eet_test_identity.c index b22d537021..4c54b7bcd4 100644 --- a/src/tests/eet/eet_test_identity.c +++ b/src/tests/eet/eet_test_identity.c @@ -60,18 +60,16 @@ EFL_START_TEST(eet_test_identity_simple) Eet_Key *k; FILE *noread; char *test; - char *file; int size; int fd; + Eina_Tmpstr *tmpf = NULL; - file = strdup("/tmp/eet_suite_testXXXXXX"); - - fail_if(-1 == (fd = mkstemp(file))); + fail_if(-1 == (fd = eina_file_mkstemp("eet_suite_testXXXXXX", &tmpf))); fail_if(!!close(fd)); fail_if(!(noread = fopen("/dev/null", "wb"))); /* Sign an eet file. */ - ef = eet_open(file, EET_FILE_MODE_WRITE); + ef = eet_open(tmpf, EET_FILE_MODE_WRITE); fail_if(!ef); fail_if(!eet_write(ef, "keys/tests", buffer, strlen(buffer) + 1, 0)); @@ -85,7 +83,7 @@ EFL_START_TEST(eet_test_identity_simple) eet_close(ef); /* Open a signed file. */ - ef = eet_open(file, EET_FILE_MODE_READ); + ef = eet_open(tmpf, EET_FILE_MODE_READ); fail_if(!ef); /* check that the certificates match */ @@ -109,7 +107,7 @@ EFL_START_TEST(eet_test_identity_simple) eet_clearcache(); /* Corrupting the file. */ - fd = open(file, O_WRONLY | O_BINARY); + fd = open(tmpf, O_WRONLY | O_BINARY); fail_if(fd < 0); fail_if(lseek(fd, 200, SEEK_SET) != 200); @@ -122,11 +120,12 @@ EFL_START_TEST(eet_test_identity_simple) close(fd); /* Attempt to open a modified file. */ - ef = eet_open(file, EET_FILE_MODE_READ); + ef = eet_open(tmpf, EET_FILE_MODE_READ); fail_if(ef); - fail_if(unlink(file) != 0); + fail_if(unlink(tmpf) != 0); + eina_tmpstr_del(tmpf); } EFL_END_TEST diff --git a/src/tests/eet/eet_test_image.c b/src/tests/eet/eet_test_image.c index 5e35e67e54..585f39d86b 100644 --- a/src/tests/eet/eet_test_image.c +++ b/src/tests/eet/eet_test_image.c @@ -72,7 +72,6 @@ static const Eet_Test_Image test_alpha = { EFL_START_TEST(eet_test_image_normal) { Eet_File *ef; - char *file; unsigned int *data; int compress; int quality; @@ -82,14 +81,13 @@ EFL_START_TEST(eet_test_image_normal) unsigned int w; unsigned int h; int tmpfd; + Eina_Tmpstr *tmpf = NULL; - file = strdup("/tmp/eet_suite_testXXXXXX"); - - fail_if(-1 == (tmpfd = mkstemp(file))); + fail_if(-1 == (tmpfd = eina_file_mkstemp("eet_suite_testXXXXXX", &tmpf))); fail_if(!!close(tmpfd)); /* Save the encoded data in a file. */ - ef = eet_open(file, EET_FILE_MODE_READ_WRITE); + ef = eet_open(tmpf, EET_FILE_MODE_READ_WRITE); fail_if(!ef); result = eet_data_image_write(ef, @@ -219,7 +217,7 @@ EFL_START_TEST(eet_test_image_normal) eet_close(ef); /* Test read of image */ - ef = eet_open(file, EET_FILE_MODE_READ); + ef = eet_open(tmpf, EET_FILE_MODE_READ); fail_if(!ef); result = eet_data_image_header_read(ef, @@ -424,14 +422,14 @@ EFL_START_TEST(eet_test_image_normal) eet_close(ef); - fail_if(unlink(file) != 0); + fail_if(unlink(tmpf) != 0); + eina_tmpstr_del(tmpf); } EFL_END_TEST EFL_START_TEST(eet_test_image_small) { - char *file; unsigned int image[4]; unsigned int *data; Eet_File *ef; @@ -443,18 +441,17 @@ EFL_START_TEST(eet_test_image_small) Eet_Image_Encoding lossy; int result; int tmpfd; - - file = strdup("/tmp/eet_suite_testXXXXXX"); + Eina_Tmpstr *tmpf = NULL; image[0] = IM0; image[1] = IM1; image[2] = IM2; image[3] = IM3; - fail_if(-1 == (tmpfd = mkstemp(file))); + fail_if(-1 == (tmpfd = eina_file_mkstemp("/tmp/eet_suite_testXXXXXX", &tmpf))); fail_if(!!close(tmpfd)); - ef = eet_open(file, EET_FILE_MODE_WRITE); + ef = eet_open(tmpf, EET_FILE_MODE_WRITE); fail_if(!ef); result = eet_data_image_write(ef, "/images/test", image, 2, 2, 1, 9, 100, 0); @@ -462,7 +459,7 @@ EFL_START_TEST(eet_test_image_small) eet_close(ef); - ef = eet_open(file, EET_FILE_MODE_READ); + ef = eet_open(tmpf, EET_FILE_MODE_READ); fail_if(!ef); data = (unsigned int *)eet_data_image_read(ef, @@ -477,7 +474,7 @@ EFL_START_TEST(eet_test_image_small) eet_close(ef); - fail_if(unlink(file) != 0); + fail_if(unlink(tmpf) != 0); fail_if(data[0] != IM0); fail_if(data[1] != IM1); @@ -486,6 +483,7 @@ EFL_START_TEST(eet_test_image_small) free(data); + eina_tmpstr_del(tmpf); } EFL_END_TEST diff --git a/src/tests/efl/efl_test_composite_model.c b/src/tests/efl/efl_test_composite_model.c index 8d05b6d447..b2e0fa630b 100644 --- a/src/tests/efl/efl_test_composite_model.c +++ b/src/tests/efl/efl_test_composite_model.c @@ -43,8 +43,7 @@ _children_slice_get_then(Eo *o EINA_UNUSED, Efl_Model *child; Eina_Future **all; - all = calloc(1, sizeof (Eina_Future *) * (eina_value_array_count(&v) + 1)); - if (!all) return eina_value_error_init(ENOMEM); + all = alloca(sizeof (Eina_Future *) * (eina_value_array_count(&v) + 1)); EINA_VALUE_ARRAY_FOREACH(&v, len, i, child) { @@ -154,6 +153,25 @@ _assert_on_error(Eo *o EINA_UNUSED, void *data EINA_UNUSED, Eina_Error error) return eina_value_error_init(error); } +static unsigned int request[3] = { 3, 1, 5 }; + +static Eina_Value +_children_random_index(Eo *model EINA_UNUSED, void *data EINA_UNUSED, const Eina_Value v) +{ + unsigned int i, len; + Efl_Model *child; + + EINA_VALUE_ARRAY_FOREACH(&v, len, i, child) + { + unsigned int index; + + index = efl_composite_model_index_get(child); + ck_assert_int_eq(index, request[i]); + } + + return v; +} + EFL_START_TEST(efl_test_boolean_model) { Efl_Generic_Model *base_model, *child; @@ -198,6 +216,14 @@ EFL_START_TEST(efl_test_boolean_model) future = efl_future_then(model, future, .error = _assert_on_error, .free = _cleanup); ecore_main_loop_begin(); + + future = efl_model_children_index_get(model, EINA_C_ARRAY_ITERATOR_NEW(request)); + future = efl_future_then(model, future, + .success = _children_random_index, + .success_type = EINA_VALUE_TYPE_ARRAY); + future = efl_future_then(model, future, .error = _assert_on_error, .free = _cleanup); + + ecore_main_loop_begin(); } EFL_END_TEST diff --git a/src/tests/efl_check.h b/src/tests/efl_check.h index abb114e005..20d2203075 100644 --- a/src/tests/efl_check.h +++ b/src/tests/efl_check.h @@ -45,6 +45,11 @@ # endif #endif +/* Uncomment this line to print a warning line to stdout for every expected error received. + Otherwise, expected errors are just silently ignored, greatly reducing the log size. +*/ +//#define PRINT_EXPECTED_ERROR + #define DISABLE_ABORT_ON_CRITICAL_START \ do { \ int ___val = eina_log_abort_on_critical_get(); \ @@ -64,6 +69,7 @@ #define EXPECT_ERROR_END \ + eina_log_print_cb_set(NULL, NULL); \ ck_assert_int_eq(expect_error_start, EINA_TRUE); \ DISABLE_ABORT_ON_CRITICAL_END; \ } while(0) @@ -84,8 +90,11 @@ _efl_test_expect_error(const Eina_Log_Domain *d EINA_UNUSED, Eina_Log_Level leve { Eina_Bool *error = (Eina_Bool*) data; if (level == EINA_LOG_LEVEL_ERR) *error = EINA_TRUE; - +#ifdef PRINT_EXPECTED_ERROR printf("EXPECTED ERROR %s\n", fnc); +#else + (void)fnc; +#endif } static void @@ -122,7 +131,7 @@ _efl_test_option_disp(int argc, char **argv, const Efl_Test_Case *etc) } else if (strcmp(argv[i], "--valgrind") == 0) { - const char *nav[argc + 3]; + const char ** nav = (const char **) alloca(sizeof(char*) * (argc + 3)); int j, k; nav[0] = "valgrind"; diff --git a/src/tests/efl_js/benchmark_object.eo b/src/tests/efl_js/benchmark_object.eo index 65b65665e2..eea958c932 100644 --- a/src/tests/efl_js/benchmark_object.eo +++ b/src/tests/efl_js/benchmark_object.eo @@ -1,5 +1,6 @@ -class Benchmark_Object extends Efl.Object -{ +class Benchmark_Object extends Efl.Object { + [[Docs for class Benchmark_Object. @since 1.66]] + data: null; methods { emptyarg { diff --git a/src/tests/efl_mono/Eina.cs b/src/tests/efl_mono/Eina.cs index 91e93986ff..494dc8a62e 100644 --- a/src/tests/efl_mono/Eina.cs +++ b/src/tests/efl_mono/Eina.cs @@ -19,6 +19,7 @@ using System.Linq; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; +using Eina; using EinaTestData; using static EinaTestData.BaseData; @@ -575,10 +576,10 @@ class TestEinaArray var a = new Eina.Array<Dummy.Numberwrapper>(); Test.Assert(a.Handle != IntPtr.Zero); var o = new Dummy.Numberwrapper(); - o.SetNumber(88); + o.Number = 88; Test.Assert(a.Push(o)); Test.Assert(a[0].NativeHandle == o.NativeHandle); - Test.Assert(a[0].GetNumber() == 88); + Test.Assert(a[0].Number == 88); o.Dispose(); a.Dispose(); } @@ -618,11 +619,11 @@ class TestEinaArray var a = new Eina.Array<Dummy.Numberwrapper>(); Test.Assert(a.Handle != IntPtr.Zero); var o = new Dummy.Numberwrapper(); - o.SetNumber(88); + o.Number = 88; Test.Assert(a.Push(o)); var p = a.Pop(); Test.Assert(p.NativeHandle == o.NativeHandle); - Test.Assert(p.GetNumber() == 88); + Test.Assert(p.Number == 88); Test.Assert(a.Count() == 0); o.Dispose(); a.Dispose(); @@ -673,25 +674,25 @@ class TestEinaArray Test.Assert(a.Handle != IntPtr.Zero); var o1 = new Dummy.Numberwrapper(); - o1.SetNumber(88); + o1.Number = 88; Test.Assert(a.Push(o1)); Test.Assert(a[0].NativeHandle == o1.NativeHandle); - Test.Assert(a[0].GetNumber() == 88); + Test.Assert(a[0].Number == 88); var o2 = new Dummy.Numberwrapper(); - o2.SetNumber(44); + o2.Number = 44; a.DataSet(0, o2); Test.Assert(a[0].NativeHandle == o2.NativeHandle); - Test.Assert(a[0].GetNumber() == 44); + Test.Assert(a[0].Number == 44); var o3 = new Dummy.Numberwrapper(); - o3.SetNumber(22); + o3.Number = 22; a[0] = o3; Test.Assert(a[0].NativeHandle == o3.NativeHandle); - Test.Assert(a[0].GetNumber() == 22); + Test.Assert(a[0].Number == 22); o3.Dispose(); o2.Dispose(); o1.Dispose(); @@ -757,24 +758,24 @@ class TestEinaArray Test.Assert(a.Count() == 0); var o1 = new Dummy.Numberwrapper(); - o1.SetNumber(88); + o1.Number = 88; Test.Assert(a.Push(o1)); Test.Assert(a[0].NativeHandle == o1.NativeHandle); - Test.Assert(a[0].GetNumber() == 88); + Test.Assert(a[0].Number == 88); Test.Assert(a.Count() == 1); var o2 = new Dummy.Numberwrapper(); - o2.SetNumber(44); + o2.Number = 44; Test.Assert(a.Push(o2)); Test.Assert(a[1].NativeHandle == o2.NativeHandle); - Test.Assert(a[1].GetNumber() == 44); + Test.Assert(a[1].Number == 44); Test.Assert(a.Count() == 2); var o3 = new Dummy.Numberwrapper(); - o3.SetNumber(22); + o3.Number = 22; Test.Assert(a.Push(o3)); Test.Assert(a[2].NativeHandle == o3.NativeHandle); - Test.Assert(a[2].GetNumber() == 22); + Test.Assert(a[2].Number == 22); Test.Assert(a.Count() == 3); o3.Dispose(); @@ -890,9 +891,9 @@ class TestEinaArray var a = new Dummy.Numberwrapper(); var b = new Dummy.Numberwrapper(); var c = new Dummy.Numberwrapper(); - a.SetNumber(88); - b.SetNumber(44); - c.SetNumber(22); + a.Number = 88; + b.Number = 44; + c.Number = 22; var cmp = new Dummy.Numberwrapper[]{a, b, c}; var arr = new Eina.Array<Dummy.Numberwrapper>(); @@ -904,7 +905,7 @@ class TestEinaArray int i = 0; foreach (Dummy.Numberwrapper e in arr) { - Test.AssertEquals(cmp[i].GetNumber(), e.GetNumber()); + Test.AssertEquals(cmp[i].Number, e.Number); Test.Assert(cmp[i].NativeHandle == e.NativeHandle); ++i; } @@ -936,7 +937,7 @@ class TestEinaArray var arr = new Eina.Array<int>(); arr.Append(base_seq_int); Test.Assert(t.EinaArrayIntInOwn(arr)); - Test.Assert(!arr.Own); + Test.Assert(arr.Own); Test.Assert(arr.ToArray().SequenceEqual(modified_seq_int)); arr.Dispose(); Test.Assert(arr.Handle == IntPtr.Zero); @@ -947,13 +948,10 @@ class TestEinaArray public static void test_eina_array_int_out() { var t = new Dummy.TestObject(); - Eina.Array<int> arr; + IList<int> arr; Test.Assert(t.EinaArrayIntOut(out arr)); - Test.Assert(!arr.Own); Test.Assert(arr.ToArray().SequenceEqual(base_seq_int)); - Test.AssertRaises<NotSupportedException>(() => arr.Append(append_seq_int)); - arr.Dispose(); - Test.Assert(arr.Handle == IntPtr.Zero); + Test.Assert(arr.Concat(append_seq_int) != null); Test.Assert(t.CheckEinaArrayIntOut()); t.Dispose(); } @@ -961,13 +959,10 @@ class TestEinaArray public static void test_eina_array_int_out_own() { var t = new Dummy.TestObject(); - Eina.Array<int> arr; + IList<int> arr; Test.Assert(t.EinaArrayIntOutOwn(out arr)); - Test.Assert(arr.Own); Test.Assert(arr.ToArray().SequenceEqual(base_seq_int)); - Test.Assert(arr.Append(append_seq_int)); - arr.Dispose(); - Test.Assert(arr.Handle == IntPtr.Zero); + Test.Assert(arr.Concat(append_seq_int) != null); t.Dispose(); } @@ -975,12 +970,8 @@ class TestEinaArray { var t = new Dummy.TestObject(); var arr = t.EinaArrayIntReturn(); - Test.Assert(!arr.Own); - Test.Assert(!arr.OwnContent); Test.Assert(arr.ToArray().SequenceEqual(base_seq_int)); - Test.AssertRaises<NotSupportedException>(() => arr.Append(append_seq_int)); - arr.Dispose(); - Test.Assert(arr.Handle == IntPtr.Zero); + Test.Assert(arr.Concat(append_seq_int) != null); Test.Assert(t.CheckEinaArrayIntReturn()); t.Dispose(); } @@ -989,11 +980,8 @@ class TestEinaArray { var t = new Dummy.TestObject(); var arr = t.EinaArrayIntReturnOwn(); - Test.Assert(arr.Own); Test.Assert(arr.ToArray().SequenceEqual(base_seq_int)); - Test.Assert(arr.Append(append_seq_int)); - arr.Dispose(); - Test.Assert(arr.Handle == IntPtr.Zero); + Test.Assert(arr.Concat(append_seq_int) != null); t.Dispose(); } @@ -1017,7 +1005,7 @@ class TestEinaArray var arr = new Eina.Array<string>(); arr.Append(base_seq_str); Test.Assert(t.EinaArrayStrInOwn(arr)); - Test.Assert(!arr.Own); + Test.Assert(arr.Own); Test.Assert(arr.ToArray().SequenceEqual(modified_seq_str)); arr.Dispose(); Test.Assert(arr.Handle == IntPtr.Zero); @@ -1028,13 +1016,10 @@ class TestEinaArray public static void test_eina_array_str_out() { var t = new Dummy.TestObject(); - Eina.Array<string> arr; + IList<string> arr; Test.Assert(t.EinaArrayStrOut(out arr)); - Test.Assert(!arr.Own); Test.Assert(arr.ToArray().SequenceEqual(base_seq_str)); - Test.AssertRaises<NotSupportedException>(() => arr.Append(append_seq_str)); - arr.Dispose(); - Test.Assert(arr.Handle == IntPtr.Zero); + Test.Assert(arr.Concat(append_seq_str) != null); Test.Assert(t.CheckEinaArrayStrOut()); t.Dispose(); } @@ -1042,13 +1027,10 @@ class TestEinaArray public static void test_eina_array_str_out_own() { var t = new Dummy.TestObject(); - Eina.Array<string> arr; + IList<string> arr; Test.Assert(t.EinaArrayStrOutOwn(out arr)); - Test.Assert(arr.Own); Test.Assert(arr.ToArray().SequenceEqual(base_seq_str)); - Test.Assert(arr.Append(append_seq_str)); - arr.Dispose(); - Test.Assert(arr.Handle == IntPtr.Zero); + Test.Assert(arr.Concat(append_seq_str) != null); t.Dispose(); } @@ -1056,11 +1038,8 @@ class TestEinaArray { var t = new Dummy.TestObject(); var arr = t.EinaArrayStrReturn(); - Test.Assert(!arr.Own); Test.Assert(arr.ToArray().SequenceEqual(base_seq_str)); - Test.AssertRaises<NotSupportedException>(() => arr.Append(append_seq_str)); - arr.Dispose(); - Test.Assert(arr.Handle == IntPtr.Zero); + Test.Assert(arr.Concat(append_seq_str) != null); Test.Assert(t.CheckEinaArrayStrReturn()); t.Dispose(); } @@ -1069,11 +1048,8 @@ class TestEinaArray { var t = new Dummy.TestObject(); var arr = t.EinaArrayStrReturnOwn(); - Test.Assert(arr.Own); Test.Assert(arr.ToArray().SequenceEqual(base_seq_str)); - Test.Assert(arr.Append(append_seq_str)); - arr.Dispose(); - Test.Assert(arr.Handle == IntPtr.Zero); + Test.Assert(arr.Concat(append_seq_str) != null); t.Dispose(); } @@ -1097,7 +1073,7 @@ class TestEinaArray var arr = new Eina.Array<Eina.Stringshare>(); arr.Append(base_seq_strshare); Test.Assert(t.EinaArrayStrshareInOwn(arr)); - Test.Assert(!arr.Own); + Test.Assert(arr.Own); Test.Assert(arr.ToArray().SequenceEqual(modified_seq_strshare)); arr.Dispose(); Test.Assert(arr.Handle == IntPtr.Zero); @@ -1108,13 +1084,10 @@ class TestEinaArray public static void test_eina_array_strshare_out() { var t = new Dummy.TestObject(); - Eina.Array<Eina.Stringshare> arr; + IList<Eina.Stringshare> arr; Test.Assert(t.EinaArrayStrshareOut(out arr)); - Test.Assert(!arr.Own); Test.Assert(arr.ToArray().SequenceEqual(base_seq_strshare)); - Test.AssertRaises<NotSupportedException>(() => arr.Append(append_seq_strshare)); - arr.Dispose(); - Test.Assert(arr.Handle == IntPtr.Zero); + Test.Assert(arr.Concat(append_seq_strshare) != null); Test.Assert(t.CheckEinaArrayStrshareOut()); t.Dispose(); } @@ -1122,13 +1095,10 @@ class TestEinaArray public static void test_eina_array_strshare_out_own() { var t = new Dummy.TestObject(); - Eina.Array<Eina.Stringshare> arr; + IList<Eina.Stringshare> arr; Test.Assert(t.EinaArrayStrshareOutOwn(out arr)); - Test.Assert(arr.Own); Test.Assert(arr.ToArray().SequenceEqual(base_seq_strshare)); - Test.Assert(arr.Append(append_seq_strshare)); - arr.Dispose(); - Test.Assert(arr.Handle == IntPtr.Zero); + Test.Assert(arr.Concat(append_seq_strshare) != null); t.Dispose(); } @@ -1136,11 +1106,8 @@ class TestEinaArray { var t = new Dummy.TestObject(); var arr = t.EinaArrayStrshareReturn(); - Test.Assert(!arr.Own); Test.Assert(arr.ToArray().SequenceEqual(base_seq_strshare)); - Test.AssertRaises<NotSupportedException>(() => arr.Append(append_seq_strshare)); - arr.Dispose(); - Test.Assert(arr.Handle == IntPtr.Zero); + Test.Assert(arr.Concat(append_seq_strshare) != null); Test.Assert(t.CheckEinaArrayStrshareReturn()); t.Dispose(); } @@ -1149,11 +1116,8 @@ class TestEinaArray { var t = new Dummy.TestObject(); var arr = t.EinaArrayStrshareReturnOwn(); - Test.Assert(arr.Own); Test.Assert(arr.ToArray().SequenceEqual(base_seq_strshare)); - Test.Assert(arr.Append(append_seq_strshare)); - arr.Dispose(); - Test.Assert(arr.Handle == IntPtr.Zero); + Test.Assert(arr.Concat(append_seq_strshare) != null); t.Dispose(); } @@ -1178,7 +1142,7 @@ class TestEinaArray var arr = new Eina.Array<Dummy.Numberwrapper>(); arr.Append(BaseSeqObj()); Test.Assert(t.EinaArrayObjInOwn(arr)); - Test.Assert(!arr.Own); + Test.Assert(arr.Own); NumberwrapperSequenceAssertEqual(arr.ToArray(), ModifiedSeqObj()); arr.Dispose(); Test.Assert(arr.Handle == IntPtr.Zero); @@ -1189,13 +1153,10 @@ class TestEinaArray public static void test_eina_array_obj_out() { var t = new Dummy.TestObject(); - Eina.Array<Dummy.Numberwrapper> arr; + IList<Dummy.Numberwrapper> arr; Test.Assert(t.EinaArrayObjOut(out arr)); - Test.Assert(!arr.Own); NumberwrapperSequenceAssertEqual(arr.ToArray(), BaseSeqObj()); - Test.AssertRaises<NotSupportedException>(() => arr.Append(AppendSeqObj())); - arr.Dispose(); - Test.Assert(arr.Handle == IntPtr.Zero); + Test.Assert(arr.Concat(AppendSeqObj()) != null); Test.Assert(t.CheckEinaArrayObjOut()); t.Dispose(); } @@ -1203,13 +1164,10 @@ class TestEinaArray public static void test_eina_array_obj_out_own() { var t = new Dummy.TestObject(); - Eina.Array<Dummy.Numberwrapper> arr; + IList<Dummy.Numberwrapper> arr; Test.Assert(t.EinaArrayObjOutOwn(out arr)); - Test.Assert(arr.Own); NumberwrapperSequenceAssertEqual(arr.ToArray(), BaseSeqObj()); - Test.Assert(arr.Append(AppendSeqObj())); - arr.Dispose(); - Test.Assert(arr.Handle == IntPtr.Zero); + Test.Assert(arr.Concat(AppendSeqObj()) != null); t.Dispose(); } @@ -1217,11 +1175,8 @@ class TestEinaArray { var t = new Dummy.TestObject(); var arr = t.EinaArrayObjReturn(); - Test.Assert(!arr.Own); NumberwrapperSequenceAssertEqual(arr.ToArray(), BaseSeqObj()); - Test.AssertRaises<NotSupportedException>(() => arr.Append(AppendSeqObj())); - arr.Dispose(); - Test.Assert(arr.Handle == IntPtr.Zero); + Test.Assert(arr.Concat(AppendSeqObj()) != null); Test.Assert(t.CheckEinaArrayObjReturn()); t.Dispose(); } @@ -1230,11 +1185,8 @@ class TestEinaArray { var t = new Dummy.TestObject(); var arr = t.EinaArrayObjReturnOwn(); - Test.Assert(arr.Own); NumberwrapperSequenceAssertEqual(arr.ToArray(), BaseSeqObj()); - Test.Assert(arr.Append(AppendSeqObj())); - arr.Dispose(); - Test.Assert(arr.Handle == IntPtr.Zero); + Test.Assert(arr.Concat(AppendSeqObj()) != null); t.Dispose(); } @@ -1295,10 +1247,10 @@ class TestEinaInarray var a = new Eina.Inarray<Dummy.Numberwrapper>(); Test.Assert(a.Handle != IntPtr.Zero); var o = new Dummy.Numberwrapper(); - o.SetNumber(88); + o.Number = 88; Test.Assert(a.Push(o) == 0); Test.Assert(a[0].NativeHandle == o.NativeHandle); - Test.Assert(a[0].GetNumber() == 88); + Test.Assert(a[0].Number == 88); o.Dispose(); a.Dispose(); } @@ -1328,11 +1280,11 @@ class TestEinaInarray var a = new Eina.Inarray<Dummy.Numberwrapper>(); Test.Assert(a.Handle != IntPtr.Zero); var o = new Dummy.Numberwrapper(); - o.SetNumber(88); + o.Number = 88; Test.Assert(a.Push(o) >= 0); var p = a.Pop(); Test.Assert(p.NativeHandle == o.NativeHandle); - Test.Assert(p.GetNumber() == 88); + Test.Assert(p.Number == 88); Test.Assert(a.Count() == 0); o.Dispose(); a.Dispose(); @@ -1374,26 +1326,26 @@ class TestEinaInarray Test.Assert(a.Handle != IntPtr.Zero); var o1 = new Dummy.Numberwrapper(); - o1.SetNumber(88); + o1.Number = 88; Test.Assert(a.Push(o1) >= 0); Test.Assert(a[0].NativeHandle == o1.NativeHandle); - Test.Assert(a[0].GetNumber() == 88); + Test.Assert(a[0].Number == 88); var o2 = new Dummy.Numberwrapper(); - o2.SetNumber(44); + o2.Number = 44; a.ReplaceAt(0, o2); Test.Assert(a[0].NativeHandle == o2.NativeHandle); - Test.Assert(a[0].GetNumber() == 44); + Test.Assert(a[0].Number == 44); Test.Assert(a.Count() == 1); var o3 = new Dummy.Numberwrapper(); - o3.SetNumber(22); + o3.Number = 22; a[0] = o3; Test.Assert(a[0].NativeHandle == o3.NativeHandle); - Test.Assert(a[0].GetNumber() == 22); + Test.Assert(a[0].Number == 22); Test.Assert(a.Count() == 1); o3.Dispose(); @@ -1444,24 +1396,24 @@ class TestEinaInarray Test.Assert(a.Count() == 0); var o1 = new Dummy.Numberwrapper(); - o1.SetNumber(88); + o1.Number = 88; Test.Assert(a.Push(o1) == 0); Test.Assert(a[0].NativeHandle == o1.NativeHandle); - Test.Assert(a[0].GetNumber() == 88); + Test.Assert(a[0].Number == 88); Test.Assert(a.Count() == 1); var o2 = new Dummy.Numberwrapper(); - o2.SetNumber(44); + o2.Number = 44; Test.Assert(a.Push(o2) == 1); Test.Assert(a[1].NativeHandle == o2.NativeHandle); - Test.Assert(a[1].GetNumber() == 44); + Test.Assert(a[1].Number == 44); Test.Assert(a.Count() == 2); var o3 = new Dummy.Numberwrapper(); - o3.SetNumber(22); + o3.Number = 22; Test.Assert(a.Push(o3) == 2); Test.Assert(a[2].NativeHandle == o3.NativeHandle); - Test.Assert(a[2].GetNumber() == 22); + Test.Assert(a[2].Number == 22); Test.Assert(a.Count() == 3); o3.Dispose(); @@ -1543,9 +1495,9 @@ class TestEinaInarray var a = new Dummy.Numberwrapper(); var b = new Dummy.Numberwrapper(); var c = new Dummy.Numberwrapper(); - a.SetNumber(88); - b.SetNumber(44); - c.SetNumber(22); + a.Number = 88; + b.Number = 44; + c.Number = 22; var cmp = new Dummy.Numberwrapper[]{a, b, c}; var arr = new Eina.Inarray<Dummy.Numberwrapper>(); @@ -1557,7 +1509,7 @@ class TestEinaInarray int i = 0; foreach (Dummy.Numberwrapper e in arr) { - Test.AssertEquals(cmp[i].GetNumber(), e.GetNumber()); + Test.AssertEquals(cmp[i].Number, e.Number); Test.Assert(cmp[i].NativeHandle == e.NativeHandle); ++i; } @@ -1619,25 +1571,25 @@ class TestEinaList var lst = new Eina.List<Dummy.Numberwrapper>(); var o1 = new Dummy.Numberwrapper(); - o1.SetNumber(88); + o1.Number = 88; lst.Append(o1); Test.Assert(lst[0].NativeHandle == o1.NativeHandle); - Test.Assert(lst[0].GetNumber() == 88); + Test.Assert(lst[0].Number == 88); var o2 = new Dummy.Numberwrapper(); - o2.SetNumber(44); + o2.Number = 44; lst.DataSet(0, o2); Test.Assert(lst[0].NativeHandle == o2.NativeHandle); - Test.Assert(lst[0].GetNumber() == 44); + Test.Assert(lst[0].Number == 44); var o3 = new Dummy.Numberwrapper(); - o3.SetNumber(22); + o3.Number = 22; lst[0] = o3; Test.Assert(lst[0].NativeHandle == o3.NativeHandle); - Test.Assert(lst[0].GetNumber() == 22); + Test.Assert(lst[0].Number == 22); o3.Dispose(); o2.Dispose(); o1.Dispose(); @@ -1699,24 +1651,24 @@ class TestEinaList Test.Assert(lst.Count() == 0); var o1 = new Dummy.Numberwrapper(); - o1.SetNumber(88); + o1.Number = 88; lst.Append(o1); Test.Assert(lst[0].NativeHandle == o1.NativeHandle); - Test.Assert(lst[0].GetNumber() == 88); + Test.Assert(lst[0].Number == 88); Test.Assert(lst.Count() == 1); var o2 = new Dummy.Numberwrapper(); - o2.SetNumber(44); + o2.Number = 44; lst.Append(o2); Test.Assert(lst[1].NativeHandle == o2.NativeHandle); - Test.Assert(lst[1].GetNumber() == 44); + Test.Assert(lst[1].Number == 44); Test.Assert(lst.Count() == 2); var o3 = new Dummy.Numberwrapper(); - o3.SetNumber(22); + o3.Number = 22; lst.Append(o3); Test.Assert(lst[2].NativeHandle == o3.NativeHandle); - Test.Assert(lst[2].GetNumber() == 22); + Test.Assert(lst[2].Number == 22); Test.Assert(lst.Count() == 3); o3.Dispose(); o2.Dispose(); @@ -1827,24 +1779,24 @@ class TestEinaList Test.Assert(lst.Count() == 0); var o1 = new Dummy.Numberwrapper(); - o1.SetNumber(88); + o1.Number = 88; lst.Prepend(o1); Test.Assert(lst[0].NativeHandle == o1.NativeHandle); - Test.Assert(lst[0].GetNumber() == 88); + Test.Assert(lst[0].Number == 88); Test.Assert(lst.Count() == 1); var o2 = new Dummy.Numberwrapper(); - o2.SetNumber(44); + o2.Number = 44; lst.Prepend(o2); Test.Assert(lst[0].NativeHandle == o2.NativeHandle); - Test.Assert(lst[0].GetNumber() == 44); + Test.Assert(lst[0].Number == 44); Test.Assert(lst.Count() == 2); var o3 = new Dummy.Numberwrapper(); - o3.SetNumber(22); + o3.Number = 22; lst.Prepend(o3); Test.Assert(lst[0].NativeHandle == o3.NativeHandle); - Test.Assert(lst[0].GetNumber() == 22); + Test.Assert(lst[0].Number == 22); Test.Assert(lst.Count() == 3); o3.Dispose(); @@ -2073,9 +2025,9 @@ class TestEinaList var a = new Dummy.Numberwrapper(); var b = new Dummy.Numberwrapper(); var c = new Dummy.Numberwrapper(); - a.SetNumber(88); - b.SetNumber(44); - c.SetNumber(22); + a.Number = 88; + b.Number = 44; + c.Number = 22; var cmp = new Dummy.Numberwrapper[]{a, b, c}; var lst = new Eina.List<Dummy.Numberwrapper>(); @@ -2086,7 +2038,7 @@ class TestEinaList int i = 0; foreach (Dummy.Numberwrapper e in lst) { - Test.AssertEquals(cmp[i].GetNumber(), e.GetNumber()); + Test.AssertEquals(cmp[i].Number, e.Number); Test.Assert(cmp[i].NativeHandle == e.NativeHandle); ++i; } @@ -2098,7 +2050,7 @@ class TestEinaList // // Integer // - +#if EFL_BETA public static void test_eina_list_int_in() { var t = new Dummy.TestObject(); @@ -2118,8 +2070,8 @@ class TestEinaList var lst = new Eina.List<int>(); lst.Append(base_seq_int); Test.Assert(t.EinaListIntInOwn(lst)); - Test.Assert(!lst.Own); - Test.Assert(!lst.OwnContent); + Test.Assert(lst.Own); + Test.Assert(lst.OwnContent); lst.Dispose(); Test.Assert(lst.Handle == IntPtr.Zero); Test.Assert(t.CheckEinaListIntInOwn()); @@ -2129,13 +2081,9 @@ class TestEinaList public static void test_eina_list_int_out() { var t = new Dummy.TestObject(); - Eina.List<int> lst; + IList<int> lst; Test.Assert(t.EinaListIntOut(out lst)); - Test.Assert(!lst.Own); - Test.Assert(!lst.OwnContent); Test.Assert(lst.ToArray().SequenceEqual(base_seq_int)); - lst.Dispose(); - Test.Assert(lst.Handle == IntPtr.Zero); Test.Assert(t.CheckEinaListIntOut()); t.Dispose(); } @@ -2143,13 +2091,10 @@ class TestEinaList public static void test_eina_list_int_out_own() { var t = new Dummy.TestObject(); - Eina.List<int> lst; + IList<int> lst; Test.Assert(t.EinaListIntOutOwn(out lst)); - Test.Assert(lst.Own); Test.Assert(lst.ToArray().SequenceEqual(base_seq_int)); - lst.Append(append_seq_int); - lst.Dispose(); - Test.Assert(lst.Handle == IntPtr.Zero); + lst.Concat(append_seq_int); t.Dispose(); } @@ -2157,11 +2102,7 @@ class TestEinaList { var t = new Dummy.TestObject(); var lst = t.EinaListIntReturn(); - Test.Assert(!lst.Own); - Test.Assert(!lst.OwnContent); Test.Assert(lst.ToArray().SequenceEqual(base_seq_int)); - lst.Dispose(); - Test.Assert(lst.Handle == IntPtr.Zero); Test.Assert(t.CheckEinaListIntReturn()); t.Dispose(); } @@ -2170,11 +2111,8 @@ class TestEinaList { var t = new Dummy.TestObject(); var lst = t.EinaListIntReturnOwn(); - Test.Assert(lst.Own); Test.Assert(lst.ToArray().SequenceEqual(base_seq_int)); - lst.Append(append_seq_int); - lst.Dispose(); - Test.Assert(lst.Handle == IntPtr.Zero); + lst.Concat(append_seq_int); t.Dispose(); } @@ -2198,7 +2136,7 @@ class TestEinaList var lst = new Eina.List<string>(); lst.Append(base_seq_str); Test.Assert(t.EinaListStrInOwn(lst)); - Test.Assert(!lst.Own); + Test.Assert(lst.Own); lst.Dispose(); Test.Assert(lst.Handle == IntPtr.Zero); Test.Assert(t.CheckEinaListStrInOwn()); @@ -2208,12 +2146,9 @@ class TestEinaList public static void test_eina_list_str_out() { var t = new Dummy.TestObject(); - Eina.List<string> lst; + IList<string> lst; Test.Assert(t.EinaListStrOut(out lst)); - Test.Assert(!lst.Own); Test.Assert(lst.ToArray().SequenceEqual(base_seq_str)); - lst.Dispose(); - Test.Assert(lst.Handle == IntPtr.Zero); Test.Assert(t.CheckEinaListStrOut()); t.Dispose(); } @@ -2221,13 +2156,10 @@ class TestEinaList public static void test_eina_list_str_out_own() { var t = new Dummy.TestObject(); - Eina.List<string> lst; + IList<string> lst; Test.Assert(t.EinaListStrOutOwn(out lst)); - Test.Assert(lst.Own); Test.Assert(lst.ToArray().SequenceEqual(base_seq_str)); - lst.Append(append_seq_str); - lst.Dispose(); - Test.Assert(lst.Handle == IntPtr.Zero); + lst.Concat(append_seq_str); t.Dispose(); } @@ -2235,10 +2167,7 @@ class TestEinaList { var t = new Dummy.TestObject(); var lst = t.EinaListStrReturn(); - Test.Assert(!lst.Own); Test.Assert(lst.ToArray().SequenceEqual(base_seq_str)); - lst.Dispose(); - Test.Assert(lst.Handle == IntPtr.Zero); Test.Assert(t.CheckEinaListStrReturn()); t.Dispose(); } @@ -2247,11 +2176,8 @@ class TestEinaList { var t = new Dummy.TestObject(); var lst = t.EinaListStrReturnOwn(); - Test.Assert(lst.Own); Test.Assert(lst.ToArray().SequenceEqual(base_seq_str)); - lst.Append(append_seq_str); - lst.Dispose(); - Test.Assert(lst.Handle == IntPtr.Zero); + lst.Concat(append_seq_str); t.Dispose(); } @@ -2275,7 +2201,7 @@ class TestEinaList var lst = new Eina.List<Eina.Stringshare>(); lst.Append(base_seq_strshare); Test.Assert(t.EinaListStrshareInOwn(lst)); - Test.Assert(!lst.Own); + Test.Assert(lst.Own); lst.Dispose(); Test.Assert(lst.Handle == IntPtr.Zero); Test.Assert(t.CheckEinaListStrshareInOwn()); @@ -2285,12 +2211,9 @@ class TestEinaList public static void test_eina_list_strshare_out() { var t = new Dummy.TestObject(); - Eina.List<Eina.Stringshare> lst; + IList<Eina.Stringshare> lst; Test.Assert(t.EinaListStrshareOut(out lst)); - Test.Assert(!lst.Own); Test.Assert(lst.ToArray().SequenceEqual(base_seq_strshare)); - lst.Dispose(); - Test.Assert(lst.Handle == IntPtr.Zero); Test.Assert(t.CheckEinaListStrshareOut()); t.Dispose(); } @@ -2298,13 +2221,10 @@ class TestEinaList public static void test_eina_list_strshare_out_own() { var t = new Dummy.TestObject(); - Eina.List<Eina.Stringshare> lst; + IList<Eina.Stringshare> lst; Test.Assert(t.EinaListStrshareOutOwn(out lst)); - Test.Assert(lst.Own); Test.Assert(lst.ToArray().SequenceEqual(base_seq_strshare)); - lst.Append(append_seq_strshare); - lst.Dispose(); - Test.Assert(lst.Handle == IntPtr.Zero); + lst.Concat(append_seq_strshare); t.Dispose(); } @@ -2312,10 +2232,7 @@ class TestEinaList { var t = new Dummy.TestObject(); var lst = t.EinaListStrshareReturn(); - Test.Assert(!lst.Own); Test.Assert(lst.ToArray().SequenceEqual(base_seq_strshare)); - lst.Dispose(); - Test.Assert(lst.Handle == IntPtr.Zero); Test.Assert(t.CheckEinaListStrshareReturn()); t.Dispose(); } @@ -2324,11 +2241,8 @@ class TestEinaList { var t = new Dummy.TestObject(); var lst = t.EinaListStrshareReturnOwn(); - Test.Assert(lst.Own); Test.Assert(lst.ToArray().SequenceEqual(base_seq_strshare)); - lst.Append(append_seq_strshare); - lst.Dispose(); - Test.Assert(lst.Handle == IntPtr.Zero); + lst.Concat(append_seq_strshare); t.Dispose(); } @@ -2353,7 +2267,7 @@ class TestEinaList var lst = new Eina.List<Dummy.Numberwrapper>(); lst.Append(BaseSeqObj()); Test.Assert(t.EinaListObjInOwn(lst)); - Test.Assert(!lst.Own); + Test.Assert(lst.Own); lst.Dispose(); Test.Assert(lst.Handle == IntPtr.Zero); Test.Assert(t.CheckEinaListObjInOwn()); @@ -2363,12 +2277,9 @@ class TestEinaList public static void test_eina_list_obj_out() { var t = new Dummy.TestObject(); - Eina.List<Dummy.Numberwrapper> lst; + IList<Dummy.Numberwrapper> lst; Test.Assert(t.EinaListObjOut(out lst)); - Test.Assert(!lst.Own); NumberwrapperSequenceAssertEqual(lst.ToArray(), BaseSeqObj()); - lst.Dispose(); - Test.Assert(lst.Handle == IntPtr.Zero); Test.Assert(t.CheckEinaListObjOut()); t.Dispose(); } @@ -2376,13 +2287,10 @@ class TestEinaList public static void test_eina_list_obj_out_own() { var t = new Dummy.TestObject(); - Eina.List<Dummy.Numberwrapper> lst; + IList<Dummy.Numberwrapper> lst; Test.Assert(t.EinaListObjOutOwn(out lst)); - Test.Assert(lst.Own); NumberwrapperSequenceAssertEqual(lst.ToArray(), BaseSeqObj()); - lst.Append(AppendSeqObj()); - lst.Dispose(); - Test.Assert(lst.Handle == IntPtr.Zero); + lst.Concat(AppendSeqObj()); t.Dispose(); } @@ -2390,10 +2298,7 @@ class TestEinaList { var t = new Dummy.TestObject(); var lst = t.EinaListObjReturn(); - Test.Assert(!lst.Own); NumberwrapperSequenceAssertEqual(lst.ToArray(), BaseSeqObj()); - lst.Dispose(); - Test.Assert(lst.Handle == IntPtr.Zero); Test.Assert(t.CheckEinaListObjReturn()); t.Dispose(); } @@ -2402,11 +2307,8 @@ class TestEinaList { var t = new Dummy.TestObject(); var lst = t.EinaListObjReturnOwn(); - Test.Assert(lst.Own); NumberwrapperSequenceAssertEqual(lst.ToArray(), BaseSeqObj()); - lst.Append(AppendSeqObj()); - lst.Dispose(); - Test.Assert(lst.Handle == IntPtr.Zero); + lst.Concat(AppendSeqObj()); t.Dispose(); } @@ -2428,6 +2330,7 @@ class TestEinaList a.Dispose(); t.Dispose(); } +#endif } class TestEinaInlist @@ -2463,25 +2366,25 @@ class TestEinaInlist var lst = new Eina.Inlist<Dummy.Numberwrapper>(); var o1 = new Dummy.Numberwrapper(); - o1.SetNumber(88); + o1.Number = 88; lst.Append(o1); Test.Assert(lst[0].NativeHandle == o1.NativeHandle); - Test.Assert(lst[0].GetNumber() == 88); + Test.Assert(lst[0].Number == 88); var o2 = new Dummy.Numberwrapper(); - o2.SetNumber(44); + o2.Number = 44; lst.DataSet(0, o2); Test.Assert(lst[0].NativeHandle == o2.NativeHandle); - Test.Assert(lst[0].GetNumber() == 44); + Test.Assert(lst[0].Number == 44); var o3 = new Dummy.Numberwrapper(); - o3.SetNumber(22); + o3.Number = 22; lst[0] = o3; Test.Assert(lst[0].NativeHandle == o3.NativeHandle); - Test.Assert(lst[0].GetNumber() == 22); + Test.Assert(lst[0].Number == 22); Test.Assert(lst.Count() == 1); o3.Dispose(); @@ -2529,24 +2432,24 @@ class TestEinaInlist Test.Assert(lst.Count() == 0); var o1 = new Dummy.Numberwrapper(); - o1.SetNumber(88); + o1.Number = 88; lst.Append(o1); Test.Assert(lst[0].NativeHandle == o1.NativeHandle); - Test.Assert(lst[0].GetNumber() == 88); + Test.Assert(lst[0].Number == 88); Test.Assert(lst.Count() == 1); var o2 = new Dummy.Numberwrapper(); - o2.SetNumber(44); + o2.Number = 44; lst.Append(o2); Test.Assert(lst[1].NativeHandle == o2.NativeHandle); - Test.Assert(lst[1].GetNumber() == 44); + Test.Assert(lst[1].Number == 44); Test.Assert(lst.Count() == 2); var o3 = new Dummy.Numberwrapper(); - o3.SetNumber(22); + o3.Number = 22; lst.Append(o3); Test.Assert(lst[2].NativeHandle == o3.NativeHandle); - Test.Assert(lst[2].GetNumber() == 22); + Test.Assert(lst[2].Number == 22); Test.Assert(lst.Count() == 3); o3.Dispose(); o2.Dispose(); @@ -2625,24 +2528,24 @@ class TestEinaInlist Test.Assert(lst.Count() == 0); var o1 = new Dummy.Numberwrapper(); - o1.SetNumber(88); + o1.Number = 88; lst.Prepend(o1); Test.Assert(lst[0].NativeHandle == o1.NativeHandle); - Test.Assert(lst[0].GetNumber() == 88); + Test.Assert(lst[0].Number == 88); Test.Assert(lst.Count() == 1); var o2 = new Dummy.Numberwrapper(); - o2.SetNumber(44); + o2.Number = 44; lst.Prepend(o2); Test.Assert(lst[0].NativeHandle == o2.NativeHandle); - Test.Assert(lst[0].GetNumber() == 44); + Test.Assert(lst[0].Number == 44); Test.Assert(lst.Count() == 2); var o3 = new Dummy.Numberwrapper(); - o3.SetNumber(22); + o3.Number = 22; lst.Prepend(o3); Test.Assert(lst[0].NativeHandle == o3.NativeHandle); - Test.Assert(lst[0].GetNumber() == 22); + Test.Assert(lst[0].Number == 22); Test.Assert(lst.Count() == 3); o3.Dispose(); o2.Dispose(); @@ -2687,9 +2590,9 @@ class TestEinaInlist var a = new Dummy.Numberwrapper(); var b = new Dummy.Numberwrapper(); var c = new Dummy.Numberwrapper(); - a.SetNumber(88); - b.SetNumber(44); - c.SetNumber(22); + a.Number = 88; + b.Number = 44; + c.Number = 22; var cmp = new Dummy.Numberwrapper[]{a, b, c}; var lst = new Eina.Inlist<Dummy.Numberwrapper>(); @@ -2700,7 +2603,7 @@ class TestEinaInlist int i = 0; foreach (Dummy.Numberwrapper e in lst) { - Test.AssertEquals(cmp[i].GetNumber(), e.GetNumber()); + Test.AssertEquals(cmp[i].Number, e.Number); Test.Assert(cmp[i].NativeHandle == e.NativeHandle); ++i; } @@ -2787,17 +2690,17 @@ class TestEinaHash hsh[a] = aa; Test.Assert(hsh[a].NativeHandle == aa.NativeHandle); - Test.Assert(hsh[a].GetNumber() == aa.GetNumber()); + Test.Assert(hsh[a].Number == aa.Number); Test.Assert(hsh.Count == 1); hsh[b] = bb; Test.Assert(hsh[b].NativeHandle == bb.NativeHandle); - Test.Assert(hsh[b].GetNumber() == bb.GetNumber()); + Test.Assert(hsh[b].Number == bb.Number); Test.Assert(hsh.Count == 2); hsh[c] = cc; Test.Assert(hsh[c].NativeHandle == cc.NativeHandle); - Test.Assert(hsh[c].GetNumber() == cc.GetNumber()); + Test.Assert(hsh[c].Number == cc.Number); Test.Assert(hsh.Count == 3); @@ -2907,17 +2810,17 @@ class TestEinaHash hsh[b] = bb; hsh[c] = cc; - dct[a.GetNumber()] = aa; - dct[b.GetNumber()] = bb; - dct[c.GetNumber()] = cc; + dct[a.Number] = aa; + dct[b.Number] = bb; + dct[c.Number] = cc; int count = 0; foreach (KeyValuePair<Dummy.Numberwrapper, Dummy.Numberwrapper> kvp in hsh) { - Test.Assert(dct[kvp.Key.GetNumber()].NativeHandle == kvp.Value.NativeHandle); - Test.Assert(dct[kvp.Key.GetNumber()].GetNumber() == kvp.Value.GetNumber()); - dct.Remove(kvp.Key.GetNumber()); + Test.Assert(dct[kvp.Key.Number].NativeHandle == kvp.Value.NativeHandle); + Test.Assert(dct[kvp.Key.Number].Number == kvp.Value.Number); + dct.Remove(kvp.Key.Number); ++count; } @@ -3218,11 +3121,11 @@ class TestEinaHash Test.Assert(t.EinaHashObjIn(hsh, nwk1, nwv1, out nwk2, out nwv2)); Test.Assert(hsh.Own); Test.Assert(hsh[nwk1].NativeHandle == nwv1.NativeHandle); - Test.Assert(hsh[nwk1].GetNumber() == nwv1.GetNumber()); - Test.Assert(hsh[nwk1].GetNumber() == 222); + Test.Assert(hsh[nwk1].Number == nwv1.Number); + Test.Assert(hsh[nwk1].Number == 222); Test.Assert(hsh[nwk2].NativeHandle == nwv2.NativeHandle); - Test.Assert(hsh[nwk2].GetNumber() == nwv2.GetNumber()); - Test.Assert(hsh[nwk2].GetNumber() == 444); + Test.Assert(hsh[nwk2].Number == nwv2.Number); + Test.Assert(hsh[nwk2].Number == 444); nwk1.Dispose(); nwk2.Dispose(); nwv1.Dispose(); @@ -3244,11 +3147,11 @@ class TestEinaHash Test.Assert(t.EinaHashObjInOwn(hsh, nwk1, nwv1, out nwk2, out nwv2)); Test.Assert(!hsh.Own); Test.Assert(hsh[nwk1].NativeHandle == nwv1.NativeHandle); - Test.Assert(hsh[nwk1].GetNumber() == nwv1.GetNumber()); - Test.Assert(hsh[nwk1].GetNumber() == 222); + Test.Assert(hsh[nwk1].Number == nwv1.Number); + Test.Assert(hsh[nwk1].Number == 222); Test.Assert(hsh[nwk2].NativeHandle == nwv2.NativeHandle); - Test.Assert(hsh[nwk2].GetNumber() == nwv2.GetNumber()); - Test.Assert(hsh[nwk2].GetNumber() == 444); + Test.Assert(hsh[nwk2].Number == nwv2.Number); + Test.Assert(hsh[nwk2].Number == 444); hsh.Dispose(); Test.Assert(hsh.Handle == IntPtr.Zero); Test.Assert(t.CheckEinaHashObjInOwn(nwk1, nwv1, nwk2, nwv2)); @@ -3268,8 +3171,8 @@ class TestEinaHash Test.Assert(t.EinaHashObjOut(out hsh, out nwk1, out nwv1)); Test.Assert(!hsh.Own); Test.Assert(hsh[nwk1].NativeHandle == nwv1.NativeHandle); - Test.Assert(hsh[nwk1].GetNumber() == nwv1.GetNumber()); - Test.Assert(hsh[nwk1].GetNumber() == 222); + Test.Assert(hsh[nwk1].Number == nwv1.Number); + Test.Assert(hsh[nwk1].Number == 222); Dummy.Numberwrapper nwk2 = NW(44); Dummy.Numberwrapper nwv2 = NW(444); hsh[nwk2] = nwv2; @@ -3292,8 +3195,8 @@ class TestEinaHash Test.Assert(t.EinaHashObjOutOwn(out hsh, out nwk1, out nwv1)); Test.Assert(hsh.Own); Test.Assert(hsh[nwk1].NativeHandle == nwv1.NativeHandle); - Test.Assert(hsh[nwk1].GetNumber() == nwv1.GetNumber()); - Test.Assert(hsh[nwk1].GetNumber() == 222); + Test.Assert(hsh[nwk1].Number == nwv1.Number); + Test.Assert(hsh[nwk1].Number == 222); Dummy.Numberwrapper nwk2 = NW(44); Dummy.Numberwrapper nwv2 = NW(444); hsh[nwk2] = nwv2; @@ -3315,8 +3218,8 @@ class TestEinaHash var hsh = t.EinaHashObjReturn(out nwk1, out nwv1); Test.Assert(!hsh.Own); Test.Assert(hsh[nwk1].NativeHandle == nwv1.NativeHandle); - Test.Assert(hsh[nwk1].GetNumber() == nwv1.GetNumber()); - Test.Assert(hsh[nwk1].GetNumber() == 222); + Test.Assert(hsh[nwk1].Number == nwv1.Number); + Test.Assert(hsh[nwk1].Number == 222); Dummy.Numberwrapper nwk2 = NW(44); Dummy.Numberwrapper nwv2 = NW(444); hsh[nwk2] = nwv2; @@ -3338,8 +3241,8 @@ class TestEinaHash var hsh = t.EinaHashObjReturnOwn(out nwk1, out nwv1); Test.Assert(hsh.Own); Test.Assert(hsh[nwk1].NativeHandle == nwv1.NativeHandle); - Test.Assert(hsh[nwk1].GetNumber() == nwv1.GetNumber()); - Test.Assert(hsh[nwk1].GetNumber() == 222); + Test.Assert(hsh[nwk1].Number == nwv1.Number); + Test.Assert(hsh[nwk1].Number == 222); Dummy.Numberwrapper nwk2 = NW(44); Dummy.Numberwrapper nwv2 = NW(444); hsh[nwk2] = nwv2; @@ -3492,7 +3395,7 @@ class TestEinaIterator foreach (Dummy.Numberwrapper e in itr) { Test.Assert(e.NativeHandle == base_objs[idx].NativeHandle); - Test.Assert(e.GetNumber() == base_objs[idx].GetNumber()); + Test.Assert(e.Number == base_objs[idx].Number); ++idx; } Test.AssertEquals(idx, base_objs.Length); @@ -3658,7 +3561,7 @@ class TestEinaIterator foreach (Dummy.Numberwrapper e in itr) { Test.Assert(e.NativeHandle == base_objs[idx].NativeHandle); - Test.Assert(e.GetNumber() == base_objs[idx].GetNumber()); + Test.Assert(e.Number == base_objs[idx].Number); ++idx; } Test.AssertEquals(idx, base_objs.Length); @@ -4000,19 +3903,19 @@ class TestEinaIterator hsh[a] = aa; hsh[b] = bb; hsh[c] = cc; - dct[a.GetNumber()] = a; - dct[b.GetNumber()] = b; - dct[c.GetNumber()] = c; + dct[a.Number] = a; + dct[b.Number] = b; + dct[c.Number] = c; var itr = hsh.Keys(); int idx = 0; foreach (Dummy.Numberwrapper e in itr) { - Test.Assert(dct[e.GetNumber()] != null); - Test.Assert(dct[e.GetNumber()].NativeHandle == e.NativeHandle); - Test.Assert(dct[e.GetNumber()].GetNumber() == e.GetNumber()); - dct.Remove(e.GetNumber()); + Test.Assert(dct[e.Number] != null); + Test.Assert(dct[e.Number].NativeHandle == e.NativeHandle); + Test.Assert(dct[e.Number].Number == e.Number); + dct.Remove(e.Number); ++idx; } Test.AssertEquals(dct.Count, 0); @@ -4036,19 +3939,19 @@ class TestEinaIterator hsh[a] = aa; hsh[b] = bb; hsh[c] = cc; - dct[aa.GetNumber()] = aa; - dct[bb.GetNumber()] = bb; - dct[cc.GetNumber()] = cc; + dct[aa.Number] = aa; + dct[bb.Number] = bb; + dct[cc.Number] = cc; var itr = hsh.Values(); int idx = 0; foreach (Dummy.Numberwrapper e in itr) { - Test.Assert(dct[e.GetNumber()] != null); - Test.Assert(dct[e.GetNumber()].NativeHandle == e.NativeHandle); - Test.Assert(dct[e.GetNumber()].GetNumber() == e.GetNumber()); - dct.Remove(e.GetNumber()); + Test.Assert(dct[e.Number] != null); + Test.Assert(dct[e.Number].NativeHandle == e.NativeHandle); + Test.Assert(dct[e.Number].Number == e.Number); + dct.Remove(e.Number); ++idx; } Test.AssertEquals(dct.Count, 0); @@ -4489,7 +4392,7 @@ class TestEinaIterator int idx = 0; foreach (Dummy.Numberwrapper e in itr) { - Test.AssertEquals(e.GetNumber(), base_seq_obj[idx].GetNumber()); + Test.AssertEquals(e.Number, base_seq_obj[idx].Number); ++idx; } Test.AssertEquals(idx, base_seq_obj.Length); @@ -4510,7 +4413,7 @@ class TestEinaIterator int idx = 0; foreach (Dummy.Numberwrapper e in itr) { - Test.AssertEquals(e.GetNumber(), base_seq_obj[idx].GetNumber()); + Test.AssertEquals(e.Number, base_seq_obj[idx].Number); ++idx; } Test.AssertEquals(idx, base_seq_obj.Length); @@ -4529,7 +4432,7 @@ class TestEinaIterator int idx = 0; foreach (Dummy.Numberwrapper e in itr) { - Test.AssertEquals(e.GetNumber(), base_seq_obj[idx].GetNumber()); + Test.AssertEquals(e.Number, base_seq_obj[idx].Number); ++idx; } Test.AssertEquals(idx, base_seq_obj.Length); @@ -4549,7 +4452,7 @@ class TestEinaIterator int idx = 0; foreach (Dummy.Numberwrapper e in itr) { - Test.AssertEquals(e.GetNumber(), base_seq_obj[idx].GetNumber()); + Test.AssertEquals(e.Number, base_seq_obj[idx].Number); ++idx; } Test.AssertEquals(idx, base_seq_obj.Length); diff --git a/src/tests/efl_mono/EinaTestData.cs b/src/tests/efl_mono/EinaTestData.cs index 5b8c84db81..3948b4e523 100644 --- a/src/tests/efl_mono/EinaTestData.cs +++ b/src/tests/efl_mono/EinaTestData.cs @@ -17,6 +17,8 @@ using System; using System.Linq; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; +using System.Diagnostics.Contracts; +using Eina; namespace EinaTestData { @@ -47,7 +49,7 @@ public static class BaseData public static Dummy.Numberwrapper NW(int n) { var nw = new Dummy.Numberwrapper(); - nw.SetNumber(n); + nw.Number = n; return nw; } @@ -56,9 +58,9 @@ public static class BaseData var a = new Dummy.Numberwrapper(); var b = new Dummy.Numberwrapper(); var c = new Dummy.Numberwrapper(); - a.SetNumber(0x0); - b.SetNumber(0x2A); - c.SetNumber(0x42); + a.Number = 0x0; + b.Number = 0x2A; + c.Number = 0x42; return new Dummy.Numberwrapper[]{a, b, c}; } @@ -67,9 +69,9 @@ public static class BaseData var a = new Dummy.Numberwrapper(); var b = new Dummy.Numberwrapper(); var c = new Dummy.Numberwrapper(); - a.SetNumber(42); - b.SetNumber(43); - c.SetNumber(33); + a.Number = 42; + b.Number = 43; + c.Number = 33; return new Dummy.Numberwrapper[]{a, b, c}; } @@ -81,12 +83,12 @@ public static class BaseData var d = new Dummy.Numberwrapper(); var e = new Dummy.Numberwrapper(); var f = new Dummy.Numberwrapper(); - a.SetNumber(0x0); - b.SetNumber(0x2A); - c.SetNumber(0x42); - d.SetNumber(42); - e.SetNumber(43); - f.SetNumber(33); + a.Number = 0x0; + b.Number = 0x2A; + c.Number = 0x42; + d.Number = 42; + e.Number = 43; + f.Number = 33; return new Dummy.Numberwrapper[]{a, b, c, d, e, f}; } @@ -95,11 +97,13 @@ public static class BaseData [ CallerLineNumber ] int line = 0, [ CallerFilePath ] string file = null, [ CallerMemberName ] string member = null) { - Test.Assert(a.Length == b.Length, "Different lenght", line, file, member); + Contract.Requires(a != null, nameof(a)); + Contract.Requires(b != null, nameof(b)); + Test.Assert(a.Length == b.Length, "Different length", line, file, member); for (int i = 0; i < a.Length; ++i) { - int av = a[i].GetNumber(); - int bv = b[i].GetNumber(); + int av = a[i].Number; + int bv = b[i].Number; Test.Assert(av == bv, $"Different values for element [{i}]: {av} == {bv}", line, file, member); } } diff --git a/src/tests/efl_mono/Eo.cs b/src/tests/efl_mono/Eo.cs index af40bf12d8..641ddc0748 100644 --- a/src/tests/efl_mono/Eo.cs +++ b/src/tests/efl_mono/Eo.cs @@ -149,8 +149,8 @@ class TestEoNames var obj = new Dummy.TestObject(); string name = "Dummy"; - obj.SetName(name); - Test.AssertEquals(name, obj.GetName()); + obj.Name = name; + Test.AssertEquals(name, obj.Name); obj.Dispose(); } } @@ -162,9 +162,9 @@ class TestEoParent var parent = new Dummy.TestObject(null); var child = new Dummy.TestObject(parent); - Test.AssertEquals(parent, child.GetParent()); + Test.AssertEquals(parent, child.Parent); - var parent_retrieved = child.GetParent() as Dummy.TestObject; + var parent_retrieved = child.Parent as Dummy.TestObject; Test.AssertEquals(parent, parent_retrieved); child.Dispose(); parent.Dispose(); @@ -175,9 +175,9 @@ class TestEoParent Dummy.Numberwrapper parent = new Dummy.Numberwrapper(null); var child = new Dummy.TestObject(parent); - Test.AssertEquals(parent, child.GetParent()); + Test.AssertEquals(parent, child.Parent); - Dummy.Numberwrapper parent_retrieved = child.GetParent() as Dummy.Numberwrapper; + Dummy.Numberwrapper parent_retrieved = child.Parent as Dummy.Numberwrapper; Test.AssertEquals(parent, parent_retrieved); child.Dispose(); parent.Dispose(); @@ -195,9 +195,9 @@ class TestEoParent var parent = new Derived(null); var child = new Derived(parent); - Test.AssertEquals(parent, child.GetParent()); + Test.AssertEquals(parent, child.Parent); - var parent_from_cast = child.GetParent() as Derived; + var parent_from_cast = child.Parent as Derived; Test.AssertEquals(parent, parent_from_cast); child.Dispose(); parent.Dispose(); @@ -209,15 +209,15 @@ class TestKlassMethods public static void basic_class_method() { int reference = 0xbeef; - Dummy.TestObject.SetKlassProp(reference); - Test.AssertEquals(reference, Dummy.TestObject.GetKlassProp()); + Dummy.TestObject.KlassProp = reference; + Test.AssertEquals(reference, Dummy.TestObject.KlassProp); } public static void inherited_class_method() { int reference = 0xdead; - Dummy.Child.SetKlassProp(reference); - Test.AssertEquals(reference, Dummy.Child.GetKlassProp()); + Dummy.Child.KlassProp = reference; + Test.AssertEquals(reference, Dummy.Child.KlassProp); } } @@ -385,6 +385,16 @@ class TestEoMultipleChildClasses class TestCsharpProperties { + + private class MyObject : Dummy.TestObject + { + public MyObject(Efl.Object parent = null) : base(parent) + { + } + private MyObject(ConstructingHandle ch) : base(ch) + { + } + } public static void test_csharp_properties() { var obj = new Dummy.TestObject(); @@ -402,15 +412,15 @@ class TestCsharpProperties obj.Dispose(); } - // public static void test_setter_only() - // { - // var obj = new Dummy.TestObject(); - // int val = -1984; + public static void test_setter_only() + { + var obj = new Dummy.TestObject(); + int val = -1984; - // obj.SetterOnly = val; - // Test.AssertEquals(val, obj.GetSetterOnly()); - // obj.Dispose(); - // } + obj.SetSetterOnly(val); + Test.AssertEquals(val, obj.GetSetterOnly()); + obj.Dispose(); + } public static void test_class_property() { @@ -428,6 +438,28 @@ class TestCsharpProperties iface.Dispose(); } + public static void test_iface_value_property() + { + var obj = new Dummy.TestObject(); + var prop = new MyObject(); + + obj.IfaceValueProp = prop; + Test.AssertEquals(obj.IfaceValueProp, prop); + + obj.Dispose(); + prop.Dispose(); + } + + public static void test_iface_value_from_c() + { + var obj = new Dummy.TestObject(); + + obj.SetIfaceKlassProp(typeof(MyObject)); + Test.AssertEquals(obj.IfaceValueFromC.GetType(), typeof(MyObject)); + + obj.Dispose(); + } + public static void test_csharp_multi_valued_prop() { var obj = new Dummy.TestObject(); @@ -437,50 +469,25 @@ class TestCsharpProperties obj.Dispose(); } - public static void test_csharp_keyed_multi_valued_prop() + public static void test_csharp_return_type_get_prop () { var obj = new Dummy.TestObject(); - obj.KeyedMultiValuedProp[100] = (1, 2); - Test.AssertEquals(obj.KeyedMultiValuedProp[100], (1, 2)); - obj.Dispose(); + obj.ReturnTypeGetProp = 5; + var i = obj.ReturnTypeGetProp; } - public static void test_csharp_multi_keyed_multi_valued_prop() + public static void test_csharp_return_type_set_prop () { var obj = new Dummy.TestObject(); - obj.MultiKeyedMultiValuedProp[(100, 101)] = (1, 2); - Test.AssertEquals(obj.MultiKeyedMultiValuedProp[(100, 101)], (1, 2)); - obj.Dispose(); + obj.ReturnTypeSetProp = 5; + var i = obj.ReturnTypeSetProp; } - public static void test_csharp_multi_prop() + public static void test_csharp_return_type_prop () { var obj = new Dummy.TestObject(); - obj.MultiKeyedMultiValuedProp[(100, 101)] = (1, 2); - obj.KeyedMultiValuedProp[100] = (1, 2); - Test.AssertEquals(obj.KeyedMultiValuedProp[100], - obj.MultiKeyedMultiValuedProp[(100, 101)]); - int a1, b1, a2, b2; -#if __MonoCS__ - (int a, int b) t1 = obj.MultiKeyedMultiValuedProp[(100, 101)]; - (a1, b1) = (t1.Item1, t1.Item2); - (int a, int b) t2 = obj.KeyedMultiValuedProp[100]; - (a2, b2) = (t2.Item1, t2.Item2); -#else - (a1, b1) = obj.MultiKeyedMultiValuedProp[(100, 101)]; - (a2, b2) = obj.KeyedMultiValuedProp[100]; -#endif - Test.AssertEquals(a1, a2); - Test.AssertEquals(b1, b2); - var i = (100, 101); - var j = 100; - Test.AssertEquals(obj.KeyedMultiValuedProp[j], - obj.MultiKeyedMultiValuedProp[i]); - obj.MultiKeyedMultiValuedProp[i] = (1, 3); - obj.KeyedMultiValuedProp[j] = obj.MultiKeyedMultiValuedProp[i]; - Test.AssertEquals(obj.KeyedMultiValuedProp[j], - obj.MultiKeyedMultiValuedProp[i]); - + obj.ReturnTypeProp = 5; + var i = obj.ReturnTypeProp; } } @@ -573,7 +580,7 @@ class TestConstructors #else var obj = new Dummy.Child(null, a, b); #endif - Test.Assert(!obj.GetIfaceWasSet()); + Test.Assert(!obj.IfaceWasSet); obj.Dispose(); } } @@ -600,7 +607,7 @@ class TestProvider var obj = new Dummy.TestObject(); Dummy.Numberwrapper provider = obj.FindProvider(typeof(Dummy.Numberwrapper)) as Dummy.Numberwrapper; Test.AssertEquals(provider.GetType(), typeof(Dummy.Numberwrapper)); - Test.AssertEquals(provider.GetNumber(), 1999); + Test.AssertEquals(provider.Number, 1999); obj.Dispose(); } @@ -699,16 +706,16 @@ class TestProtectedInterfaceMembers { var type = typeof(Dummy.ITestIface); var methods = type.GetMethods(BindingFlags.Public | BindingFlags.Instance); + var properties = type.GetProperties(BindingFlags.Public | BindingFlags.Instance); // Fully protected property Test.AssertNull(methods.SingleOrDefault(m => m.Name == "GetProtectedProp")); Test.AssertNull(methods.SingleOrDefault(m => m.Name == "SetProtectedProp")); // Partially protected property - Test.AssertNotNull(methods.SingleOrDefault(m => m.Name == "GetPublicGetterPrivateSetter")); + Test.AssertNotNull(properties.SingleOrDefault(m => m.Name == "PublicGetterPrivateSetter")); Test.AssertNull(methods.SingleOrDefault(m => m.Name == "SetPublicGetterPrivateSetter")); - var properties = type.GetProperties(BindingFlags.Public | BindingFlags.Instance); Test.AssertNull(properties.SingleOrDefault(m => m.Name == "ProtectedProp")); Test.AssertNotNull(properties.SingleOrDefault(m => m.Name == "PublicGetterPrivateSetter")); } @@ -717,15 +724,16 @@ class TestProtectedInterfaceMembers { var type = typeof(Dummy.TestObject); - // Fully protected property - var protected_methods = type.GetMethods(BindingFlags.NonPublic | BindingFlags.Instance).Where(m => m.IsFamily); - Test.AssertNotNull(protected_methods.SingleOrDefault(m => m.Name == "GetProtectedProp")); - Test.AssertNotNull(protected_methods.SingleOrDefault(m => m.Name == "SetProtectedProp")); + // Fully internal property + var internal_methods = type.GetMethods(BindingFlags.NonPublic | BindingFlags.Instance).Where(m => m.IsAssembly); + Test.AssertNotNull(internal_methods.SingleOrDefault(m => m.Name == "GetProtectedProp")); + Test.AssertNotNull(internal_methods.SingleOrDefault(m => m.Name == "SetProtectedProp")); // Partially protected property var public_methods = type.GetMethods(BindingFlags.Public | BindingFlags.Instance); - Test.AssertNotNull(public_methods.SingleOrDefault(m => m.Name == "GetPublicGetterPrivateSetter")); - Test.AssertNotNull(protected_methods.SingleOrDefault(m => m.Name == "SetPublicGetterPrivateSetter")); + Test.AssertNull(public_methods.SingleOrDefault(m => m.Name == "GetPublicGetterPrivateSetter")); + Test.AssertNotNull(internal_methods.SingleOrDefault(m => m.Name == "GetPublicGetterPrivateSetter")); + Test.AssertNotNull(internal_methods.SingleOrDefault(m => m.Name == "SetPublicGetterPrivateSetter")); var protected_properties = type.GetProperties(BindingFlags.NonPublic | BindingFlags.Instance); var prop = protected_properties.SingleOrDefault(m => m.Name == "ProtectedProp"); diff --git a/src/tests/efl_mono/Events.cs b/src/tests/efl_mono/Events.cs index 824d9a132c..635e005c12 100644 --- a/src/tests/efl_mono/Events.cs +++ b/src/tests/efl_mono/Events.cs @@ -15,6 +15,7 @@ */ using System; using System.Linq; +using System.Collections.Generic; namespace TestSuite { @@ -29,7 +30,7 @@ class TestEoEvents Efl.Object obj = sender as Efl.Object; if (obj != null) { - obj.SetName("loop_called"); + obj.Name = "loop_called"; correct_sender = true; } @@ -43,18 +44,18 @@ class TestEoEvents public static void idle_event() { Efl.Loop loop = Efl.App.AppMain; - loop.SetName("loop"); + loop.Name = "loop"; TestEoEvents listener = new TestEoEvents(); listener.loop = loop; loop.IdleEvent += listener.callback; Test.Assert(!listener.called); Test.Assert(!listener.correct_sender); - Test.AssertEquals("loop", loop.GetName()); + Test.AssertEquals("loop", loop.Name); loop.Begin(); Test.Assert(listener.called); Test.Assert(listener.correct_sender); - Test.AssertEquals("loop_called", loop.GetName()); + Test.AssertEquals("loop_called", loop.Name); loop.IdleEvent -= listener.callback; } @@ -65,7 +66,7 @@ class TestEoEvents string received_string = null; obj.EvtWithStringEvent += (object sender, Dummy.TestObjectEvtWithStringEventArgs e) => { - received_string = e.arg; + received_string = e.Arg; }; obj.EmitEventWithString("Some args"); @@ -80,7 +81,7 @@ class TestEoEvents int received_int= 0; obj.EvtWithIntEvent += (object sender, Dummy.TestObjectEvtWithIntEventArgs e) => { - received_int = e.arg; + received_int = e.Arg; }; obj.EmitEventWithInt(-1984); @@ -95,7 +96,7 @@ class TestEoEvents bool received_bool = false; obj.EvtWithBoolEvent += (object sender, Dummy.TestObjectEvtWithBoolEventArgs e) => { - received_bool = e.arg; + received_bool = e.Arg; }; obj.EmitEventWithBool(true); @@ -113,7 +114,7 @@ class TestEoEvents var obj = new Dummy.TestObject(); uint received_uint = 0; obj.EvtWithUintEvent += (object sender, Dummy.TestObjectEvtWithUintEventArgs e) => { - received_uint = e.arg; + received_uint = e.Arg; }; obj.EmitEventWithUint(0xbeef); @@ -127,7 +128,7 @@ class TestEoEvents var obj = new Dummy.TestObject(); float received_float = 0; obj.EvtWithFloatEvent += (object sender, Dummy.TestObjectEvtWithFloatEventArgs e) => { - received_float = e.arg; + received_float = e.Arg; }; obj.EmitEventWithFloat(3.14f); @@ -142,7 +143,7 @@ class TestEoEvents double received_double = 0; double reference = float.MaxValue + 42; obj.EvtWithDoubleEvent += (object sender, Dummy.TestObjectEvtWithDoubleEventArgs e) => { - received_double = e.arg; + received_double = e.Arg; }; obj.EmitEventWithDouble(reference); @@ -157,7 +158,7 @@ class TestEoEvents Dummy.TestObject received_obj = null; obj.EvtWithObjEvent += (object sender, Dummy.TestObjectEvtWithObjEventArgs e) => { - received_obj = e.arg; + received_obj = e.Arg; }; var sent_obj = new Dummy.TestObject(); @@ -175,7 +176,7 @@ class TestEoEvents Eina.Error received_error = 0; obj.EvtWithErrorEvent += (object sender, Dummy.TestObjectEvtWithErrorEventArgs e) => { - received_error = e.arg; + received_error = e.Arg; }; Eina.Error sent_error = -2001; @@ -192,11 +193,10 @@ class TestEoEvents Dummy.StructSimple received_struct = default(Dummy.StructSimple); obj.EvtWithStructEvent += (object sender, Dummy.TestObjectEvtWithStructEventArgs e) => { - received_struct = e.arg; + received_struct = e.Arg; }; - Dummy.StructSimple sent_struct = default(Dummy.StructSimple); - sent_struct.Fstring = "Struct Event"; + Dummy.StructSimple sent_struct = new Dummy.StructSimple(fstring: "Struct Event"); obj.EmitEventWithStruct(sent_struct); @@ -211,7 +211,7 @@ class TestEoEvents Dummy.StructComplex received_struct = default(Dummy.StructComplex); obj.EvtWithStructComplexEvent += (object sender, Dummy.TestObjectEvtWithStructComplexEventArgs e) => { - received_struct = e.arg; + received_struct = e.Arg; }; Dummy.StructComplex sent_struct = StructHelpers.structComplexWithValues(); @@ -226,7 +226,7 @@ class TestEoEvents public static void event_with_array_payload() { var obj = new Dummy.TestObject(); - Eina.Array<string> received = null; + List<string> received = null; Eina.Array<string> sent = new Eina.Array<string>(); sent.Append("Abc"); @@ -234,7 +234,7 @@ class TestEoEvents sent.Append("Ghi"); obj.EvtWithArrayEvent += (object sender, Dummy.TestObjectEvtWithArrayEventArgs e) => { - received = e.arg; + received = e.Arg as List<string>; }; obj.EmitEventWithArray(sent); @@ -246,7 +246,6 @@ class TestEoEvents Test.AssertEquals(pair.Sent, pair.Received); } sent.Dispose(); - received.Dispose(); obj.Dispose(); } } @@ -320,7 +319,7 @@ class TestEventWithDeadWrappers EventHandler<Dummy.TestObjectEvtWithIntEventArgs> cb) { var obj = new Dummy.TestObject(); - manager.Emitter = obj; + manager.SetEmitter(obj); obj.EvtWithIntEvent += cb; return new WeakReference(obj); @@ -338,7 +337,7 @@ class TestEventWithDeadWrappers // attach to evt with int EventHandler<Dummy.TestObjectEvtWithIntEventArgs> cb = (object sender, Dummy.TestObjectEvtWithIntEventArgs args) => { callbackCalled = true; - received = args.arg; + received = args.Arg; Test.Assert(Object.ReferenceEquals(sender, wref.Target)); }; diff --git a/src/tests/efl_mono/Model.cs b/src/tests/efl_mono/Model.cs index bb6ba3b01c..bdf30b341d 100644 --- a/src/tests/efl_mono/Model.cs +++ b/src/tests/efl_mono/Model.cs @@ -3,6 +3,7 @@ using System; using System.Threading.Tasks; using System.Diagnostics.CodeAnalysis; +using Efl.Ui; #if EFL_BETA @@ -41,7 +42,7 @@ public static class TestModel { var veggies = CreateModel(loop); var model = new Efl.GenericModel<VeggieViewModel>(veggies, loop); - Test.AssertEquals(3, (int)model.GetChildrenCount()); + Test.AssertEquals(3, (int)model.ChildrenCount); VeggieViewModel r2 = await model.GetAtAsync(1).ConfigureAwait(false); Test.AssertEquals(r2.Name, "Romaine Lettuce"); @@ -68,11 +69,11 @@ public static class TestModel { { string propertyBound = null; bool callbackCalled = false; - var parent = new Efl.Ui.Win(null); + var parent = new Efl.Ui.Win(null, "", ""); parent.Visible = false; var factory = new Efl.Ui.ItemFactory<Efl.Ui.Button>(parent); factory.PropertyBoundEvent += (object sender, Efl.Ui.PropertyBindPropertyBoundEventArgs args) => { - propertyBound = args.arg; + propertyBound = args.Arg; callbackCalled = true; }; diff --git a/src/tests/efl_mono/Parts.cs b/src/tests/efl_mono/Parts.cs index 3e2da24152..e33ce96918 100644 --- a/src/tests/efl_mono/Parts.cs +++ b/src/tests/efl_mono/Parts.cs @@ -19,6 +19,7 @@ using System; using System.Diagnostics.CodeAnalysis; +using Efl.Ui; namespace TestSuite { @@ -50,9 +51,9 @@ public static class TestParts var p1 = t.OnePart; var p2 = t.TwoPart; Test.Assert(p1 is Dummy.TestObject); - Test.AssertEquals("part_one", p1.GetName()); + Test.AssertEquals("part_one", p1.Name); Test.Assert(p2 is Dummy.TestObject); - Test.AssertEquals("part_two", p2.GetName()); + Test.AssertEquals("part_two", p2.Name); } } @@ -60,7 +61,7 @@ public static class TestMVVMParts { public static void mvvm_dynamic_parts() { - var parent = new Efl.Ui.Win(null); + var parent = new Efl.Ui.Win(null, "", ""); parent.Visible = false; var factory = new Efl.Ui.ItemFactory<Efl.Ui.ListDefaultItem>(parent); @@ -74,7 +75,7 @@ public static class TestMVVMParts public static void mvvm_factory_properties() { - var parent = new Efl.Ui.Win(null); + var parent = new Efl.Ui.Win(null, "", ""); parent.Visible = false; var factory = new Efl.Ui.ItemFactory<Efl.Ui.ListDefaultItem>(parent); var iconFactory = new Efl.Ui.ImageFactory(null); @@ -96,9 +97,9 @@ public static class TestNamedParts var p1 = obj.GetPart("one"); var p2 = obj.GetPart("two"); Test.Assert(p1 is Dummy.TestObject); - Test.AssertEquals("part_one", p1.GetName()); + Test.AssertEquals("part_one", p1.Name); Test.Assert(p2 is Dummy.TestObject); - Test.AssertEquals("part_two", p2.GetName()); + Test.AssertEquals("part_two", p2.Name); obj.Dispose(); } } diff --git a/src/tests/efl_mono/StructHelpers.cs b/src/tests/efl_mono/StructHelpers.cs index 781dbc16f1..b6ceac4bd8 100644 --- a/src/tests/efl_mono/StructHelpers.cs +++ b/src/tests/efl_mono/StructHelpers.cs @@ -16,7 +16,9 @@ using System; using System.Linq; using System.Runtime.InteropServices; +using System.Collections.Generic; +using Eina; using static EinaTestData.BaseData; namespace TestSuite @@ -28,40 +30,38 @@ internal class StructHelpers internal static Dummy.StructSimple structSimpleWithValues() { - var simple = new Dummy.StructSimple(); - - simple.Fbyte = (sbyte)-126; - simple.Fubyte = (byte) 254u; - simple.Fchar = '~'; - simple.Fshort = (short) -32766; - simple.Fushort = (ushort) 65534u; - simple.Fint = -32766; - simple.Fuint = 65534u; - simple.Flong = -2147483646; - simple.Fulong = 4294967294u; - simple.Fllong = -9223372036854775806; - simple.Fullong = 18446744073709551614u; - simple.Fint8 = (sbyte) -126; - simple.Fuint8 = (byte) 254u; - simple.Fint16 = (short) -32766; - simple.Fuint16 = (ushort) 65534u; - simple.Fint32 = -2147483646; - simple.Fuint32 = 4294967294u; - simple.Fint64 = -9223372036854775806; - simple.Fuint64 = 18446744073709551614u; - simple.Fssize = -2147483646; - simple.Fsize = 4294967294u; - simple.Fintptr = (IntPtr) 0xFE; - simple.Fptrdiff = -2147483646; - simple.Ffloat = -16777216.0f; - simple.Fdouble = -9007199254740992.0; - simple.Fbool = true; - simple.Fenum = Dummy.SampleEnum.V2; - simple.Fstring = "test/string"; - simple.Fmstring = "test/mstring"; - simple.Fstringshare = "test/stringshare"; - - return simple; + return new Dummy.StructSimple( + fbyte: (sbyte)-126, + fubyte: (byte) 254u, + fchar: '~', + fshort: (short) -32766, + fushort: (ushort) 65534u, + fint: -32766, + fuint: 65534u, + flong: -2147483646, + fulong: 4294967294u, + fllong: -9223372036854775806, + fullong: 18446744073709551614u, + fint8: (sbyte) -126, + fuint8: (byte) 254u, + fint16: (short) -32766, + fuint16: (ushort) 65534u, + fint32: -2147483646, + fuint32: 4294967294u, + fint64: -9223372036854775806, + fuint64: 18446744073709551614u, + fssize: -2147483646, + fsize: 4294967294u, + fintptr: (IntPtr) 0xFE, + fptrdiff: -2147483646, + ffloat: -16777216.0f, + fdouble: -9007199254740992.0, + fbool: true, + fenum: Dummy.SampleEnum.V2, + fstring: "test/string", + fmstring: "test/mstring", + fstringshare: "test/stringshare" + ); } internal static void checkStructSimple(Dummy.StructSimple simple) @@ -135,42 +135,51 @@ internal class StructHelpers #if EFL_BETA internal static Dummy.StructComplex structComplexWithValues() { - var complex = new Dummy.StructComplex(); - - complex.Farray = new Eina.Array<string>(); - complex.Farray.Push("0x0"); - complex.Farray.Push("0x2A"); - complex.Farray.Push("0x42"); - - complex.Flist = new Eina.List<string>(); - complex.Flist.Append("0x0"); - complex.Flist.Append("0x2A"); - complex.Flist.Append("0x42"); - - complex.Fhash = new Eina.Hash<string, string>(); - complex.Fhash["aa"] = "aaa"; - complex.Fhash["bb"] = "bbb"; - complex.Fhash["cc"] = "ccc"; - - complex.Fiterator = complex.Farray.GetIterator(); - - complex.Fany_value = new Eina.Value(Eina.ValueType.Double); - complex.Fany_value.Set(-9007199254740992.0); - - complex.Fany_value_ref = new Eina.Value(Eina.ValueType.String); - complex.Fany_value_ref.Set("abc"); - - complex.Fbinbuf = new Eina.Binbuf(); - complex.Fbinbuf.Append(126); - - complex.Fslice.Length = 1; - complex.Fslice.Mem = Eina.MemoryNative.Alloc(1); - Marshal.WriteByte(complex.Fslice.Mem, 125); - - complex.Fobj = new Dummy.Numberwrapper(); - complex.Fobj.SetNumber(42); - - return complex; + var Farray = new Eina.Array<string>(); + Farray.Add("0x0"); + Farray.Add("0x2A"); + Farray.Add("0x42"); + + var Flist = new Eina.List<string>(); + Flist.Add("0x0"); + Flist.Add("0x2A"); + Flist.Add("0x42"); + + var Fhash = new Eina.Hash<string, string>(); + Fhash["aa"] = "aaa"; + Fhash["bb"] = "bbb"; + Fhash["cc"] = "ccc"; + + var Fiterator = ((Eina.Array<string>)Farray).GetIterator(); + var Faccessor = ((Eina.Array<string>)Farray).GetAccessor(); + + var Fany_value = new Eina.Value(Eina.ValueType.Double); + Fany_value.Set(-9007199254740992.0); + + var Fany_value_ref = new Eina.Value(Eina.ValueType.String); + Fany_value_ref.Set("abc"); + + var Fbinbuf = new Eina.Binbuf(); + Fbinbuf.Append(126); + + var Fslice = new Eina.Slice(Eina.MemoryNative.Alloc(1), (UIntPtr)1); + Marshal.WriteByte(Fslice.Mem, 125); + + var Fobj = new Dummy.Numberwrapper(); + Fobj.Number = 42; + + return new Dummy.StructComplex( + farray: Farray, + flist: Flist, + fhash: Fhash, + fiterator: Fiterator, + faccessor: Faccessor, + fanyValue:Fany_value, + fanyValueRef: Fany_value_ref, + fbinbuf: Fbinbuf, + fslice:Fslice, + fobj: Fobj + ); } internal static void checkStructComplex(Dummy.StructComplex complex) @@ -192,11 +201,11 @@ internal class StructHelpers Test.AssertEquals(idx, base_seq_str.Length); double double_val = 0; - Test.Assert(complex.Fany_value.Get(out double_val)); + Test.Assert(complex.FanyValue.Get(out double_val)); Test.Assert(double_val == -9007199254740992.0); string str_val = null; - Test.Assert(complex.Fany_value_ref.Get(out str_val)); + Test.Assert(complex.FanyValueRef.Get(out str_val)); Test.Assert(str_val == "abc"); Test.Assert(complex.Fbinbuf.Length == 1); @@ -206,7 +215,7 @@ internal class StructHelpers Test.Assert(complex.Fslice.GetBytes()[0] == 125); Test.Assert(complex.Fobj != null); - Test.Assert(complex.Fobj.GetNumber() == 42); + Test.Assert(complex.Fobj.Number == 42); } @@ -216,8 +225,8 @@ internal class StructHelpers Test.Assert(complex.Flist == null); Test.Assert(complex.Fhash == null); Test.Assert(complex.Fiterator == null); - Test.Assert(complex.Fany_value == null); - Test.Assert(complex.Fany_value_ref == null); + Test.Assert(complex.FanyValue == null); + Test.Assert(complex.FanyValueRef == null); Test.Assert(complex.Fbinbuf == null); Test.Assert(complex.Fslice.Length == 0); diff --git a/src/tests/efl_mono/Structs.cs b/src/tests/efl_mono/Structs.cs index d546298908..334057c907 100644 --- a/src/tests/efl_mono/Structs.cs +++ b/src/tests/efl_mono/Structs.cs @@ -180,8 +180,7 @@ internal class TestStructs public override bool StructSimpleOut(out Dummy.StructSimple simple) { called = true; - simple = new Dummy.StructSimple(); - simple.Fstring = "Virtual Struct Out"; + simple = new Dummy.StructSimple(fstring: "Virtual Struct Out"); return true; } @@ -206,8 +205,7 @@ internal class TestStructs public override Dummy.StructSimple StructSimpleReturn() { called = true; - var simple = new Dummy.StructSimple(); - simple.Fstring = "Virtual Struct Return"; + var simple = new Dummy.StructSimple(fstring: "Virtual Struct Return"); return simple; } @@ -234,7 +232,6 @@ internal class TestStructs { StructReturner t = new StructReturner(); var simple = structSimpleWithValues(); - simple.Fstring = "Virtual Struct In"; t.CallStructSimpleIn(simple); Test.Assert(t.called); @@ -352,6 +349,50 @@ internal class TestStructs t.Dispose(); } + public static void complex_iterator_retrieves_list_correctly() + { + var complex = structComplexWithValues(); + + var i = 0; + foreach (var elm in complex.Fiterator) { + Test.AssertEquals(elm, complex.Flist[i]); + i++; + } + } + + public static void complex_iterator_retrieves_array_correctly() + { + var complex = structComplexWithValues(); + + var i = 0; + foreach (var elm in complex.Fiterator) { + Test.AssertEquals(elm, complex.Farray[i]); + i++; + } + } + + public static void complex_accessor_retrieves_list_correctly() + { + var complex = structComplexWithValues(); + + var i = 0; + foreach (var elm in complex.Faccessor) { + Test.AssertEquals(elm, complex.Flist[i]); + i++; + } + } + + public static void complex_accessor_retrieves_array_correctly() + { + var complex = structComplexWithValues(); + + var i = 0; + foreach (var elm in complex.Faccessor) { + Test.AssertEquals(elm, complex.Farray[i]); + i++; + } + } + // public static void complex_ptr_out() // { // } @@ -379,13 +420,13 @@ internal class TestStructs internal class TestStructEquality { - static Dummy.StructSimple a = new Dummy.StructSimple(1, 2, (char)3, 4, Fstring: "", Fmstring: "", Fstringshare: ""); - static Dummy.StructSimple b = new Dummy.StructSimple(1, 2, (char)3, 4, Fstring: "", Fmstring: "", Fstringshare: ""); + static Dummy.StructSimple a = new Dummy.StructSimple(1, 2, (char)3, 4, fstring: "", fmstring: "", fstringshare: ""); + static Dummy.StructSimple b = new Dummy.StructSimple(1, 2, (char)3, 4, fstring: "", fmstring: "", fstringshare: ""); - static Dummy.StructSimple c = new Dummy.StructSimple(4, 3, (char)2, 1, Fstring: "", Fmstring: "", Fstringshare: ""); + static Dummy.StructSimple c = new Dummy.StructSimple(4, 3, (char)2, 1, fstring: "", fmstring: "", fstringshare: ""); // to check if we differ on a single struct field - static Dummy.StructSimple singleDifferentField = new Dummy.StructSimple(1, 2, (char)3, 5, Fstring: "", Fmstring: "", Fstringshare: ""); + static Dummy.StructSimple singleDifferentField = new Dummy.StructSimple(1, 2, (char)3, 5, fstring: "", fmstring: "", fstringshare: ""); public static void test_equals() { @@ -458,15 +499,14 @@ internal class TestStructTuples #if EFL_BETA public static void test_complex_fields_assign_conversion() { var pos = new Eina.Position2D(1, 2); - var action = Efl.Ui.SelectionAction.Unknown; - var format = Efl.Ui.SelectionFormat.None; - var item = null as Efl.Canvas.Vg.Object; - - Efl.Dnd.DragPos attr = (pos, action, format, item); - Test.AssertEquals(attr.Pos, pos); - Test.AssertEquals(attr.Action, action); - Test.AssertEquals(attr.Format, format); - Test.AssertEquals(attr.Item, item); + uint seat = 3; + var types = new System.String[] {"text", "markup"}; + + Efl.Ui.DropEvent attr = (pos, seat, types); + Test.AssertEquals(attr.Position, pos); + Test.AssertEquals(attr.Seat, seat); + Test.AssertEquals(attr.AvailableTypes.ElementAt(0), types[0]); + Test.AssertEquals(attr.AvailableTypes.ElementAt(1), types[1]); } #endif } diff --git a/src/tests/efl_mono/Value.cs b/src/tests/efl_mono/Value.cs index 29856d44ce..a82893947e 100644 --- a/src/tests/efl_mono/Value.cs +++ b/src/tests/efl_mono/Value.cs @@ -877,6 +877,510 @@ public static class TestEinaValue { } } + public static void TestInsertValueArrayOfSByte() + { + using (Eina.Value array = new Eina.Value(Eina.ValueType.Array, Eina.ValueType.SByte)) { + Test.AssertEquals(0, array.Count()); + Test.Assert(!array.Insert(0, 3)); + Test.Assert(!array.Insert(0, 1)); + Test.Assert(!array.Insert(-123, 12)); + Test.AssertEquals(0, array.Count()); + + Test.Assert(array.Insert(0, 0)); + Test.AssertEquals(1, array.Count()); + Test.Assert(array.Insert(6, 1)); + Test.AssertEquals(2, array.Count()); + Test.Assert(array.Insert(-122, 0)); + Test.AssertEquals(3, array.Count()); + Test.Assert(array.Insert(30, 1)); + Test.AssertEquals(4, array.Count()); + + Test.AssertEquals((sbyte)array[0], (sbyte)-122); + Test.AssertEquals((sbyte)array[1], (sbyte)30); + Test.AssertEquals((sbyte)array[2], (sbyte)0); + Test.AssertEquals((sbyte)array[3], (sbyte)6); + + array[0] = 120; + array[1] = -42; + Test.AssertEquals(4, array.Count()); + + Test.AssertEquals((sbyte)array[0], (sbyte)120); + Test.AssertEquals((sbyte)array[1], (sbyte)-42); + Test.AssertEquals((sbyte)array[2], (sbyte)0); + Test.AssertEquals((sbyte)array[3], (sbyte)6); + + Test.AssertEquals("[120, -42, 0, 6]", array.ToString()); + } + } + + public static void TestInsertValueArrayOfByte() + { + using (Eina.Value array = new Eina.Value(Eina.ValueType.Array, Eina.ValueType.Byte)) { + Test.AssertEquals(0, array.Count()); + Test.Assert(!array.Insert(0, 3)); + Test.Assert(!array.Insert(0, 1)); + Test.Assert(!array.Insert(123, 12)); + Test.AssertEquals(0, array.Count()); + + Test.Assert(array.Insert(0, 0)); + Test.AssertEquals(1, array.Count()); + Test.Assert(array.Insert(6, 1)); + Test.AssertEquals(2, array.Count()); + Test.Assert(array.Insert(122, 0)); + Test.AssertEquals(3, array.Count()); + Test.Assert(array.Insert(30, 1)); + Test.AssertEquals(4, array.Count()); + + Test.AssertEquals((byte)array[0], (byte)122); + Test.AssertEquals((byte)array[1], (byte)30); + Test.AssertEquals((byte)array[2], (byte)0); + Test.AssertEquals((byte)array[3], (byte)6); + + array[0] = 120; + array[1] = 42; + Test.AssertEquals(4, array.Count()); + + Test.AssertEquals((byte)array[0], (byte)120); + Test.AssertEquals((byte)array[1], (byte)42); + Test.AssertEquals((byte)array[2], (byte)0); + Test.AssertEquals((byte)array[3], (byte)6); + + Test.AssertEquals("[120, 42, 0, 6]", array.ToString()); + } + } + + public static void TestInsertValueArrayOfInts() + { + using (Eina.Value array = new Eina.Value(Eina.ValueType.Array, Eina.ValueType.Int32)) { + Test.AssertEquals(0, array.Count()); + Test.Assert(!array.Insert(0, 3)); + Test.Assert(!array.Insert(0, 1)); + Test.Assert(!array.Insert(123, 12)); + Test.AssertEquals(0, array.Count()); + + Test.Assert(array.Insert(0, 0)); + Test.AssertEquals(1, array.Count()); + Test.Assert(array.Insert(1, 1)); + Test.AssertEquals(2, array.Count()); + Test.Assert(array.Insert(5, 0)); + Test.AssertEquals(3, array.Count()); + Test.Assert(array.Insert(42, 1)); + Test.AssertEquals(4, array.Count()); + + Test.AssertEquals((int)array[0], (int)5); + Test.AssertEquals((int)array[1], (int)42); + Test.AssertEquals((int)array[2], (int)0); + Test.AssertEquals((int)array[3], (int)1); + + array[0] = 1984; + array[1] = -42; + Test.AssertEquals(4, array.Count()); + + Test.AssertEquals((int)array[0], (int)1984); + Test.AssertEquals((int)array[1], (int)-42); + Test.AssertEquals((int)array[2], (int)0); + Test.AssertEquals((int)array[3], (int)1); + + Test.AssertEquals("[1984, -42, 0, 1]", array.ToString()); + } + } + + public static void TestInsertValueArrayOfInt64s() + { + using (Eina.Value array = new Eina.Value(Eina.ValueType.Array, Eina.ValueType.Int64)) { + Test.AssertEquals(0, array.Count()); + Test.Assert(!array.Insert(0, 3)); + Test.Assert(!array.Insert(0, 1)); + Test.Assert(!array.Insert(123, 12)); + Test.AssertEquals(0, array.Count()); + + Test.Assert(array.Insert(0,0)); + Test.AssertEquals(1, array.Count()); + Test.Assert(array.Insert(10000000000,1)); + Test.AssertEquals(2, array.Count()); + Test.Assert(array.Insert(5,0)); + Test.AssertEquals(3, array.Count()); + Test.Assert(array.Insert(42,1)); + Test.AssertEquals(4, array.Count()); + + Test.AssertEquals((long)array[0], (long)5); + Test.AssertEquals((long)array[1], (long)42); + Test.AssertEquals((long)array[2], (long)0); + Test.AssertEquals((long)array[3], (long)10000000000); + + array[0] = 1984; + array[1] = -42; + Test.AssertEquals(4, array.Count()); + + Test.AssertEquals((long)array[0], (long)1984); + Test.AssertEquals((long)array[1], (long)-42); + Test.AssertEquals((long)array[2], (long)0); + Test.AssertEquals((long)array[3], (long)10000000000); + + Test.AssertEquals("[1984, -42, 0, 10000000000]", array.ToString()); + } + } + + public static void TestInsertValueArrayOfUInts() + { + + using (Eina.Value array = new Eina.Value(Eina.ValueType.Array, Eina.ValueType.UInt32)) { + Test.AssertEquals(0, array.Count()); + Test.Assert(!array.Insert(0, 3)); + Test.Assert(!array.Insert(0, 1)); + Test.Assert(!array.Insert(123, 12)); + Test.AssertEquals(0, array.Count()); + + Test.Assert(array.Insert(0,0)); + Test.AssertEquals(1, array.Count()); + Test.Assert(array.Insert(7,1)); + Test.AssertEquals(2, array.Count()); + Test.Assert(array.Insert(5,0)); + Test.AssertEquals(3, array.Count()); + Test.Assert(array.Insert(42,1)); + Test.AssertEquals(4, array.Count()); + + Test.AssertEquals((uint)array[0], (uint)5); + Test.AssertEquals((uint)array[1], (uint)42); + Test.AssertEquals((uint)array[2], (uint)0); + Test.AssertEquals((uint)array[3], (uint)7); + + array[0] = 1984; + array[1] = 100; + Test.AssertEquals(4, array.Count()); + + Test.AssertEquals((uint)array[0], (uint)1984); + Test.AssertEquals((uint)array[1], (uint)100); + Test.AssertEquals((uint)array[2], (uint)0); + Test.AssertEquals((uint)array[3], (uint)7); + + Test.AssertEquals("[1984, 100, 0, 7]", array.ToString()); + } + } + + public static void TestInsertValueArrayOfStrings() + { + + using (Eina.Value array = new Eina.Value(Eina.ValueType.Array, Eina.ValueType.String)) { + + Test.AssertEquals(0, array.Count()); + Test.Assert(!array.Insert("hello",3)); + Test.Assert(!array.Insert("world",12)); + Test.AssertEquals(0, array.Count()); + + Test.Assert(array.Insert("hello",0)); + Test.Assert(array.Insert("world",1)); + Test.Assert(array.Insert("first",0)); + Test.Assert(array.Insert("sec",1)); + + Test.AssertEquals((string)array[0], (string)"first"); + Test.AssertEquals((string)array[1], (string)"sec"); + Test.AssertEquals((string)array[2], (string)"hello"); + Test.AssertEquals((string)array[3], (string)"world"); + + array[0] = "efl"; + array[1] = "rocks"; + Test.AssertEquals(4, array.Count()); + + Test.AssertEquals((string)array[0], (string)"efl"); + Test.AssertEquals((string)array[1], (string)"rocks"); + Test.AssertEquals((string)array[2], (string)"hello"); + Test.AssertEquals((string)array[3], (string)"world"); + } + } + + public static void TestInsertValueArrayOfObjects() + { + + using (Eina.Value array = new Eina.Value(Eina.ValueType.Array, Eina.ValueType.Object)) { + + var a = new Dummy.TestObject(); + var b = new Dummy.TestObject(); + var c = new Dummy.TestObject(); + var d = new Dummy.TestObject(); + + Test.AssertEquals(0, array.Count()); + Test.Assert(!array.Insert(a,12)); + Test.Assert(!array.Insert(b,3)); + Test.AssertEquals(0, array.Count()); + + Test.Assert(array.Insert(a,0)); + Test.Assert(array.Insert(b,1)); + Test.Assert(array.Insert(c,0)); + Test.Assert(array.Insert(d,1)); + + Test.AssertEquals((Efl.Object)array[0], c); + Test.AssertEquals((Efl.Object)array[1], d); + Test.AssertEquals((Efl.Object)array[2], a); + Test.AssertEquals((Efl.Object)array[3], b); + + array[0] = a; + array[1] = b; + + Test.AssertEquals((Efl.Object)array[0], a); + Test.AssertEquals((Efl.Object)array[1], b); + Test.AssertEquals((Efl.Object)array[2], a); + Test.AssertEquals((Efl.Object)array[3], b); + + d.Dispose(); + c.Dispose(); + b.Dispose(); + a.Dispose(); + } + } + + public static void TestInsertValueListOfSByte() + { + using (Eina.Value list = new Eina.Value(Eina.ValueType.List, Eina.ValueType.SByte)) { + Test.AssertEquals(0, list.Count()); + Test.Assert(!list.Insert(0, 3)); + Test.Assert(!list.Insert(0, 1)); + Test.Assert(!list.Insert(-123, 12)); + Test.AssertEquals(0, list.Count()); + + Test.Assert(list.Insert(0, 0)); + Test.AssertEquals(1, list.Count()); + Test.Assert(list.Insert(6, 1)); + Test.AssertEquals(2, list.Count()); + Test.Assert(list.Insert(-122, 0)); + Test.AssertEquals(3, list.Count()); + Test.Assert(list.Insert(30, 1)); + Test.AssertEquals(4, list.Count()); + + Test.AssertEquals((sbyte)list[0], (sbyte)-122); + Test.AssertEquals((sbyte)list[1], (sbyte)30); + Test.AssertEquals((sbyte)list[2], (sbyte)0); + Test.AssertEquals((sbyte)list[3], (sbyte)6); + + list[0] = 120; + list[1] = -42; + Test.AssertEquals(4, list.Count()); + + Test.AssertEquals((sbyte)list[0], (sbyte)120); + Test.AssertEquals((sbyte)list[1], (sbyte)-42); + Test.AssertEquals((sbyte)list[2], (sbyte)0); + Test.AssertEquals((sbyte)list[3], (sbyte)6); + + Test.AssertEquals("[120, -42, 0, 6]", list.ToString()); + } + } + + public static void TestInsertValueListOfByte() + { + using (Eina.Value list = new Eina.Value(Eina.ValueType.List, Eina.ValueType.Byte)) { + Test.AssertEquals(0, list.Count()); + Test.Assert(!list.Insert(0, 3)); + Test.Assert(!list.Insert(0, 1)); + Test.Assert(!list.Insert(123, 12)); + Test.AssertEquals(0, list.Count()); + + Test.Assert(list.Insert(0, 0)); + Test.AssertEquals(1, list.Count()); + Test.Assert(list.Insert(6, 1)); + Test.AssertEquals(2, list.Count()); + Test.Assert(list.Insert(122, 0)); + Test.AssertEquals(3, list.Count()); + Test.Assert(list.Insert(30, 1)); + Test.AssertEquals(4, list.Count()); + + Test.AssertEquals((byte)list[0], (byte)122); + Test.AssertEquals((byte)list[1], (byte)30); + Test.AssertEquals((byte)list[2], (byte)0); + Test.AssertEquals((byte)list[3], (byte)6); + + list[0] = 120; + list[1] = 42; + Test.AssertEquals(4, list.Count()); + + Test.AssertEquals((byte)list[0], (byte)120); + Test.AssertEquals((byte)list[1], (byte)42); + Test.AssertEquals((byte)list[2], (byte)0); + Test.AssertEquals((byte)list[3], (byte)6); + + Test.AssertEquals("[120, 42, 0, 6]", list.ToString()); + } + } + + public static void TestInsertValueListOfInts() + { + using (Eina.Value list = new Eina.Value(Eina.ValueType.List, Eina.ValueType.Int32)) { + Test.AssertEquals(0, list.Count()); + Test.Assert(!list.Insert(0, 3)); + Test.Assert(!list.Insert(0, 1)); + Test.Assert(!list.Insert(123, 12)); + Test.AssertEquals(0, list.Count()); + + Test.Assert(list.Insert(0, 0)); + Test.AssertEquals(1, list.Count()); + Test.Assert(list.Insert(1, 1)); + Test.AssertEquals(2, list.Count()); + Test.Assert(list.Insert(5, 0)); + Test.AssertEquals(3, list.Count()); + Test.Assert(list.Insert(42, 1)); + Test.AssertEquals(4, list.Count()); + + Test.AssertEquals((int)list[0], (int)5); + Test.AssertEquals((int)list[1], (int)42); + Test.AssertEquals((int)list[2], (int)0); + Test.AssertEquals((int)list[3], (int)1); + + list[0] = 1984; + list[1] = -42; + Test.AssertEquals(4, list.Count()); + + Test.AssertEquals((int)list[0], (int)1984); + Test.AssertEquals((int)list[1], (int)-42); + Test.AssertEquals((int)list[2], (int)0); + Test.AssertEquals((int)list[3], (int)1); + + Test.AssertEquals("[1984, -42, 0, 1]", list.ToString()); + } + } + + public static void TestInsertValueListOfInt64s() + { + using (Eina.Value list = new Eina.Value(Eina.ValueType.List, Eina.ValueType.Int64)) { + Test.AssertEquals(0, list.Count()); + Test.Assert(!list.Insert(0, 3)); + Test.Assert(!list.Insert(0, 1)); + Test.Assert(!list.Insert(123, 12)); + Test.AssertEquals(0, list.Count()); + + Test.Assert(list.Insert(0,0)); + Test.AssertEquals(1, list.Count()); + Test.Assert(list.Insert(10000000000,1)); + Test.AssertEquals(2, list.Count()); + Test.Assert(list.Insert(5,0)); + Test.AssertEquals(3, list.Count()); + Test.Assert(list.Insert(42,1)); + Test.AssertEquals(4, list.Count()); + + Test.AssertEquals((long)list[0], (long)5); + Test.AssertEquals((long)list[1], (long)42); + Test.AssertEquals((long)list[2], (long)0); + Test.AssertEquals((long)list[3], (long)10000000000); + + list[0] = 1984; + list[1] = -42; + Test.AssertEquals(4, list.Count()); + + Test.AssertEquals((long)list[0], (long)1984); + Test.AssertEquals((long)list[1], (long)-42); + Test.AssertEquals((long)list[2], (long)0); + Test.AssertEquals((long)list[3], (long)10000000000); + + Test.AssertEquals("[1984, -42, 0, 10000000000]", list.ToString()); + } + } + + public static void TestInsertValueListOfUInts() + { + + using (Eina.Value list = new Eina.Value(Eina.ValueType.List, Eina.ValueType.UInt32)) { + Test.AssertEquals(0, list.Count()); + Test.Assert(!list.Insert(0, 3)); + Test.Assert(!list.Insert(0, 1)); + Test.Assert(!list.Insert(123, 12)); + Test.AssertEquals(0, list.Count()); + + Test.Assert(list.Insert(0,0)); + Test.AssertEquals(1, list.Count()); + Test.Assert(list.Insert(7,1)); + Test.AssertEquals(2, list.Count()); + Test.Assert(list.Insert(5,0)); + Test.AssertEquals(3, list.Count()); + Test.Assert(list.Insert(42,1)); + Test.AssertEquals(4, list.Count()); + + Test.AssertEquals((uint)list[0], (uint)5); + Test.AssertEquals((uint)list[1], (uint)42); + Test.AssertEquals((uint)list[2], (uint)0); + Test.AssertEquals((uint)list[3], (uint)7); + + list[0] = 1984; + list[1] = 100; + Test.AssertEquals(4, list.Count()); + + Test.AssertEquals((uint)list[0], (uint)1984); + Test.AssertEquals((uint)list[1], (uint)100); + Test.AssertEquals((uint)list[2], (uint)0); + Test.AssertEquals((uint)list[3], (uint)7); + + Test.AssertEquals("[1984, 100, 0, 7]", list.ToString()); + } + } + + public static void TestInsertValueListOfStrings() + { + + using (Eina.Value list = new Eina.Value(Eina.ValueType.List, Eina.ValueType.String)) { + + Test.AssertEquals(0, list.Count()); + Test.Assert(!list.Insert("Nice",2)); + Test.Assert(!list.Insert("efl",5)); + Test.AssertEquals(0, list.Count()); + + Test.Assert(list.Insert("hello",0)); + Test.Assert(list.Insert("world",1)); + Test.Assert(list.Insert("first",0)); + Test.Assert(list.Insert("sec",1)); + + Test.AssertEquals((string)list[0], (string)"first"); + Test.AssertEquals((string)list[1], (string)"sec"); + Test.AssertEquals((string)list[2], (string)"hello"); + Test.AssertEquals((string)list[3], (string)"world"); + + list[0] = "efl"; + list[1] = "rocks"; + Test.AssertEquals(4, list.Count()); + + Test.AssertEquals((string)list[0], (string)"efl"); + Test.AssertEquals((string)list[1], (string)"rocks"); + Test.AssertEquals((string)list[2], (string)"hello"); + Test.AssertEquals((string)list[3], (string)"world"); + } + } + + public static void TestInsertValueListOfObjects() + { + + using (Eina.Value list = new Eina.Value(Eina.ValueType.List, Eina.ValueType.Object)) { + + var a = new Dummy.TestObject(); + var b = new Dummy.TestObject(); + var c = new Dummy.TestObject(); + var d = new Dummy.TestObject(); + + Test.AssertEquals(0, list.Count()); + Test.Assert(!list.Insert(a,6)); + Test.Assert(!list.Insert(b,1)); + Test.Assert(!list.Insert(c,7)); + Test.AssertEquals(0, list.Count()); + + Test.Assert(list.Insert(a,0)); + Test.Assert(list.Insert(b,1)); + Test.Assert(list.Insert(c,0)); + Test.Assert(list.Insert(d,1)); + + Test.AssertEquals((Efl.Object)list[0], c); + Test.AssertEquals((Efl.Object)list[1], d); + Test.AssertEquals((Efl.Object)list[2], a); + Test.AssertEquals((Efl.Object)list[3], b); + + list[0] = a; + list[1] = b; + + Test.AssertEquals((Efl.Object)list[0], a); + Test.AssertEquals((Efl.Object)list[1], b); + Test.AssertEquals((Efl.Object)list[2], a); + Test.AssertEquals((Efl.Object)list[3], b); + + d.Dispose(); + c.Dispose(); + b.Dispose(); + a.Dispose(); + } + } public static void TestArrayOutOfBounds() { using (Eina.Value array = new Eina.Value(Eina.ValueType.Array, Eina.ValueType.Int32)) { diff --git a/src/tests/efl_mono/dummy_child.eo b/src/tests/efl_mono/dummy_child.eo index f6de361c45..2b476a5b81 100644 --- a/src/tests/efl_mono/dummy_child.eo +++ b/src/tests/efl_mono/dummy_child.eo @@ -4,6 +4,7 @@ class Dummy.Child extends Dummy.Test_Object { methods { double_params { + [[Docs for method double_params. @since 1.66]] params { @in a: string; @in b: double; @@ -11,6 +12,7 @@ class Dummy.Child extends Dummy.Test_Object { } @property iface_was_set { + [[Docs for property iface_was_set. @since 1.66]] get {} values { data: bool; @@ -30,6 +32,7 @@ class Dummy.Child extends Dummy.Test_Object { } @property obligatory_beta_ctor_was_called { + [[Docs for property obligatory_beta_ctor_was_called. @since 1.66]] get{} values { data: bool; @@ -37,6 +40,7 @@ class Dummy.Child extends Dummy.Test_Object { } @property optional_beta_ctor_was_called { + [[Docs for property optional_beta_ctor_was_called. @since 1.66]] get{} values { data: bool; diff --git a/src/tests/efl_mono/dummy_event_manager.c b/src/tests/efl_mono/dummy_event_manager.c index 813622929a..62bdd05c7f 100644 --- a/src/tests/efl_mono/dummy_event_manager.c +++ b/src/tests/efl_mono/dummy_event_manager.c @@ -43,12 +43,6 @@ _dummy_event_manager_emitter_set(EINA_UNUSED Eo *obj, Dummy_Event_Manager_Data * pd->emitter = emitter; } -static Efl_Object* -_dummy_event_manager_emitter_get(EINA_UNUSED Eo const *obj, Dummy_Event_Manager_Data *pd) -{ - return pd->emitter; -} - static Eina_Bool _dummy_event_manager_emit_with_int(EINA_UNUSED Eo *obj, Dummy_Event_Manager_Data *pd, int data) { diff --git a/src/tests/efl_mono/dummy_event_manager.eo b/src/tests/efl_mono/dummy_event_manager.eo index 5c8b1d0791..b16f7b92cb 100644 --- a/src/tests/efl_mono/dummy_event_manager.eo +++ b/src/tests/efl_mono/dummy_event_manager.eo @@ -4,6 +4,8 @@ class Dummy.Event_Manager extends Efl.Object { methods { @property emitter { + set { + } values { emitter: Efl.Object @move; } diff --git a/src/tests/efl_mono/dummy_hidden_object.eo b/src/tests/efl_mono/dummy_hidden_object.eo index 1b29472a1c..6fab21119c 100644 --- a/src/tests/efl_mono/dummy_hidden_object.eo +++ b/src/tests/efl_mono/dummy_hidden_object.eo @@ -1,2 +1,3 @@ class Dummy.Hidden_Object extends Efl.Object { + [[Docs for class Dummy.Hidden_Object. @since 1.66]] } diff --git a/src/tests/efl_mono/dummy_inherit_helper.eo b/src/tests/efl_mono/dummy_inherit_helper.eo index f0f9183ebb..9bc909e206 100644 --- a/src/tests/efl_mono/dummy_inherit_helper.eo +++ b/src/tests/efl_mono/dummy_inherit_helper.eo @@ -1,5 +1,5 @@ -class Dummy.Inherit_Helper extends Efl.Object -{ +class Dummy.Inherit_Helper extends Efl.Object { + [[Docs for class Dummy.Inherit_Helper. @since 1.66]] methods { receive_dummy_and_call_int_out @static { params { diff --git a/src/tests/efl_mono/dummy_inherit_iface.eo b/src/tests/efl_mono/dummy_inherit_iface.eo index e18403fcd2..be1cdae05e 100644 --- a/src/tests/efl_mono/dummy_inherit_iface.eo +++ b/src/tests/efl_mono/dummy_inherit_iface.eo @@ -1,4 +1,5 @@ interface Dummy.Inherit_Iface { + [[Docs for interface Dummy.Inherit_Iface. @since 1.66]] methods { stringshare_test { params { diff --git a/src/tests/efl_mono/dummy_numberwrapper.eo b/src/tests/efl_mono/dummy_numberwrapper.eo index 98b265233c..8811fc0b16 100644 --- a/src/tests/efl_mono/dummy_numberwrapper.eo +++ b/src/tests/efl_mono/dummy_numberwrapper.eo @@ -1,4 +1,5 @@ class Dummy.Numberwrapper extends Efl.Object { + [[Docs for class Dummy.Numberwrapper. @since 1.66]] methods { @property number { get { diff --git a/src/tests/efl_mono/dummy_part_holder.eo b/src/tests/efl_mono/dummy_part_holder.eo index 1ac88007fc..d096e8ffef 100644 --- a/src/tests/efl_mono/dummy_part_holder.eo +++ b/src/tests/efl_mono/dummy_part_holder.eo @@ -1,6 +1,7 @@ import eina_types; class Dummy.Part_Holder extends Dummy.Test_Object implements Efl.Part { + [[Docs for class Dummy.Part_Holder. @since 1.66]] parts { one: Dummy.Test_Object; [[ Part number one. ]] diff --git a/src/tests/efl_mono/dummy_test_object.c b/src/tests/efl_mono/dummy_test_object.c index 19539906f4..210f2ca51f 100644 --- a/src/tests/efl_mono/dummy_test_object.c +++ b/src/tests/efl_mono/dummy_test_object.c @@ -16,7 +16,6 @@ #define DUMMY_TEST_IFACE_PROTECTED -#include <assert.h> #include "libefl_mono_native_test.h" typedef struct Dummy_Test_Object_Data @@ -39,6 +38,8 @@ typedef struct Dummy_Test_Object_Data int prop1; int prop2; Eo *hidden_object; + Dummy_Test_Iface *iface_value_prop; + Efl_Class *iface_klass; // Containers passed to C# as iterator/accessors Eina_Array *out_array; @@ -4613,36 +4614,6 @@ void _dummy_test_object_multi_valued_prop_set(Eo* obj EINA_UNUSED, Dummy_Test_Ob pd->prop2 = prop2; } -void _dummy_test_object_keyed_multi_valued_prop_get(Eo const* obj EINA_UNUSED, Dummy_Test_Object_Data* pd, int prop_key1, int* prop1, int* prop2) -{ - assert (prop_key1 == 100); - *prop1 = pd->prop1; - *prop2 = pd->prop2; -} - -void _dummy_test_object_keyed_multi_valued_prop_set(Eo* obj EINA_UNUSED, Dummy_Test_Object_Data* pd, int prop_key1, int prop1, int prop2) -{ - assert (prop_key1 == 100); - pd->prop1 = prop1; - pd->prop2 = prop2; -} - -void _dummy_test_object_multi_keyed_multi_valued_prop_get(Eo const* obj EINA_UNUSED, Dummy_Test_Object_Data* pd, int prop_key1, int prop_key2, int* prop1, int* prop2) -{ - assert (prop_key1 == 100); - assert (prop_key2 == 101); - *prop1 = pd->prop1; - *prop2 = pd->prop2; -} - -void _dummy_test_object_multi_keyed_multi_valued_prop_set(Eo* obj EINA_UNUSED, Dummy_Test_Object_Data* pd, int prop_key1, int prop_key2, int prop1, int prop2) -{ - assert (prop_key1 == 100); - assert (prop_key2 == 101); - pd->prop1 = prop1; - pd->prop2 = prop2; -} - /* Class Properties */ static int _dummy_test_object_klass_prop = 0; @@ -4815,6 +4786,26 @@ Eo *_dummy_test_object_hidden_object_get(EINA_UNUSED const Eo *obj, Dummy_Test_O return pd->hidden_object; } +Dummy_Test_Iface *_dummy_test_object_iface_value_prop_get(EINA_UNUSED const Eo *obj, Dummy_Test_Object_Data *pd) +{ + return pd->iface_value_prop; +} + +void _dummy_test_object_iface_value_prop_set(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd, Dummy_Test_Iface *prop) +{ + pd->iface_value_prop = prop; +} + +void _dummy_test_object_iface_klass_prop_set(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd, Efl_Class *klass) +{ + pd->iface_klass = klass; +} + +Dummy_Test_Iface *_dummy_test_object_iface_value_from_c_get(const Eo *obj, Dummy_Test_Object_Data *pd) +{ + return efl_add(pd->iface_klass, (Eo*)obj); +} + // Inherit int _dummy_inherit_helper_receive_dummy_and_call_int_out(Dummy_Test_Object *x) { @@ -4828,5 +4819,63 @@ const char* _dummy_inherit_helper_receive_dummy_and_call_in_stringshare(Dummy_Te return dummy_inherit_iface_stringshare_test (x, eina_stringshare_add("hello world")); } +Eina_Success_Flag _dummy_test_object_return_type_get_prop_get(EINA_UNUSED const Eo *obj, Dummy_Test_Object_Data *pd EINA_UNUSED, int* i EINA_UNUSED) +{ + return EINA_TRUE; +} + +void _dummy_test_object_return_type_get_prop_set(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd EINA_UNUSED, int i EINA_UNUSED) +{ +} + +int _dummy_test_object_return_type_set_prop_get(EINA_UNUSED const Eo *obj, Dummy_Test_Object_Data *pd EINA_UNUSED) +{ + return 0; +} + +Eina_Success_Flag _dummy_test_object_return_type_set_prop_set(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd EINA_UNUSED, int i EINA_UNUSED) +{ + return EINA_TRUE; +} + +Eina_Success_Flag _dummy_test_object_return_type_prop_get(EINA_UNUSED const Eo *obj, Dummy_Test_Object_Data *pd EINA_UNUSED, int* i EINA_UNUSED) +{ + return EINA_TRUE; +} + +Eina_Success_Flag _dummy_test_object_return_type_prop_set(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd EINA_UNUSED, int i EINA_UNUSED) +{ + return EINA_TRUE; +} + +Eina_Success_Flag _dummy_test_object_multi_value_return_type_get_prop_get(EINA_UNUSED const Eo *obj, Dummy_Test_Object_Data *pd EINA_UNUSED, int* i EINA_UNUSED, int* j EINA_UNUSED) +{ + return EINA_TRUE; +} + +void _dummy_test_object_multi_value_return_type_get_prop_set(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd EINA_UNUSED, int i EINA_UNUSED, int j EINA_UNUSED) +{ +} + +void _dummy_test_object_multi_value_return_type_set_prop_get(EINA_UNUSED const Eo *obj, Dummy_Test_Object_Data *pd EINA_UNUSED, int* i EINA_UNUSED, int* j EINA_UNUSED) +{ +} + +Eina_Success_Flag _dummy_test_object_multi_value_return_type_set_prop_set(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd EINA_UNUSED, int i EINA_UNUSED, int j EINA_UNUSED) +{ + return EINA_TRUE; +} + +Eina_Success_Flag _dummy_test_object_multi_value_return_type_prop_get(EINA_UNUSED const Eo *obj, Dummy_Test_Object_Data *pd EINA_UNUSED, int* i EINA_UNUSED, int* j EINA_UNUSED) +{ + return EINA_TRUE; +} + +Eina_Success_Flag _dummy_test_object_multi_value_return_type_prop_set(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data *pd EINA_UNUSED, int i EINA_UNUSED, int j EINA_UNUSED) +{ + return EINA_TRUE; +} + + #include "dummy_test_object.eo.c" diff --git a/src/tests/efl_mono/dummy_test_object.eo b/src/tests/efl_mono/dummy_test_object.eo index 37c08cb495..85740f8b06 100644 --- a/src/tests/efl_mono/dummy_test_object.eo +++ b/src/tests/efl_mono/dummy_test_object.eo @@ -1,20 +1,21 @@ import eina_types; -type Dummy.MyInt: int; - -const Dummy.Constvar_Bool : bool = true; -const Dummy.Constvar_Int : int = -32766; -const Dummy.Constvar_UInt : uint = 65533U; -const Dummy.Constvar_Long : long = -2147483644L; -const Dummy.Constvar_ULong : ulong = 4294967288UL; -const Dummy.Constvar_LLong : llong = -9223372036854775800LL; -const Dummy.Constvar_ULLong : ullong = 18446744073709551615ULL; -const Dummy.Constvar_Float : float = 16777211.0f; -const Dummy.Constvar_Double : double = 9007199254740988.0; -const Dummy.Constvar_Char : char = '!'; -const Dummy.Constvar_String : string = "test_str"; +type Dummy.MyInt: int; [[Docs for typedef Dummy. @since 1.66]] + +const Dummy.Constvar_Bool : bool = true; [[Docs for var Dummy.Constvar_Bool. @since 1.66]] +const Dummy.Constvar_Int : int = -32766; [[Docs for var Dummy.Constvar_Int. @since 1.66]] +const Dummy.Constvar_UInt : uint = 65533U; [[Docs for var Dummy.Constvar_UInt. @since 1.66]] +const Dummy.Constvar_Long : long = -2147483644L; [[Docs for var Dummy.Constvar_Long. @since 1.66]] +const Dummy.Constvar_ULong : ulong = 4294967288UL; [[Docs for var Dummy.Constvar_ULong @since 1.66]] +const Dummy.Constvar_LLong : llong = -9223372036854775800LL; [[Docs for var Dummy.Constvar_LLong. @since 1.66]] +const Dummy.Constvar_ULLong : ullong = 18446744073709551615ULL; [[Docs for var Dummy.Constvar_ULLong. @since 1.66]] +const Dummy.Constvar_Float : float = 16777211.0f; [[Docs for var Dummy.Constvar_Float. @since 1.66]] +const Dummy.Constvar_Double : double = 9007199254740988.0; [[Docs for var Dummy.Constvar_Double. @since 1.66]] +const Dummy.Constvar_Char : char = '!'; [[Docs for var Dummy.Constvar_Char. @since 1.66]] +const Dummy.Constvar_String : string = "test_str"; [[Docs for var Dummy.Constvar_String. @since 1.66]] enum Dummy.SampleEnum { + [[Docs for enum Dummy.SampleEnum. @since 1.66]] v0, v1, v2, @@ -22,8 +23,8 @@ enum Dummy.SampleEnum { v4, } -struct @free(free) Dummy.StructSimple -{ +struct @free(free) Dummy.StructSimple { + [[Docs for struct Dummy.StructSimple. @since 1.66]] fbyte: byte; fubyte: ubyte; fchar: char; @@ -78,6 +79,7 @@ struct @beta @free(free) Dummy.StructComplex { flist: list<string>; fhash: hash<string, string>; fiterator: iterator<string>; + faccessor: accessor<string>; fany_value: any_value; fany_value_ref: any_value_ref; fbinbuf: binbuf; @@ -87,6 +89,7 @@ struct @beta @free(free) Dummy.StructComplex { } function Dummy.SimpleCb { + [[Docs for function Dummy.SimpleCb. @since 1.66]] params { a: int; } @@ -94,6 +97,7 @@ function Dummy.SimpleCb { }; function Dummy.FormatCb { + [[Docs for function Dummy.FormatCb. @since 1.66]] params { @in str: strbuf; @in value: const(any_value); @@ -574,14 +578,14 @@ class Dummy.Test_Object extends Efl.Object implements Dummy.Test_Iface { /* Eina List */ /* Integer */ - eina_list_int_in { + eina_list_int_in @beta { params { @in lst: list<int>; } return: bool; } - eina_list_int_in_own { + eina_list_int_in_own @beta { params { @in lst: list<int> @move; // <int @move> } @@ -591,7 +595,7 @@ class Dummy.Test_Object extends Efl.Object implements Dummy.Test_Iface { return: bool; } - eina_list_int_out { + eina_list_int_out @beta { params { @out lst: list<int>; } @@ -601,33 +605,33 @@ class Dummy.Test_Object extends Efl.Object implements Dummy.Test_Iface { return: bool; } - eina_list_int_out_own { + eina_list_int_out_own @beta { params { @out lst: list<int> @move; // <int @move> } return: bool; } - eina_list_int_return { + eina_list_int_return @beta { return: list<int>; } check_eina_list_int_return { return: bool; } - eina_list_int_return_own { + eina_list_int_return_own @beta { return: list<int> @move; // <int @move> } /* String */ - eina_list_str_in { + eina_list_str_in @beta { params { @in lst: list<string>; } return: bool; } - eina_list_str_in_own { + eina_list_str_in_own @beta { params { @in lst: list<mstring @move> @move; } @@ -637,7 +641,7 @@ class Dummy.Test_Object extends Efl.Object implements Dummy.Test_Iface { return: bool; } - eina_list_str_out { + eina_list_str_out @beta { params { @out lst: list<string>; } @@ -647,33 +651,33 @@ class Dummy.Test_Object extends Efl.Object implements Dummy.Test_Iface { return: bool; } - eina_list_str_out_own { + eina_list_str_out_own @beta { params { @out lst: list<mstring @move> @move; } return: bool; } - eina_list_str_return { + eina_list_str_return @beta { return: list<string>; } check_eina_list_str_return { return: bool; } - eina_list_str_return_own { + eina_list_str_return_own @beta { return: list<mstring @move> @move; } /* Eina_Stringshare */ - eina_list_strshare_in { + eina_list_strshare_in @beta { params { @in lst: list<stringshare>; } return: bool; } - eina_list_strshare_in_own { + eina_list_strshare_in_own @beta { params { @in lst: list<stringshare @move> @move; } @@ -683,7 +687,7 @@ class Dummy.Test_Object extends Efl.Object implements Dummy.Test_Iface { return: bool; } - eina_list_strshare_out { + eina_list_strshare_out @beta { params { @out lst: list<stringshare>; } @@ -693,33 +697,33 @@ class Dummy.Test_Object extends Efl.Object implements Dummy.Test_Iface { return: bool; } - eina_list_strshare_out_own { + eina_list_strshare_out_own @beta { params { @out lst: list<stringshare @move> @move; } return: bool; } - eina_list_strshare_return { + eina_list_strshare_return @beta { return: list<stringshare>; } check_eina_list_strshare_return { return: bool; } - eina_list_strshare_return_own { + eina_list_strshare_return_own @beta { return: list<stringshare @move> @move; } /* Object */ - eina_list_obj_in { + eina_list_obj_in @beta { params { @in lst: list<Dummy.Numberwrapper>; } return: bool; } - eina_list_obj_in_own { + eina_list_obj_in_own @beta { params { @in lst: list<Dummy.Numberwrapper @move> @move; } @@ -729,7 +733,7 @@ class Dummy.Test_Object extends Efl.Object implements Dummy.Test_Iface { return: bool; } - eina_list_obj_out { + eina_list_obj_out @beta { params { @out lst: list<Dummy.Numberwrapper>; } @@ -739,25 +743,25 @@ class Dummy.Test_Object extends Efl.Object implements Dummy.Test_Iface { return: bool; } - eina_list_obj_out_own { + eina_list_obj_out_own @beta { params { @out lst: list<Dummy.Numberwrapper @move> @move; } return: bool; } - eina_list_obj_return { + eina_list_obj_return @beta { return: list<Dummy.Numberwrapper>; } check_eina_list_obj_return { return: bool; } - eina_list_obj_return_own { + eina_list_obj_return_own @beta { return: list<Dummy.Numberwrapper @move> @move; } - eina_list_obj_return_in { + eina_list_obj_return_in @beta { params { @in lst: list<Dummy.Numberwrapper>; } @@ -1573,36 +1577,12 @@ class Dummy.Test_Object extends Efl.Object implements Dummy.Test_Iface { } @property multi_valued_prop { + [[ A multi valued property. ]] get {} set {} values { - prop1: int; - prop2: int; - } - } - - @property keyed_multi_valued_prop { - get {} - set {} - keys { - key1: int; - } - values { - prop1: int; - prop2: int; - } - } - - @property multi_keyed_multi_valued_prop { - get {} - set {} - keys { - key1: int; - key2: int; - } - values { - prop1: int; - prop2: int; + prop1: int; [[ Dummy property's first element. ]] + prop2: int; [[ Dummy property's second element. ]] } } @@ -1689,7 +1669,80 @@ class Dummy.Test_Object extends Efl.Object implements Dummy.Test_Iface { obj: Efl.Object; } } - } + @property iface_value_prop { + values { + prop: Dummy.Test_Iface; + } + } + @property iface_klass_prop { + set {} + values { + klass: Efl.Class; + } + } + @property iface_value_from_c { + get {} + values { + prop: Dummy.Test_Iface; + } + } + + @property return_type_get_prop { + get { return: Eina.Success_Flag; } + set {} + values { i: int; } + } + + @property return_type_set_prop { + set { return: Eina.Success_Flag; } + get {} + values { i: int; } + } + + @property return_type_prop { + get { + return: Eina.Success_Flag; + } + set { + return: Eina.Success_Flag; + } + values { i: int; } + } + + @property multi_value_return_type_get_prop { + get { return: Eina.Success_Flag; } + set {} + values + { + i: int; + j: int; + } + } + + @property multi_value_return_type_set_prop { + set { return: Eina.Success_Flag; } + get {} + values + { + i: int; + j: int; + } + } + + @property multi_value_return_type_prop { + get { + return: Eina.Success_Flag; + } + set { + return: Eina.Success_Flag; + } + values + { + i: int; + j: int; + } + } +} implements { Efl.Object.constructor; Efl.Object.destructor; diff --git a/src/tests/efl_mono/efl_sharp_test_suite.csproj.in b/src/tests/efl_mono/efl_sharp_test_suite.csproj.in index c23636345c..a4c2197ad7 100644 --- a/src/tests/efl_mono/efl_sharp_test_suite.csproj.in +++ b/src/tests/efl_mono/efl_sharp_test_suite.csproj.in @@ -19,6 +19,9 @@ <ItemGroup> <ProjectReference Include="../../bindings/mono/efl_sharp.csproj" /> </ItemGroup> + <PropertyGroup> + <CodeAnalysisRuleSet>@CA_RULESET@</CodeAnalysisRuleSet> + </PropertyGroup> <ItemGroup> <Compile Include="@BINDING_TEST_SRC@/*.cs" /> diff --git a/src/tests/efl_mono/libefl_mono_native_test.h b/src/tests/efl_mono/libefl_mono_native_test.h index 4fe9d4c2b0..7491598324 100644 --- a/src/tests/efl_mono/libefl_mono_native_test.h +++ b/src/tests/efl_mono/libefl_mono_native_test.h @@ -75,7 +75,7 @@ #include <interfaces/efl_part.eo.h> -#define EQUAL(a, b) ((a) == (b) ? 1 : (fprintf(stderr, "NOT EQUAL! %s:%i (%s)", __FILE__, __LINE__, __FUNCTION__), fflush(stderr), 0)) -#define STR_EQUAL(a, b) (strcmp((a), (b)) == 0 ? 1 : (fprintf(stderr, "NOT EQUAL! %s:%i (%s) '%s' != '%s'", __FILE__, __LINE__, __FUNCTION__, (a), (b)), fflush(stderr), 0)) +#define EQUAL(a, b) ((a) == (b) ? 1 : (fprintf(stderr, "NOT EQUAL! %s:%i (%s)", __FILE__, __LINE__, __func__), fflush(stderr), 0)) +#define STR_EQUAL(a, b) (strcmp((a), (b)) == 0 ? 1 : (fprintf(stderr, "NOT EQUAL! %s:%i (%s) '%s' != '%s'", __FILE__, __LINE__, __func__, (a), (b)), fflush(stderr), 0)) #endif diff --git a/src/tests/efl_mono/meson.build b/src/tests/efl_mono/meson.build index 2bba162a5c..9c715893df 100644 --- a/src/tests/efl_mono/meson.build +++ b/src/tests/efl_mono/meson.build @@ -94,6 +94,7 @@ if get_option('dotnet') dotnet_test_conf_data.set('BINDING_BUILD', join_paths(meson.current_build_dir(), '..', '..', 'bindings', 'mono')) dotnet_test_conf_data.set('BINDING_TEST_SRC', meson.current_source_dir()) + dotnet_test_conf_data.set('CA_RULESET', join_paths(meson.build_root(), '@0@'.format(ca_ruleset))) dotnet_test_conf_data.set('NETCOREAPP_VERSION', dotnet_core_app_version) diff --git a/src/tests/efreet/meson.build b/src/tests/efreet/meson.build index 4ce9156ec9..24364523f5 100644 --- a/src/tests/efreet/meson.build +++ b/src/tests/efreet/meson.build @@ -31,7 +31,7 @@ efreet_test_src = [ 'main.c' ] -efreet_test_deps = [check, efreet, ecore, ecore_file, efreet_mime, intl] +efreet_test_deps = [check, efreet, ecore, ecore_file, intl] efreet_test = executable('efreet_test', efreet_test_src, diff --git a/src/tests/eina/eina_suite.c b/src/tests/eina/eina_suite.c index dfa2bd1e5f..01ed82a532 100644 --- a/src/tests/eina/eina_suite.c +++ b/src/tests/eina/eina_suite.c @@ -57,6 +57,7 @@ static const Efl_Test_Case etc[] = { { "Benchmark", eina_test_benchmark }, { "Mempool", eina_test_mempool }, { "Rectangle", eina_test_rectangle }, + { "Range", eina_test_range }, { "MatrixSparse", eina_test_matrixsparse }, { "Tiler", eina_test_tiler }, { "Strbuf", eina_test_strbuf }, @@ -89,6 +90,7 @@ static const Efl_Test_Case etc[] = { { "slstr", eina_test_slstr }, { "Vpath", eina_test_vpath }, { "debug", eina_test_debug }, + { "Abstract Content", eina_test_abstract_content }, { NULL, NULL } }; diff --git a/src/tests/eina/eina_suite.h b/src/tests/eina/eina_suite.h index 5e7a1bf30f..84d6e60516 100644 --- a/src/tests/eina/eina_suite.h +++ b/src/tests/eina/eina_suite.h @@ -45,6 +45,7 @@ void eina_test_file(TCase *tc); void eina_test_benchmark(TCase *tc); void eina_test_mempool(TCase *tc); void eina_test_rectangle(TCase *tc); +void eina_test_range(TCase *tc); void eina_test_matrixsparse(TCase *tc); void eina_test_tiler(TCase *tc); void eina_test_strbuf(TCase *tc); @@ -77,5 +78,6 @@ void eina_test_freeq(TCase *tc); void eina_test_slstr(TCase *tc); void eina_test_vpath(TCase *tc); void eina_test_debug(TCase *tc); +void eina_test_abstract_content(TCase *tc); #endif /* EINA_SUITE_H_ */ diff --git a/src/tests/eina/eina_test_abi.c b/src/tests/eina/eina_test_abi.c index 6c49544fdd..e1e1423d03 100644 --- a/src/tests/eina/eina_test_abi.c +++ b/src/tests/eina/eina_test_abi.c @@ -43,9 +43,6 @@ typedef uint32_t Eina_Unicode; #include "eina_main.h" #include "eina_safety_checks.h" -EAPI Eina_Unicode eina_unicode_utf8_get_next(const char *buf, int *iindex); -EAPI unsigned int eina_mempool_alignof(unsigned int size); - EFL_START_TEST(eina_unicode_utf8) { int ind; diff --git a/src/tests/eina/eina_test_abstract_content.c b/src/tests/eina/eina_test_abstract_content.c new file mode 100644 index 0000000000..9b4569671e --- /dev/null +++ b/src/tests/eina/eina_test_abstract_content.c @@ -0,0 +1,224 @@ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include <stdio.h> + +#include <Eina.h> + +#include "eina_suite.h" + +EFL_START_TEST(eina_test_content_create_destroy) +{ + const char *text_str = "TestAsDf"; + Eina_Content *content = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(text_str), "text/plain"); + + ck_assert_str_eq(eina_content_type_get(content), "text/plain"); + ck_assert_int_eq(eina_content_data_get(content).len, strlen(text_str) + 1); + ck_assert_str_eq(eina_content_data_get(content).mem, text_str); + + eina_content_free(content); +} +EFL_END_TEST + +EFL_START_TEST(eina_test_content_as_file) +{ + const char *text_str = "TestAsDf"; + Eina_Content *content = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(text_str), "text/plain"); + Eina_File *f; + const char *file_path = eina_content_as_file(content); + + f = eina_file_open(file_path, EINA_FALSE); + const char *file_content = eina_file_map_all(f, EINA_FILE_POPULATE); + ck_assert_str_eq(file_content, text_str); + eina_file_close(f); + + const char *file_path2 = eina_content_as_file(content); + ck_assert_str_eq(file_path, file_path2); + + eina_content_free(content); +} +EFL_END_TEST + +EFL_START_TEST(eina_test_content_convert_none_existing) +{ + const char *text_str = "TestAsDf"; + Eina_Content *content = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(text_str), "text/plain"); + + EXPECT_ERROR_START; + ck_assert_ptr_eq(eina_content_convert(content, "ThisIsReallyNotHere"), NULL); + EXPECT_ERROR_END; +} +EFL_END_TEST + +EFL_START_TEST(eina_test_content_convert_ascii_to_utf8) +{ + const char *text_str = "TestAsDf"; + Eina_Content *content = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(text_str), "text/plain"); + Eina_Content *c = eina_content_convert(content, "text/plain;charset=utf-8"); + + ck_assert_str_eq(eina_content_type_get(c), "text/plain;charset=utf-8"); + ck_assert_str_eq(eina_content_data_get(c).mem, text_str); +} +EFL_END_TEST + +EFL_START_TEST(eina_test_content_convert_ascii_to_latin) +{ + const char *text_str = "TestAsDf"; + Eina_Content *content = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(text_str), "text/plain"); + Eina_Content *c = eina_content_convert(content, "text/plain;charset=iso-8859-1"); + + ck_assert_str_eq(eina_content_type_get(c), "text/plain;charset=iso-8859-1"); + ck_assert_str_eq(eina_content_data_get(c).mem, text_str); +} +EFL_END_TEST + +EFL_START_TEST(eina_test_content_convert_utf8_to_latin) +{ + //this means AÄÜÖß + const char text_str[] = {'A', 0xc3, 0x84, 0xc3, 0x9c, 0xc3, 0x96, 0xc3, 0x9f, 0}; + const char text_str_latin[] = {'A', 0xC4, 0xDC, 0xD6, 0xDF, 0}; + Eina_Content *content = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(text_str_latin), "text/plain;charset=iso-8859-1"); + Eina_Content *c = eina_content_convert(content, "text/plain;charset=utf-8"); + + ck_assert_str_eq(eina_content_type_get(c), "text/plain;charset=utf-8"); + ck_assert_int_eq(sizeof(text_str), eina_content_data_get(c).len); + for (unsigned int i = 0; i < eina_content_data_get(c).len; ++i) + { + ck_assert_int_eq(text_str[i], ((char*)eina_content_data_get(c).mem)[i]); + } + ck_assert_str_eq(eina_content_data_get(c).mem, text_str); +} +EFL_END_TEST + +EFL_START_TEST(eina_test_content_possible_converstions) +{ + ck_assert_int_eq(eina_content_converter_convert_can("text/plain", "text/plain;charset=utf-8"), 1); + ck_assert_int_eq(eina_content_converter_convert_can("text/plain", "ThisDoesNotExist"), 0); + ck_assert_int_eq(eina_content_converter_convert_can("ThisDoesNotExist", "text/plain;charset=utf-8"), 0); + Eina_Iterator *iterator = eina_content_converter_possible_conversions("text/plain"); + char *text; + int i = 0, j = 0; + + EINA_ITERATOR_FOREACH(iterator, text) + { + if (eina_streq(text, "text/plain;charset=utf-8")) + i ++; + if (eina_streq(text, "text/plain;charset=iso-8859-1")) + j ++; + } + ck_assert_int_eq(i, 1); + ck_assert_int_eq(j, 1); + eina_iterator_free(iterator); +} +EFL_END_TEST + +static Eina_Bool getting_called = EINA_FALSE; + +static Eina_Content* +_test_cb(Eina_Content *content EINA_UNUSED, const char *type EINA_UNUSED) +{ + getting_called = EINA_TRUE; + return eina_content_new(eina_content_data_get(content), type); +} + +EFL_START_TEST(eina_test_register_illegal) +{ + const char *test_str = "AbCdEfG"; + eina_content_converter_conversion_register("Test", "Test2", _test_cb); + EXPECT_ERROR_START; + eina_content_converter_conversion_register("Test", "Test2", _test_cb); + EXPECT_ERROR_END; + + Eina_Content *c = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(test_str), "Test"); + Eina_Content *c2 = eina_content_convert(c, "Test2"); + ck_assert_ptr_ne(c2, NULL); + ck_assert_int_eq(getting_called, EINA_TRUE); +} +EFL_END_TEST + +EFL_START_TEST(eina_test_content_value) +{ + const char *str_a = "All"; + const char *str_b = "Out"; + Eina_Content *a = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(str_a), "text/plain"); + Eina_Content *b = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(str_b), "text/plain"); + Eina_Content *c = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(str_a), "text/plain"); + Eina_Content *d = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(str_a), "Not_Text"); + Eina_Value *va = eina_value_content_new(a); + Eina_Value *vb = eina_value_content_new(b); + Eina_Value *vc = eina_value_content_new(c); + Eina_Value *vd = eina_value_content_new(d); + Eina_Value *vcopy = eina_value_new(EINA_VALUE_TYPE_CONTENT); + Eina_Content *content; + + ck_assert_int_eq(eina_value_compare(va, vc), 0); + ck_assert_int_ne(eina_value_compare(va, vb), 0); + ck_assert_int_ne(eina_value_compare(va, vd), 0); + ck_assert_int_eq(eina_value_compare(vd, vd), 0); + + ck_assert_int_eq(eina_value_copy(va, vcopy), 1); + ck_assert_int_eq(eina_value_compare(va, vcopy), 0); + + content = eina_value_to_content(vcopy); + Eina_Slice slice = eina_content_data_get(content); + ck_assert_int_eq(slice.len, strlen(str_a) + 1); + ck_assert_str_eq(slice.mem, str_a); + + ck_assert_str_eq(eina_content_type_get(content), "text/plain"); + eina_content_free(content); +} +EFL_END_TEST + +EFL_START_TEST(eina_test_content_value_set) +{ + const char *str_a = "All"; + Eina_Content *a = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(str_a), "text/plain"); + Eina_Value *acopy = eina_value_new(EINA_VALUE_TYPE_CONTENT); + Eina_Content *content; + + eina_value_set(acopy, a); + content = eina_value_to_content(acopy); + Eina_Slice slice = eina_content_data_get(content); + ck_assert_int_eq(slice.len, strlen(str_a) + 1); + ck_assert_str_eq(slice.mem, str_a); + + ck_assert_str_eq(eina_content_type_get(content), "text/plain"); + eina_content_free(content); + eina_content_free(a); +} +EFL_END_TEST + +EFL_START_TEST(eina_test_content_value_convertion) +{ + const char *str_a = "All"; + const char *str_b = "Out"; + const char *str_c = "Life"; + Eina_Content *a = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(str_a), "text/plain;charset=utf-8"); + Eina_Content *b = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(str_b), "text/plain"); + Eina_Content *c = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(str_c), "application/x-elementary-markup"); + Eina_Value *av = eina_value_content_new(a); + Eina_Value *bv = eina_value_content_new(b); + Eina_Value *cv = eina_value_content_new(c); + + ck_assert_str_eq(eina_value_to_string(av), str_a); + ck_assert_str_eq(eina_value_to_string(bv), str_b); + ck_assert_str_ne(eina_value_to_string(cv), str_c); +} +EFL_END_TEST + +void +eina_test_abstract_content(TCase *tc) +{ + tcase_add_test(tc, eina_test_content_create_destroy); + tcase_add_test(tc, eina_test_content_as_file); + tcase_add_test(tc, eina_test_content_convert_none_existing); + tcase_add_test(tc, eina_test_content_convert_ascii_to_utf8); + tcase_add_test(tc, eina_test_content_convert_ascii_to_latin); + tcase_add_test(tc, eina_test_content_convert_utf8_to_latin); + tcase_add_test(tc, eina_test_content_possible_converstions); + tcase_add_test(tc, eina_test_register_illegal); + tcase_add_test(tc, eina_test_content_value); + tcase_add_test(tc, eina_test_content_value_set); + tcase_add_test(tc, eina_test_content_value_convertion); +} diff --git a/src/tests/eina/eina_test_array.c b/src/tests/eina/eina_test_array.c index de58cdfaec..3373f07ae1 100644 --- a/src/tests/eina/eina_test_array.c +++ b/src/tests/eina/eina_test_array.c @@ -177,24 +177,24 @@ EFL_END_TEST EFL_START_TEST(eina_array_find_test) { Eina_Array sea; - unsigned long i; + uintptr_t i; unsigned int out = 0; - fail_if(eina_array_find(NULL, (void*)1, NULL) != EINA_FALSE); + fail_if(eina_array_find(NULL, (void *)1, NULL) != EINA_FALSE); eina_array_step_set(&sea, sizeof(sea), 5); - for (i =1 ; i < 10 ; i++) - eina_array_push(&sea, (void*)i); + for (i = 1 ; i < 10 ; i++) + eina_array_push(&sea, (void *)i); - fail_if(eina_array_find(&sea, (void*)15, NULL) != EINA_FALSE); + fail_if(eina_array_find(&sea, (void *)15, NULL) != EINA_FALSE); - fail_if(eina_array_find(&sea, (void*)5, NULL) != EINA_TRUE); - fail_if(eina_array_find(&sea, (void*)6, &out) != EINA_TRUE); + fail_if(eina_array_find(&sea, (void *)5, NULL) != EINA_TRUE); + fail_if(eina_array_find(&sea, (void *)6, &out) != EINA_TRUE); fail_if(out != 5); - eina_array_data_set(&sea, 7, (void*)99); - fail_if(eina_array_find(&sea, (void*)99, &out) != EINA_TRUE); + eina_array_data_set(&sea, 7, (void *)99); + fail_if(eina_array_find(&sea, (void *)99, &out) != EINA_TRUE); fail_if(out != 7); eina_array_flush(&sea); diff --git a/src/tests/eina/eina_test_bezier.c b/src/tests/eina/eina_test_bezier.c index 36de00dc13..f07bb5f5c2 100644 --- a/src/tests/eina/eina_test_bezier.c +++ b/src/tests/eina/eina_test_bezier.c @@ -42,14 +42,14 @@ EFL_START_TEST(eina_bezier_test_values) &cx1, &cy1, &cx2, &cy2, &ex, &ey); - fail_if(sx != 1 || - sy != 2 || - cx1 != 3 || - cy1 != 4 || - cx2 != 5 || - cy2 != 6 || - ex != 7 || - ey != 8); + fail_if(!EINA_DBL_EQ(sx, 1) || + !EINA_DBL_EQ(sy, 2) || + !EINA_DBL_EQ(cx1, 3) || + !EINA_DBL_EQ(cy1, 4) || + !EINA_DBL_EQ(cx2, 5) || + !EINA_DBL_EQ(cy2, 6) || + !EINA_DBL_EQ(ex, 7) || + !EINA_DBL_EQ(ey, 8)); } EFL_END_TEST @@ -65,7 +65,7 @@ EFL_START_TEST(eina_bezier_test_angle) 7, 1); angle = eina_bezier_angle_at(&b, 0.5); - fail_if(angle != 0); + fail_if(EINA_DBL_NONZERO(angle)); eina_bezier_values_set(&b, 1, 2, @@ -73,7 +73,7 @@ EFL_START_TEST(eina_bezier_test_angle) 1, 6, 1, 8); angle = eina_bezier_angle_at(&b, 0.5); - fail_if(floor(angle) != 90); + fail_if(!EINA_DBL_EQ(floor(angle), 90)); } EFL_END_TEST @@ -89,7 +89,7 @@ EFL_START_TEST(eina_bezier_test_length) 5, 1, 7, 1); length = eina_bezier_length_get(&b); - fail_if(floor(length) != 6); + fail_if(!EINA_DBL_EQ(floor(length), 6)); eina_bezier_values_set(&b, 1, 1, @@ -97,7 +97,7 @@ EFL_START_TEST(eina_bezier_test_length) 1, 1, 1, 1); length = eina_bezier_length_get(&b); - fail_if(length != 0); + fail_if(!EINA_DBL_EQ(length, 0)); } EFL_END_TEST @@ -114,10 +114,10 @@ EFL_START_TEST(eina_bezier_test_t_at) 7, 1); length = eina_bezier_length_get(&b); t = eina_bezier_t_at(&b, 0); - fail_if(floor(t) != 0); + fail_if(!EINA_DBL_EQ(floor(t), 0)); t = eina_bezier_t_at(&b, length); - fail_if(t != 1); + fail_if(!EINA_DBL_EQ(t, 1)); } EFL_END_TEST @@ -133,13 +133,13 @@ EFL_START_TEST(eina_bezier_test_point_at) 5, 6, 7, 8); eina_bezier_point_at(&b, 0, &x , &y); - fail_if(x != 1 || - y != 2); + fail_if(!EINA_DBL_EQ(x, 1) || + !EINA_DBL_EQ(y, 2)); eina_bezier_point_at(&b, 1, &x , &y); - fail_if(x != 7 || - y != 8); + fail_if(!EINA_DBL_EQ(x, 7) || + !EINA_DBL_EQ(y, 8)); } EFL_END_TEST @@ -159,7 +159,7 @@ EFL_START_TEST(eina_bezier_test_split_at_length) len1 = eina_bezier_length_get(&l); len2 = eina_bezier_length_get(&r); - fail_if(len != (len1 + len2)); + fail_if(!EINA_DBL_EQ(len, (len1 + len2))); } EFL_END_TEST @@ -177,7 +177,7 @@ EFL_START_TEST(eina_bezier_test_bounds_get) eina_bezier_bounds_get(&b, &x, &y, &w, &h); - fail_if(x !=0 || y!=0 || w !=100 || h !=100 ); + fail_if(!EINA_DBL_EQ(x, 0) || !EINA_DBL_EQ(y, 0) || !EINA_DBL_EQ(w, 100) || !EINA_DBL_EQ(h, 100)); } EFL_END_TEST @@ -196,7 +196,7 @@ EFL_START_TEST(eina_bezier_test_on_interval) eina_bezier_on_interval(&b, 0.25, 0.5, &res); eina_bezier_point_at(&res, 0, &px2, &py2); - fail_if(px1 != px2 || py1 != py2); + fail_if(!EINA_DBL_EQ(px1, px2) || !EINA_DBL_EQ(py1, py2)); } EFL_END_TEST diff --git a/src/tests/eina/eina_test_error.c b/src/tests/eina/eina_test_error.c index 7c6d25b3c4..729f71e103 100644 --- a/src/tests/eina/eina_test_error.c +++ b/src/tests/eina/eina_test_error.c @@ -221,7 +221,11 @@ EFL_START_TEST(eina_error_test_failures) fail_unless(ctx.did); ck_assert_str_eq(eina_error_msg_get(ENOMEM), +#if defined(_WIN32) || defined(__sun) + "Not enough space"); +#else "Cannot allocate memory"); +#endif TEST_MAGIC_SAFETY("eina_error_find", "safety check failed: msg == NULL"); diff --git a/src/tests/eina/eina_test_file.c b/src/tests/eina/eina_test_file.c index 365b2f8c19..3e12206094 100644 --- a/src/tests/eina/eina_test_file.c +++ b/src/tests/eina/eina_test_file.c @@ -297,7 +297,7 @@ EFL_END_TEST EFL_START_TEST(eina_file_map_new_test) { - const char *eina_map_test_string = "Hello. I'm the eina map test string."; + const char *eina_map_test_string = "Hello. I'm the eina map test string."; const char *test_file_name_part = "/example.txt"; const char *test_file2_name_part = "/example_big.txt"; char *test_file_path, *test_file2_path; @@ -311,7 +311,7 @@ EFL_START_TEST(eina_file_map_new_test) int test_full_filename_size; int test_full_filename2_size; Eina_File *e_file, *e_file2; - void *file_map, *file2_map; + void *file_map, *file2_map; int fd, correct_file_open_check, correct_map_check, map_offset, map_length, file_length, file2_length; int test_file_name_part_size = strlen(test_file_name_part); int test_file2_name_part_size = strlen(test_file2_name_part); @@ -322,7 +322,7 @@ EFL_START_TEST(eina_file_map_new_test) Eina_Tmpstr *test_dirname = get_eina_test_file_tmp_dir(); fail_if(test_dirname == NULL); test_dirname_size = strlen((char *)test_dirname); - + // memory allocation test_full_filename_size = test_file_name_part_size + test_dirname_size + 1; test_file_path = (char *)malloc(test_full_filename_size); @@ -355,61 +355,61 @@ EFL_START_TEST(eina_file_map_new_test) // generating file 2 full name strcpy(test_file2_path, (char *)test_dirname); strcat(test_file2_path, test_file2_name_part); - + fd = open(test_file_path, O_WRONLY | O_BINARY | O_CREAT | O_TRUNC, S_IWUSR | S_IRUSR); - fail_if(fd == 0); + fail_if(fd <= 0); fail_if(write(fd, eina_map_test_string, strlen(eina_map_test_string)) != (ssize_t) strlen(eina_map_test_string)); close(fd); fd = open(test_file2_path, O_WRONLY | O_BINARY | O_CREAT | O_TRUNC, S_IWUSR | S_IRUSR); - fail_if(fd == 0); + fail_if(fd <= 0); fail_if(write(fd, big_buffer, big_buffer_size - file_min_offset) != big_buffer_size - file_min_offset); close(fd); e_file = eina_file_open(test_file_path, EINA_FALSE); fail_if(!e_file); file_length = eina_file_size_get(e_file); - correct_file_open_check = file_length - test_string_length; + correct_file_open_check = file_length - test_string_length; // check size of eina_map_test_string == size of file fail_if(correct_file_open_check != 0); fail_if(eina_file_refresh(e_file)); e_file2 = eina_file_open(test_file2_path, EINA_FALSE); - fail_if(!e_file); + fail_if(!e_file2); file2_length = eina_file_size_get(e_file2); - correct_file_open_check = file2_length - (big_buffer_size - file_min_offset); + correct_file_open_check = file2_length - (big_buffer_size - file_min_offset); // check size of big_buffer == size of file - fail_if(correct_file_open_check != 0); + fail_if(correct_file_open_check != 0); // test : offset > file -> length => return NULL map_offset = test_string_length + file_min_offset; map_length = file_min_offset; - file_map = eina_file_map_new(e_file, EINA_FILE_WILLNEED, map_offset, map_length); + file_map = eina_file_map_new(e_file, EINA_FILE_WILLNEED, map_offset, map_length); fail_if(file_map); // test : offset + length > file -> length => return NULL map_offset = file_min_offset; map_length = test_string_length; - file_map = eina_file_map_new(e_file, EINA_FILE_WILLNEED, map_offset, map_length); + file_map = eina_file_map_new(e_file, EINA_FILE_WILLNEED, map_offset, map_length); fail_if(file_map); fail_if(eina_file_map_faulted(e_file, file_map)); // test : offset = 0 AND length = file->length - use eina_file_map_all map_offset = 0; map_length = test_string_length; - file_map = eina_file_map_new(e_file, EINA_FILE_WILLNEED, map_offset, map_length); + file_map = eina_file_map_new(e_file, EINA_FILE_WILLNEED, map_offset, map_length); fail_if(!file_map); - correct_map_check= strcmp((char*) file_map, eina_map_test_string); + correct_map_check= strcmp((char*) file_map, eina_map_test_string); fail_if(correct_map_check != 0); // test : offset = memory_page_size AND length = file->length - memory_page_size => correct partly map map_offset = memory_page_size; map_length = big_buffer_size - memory_page_size - file_min_offset; - file2_map = eina_file_map_new(e_file2, EINA_FILE_WILLNEED, map_offset, map_length); + file2_map = eina_file_map_new(e_file2, EINA_FILE_WILLNEED, map_offset, map_length); fail_if(!file2_map); - correct_map_check = strcmp((char*)file2_map, big_buffer + memory_page_size); - fail_if(correct_map_check != 0); + correct_map_check = strcmp((char*)file2_map, big_buffer + memory_page_size); + fail_if(correct_map_check != 0); // test no crash with eina_file_map_populate() eina_file_map_populate(e_file, EINA_FILE_POPULATE, file_map, 0, 0); @@ -426,7 +426,7 @@ EFL_START_TEST(eina_file_map_new_test) unlink(test_file_path); unlink(test_file2_path); - rmdir(test_dirname); + fail_if(rmdir(test_dirname) != 0); free(test_file_path); free(test_file2_path); @@ -489,12 +489,39 @@ EFL_END_TEST static void * _eina_test_file_thread(void *data EINA_UNUSED, Eina_Thread t EINA_UNUSED) { +#ifdef _WIN32 + char filename[MAX_PATH]; + size_t len; + const char test_file[] = "cmd.exe"; + + fail_if(!GetSystemDirectoryA(filename, MAX_PATH)); + + len = strlen(filename); + + /* + * Check the buffer size. + * The system path length + path separator + length of the test_file + null terminator + * Must fit in MAX_PATH. + */ + fail_if(MAX_PATH < len + 1 + sizeof(test_file)); + + // append trailing directory separator if there isn't one + if (filename[len - 1] != '\\' && filename[len - 1] != '/') + { + filename[len] = '\\'; + filename[len + 1] = '\0'; + } + + strncat(filename, test_file, MAX_PATH - len - 2); +#else + const char *filename = "/bin/sh"; +#endif Eina_File *f; unsigned int i; for (i = 0; i < 100; ++i) { - f = eina_file_open("/bin/sh", EINA_FALSE); + f = eina_file_open(filename, EINA_FALSE); fail_if(!f); eina_file_close(f); } @@ -520,6 +547,11 @@ static const struct { const char *test; const char *result; } sanitize[] = { +#ifdef _WIN32 + { "C:\\home\\mydir\\..\\myfile", "C:/home/myfile" }, + { "C:/home/mydir/../myfile", "C:/home/myfile" }, + { "\\home\\mydir\\..\\myfile", "/home/myfile" }, +#endif { "/home/mydir/../myfile", "/home/myfile" } }; @@ -531,7 +563,7 @@ EFL_START_TEST(eina_test_file_path) for (i = 0; i < sizeof (sanitize) / sizeof (sanitize[0]); i++) { path = eina_file_path_sanitize(sanitize[i].test); - fail_if(strcmp(path, sanitize[i].result)); + ck_assert_str_eq(path, sanitize[i].result); free(path); } } @@ -741,14 +773,13 @@ EFL_START_TEST(eina_test_file_mktemp) "./eina_file_test_XXXXXX.txt", }; - errno = 0; - /* test NULL */ + EXPECT_ERROR_START; fd = eina_file_mkstemp(NULL, NULL); fail_if(fd >= 0); - + EXPECT_ERROR_END; fd = eina_file_mkstemp(patterns[0], NULL); - fail_if((fd < 0) || errno); + fail_if(fd < 0); /* here's an attempt at removing the file, without knowing its path */ #ifdef F_GETPATH @@ -777,12 +808,10 @@ EFL_START_TEST(eina_test_file_mktemp) for (unsigned int k = 0; k < sizeof(patterns) / sizeof(patterns[0]); k++) { - errno = 0; tmpfile = NULL; fd = eina_file_mkstemp(patterns[k], &tmpfile); ck_assert(fd >= 0); ck_assert(!!tmpfile); - ck_assert_msg(!errno, "ERROR(%s): %s\n", patterns[k], strerror(errno)); file = eina_file_open(tmpfile, EINA_FALSE); fail_if(!file); eina_file_close(file); @@ -807,8 +836,8 @@ EFL_START_TEST(eina_test_file_mktemp) eina_file_path_join(buf, sizeof(buf), tmpdir, "eina_file_test_XXXXXX.txt"); fd = eina_file_mkstemp(buf, &tmpfile); - fail_if((fd < 0) || !tmpfile || errno); - close(fd); + fail_if((fd < 0) || !tmpfile); + fail_if(close(fd)); it = eina_file_direct_ls(tmpdir); fail_if(!it); @@ -819,8 +848,9 @@ EFL_START_TEST(eina_test_file_mktemp) eina_iterator_free(it); - unlink(tmpfile); - remove(tmpdir); + fail_if(unlink(tmpfile)); + fail_if(rmdir(tmpdir)); + eina_tmpstr_del(tmpdir); } EFL_END_TEST @@ -845,6 +875,7 @@ EFL_START_TEST(eina_test_file_unlink) { int fd; Eina_Tmpstr *test_file_path; + Eina_File* test_file; const char *tmpfile = "eina_file_test_XXXXXX"; /*If file was not opened as 'eina'*/ @@ -855,9 +886,13 @@ EFL_START_TEST(eina_test_file_unlink) /*If file was opened as 'eina'*/ fd = create_file_not_empty(tmpfile, &test_file_path, EINA_TRUE); fail_if(fd != 0); - fail_if(!eina_file_open(test_file_path, EINA_FALSE)); + + test_file = eina_file_open(test_file_path, EINA_FALSE); + fail_if(!test_file); fail_if(!eina_file_unlink(test_file_path)); + eina_file_close(test_file); + } EFL_END_TEST diff --git a/src/tests/eina/eina_test_hash.c b/src/tests/eina/eina_test_hash.c index 87206d80ce..39d7fcc2a1 100644 --- a/src/tests/eina/eina_test_hash.c +++ b/src/tests/eina/eina_test_hash.c @@ -270,12 +270,8 @@ EFL_START_TEST(eina_test_hash_int32_fuzze) Eina_Hash *hash; unsigned int *r, *array; unsigned int i; - unsigned int seed; unsigned int num_loops = 10000; - seed = time(NULL); - srand(seed); - hash = eina_hash_int32_new(NULL); array = malloc(sizeof(int) * num_loops); @@ -312,8 +308,6 @@ EFL_START_TEST(eina_test_hash_int64_fuzze) uint64_t i; uint64_t num_loops = 10000; - srand(time(NULL)); - hash = eina_hash_int64_new(NULL); array = malloc(sizeof(int64_t) * num_loops); @@ -347,13 +341,9 @@ EFL_START_TEST(eina_test_hash_string_fuzze) { Eina_Hash *hash; unsigned int i; - unsigned int seed; char *array; unsigned int num_loops = 100; - seed = time(NULL); - srand(seed); - hash = eina_hash_string_superfast_new(NULL); array = malloc(num_loops * 10); diff --git a/src/tests/eina/eina_test_inarray.c b/src/tests/eina/eina_test_inarray.c index 74581f2685..cf671c9bb4 100644 --- a/src/tests/eina/eina_test_inarray.c +++ b/src/tests/eina/eina_test_inarray.c @@ -439,8 +439,10 @@ EFL_START_TEST(eina_inarray_test_search) ret = eina_inarray_search(iarr, &temp, cmp); fail_if(ret != 3); + EXPECT_ERROR_START; rval = eina_inarray_replace_at(iarr, arr_size+1, &temp); fail_if(rval != EINA_FALSE); + EXPECT_ERROR_END; ret = eina_inarray_remove(iarr, &temp); fail_if(ret != 3); diff --git a/src/tests/eina/eina_test_iterator.c b/src/tests/eina/eina_test_iterator.c index 28fe0dfc5b..8eb37f2488 100644 --- a/src/tests/eina/eina_test_iterator.c +++ b/src/tests/eina/eina_test_iterator.c @@ -654,6 +654,49 @@ EFL_START_TEST(eina_iterator_multi) } EFL_END_TEST +static void* +_return_x(const void *container EINA_UNUSED, void *data, void *fdata) +{ + Eina_Rectangle *rect = data; + ck_assert_int_eq(*((int*)fdata), 1337); + + return &rect->x; +} + +static void +_free_cb(void *data) +{ + int *free_data = data; + + *free_data = 0; +} + +EFL_START_TEST(eina_iterator_process) +{ + Eina_Inarray *rects = eina_inarray_new(sizeof(Eina_Rectangle), 5); + Eina_Rectangle rect_arr[] = {{0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11}, {12, 13, 14, 15}, {16, 17, 18, 19}}; + Eina_Iterator *it; + int free = 1337; + int *a, i = 0; + + eina_inarray_push(rects, &rect_arr[0]); + eina_inarray_push(rects, &rect_arr[1]); + eina_inarray_push(rects, &rect_arr[2]); + eina_inarray_push(rects, &rect_arr[3]); + eina_inarray_push(rects, &rect_arr[4]); + + it = eina_iterator_processed_new(eina_inarray_iterator_new(rects), _return_x, _free_cb, &free); + EINA_ITERATOR_FOREACH(it, a) + { + ck_assert_int_eq(*a, i*4); + i++; + } + ck_assert_int_eq(i, 5); + eina_iterator_free(it); + ck_assert_int_eq(free, 0); +} +EFL_END_TEST + void eina_test_iterator(TCase *tc) { @@ -667,4 +710,5 @@ eina_test_iterator(TCase *tc) tcase_add_test(tc, eina_iterator_filter_free); tcase_add_test(tc, eina_iterator_carray_length); tcase_add_test(tc, eina_iterator_multi); + tcase_add_test(tc, eina_iterator_process); } diff --git a/src/tests/eina/eina_test_lock.c b/src/tests/eina/eina_test_lock.c index 583ca1a7a9..bbf036b203 100644 --- a/src/tests/eina/eina_test_lock.c +++ b/src/tests/eina/eina_test_lock.c @@ -53,6 +53,25 @@ clock_gettime(int mode, struct timespec* ts) return 0; } + +# elif defined(_WIN32) + +# define CLOCK_REALTIME 0 + +int +clock_gettime(int mode, struct timespec* ts) +{ + FILETIME sys_time; + ULARGE_INTEGER li_sys_time; + + GetSystemTimeAsFileTime(&sys_time); + li_sys_time.u.LowPart = sys_time.dwLowDateTime; + li_sys_time.u.HighPart = sys_time.dwHighDateTime; + ts->tv_sec = li_sys_time.QuadPart / 10000000UL; + ts->tv_nsec = (li_sys_time.QuadPart % 10000000UL) * 100UL; + return 0; +} + # else /* ! __MACH__ */ # error No support for clock_gettime() # endif /* __MACH__ */ diff --git a/src/tests/eina/eina_test_log.c b/src/tests/eina/eina_test_log.c index 2deefd2f3d..624bbbe75d 100644 --- a/src/tests/eina/eina_test_log.c +++ b/src/tests/eina/eina_test_log.c @@ -114,7 +114,7 @@ EFL_START_TEST(eina_log_macro) ctx.level = lvl; \ ctx.line = __LINE__ + 1; \ ctx.msg = _msg; \ - ctx.fnc = __FUNCTION__; \ + ctx.fnc = __func__; \ ctx.did = EINA_FALSE #ifdef EINA_LOG_LEVEL_MAXIMUM @@ -188,7 +188,7 @@ EFL_START_TEST(eina_log_domains_macros) ctx.level = lvl; \ ctx.line = __LINE__ + 1; \ ctx.msg = _msg; \ - ctx.fnc = __FUNCTION__; \ + ctx.fnc = __func__; \ ctx.dom = "MyDomain"; \ ctx.did = EINA_FALSE @@ -310,7 +310,7 @@ EFL_START_TEST(eina_log_level_indexes) ctx.level = lvl; \ ctx.line = __LINE__ + 1; \ ctx.msg = _msg; \ - ctx.fnc = __FUNCTION__; \ + ctx.fnc = __func__; \ ctx.dom = "Levels"; \ ctx.did = EINA_FALSE; diff --git a/src/tests/eina/eina_test_magic.c b/src/tests/eina/eina_test_magic.c index d2254a2ba9..e4f9005b03 100644 --- a/src/tests/eina/eina_test_magic.c +++ b/src/tests/eina/eina_test_magic.c @@ -146,7 +146,7 @@ EFL_START_TEST(eina_magic_simple) #ifdef SHOW_LOG fprintf(stderr, "you should see 'Input handle pointer is NULL' below\n"); #endif - TEST_MAGIC_SAFETY(__FUNCTION__, + TEST_MAGIC_SAFETY(__func__, "*** Eina Magic Check Failed !!!\n" " Input handle pointer is NULL.\n" "\n"); @@ -164,7 +164,7 @@ EFL_START_TEST(eina_magic_simple) fprintf(stderr, "you should see 'Input handle has already been freed' below\n"); #endif - TEST_MAGIC_SAFETY(__FUNCTION__, + TEST_MAGIC_SAFETY(__func__, "*** Eina Magic Check Failed at %p !!!\n" " Input handle has already been freed.\n" "\n"); @@ -176,7 +176,7 @@ EFL_START_TEST(eina_magic_simple) #ifdef SHOW_LOG fprintf(stderr, "you should see 'Input handle is wrong type' below\n"); #endif - TEST_MAGIC_SAFETY(__FUNCTION__, + TEST_MAGIC_SAFETY(__func__, "*** Eina Magic Check Failed at %p !!!\n" " Input handle is wrong type.\n" " Expected: %08x - %s\n" diff --git a/src/tests/eina/eina_test_matrix.c b/src/tests/eina/eina_test_matrix.c index 2fa860c251..a0812ac12c 100644 --- a/src/tests/eina/eina_test_matrix.c +++ b/src/tests/eina/eina_test_matrix.c @@ -192,6 +192,24 @@ EFL_START_TEST(eina_matrix4) } EFL_END_TEST +#define MATRIX4_CMP(XX, XY, XZ, XW, YX, YY, YZ, YW, ZX, ZY, ZZ, ZW, WX, WY, WZ, WW, AXX, AXY, AXZ, AXW, AYX, AYY, AYZ, AYW, AZX, AZY, AZZ, AZW, AWX, AWY, AWZ, AWW) \ + (EINA_DBL_EQ(XX, AXX) && \ + EINA_DBL_EQ(XY, AXY) && \ + EINA_DBL_EQ(XZ, AXZ) && \ + EINA_DBL_EQ(XW, AXW) && \ + EINA_DBL_EQ(YX, AYX) && \ + EINA_DBL_EQ(YY, AYY) && \ + EINA_DBL_EQ(YZ, AYZ) && \ + EINA_DBL_EQ(YW, AYW) && \ + EINA_DBL_EQ(ZX, AZX) && \ + EINA_DBL_EQ(ZY, AZY) && \ + EINA_DBL_EQ(ZZ, AZZ) && \ + EINA_DBL_EQ(ZW, AZW) && \ + EINA_DBL_EQ(WX, AWX) && \ + EINA_DBL_EQ(WY, AWY) && \ + EINA_DBL_EQ(WZ, AWZ) && \ + EINA_DBL_EQ(WW, AWW)) + EFL_START_TEST(eina_matrix4_operation) { double det; @@ -202,6 +220,7 @@ EFL_START_TEST(eina_matrix4_operation) zx, zy, zz, zw, wx, wy, wz, ww; const double arr[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; + double rotate_radian = 45.0 * M_PI / 180.0; eina_matrix4_values_set(&m, 0, 0, 2, 0, @@ -311,6 +330,110 @@ EFL_START_TEST(eina_matrix4_operation) !EINA_DBL_EQ(wy, 7) || !EINA_DBL_EQ(wz, 5) || !EINA_DBL_EQ(ww, 1)); + + + eina_matrix4_identity(&m); + + eina_matrix4_scale(&m, 5, 5, 5); + eina_matrix4_values_get(&m, + &xx, &xy, &xz, &xw, + &yx, &yy, &yz, &yw, + &zx, &zy, &zz, &zw, + &wx, &wy, &wz, &ww); + + fail_if(!MATRIX4_CMP(xx, xy, xz, xw, + yx, yy, yz, yw, + zx, zy, zz, zw, + wx, wy, wz, ww, + 5, 0, 0, 0, + 0, 5, 0, 0, + 0, 0, 5, 0, + 0, 0, 0, 1)); + + eina_matrix4_translate(&m, 5, 5, 5); + eina_matrix4_values_get(&m, + &xx, &xy, &xz, &xw, + &yx, &yy, &yz, &yw, + &zx, &zy, &zz, &zw, + &wx, &wy, &wz, &ww); + fail_if(!MATRIX4_CMP(xx, xy, xz, xw, + yx, yy, yz, yw, + zx, zy, zz, zw, + wx, wy, wz, ww, + 5, 0, 0, 5, + 0, 5, 0, 5, + 0, 0, 5, 5, + 0, 0, 0, 1)); + + eina_matrix4_identity(&m); + eina_matrix4_rotate(&m, rotate_radian, EINA_MATRIX_AXIS_X); + eina_matrix4_values_get(&m, + &xx, &xy, &xz, &xw, + &yx, &yy, &yz, &yw, + &zx, &zy, &zz, &zw, + &wx, &wy, &wz, &ww); + fail_if(!MATRIX4_CMP(xx, xy, xz, xw, + yx, yy, yz, yw, + zx, zy, zz, zw, + wx, wy, wz, ww, + 1, 0, 0, 0, + 0, cos(rotate_radian), -sin(rotate_radian), 0, + 0, sin(rotate_radian), cos(rotate_radian), 0, + 0, 0, 0, 1)); + + eina_matrix4_identity(&m); + eina_matrix4_rotate(&m, rotate_radian, EINA_MATRIX_AXIS_Y); + eina_matrix4_values_get(&m, + &xx, &xy, &xz, &xw, + &yx, &yy, &yz, &yw, + &zx, &zy, &zz, &zw, + &wx, &wy, &wz, &ww); + fail_if(!MATRIX4_CMP(xx, xy, xz, xw, + yx, yy, yz, yw, + zx, zy, zz, zw, + wx, wy, wz, ww, + cos(rotate_radian), 0, sin(rotate_radian), 0, + 0, 1, 0, 0, + -sin(rotate_radian), 0, cos(rotate_radian), 0, + 0, 0, 0, 1)); + + eina_matrix4_identity(&m); + eina_matrix4_rotate(&m, rotate_radian, EINA_MATRIX_AXIS_Z); + eina_matrix4_values_get(&m, + &xx, &xy, &xz, &xw, + &yx, &yy, &yz, &yw, + &zx, &zy, &zz, &zw, + &wx, &wy, &wz, &ww); + fail_if(!MATRIX4_CMP(xx, xy, xz, xw, + yx, yy, yz, yw, + zx, zy, zz, zw, + wx, wy, wz, ww, + cos(rotate_radian), -sin(rotate_radian), 0, 0, + sin(rotate_radian), cos(rotate_radian), 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1)); + + + eina_matrix4_identity(&m1); + eina_matrix4_values_set(&m2, + 1, 2, 3, 4, + 5, 6, 7, 8, + 9, 10, 11, 12, + 13, 14, 15, 16); + eina_matrix4_compose(&m1, &m2, &m); + eina_matrix4_values_get(&m, + &xx, &xy, &xz, &xw, + &yx, &yy, &yz, &yw, + &zx, &zy, &zz, &zw, + &wx, &wy, &wz, &ww); + fail_if(!MATRIX4_CMP(xx, xy, xz, xw, + yx, yy, yz, yw, + zx, zy, zz, zw, + wx, wy, wz, ww, + 1, 2, 3, 4, + 5, 6, 7, 8, + 9, 10, 11, 12, + 13, 14, 15, 16)); } EFL_END_TEST diff --git a/src/tests/eina/eina_test_matrixsparse.c b/src/tests/eina/eina_test_matrixsparse.c index 5c8b548508..d2ad4c602f 100644 --- a/src/tests/eina/eina_test_matrixsparse.c +++ b/src/tests/eina/eina_test_matrixsparse.c @@ -145,9 +145,11 @@ EFL_START_TEST(eina_test_simple) fail_if(row != 3 || col != 5); test1 = eina_matrixsparse_data_idx_get(matrix, 4, 3); + fail_if(test1 == NULL); fail_if(*test1 != data[4][3]); test1 = eina_matrixsparse_data_idx_get(matrix, 1, 3); + fail_if(test1 == NULL); fail_if(*test1 != data[1][3]); /* data changing */ diff --git a/src/tests/eina/eina_test_module.c b/src/tests/eina/eina_test_module.c index 68ad598899..44b2389e73 100644 --- a/src/tests/eina/eina_test_module.c +++ b/src/tests/eina/eina_test_module.c @@ -32,14 +32,14 @@ static Eina_Bool list_cb(Eina_Module *m, void *data EINA_UNUSED) const char *file; /* the reference count */ - eina_module_load(m); + fail_if(!eina_module_load(m)); /* get */ sym = eina_module_symbol_get(m, "dummy_symbol"); fail_if(!sym); fail_if(*sym != 0xbad); file = eina_module_file_get(m); fail_if(!file); - eina_module_unload(m); + fail_if(eina_module_unload(m)); return EINA_TRUE; } diff --git a/src/tests/eina/eina_test_module_dummy.c b/src/tests/eina/eina_test_module_dummy.c index bb9916db43..aa136ebe8f 100644 --- a/src/tests/eina/eina_test_module_dummy.c +++ b/src/tests/eina/eina_test_module_dummy.c @@ -16,7 +16,7 @@ void dummy_module_shutdown(void) } -EAPI int dummy_symbol = 0xbad; +EINA_API int dummy_symbol = 0xbad; EINA_MODULE_INIT(dummy_module_init); EINA_MODULE_SHUTDOWN(dummy_module_shutdown); diff --git a/src/tests/eina/eina_test_quaternion.c b/src/tests/eina/eina_test_quaternion.c index fc1ec16bef..72360ec22c 100644 --- a/src/tests/eina/eina_test_quaternion.c +++ b/src/tests/eina/eina_test_quaternion.c @@ -220,7 +220,7 @@ EFL_START_TEST(eina_test_quaternion_dot) res = eina_quaternion_dot(&q, &r); - fail_if(res != 59); + fail_if(!EINA_DBL_EQ(res, 59)); } EFL_END_TEST @@ -457,25 +457,25 @@ EFL_START_TEST(eina_test_quaternion_operations) (out.z + 0.1 > DBL_EPSILON) || (out.w - 0.1 > DBL_EPSILON)); eina_quaternion_array_set(&out, v); - fail_if((out.x != 0) || (out.y != 1) || - (out.z != 2) || (out.w != 3)); + fail_if((!EINA_DBL_EQ(out.x, 0)) || (!EINA_DBL_EQ(out.y, 1)) || + (!EINA_DBL_EQ(out.z, 2)) || (!EINA_DBL_EQ(out.w, 3))); eina_quaternion_copy(&out, &in); - fail_if((out.x != 2) || (out.y != 2) || - (out.z != 1) || (out.w != 1)); + fail_if((!EINA_DBL_EQ(out.x, 2)) || (!EINA_DBL_EQ(out.y, 2)) || + (!EINA_DBL_EQ(out.z, 1)) || (!EINA_DBL_EQ(out.w, 1))); eina_quaternion_homogeneous_regulate(&out, &in2); - fail_if((out.x != 1) || (out.y != 1) || - (out.z != 1) || (out.w != 1)); + fail_if((!EINA_DBL_EQ(out.x, 1)) || (!EINA_DBL_EQ(out.y, 1)) || + (!EINA_DBL_EQ(out.z, 1)) || (!EINA_DBL_EQ(out.w, 1))); eina_quaternion_subtract(&out, &in2, &in); - fail_if((out.x != 3) || (out.y != 3) || - (out.z != 4) || (out.w != 4)); + fail_if((!EINA_DBL_EQ(out.x, 3)) || (!EINA_DBL_EQ(out.y, 3)) || + (!EINA_DBL_EQ(out.z, 4)) || (!EINA_DBL_EQ(out.w, 4))); - fail_if(eina_quaternion_length_get(&in2) != 10); - fail_if(eina_quaternion_length_square_get(&in) != 10); + fail_if(!EINA_DBL_EQ(eina_quaternion_length_get(&in2), 10)); + fail_if(!EINA_DBL_EQ(eina_quaternion_length_square_get(&in), 10)); fail_if((eina_quaternion_distance_get(&in2, &in) - sqrt(50)) > DBL_EPSILON); - fail_if(eina_quaternion_distance_square_get(&in2, &in) != 50); + fail_if(!EINA_DBL_EQ(eina_quaternion_distance_square_get(&in2, &in), 50)); angle = eina_quaternion_angle_plains(&in, &in2); fail_if(angle - 0.963 > DBL_EPSILON); diff --git a/src/tests/eina/eina_test_range.c b/src/tests/eina/eina_test_range.c new file mode 100644 index 0000000000..a1f84b8a00 --- /dev/null +++ b/src/tests/eina/eina_test_range.c @@ -0,0 +1,72 @@ +/* EINA - EFL data type library + * Copyright (C) 2020 Ali Alzyod + * + * 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, see <http://www.gnu.org/licenses/>. + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include <stdio.h> + +#include <Eina.h> + +#include "eina_suite.h" + +EFL_START_TEST(eina_range_intersect_union_test) +{ + Eina_Range r1 = EINA_RANGE(0, 10); + Eina_Range r2 = EINA_RANGE(5, 15); + + Eina_Range r_intersect = eina_range_intersect(&r1, &r2); + ck_assert_uint_eq(r_intersect.start, 5); + ck_assert_uint_eq(r_intersect.length, 5); + + Eina_Range r_union = eina_range_union(&r1, &r2); + ck_assert_uint_eq(r_union.start, 0); + ck_assert_uint_eq(r_union.length, 20); +} +EFL_END_TEST + +EFL_START_TEST(eina_range_contains_test) +{ + Eina_Range r1 = EINA_RANGE(0, 10); + + ck_assert(eina_range_contains(&r1,0)); + ck_assert(eina_range_contains(&r1,9)); + ck_assert(!eina_range_contains(&r1,10)); +} +EFL_END_TEST + +EFL_START_TEST(eina_range_equal_test) +{ + Eina_Range r1 = EINA_RANGE(0, 10); + Eina_Range r2 = EINA_RANGE(0, 10); + Eina_Range r3 = EINA_RANGE(0, 9); + + ck_assert(eina_range_equal(&r1, &r2)); + ck_assert(!eina_range_equal(&r1, &r3)); +} +EFL_END_TEST + + +void +eina_test_range(TCase *tc) +{ + tcase_add_test(tc, eina_range_intersect_union_test); + tcase_add_test(tc, eina_range_contains_test); + tcase_add_test(tc, eina_range_equal_test); +} diff --git a/src/tests/eina/eina_test_safepointer.c b/src/tests/eina/eina_test_safepointer.c index c99a188c2e..3096573058 100644 --- a/src/tests/eina/eina_test_safepointer.c +++ b/src/tests/eina/eina_test_safepointer.c @@ -167,7 +167,9 @@ EFL_START_TEST(eina_test_safepointer_lowestbit) eina_safepointer_unregister(ptr); + EXPECT_ERROR_START; ck_assert_ptr_eq(eina_safepointer_get(ptr), NULL); + EXPECT_ERROR_END; } } EFL_END_TEST diff --git a/src/tests/eina/eina_test_strbuf.c b/src/tests/eina/eina_test_strbuf.c index add3ce0963..ac99992a31 100644 --- a/src/tests/eina/eina_test_strbuf.c +++ b/src/tests/eina/eina_test_strbuf.c @@ -303,6 +303,20 @@ EFL_START_TEST(eina_test_strbuf_replace) fail_if(strlen(eina_strbuf_string_get(buf)) != eina_strbuf_length_get(buf)); fail_if(strcmp(eina_strbuf_string_get(buf), "baaaab")); + fail_if(eina_strbuf_replace_last(buf, "a", "x") == 0); + fail_if(strlen(eina_strbuf_string_get(buf)) != eina_strbuf_length_get(buf)); + fail_if(strcmp(eina_strbuf_string_get(buf), "baaaxb")); + + fail_if(eina_strbuf_replace_first(buf, "a", "b") == 0); + fail_if(strcmp(eina_strbuf_string_get(buf), "bbaaxb")); + + eina_strbuf_free(buf); + + buf = eina_strbuf_manage_read_only_new_length("baaaab",6); + fail_if(!buf); + fail_if(eina_strbuf_replace_first(buf, "a", "b") == 0); + fail_if(strcmp(eina_strbuf_string_get(buf), "bbaaab")); + eina_strbuf_free(buf); } EFL_END_TEST diff --git a/src/tests/eina/eina_test_stringshare.c b/src/tests/eina/eina_test_stringshare.c index 2f46ab75a4..d8ea004938 100644 --- a/src/tests/eina/eina_test_stringshare.c +++ b/src/tests/eina/eina_test_stringshare.c @@ -173,8 +173,6 @@ EINA_TEST_START(eina_stringshare_collision) char buffer[50]; int i; - srand(time(NULL)); - ea = eina_array_new(256); fail_if(!ea); diff --git a/src/tests/eina/eina_test_value.c b/src/tests/eina/eina_test_value.c index 347c79bad4..7d9e27e29a 100644 --- a/src/tests/eina/eina_test_value.c +++ b/src/tests/eina/eina_test_value.c @@ -2158,6 +2158,48 @@ EFL_START_TEST(eina_value_test_array) } EFL_END_TEST +EFL_START_TEST(eina_value_test_list_insert) +{ + Eina_Value *value; + char c; + char *str; + char buf[1024]; + + value = eina_value_list_new(EINA_VALUE_TYPE_CHAR); + fail_unless(value != NULL); + + fail_unless(eina_value_list_count(value) == 0); + fail_unless(!eina_value_list_insert(value, 1, '-')); + fail_unless(!eina_value_list_insert(value, 10, 'j')); + fail_unless(eina_value_list_count(value) == 0); + + fail_unless(eina_value_list_insert(value, 0, 'k')); + fail_unless(eina_value_list_insert(value, 1, '-')); + fail_unless(eina_value_list_insert(value, 0, 's')); + fail_unless(eina_value_list_insert(value, 1, 'j')); + fail_unless(eina_value_list_count(value) == 4); + + fail_unless(eina_value_list_get(value, 0, &c)); + fail_unless(c == 's'); + fail_unless(eina_value_list_get(value, 1, &c)); + fail_unless(c == 'j'); + fail_unless(eina_value_list_get(value, 2, &c)); + fail_unless(c == 'k'); + fail_unless(eina_value_list_get(value, 3, &c)); + fail_unless(c == '-'); + + snprintf(buf, sizeof(buf), "[%d, %d, %d, %d]", + (int) 's', (int) 'j', (int) 'k', (int) '-'); + + str = eina_value_to_string(value); + fail_unless(str != NULL); + ck_assert_str_eq(str, buf); + + free(str); + eina_value_free(value); +} +EFL_END_TEST + EFL_START_TEST(eina_value_test_list) { Eina_Value *value, other; @@ -3031,6 +3073,7 @@ eina_test_value(TCase *tc) // TODO: other converters... tcase_add_test(tc, eina_value_test_array); tcase_add_test(tc, eina_value_test_list); + tcase_add_test(tc, eina_value_test_list_insert); tcase_add_test(tc, eina_value_test_hash); tcase_add_test(tc, eina_value_test_timeval); tcase_add_test(tc, eina_value_test_blob); diff --git a/src/tests/eina/eina_test_vector.c b/src/tests/eina/eina_test_vector.c index 6030dfc528..e4afa8bc9a 100644 --- a/src/tests/eina/eina_test_vector.c +++ b/src/tests/eina/eina_test_vector.c @@ -42,41 +42,41 @@ EFL_START_TEST(eina_test_vector2_operations) eina_vector2_set(&v1, x, y); - fail_if((v1.x != 1) || (v1.y != 2)); + fail_if(!EINA_DBL_EQ(v1.x, 1) || !EINA_DBL_EQ(v1.y, 2)); eina_vector2_array_set(&v2, arr); - fail_if((v2.x != 5) || (v2.y != 5)); + fail_if(!EINA_DBL_EQ(v2.x, 5) || !EINA_DBL_EQ(v2.y, 5)); eina_vector2_copy(&v1, &v2); - fail_if((v1.x != 5) || (v1.y != 5)); + fail_if(!EINA_DBL_EQ(v1.x, 5) || !EINA_DBL_EQ(v1.y, 5)); eina_vector2_negate(&v1, &v2); - fail_if((v1.x != -5) || (v1.y != -5)); + fail_if(!EINA_DBL_EQ(v1.x, -5) || !EINA_DBL_EQ(v1.y, -5)); eina_vector2_set(&v1, x, y); eina_vector2_add(&v3, &v1, &v2); - fail_if((v3.x != 6) || (v3.y != 7)); + fail_if(!EINA_DBL_EQ(v3.x, 6) || !EINA_DBL_EQ(v3.y, 7)); eina_vector2_subtract(&v3, &v2, &v1); - fail_if((v3.x != 4) || (v3.y != 3)); + fail_if(!EINA_DBL_EQ(v3.x, 4) || !EINA_DBL_EQ(v3.y, 3)); eina_vector2_scale(&v3, &v1, y); - fail_if((v3.x != 2) || (v3.y != 4)); + fail_if(!EINA_DBL_EQ(v3.x, 2) || !EINA_DBL_EQ(v3.y, 4)); res = eina_vector2_dot_product(&v1, &v2); - fail_if(res != 15); + fail_if(!EINA_DBL_EQ(res, 15)); res = eina_vector2_length_get(&v2); fail_if((res - sqrt(50)) > DBL_EPSILON); res = eina_vector2_length_square_get(&v2); - fail_if(res != 50); + fail_if(!EINA_DBL_EQ(res, 50)); res = eina_vector2_distance_get(&v2, &v1); fail_if((res - sqrt(25)) > DBL_EPSILON); res = eina_vector2_distance_square_get(&v2, &v1); - fail_if(res != 25); + fail_if(!EINA_DBL_EQ(res, 25)); eina_vector2_normalize(&v3, &v2); fail_if((v3.x - v2.x / sqrt(50)) > DBL_EPSILON || @@ -86,10 +86,10 @@ EFL_START_TEST(eina_test_vector2_operations) 2, 2, 2, 2); eina_vector2_transform(&v3, &m2, &v1); - fail_if((v3.x != 6) || (v3.y != 6)); + fail_if(!EINA_DBL_EQ(v3.x, 6) || !EINA_DBL_EQ(v3.y, 6)); eina_vector2_transform(&v3, &m2, &v3); - fail_if((v3.x != 24) || (v3.y != 24)); + fail_if(!EINA_DBL_EQ(v3.x, 24) || !EINA_DBL_EQ(v3.y, 24)); eina_matrix3_values_set(&m3, 2, 2, 2, @@ -97,14 +97,14 @@ EFL_START_TEST(eina_test_vector2_operations) 2, 2, 2); eina_vector2_homogeneous_position_transform(&v3, &m3, &v1); - fail_if((v3.x != 1) || (v3.y != 1)); + fail_if(!EINA_DBL_EQ(v3.x, 1) || !EINA_DBL_EQ(v3.y, 1)); eina_vector2_homogeneous_direction_transform(&v3, &m3, &v1); - fail_if((v3.x != 6) || (v3.y != 6)); + fail_if(!EINA_DBL_EQ(v3.x, 6) || !EINA_DBL_EQ(v3.y, 6)); eina_vector2_homogeneous_direction_transform(&v3, &m3, &v3); - fail_if((v3.x != 24) || (v3.y != 24)); + fail_if(!EINA_DBL_EQ(v3.x, 24) || !EINA_DBL_EQ(v3.y, 24)); } EFL_END_TEST @@ -126,51 +126,51 @@ EFL_START_TEST(eina_test_vector3_operations) eina_vector3_set(&v1, x, y, z); - fail_if((v1.x != 1) || (v1.y != 2) || (v1.z != 3)); + fail_if(!EINA_DBL_EQ(v1.x, 1) || !EINA_DBL_EQ(v1.y, 2) || !EINA_DBL_EQ(v1.z, 3)); eina_vector3_array_set(&v2, arr); - fail_if((v2.x != 5) || (v2.y != 5) || (v2.z != 5)); + fail_if(!EINA_DBL_EQ(v2.x, 5) || !EINA_DBL_EQ(v2.y, 5) || !EINA_DBL_EQ(v2.z, 5)); eina_vector3_copy(&v1, &v2); - fail_if((v1.x != 5) || (v1.y != 5) || (v1.z != 5)); + fail_if(!EINA_DBL_EQ(v1.x, 5) || !EINA_DBL_EQ(v1.y, 5) || !EINA_DBL_EQ(v1.z, 5)); eina_vector3_negate(&v1, &v2); - fail_if((v1.x != -5) || (v1.y != -5), (v1.z != -5)); + fail_if(!EINA_DBL_EQ(v1.x, -5) || !EINA_DBL_EQ(v1.y, -5) || !EINA_DBL_EQ(v1.z, -5)); eina_vector3_set(&v1, x, y, z); eina_vector3_add(&v3, &v1, &v2); - fail_if((v3.x != 6) || (v3.y != 7) || v3.z != 8); + fail_if(!EINA_DBL_EQ(v3.x, 6) || !EINA_DBL_EQ(v3.y, 7) || !EINA_DBL_EQ(v3.z, 8)); eina_vector3_subtract(&v3, &v2, &v1); - fail_if((v3.x != 4) || (v3.y != 3) || (v3.z != 2)); + fail_if(!EINA_DBL_EQ(v3.x, 4) || !EINA_DBL_EQ(v3.y, 3) || !EINA_DBL_EQ(v3.z, 2)); eina_vector3_scale(&v3, &v1, y); - fail_if((v3.x != 2) || (v3.y != 4) || (v3.z != 6)); + fail_if(!EINA_DBL_EQ(v3.x, 2) || !EINA_DBL_EQ(v3.y, 4) || !EINA_DBL_EQ(v3.z, 6)); eina_vector3_multiply(&v3, &v2, &v1); - fail_if((v3.x != 5) || (v3.y != 10) || (v3.z != 15)); + fail_if(!EINA_DBL_EQ(v3.x, 5) || !EINA_DBL_EQ(v3.y, 10) || !EINA_DBL_EQ(v3.z, 15)); res = eina_vector3_dot_product(&v1, &v2); - fail_if(res != 30); + fail_if(!EINA_DBL_EQ(res, 30)); eina_vector3_cross_product(&v3, &v1, &v2); - fail_if((v3.x != -5) || (v3.y != 10) || (v3.z != -5)); + fail_if(!EINA_DBL_EQ(v3.x, -5) || !EINA_DBL_EQ(v3.y, 10) || !EINA_DBL_EQ(v3.z, -5)); eina_vector3_cross_product(&v3, &v1, &v3); - fail_if((v3.x != -40) || (v3.y != -10) || (v3.z != 20)); + fail_if(!EINA_DBL_EQ(v3.x, -40) || !EINA_DBL_EQ(v3.y, -10) || !EINA_DBL_EQ(v3.z, 20)); res = eina_vector3_length_get(&v2); fail_if((res - sqrt(75)) > DBL_EPSILON); res = eina_vector3_length_square_get(&v2); - fail_if(res != 75); + fail_if(!EINA_DBL_EQ(res, 75)); res = eina_vector3_distance_get(&v2, &v1); fail_if((res - sqrt(29)) > (DBL_EPSILON * 2.0)); res = eina_vector3_distance_square_get(&v2, &v1); - fail_if(res != 29); + fail_if(!EINA_DBL_EQ(res, 29)); eina_vector3_normalize(&v3, &v2); fail_if((v3.x - v2.x / sqrt(75)) > DBL_EPSILON || @@ -185,10 +185,10 @@ EFL_START_TEST(eina_test_vector3_operations) 2, 2, 2, 2, 2, 2); eina_vector3_transform(&v3, &m3, &v1); - fail_if((v3.x != 12) || (v3.y != 12) || (v3.z != 12)); + fail_if(!EINA_DBL_EQ(v3.x, 12) || !EINA_DBL_EQ(v3.y, 12) || !EINA_DBL_EQ(v3.z, 12)); eina_vector3_transform(&v3, &m3, &v3); - fail_if((v3.x != 72) || (v3.y != 72) || (v3.z != 72)); + fail_if(!EINA_DBL_EQ(v3.x, 72) || !EINA_DBL_EQ(v3.y, 72) || !EINA_DBL_EQ(v3.z, 72)); eina_matrix4_values_set(&m4, 2, 2, 2, 2, @@ -196,24 +196,24 @@ EFL_START_TEST(eina_test_vector3_operations) 2, 2, 2, 2, 2, 2, 2, 2); eina_vector3_homogeneous_position_transform(&v3, &m4, &v1); - fail_if((v3.x != 1) || (v3.y != 1) || (v3.z != 1)); + fail_if(!EINA_DBL_EQ(v3.x, 1) || !EINA_DBL_EQ(v3.y, 1) || !EINA_DBL_EQ(v3.z, 1)); eina_quaternion_set(&q, 2, 2, 2, 0); eina_vector3_quaternion_rotate(&v3, &v1, &q); - fail_if((v3.x != 25) || (v3.y != 2) || (v3.z != -21)); + fail_if(!EINA_DBL_EQ(v3.x, 25) || !EINA_DBL_EQ(v3.y, 2) || !EINA_DBL_EQ(v3.z, -21)); eina_vector3_orthogonal_projection_on_plane(&v3, &v1, &v2); - fail_if((v3.x != -1) || (v3.y != 0) || (v3.z != 1)); + fail_if(!EINA_DBL_EQ(v3.x, -1) || !EINA_DBL_EQ(v3.y, 0) || !EINA_DBL_EQ(v3.z, 1)); eina_vector3_plane_by_points(&q, &v3, &v1, &v2); - fail_if((q.x != -2) || (q.y != 4) || (q.z != -2) || (q.z > DBL_EPSILON)); + fail_if(!EINA_DBL_EQ(q.x, -2) || !EINA_DBL_EQ(q.y, 4) || !EINA_DBL_EQ(q.z, -2) || (q.z > DBL_EPSILON)); eina_vector3_homogeneous_direction_set(&v3, &q); - fail_if((v3.x != -2) || (v3.y != 4) || (v3.z != -2)); + fail_if(!EINA_DBL_EQ(v3.x, -2) || !EINA_DBL_EQ(v3.y, 4) || !EINA_DBL_EQ(v3.z, -2)); eina_quaternion_set(&q, 2, 2, 2, 0.5); eina_vector3_homogeneous_position_set(&v3, &q); - fail_if((v3.x != 4) || (v3.y != 4) || (v3.z != 4)); + fail_if(!EINA_DBL_EQ(v3.x, 4) || !EINA_DBL_EQ(v3.y, 4) || !EINA_DBL_EQ(v3.z, 4)); res2 = eina_vector3_equivalent(&v1, &v2); fail_if(res2 != EINA_FALSE); @@ -230,10 +230,10 @@ EFL_START_TEST(eina_test_vector3_operations) fail_if(res2 != EINA_TRUE); eina_vector3_homogeneous_direction_transform(&v3, &m4, &v1); - fail_if((v3.x != 12) || (v3.y != 12) || (v3.z != 12)); + fail_if(!EINA_DBL_EQ(v3.x, 12) || !EINA_DBL_EQ(v3.y, 12) || !EINA_DBL_EQ(v3.z, 12)); eina_vector3_homogeneous_direction_transform(&v3, &m4, &v3); - fail_if((v3.x != 72) || (v3.y != 72) || (v3.z != 72)); + fail_if(!EINA_DBL_EQ(v3.x, 72) || !EINA_DBL_EQ(v3.y, 72) || !EINA_DBL_EQ(v3.z, 72)); } EFL_END_TEST diff --git a/src/tests/eina/eina_test_vpath.c b/src/tests/eina/eina_test_vpath.c index 1282cc4f2f..8db218eefc 100644 --- a/src/tests/eina/eina_test_vpath.c +++ b/src/tests/eina/eina_test_vpath.c @@ -30,18 +30,42 @@ EFL_END_TEST EFL_START_TEST(eina_test_vpath_invalid) { + EXPECT_ERROR_START; ck_assert_ptr_eq(eina_vpath_resolve("(:asdfasdfafasdf"), NULL); + EXPECT_ERROR_END; + EXPECT_ERROR_START; ck_assert_ptr_eq(eina_vpath_resolve("(:missing_slash:)"), NULL); + EXPECT_ERROR_END; + EXPECT_ERROR_START; ck_assert_ptr_eq(eina_vpath_resolve("(:"), NULL); + EXPECT_ERROR_END; + EXPECT_ERROR_START; ck_assert_ptr_eq(eina_vpath_resolve("(:home:)"), NULL); + EXPECT_ERROR_END; + EXPECT_ERROR_START; ck_assert_ptr_eq(eina_vpath_resolve("(:wrong_meta_key:)/"), NULL); + EXPECT_ERROR_END; + EXPECT_ERROR_START; ck_assert_ptr_eq(eina_vpath_resolve("${asdfasdfafasdf"), NULL); + EXPECT_ERROR_END; + EXPECT_ERROR_START; ck_assert_ptr_eq(eina_vpath_resolve("${missing_slash}"), NULL); + EXPECT_ERROR_END; + EXPECT_ERROR_START; ck_assert_ptr_eq(eina_vpath_resolve("${"), NULL); + EXPECT_ERROR_END; + EXPECT_ERROR_START; ck_assert_ptr_eq(eina_vpath_resolve("${home}"), NULL); + EXPECT_ERROR_END; + EXPECT_ERROR_START; ck_assert_ptr_eq(eina_vpath_resolve("${wrong_meta_key}/"), NULL); + EXPECT_ERROR_END; + EXPECT_ERROR_START; ck_assert_ptr_eq(eina_vpath_resolve("${home:)"), NULL); + EXPECT_ERROR_END; + EXPECT_ERROR_START; ck_assert_ptr_eq(eina_vpath_resolve("${wrong_meta_key:)/"), NULL); + EXPECT_ERROR_END; } EFL_END_TEST diff --git a/src/tests/eina/meson.build b/src/tests/eina/meson.build index b6ba688e8b..18c8f91ced 100644 --- a/src/tests/eina/meson.build +++ b/src/tests/eina/meson.build @@ -29,6 +29,7 @@ eina_test_src = files( 'eina_test_benchmark.c', 'eina_test_mempool.c', 'eina_test_rectangle.c', +'eina_test_range.c', 'eina_test_list.c', 'eina_test_matrixsparse.c', 'eina_test_tiler.c', @@ -53,7 +54,8 @@ eina_test_src = files( 'eina_test_slice.c', 'eina_test_freeq.c', 'eina_test_slstr.c', -'eina_test_vpath.c' +'eina_test_vpath.c', +'eina_test_abstract_content.c', ) diff --git a/src/tests/eina_cxx/eina_simple.eo b/src/tests/eina_cxx/eina_simple.eo index 4034dd6642..725d1824ab 100644 --- a/src/tests/eina_cxx/eina_simple.eo +++ b/src/tests/eina_cxx/eina_simple.eo @@ -1,5 +1,5 @@ -class Eina_Simple extends Efl.Object -{ +class Eina_Simple extends Efl.Object { + [[Docs for Eona_Simple. @since 1.66]] data: null; implements { Efl.Object.constructor; diff --git a/src/tests/eio/eio_test_manager.c b/src/tests/eio/eio_test_manager.c index fb6c7f4054..fbbe3b78e5 100644 --- a/src/tests/eio/eio_test_manager.c +++ b/src/tests/eio/eio_test_manager.c @@ -88,8 +88,8 @@ _done_cb(void *data, unsigned long files_count = 0; eina_value_setup(&convert, EINA_VALUE_TYPE_ULONG); - eina_value_convert(&file, &convert); - eina_value_ulong_get(&convert, &files_count); + fail_if(eina_value_convert(&file, &convert) != EINA_TRUE); + fail_unless(eina_value_ulong_get(&convert, &files_count)); fail_if((*number_of_listed_files) != test_count); fail_if(files_count != test_count); @@ -323,6 +323,8 @@ EFL_START_TEST(efl_io_test_instantiated) { Efl_Io_Manager *manager; + efl_object_init(); + ck_assert_int_eq(eio_shutdown(), 0); ecore_init(); fail_if(efl_provider_find(efl_main_loop_get(), EFL_IO_MANAGER_CLASS) != NULL); @@ -332,6 +334,8 @@ EFL_START_TEST(efl_io_test_instantiated) manager = efl_provider_find(efl_main_loop_get(), EFL_IO_MANAGER_CLASS); fail_if(manager == NULL); fail_if(!efl_isa(manager, EFL_IO_MANAGER_CLASS)); + + efl_object_shutdown(); } EFL_END_TEST diff --git a/src/tests/eio/eio_test_map.c b/src/tests/eio/eio_test_map.c index fdb0631a9d..f794f73d73 100644 --- a/src/tests/eio/eio_test_map.c +++ b/src/tests/eio/eio_test_map.c @@ -14,7 +14,7 @@ #include "eio_suite.h" -Eina_File *ee; +Eina_File *eie; static void _done_cb(void *data EINA_UNUSED, Eio_File *handler EINA_UNUSED) @@ -25,7 +25,7 @@ _done_cb(void *data EINA_UNUSED, Eio_File *handler EINA_UNUSED) static void _open_cb(void *data EINA_UNUSED, Eio_File *handler EINA_UNUSED, Eina_File *ef) { - ee = ef; + eie = ef; ecore_main_loop_quit(); } @@ -70,17 +70,17 @@ EFL_START_TEST(eio_test_map_simple) ecore_main_loop_begin(); fail_if(!ef); - ef = eio_file_map_all(ee, EINA_FILE_POPULATE, _filter_cb, _map_cb, + ef = eio_file_map_all(eie, EINA_FILE_POPULATE, _filter_cb, _map_cb, _error_cb, data); ecore_main_loop_begin(); fail_if(!ef); - ef = eio_file_map_new(ee, EINA_FILE_WILLNEED, 0, strlen(data), _filter_cb, + ef = eio_file_map_new(eie, EINA_FILE_WILLNEED, 0, strlen(data), _filter_cb, _map_cb, _error_cb, data); ecore_main_loop_begin(); fail_if(!ef); - ef = eio_file_close(ee, _done_cb, _error_cb, NULL); + ef = eio_file_close(eie, _done_cb, _error_cb, NULL); ecore_main_loop_begin(); fail_if(!ef); diff --git a/src/tests/eldbus/eldbus_fake_server.c b/src/tests/eldbus/eldbus_fake_server.c index c9ef1d95a0..32f5b9bd17 100644 --- a/src/tests/eldbus/eldbus_fake_server.c +++ b/src/tests/eldbus/eldbus_fake_server.c @@ -153,12 +153,20 @@ _fake_server_property_set(const Eldbus_Service_Interface *iface, ck_assert_ptr_ne(NULL, data); if (strcmp(propname, FAKE_SERVER_WRITEONLY_PROPERTY) == 0) - eldbus_message_iter_arguments_get(iter, "i", &data->writeonly_property); - else - if (strcmp(propname, FAKE_SERVER_READWRITE_PROPERTY) == 0) - eldbus_message_iter_arguments_get(iter, "i", &data->readwrite_property); + { + if (!eldbus_message_iter_arguments_get(iter, "i", &data->writeonly_property)) + ck_abort_msg("error getting iter arguments on _fake_server_property_set"); + } else - return eldbus_message_error_new(msg, "Invalid property", "Invalid property."); + { + if (strcmp(propname, FAKE_SERVER_READWRITE_PROPERTY) == 0) + { + if (!eldbus_message_iter_arguments_get(iter, "i", &data->readwrite_property)) + ck_abort_msg("error getting iter arguments on _fake_server_property_set"); + } + else + return eldbus_message_error_new(msg, "Invalid property", "Invalid property."); + } return eldbus_message_method_return_new(msg); } @@ -179,7 +187,6 @@ _fake_server_name_request_cb(void *data EINA_UNUSED, if (ELDBUS_NAME_REQUEST_REPLY_PRIMARY_OWNER != reply) { const char *errcode = "Unknown reply"; - char errmsg[512]; switch (reply) { case ELDBUS_NAME_REQUEST_REPLY_IN_QUEUE: @@ -194,9 +201,8 @@ _fake_server_name_request_cb(void *data EINA_UNUSED, break; default: break; } - snprintf(errmsg, sizeof(errmsg), "Failed to start fake server: %s (%u)", + ck_abort_msg( "Failed to start fake server: %s (%u)", errcode, reply); - ck_abort_msg(errmsg); } ecore_main_loop_quit(); diff --git a/src/tests/elementary/custom_gesture.c b/src/tests/elementary/custom_gesture.c new file mode 100644 index 0000000000..629f68bcd5 --- /dev/null +++ b/src/tests/elementary/custom_gesture.c @@ -0,0 +1,19 @@ +#include <Efl_Ui.h> +#include "custom_gesture.eo.h" +#include "custom_gesture.h" +#define MY_CLASS CUSTOM_GESTURE_CLASS + + +EOLIAN static int +_custom_gesture_x_delta_get(const Eo *obj EINA_UNUSED, Custom_Gesture_Data *pd) +{ + return pd->x_delta; +} + +EOLIAN static int +_custom_gesture_y_delta_get(const Eo *obj EINA_UNUSED, Custom_Gesture_Data *pd) +{ + return pd->y_delta; +} + +#include "custom_gesture.eo.c" diff --git a/src/tests/elementary/custom_gesture.eo b/src/tests/elementary/custom_gesture.eo new file mode 100644 index 0000000000..7a6266db93 --- /dev/null +++ b/src/tests/elementary/custom_gesture.eo @@ -0,0 +1,26 @@ +import eina_types; +parse efl_canvas_gesture_recognizer; + +class @beta Custom_Gesture extends Efl.Canvas.Gesture_Custom +{ + [[This is a test class for custom gesture implementations. + ]] + methods { + @property x_delta { + [[This is the total change in the X coordinate.]] + get { + } + values { + val: int; [[The change since the start of the gesture.]] + } + } + @property y_delta { + [[This is the total change in the Y coordinate.]] + get { + } + values { + val: int; [[The change since the start of the gesture.]] + } + } + } +} diff --git a/src/tests/elementary/custom_gesture.h b/src/tests/elementary/custom_gesture.h new file mode 100644 index 0000000000..fa12b68593 --- /dev/null +++ b/src/tests/elementary/custom_gesture.h @@ -0,0 +1,16 @@ +#ifndef CUSTOM_GESTURE_H +# define CUSTOM_GESTURE_H + + +typedef struct Custom_Gesture_Data +{ + int x_delta; + int y_delta; +} Custom_Gesture_Data; + + + + + + +#endif diff --git a/src/tests/elementary/custom_recognizer.c b/src/tests/elementary/custom_recognizer.c new file mode 100644 index 0000000000..4797b9530e --- /dev/null +++ b/src/tests/elementary/custom_recognizer.c @@ -0,0 +1,56 @@ +#include <Efl_Ui.h> +#include "custom_recognizer.eo.h" +#include "custom_gesture.eo.h" +#include "custom_gesture.h" + +#define MY_CLASS CUSTOM_RECOGNIZER_CLASS + +typedef struct Custom_Recognizer_Data +{ + +} Custom_Recognizer_Data; + +EOLIAN static const Efl_Class * +_custom_recognizer_efl_canvas_gesture_recognizer_type_get(const Eo *obj EINA_UNUSED, Custom_Recognizer_Data *pd EINA_UNUSED) +{ + return CUSTOM_GESTURE_CLASS; +} + +EOLIAN static Eo * +_custom_recognizer_efl_object_finalize(Eo *obj, Custom_Recognizer_Data *pd EINA_UNUSED) +{ + efl_gesture_recognizer_custom_gesture_name_set(obj, "custom_gesture"); + return efl_finalize(efl_super(obj, MY_CLASS)); +} + +EOLIAN static Efl_Canvas_Gesture_Recognizer_Result +_custom_recognizer_efl_canvas_gesture_recognizer_recognize(Eo *obj EINA_UNUSED, Custom_Recognizer_Data *pd EINA_UNUSED, + Efl_Canvas_Gesture *gesture, Efl_Object *watched EINA_UNUSED, + Efl_Canvas_Gesture_Touch *event) +{ + const Efl_Gesture_Touch_Point_Data *data = efl_gesture_touch_current_data_get(event); + Custom_Gesture_Data *gd; + + /* ignore multi-touch */ + if (data->id) return EFL_GESTURE_RECOGNIZER_RESULT_IGNORE; + + switch (efl_gesture_touch_state_get(event)) + { + case EFL_GESTURE_TOUCH_STATE_BEGIN: + return EFL_GESTURE_RECOGNIZER_RESULT_TRIGGER; + case EFL_GESTURE_TOUCH_STATE_UPDATE: + gd = efl_data_scope_get(gesture, CUSTOM_GESTURE_CLASS); + gd->x_delta += data->cur.pos.x - data->prev.pos.x; + gd->y_delta += data->cur.pos.y - data->prev.pos.y; + return EFL_GESTURE_RECOGNIZER_RESULT_TRIGGER; + case EFL_GESTURE_TOUCH_STATE_END: + return EFL_GESTURE_RECOGNIZER_RESULT_FINISH; + default: + + break; + } + + return EFL_GESTURE_RECOGNIZER_RESULT_CANCEL; +} + +#include "custom_recognizer.eo.c" diff --git a/src/tests/elementary/custom_recognizer.eo b/src/tests/elementary/custom_recognizer.eo new file mode 100644 index 0000000000..bbe4c0cfc6 --- /dev/null +++ b/src/tests/elementary/custom_recognizer.eo @@ -0,0 +1,11 @@ +class @beta Custom_Recognizer extends Efl.Canvas.Gesture_Recognizer_Custom +{ + [[Custom gesture recognizer test class. + ]] + c_prefix: custom_recognizer; + implements { + Efl.Object.finalize; + Efl.Canvas.Gesture_Recognizer.recognize; + Efl.Canvas.Gesture_Recognizer.type { get; } + } +} diff --git a/src/tests/elementary/custom_recognizer2.c b/src/tests/elementary/custom_recognizer2.c new file mode 100644 index 0000000000..3b8995058a --- /dev/null +++ b/src/tests/elementary/custom_recognizer2.c @@ -0,0 +1,41 @@ +#include <Efl_Ui.h> +#include "custom_recognizer2.eo.h" +#define MY_CLASS CUSTOM_RECOGNIZER2_CLASS + +typedef struct Custom_Recognizer2_Data +{ +} Custom_Recognizer2_Data; + +EOLIAN static Eo * +_custom_recognizer2_efl_object_finalize(Eo *obj, Custom_Recognizer2_Data *pd EINA_UNUSED) +{ + efl_gesture_recognizer_custom_gesture_name_set(obj, "custom_gesture2"); + return efl_finalize(efl_super(obj, MY_CLASS)); +} + +EOLIAN static Efl_Canvas_Gesture_Recognizer_Result +_custom_recognizer2_efl_canvas_gesture_recognizer_recognize(Eo *obj EINA_UNUSED, Custom_Recognizer2_Data *pd EINA_UNUSED, + Efl_Canvas_Gesture *gesture EINA_UNUSED, Efl_Object *watched EINA_UNUSED, + Efl_Canvas_Gesture_Touch *event) +{ + Eina_Position2D start = efl_gesture_touch_start_point_get(event); + Eina_Position2D cur = efl_gesture_touch_current_point_get(event); + switch (efl_gesture_touch_state_get(event)) + { + case EFL_GESTURE_TOUCH_STATE_BEGIN: + return EFL_GESTURE_RECOGNIZER_RESULT_TRIGGER; + case EFL_GESTURE_TOUCH_STATE_UPDATE: + if (EINA_POSITION2D_EQ(start, cur)) + return EFL_GESTURE_RECOGNIZER_RESULT_TRIGGER; + if ((cur.x - start.x == 1) && (cur.y == start.y)) + return EFL_GESTURE_RECOGNIZER_RESULT_FINISH; + case EFL_GESTURE_TOUCH_STATE_END: + default: + + break; + } + + return EFL_GESTURE_RECOGNIZER_RESULT_CANCEL; +} + +#include "custom_recognizer2.eo.c" diff --git a/src/tests/elementary/custom_recognizer2.eo b/src/tests/elementary/custom_recognizer2.eo new file mode 100644 index 0000000000..35c97d9d61 --- /dev/null +++ b/src/tests/elementary/custom_recognizer2.eo @@ -0,0 +1,10 @@ +class @beta Custom_Recognizer2 extends Efl.Canvas.Gesture_Recognizer_Custom +{ + [[Custom gesture recognizer test class. + ]] + c_prefix: custom_recognizer2; + implements { + Efl.Object.finalize; + Efl.Canvas.Gesture_Recognizer.recognize; + } +} diff --git a/src/tests/elementary/efl_ui_suite.c b/src/tests/elementary/efl_ui_suite.c index 9234d68a2f..cfe45f4cf7 100644 --- a/src/tests/elementary/efl_ui_suite.c +++ b/src/tests/elementary/efl_ui_suite.c @@ -14,6 +14,7 @@ static const Efl_Test_Case etc[] = { { "efl_ui_config", efl_ui_test_config}, { "efl_ui_focus", efl_ui_test_focus}, { "efl_ui_focus_sub", efl_ui_test_focus_sub}, + { "efl_ui_gesture", efl_ui_test_gesture}, { "efl_ui_box", efl_ui_test_box}, { "efl_ui_box_flow", efl_ui_test_box_flow}, { "efl_ui_box_stack", efl_ui_test_box_stack}, @@ -38,14 +39,18 @@ static const Efl_Test_Case etc[] = { { "efl_ui_collection", efl_ui_test_item_container }, { "efl_ui_grid_container", efl_ui_test_grid_container }, { "efl_ui_list_container", efl_ui_test_list_container }, + { "efl_ui_collection_view", efl_ui_test_collection_view }, { "efl_ui_select_model", efl_ui_test_select_model }, { "efl_ui_view_model", efl_ui_test_view_model }, { "efl_ui_group_item", efl_ui_test_group_item }, { "efl_ui_text", efl_ui_test_text}, +#ifdef BUILD_VG_LOADER_JSON + { "efl_ui_vg_animation", efl_ui_test_vg_animation}, +#endif { NULL, NULL } }; -EFL_CLASS_SIMPLE_CLASS(efl_ui_widget, "efl_ui_widget", EFL_UI_WIDGET_CLASS); +EFL_CLASS_SIMPLE_CLASS(efl_ui_widget, "Efl.Ui.Widget", EFL_UI_WIDGET_CLASS); int main(int argc, char **argv) diff --git a/src/tests/elementary/efl_ui_suite.h b/src/tests/elementary/efl_ui_suite.h index cb83a00ce7..4963b4a77c 100644 --- a/src/tests/elementary/efl_ui_suite.h +++ b/src/tests/elementary/efl_ui_suite.h @@ -33,6 +33,7 @@ void efl_ui_test_image(TCase *tc); void efl_ui_test_callback(TCase *tc); void efl_ui_test_focus(TCase *tc); void efl_ui_test_focus_sub(TCase *tc); +void efl_ui_test_gesture(TCase *tc); void efl_ui_model(TCase *tc); void efl_ui_test_widget(TCase *tc); void efl_ui_test_spotlight(TCase *tc); @@ -46,6 +47,7 @@ void efl_ui_test_spin_button(TCase *tc); void efl_ui_test_item_container(TCase *tc); void efl_ui_test_list_container(TCase *tc); void efl_ui_test_grid_container(TCase *tc); +void efl_ui_test_collection_view(TCase *tc); void efl_ui_test_config(TCase *tc); void efl_ui_test_popup(TCase *tc); void efl_ui_test_scroller(TCase *tc); @@ -53,6 +55,7 @@ void efl_ui_test_select_model(TCase *tc); void efl_ui_test_view_model(TCase *tc); void efl_ui_test_group_item(TCase *tc); void efl_ui_test_text(TCase *tc); +void efl_ui_test_vg_animation(TCase *tc); void loop_timer_interval_set(Eo *obj, double in); diff --git a/src/tests/elementary/efl_ui_test_collection_view.c b/src/tests/elementary/efl_ui_test_collection_view.c new file mode 100644 index 0000000000..9e9f91b48e --- /dev/null +++ b/src/tests/elementary/efl_ui_test_collection_view.c @@ -0,0 +1,156 @@ +#ifdef HAVE_CONFIG_H +# include "elementary_config.h" +#endif + +#include <Efl_Ui.h> +#include "efl_ui_suite.h" + +#define NUM_ITEMS 50 + +static Efl_Model* +_make_model(Efl_Ui_Win *win) +{ + Eina_Value vi; + Efl_Generic_Model *model, *child; + unsigned int i; + + model = efl_add(EFL_GENERIC_MODEL_CLASS, win); + model = efl_add(EFL_UI_VIEW_MODEL_CLASS, model, + efl_ui_view_model_set(efl_added, model)); + eina_value_setup(&vi, EINA_VALUE_TYPE_INT); + + efl_ui_view_model_property_string_add(model, "relative", "Relative index ${child.index}", "WRONG", "WRONG"); + efl_ui_view_model_property_string_add(model, "title", "Initial index ${initial}", "WRONG", "WRONG"); + + + for (i = 0; i < (NUM_ITEMS); i++) + { + child = efl_model_child_add(model); + eina_value_set(&vi, i); + efl_model_property_set(child, "initial", &vi); + } + + eina_value_flush(&vi); + return model; +} + +static Eina_Value +_quit(Eo *obj, void *data EINA_UNUSED, const Eina_Value v) +{ + efl_loop_quit(efl_loop_get(obj), v); + return v; +} + +static Eina_Value +_children_get(Eo *obj EINA_UNUSED, void *data EINA_UNUSED, const Eina_Value v) +{ + Efl_Model *child; + unsigned int i, len; + + EINA_VALUE_ARRAY_FOREACH(&v, len, i, child) + { + Eina_Value *rel_val, *title_val; + char *relative, *title; + if (i != 5) continue; + rel_val = efl_model_property_get(child, "relative"); + title_val = efl_model_property_get(child, "title"); + relative = eina_value_to_string(rel_val); + title = eina_value_to_string(title_val); + + ck_assert(eina_streq(relative, "Relative index 5")); + ck_assert(eina_streq(title, "Initial index 5")); + free(relative); + free(title); + break; + } + return EINA_VALUE_EMPTY; +} + +EFL_START_TEST(test_efl_ui_collection_view_basic) +{ + Efl_Ui_Win *win; + Efl_Model *model; + Efl_Ui_List_View *lv; + Efl_Ui_Factory *fl; + Eina_Future *f; + int count_realize = 0; + int count_unrealize = 0; + + win = win_add(); + efl_gfx_entity_size_set(win, EINA_SIZE2D(100, 100)); + + model = _make_model(win); + fl = efl_add(EFL_UI_LAYOUT_FACTORY_CLASS, win, + efl_ui_property_bind(efl_added, "text", "title"), + efl_ui_widget_factory_item_class_set(efl_added, EFL_UI_LIST_DEFAULT_ITEM_CLASS)); + + lv = efl_add(EFL_UI_LIST_VIEW_CLASS, win, + efl_ui_collection_view_factory_set(efl_added, fl), + efl_ui_view_model_set(efl_added, model), + efl_event_callback_add(efl_added, EFL_UI_COLLECTION_VIEW_EVENT_ITEM_REALIZED, + (void*)event_callback_that_increments_an_int_when_called, &count_realize), + efl_event_callback_add(efl_added, EFL_UI_COLLECTION_VIEW_EVENT_ITEM_UNREALIZED, + (void*)event_callback_that_increments_an_int_when_called, &count_unrealize) + ); + efl_content_set(win, lv); + + get_me_to_those_events(lv); + ck_assert_int_gt(count_realize, 0); + /* FIXME: this should eventually be eq(0) */ + ck_assert_int_gt(count_unrealize, 0); + + f = efl_model_children_slice_get(lv, 0, efl_model_children_count_get(lv)); + f = efl_future_then(lv, f, .success_type = EINA_VALUE_TYPE_ARRAY, .success = _children_get); + ecore_main_loop_iterate(); + efl_event_callback_del(lv, EFL_UI_COLLECTION_VIEW_EVENT_ITEM_REALIZED, (void*)event_callback_that_increments_an_int_when_called, &count_realize); + efl_event_callback_del(lv, EFL_UI_COLLECTION_VIEW_EVENT_ITEM_UNREALIZED, (void*)event_callback_that_increments_an_int_when_called, &count_unrealize); +} +EFL_END_TEST + +EFL_START_TEST(test_efl_ui_collection_view_select) +{ + Efl_Ui_Win *win; + Efl_Model *model; + Efl_Ui_List_View *lv; + Efl_Ui_Factory *fl; + Eina_Value *sel_val; + unsigned long sel = 10000; + + win = win_add(); + efl_gfx_entity_size_set(win, EINA_SIZE2D(100, 100)); + + model = _make_model(win); + model = efl_add(EFL_UI_SELECT_MODEL_CLASS, efl_main_loop_get(), efl_ui_view_model_set(efl_added, model)); + fl = efl_add(EFL_UI_LAYOUT_FACTORY_CLASS, win, + efl_ui_property_bind(efl_added, "text", "title"), + efl_ui_widget_factory_item_class_set(efl_added, EFL_UI_LIST_DEFAULT_ITEM_CLASS)); + + lv = efl_add(EFL_UI_LIST_VIEW_CLASS, win, + efl_ui_collection_view_factory_set(efl_added, fl), + efl_ui_view_model_set(efl_added, model) + ); + efl_content_set(win, lv); + + get_me_to_those_events(lv); + + /* nothing selected yet */ + sel_val = efl_model_property_get(model, "child.selected"); + ck_assert(eina_value_type_get(sel_val) == EINA_VALUE_TYPE_ERROR); + + efl_future_then(model, efl_model_property_ready_get(model, "child.selected"), .success = _quit); + + click_object_at(lv, 50, 5); + ecore_main_loop_begin(); + + sel_val = efl_model_property_get(model, "child.selected"); + ck_assert(eina_value_type_get(sel_val) == EINA_VALUE_TYPE_ULONG); + ck_assert(eina_value_ulong_get(sel_val, &sel)); + ck_assert_int_eq(sel, 0); +} +EFL_END_TEST + +void efl_ui_test_collection_view(TCase *tc) +{ + tcase_add_test(tc, test_efl_ui_collection_view_basic); + tcase_add_test(tc, test_efl_ui_collection_view_select); +} diff --git a/src/tests/elementary/efl_ui_test_config.c b/src/tests/elementary/efl_ui_test_config.c index a9f31ea988..df3a3356d9 100644 --- a/src/tests/elementary/efl_ui_test_config.c +++ b/src/tests/elementary/efl_ui_test_config.c @@ -25,7 +25,15 @@ EFL_START_TEST(efl_config_eoapi) #define CONFIG_CHKB(opt, val) CONFIG_CHK(opt, bool, val) #define CONFIG_CHKI(opt, val) CONFIG_CHK(opt, int, val) -#define CONFIG_CHKD(opt, val) CONFIG_CHK(opt, double, val) + +#define CONFIG_CHKD_internal(opt, typ, val) do { \ + typ old = elm_config_ ## opt ## _get(); \ + fail_if(!EINA_DBL_EQ(old, efl_config_ ## typ ## _get(cfg, #opt))); \ + fail_if(!efl_config_ ## typ ## _set(cfg, #opt, val)); \ + fail_if(!EINA_DBL_EQ(elm_config_ ## opt ## _get(), val)); \ + fail_if(!EINA_DBL_EQ(efl_config_ ## typ ## _get(cfg, #opt), val)); \ + } while (0) +#define CONFIG_CHKD(opt, val) CONFIG_CHKD_internal(opt, double, val) // note: leaks badly #define CONFIG_CHKS(opt, val) do { \ @@ -67,9 +75,9 @@ EFL_START_TEST(efl_config_eoapi) CONFIG_CHKD(scroll_thumbscroll_acceleration_threshold, 0); CONFIG_CHKD(scroll_thumbscroll_acceleration_time_limit, 0); CONFIG_CHKD(scroll_thumbscroll_acceleration_weight, 0); - CONFIG_CHKE(focus_autoscroll_mode, EFL_UI_FOCUS_AUTOSCROLL_MODE_NONE, "none"); + CONFIG_CHKE(focus_autoscroll_mode, ELM_FOCUS_AUTOSCROLL_MODE_NONE, "none"); CONFIG_CHKD(longpress_timeout, 0); - CONFIG_CHKE(softcursor_mode, EFL_UI_SOFTCURSOR_MODE_ON, "on"); + CONFIG_CHKE(softcursor_mode, ELM_SOFTCURSOR_MODE_ON, "on"); CONFIG_CHKD(tooltip_delay, 0); CONFIG_CHKB(cursor_engine_only, 0); CONFIG_CHKD(scale, 0); @@ -95,7 +103,7 @@ EFL_START_TEST(efl_config_eoapi) CONFIG_CHKB(focus_highlight_enabled, !old); CONFIG_CHKB(focus_highlight_animate, 0); CONFIG_CHKB(focus_highlight_clip_disabled, !old); - CONFIG_CHKE(focus_move_policy, EFL_UI_FOCUS_MOVE_POLICY_MOVE_IN, "in"); + CONFIG_CHKE(focus_move_policy, ELM_FOCUS_MOVE_POLICY_IN, "in"); CONFIG_CHKB(item_select_on_focus_disabled, !old); CONFIG_CHKB(first_item_focus_on_first_focusin, 0); CONFIG_CHKB(mirrored, 0); @@ -134,7 +142,7 @@ EFL_START_TEST(efl_config_eoapi) Eina_Bool b = elm_config_audio_mute_get(channels[i].chan); if (b != efl_config_bool_get(cfg, channels[i].name)) fail(channels[i].name); - efl_config_bool_set(cfg, channels[i].name, !b); + fail_unless(efl_config_bool_set(cfg, channels[i].name, !b)); if(efl_config_bool_get(cfg, channels[i].name) != !b) fail(channels[i].name); if(elm_config_audio_mute_get(channels[i].chan) != !b) diff --git a/src/tests/elementary/efl_ui_test_focus.c b/src/tests/elementary/efl_ui_test_focus.c index 814ab5c690..3b66515d31 100644 --- a/src/tests/elementary/efl_ui_test_focus.c +++ b/src/tests/elementary/efl_ui_test_focus.c @@ -83,9 +83,15 @@ EFL_START_TEST(pos_check) EFL_END_TEST static Eina_Bool -_equal_set(Eina_List *elems, Efl_Ui_Focus_Object *lst[]) +_equal_set(Eina_Iterator *elems, Efl_Ui_Focus_Object *lst[]) { unsigned int i = 0; + Eina_List *tmp = NULL; + Efl_Gfx_Entity *object; + Eina_Bool r = EINA_FALSE; + + EINA_ITERATOR_FOREACH(elems, object) + tmp = eina_list_append(tmp, object); for (i = 0; lst[i]; ++i) { @@ -93,7 +99,7 @@ _equal_set(Eina_List *elems, Efl_Ui_Focus_Object *lst[]) Eina_List *n; Efl_Ui_Focus_Object *elem; - EINA_LIST_FOREACH(elems, n, elem) + EINA_LIST_FOREACH(tmp, n, elem) { if (lst[i] != elem) continue; @@ -101,11 +107,13 @@ _equal_set(Eina_List *elems, Efl_Ui_Focus_Object *lst[]) break; } - if (!found) return EINA_FALSE; + if (!found) goto end; } - if (eina_list_count(elems) != i) return EINA_FALSE; - return EINA_TRUE; + if (eina_list_count(tmp) == i) r = EINA_TRUE; + end: + eina_list_free(tmp); + return r; } EFL_START_TEST(pos_check2) diff --git a/src/tests/elementary/efl_ui_test_focus_common.h b/src/tests/elementary/efl_ui_test_focus_common.h index ceda6a0074..bf6cf44cb0 100644 --- a/src/tests/elementary/efl_ui_test_focus_common.h +++ b/src/tests/elementary/efl_ui_test_focus_common.h @@ -16,6 +16,8 @@ Efl_Ui_Focus_Object* name; \ name = focus_test_object_new("" #name "",x, y, w, h); \ +/* This is an internal function at the moment, but an exported symbol and can be used by tests */ +Eina_Bool efl_ui_focus_manager_calc_update_children(Eo *obj, Efl_Ui_Focus_Object *parent, Eina_List *children EFL_TRANSFER_OWNERSHIP); Efl_Ui_Focus_Object* focus_test_object_new(const char *name, int x, int y, int w, int h); diff --git a/src/tests/elementary/efl_ui_test_gesture.c b/src/tests/elementary/efl_ui_test_gesture.c new file mode 100644 index 0000000000..0805cd82ee --- /dev/null +++ b/src/tests/elementary/efl_ui_test_gesture.c @@ -0,0 +1,769 @@ +#ifdef HAVE_CONFIG_H +# include "elementary_config.h" +#endif + +#include <Efl_Ui.h> +#include "efl_ui_suite.h" +/* mouse feeding */ +#include <Evas_Legacy.h> +#include <evas_canvas_eo.h> + +#include "custom_gesture.eo.h" +#include "custom_recognizer.eo.h" +#include "custom_recognizer2.eo.h" + +/* +typedef enum +{ + EFL_GESTURE_STATE_NONE = 0, + EFL_GESTURE_STATE_STARTED = 1, + EFL_GESTURE_STATE_UPDATED, + EFL_GESTURE_STATE_FINISHED, + EFL_GESTURE_STATE_CANCELED +} Efl_Canvas_Gesture_State; +*/ + +enum +{ + TAP, + LONG_PRESS, + DOUBLE_TAP, + TRIPLE_TAP, + MOMENTUM, + FLICK, + ROTATE, + ZOOM, + CUSTOM, + CUSTOM2, + LAST +}; + +static int count[LAST][4] = {0}; + +/* macros to simplify checking gesture counts */ +#define CHECK_START(type, val) \ + ck_assert_int_eq(count[(type)][EFL_GESTURE_STATE_STARTED - 1], (val)) +#define CHECK_UPDATE(type, val) \ + ck_assert_int_eq(count[(type)][EFL_GESTURE_STATE_UPDATED - 1], (val)) +#define CHECK_FINISH(type, val) \ + ck_assert_int_eq(count[(type)][EFL_GESTURE_STATE_FINISHED - 1], (val)) +#define CHECK_CANCEL(type, val) \ + ck_assert_int_eq(count[(type)][EFL_GESTURE_STATE_CANCELED - 1], (val)) +#define CHECK_ALL(type, ...) \ + do {\ + int state_vals[] = {__VA_ARGS__}; \ + for (int i = 0; i < 4; i++) \ + ck_assert_int_eq(count[(type)][i], state_vals[i]); \ + } while (0) +#define CHECK_NONZERO(type) \ + do {\ + for (int i = 0; i < 4; i++) \ + ck_assert_int_ne(count[(type)][i], 0); \ + } while (0) +#define CHECK_ZERO(type) CHECK_ALL((type), 0, 0, 0, 0) +#define RESET memset(count, 0, sizeof(count)) + +static void +gesture_cb(void *data , const Efl_Event *ev) +{ + Efl_Canvas_Gesture *g = ev->info; + int *count = data; + /* increment counter for event state which has been processed */ + count[efl_gesture_state_get(g) - 1]++; +} + +static Eo * +setup(void) +{ + Eo *win, *rect; + + RESET; + + win = win_add(); + efl_gfx_entity_size_set(win, EINA_SIZE2D(1000, 1000)); + + rect = efl_add(EFL_CANVAS_RECTANGLE_CLASS, win); + efl_content_set(win, rect); + +#define WATCH(type) \ + efl_event_callback_add(rect, EFL_EVENT_GESTURE_##type, gesture_cb, &count[(type)]) + WATCH(TAP); + WATCH(LONG_PRESS); + WATCH(DOUBLE_TAP); + WATCH(TRIPLE_TAP); + WATCH(MOMENTUM); + WATCH(FLICK); + WATCH(ROTATE); + WATCH(ZOOM); + + get_me_to_those_events(win); + return rect; +} + +EFL_START_TEST(test_efl_ui_gesture_taps) +{ + Eo *rect = setup(); + + /* basic tap */ + click_object(rect); + CHECK_ALL(TAP, 1, 0, 1, 0); + CHECK_ALL(LONG_PRESS, 1, 0, 0, 1); + CHECK_ALL(DOUBLE_TAP, 1, 1, 0, 0); + CHECK_ALL(TRIPLE_TAP, 1, 1, 0, 0); + CHECK_ZERO(MOMENTUM); + CHECK_ZERO(FLICK); + CHECK_ZERO(ROTATE); + CHECK_ZERO(ZOOM); + + RESET; + + /* add a second tap */ + click_object(rect); + CHECK_ALL(TAP, 1, 0, 1, 0); + CHECK_ALL(LONG_PRESS, 1, 0, 0, 1); + /* UPDATE -> FINISH */ + CHECK_ALL(DOUBLE_TAP, 0, 1, 1, 0); + CHECK_ALL(TRIPLE_TAP, 0, 2, 0, 0); + CHECK_ZERO(MOMENTUM); + CHECK_ZERO(FLICK); + CHECK_ZERO(ROTATE); + CHECK_ZERO(ZOOM); + + RESET; + + /* add a third tap */ + click_object(rect); + CHECK_ALL(TAP, 1, 0, 1, 0); + CHECK_ALL(LONG_PRESS, 1, 0, 0, 1); + /* UPDATE -> FINISH */ + CHECK_ALL(DOUBLE_TAP, 1, 1, 0, 0); + CHECK_ALL(TRIPLE_TAP, 0, 1, 1, 0); + CHECK_ZERO(MOMENTUM); + CHECK_ZERO(FLICK); + CHECK_ZERO(ROTATE); + CHECK_ZERO(ZOOM); + + /* clear states */ + wait_timer(0.4); + RESET; + + /* verify finger size */ + click_object_at(rect, 500, 500); + click_object_at(rect, 505, 505); + CHECK_ALL(TAP, 2, 0, 2, 0); + CHECK_ALL(LONG_PRESS, 2, 0, 0, 2); + /* UPDATE -> FINISH */ + CHECK_ALL(DOUBLE_TAP, 1, 2, 1, 0); + CHECK_ALL(TRIPLE_TAP, 1, 3, 0, 0); + CHECK_ZERO(MOMENTUM); + CHECK_ZERO(FLICK); + CHECK_ZERO(ROTATE); + CHECK_ZERO(ZOOM); + + /* clear states */ + wait_timer(0.4); + RESET; + + /* verify multiple simultaneous presses treated as same press */ + multi_click_object(rect, 2); + CHECK_ALL(TAP, 1, 0, 1, 0); + CHECK_ALL(LONG_PRESS, 1, 0, 0, 1); + CHECK_ALL(DOUBLE_TAP, 1, 1, 0, 0); + CHECK_ALL(TRIPLE_TAP, 1, 1, 0, 0); + CHECK_ZERO(MOMENTUM); + CHECK_ZERO(FLICK); + /* this is two fingers, so we have a rotate start */ + CHECK_ALL(ROTATE, 1, 0, 0, 1); + /* this is two fingers, so we have a zoom start */ + CHECK_ALL(ZOOM, 1, 0, 0, 1); + + RESET; + + multi_click_object(rect, 2); + CHECK_ALL(TAP, 1, 0, 1, 0); + CHECK_ALL(LONG_PRESS, 1, 0, 0, 1); + /* UPDATE -> FINISH */ + CHECK_ALL(DOUBLE_TAP, 0, 1, 1, 0); + CHECK_ALL(TRIPLE_TAP, 0, 2, 0, 0); + CHECK_ZERO(MOMENTUM); + CHECK_ZERO(FLICK); + /* this is two fingers, so we have a rotate start */ + CHECK_ALL(ROTATE, 1, 0, 0, 1); + /* this is two fingers, so we have a zoom start */ + CHECK_ALL(ZOOM, 1, 0, 0, 1); + + RESET; + + multi_click_object(rect, 2); + CHECK_ALL(TAP, 1, 0, 1, 0); + CHECK_ALL(LONG_PRESS, 1, 0, 0, 1); + /* UPDATE -> FINISH */ + CHECK_ALL(DOUBLE_TAP, 1, 1, 0, 0); + CHECK_ALL(TRIPLE_TAP, 0, 1, 1, 0); + CHECK_ZERO(MOMENTUM); + CHECK_ZERO(FLICK); + /* this is two fingers, so we have a rotate start */ + CHECK_ALL(ROTATE, 1, 0, 0, 1); + /* this is two fingers, so we have a zoom start */ + CHECK_ALL(ZOOM, 1, 0, 0, 1); + /* clear states */ + wait_timer(0.4); + RESET; + + multi_click_object(rect, 10); + CHECK_ALL(TAP, 1, 0, 1, 0); + CHECK_ALL(LONG_PRESS, 1, 0, 0, 1); + CHECK_ALL(DOUBLE_TAP, 1, 0, 0, 1); + CHECK_ALL(TRIPLE_TAP, 1, 0, 0, 1); + CHECK_ZERO(MOMENTUM); + CHECK_ZERO(FLICK); + /* this is two fingers, so we have a rotate start */ + CHECK_ALL(ROTATE, 1, 0, 0, 1); + /* this is two fingers, so we have a zoom start */ + CHECK_ALL(ZOOM, 1, 0, 0, 1); + RESET; + +} +EFL_END_TEST + +EFL_START_TEST(test_efl_ui_gesture_long_press) +{ + Eo *rect = setup(); + double timeout = 1.2; + Eina_Value *val; + Eo *e = efl_provider_find(rect, EVAS_CANVAS_CLASS); + + val = efl_config_get(efl_provider_find(rect, EFL_CONFIG_INTERFACE), "glayer_long_tap_start_timeout"); + eina_value_get(val, &timeout); + + /* press */ + press_object(rect); + CHECK_ALL(TAP, 1, 0, 0, 0); + CHECK_ALL(LONG_PRESS, 1, 0, 0, 0); + CHECK_ALL(DOUBLE_TAP, 1, 0, 0, 0); + CHECK_ALL(TRIPLE_TAP, 1, 0, 0, 0); + CHECK_ZERO(MOMENTUM); + CHECK_ZERO(FLICK); + CHECK_ZERO(ROTATE); + CHECK_ZERO(ZOOM); + + RESET; + + wait_timer(timeout + 0.01); + + /* verify longpress */ + CHECK_ALL(TAP, 0, 0, 0, 1); + CHECK_ALL(LONG_PRESS, 0, 1, 0, 0); + CHECK_ALL(DOUBLE_TAP, 0, 0, 0, 1); + CHECK_ALL(TRIPLE_TAP, 0, 0, 0, 1); + CHECK_ZERO(MOMENTUM); + CHECK_ZERO(FLICK); + CHECK_ZERO(ROTATE); + CHECK_ZERO(ZOOM); + + RESET; + evas_event_feed_mouse_up(e, 1, 0, 2, NULL); + + CHECK_ZERO(TAP); + CHECK_ALL(LONG_PRESS, 0, 0, 1, 0); + CHECK_ZERO(DOUBLE_TAP); + CHECK_ZERO(TRIPLE_TAP); + CHECK_ZERO(MOMENTUM); + CHECK_ZERO(FLICK); + CHECK_ZERO(ROTATE); + CHECK_ZERO(ZOOM); + + RESET; + + press_object_at(rect, 0, 0); + RESET; + + /* move off-canvas */ + evas_event_feed_mouse_move(e, -1, 0, 2, NULL); + wait_timer(timeout + 0.01); + + /* verify longpress */ + CHECK_ALL(TAP, 0, 1, 0, 0); + CHECK_ALL(LONG_PRESS, 0, 1, 0, 0); + CHECK_ALL(DOUBLE_TAP, 0, 0, 0, 1); + CHECK_ALL(TRIPLE_TAP, 0, 0, 0, 1); + CHECK_ALL(MOMENTUM, 1, 0, 0, 0); + CHECK_ALL(FLICK, 1, 0, 0, 0); + CHECK_ZERO(ROTATE); + CHECK_ZERO(ZOOM); + + RESET; + evas_event_feed_mouse_up(e, 1, 0, 3, NULL); +} +EFL_END_TEST + +EFL_START_TEST(test_efl_ui_gesture_flick) +{ + int moves, i, single = 0; + Eo *rect = setup(); + + /* add extra random cb to verify that we get exactly 1 event */ + efl_event_callback_add(rect, EFL_EVENT_GESTURE_MOMENTUM, (void*)event_callback_that_increments_an_int_when_called, &single); + + /* basic flick */ + drag_object(rect, 0, 0, 75, 0, EINA_FALSE); + /* canceled */ + CHECK_ALL(TAP, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(LONG_PRESS, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(DOUBLE_TAP, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(TRIPLE_TAP, 1, 0, 0, 1); + /* updated but canceled */ + CHECK_ALL(MOMENTUM, 1, DRAG_OBJECT_NUM_MOVES - 1, 0, 1); + /* triggered */ + CHECK_ALL(FLICK, 1, DRAG_OBJECT_NUM_MOVES - 1, 1, 0); + CHECK_ZERO(ROTATE); + CHECK_ZERO(ZOOM); + + RESET; + + efl_event_callback_del(rect, EFL_EVENT_GESTURE_MOMENTUM, (void*)event_callback_that_increments_an_int_when_called, &single); + ck_assert_int_ge(single, 0); + + /* reverse flick */ + drag_object(rect, 75, 0, -75, 0, EINA_FALSE); + /* canceled */ + CHECK_ALL(TAP, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(LONG_PRESS, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(DOUBLE_TAP, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(TRIPLE_TAP, 1, 0, 0, 1); + /* updated but canceled */ + CHECK_ALL(MOMENTUM, 1, DRAG_OBJECT_NUM_MOVES - 1, 0, 1); + /* triggered */ + CHECK_ALL(FLICK, 1, DRAG_OBJECT_NUM_MOVES - 1, 1, 0); + CHECK_ZERO(ROTATE); + CHECK_ZERO(ZOOM); + + RESET; + + /* vertical flick */ + drag_object(rect, 0, 0, 0, 75, EINA_FALSE); + /* canceled */ + CHECK_ALL(TAP, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(LONG_PRESS, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(DOUBLE_TAP, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(TRIPLE_TAP, 1, 0, 0, 1); + /* updated but canceled */ + CHECK_ALL(MOMENTUM, 1, DRAG_OBJECT_NUM_MOVES - 1, 0, 1); + /* triggered */ + CHECK_ALL(FLICK, 1, DRAG_OBJECT_NUM_MOVES - 1, 1, 0); + CHECK_ZERO(ROTATE); + CHECK_ZERO(ZOOM); + + RESET; + + /* reverse vertical flick */ + drag_object(rect, 0, 75, 0, -75, EINA_FALSE); + /* canceled */ + CHECK_ALL(TAP, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(LONG_PRESS, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(DOUBLE_TAP, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(TRIPLE_TAP, 1, 0, 0, 1); + /* updated but canceled */ + CHECK_ALL(MOMENTUM, 1, DRAG_OBJECT_NUM_MOVES - 1, 0, 1); + /* triggered */ + CHECK_ALL(FLICK, 1, DRAG_OBJECT_NUM_MOVES - 1, 1, 0); + CHECK_ZERO(ROTATE); + CHECK_ZERO(ZOOM); + + RESET; + + + /* diagonal flick */ + drag_object(rect, 0, 0, 75, 75, EINA_FALSE); + /* canceled */ + CHECK_ALL(TAP, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(LONG_PRESS, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(DOUBLE_TAP, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(TRIPLE_TAP, 1, 0, 0, 1); + /* updated but canceled */ + CHECK_ALL(MOMENTUM, 1, DRAG_OBJECT_NUM_MOVES - 1, 0, 1); + /* triggered */ + CHECK_ALL(FLICK, 1, DRAG_OBJECT_NUM_MOVES - 1, 1, 0); + CHECK_ZERO(ROTATE); + CHECK_ZERO(ZOOM); + + RESET; + + /* off-canvas flick */ + drag_object(rect, 999, 0, 50, 0, EINA_FALSE); + /* canceled */ + CHECK_ALL(TAP, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(LONG_PRESS, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(DOUBLE_TAP, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(TRIPLE_TAP, 1, 0, 0, 1); + CHECK_START(MOMENTUM, 1); + CHECK_FINISH(MOMENTUM, 0); + CHECK_CANCEL(MOMENTUM, 1); + CHECK_START(FLICK, 1); + CHECK_FINISH(FLICK, 1); + CHECK_CANCEL(FLICK, 0); + CHECK_ZERO(ROTATE); + CHECK_ZERO(ZOOM); + + RESET; + + /* definitely not a flick */ + moves = drag_object_around(rect, 500, 500, 450, 180); + for (i = 0; i <= TRIPLE_TAP; i++) + { + /* canceled */ + CHECK_START(TAP, 1); + CHECK_CANCEL(TAP, 1); + } + /* completed: a momentum gesture is any completed motion */ + CHECK_ALL(MOMENTUM, 1, moves - 2, 1, 0); + /* NOT triggered; this is going to have some crazy number of update events since it ignores a bunch */ + CHECK_FINISH(FLICK, 0); + CHECK_ZERO(ROTATE); + CHECK_ZERO(ZOOM); + + RESET; + + /* definitely not a flick, also outside canvas */ + moves = drag_object_around(rect, 25, 50, 50, 180); + for (i = 0; i <= TRIPLE_TAP; i++) + { + /* canceled */ + CHECK_START(TAP, 1); + CHECK_CANCEL(TAP, 1); + } + /* momentum should only begin at the initial press or if canceled due to timeout */ + CHECK_START(MOMENTUM, 1); + CHECK_FINISH(MOMENTUM, 1); + /* canceled: the motion ends outside the canvas, so there is no momentum */ + CHECK_CANCEL(MOMENTUM, 0); + + /* flick checks a tolerance value for straight lines, so "start" will be >= 1 */ + ck_assert_int_ge(count[FLICK][EFL_GESTURE_STATE_STARTED - 1], 1); + CHECK_FINISH(FLICK, 0); + /* flick checks a tolerance value for straight lines, so "start" will be >= 1 */ + ck_assert_int_ge(count[FLICK][EFL_GESTURE_STATE_CANCELED - 1], 1); + CHECK_ZERO(ROTATE); + CHECK_ZERO(ZOOM); + + RESET; + + /* definitely not a flick, test re-entering canvas */ + moves = drag_object_around(rect, 500, 750, 400, 180); + for (i = 0; i <= TRIPLE_TAP; i++) + { + /* canceled */ + CHECK_START(TAP, 1); + CHECK_CANCEL(TAP, 1); + } + /* momentum should only begin at the initial press or if canceled due to timeout */ + CHECK_START(MOMENTUM, 1); + /* finished: the motion ends outside the canvas, but we still count it */ + CHECK_FINISH(MOMENTUM, 1); + CHECK_CANCEL(MOMENTUM, 0); + + /* flick checks a tolerance value for straight lines, so "start" will be >= 1 */ + ck_assert_int_ge(count[FLICK][EFL_GESTURE_STATE_STARTED - 1], 1); + CHECK_FINISH(FLICK, 0); + /* flick checks a tolerance value for straight lines, so "start" will be >= 1 */ + ck_assert_int_ge(count[FLICK][EFL_GESTURE_STATE_CANCELED - 1], 1); + CHECK_ZERO(ROTATE); + CHECK_ZERO(ZOOM); + + RESET; +} +EFL_END_TEST + +EFL_START_TEST(test_efl_ui_gesture_zoom) +{ + Eo *rect = setup(); + int moves; + + moves = pinch_object(rect, 500, 500, 501, 501, -250, -250, 250, 250); + /* canceled */ + CHECK_ALL(TAP, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(LONG_PRESS, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(DOUBLE_TAP, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(TRIPLE_TAP, 1, 0, 0, 1); + + CHECK_START(MOMENTUM, 1); + CHECK_UPDATE(MOMENTUM, 0); + CHECK_FINISH(MOMENTUM, 0); + CHECK_CANCEL(MOMENTUM, 1); + + /* only finish is verifiable */ + CHECK_FINISH(FLICK, 0); + /* started then canceled */ + CHECK_ALL(ROTATE, 1, 0, 0, 1); + /* started 1x */ + CHECK_START(ZOOM, 1); + /* 2 touch points tracked, so this will be roughly (2 * moves) but probably less */ + ck_assert_int_ge(count[ZOOM][EFL_GESTURE_STATE_UPDATED - 1], moves); + /* finished 1x */ + CHECK_FINISH(ZOOM, 1); + CHECK_CANCEL(ZOOM, 0); + + RESET; + + + moves = pinch_object(rect, 250, 250, 750, 750, 250, 250, -250, -250); + /* canceled */ + CHECK_ALL(TAP, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(LONG_PRESS, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(DOUBLE_TAP, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(TRIPLE_TAP, 1, 0, 0, 1); + + CHECK_START(MOMENTUM, 1); + CHECK_UPDATE(MOMENTUM, 0); + CHECK_FINISH(MOMENTUM, 0); + CHECK_CANCEL(MOMENTUM, 1); + + /* only finish is verifiable */ + CHECK_FINISH(FLICK, 0); + /* started then canceled */ + CHECK_ALL(ROTATE, 1, 0, 0, 1); + /* started 1x */ + CHECK_START(ZOOM, 1); + /* 2 touch points tracked, so this will be roughly (2 * moves) but probably less */ + ck_assert_int_ge(count[ZOOM][EFL_GESTURE_STATE_UPDATED - 1], moves); + /* finished 1x */ + CHECK_FINISH(ZOOM, 1); + CHECK_CANCEL(ZOOM, 0); + + RESET; + +} +EFL_END_TEST + +EFL_START_TEST(test_efl_ui_gesture_rotate) +{ + Eo *rect = setup(); + int moves, momentum_moves; + + multi_press_object(rect, 1); + CHECK_ALL(TAP, 1, 0, 0, 0); + CHECK_ALL(LONG_PRESS, 1, 0, 0, 0); + CHECK_ALL(DOUBLE_TAP, 1, 0, 0, 0); + CHECK_ALL(TRIPLE_TAP, 1, 0, 0, 0); + + CHECK_ZERO(MOMENTUM); + CHECK_ZERO(FLICK); + CHECK_ZERO(ROTATE); + CHECK_ZERO(ZOOM); + + RESET; + + + moves = multi_drag_object_around(rect, 1, 500, 500, 250, 180); + CHECK_ALL(TAP, 0, 0, 0, 1); + CHECK_ALL(LONG_PRESS, 0, 0, 0, 1); + CHECK_ALL(DOUBLE_TAP, 0, 0, 0, 1); + CHECK_ALL(TRIPLE_TAP, 0, 0, 0, 1); + + CHECK_START(MOMENTUM, 1); + momentum_moves = count[MOMENTUM][EFL_GESTURE_STATE_UPDATED - 1]; + ck_assert_int_ge(count[MOMENTUM][EFL_GESTURE_STATE_UPDATED - 1], moves - 5); + CHECK_FINISH(MOMENTUM, 1); + CHECK_CANCEL(MOMENTUM, 0); + + /* flick is just going to do flick stuff here, so don't even bother checking much */ + CHECK_FINISH(FLICK, 0); + + CHECK_ALL(ROTATE, 1, moves - 1, 1, 0); + CHECK_ALL(ZOOM, 1, 0, 0, 1); + + RESET; + + /* verify identical motion in reverse */ + moves = multi_drag_object_around(rect, 1, 500, 500, 250, -180); + /* already occurred, first finger still down */ + CHECK_ZERO(TAP); + /* already canceled, first finger still down */ + CHECK_ZERO(LONG_PRESS); + CHECK_ZERO(DOUBLE_TAP); + CHECK_ZERO(TRIPLE_TAP); + + /* continuing gesture, counts as already started */ + CHECK_START(MOMENTUM, 0); + /* should be exactly 1 more than previous time */ + CHECK_UPDATE(MOMENTUM, momentum_moves + 1); + CHECK_FINISH(MOMENTUM, 1); + CHECK_CANCEL(MOMENTUM, 0); + + /* flick is just going to do flick stuff here, so don't even bother checking much */ + CHECK_FINISH(FLICK, 0); + + /* continuing gesture, counts as already started, increment update counter */ + CHECK_ALL(ROTATE, 0, (moves - 1) + 1, 1, 0); + CHECK_ALL(ZOOM, 0, 1, 0, 1); + +} +EFL_END_TEST + +static void +custom_cb(void *data EINA_UNUSED , const Efl_Event *ev) +{ + Efl_Canvas_Gesture *g = ev->info; + + int *count = data; + if (!eina_streq(efl_gesture_custom_gesture_name_get(g), "custom_gesture")) return; + /* increment counter for event state which has been processed */ + count[efl_gesture_state_get(g) - 1]++; +} + +static void +custom_cb2(void *data EINA_UNUSED , const Efl_Event *ev) +{ + Efl_Canvas_Gesture *g = ev->info; + + int *count = data; + if (!eina_streq(efl_gesture_custom_gesture_name_get(g), "custom_gesture2")) return; + /* increment counter for event state which has been processed */ + count[efl_gesture_state_get(g) - 1]++; +} + +static void +custom_gesture_cb(void *data EINA_UNUSED , const Efl_Event *ev) +{ + Efl_Canvas_Gesture *g = ev->info; + + Eina_Position2D *delta = data; + if (!eina_streq(efl_gesture_custom_gesture_name_get(g), "custom_gesture")) return; + delta->x = custom_gesture_x_delta_get(g); + delta->y = custom_gesture_y_delta_get(g); +} + +EFL_START_TEST(test_efl_ui_gesture_custom) +{ + Eo *rect = setup(); + Eo *manager = efl_provider_find(rect, EFL_CANVAS_GESTURE_MANAGER_CLASS); + Eo *recognizer = efl_add(CUSTOM_RECOGNIZER_CLASS, manager); + Eo *recognizer2 = efl_add(CUSTOM_RECOGNIZER2_CLASS, manager); + Eina_Position2D delta = {0}; + + efl_gesture_manager_recognizer_register(manager, recognizer); + efl_gesture_manager_recognizer_register(manager, recognizer2); + efl_event_callback_add(rect, EFL_EVENT_GESTURE_CUSTOM, custom_cb, &count[CUSTOM]); + efl_event_callback_add(rect, EFL_EVENT_GESTURE_CUSTOM, custom_cb2, &count[CUSTOM2]); + + /* verify that we're processing */ + click_object(rect); + CHECK_ALL(CUSTOM, 1, 0, 1, 0); + CHECK_ALL(CUSTOM2, 1, 0, 0, 1); + + RESET; + + /* verify gesture properties */ + efl_event_callback_add(rect, EFL_EVENT_GESTURE_CUSTOM, custom_gesture_cb, &delta); + drag_object(rect, 0, 0, 75, 30, EINA_FALSE); + ck_assert_int_eq(delta.x, 75); + ck_assert_int_eq(delta.y, 30); + efl_event_callback_del(rect, EFL_EVENT_GESTURE_CUSTOM, custom_gesture_cb, &delta); + + RESET; + + /* verify that we aren't still processing */ + efl_gesture_manager_recognizer_unregister(manager, recognizer); + efl_gesture_manager_recognizer_unregister(manager, recognizer2); + click_object(rect); + CHECK_ZERO(CUSTOM); + CHECK_ZERO(CUSTOM2); + + RESET; + + /* verify re-register + early finish from custom2 */ + efl_gesture_manager_recognizer_register(manager, recognizer); + efl_gesture_manager_recognizer_register(manager, recognizer2); + drag_object(rect, 500, 500, 1, 0, EINA_FALSE); + CHECK_ALL(CUSTOM, 1, 1, 1, 0); + CHECK_ALL(CUSTOM2, 1, 0, 1, 0); + + efl_event_callback_del(rect, EFL_EVENT_GESTURE_CUSTOM, custom_cb, &count[CUSTOM]); + efl_event_callback_del(rect, EFL_EVENT_GESTURE_CUSTOM, custom_cb2, &count[CUSTOM2]); + + RESET; + + /* verify we don't have anything totally weird going on */ + click_object(rect); + CHECK_ZERO(CUSTOM); + CHECK_ZERO(CUSTOM2); + + efl_gesture_manager_recognizer_unregister(manager, recognizer); + efl_gesture_manager_recognizer_unregister(manager, recognizer2); +} +EFL_END_TEST + + +EFL_START_TEST(test_efl_ui_gesture_sequence) +{ + Eo *rect = setup(); + int moves; + + multi_click_object(rect, 1); + CHECK_ALL(TAP, 1, 0, 1, 0); + + wait_timer(0.4); + RESET; + + moves = pinch_object(rect, 500, 500, 501, 501, -250, 0, 250, 0); + /* canceled */ + CHECK_ALL(TAP, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(LONG_PRESS, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(DOUBLE_TAP, 1, 0, 0, 1); + /* canceled */ + CHECK_ALL(TRIPLE_TAP, 1, 0, 0, 1); + + + CHECK_START(ZOOM, 1); + /* 2 touch points tracked, so this will be roughly (2 * moves) but probably less */ + ck_assert_int_ge(count[ZOOM][EFL_GESTURE_STATE_UPDATED - 1], moves); + /* finished 1x */ + CHECK_FINISH(ZOOM, 1); + CHECK_CANCEL(ZOOM, 0); + + wait_timer(0.4); + RESET; + + multi_click_object(rect, 1); + CHECK_ALL(TAP, 1, 0, 1, 0); + + RESET; +} +EFL_END_TEST + +void efl_ui_test_gesture(TCase *tc) +{ + tcase_add_test(tc, test_efl_ui_gesture_taps); + tcase_add_test(tc, test_efl_ui_gesture_long_press); + tcase_add_test(tc, test_efl_ui_gesture_flick); + tcase_add_test(tc, test_efl_ui_gesture_zoom); + tcase_add_test(tc, test_efl_ui_gesture_rotate); + tcase_add_test(tc, test_efl_ui_gesture_custom); + tcase_add_test(tc, test_efl_ui_gesture_sequence); +} diff --git a/src/tests/elementary/efl_ui_test_grid.c b/src/tests/elementary/efl_ui_test_grid.c index 7ec1763545..db19e58d87 100644 --- a/src/tests/elementary/efl_ui_test_grid.c +++ b/src/tests/elementary/efl_ui_test_grid.c @@ -89,16 +89,15 @@ EFL_START_TEST(efl_ui_grid_unpack_all) ck_assert(grid_item_pack(grid, count_before, NULL) != EINA_FALSE); - itor = efl_content_iterate(grid); efl_pack_unpack_all(grid); count = efl_content_count(grid); ck_assert(count == 0); + itor = efl_content_iterate(grid); EINA_ITERATOR_FOREACH(itor, item) - efl_del(item); - - free(itor); + ck_assert(EINA_FALSE); + eina_iterator_free(itor); } EFL_END_TEST diff --git a/src/tests/elementary/efl_ui_test_image.c b/src/tests/elementary/efl_ui_test_image.c index 244f1047e4..bd7d125323 100644 --- a/src/tests/elementary/efl_ui_test_image.c +++ b/src/tests/elementary/efl_ui_test_image.c @@ -30,7 +30,34 @@ EFL_START_TEST(efl_ui_image_test_icon) } EFL_END_TEST +extern Eo *elm_image_object_get(Eo*); +EFL_START_TEST(efl_ui_image_test_scale_method) +{ + Eo *win, *image; + Eina_Size2D sz; + + win = win_add(NULL, "image", EFL_UI_WIN_TYPE_BASIC); + efl_gfx_entity_size_set(win, EINA_SIZE2D(100, 100)); + + image = efl_add(EFL_UI_IMAGE_CLASS, win, + efl_file_set(efl_added, ELM_IMAGE_DATA_DIR"/images/logo.png"), + efl_gfx_arrangement_content_align_set(efl_added, 0.5, 0.0), + efl_gfx_image_scale_method_set(efl_added, EFL_GFX_IMAGE_SCALE_METHOD_FIT_WIDTH) + ); + efl_gfx_entity_size_set(image, EINA_SIZE2D(100, 100)); + get_me_to_those_events(win); + sz = efl_gfx_entity_size_get(image); + ck_assert_int_eq(sz.w, 100); + ck_assert_int_eq(sz.h, 100); + /* legacy operation on eo object: very illegal */ + sz = efl_gfx_entity_size_get(elm_image_object_get(image)); + ck_assert_int_eq(sz.w, 100); + ck_assert_int_eq(sz.h, 100); +} +EFL_END_TEST + void efl_ui_test_image(TCase *tc) { tcase_add_test(tc, efl_ui_image_test_icon); + tcase_add_test(tc, efl_ui_image_test_scale_method); } diff --git a/src/tests/elementary/efl_ui_test_layout.c b/src/tests/elementary/efl_ui_test_layout.c index 86f4b1efe8..4e1b117b6c 100644 --- a/src/tests/elementary/efl_ui_test_layout.c +++ b/src/tests/elementary/efl_ui_test_layout.c @@ -195,14 +195,19 @@ EFL_END_TEST EFL_START_TEST(efl_ui_layout_test_api_ordering) { Evas_Object *win, *box; + int count = 0; const char text_text[] = "test text"; win = win_add(NULL, "layout", EFL_UI_WIN_TYPE_BASIC); box = efl_add(EFL_UI_BOX_CLASS, win); Eo *layout = efl_add(EFL_UI_BUTTON_CLASS, win, + efl_layout_signal_callback_add(efl_added, "efl,content,set", "efl", &count, (void*)event_callback_single_call_int_data, NULL), + efl_ui_widget_style_set(efl_added, "anchor"), efl_content_set(efl_added, box), efl_text_set(efl_added, text_text) ); + ecore_main_loop_iterate(); + ck_assert_int_eq(count, 1); ck_assert_ptr_eq(efl_content_get(layout), box); ck_assert_str_eq(efl_text_get(layout), text_text); } @@ -218,6 +223,26 @@ EFL_START_TEST(efl_ui_layout_test_versioning) } EFL_END_TEST +EFL_START_TEST(efl_ui_layout_test_freeze) +{ + Evas_Object *win; + int count = 0; + + win = win_add(NULL, "layout", EFL_UI_WIN_TYPE_BASIC); + efl_gfx_entity_size_set(win, EINA_SIZE2D(100, 100)); + Eo *layout = efl_add(EFL_UI_BUTTON_CLASS, win); + efl_gfx_entity_size_set(layout, EINA_SIZE2D(100, 100)); + efl_text_set(layout, "button"); + get_me_to_those_events(layout); + + efl_event_callback_add(win, EFL_CANVAS_SCENE_EVENT_RENDER_PRE, (void*)event_callback_single_call_int_data, &count); + efl_layout_calc_freeze(layout); + efl_layout_calc_thaw(layout); + force_render(win); + ck_assert_int_eq(count, 0); +} +EFL_END_TEST + void efl_ui_test_layout(TCase *tc) { tcase_add_test(tc, efl_ui_layout_test_property_bind); @@ -229,4 +254,5 @@ void efl_ui_test_layout(TCase *tc) tcase_add_test(tc, efl_ui_layout_test_callback); tcase_add_test(tc, efl_ui_layout_test_property_bind_provider); tcase_add_test(tc, efl_ui_layout_test_versioning); + tcase_add_test(tc, efl_ui_layout_test_freeze); } diff --git a/src/tests/elementary/efl_ui_test_list_collection.c b/src/tests/elementary/efl_ui_test_list_collection.c index 1d4f913901..94bafbd010 100644 --- a/src/tests/elementary/efl_ui_test_list_collection.c +++ b/src/tests/elementary/efl_ui_test_list_collection.c @@ -161,7 +161,7 @@ EFL_START_TEST(placement_test_group) r = efl_gfx_entity_geometry_get(core_item[i]); ck_assert_int_eq(r.x, 1); - ck_assert_int_eq(r.y, 21+(i - 1)*40); + ck_assert_int_eq(r.y, 22+(i - 1)*40); ck_assert_int_eq(r.w, 183); // 200 - 2px border - X for the width of the scrollbar. ck_assert_int_eq(r.h, 40); } @@ -181,7 +181,7 @@ EFL_START_TEST(placement_test_group) r = efl_gfx_entity_geometry_get(core_item[i]); ck_assert_int_eq(r.x, 1); - ck_assert_int_eq(r.y, 1+(i-2)*40); + ck_assert_int_eq(r.y, 2+(i-2)*40); ck_assert_int_eq(r.w, 183); // 200 - 2px border - X for the width of the scrollbar. ck_assert_int_eq(r.h, 40); } diff --git a/src/tests/elementary/efl_ui_test_scroller.c b/src/tests/elementary/efl_ui_test_scroller.c index e1aa4ef53b..78f8bfaf7f 100644 --- a/src/tests/elementary/efl_ui_test_scroller.c +++ b/src/tests/elementary/efl_ui_test_scroller.c @@ -144,7 +144,58 @@ EFL_START_TEST(efl_ui_test_scroller_events) } EFL_END_TEST +EFL_START_TEST(efl_ui_test_scroller_scrollbar) +{ + Eo *sc; + + Eo *win = win_add(); + Eina_Bool hbar_visible = EINA_FALSE, vbar_visible = EINA_FALSE; + efl_gfx_entity_size_set(win, EINA_SIZE2D(500, 500)); + + sc = efl_add(EFL_UI_SCROLLER_CLASS, win, + efl_ui_scrollbar_bar_mode_set(efl_added, EFL_UI_SCROLLBAR_MODE_AUTO, EFL_UI_SCROLLBAR_MODE_AUTO), + efl_content_set(win, efl_added)); + + /*Scrollbar auto mode test.*/ + efl_loop_iterate(efl_main_loop_get()); + + efl_ui_scrollbar_bar_visibility_get(sc, &hbar_visible, &vbar_visible); + ck_assert(hbar_visible == EINA_FALSE); + ck_assert(vbar_visible == EINA_FALSE); + + /*Scrollbar auto mode test.*/ + efl_add(EFL_CANVAS_RECTANGLE_CLASS, evas_object_evas_get(sc), + efl_gfx_entity_size_set(efl_added, EINA_SIZE2D(5000, 5000)), + efl_content_set(sc, efl_added)); + + efl_loop_iterate(efl_main_loop_get()); + + efl_ui_scrollbar_bar_visibility_get(sc, &hbar_visible, &vbar_visible); + ck_assert(hbar_visible == EINA_TRUE); + ck_assert(vbar_visible == EINA_TRUE); + + /*Scrollbar off mode test.*/ + efl_ui_scrollbar_bar_mode_set(sc, EFL_UI_SCROLLBAR_MODE_OFF, EFL_UI_SCROLLBAR_MODE_OFF); + + efl_loop_iterate(efl_main_loop_get()); + + efl_ui_scrollbar_bar_visibility_get(sc, &hbar_visible, &vbar_visible); + ck_assert(hbar_visible == EINA_FALSE); + ck_assert(vbar_visible == EINA_FALSE); + + /*Scrollbar on mode test.*/ + efl_ui_scrollbar_bar_mode_set(sc, EFL_UI_SCROLLBAR_MODE_ON, EFL_UI_SCROLLBAR_MODE_ON); + + efl_loop_iterate(efl_main_loop_get()); + + efl_ui_scrollbar_bar_visibility_get(sc, &hbar_visible, &vbar_visible); + ck_assert(hbar_visible == EINA_TRUE); + ck_assert(vbar_visible == EINA_TRUE); +} +EFL_END_TEST + void efl_ui_test_scroller(TCase *tc) { tcase_add_test(tc, efl_ui_test_scroller_events); + tcase_add_test(tc, efl_ui_test_scroller_scrollbar); } diff --git a/src/tests/elementary/efl_ui_test_select_model.c b/src/tests/elementary/efl_ui_test_select_model.c index 12d5e6e148..78259085a3 100644 --- a/src/tests/elementary/efl_ui_test_select_model.c +++ b/src/tests/elementary/efl_ui_test_select_model.c @@ -102,8 +102,11 @@ EFL_START_TEST(efl_test_select_model) model = efl_add_ref(EFL_UI_SELECT_MODEL_CLASS, efl_main_loop_get(), efl_ui_view_model_set(efl_added, base_model)); ck_assert(!!model); - future = efl_model_property_set(model, "child.selected", eina_value_int_new(2)); + + future = efl_model_property_ready_get(model, "child.selected"); eina_future_then(future, _wait_propagate, NULL, NULL); + + efl_model_property_set(model, "child.selected", eina_value_int_new(2)); ecore_main_loop_begin(); future = efl_model_children_slice_get(model, 0, efl_model_children_count_get(model)); @@ -120,6 +123,8 @@ EFL_START_TEST(efl_test_select_model) EINA_ITERATOR_FOREACH(it, index) fail_if(*index == 2); eina_iterator_free(it); + + efl_model_property_set(model, "child.selected", eina_value_int_new(1)); } EFL_END_TEST diff --git a/src/tests/elementary/efl_ui_test_spin_button.c b/src/tests/elementary/efl_ui_test_spin_button.c index a60314ff21..6df99b340f 100644 --- a/src/tests/elementary/efl_ui_test_spin_button.c +++ b/src/tests/elementary/efl_ui_test_spin_button.c @@ -3,6 +3,7 @@ #endif #include <Elementary.h> +#include "elm_entry_eo.h" //needed to check that spin is in text mode #include <Efl_Ui.h> #include "efl_ui_suite.h" @@ -62,7 +63,7 @@ EFL_START_TEST (spin_wheel_test) get_me_to_those_events(spin); evas_event_feed_mouse_move(evas_object_evas_get(spin), 30, 30, 1234, NULL); evas_event_feed_mouse_wheel(evas_object_evas_get(spin), -1, -1, 12345, NULL); - ck_assert(efl_ui_range_value_get(spin) == 10.0); + ck_assert(EINA_DBL_EQ(efl_ui_range_value_get(spin), 10.0)); ck_assert_int_eq(changed, EINA_TRUE); ck_assert_int_eq(min_reached, EINA_FALSE); ck_assert_int_eq(max_reached, EINA_FALSE); @@ -71,7 +72,7 @@ EFL_START_TEST (spin_wheel_test) max_reached = EINA_FALSE; evas_event_feed_mouse_wheel(evas_object_evas_get(spin), -1, 1, 12345, NULL); - ck_assert(efl_ui_range_value_get(spin) == 0.0); + ck_assert(EINA_DBL_EQ(efl_ui_range_value_get(spin), 0.0)); ck_assert_int_eq(changed, EINA_TRUE); ck_assert_int_eq(min_reached, EINA_FALSE); ck_assert_int_eq(max_reached, EINA_FALSE); @@ -156,6 +157,111 @@ EFL_START_TEST (spin_value_dec_min) } EFL_END_TEST +EFL_START_TEST (spin_wraparound) +{ + efl_ui_spin_button_wraparound_set(spin, EINA_TRUE); + efl_ui_range_limits_set(spin, 10, 30); + efl_ui_range_step_set(spin, 20); + + efl_ui_range_value_set(spin, 20); + click_spin_part(spin, "efl.inc_button"); + ck_assert_int_eq(efl_ui_range_value_get(spin), 10); + + efl_ui_range_value_set(spin, 20); + click_spin_part(spin, "efl.dec_button"); + ck_assert_int_eq(efl_ui_range_value_get(spin), 30); + +} +EFL_END_TEST + +EFL_START_TEST (spin_double_values) +{ + double step = 0.1; + efl_ui_range_limits_set(spin, 10, 30); + efl_ui_range_value_set(spin, 20); + efl_ui_range_step_set(spin, step); + ck_assert(EINA_DBL_EQ(efl_ui_range_step_get(spin), step)); + get_me_to_those_events(spin); + ck_assert(EINA_DBL_EQ(efl_ui_range_value_get(spin), 20.0)); + + for (int i = 0; i < 5; ++i) + { + click_part(spin, "efl.inc_button"); + get_me_to_those_events(spin); + } + ck_assert_int_eq(EINA_DBL_EQ(efl_ui_range_value_get(spin), 20.5), 1); +} +EFL_END_TEST + +EFL_START_TEST (spin_double_values_hitting_max_with_step) +{ + //idea is to check that spin button can hit max with inc, even if value is not multiple is 2.7 + efl_ui_range_limits_set(spin, 10, 30); + efl_ui_range_value_set(spin, 27); + efl_ui_range_step_set(spin, 2.7); + get_me_to_those_events(spin); + + for (int i = 0; i < 2; ++i) + { + click_part(spin, "efl.inc_button"); + get_me_to_those_events(spin); + } + ck_assert_int_eq(EINA_DBL_EQ(efl_ui_range_value_get(spin), 30), 1); +} +EFL_END_TEST + +static inline void +_try_direct_text_input(const char *text, double result) +{ + Eo *entry; + + efl_ui_focus_util_focus(efl_content_get(efl_part(spin, "efl.text_button"))); + get_me_to_those_events(spin); + entry = efl_content_get(efl_part(spin, "efl.entry")); + elm_object_text_set(entry, ""); + ck_assert_int_eq(efl_isa(entry, ELM_ENTRY_CLASS), 1); + efl_ui_focus_util_focus(entry); + get_me_to_those_events(spin); + + write_key_sequence(spin, text); + get_me_to_those_events(spin); + + efl_ui_focus_util_focus(efl_content_get(efl_part(spin, "efl.inc_button"))); + ck_assert_msg(EINA_DBL_EQ(efl_ui_range_value_get(spin), result), "Values do not match %f - %f (%s)", efl_ui_range_value_get(spin), result, elm_object_text_get(entry)); +} + +EFL_START_TEST (spin_direct_text_input) +{ + efl_ui_spin_button_direct_text_input_set(spin, EINA_TRUE); + efl_ui_range_limits_set(spin, -30, 30); + efl_ui_range_value_set(spin, 20); + get_me_to_those_events(spin); + _try_direct_text_input("1asdf2", 12); + _try_direct_text_input("1-2", 12); + _try_direct_text_input("-12", -12); + _try_direct_text_input("-100", -30); + _try_direct_text_input("1.8", 18); + _try_direct_text_input("12342435", 30); +} +EFL_END_TEST + +EFL_START_TEST (spin_direct_text_input_comma_value) +{ + efl_ui_spin_button_direct_text_input_set(spin, EINA_TRUE); + efl_ui_range_limits_set(spin, -30, 30); + efl_ui_range_value_set(spin, 20); + efl_ui_format_string_set(spin, "%.2f", EFL_UI_FORMAT_STRING_TYPE_SIMPLE); + efl_ui_focus_util_focus(efl_content_get(efl_part(spin, "efl.text_button"))); + get_me_to_those_events(spin); + _try_direct_text_input("1asdf2.1", 12.1); + _try_direct_text_input("1-2.2", 12.2); + _try_direct_text_input("-12.8", -12.8); + _try_direct_text_input("-100", -30); + _try_direct_text_input("10.8", 10.8); + _try_direct_text_input("12342435.12312341342", 30); +} +EFL_END_TEST + void efl_ui_test_spin_button(TCase *tc) { tcase_add_checked_fixture(tc, fail_on_errors_setup, fail_on_errors_teardown); @@ -164,4 +270,9 @@ void efl_ui_test_spin_button(TCase *tc) tcase_add_test(tc, spin_value_inc); tcase_add_test(tc, spin_value_inc_max); tcase_add_test(tc, spin_value_dec_min); + tcase_add_test(tc, spin_wraparound); + tcase_add_test(tc, spin_double_values); + tcase_add_test(tc, spin_double_values_hitting_max_with_step); + tcase_add_test(tc, spin_direct_text_input); + tcase_add_test(tc, spin_direct_text_input_comma_value); } diff --git a/src/tests/elementary/efl_ui_test_spotlight.c b/src/tests/elementary/efl_ui_test_spotlight.c index 9d5f433e44..2166702797 100644 --- a/src/tests/elementary/efl_ui_test_spotlight.c +++ b/src/tests/elementary/efl_ui_test_spotlight.c @@ -6,8 +6,8 @@ #include "efl_ui_suite.h" #include "eo_internal.h" -EFL_CLASS_SIMPLE_CLASS(efl_ui_spotlight_manager, "efl_ui_spotlight_manager", EFL_UI_SPOTLIGHT_MANAGER_CLASS); -EFL_CLASS_SIMPLE_CLASS(efl_ui_spotlight_indicator, "efl_ui_spotlight_indicator", EFL_UI_SPOTLIGHT_INDICATOR_CLASS); +EFL_CLASS_SIMPLE_CLASS(efl_ui_spotlight_manager, "Efl.Ui.Spotlight.Manager", EFL_UI_SPOTLIGHT_MANAGER_CLASS); +EFL_CLASS_SIMPLE_CLASS(efl_ui_spotlight_indicator, "Efl.Ui.Spotlight.Indicator", EFL_UI_SPOTLIGHT_INDICATOR_CLASS); static Efl_Ui_Win *win; static Efl_Ui_Spotlight_Container *container; @@ -127,7 +127,7 @@ static void _emit_pos(Eo *obj, double d) { printf("EMITTING %f %f\n", d, transition_calls.last_position); - if (d == transition_calls.last_position) return; + if (EINA_DBL_EQ(d, transition_calls.last_position)) return; efl_event_callback_call(obj, EFL_UI_SPOTLIGHT_MANAGER_EVENT_POS_UPDATE, &d); transition_calls.last_position = d; @@ -403,7 +403,7 @@ _verify_indicator_calls(void) ck_assert_ptr_eq(indicator_calls.content_add.subobj, w); ck_assert_int_eq(indicator_calls.content_del.called, 0); ck_assert_int_eq(indicator_calls.position_update.called, 1); - ck_assert(indicator_calls.position_update.position == 0.0); + ck_assert(EINA_DBL_EQ(indicator_calls.position_update.position, 0.0)); indicator_calls.content_add.called = 0; indicator_calls.position_update.called = 0; @@ -414,7 +414,7 @@ _verify_indicator_calls(void) ck_assert_ptr_eq(indicator_calls.content_add.subobj, w1); ck_assert_int_eq(indicator_calls.content_del.called, 0); ck_assert_int_eq(indicator_calls.position_update.called, 1); - ck_assert(indicator_calls.position_update.position == 1.0); + ck_assert(EINA_DBL_EQ(indicator_calls.position_update.position, 1.0)); indicator_calls.content_add.called = 0; indicator_calls.position_update.called = 0; @@ -435,7 +435,7 @@ _verify_indicator_calls(void) ck_assert_int_eq(indicator_calls.content_del.index, 0); ck_assert_ptr_eq(indicator_calls.content_del.subobj, w1); ck_assert_int_eq(indicator_calls.position_update.called, 1); - ck_assert(indicator_calls.position_update.position == 0.0); + ck_assert(EINA_DBL_EQ(indicator_calls.position_update.position, 0.0)); indicator_calls.content_del.called = 0; indicator_calls.position_update.called = 0; } @@ -645,7 +645,7 @@ EFL_START_TEST (efl_ui_spotlight_animated_transition) ck_assert_int_eq(efl_ui_spotlight_manager_animated_transition_get(efl_ui_spotlight_manager_get(container)), EINA_FALSE); //now check with a real spotlight manager - efl_ui_spotlight_manager_set(container, efl_new(EFL_UI_SPOTLIGHT_MANAGER_STACK_CLASS)); + efl_ui_spotlight_manager_set(container, efl_new(EFL_UI_SPOTLIGHT_FADE_MANAGER_CLASS)); efl_ui_spotlight_animated_transition_set(container, EINA_TRUE); ck_assert_int_eq(efl_ui_spotlight_animated_transition_get(container), EINA_TRUE); ck_assert_int_eq(efl_ui_spotlight_manager_animated_transition_get(efl_ui_spotlight_manager_get(container)), EINA_TRUE); @@ -654,7 +654,7 @@ EFL_START_TEST (efl_ui_spotlight_animated_transition) ck_assert_int_eq(efl_ui_spotlight_animated_transition_get(container), EINA_FALSE); ck_assert_int_eq(efl_ui_spotlight_manager_animated_transition_get(efl_ui_spotlight_manager_get(container)), EINA_FALSE); - Eo *manager2 = efl_new(EFL_UI_SPOTLIGHT_MANAGER_STACK_CLASS); + Eo *manager2 = efl_new(EFL_UI_SPOTLIGHT_FADE_MANAGER_CLASS); Eina_Bool animated_transition_manager; efl_add(EFL_UI_SPOTLIGHT_CONTAINER_CLASS, win, efl_ui_spotlight_manager_set(efl_added, manager2), diff --git a/src/tests/elementary/efl_ui_test_text.c b/src/tests/elementary/efl_ui_test_text.c index 5c26e6f528..521bf1339c 100644 --- a/src/tests/elementary/efl_ui_test_text.c +++ b/src/tests/elementary/efl_ui_test_text.c @@ -5,6 +5,7 @@ #define EFL_LAYOUT_CALC_PROTECTED #include <Efl_Ui.h> #include "efl_ui_suite.h" +#include "Evas_Legacy.h" static void increment_int_changed(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED) @@ -29,6 +30,18 @@ EFL_START_TEST(text_cnp) efl_text_set(txt, "Hello"); efl_text_interactive_all_select(txt); efl_ui_textbox_selection_copy(txt); + efl_text_interactive_all_unselect(txt); + efl_text_cursor_object_text_insert(efl_text_interactive_main_cursor_get(txt), "X"); + efl_ui_textbox_selection_paste(txt); + ecore_main_loop_iterate(); + ck_assert_int_eq(i_copy, 1); + ck_assert_int_eq(i_paste, 1); + ck_assert_str_eq(efl_text_get(txt), "HelloXHello"); + + i_copy = i_cut = i_paste= 0; + efl_text_set(txt, "Hello"); + efl_text_interactive_all_select(txt); + efl_ui_textbox_selection_copy(txt); efl_text_interactive_all_select(txt); efl_ui_textbox_selection_cut(txt); efl_ui_textbox_selection_paste(txt); @@ -43,9 +56,15 @@ EFL_START_TEST(text_cnp) } EFL_END_TEST +static void +_stop_event_soon(void *data EINA_UNUSED, const Efl_Event *ev) +{ + efl_event_callback_stop(ev->object); +} + EFL_START_TEST(text_all_select_all_unselect) { - Eo *txt; + Eo *txt, *txt2; Eo *win = win_add(); int i_have_selection = 0, i_selection = 0; @@ -56,22 +75,65 @@ EFL_START_TEST(text_all_select_all_unselect) efl_event_callback_add(efl_added, EFL_TEXT_INTERACTIVE_EVENT_SELECTION_CHANGED, increment_int_changed, &i_selection) ); - + efl_event_callback_priority_add(txt, EFL_UI_SELECTION_EVENT_WM_SELECTION_CHANGED, EFL_CALLBACK_PRIORITY_BEFORE, _stop_event_soon, NULL); efl_text_set(txt, "Hello"); efl_text_interactive_all_select(txt); - Efl_Text_Cursor *c1=NULL, *c2 =NULL; + Efl_Text_Cursor_Object *c1=NULL, *c2 =NULL; efl_text_interactive_selection_cursors_get(txt, &c1, &c2); ck_assert_ptr_ne(c1, NULL); ck_assert_ptr_ne(c2, NULL); fail_if(!efl_text_interactive_have_selection_get(txt)); - ck_assert_int_eq(efl_text_cursor_position_get(c1), 0); - ck_assert_int_eq(efl_text_cursor_position_get(c2), 5); + ck_assert_int_eq(efl_text_cursor_object_position_get(c1), 0); + ck_assert_int_eq(efl_text_cursor_object_position_get(c2), 5); efl_text_interactive_all_unselect(txt); fail_if(efl_text_interactive_have_selection_get(txt)); ecore_main_loop_iterate(); ck_assert_int_eq(i_have_selection, 2); ck_assert_int_eq(i_selection, 1); + + /*Partial select, the select all*/ + Eo *sel1, *sel2; + i_selection = 0; + efl_text_interactive_selection_cursors_get(txt, &sel1, &sel2); + efl_text_cursor_object_position_set(sel1, 1); + efl_text_cursor_object_position_set(sel2, 2); + ck_assert_int_eq(i_selection, 2); + efl_text_interactive_all_select(txt); + ck_assert_int_eq(i_selection, 3); + ck_assert_int_eq(efl_text_cursor_object_position_get(sel1), 0); + ck_assert_int_eq(efl_text_cursor_object_position_get(sel2), 5); + + Eo *cur1 = efl_ui_textbox_cursor_create(txt); + Eo *cur2 = efl_ui_textbox_cursor_create(txt); + efl_text_cursor_object_position_set(cur1, 1); + efl_text_cursor_object_position_set(cur2, 2); + efl_text_interactive_selection_cursors_set(txt, cur1, cur2); + ck_assert_int_eq(i_selection, 4); + efl_text_interactive_selection_cursors_get(txt, &sel1, &sel2); + ck_assert_int_eq(efl_text_cursor_object_position_get(sel1),1); + ck_assert_int_eq(efl_text_cursor_object_position_get(sel2),2); + + + /*Select part then select all*/ + efl_text_interactive_all_unselect(txt); + i_have_selection = 0, i_selection = 0; + efl_text_cursor_object_position_set(cur1, 1); + efl_text_cursor_object_position_set(cur2, 2); + efl_text_interactive_selection_cursors_set(txt, cur1, cur2); + ck_assert_int_eq(i_selection, 1); + ck_assert_int_eq(i_have_selection, 1); + efl_text_interactive_all_select(txt); + ck_assert_int_eq(i_selection, 2); + ck_assert_int_eq(i_have_selection, 1); + efl_text_interactive_all_unselect(txt); + ck_assert_int_eq(i_have_selection, 2); + + //cursor selection change on efl_markup_set + txt2 = efl_add(EFL_UI_TEXTBOX_CLASS, win); + efl_text_markup_set(txt2, "<ps>"); + efl_del(txt); + efl_del(txt2); efl_del(win); } EFL_END_TEST @@ -82,18 +144,19 @@ EFL_START_TEST(text_selection) Eo *win = win_add(); txt = efl_add(EFL_UI_TEXTBOX_CLASS, win); + efl_event_callback_priority_add(txt, EFL_UI_SELECTION_EVENT_WM_SELECTION_CHANGED, EFL_CALLBACK_PRIORITY_BEFORE, _stop_event_soon, NULL); efl_gfx_entity_size_set(txt, EINA_SIZE2D(300, 300)); efl_text_set(txt, "Hello"); get_me_to_those_events(txt); drag_object(txt, 2, 2, 295, 295, EINA_TRUE); ecore_main_loop_iterate(); - Efl_Text_Cursor *c1=NULL, *c2 =NULL; + Efl_Text_Cursor_Object *c1=NULL, *c2 =NULL; efl_text_interactive_selection_cursors_get(txt, &c1, &c2); ck_assert_ptr_ne(c1, NULL); ck_assert_ptr_ne(c2, NULL); fail_if(!efl_text_interactive_have_selection_get(txt)); - ck_assert_int_eq(efl_text_cursor_position_get(c1), 0); - ck_assert_int_eq(efl_text_cursor_position_get(c2), 5); + ck_assert_int_eq(efl_text_cursor_object_position_get(c1), 0); + ck_assert_int_eq(efl_text_cursor_object_position_get(c2), 5); efl_text_interactive_all_unselect(txt); fail_if(efl_text_interactive_have_selection_get(txt)); efl_text_interactive_selection_allowed_set(txt, EINA_FALSE); @@ -120,7 +183,7 @@ EFL_START_TEST(text_user_change) txt = efl_add(EFL_UI_TEXTBOX_CLASS, win, efl_event_callback_add(efl_added, EFL_TEXT_INTERACTIVE_EVENT_CHANGED_USER, user_changed, &info) ); - + efl_event_callback_priority_add(txt, EFL_UI_SELECTION_EVENT_WM_SELECTION_CHANGED, EFL_CALLBACK_PRIORITY_BEFORE, _stop_event_soon, NULL); efl_text_set(txt, "Hello"); efl_gfx_entity_size_set(txt, EINA_SIZE2D(300, 300)); efl_text_interactive_all_select(txt); @@ -137,15 +200,16 @@ EFL_START_TEST(text_scroll_mode) Eo *txt, *win, *cur; win = win_add(); txt = efl_add(EFL_UI_TEXTBOX_CLASS, win); + efl_event_callback_priority_add(txt, EFL_UI_SELECTION_EVENT_WM_SELECTION_CHANGED, EFL_CALLBACK_PRIORITY_BEFORE, _stop_event_soon, NULL); cur = efl_text_interactive_main_cursor_get(txt); efl_text_set(txt, "Hello"); /*scroll mode is false by default*/ fail_if(efl_ui_textbox_scrollable_get(txt)); efl_ui_textbox_scrollable_set(txt, !efl_ui_textbox_scrollable_get(txt)); - efl_text_cursor_text_insert(cur, "World"); + efl_text_cursor_object_text_insert(cur, "World"); fail_if(!efl_ui_textbox_scrollable_get(txt)); efl_ui_textbox_scrollable_set(txt, !efl_ui_textbox_scrollable_get(txt)); - efl_text_cursor_text_insert(cur, "!!!"); + efl_text_cursor_object_text_insert(cur, "!!!"); ck_assert_str_eq(efl_text_get(txt),"HelloWorld!!!"); efl_del(txt); @@ -153,6 +217,315 @@ EFL_START_TEST(text_scroll_mode) } EFL_END_TEST +EFL_START_TEST(text_change_event) +{ + Eo *txt; + Eo *win = win_add(); + + txt = efl_add(EFL_UI_TEXTBOX_CLASS, win); + efl_event_callback_priority_add(txt, EFL_UI_SELECTION_EVENT_WM_SELECTION_CHANGED, EFL_CALLBACK_PRIORITY_BEFORE, _stop_event_soon, NULL); + efl_gfx_entity_size_set(txt, EINA_SIZE2D(300, 300)); + efl_text_set(txt, "Hello"); + int i_changed = 0; + efl_event_callback_add(txt, EFL_UI_TEXTBOX_EVENT_CHANGED, increment_int_changed, &i_changed); + efl_gfx_entity_visible_set(txt, EINA_TRUE); + Evas *e = evas_object_evas_get(txt); + efl_ui_focus_util_focus(txt); + evas_event_feed_key_down(e, "s", "s", "s", "s", time(NULL), NULL); + ecore_main_loop_iterate(); + ck_assert_str_eq(efl_text_get(txt),"Hellos"); + ck_assert_int_eq(i_changed,1); + ecore_main_loop_iterate(); + + efl_del(txt); + efl_del(win); +} +EFL_END_TEST + +EFL_START_TEST(text_keys_handler) +{ + Eo *txt; + Eo *win = win_add(); + + txt = efl_add(EFL_UI_TEXTBOX_CLASS, win); + efl_event_callback_priority_add(txt, EFL_UI_SELECTION_EVENT_WM_SELECTION_CHANGED, EFL_CALLBACK_PRIORITY_BEFORE, _stop_event_soon, NULL); + efl_gfx_entity_size_set(txt, EINA_SIZE2D(300, 300)); + efl_text_set(txt, "Hello"); + + efl_gfx_entity_visible_set(txt, EINA_TRUE); + Evas *e = evas_object_evas_get(txt); + efl_ui_focus_util_focus(txt); + + efl_text_cursor_object_move(efl_text_interactive_main_cursor_get(txt), EFL_TEXT_CURSOR_MOVE_TYPE_LAST); + evas_key_modifier_on(e, "Control"); + evas_event_feed_key_down(e, "BackSpace", "BackSpace", "\b", "\b", time(NULL), NULL); + ecore_main_loop_iterate(); + ck_assert_str_eq(efl_text_get(txt),""); + ck_assert_int_eq(efl_text_cursor_object_position_get(efl_text_interactive_main_cursor_get(txt)), 0); + evas_event_feed_key_up(e, "BackSpace", "BackSpace", "\b", "\b", time(NULL), NULL); + ecore_main_loop_iterate(); + + efl_text_set(txt, "Hello"); + efl_text_cursor_object_position_set(efl_text_interactive_main_cursor_get(txt), 0); + evas_key_modifier_on(e, "Control"); + evas_event_feed_key_down(e, "Delete", "Delete", "\177", "\177", time(NULL), NULL); + ecore_main_loop_iterate(); + ck_assert_str_eq(efl_text_get(txt),""); + ck_assert_int_eq(efl_text_cursor_object_position_get(efl_text_interactive_main_cursor_get(txt)), 0); + evas_event_feed_key_up(e, "Delete", "Delete", "\177", "\177", time(NULL), NULL); + ecore_main_loop_iterate(); + + efl_del(txt); + efl_del(win); +} +EFL_END_TEST + +EFL_START_TEST(text_editable) +{ + Eo *txt, *win; + win = win_add(); + txt = efl_add(EFL_UI_TEXTBOX_CLASS, win); + efl_text_font_size_set(txt, 100); + efl_text_font_family_set(txt, "Arial"); + efl_text_interactive_editable_set(txt, !efl_text_interactive_editable_get(txt)); + ck_assert_int_eq(efl_text_font_size_get(txt), 100); + ck_assert_str_eq(efl_text_font_family_get(txt), "Arial"); + + efl_ui_widget_disabled_set(txt, EINA_TRUE); + ck_assert_int_eq(efl_text_font_size_get(txt), 100); + ck_assert_str_eq(efl_text_font_family_get(txt), "Arial"); + + efl_del(txt); + efl_del(win); +} +EFL_END_TEST + +EFL_START_TEST(text_on_startup) +{ + Eo *txt, *win; + win = win_add(); + unsigned char r,g,b,a; + txt = efl_add(EFL_UI_TEXTBOX_CLASS, win, + efl_text_color_set(efl_added, 0, 255, 0, 255), + efl_text_font_size_set(efl_added, 50), + efl_text_font_family_set(efl_added, "Arial")); + + ck_assert_int_eq(efl_text_font_size_get(txt), 50); + ck_assert_str_eq(efl_text_font_family_get(txt), "Arial"); + efl_text_color_get(txt, &r, &g, &b, &a); + ck_assert_int_eq(r, 0); + ck_assert_int_eq(g, 255); + ck_assert_int_eq(b, 0); + ck_assert_int_eq(a, 255); + + efl_del(txt); + efl_del(win); +} +EFL_END_TEST + +EFL_START_TEST(text_multiline_selection) +{ + Eo *txt, *win; + Eo *cursor1, *cursor2; + Eina_Rect rc1, rc2; + win = win_add(); + txt = efl_add(EFL_UI_TEXTBOX_CLASS, win); + efl_text_markup_set(txt, "p1<ps/>p2<ps/>p3"); + efl_text_multiline_set(txt, EINA_FALSE); + ecore_main_loop_iterate(); + efl_text_interactive_all_select(txt); + efl_text_interactive_selection_cursors_get(txt, &cursor1, &cursor2); + rc1 = efl_text_cursor_object_cursor_geometry_get(cursor1, EFL_TEXT_CURSOR_TYPE_BEFORE); + rc2 = efl_text_cursor_object_cursor_geometry_get(cursor2, EFL_TEXT_CURSOR_TYPE_BEFORE); + ck_assert_int_eq(rc1.y, rc2.y); + ck_assert_int_ne(rc1.x, rc2.x); + + efl_del(txt); + efl_del(win); +} +EFL_END_TEST + +EFL_START_TEST(text_singleline_cursor_movement) +{ + Eo *txt, *win; + Eo *cursor; + Eina_Rect rc1, rc2; + win = win_add(); + txt = efl_add(EFL_UI_TEXTBOX_CLASS, win); + efl_text_markup_set(txt, "p1<ps>p<b>2</b>2<ps>p3"); + efl_text_multiline_set(txt, EINA_FALSE); + ecore_main_loop_iterate(); + + cursor = efl_text_interactive_main_cursor_get(txt); + efl_text_cursor_object_move(cursor, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST); + ck_assert_int_eq(efl_text_cursor_object_position_get(cursor), 0); + rc1 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + + efl_text_cursor_object_move(cursor, EFL_TEXT_CURSOR_MOVE_TYPE_LAST); + ck_assert_int_eq(efl_text_cursor_object_position_get(cursor), 9); + rc2 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + ck_assert_int_eq(rc1.y, rc2.y); + ck_assert_int_ne(rc1.x, rc2.x); + + efl_text_cursor_object_move(cursor, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START); + ck_assert_int_eq(efl_text_cursor_object_position_get(cursor), 0); + rc1 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + + efl_text_cursor_object_move(cursor, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_END); + ck_assert_int_eq(efl_text_cursor_object_position_get(cursor), 9); + rc2 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + ck_assert_int_eq(rc1.y, rc2.y); + ck_assert_int_ne(rc1.x, rc2.x); + + efl_text_cursor_object_move(cursor, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_NEXT); + ck_assert_int_eq(efl_text_cursor_object_position_get(cursor), 9); //do not move + rc1 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + + efl_text_cursor_object_move(cursor, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_PREVIOUS); + ck_assert_int_eq(efl_text_cursor_object_position_get(cursor), 9); //do not move + rc2 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + ck_assert_int_eq(rc1.y, rc2.y); + ck_assert_int_eq(rc1.x, rc2.x); + + efl_text_cursor_object_move(cursor, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_START); + ck_assert_int_eq(efl_text_cursor_object_position_get(cursor), 0); + rc1 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + + efl_text_cursor_object_move(cursor, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_END); + ck_assert_int_eq(efl_text_cursor_object_position_get(cursor), 9); + rc2 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + ck_assert_int_eq(rc1.y, rc2.y); + ck_assert_int_ne(rc1.x, rc2.x); + + efl_del(txt); + efl_del(win); +} +EFL_END_TEST + +EFL_START_TEST(text_multiline_singleline_cursor_pos) +{ + Eo *txt, *win; + Eo *cursor, *cursor1, *cursor2; + Eina_Rect rc1, rc2; + win = win_add(); + txt = efl_add(EFL_UI_TEXTBOX_CLASS, win); + efl_text_markup_set(txt, "p1<ps>p<b>2</b>2<ps>p3<ps>"); + cursor = efl_text_interactive_main_cursor_get(txt); + cursor1 = efl_ui_textbox_cursor_create(txt); + efl_text_cursor_object_position_set(cursor1, 4); + cursor2 = efl_ui_textbox_cursor_create(txt); + efl_text_cursor_object_position_set(cursor2, 8); + + efl_text_multiline_set(txt, EINA_FALSE); + ck_assert_uint_eq(efl_text_cursor_object_content_get(cursor1), '2'); + ck_assert_uint_eq(efl_text_cursor_object_content_get(cursor2), '3'); + + efl_text_cursor_object_position_set(cursor, 0); + rc1 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + efl_text_multiline_set(txt, EINA_TRUE); + ck_assert_uint_eq(efl_text_cursor_object_content_get(cursor1), '2'); + ck_assert_uint_eq(efl_text_cursor_object_content_get(cursor2), '3'); + rc2 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + ck_assert_int_eq(rc1.y, rc2.y); + ck_assert_int_eq(rc1.x, rc2.x); + + efl_text_multiline_set(txt, EINA_FALSE); + efl_text_cursor_object_position_set(cursor, 2); + rc1 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + efl_text_multiline_set(txt, EINA_TRUE); + rc2 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + ck_assert_int_eq(rc1.y, rc2.y); + ck_assert_int_eq(rc1.x, rc2.x); + efl_text_multiline_set(txt, EINA_FALSE); + rc2 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + ck_assert_int_eq(rc1.y, rc2.y); + ck_assert_int_eq(rc1.x, rc2.x); + + efl_text_multiline_set(txt, EINA_FALSE); + efl_text_cursor_object_position_set(cursor, 3); + rc1 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + efl_text_multiline_set(txt, EINA_TRUE); + rc2 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + ck_assert_int_ne(rc1.y, rc2.y); + ck_assert_int_ne(rc1.x, rc2.x); + efl_text_multiline_set(txt, EINA_FALSE); + rc2 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + ck_assert_int_eq(rc1.y, rc2.y); + ck_assert_int_eq(rc1.x, rc2.x); + + efl_text_multiline_set(txt, EINA_FALSE); + efl_text_cursor_object_position_set(cursor, 4); + rc1 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + efl_text_multiline_set(txt, EINA_TRUE); + rc2 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + ck_assert_int_ne(rc1.y, rc2.y); + ck_assert_int_ne(rc1.x, rc2.x); + efl_text_multiline_set(txt, EINA_FALSE); + rc2 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + ck_assert_int_eq(rc1.y, rc2.y); + ck_assert_int_eq(rc1.x, rc2.x); + + efl_text_multiline_set(txt, EINA_FALSE); + efl_text_cursor_object_position_set(cursor, 10); + rc1 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + efl_text_multiline_set(txt, EINA_TRUE); + rc2 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + ck_assert_int_ne(rc1.y, rc2.y); + ck_assert_int_ne(rc1.x, rc2.x); + efl_text_multiline_set(txt, EINA_FALSE); + rc2 = efl_text_cursor_object_cursor_geometry_get(cursor, EFL_TEXT_CURSOR_TYPE_BEFORE); + ck_assert_int_eq(rc1.y, rc2.y); + ck_assert_int_eq(rc1.x, rc2.x); + + + efl_del(txt); + efl_del(win); +} +EFL_END_TEST + +/* +EFL_START_TEST(text_keyboard_mouse_cluster_cursor_movement) +{ + Eo *txt; + Eo *cursor; + Eo *win = win_add(); + Evas *e; + Eina_Rect rc, rc2; + + txt = efl_add(EFL_UI_TEXTBOX_CLASS, win); + + efl_gfx_entity_size_set(win, EINA_SIZE2D(300, 300)); + efl_gfx_entity_size_set(txt, EINA_SIZE2D(300, 300)); + efl_ui_textbox_scrollable_set(txt, EINA_TRUE); + get_me_to_those_events(txt); + + efl_text_markup_set(txt, "A\u1100\u1161\u11AA"); + cursor = efl_text_interactive_main_cursor_get(txt); + efl_text_cursor_object_position_set(cursor, 1); + + e = evas_object_evas_get(txt); + efl_ui_focus_util_focus(txt); + evas_event_feed_key_down(e, "Right", "Right", "Right", "Right", time(NULL), NULL); + + ck_assert_int_eq(4, efl_text_cursor_object_position_get(cursor)); + + efl_text_cursor_object_position_set(cursor, 1); + efl_text_cursor_object_move(cursor, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT); + efl_text_cursor_object_move(cursor, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT); + rc = efl_text_cursor_object_content_geometry_get(cursor); + rc2 = efl_ui_scrollable_viewport_geometry_get(txt); + + efl_text_cursor_object_position_set(cursor, 0); + click_object_at(win, rc2.x + rc.x + (rc.w/2), rc2.y + rc.y + (rc.h/2)); + + ck_assert_int_eq(4, efl_text_cursor_object_position_get(cursor)); + + efl_del(txt); + efl_del(win); +} +EFL_END_TEST +*/ + void efl_ui_test_text(TCase *tc) { tcase_add_test(tc, text_cnp); @@ -160,4 +533,14 @@ void efl_ui_test_text(TCase *tc) tcase_add_test(tc, text_selection); tcase_add_test(tc, text_user_change); tcase_add_test(tc, text_scroll_mode); + tcase_add_test(tc, text_change_event); + tcase_add_test(tc, text_keys_handler); + tcase_add_test(tc, text_editable); + tcase_add_test(tc, text_multiline_selection); + tcase_add_test(tc, text_singleline_cursor_movement); + tcase_add_test(tc, text_multiline_singleline_cursor_pos); + tcase_add_test(tc, text_on_startup); +// works on some systemd and not others - is suepct font or harfbuzz system +// dependency issue... for now - disable. +// tcase_add_test(tc, text_keyboard_mouse_cluster_cursor_movement); } diff --git a/src/tests/elementary/efl_ui_test_timepicker.c b/src/tests/elementary/efl_ui_test_timepicker.c new file mode 100644 index 0000000000..1aca88cc23 --- /dev/null +++ b/src/tests/elementary/efl_ui_test_timepicker.c @@ -0,0 +1,45 @@ +#define EFL_NOLEGACY_API_SUPPORT +#ifdef HAVE_CONFIG_H +# include "elementary_config.h" +#endif +#define EFL_LAYOUT_CALC_PROTECTED +#include <Efl_Ui.h> +#include "efl_ui_suite.h" + +EFL_START_TEST(check_all_times) +{ + Eo *win = win_add(); + Eo *timepicker = efl_add(EFL_UI_TIMEPICKER_CLASS, win); + + for (int min = 0; min < 60; ++min) + { + for (int hour = 0; hour < 24; ++hour) + { + efl_ui_timepicker_time_set(timepicker, hour, min); + } + } +} +EFL_END_TEST + +EFL_START_TEST(check_all_times_24_mode) +{ + Eo *win = win_add(); + Eo *timepicker = efl_add(EFL_UI_TIMEPICKER_CLASS, win, + efl_ui_timepicker_is_24hour_set(efl_added, EINA_TRUE)); + + for (int min = 0; min < 60; ++min) + { + for (int hour = 0; hour < 24; ++hour) + { + efl_ui_timepicker_time_set(timepicker, hour, min); + } + } +} +EFL_END_TEST + +void efl_ui_test_timepicker(TCase *tc) +{ + tcase_add_checked_fixture(tc, fail_on_errors_setup, fail_on_errors_teardown); + tcase_add_test(tc, check_all_times); + tcase_add_test(tc, check_all_times_24_mode); +} diff --git a/src/tests/elementary/efl_ui_test_vg_animation.c b/src/tests/elementary/efl_ui_test_vg_animation.c new file mode 100644 index 0000000000..2909ede100 --- /dev/null +++ b/src/tests/elementary/efl_ui_test_vg_animation.c @@ -0,0 +1,122 @@ +#ifdef HAVE_CONFIG_H +# include "elementary_config.h" +#endif + +#include <Efl_Ui.h> +#include "efl_ui_suite.h" + +#ifdef BUILD_VG_LOADER_JSON + +EFL_START_TEST(vg_anim_playing_control) +{ + Evas_Object *win, *vg_anim; + win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), + efl_text_set(efl_added, "Efl_Ui_Vg_Animation demo"), + efl_ui_win_autodel_set(efl_added, EINA_TRUE)); + vg_anim = efl_add(EFL_UI_VG_ANIMATION_CLASS, win, + efl_content_set(win, efl_added)); + + ck_assert_int_eq(efl_ui_vg_animation_state_get(vg_anim), EFL_UI_VG_ANIMATION_STATE_NOT_READY); + + // File load + efl_file_simple_load(vg_anim, TESTS_SRC_DIR"/emoji_wink.json", NULL); + ck_assert(efl_file_loaded_get(vg_anim)); + ck_assert_int_eq(efl_ui_vg_animation_state_get(vg_anim), EFL_UI_VG_ANIMATION_STATE_STOPPED); + + // Play start + efl_player_playing_set(vg_anim, EINA_TRUE); + ck_assert_int_eq(efl_ui_vg_animation_state_get(vg_anim), EFL_UI_VG_ANIMATION_STATE_PLAYING); + + // Play pause + efl_player_paused_set(vg_anim, EINA_TRUE); + ck_assert_int_eq(efl_ui_vg_animation_state_get(vg_anim), EFL_UI_VG_ANIMATION_STATE_PAUSED); + + // Play resume + efl_player_paused_set(vg_anim, EINA_FALSE); + ck_assert_int_eq(efl_ui_vg_animation_state_get(vg_anim), EFL_UI_VG_ANIMATION_STATE_PLAYING); + + // Playback speed + efl_player_playback_speed_set(vg_anim, 2.0); + ck_assert(EINA_DBL_EQ(efl_player_playback_speed_get(vg_anim), 2.0)); + + efl_player_playback_speed_set(vg_anim, -2.0); + ck_assert(EINA_DBL_EQ(efl_player_playback_speed_get(vg_anim), -2.0)); + + // playing backwards + ck_assert_int_eq(efl_ui_vg_animation_state_get(vg_anim), EFL_UI_VG_ANIMATION_STATE_PLAYING_BACKWARDS); + + // Play stop + efl_player_playing_set(vg_anim, EINA_FALSE); + ck_assert_int_eq(efl_ui_vg_animation_state_get(vg_anim), EFL_UI_VG_ANIMATION_STATE_STOPPED); + + // Auto repeat + efl_player_playback_loop_set(vg_anim, EINA_TRUE); + ck_assert_int_eq(efl_player_playback_loop_get(vg_anim), EINA_TRUE); + + // Auto play + efl_player_autoplay_set(vg_anim, EINA_TRUE); + ck_assert_int_eq(efl_player_autoplay_get(vg_anim), EINA_TRUE); +} +EFL_END_TEST + +EFL_START_TEST(vg_anim_frame_control) +{ + Evas_Object *win, *vg_anim; + int frame_count = 0; + + win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), + efl_text_set(efl_added, "Efl_Ui_Vg_Animation demo"), + efl_ui_win_autodel_set(efl_added, EINA_TRUE)); + vg_anim = efl_add(EFL_UI_VG_ANIMATION_CLASS, win, + efl_content_set(win, efl_added)); + + ck_assert_int_eq(efl_ui_vg_animation_state_get(vg_anim), EFL_UI_VG_ANIMATION_STATE_NOT_READY); + + // File load + // emoji_wink.json is 60 frames sample. + efl_file_simple_load(vg_anim, TESTS_SRC_DIR"/emoji_wink.json", NULL); + ck_assert(efl_file_loaded_get(vg_anim)); + ck_assert_int_eq(efl_ui_vg_animation_state_get(vg_anim), EFL_UI_VG_ANIMATION_STATE_STOPPED); + + // Total frame + frame_count = efl_ui_vg_animation_frame_count_get(vg_anim); + ck_assert_int_eq(frame_count, 60); + + // Frame set, get + efl_ui_vg_animation_frame_set(vg_anim, 30); + ck_assert_int_eq(efl_ui_vg_animation_frame_get(vg_anim), 30); + + // Frame set, get + efl_player_playback_progress_set(vg_anim, 0.3); + ck_assert(EINA_DBL_EQ(efl_player_playback_progress_get(vg_anim), 0.3)); + + // Min/Max frame set,get + efl_ui_vg_animation_min_frame_set(vg_anim, 5); + ck_assert_int_eq(efl_ui_vg_animation_min_frame_get(vg_anim), 5); + efl_ui_vg_animation_frame_set(vg_anim, 1); + ck_assert_int_eq(efl_ui_vg_animation_frame_get(vg_anim), 5); + + efl_ui_vg_animation_max_frame_set(vg_anim, 55); + ck_assert_int_eq(efl_ui_vg_animation_max_frame_get(vg_anim), 55); + efl_ui_vg_animation_frame_set(vg_anim, 60); + ck_assert_int_eq(efl_ui_vg_animation_frame_get(vg_anim), 55); + + // Min/Max progress set,get + efl_ui_vg_animation_min_progress_set(vg_anim, 0.2); + ck_assert(EINA_DBL_EQ(efl_ui_vg_animation_min_progress_get(vg_anim), 0.2)); + + efl_ui_vg_animation_max_progress_set(vg_anim, 0.8); + ck_assert(EINA_DBL_EQ(efl_ui_vg_animation_max_progress_get(vg_anim), 0.8)); +} +EFL_END_TEST + +#endif + +void efl_ui_test_vg_animation(TCase *tc) +{ + tcase_add_checked_fixture(tc, fail_on_errors_setup, fail_on_errors_teardown); +#ifdef BUILD_VG_LOADER_JSON + tcase_add_test(tc, vg_anim_playing_control); + tcase_add_test(tc, vg_anim_frame_control); +#endif +} diff --git a/src/tests/elementary/efl_ui_test_widget.c b/src/tests/elementary/efl_ui_test_widget.c index 74e8f2eac9..39d6be4137 100644 --- a/src/tests/elementary/efl_ui_test_widget.c +++ b/src/tests/elementary/efl_ui_test_widget.c @@ -93,7 +93,7 @@ resize_object(Efl_Canvas_Object *o) { Efl_Ui_Widget_Data *pd = efl_data_scope_safe_get(o, EFL_UI_WIDGET_CLASS); - return eina_list_data_get(pd->subobjs); + return eina_array_data_get(pd->children, 0); } EFL_START_TEST(efl_ui_test_widget_widget_sub_iterator) @@ -182,16 +182,16 @@ EFL_START_TEST(efl_ui_test_widget_sub_object_add_del) State s; _small_ui(&s); - DISABLE_ABORT_ON_CRITICAL_START; + EXPECT_ERROR_START; ck_assert(!efl_ui_widget_sub_object_add(s.btn1, s.btn1)); - DISABLE_ABORT_ON_CRITICAL_END; + EXPECT_ERROR_END; ck_assert(efl_ui_widget_sub_object_add(s.box, s.btn1)); - DISABLE_ABORT_ON_CRITICAL_START; + EXPECT_ERROR_START; ck_assert(!efl_ui_widget_sub_object_add(s.box, NULL)); ck_assert(!efl_ui_widget_sub_object_del(s.btn1, s.btn1)); ck_assert(!efl_ui_widget_sub_object_del(s.box, NULL)); ck_assert(!efl_ui_widget_sub_object_del(s.btn1, s.box)); - DISABLE_ABORT_ON_CRITICAL_END; + EXPECT_ERROR_END; ck_assert(efl_ui_widget_sub_object_del(s.box, s.btn1)); } EFL_END_TEST @@ -332,6 +332,116 @@ EFL_START_TEST(efl_ui_test_widget_win_provider_find) } EFL_END_TEST +#define CHECK_UNFOCUSABLE_STATE(x) \ + CHECK_UNFOCUSABLE_STATE_VEC(x, x, x, x, x) + +#define CHECK_UNFOCUSABLE_STATE_VEC(x1, x2, x3, x4, x5) \ + ck_assert_int_eq(elm_widget_tree_unfocusable_get(s.win), x1); \ + ck_assert_int_eq(elm_widget_tree_unfocusable_get(s.ic), x2); \ + ck_assert_int_eq(elm_widget_tree_unfocusable_get(s.box), x3); \ + ck_assert_int_eq(elm_widget_tree_unfocusable_get(s.btn1), x4); \ + ck_assert_int_eq(elm_widget_tree_unfocusable_get(s.btn2), x5) + + +EFL_START_TEST(efl_ui_test_widget_tree_unfocusable) +{ + State s; + + _small_ui(&s); + CHECK_UNFOCUSABLE_STATE(0); + + elm_widget_tree_unfocusable_set(s.win, EINA_TRUE); + CHECK_UNFOCUSABLE_STATE(1); + + elm_widget_tree_unfocusable_set(s.win, EINA_FALSE); + CHECK_UNFOCUSABLE_STATE(0); + + elm_widget_tree_unfocusable_set(s.win, EINA_TRUE); + CHECK_UNFOCUSABLE_STATE(1); + + elm_widget_tree_unfocusable_set(s.win, EINA_TRUE); + CHECK_UNFOCUSABLE_STATE(1); + + elm_widget_tree_unfocusable_set(s.win, EINA_FALSE); + CHECK_UNFOCUSABLE_STATE(0); +} +EFL_END_TEST + +EFL_START_TEST(efl_ui_test_widget_tree_unfocusable_nested_calls) +{ + State s; + + _small_ui(&s); + CHECK_UNFOCUSABLE_STATE(0); + + elm_widget_tree_unfocusable_set(s.win, EINA_TRUE); + CHECK_UNFOCUSABLE_STATE(1); + + elm_widget_tree_unfocusable_set(s.box, EINA_TRUE); + CHECK_UNFOCUSABLE_STATE(1); + + elm_widget_tree_unfocusable_set(s.win, EINA_FALSE); + CHECK_UNFOCUSABLE_STATE_VEC(0, 0, 1, 1, 1); + + elm_widget_tree_unfocusable_set(s.box, EINA_FALSE); + CHECK_UNFOCUSABLE_STATE(0); +} +EFL_END_TEST + +#define CHECK_DISABLED_STATE(x) CHECK_DISABLED_STATE_VEC(x,x,x,x,x) + +#define CHECK_DISABLED_STATE_VEC(x1,x2,x3,x4,x5) \ + ck_assert_int_eq(efl_ui_widget_disabled_get(s.win), x1); \ + ck_assert_int_eq(efl_ui_widget_disabled_get(s.ic), x2); \ + ck_assert_int_eq(efl_ui_widget_disabled_get(s.box), x3); \ + ck_assert_int_eq(efl_ui_widget_disabled_get(s.btn1), x4); \ + ck_assert_int_eq(efl_ui_widget_disabled_get(s.btn2), x5) + +EFL_START_TEST(efl_ui_test_widget_disabled_repeat_call) +{ + State s; + + _small_ui(&s); + CHECK_DISABLED_STATE(0); + + efl_ui_widget_disabled_set(s.win, EINA_TRUE); + CHECK_DISABLED_STATE(1); + + efl_ui_widget_disabled_set(s.win, EINA_FALSE); + CHECK_DISABLED_STATE(0); + + efl_ui_widget_disabled_set(s.win, EINA_TRUE); + CHECK_DISABLED_STATE(1); + + efl_ui_widget_disabled_set(s.win, EINA_TRUE); + CHECK_DISABLED_STATE(1); + + efl_ui_widget_disabled_set(s.win, EINA_FALSE); + CHECK_DISABLED_STATE(0); +} +EFL_END_TEST + +EFL_START_TEST(efl_ui_test_widget_disabled_nested_calls) +{ + State s; + + _small_ui(&s); + CHECK_DISABLED_STATE(0); + + efl_ui_widget_disabled_set(s.win, EINA_TRUE); + CHECK_DISABLED_STATE(1); + + efl_ui_widget_disabled_set(s.box, EINA_TRUE); + CHECK_DISABLED_STATE(1); + + efl_ui_widget_disabled_set(s.win, EINA_FALSE); + CHECK_DISABLED_STATE_VEC(0, 0, 1, 1, 1); + + efl_ui_widget_disabled_set(s.box, EINA_FALSE); + CHECK_DISABLED_STATE(0); +} +EFL_END_TEST + void efl_ui_test_widget(TCase *tc) { tcase_add_checked_fixture(tc, fail_on_errors_setup, fail_on_errors_teardown); @@ -346,4 +456,8 @@ void efl_ui_test_widget(TCase *tc) tcase_add_test(tc, efl_ui_test_widget_disabled_parent); tcase_add_test(tc, efl_ui_test_widget_disabled_behaviour); tcase_add_test(tc, efl_ui_test_widget_win_provider_find); + tcase_add_test(tc, efl_ui_test_widget_tree_unfocusable); + tcase_add_test(tc, efl_ui_test_widget_tree_unfocusable_nested_calls); + tcase_add_test(tc, efl_ui_test_widget_disabled_repeat_call); + tcase_add_test(tc, efl_ui_test_widget_disabled_nested_calls); } diff --git a/src/tests/elementary/efl_ui_window_cnp_dnd_slave.c b/src/tests/elementary/efl_ui_window_cnp_dnd_slave.c new file mode 100644 index 0000000000..43aafa5470 --- /dev/null +++ b/src/tests/elementary/efl_ui_window_cnp_dnd_slave.c @@ -0,0 +1,191 @@ +#define EFL_BETA_API_SUPPORT 1 + +#include <Efl.h> +#include <Efl_Ui.h> +#include <Elementary.h> +#include "efl_ui_grid_view.eo.h" + +static Ecore_Evas *ee; + +static Eina_Value +_deliverty_cb(void *data, const Eina_Value value, const Eina_Future *dead_future EINA_UNUSED) +{ + Ecore_Evas_Selection_Buffer buffer = (intptr_t)data; + Eina_Content *content; + + if (eina_value_type_get(&value) != EINA_VALUE_TYPE_CONTENT) + { + char *error = eina_value_to_string(&value); + printf("Value not a content, message: \"%s\"\n", error); + return EINA_VALUE_EMPTY; + } + + content = eina_value_to_content(&value); + printf("Got Content of selection %d with type %s\n", buffer, eina_content_type_get(content)); + if (eina_str_has_prefix(eina_content_type_get(content),"text")) + { + printf("Content: %s\n", (char*)eina_content_data_get(content).mem); + } + + return EINA_VALUE_EMPTY; +} + +static void +_selection_changed(Ecore_Evas *ee, unsigned int seat EINA_UNUSED, Ecore_Evas_Selection_Buffer selection) +{ + printf("Selection %d of %p has changed\n", selection, ee); +} + +static void +_request_selection(Ecore_Evas *ee, unsigned int seat EINA_UNUSED, Ecore_Evas_Selection_Buffer selection) +{ + const char *types[] = {eina_stringshare_add("text/plain"), eina_stringshare_add("text/plain;charset=utf-8")}; + printf("Selection %d of %p has changed\n", selection, ee); + Eina_Future *future = ecore_evas_selection_get(ee, 0, selection, EINA_C_ARRAY_ITERATOR_NEW(types)); + eina_future_then(future, _deliverty_cb, .data = ((void*)(intptr_t)selection)); +} + +static void +_motion_cb(Ecore_Evas *ee, unsigned int seat EINA_UNUSED, Eina_Position2D p) +{ + printf("Drag and Drop has moved on the window %p (%d, %d)\n", ee, p.x, p.y); +} + +static void +_enter_state_change_cb(Ecore_Evas *ee, unsigned int seat EINA_UNUSED, Eina_Position2D p, Eina_Bool inside) +{ + if (inside) + printf("Drag and Drop has entered the window %p (%d, %d)\n", ee, p.x, p.y); + else + printf("Drag and Drop has left the window %p (%d, %d)\n", ee, p.x, p.y); +} + +static void +_drop_cb(Ecore_Evas *ee, unsigned int seat EINA_UNUSED, Eina_Position2D p, const char *action EINA_UNUSED) +{ + const char *types[] = {eina_stringshare_add("text/plain")}; + printf("Drag and Drop has droped on the window %p (%d, %d)\n", ee, p.x, p.y); + Eina_Future *f = ecore_evas_selection_get(ee, 0, ECORE_EVAS_SELECTION_BUFFER_DRAG_AND_DROP_BUFFER, EINA_C_ARRAY_ITERATOR_NEW(types)); + eina_future_then(f, _deliverty_cb, .data = ((void*)(intptr_t)ECORE_EVAS_SELECTION_BUFFER_DRAG_AND_DROP_BUFFER)); +} + +static void +_efl_ui_terminated(Ecore_Evas *ee EINA_UNUSED, unsigned int seat EINA_UNUSED, void *data, Eina_Bool accepted EINA_UNUSED) +{ + efl_del(data); +} + +static Eo* +_start_dnd(Ecore_Evas *ee) +{ + Ecore_Evas *ee2; + Eina_Content *content = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL("This is sample content"), "text/plain"); + Efl_Ui_Win *win; + Efl_Ui_Button *btn; + + win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get()); + ee2 = ecore_evas_ecore_evas_get(evas_object_evas_get(win)); + + btn = efl_add(EFL_UI_BUTTON_CLASS, win); + efl_text_set(btn, "Test"); + efl_content_set(win, btn); + + evas_object_geometry_set(win, 0, 0, 100, 100); + + ecore_evas_drag_start(ee, 0, content, ee2, "copy", _efl_ui_terminated, win); + + return win; +} + +static void +_start_op(void *data, const Efl_Event *ev EINA_UNUSED) +{ + _start_dnd(data); +} + +static Eina_Value +_delete_cb(Eo *obj, void *data EINA_UNUSED, const Eina_Value value EINA_UNUSED) +{ + Ecore_Evas *ee ; + ee = ecore_evas_ecore_evas_get(evas_object_evas_get(obj)); + + ecore_evas_drag_cancel(ee, 0); + + return EINA_VALUE_EMPTY; +} + +static void +_start_delayed_del_op(void *data, const Efl_Event *ev EINA_UNUSED) +{ + _start_dnd(data); + efl_future_then(ev->object, efl_loop_timeout(efl_main_loop_get(), 2.0), _delete_cb); +} + +EAPI_MAIN void +efl_main(void *data EINA_UNUSED, const Efl_Event *ev) +{ + Efl_Ui_Textbox *txt, *win, *bx, *btn; + Efl_Loop_Arguments *args = ev->info; + char *goal; + + win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get()); + ee = ecore_evas_ecore_evas_get(evas_object_evas_get(win)); + + bx = efl_add(EFL_UI_BOX_CLASS, win); + + txt = efl_add(EFL_UI_TEXTBOX_CLASS, win); + efl_text_set(txt, "Sample for CNP and DND interaction"); + efl_pack_end(bx, txt); + + btn = efl_add(EFL_UI_BUTTON_CLASS, win); + efl_gfx_hint_weight_set(btn, 1.0, 0.0); + efl_event_callback_add(btn, EFL_INPUT_EVENT_PRESSED, _start_op, ee); + efl_text_set(btn, "Start DND op"); + efl_pack_end(bx, btn); + + btn = efl_add(EFL_UI_BUTTON_CLASS, win); + efl_gfx_hint_weight_set(btn, 1.0, 0.0); + efl_event_callback_add(btn, EFL_INPUT_EVENT_PRESSED, _start_delayed_del_op, ee); + efl_text_set(btn, "Start DND op self destroy after 2 sec"); + efl_pack_end(bx, btn); + + efl_content_set(win, bx); + efl_gfx_entity_size_set(win, EINA_SIZE2D(320, 320)); + + goal = eina_array_data_get(args->argv, 1); + + if (eina_streq(goal, "--monitor")) + { + ecore_evas_callback_selection_changed_set(ee, _selection_changed); + ecore_evas_callback_drop_drop_set(ee, _drop_cb); + ecore_evas_callback_drop_motion_set(ee, _motion_cb); + ecore_evas_callback_drop_state_changed_set(ee, _enter_state_change_cb); + } + else if (eina_streq(goal, "--show-selections")) + { + ecore_evas_callback_selection_changed_set(ee, _request_selection); + } + else if (eina_streq(goal, "--set-selection")) + { + if (eina_array_count(args->argv) < 3) + { + printf("Error, --set-selection only requires exactly 1 keyword (The selection to set).\n"); + return; + } + char *selection = eina_array_data_get(args->argv, 2); + Eina_Content *content = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(selection), "text/plain"); + ecore_evas_selection_set(ee, 0, ECORE_EVAS_SELECTION_BUFFER_COPY_AND_PASTE_BUFFER, content); + } + else if (eina_streq(goal, "--show-owner")) + { + for (int i = 0; i < ECORE_EVAS_SELECTION_BUFFER_LAST; ++i) + { + printf("Selection buffer %d : %d\n", i, ecore_evas_selection_exists(ee, 0, i)); + } + } + else + { + printf("Error, goal %s not found\n", goal); + } +} +EFL_MAIN() diff --git a/src/tests/elementary/elm_code_file_test_load.c b/src/tests/elementary/elm_code_file_test_load.c index 31539e9666..44803ba77e 100644 --- a/src/tests/elementary/elm_code_file_test_load.c +++ b/src/tests/elementary/elm_code_file_test_load.c @@ -4,6 +4,10 @@ #include <libgen.h> +#ifdef _WIN32 +# include <evil_private.h> /* realpath() */ +#endif + #include "elm_suite.h" #include "Elementary.h" diff --git a/src/tests/elementary/elm_code_test_basic.c b/src/tests/elementary/elm_code_test_basic.c index 8d4012eef9..e264e62011 100644 --- a/src/tests/elementary/elm_code_test_basic.c +++ b/src/tests/elementary/elm_code_test_basic.c @@ -4,6 +4,10 @@ #include <stdlib.h> +#ifdef _WIN32 +# include <evil_private.h> /* realpath() */ +#endif + #include "elm_suite.h" #include "Elementary.h" diff --git a/src/tests/elementary/elm_test_entry.c b/src/tests/elementary/elm_test_entry.c index 1b383b2936..85ada68a49 100644 --- a/src/tests/elementary/elm_test_entry.c +++ b/src/tests/elementary/elm_test_entry.c @@ -155,28 +155,28 @@ EFL_START_TEST(elm_entry_atspi_text_string_get_char) elm_object_text_set(entry, txt); start = 1; - val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_CHAR, &start, &end); + efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_CHAR, &start, &end, &val); ck_assert_str_eq(val, "o"); ck_assert(start == 1); ck_assert(end == 2); if (val) free(val); start = 8; - val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_CHAR, &start, &end); + efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_CHAR, &start, &end, &val); ck_assert_str_eq(val, "ś"); ck_assert(start == 8); ck_assert(end == 9); if (val) free(val); start = 11; - val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_CHAR, &start, &end); + efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_CHAR, &start, &end, &val); ck_assert_str_eq(val, " "); ck_assert(start == 11); ck_assert(end == 12); if (val) free(val); start = 111; - val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_CHAR, &start, &end); + efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_CHAR, &start, &end, &val); ck_assert(start == -1); ck_assert(end == -1); ck_assert(val == NULL); @@ -198,28 +198,28 @@ EFL_START_TEST(elm_entry_atspi_text_string_get_word) elm_object_text_set(entry, txt); start = 1; - val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_WORD, &start, &end); + efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_WORD, &start, &end, &val); ck_assert_str_eq(val, "Lorem"); ck_assert(start == 0); ck_assert(end == 5); if (val) free(val); start = 6; - val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_WORD, &start, &end); + efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_WORD, &start, &end, &val); ck_assert_str_eq(val, "ipśum"); ck_assert(start == 6); ck_assert(end == 11); if (val) free(val); start = 19; - val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_WORD, &start, &end); + efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_WORD, &start, &end, &val); ck_assert_str_eq(val, "dolor"); ck_assert(start == 14); ck_assert(end == 19); if (val) free(val); start = 111; - val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_WORD, &start, &end); + efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_WORD, &start, &end, &val); ck_assert(start == -1); ck_assert(end == -1); ck_assert(val == NULL); @@ -242,28 +242,28 @@ EFL_START_TEST(elm_entry_atspi_text_string_get_paragraph) elm_object_text_set(entry, txt); start = 1; - val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_PARAGRAPH, &start, &end); + efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_PARAGRAPH, &start, &end, &val); ck_assert_str_eq(val, "Lorem ipśum"); ck_assert(start == 0); ck_assert(end == 11); if (val) free(val); start = 20; - val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_PARAGRAPH, &start, &end); + efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_PARAGRAPH, &start, &end, &val); ck_assert_str_eq(val, " dolor sit"); ck_assert(start == 12); ck_assert(end == 24); if (val) free(val); start = 25; - val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_PARAGRAPH, &start, &end); + efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_PARAGRAPH, &start, &end, &val); ck_assert_str_eq(val, " amęt"); ck_assert(start == 25); ck_assert(end == 30); if (val) free(val); start = 111; - val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_WORD, &start, &end); + efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_WORD, &start, &end, &val); ck_assert(start == -1); ck_assert(end == -1); ck_assert(val == NULL); @@ -288,7 +288,7 @@ EFL_START_TEST(elm_entry_atspi_text_string_get_line) elm_object_text_set(entry, txt); start = 1; - val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_LINE, &start, &end); + efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_LINE, &start, &end, &val); ck_assert_str_eq(val, "Lorem ipśum"); ck_assert(start == 0); @@ -296,7 +296,7 @@ EFL_START_TEST(elm_entry_atspi_text_string_get_line) if (val) free(val); start = 13; - val = efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_LINE, &start, &end); + efl_access_text_string_get(entry, EFL_ACCESS_TEXT_GRANULARITY_LINE, &start, &end, &val); ck_assert_str_eq(val, " dolor sit amęt"); ck_assert(start == 12); ck_assert(end == 29); @@ -480,6 +480,26 @@ EFL_START_TEST(elm_entry_text_set) } EFL_END_TEST +EFL_START_TEST(elm_entry_guide_text_set) +{ + Evas_Object *win, *entry; + const char *markup_text = "<font_size=32 color=#FFF>markup_test</font_size>"; + const char *markup_text2 = "<font_size=24 color=#FFF>test_markup</font_size>"; + + win = win_add(NULL, "entry", ELM_WIN_BASIC); + + entry = elm_entry_add(win); + + elm_object_part_text_set(entry, "elm.guide", markup_text); + elm_entry_editable_set(entry, EINA_FALSE); + ck_assert_str_eq(elm_object_part_text_get(entry, "elm.guide"), markup_text); + + elm_object_part_text_set(entry, "elm.guide", markup_text2); + elm_entry_single_line_set(entry, EINA_FALSE); + ck_assert_str_eq(elm_object_part_text_get(entry, "elm.guide"), markup_text2); +} +EFL_END_TEST + EFL_START_TEST(elm_entry_file_get_set) { Evas_Object *win, *entry; @@ -518,6 +538,143 @@ EFL_START_TEST(elm_entry_file_get_set) } EFL_END_TEST +EFL_START_TEST(elm_entry_test_text_class) +{ + Evas_Object *win, *entry1, *entry2, *entry3, *entry4; + const char *filename = NULL; + int w1 = 0, h1 = 0, w2 = 0, h2 = 0, w3 = 0, h3 = 0; + const char *font; + int font_size; + + win = win_add(NULL, "entry", ELM_WIN_BASIC); + entry1 = elm_entry_add(win); + entry2 = elm_entry_add(win); + entry3 = elm_entry_add(win); + + elm_object_text_set(entry1, "hello"); + elm_object_text_set(entry2, "hello"); + elm_object_text_set(entry3, "hello"); + + edje_object_file_get(elm_layout_edje_get(entry1), &filename, NULL); + ck_assert(filename != NULL); + + ck_assert(edje_file_text_class_set(filename, "entry_text", "Serif:Style=Bold", 24)); + + ck_assert(edje_object_text_class_get(elm_layout_edje_get(entry1), "entry_text", &font, &font_size)); + ck_assert_int_eq(font_size, 24); + ck_assert_str_eq(font, "Serif:Style=Bold"); + ck_assert(edje_object_text_class_get(elm_layout_edje_get(entry2), "entry_text", &font, &font_size)); + ck_assert_int_eq(font_size, 24); + ck_assert_str_eq(font, "Serif:Style=Bold"); + ck_assert(edje_object_text_class_get(elm_layout_edje_get(entry3), "entry_text", &font, &font_size)); + ck_assert_int_eq(font_size, 24); + ck_assert_str_eq(font, "Serif:Style=Bold"); + + evas_object_textblock_size_formatted_get(elm_entry_textblock_get(entry1), &w1, &h1); + evas_object_textblock_size_formatted_get(elm_entry_textblock_get(entry2), &w2, &h2); + evas_object_textblock_size_formatted_get(elm_entry_textblock_get(entry3), &w3, &h3); + + ck_assert_int_eq(w1, w2); + ck_assert_int_eq(h1, h2); + ck_assert_int_eq(w2, w3); + ck_assert_int_eq(h2, h3); + + ck_assert(edje_object_text_class_set(elm_layout_edje_get(entry1), "entry_text", "Sans", 50)); + ck_assert(edje_object_text_class_set(elm_layout_edje_get(entry2), "entry_text", "Serif", 20)); + + ck_assert(edje_object_text_class_get(elm_layout_edje_get(entry1), "entry_text", &font, &font_size)); + ck_assert_int_eq(font_size, 50); + ck_assert_str_eq(font, "Sans"); + ck_assert(edje_object_text_class_get(elm_layout_edje_get(entry2), "entry_text", &font, &font_size)); + ck_assert_int_eq(font_size, 20); + ck_assert_str_eq(font, "Serif"); + ck_assert(edje_object_text_class_get(elm_layout_edje_get(entry3), "entry_text", &font, &font_size)); + ck_assert_int_eq(font_size, 24); + ck_assert_str_eq(font, "Serif:Style=Bold"); + + evas_object_textblock_size_formatted_get(elm_entry_textblock_get(entry1), &w1, &h1); + evas_object_textblock_size_formatted_get(elm_entry_textblock_get(entry2), &w2, &h2); + evas_object_textblock_size_formatted_get(elm_entry_textblock_get(entry3), &w3, &h3); + + ck_assert_int_ne(w1, w2); + ck_assert_int_ne(h1, h2); + ck_assert_int_ne(w2, w3); + ck_assert_int_ne(h2, h3); + + entry4 = elm_entry_add(win); + + elm_object_text_set(entry4, "hello"); + ck_assert(edje_object_text_class_get(elm_layout_edje_get(entry4), "entry_text", &font, &font_size)); + ck_assert_int_eq(font_size, 24); + ck_assert_str_eq(font, "Serif:Style=Bold"); +} +EFL_END_TEST + +EFL_START_TEST(elm_entry_test_burmese) +{ + Evas_Object *win, *textblock; + Evas_Textblock_Style *style; + int w; + + win = win_add(NULL, "entry", ELM_WIN_BASIC); + textblock = evas_object_textblock_add(win); + + style = evas_textblock_style_new(); + evas_textblock_style_set(style, "DEFAULT='font=arial font_size=20 color=red'"); + evas_object_textblock_style_set(textblock, style); + evas_textblock_style_free(style); + style = NULL; + + evas_object_textblock_text_markup_set(textblock, "\u1006\u200C\u1031\u200C\u1031\u200C\u1031"); + evas_object_textblock_size_native_get(textblock, &w, NULL); + ck_assert_int_ne(w, 0); +} +EFL_END_TEST + +EFL_START_TEST(elm_entry_keycode) +{ + Evas_Object *win, *entry; + + win = win_add(NULL, "entry", ELM_WIN_BASIC); + entry = elm_entry_add(win); + evas_object_show(entry); + + elm_entry_entry_set(entry, "Hello World"); + Evas *e = evas_object_evas_get(entry); + elm_object_focus_set(entry, EINA_TRUE); + evas_key_modifier_on(e, "Control"); + evas_event_feed_key_down_with_keycode(e, "", "a", "", "", time(NULL), NULL, 38); + ecore_main_loop_iterate(); + evas_event_feed_key_down(e, "BackSpace", "BackSpace", "\b", "\b", time(NULL), NULL); + ck_assert_str_eq(elm_object_text_get(entry), ""); + + evas_object_del(entry); + evas_object_del(win); +} +EFL_END_TEST + +EFL_START_TEST(elm_entry_textnodes_with_no_format) +{ + Evas_Object *win, *entry; + + win = win_add(NULL, "entry", ELM_WIN_BASIC); + entry = elm_entry_add(win); + evas_object_show(entry); + + elm_entry_entry_set(entry, "<br/><br/>"); + Evas_Object *tb = elm_entry_textblock_get(entry); + Evas_Textblock_Cursor *c1 = evas_object_textblock_cursor_new(tb); + Evas_Textblock_Cursor *c2 = evas_object_textblock_cursor_new(tb); + evas_textblock_cursor_char_next(c2); + evas_textblock_cursor_range_delete(c1, c2); + elm_entry_cursor_pos_set(entry, 0); + ck_assert(elm_entry_cursor_down(entry)); + + evas_object_del(entry); + evas_object_del(win); +} +EFL_END_TEST + void elm_test_entry(TCase *tc) { tcase_add_test(tc, elm_entry_legacy_type_check); @@ -533,6 +690,11 @@ void elm_test_entry(TCase *tc) tcase_add_test(tc, elm_entry_atspi_text_selections); tcase_add_test(tc, elm_atspi_role_get); tcase_add_test(tc, elm_entry_text_set); + tcase_add_test(tc, elm_entry_guide_text_set); tcase_add_test(tc, elm_entry_magnifier); tcase_add_test(tc, elm_entry_file_get_set); + tcase_add_test(tc, elm_entry_test_text_class); + tcase_add_test(tc, elm_entry_test_burmese); + tcase_add_test(tc, elm_entry_keycode); + tcase_add_test(tc, elm_entry_textnodes_with_no_format); } diff --git a/src/tests/elementary/elm_test_hover.c b/src/tests/elementary/elm_test_hover.c index de275216f2..323eb5c8d6 100644 --- a/src/tests/elementary/elm_test_hover.c +++ b/src/tests/elementary/elm_test_hover.c @@ -41,8 +41,56 @@ EFL_START_TEST(elm_atspi_role_get) } EFL_END_TEST +EFL_START_TEST(elm_test_hover_behavior) +{ + Evas_Object *win, *hover, *target, *rect; + int count = 0; + int count_dismiss = 0; + int count_clicked = 0; + + win = win_add(NULL, "hover", ELM_WIN_BASIC); + evas_object_resize(win, 100, 100); + + hover = elm_hover_add(win); + evas_object_smart_callback_add(hover, "smart,changed", event_callback_that_increments_an_int_when_called, &count); + evas_object_smart_callback_add(hover, "dismissed", event_callback_single_call_int_data, &count_dismiss); + evas_object_smart_callback_add(hover, "clicked", event_callback_single_call_int_data, &count_clicked); + + target = elm_box_add(win); + + elm_hover_parent_set(hover, win); + elm_hover_target_set(hover, target); + + rect = evas_object_rectangle_add(evas_object_evas_get(win)); + evas_object_size_hint_min_set(rect, 20, 20); + evas_object_show(rect); + elm_object_part_content_set(hover, "smart", rect); + + evas_object_move(target, 40, 40); + evas_object_show(win); + evas_object_show(hover); + get_me_to_those_events(hover); + + /* 1 from setting content, 1 from moving target object */ + ck_assert_int_eq(count, 2); + + assert_object_size_eq(rect, 20, 20); + assert_object_size_eq(hover, 0, 0); + assert_object_pos_eq(hover, 40, 40); + /* using non-centered slot */ + assert_object_pos_eq(rect, 40, 30); + + elm_hover_dismiss(hover); + get_me_to_those_events(hover); + /* these are both triggered on dismiss */ + ck_assert_int_eq(count_dismiss, 1); + ck_assert_int_eq(count_clicked, 1); +} +EFL_END_TEST + void elm_test_hover(TCase *tc) { tcase_add_test(tc, elm_hover_legacy_type_check); tcase_add_test(tc, elm_atspi_role_get); + tcase_add_test(tc, elm_test_hover_behavior); } diff --git a/src/tests/elementary/elm_test_hoversel.c b/src/tests/elementary/elm_test_hoversel.c index 91de6afee0..e00a073b09 100644 --- a/src/tests/elementary/elm_test_hoversel.c +++ b/src/tests/elementary/elm_test_hoversel.c @@ -6,6 +6,9 @@ #include <Elementary.h> #include "elm_suite.h" +#include "elm_priv.h" +#include "elm_widget_hoversel.h" + EFL_START_TEST(elm_hoversel_legacy_type_check) { Evas_Object *win, *hoversel; @@ -41,8 +44,115 @@ EFL_START_TEST(elm_atspi_role_get) } EFL_END_TEST +EFL_START_TEST(elm_test_hoversel_behavior) +{ + Eo *hoversel, *win = win_add(); + unsigned int i; + const char *callbacks[] = + { + "expanded", + "clicked", + "selected", + "item,focused", + "item,unfocused", + "dismissed", + }; + int count[EINA_C_ARRAY_LENGTH(callbacks)] = {0}; + + evas_object_resize(win, 500, 500); + hoversel = elm_hoversel_add(win); + evas_object_geometry_set(hoversel, 25, 25, 50, 50); + elm_hoversel_hover_parent_set(hoversel, win); + elm_object_text_set(hoversel, "Vertical"); + elm_hoversel_item_add(hoversel, "Item 1", NULL, ELM_ICON_NONE, NULL, NULL); + elm_hoversel_item_add(hoversel, "Item 2", NULL, ELM_ICON_NONE, NULL, NULL); + elm_hoversel_item_add(hoversel, "Item 3", NULL, ELM_ICON_NONE, NULL, NULL); + elm_hoversel_item_add(hoversel, "Item 4 - Long Label Here", "close", ELM_ICON_STANDARD, NULL, NULL); + + evas_object_show(win); + evas_object_show(hoversel); + elm_object_focus_set(hoversel, EINA_TRUE); + for (i = 0; i < EINA_C_ARRAY_LENGTH(count); i++) + { + evas_object_smart_callback_add(hoversel, callbacks[i], + (void*)event_callback_single_call_int_data, &count[i]); + } + evas_object_smart_callback_add(hoversel, "dismissed", + (void*)event_callback_that_quits_the_main_loop_when_called, NULL); + get_me_to_those_events(win); + assert_object_size_eq(hoversel, 50, 50); + click_object(hoversel); + get_me_to_those_events(win); + + /* expanded */ + ck_assert_int_eq(count[0], 1); + wait_timer(0.6); // from default theme + ecore_main_loop_iterate(); + + ELM_HOVERSEL_DATA_GET(hoversel, sd); + click_object(eina_list_data_get(elm_box_children_get(sd->bx))); + get_me_to_those_events(win); + + /* clicked */ + ck_assert_int_eq(count[1], 1); + /* selected */ + ck_assert_int_eq(count[2], 1); + /* item,focused */ + ck_assert_int_eq(count[3], 1); + /* item,focused */ + ck_assert_int_eq(count[4], 1); + ecore_main_loop_begin(); + + /* dismissed */ + ck_assert_int_eq(count[5], 1); +} +EFL_END_TEST + +EFL_START_TEST(elm_test_hoversel_position) +{ + Eo *hoversel, *win = win_add(); + + evas_object_resize(win, 500, 500); + hoversel = elm_hoversel_add(win); + evas_object_geometry_set(hoversel, 450, 450, 50, 50); + elm_hoversel_hover_parent_set(hoversel, win); + elm_object_text_set(hoversel, "Vertical"); + elm_hoversel_item_add(hoversel, "Item 1", NULL, ELM_ICON_NONE, NULL, NULL); + elm_hoversel_item_add(hoversel, "Item 2", NULL, ELM_ICON_NONE, NULL, NULL); + elm_hoversel_item_add(hoversel, "Item 3", NULL, ELM_ICON_NONE, NULL, NULL); + elm_hoversel_item_add(hoversel, "Item 4 - Long Label Here", "close", ELM_ICON_STANDARD, NULL, NULL); + + evas_object_show(win); + evas_object_show(hoversel); + elm_object_focus_set(hoversel, EINA_TRUE); + + get_me_to_those_events(win); + assert_object_size_eq(hoversel, 50, 50); + click_object(hoversel); + get_me_to_those_events(win); + + wait_timer(0.6); // from default theme + ecore_main_loop_iterate(); + + ELM_HOVERSEL_DATA_GET(hoversel, sd); + { + int x, y, w, h; + Eo *item = eina_list_data_get(elm_box_children_get(sd->bx)); + evas_object_geometry_get(item, &x, &y, &w, &h); + + /* verify that all buttons are in-canvas */ + ck_assert_int_le(x + w, 500); + ck_assert_int_le(y + h, 500); + } + + evas_object_del(hoversel); +} +EFL_END_TEST + void elm_test_hoversel(TCase *tc) { tcase_add_test(tc, elm_hoversel_legacy_type_check); tcase_add_test(tc, elm_atspi_role_get); + tcase_add_test(tc, elm_test_hoversel_behavior); + tcase_add_test(tc, elm_test_hoversel_position); } diff --git a/src/tests/elementary/elm_test_icon.c b/src/tests/elementary/elm_test_icon.c index 517ace64a2..cf5329cc25 100644 --- a/src/tests/elementary/elm_test_icon.c +++ b/src/tests/elementary/elm_test_icon.c @@ -41,8 +41,34 @@ EFL_START_TEST(elm_atspi_role_get) } EFL_END_TEST +EFL_START_TEST(elm_test_icon_set) +{ + Evas_Object *win, *image; + Eina_Bool ok; + const char *icon_name; + + win = win_add(NULL, "icon", ELM_WIN_BASIC); + + image = elm_icon_add(win); + evas_object_show(image); + + ok = elm_icon_standard_set(image, "folder"); + ck_assert(ok); + icon_name = elm_icon_standard_get(image); + ck_assert_str_eq(icon_name, "folder"); + + ok = elm_icon_standard_set(image, "None"); + ck_assert(ok == 0); + icon_name = elm_icon_standard_get(image); + /* elm_icon only changes internal name on success */ + ck_assert_str_eq(icon_name, "folder"); + +} +EFL_END_TEST + void elm_test_icon(TCase *tc) { tcase_add_test(tc, elm_icon_legacy_type_check); tcase_add_test(tc, elm_atspi_role_get); + tcase_add_test(tc, elm_test_icon_set); } diff --git a/src/tests/elementary/elm_test_image.c b/src/tests/elementary/elm_test_image.c index 6d6ff52f6f..25aac89a42 100644 --- a/src/tests/elementary/elm_test_image.c +++ b/src/tests/elementary/elm_test_image.c @@ -18,6 +18,34 @@ struct _Test_Data int success; }; +static int +_file_to_memory(const char *filename, char **result) +{ + int size; + FILE *f; + + f = fopen(filename, "rb"); + if (f == NULL) + { + *result = NULL; + return -1; + } + + fseek(f, 0, SEEK_END); + size = ftell(f); + fseek(f, 0, SEEK_SET); + *result = (char *)malloc(size + 1); + if ((size_t)size != fread(*result, sizeof(char), size, f)) + { + free(*result); + fclose(f); + return -1; + } + fclose(f); + (*result)[size] = 0; + return size; +} + EFL_START_TEST(elm_image_legacy_type_check) { Evas_Object *win, *image; @@ -227,30 +255,109 @@ EFL_START_TEST(elm_image_evas_image_get) } EFL_END_TEST -EFL_START_TEST(efl_ui_image_icon) +EFL_START_TEST(elm_image_test_memfile_set) +{ + Evas_Object *win, *image, *image2; + char *mem; + int size; + const char *file = NULL; + int error_called = 0; + + win = win_add(NULL, "image", ELM_WIN_BASIC); + + image = elm_image_add(win); + ck_assert(elm_image_file_set(image, ELM_IMAGE_DATA_DIR"/images/icon_01.png", NULL)); + size = _file_to_memory(ELM_IMAGE_DATA_DIR"/images/icon_02.png", &mem); + ck_assert_int_ge(size, 0); + ck_assert(elm_image_memfile_set(image, mem, size, "png", NULL)); + elm_image_file_get(image, &file, NULL); + ck_assert_str_ne(file, ELM_IMAGE_DATA_DIR"/images/icon_01.png"); + ck_assert(elm_image_file_set(image, ELM_IMAGE_DATA_DIR"/images/icon_01.png", NULL)); + elm_image_file_get(image, &file, NULL); + ck_assert_str_eq(file, ELM_IMAGE_DATA_DIR"/images/icon_01.png"); + + image2 = elm_image_add(win); + evas_object_smart_callback_add(image2, "load,ready", event_callback_that_quits_the_main_loop_when_called, NULL); + evas_object_smart_callback_add(image2, "load,error", event_callback_single_call_int_data, &error_called); + ck_assert(elm_image_memfile_set(image2, mem, size, "png", NULL)); + ck_assert_int_eq(error_called, 0); + ecore_main_loop_begin(); + + ck_assert_int_eq(error_called, 0); +} +EFL_END_TEST + +EFL_START_TEST(elm_image_test_scale_method) { Evas_Object *win, *image; - Eina_Bool ok; - const char *icon_name; + int w, h; win = win_add(NULL, "image", ELM_WIN_BASIC); + evas_object_resize(win, 100, 100); - image = efl_add(EFL_UI_IMAGE_CLASS, win); + image = elm_image_add(win); + ck_assert(elm_image_file_set(image, ELM_IMAGE_DATA_DIR"/images/logo.png", NULL)); + evas_object_size_hint_align_set(image, 0.5, 0.0); + efl_gfx_image_scale_method_set(image, EFL_GFX_IMAGE_SCALE_METHOD_FIT_WIDTH); + evas_object_resize(image, 100, 100); evas_object_show(image); + evas_object_show(win); + get_me_to_those_events(win); + evas_object_geometry_get(image, NULL, NULL, &w, &h); + ck_assert_int_eq(w, 100); + ck_assert_int_eq(h, 100); + evas_object_geometry_get(elm_image_object_get(image), NULL, NULL, &w, &h); + ck_assert_int_eq(w, 100); + ck_assert_int_eq(h, 100); +} +EFL_END_TEST - ok = efl_ui_image_icon_set(image, "folder"); - ck_assert(ok); - icon_name = efl_ui_image_icon_get(image); - ck_assert_str_eq(icon_name, "folder"); +#ifdef BUILD_LOADER_GIF +static void +_test_render(void *data, Evas *e EINA_UNUSED, void *event_info) +{ + int *pass = data; + Evas_Event_Render_Post *ev = event_info; + *pass = eina_list_count(ev->updated_area); + ecore_main_loop_quit(); +} + +static void +_test_preload(void *data, Evas *e, Evas_Object *obj, void *event_info EINA_UNUSED) +{ + if (evas_object_image_load_error_get(obj) == EVAS_LOAD_ERROR_NONE) + evas_event_callback_add(e, EVAS_CALLBACK_RENDER_POST, _test_render, data); + else + ecore_main_loop_quit(); +} - ok = efl_ui_image_icon_set(image, "None"); - ck_assert(ok == 0); - icon_name = efl_ui_image_icon_get(image); - ck_assert(icon_name == NULL); +EFL_START_TEST(elm_image_test_gif) +{ + Evas_Object *win, *image; + int pass = 0; + + win = win_add(NULL, "image", ELM_WIN_BASIC); + + image = elm_image_add(win); + evas_object_resize(win, 100, 100); + evas_object_resize(image, 100, 100); + evas_object_show(win); + evas_object_show(image); + get_me_to_those_events(win); + ck_assert(elm_image_file_set(image, ELM_IMAGE_DATA_DIR"/images/fire.gif", NULL)); + elm_image_animated_set(image, EINA_TRUE); + elm_image_animated_play_set(image, EINA_TRUE); + evas_object_event_callback_add(elm_image_object_get(image), EVAS_CALLBACK_IMAGE_PRELOADED, _test_preload, &pass); + /* verify that we haven't tried to set a frame with index 0, as this is an error */ + ck_assert_int_gt(evas_object_image_animated_frame_get(elm_image_object_get(image)), 0); + ecore_main_loop_begin(); + ck_assert_int_gt(pass, 0); } EFL_END_TEST +#endif + void elm_test_image(TCase *tc) { tcase_add_test(tc, elm_image_legacy_type_check); @@ -259,5 +366,9 @@ void elm_test_image(TCase *tc) tcase_add_test(tc, elm_image_async_mmap); tcase_add_test(tc, elm_image_evas_object_color_set); tcase_add_test(tc, elm_image_evas_image_get); - tcase_add_test(tc, efl_ui_image_icon); + tcase_add_test(tc, elm_image_test_memfile_set); + tcase_add_test(tc, elm_image_test_scale_method); +#ifdef BUILD_LOADER_GIF + tcase_add_test(tc, elm_image_test_gif); +#endif } diff --git a/src/tests/elementary/elm_test_list.c b/src/tests/elementary/elm_test_list.c index d15fb249f7..ab5b5ed20c 100644 --- a/src/tests/elementary/elm_test_list.c +++ b/src/tests/elementary/elm_test_list.c @@ -242,6 +242,100 @@ EFL_START_TEST(elm_atspi_children_parent) } EFL_END_TEST +#define NUM_ITEMS 10 +EFL_START_TEST(elm_list_test_callbacks) +{ + Evas_Object *win, *list; + unsigned int i; + int count[NUM_ITEMS] = {0}; + Elm_Object_Item *it; + int selected = 0, unselected = 0; + int highlighted = 0, unhighlighted = 0; + + win = win_add(NULL, "list", ELM_WIN_BASIC); + evas_object_resize(win, 100, 100); + + list = elm_list_add(win); + evas_object_smart_callback_add(list, "selected", (void*)event_callback_that_increments_an_int_when_called, &selected); + evas_object_smart_callback_add(list, "unselected", (void*)event_callback_that_increments_an_int_when_called, &unselected); + evas_object_smart_callback_add(list, "highlighted", (void*)event_callback_that_increments_an_int_when_called, &highlighted); + evas_object_smart_callback_add(list, "unhighlighted", (void*)event_callback_that_increments_an_int_when_called, &unhighlighted); + evas_object_resize(list, 100, 100); + for (i = 0; i < NUM_ITEMS; i++) + elm_list_item_append(list, "item", NULL, NULL, (void*)event_callback_single_call_int_data, &(count[i])); + + elm_list_go(list); + evas_object_show(list); + evas_object_show(win); + get_me_to_those_events(win); + + for (i = 0, it = elm_list_first_item_get(list); i < NUM_ITEMS; i++, it = elm_list_item_next(it)) + { + elm_list_item_selected_set(it, EINA_TRUE); + ck_assert_int_eq(count[i], 1); + + ck_assert_int_eq(selected, i + 1); + ck_assert_int_eq(unselected, i); + + ck_assert_int_eq(highlighted, i + 1); + ck_assert_int_eq(unhighlighted, i); + } + ck_assert_int_eq(selected, 10); + ck_assert_int_eq(unselected, 9); + + ck_assert_int_eq(highlighted, 10); + ck_assert_int_eq(unhighlighted, 9); + + /* weird SIGILL in shutdown if the list isn't deleted here */ + evas_object_del(list); +} +EFL_END_TEST + +static Eo * +create_content_with_size(Eo *parent, int mw, int mh) +{ + Evas *e = evas_object_evas_get(parent); + Eo *rect = evas_object_rectangle_add(e); + + evas_object_size_hint_min_set(rect, mw, mh); + evas_object_show(rect); + + return rect; +} + +EFL_START_TEST(elm_list_test_sizing) +{ + Evas_Object *win, *list; + unsigned int i; + int count[NUM_ITEMS] = {0}; + Elm_Object_Item *it; + + win = win_add(NULL, "list", ELM_WIN_BASIC); + evas_object_resize(win, 100, 100); + + list = elm_list_add(win); + evas_object_resize(list, 100, 100); + for (i = 0; i < NUM_ITEMS; i++) + elm_list_item_append(list, "item", create_content_with_size(list, i * 5, i * 5), NULL, (void*)event_callback_single_call_int_data, &(count[i])); + + elm_list_go(list); + evas_object_show(list); + evas_object_show(win); + get_me_to_those_events(win); + + for (i = 0, it = elm_list_first_item_get(list); i < NUM_ITEMS; i++, it = elm_list_item_next(it)) + { + Eo *rect = elm_object_item_content_get(it); + ck_assert(rect); + /* list is always homogeneous, so these should all have the size of the largest min size */ + assert_object_size_eq(rect, (NUM_ITEMS - 1) * 5, (NUM_ITEMS - 1) * 5); + } + + /* weird SIGILL in shutdown if the list isn't deleted here */ + evas_object_del(list); +} +EFL_END_TEST + void elm_test_list(TCase *tc) { tcase_add_test(tc, elm_list_legacy_type_check); @@ -256,4 +350,6 @@ void elm_test_list(TCase *tc) tcase_add_test(tc, elm_list_atspi_selection_child_deselect); #endif tcase_add_test(tc, elm_atspi_children_parent); + tcase_add_test(tc, elm_list_test_callbacks); + tcase_add_test(tc, elm_list_test_sizing); } diff --git a/src/tests/elementary/elm_test_naviframe.c b/src/tests/elementary/elm_test_naviframe.c index 01f5dfc011..4f1b6d29ae 100644 --- a/src/tests/elementary/elm_test_naviframe.c +++ b/src/tests/elementary/elm_test_naviframe.c @@ -110,10 +110,68 @@ EFL_START_TEST(elm_naviframe_test_content_preserve_on_pop) } EFL_END_TEST +static Eo * +create_content(Eo *parent) +{ + Eo *content = elm_layout_add(parent); + + evas_object_size_hint_min_set(content, 50, 50); + + return content; +} + +#define NUM_ITEMS 10 +EFL_START_TEST(elm_naviframe_test_behavior) +{ + Evas_Object *win, *naviframe; + //int title_transition = 0; + int title_clicked = 0; + Elm_Object_Item *active_it = NULL; + Elm_Object_Item *it[NUM_ITEMS]; + int i; + + win = win_add(NULL, "naviframe", ELM_WIN_BASIC); + evas_object_resize(win, 500, 500); + + naviframe = elm_naviframe_add(win); + //this seems broken beyond space and time + //evas_object_smart_callback_add(naviframe, "title,transition,finished", event_callback_single_call_int_data, &title_transition); + evas_object_smart_callback_add(naviframe, "title,clicked", event_callback_single_call_int_data, &title_clicked); + evas_object_smart_callback_add(naviframe, "transition,finished", event_callback_that_quits_the_main_loop_when_called, NULL); + evas_object_smart_callback_add(naviframe, "item,activated", smart_callback_that_stores_event_info_to_data, &active_it); + evas_object_resize(naviframe, 500, 500); + evas_object_show(naviframe); + + for (i = 0; i < NUM_ITEMS; i++) + { + char buf[12]; + snprintf(buf, sizeof(buf), "page%d", i); + it[i] = elm_naviframe_item_push(naviframe, buf, NULL, NULL, create_content(naviframe), NULL); + elm_naviframe_item_title_enabled_set(it[i], EINA_TRUE, EINA_TRUE); + } + ck_assert_ptr_eq(it[0], active_it); + + evas_object_show(win); + get_me_to_those_events(win); + + ecore_main_loop_begin(); + + ck_assert_ptr_eq(it[9], active_it); + click_part(naviframe, "elm.text.title"); + get_me_to_those_events(win); + ck_assert_int_eq(title_clicked, 1); + + click_part(naviframe, "elm.swallow.prev_btn"); + ecore_main_loop_begin(); + /* reaching this point verifies that the back button works */ +} +EFL_END_TEST + void elm_test_naviframe(TCase *tc) { tcase_add_test(tc, elm_naviframe_test_legacy_type_check); tcase_add_test(tc, elm_naviframe_test_atspi_role_get); tcase_add_test(tc, elm_naviframe_test_content_preserve_on_pop); + tcase_add_test(tc, elm_naviframe_test_behavior); } diff --git a/src/tests/elementary/elm_test_slider.c b/src/tests/elementary/elm_test_slider.c index 337b75444c..50f806994f 100644 --- a/src/tests/elementary/elm_test_slider.c +++ b/src/tests/elementary/elm_test_slider.c @@ -43,7 +43,7 @@ EFL_END_TEST EFL_START_TEST(elm_slider_in_scroller) { - Evas_Object *win, *slider, *box, *scroller, *fslider; + Evas_Object *win, *slider, *box, *scroller, *fslider = NULL; Evas *e; win = win_add(NULL, "slider", ELM_WIN_BASIC); diff --git a/src/tests/elementary/elm_test_spinner.c b/src/tests/elementary/elm_test_spinner.c index 99c3696188..76ec9d34e4 100644 --- a/src/tests/elementary/elm_test_spinner.c +++ b/src/tests/elementary/elm_test_spinner.c @@ -65,11 +65,11 @@ EFL_START_TEST(elm_spinner_focus_next_object) elm_object_focus_set(spinner, EINA_TRUE); - elm_object_focus_next_object_set(spinner, btn, EFL_UI_FOCUS_DIRECTION_UP); - o = elm_object_focus_next_object_get(spinner, EFL_UI_FOCUS_DIRECTION_UP); + elm_object_focus_next_object_set(spinner, btn, ELM_FOCUS_UP); + o = elm_object_focus_next_object_get(spinner, ELM_FOCUS_UP); ck_assert_ptr_eq(o, btn); - elm_object_focus_next(win, EFL_UI_FOCUS_DIRECTION_UP); + elm_object_focus_next(win, ELM_FOCUS_UP); ck_assert_ptr_eq(elm_object_focused_object_get(win), btn); } EFL_END_TEST diff --git a/src/tests/elementary/emoji_wink.json b/src/tests/elementary/emoji_wink.json new file mode 100644 index 0000000000..29b39a5369 --- /dev/null +++ b/src/tests/elementary/emoji_wink.json @@ -0,0 +1 @@ +{"v":"4.5.7","fr":30,"ip":0,"op":60,"w":100,"h":100,"ddd":0,"assets":[{"id":"comp_38","layers":[{"ddd":0,"ind":0,"ty":4,"nm":"round_normal","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[50,50,0]},"a":{"a":0,"k":[-252,-412,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-17.673,0],[0,-17.673],[17.673,0],[0,17.673]],"o":[[17.673,0],[0,17.673],[-17.673,0],[0,-17.673]],"v":[[-252,-444],[-220,-412],[-252,-380],[-284,-412]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,0.88,0.59,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":300,"st":0,"bm":0,"sr":1}]}],"layers":[{"ddd":0,"ind":0,"ty":4,"nm":"eyes_normal","parent":2,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[50,45.5,0]},"a":{"a":0,"k":[-252,-416.5,0]},"s":{"a":1,"k":[{"i":{"x":[0.516,0.831,0.667],"y":[0.516,1,0.667]},"o":{"x":[0.75,0.705,0.333],"y":[0.75,0,0.333]},"n":["0p516_0p516_0p75_0p75","0p831_1_0p705_0","0p667_0p667_0p333_0p333"],"t":40,"s":[100,100,100],"e":[100,0,100]},{"i":{"x":[0.667,0.667,0.667],"y":[0.667,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0.333,0,0.333]},"n":["0p667_0p667_0p333_0p333","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":45,"s":[100,0,100],"e":[100,110,100]},{"i":{"x":[0.298,0.276,0.667],"y":[0.298,1,0.667]},"o":{"x":[0.038,0.105,0.333],"y":[0.038,0,0.333]},"n":["0p298_0p298_0p038_0p038","0p276_1_0p105_0","0p667_0p667_0p333_0p333"],"t":50,"s":[100,110,100],"e":[100,98,100]},{"i":{"x":[0.667,0.667,0.667],"y":[0.667,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0.333,0,0.333]},"n":["0p667_0p667_0p333_0p333","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":55,"s":[100,98,100],"e":[100,100,100]},{"t":60}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.313,"y":1},"o":{"x":0.467,"y":0},"n":"0p313_1_0p467_0","t":6,"s":[{"i":[[-1.933,0],[0,-1.933],[1.933,0],[0,1.933]],"o":[[1.933,0],[0,1.933],[-1.933,0],[0,-1.933]],"v":[[-237.5,-420],[-234,-416.5],[-237.5,-413],[-241,-416.5]],"c":true}],"e":[{"i":[[-1.933,0],[-0.312,-1.313],[1.933,0],[0,1.062]],"o":[[1.933,0],[0.174,0.732],[-1.933,0],[0,-1.25]],"v":[[-237.437,-418],[-231.25,-415.875],[-237.5,-416.938],[-243.188,-415.937]],"c":true}]},{"i":{"x":0.395,"y":1},"o":{"x":0.716,"y":0},"n":"0p395_1_0p716_0","t":16,"s":[{"i":[[-1.933,0],[-0.312,-1.313],[1.933,0],[0,1.062]],"o":[[1.933,0],[0.174,0.732],[-1.933,0],[0,-1.25]],"v":[[-237.437,-418],[-231.25,-415.875],[-237.5,-416.938],[-243.188,-415.937]],"c":true}],"e":[{"i":[[-1.933,0],[0,-1.933],[1.933,0],[0,1.933]],"o":[[1.933,0],[0,1.933],[-1.933,0],[0,-1.933]],"v":[[-237.5,-420],[-234,-416.5],[-237.5,-413],[-241,-416.5]],"c":true}]},{"t":29}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ind":1,"ty":"sh","ks":{"a":0,"k":{"i":[[-1.933,0],[0,-1.933],[1.933,0],[0,1.933]],"o":[[1.933,0],[0,1.933],[-1.933,0],[0,-1.933]],"v":[[-266.5,-420],[-263,-416.5],[-266.5,-413],[-270,-416.5]],"c":true}},"nm":"Path 2","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.33,0.33,0.28,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":4,"mn":"ADBE Vector Group"}],"ip":0,"op":61,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"mouth_smile","parent":2,"ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.25],"y":[1]},"o":{"x":[0.75],"y":[0]},"n":["0p25_1_0p75_0"],"t":4,"s":[0],"e":[-15]},{"i":{"x":[0.25],"y":[1]},"o":{"x":[0.75],"y":[0]},"n":["0p25_1_0p75_0"],"t":15,"s":[-15],"e":[0]},{"t":30}]},"p":{"a":0,"k":[50.862,57.489,0]},"a":{"a":0,"k":[-251.138,-404.511,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":1,"k":[{"i":{"x":0.292,"y":1},"o":{"x":0.506,"y":0},"n":"0p292_1_0p506_0","t":0,"s":[{"i":[[6.254,0],[2.91,1.715],[-0.616,0.558],[-0.707,-0.436],[-2.276,0],[-3.615,1.995],[-0.52,-0.71],[0.737,-0.384]],"o":[[-6.249,0],[-0.716,-0.422],[0.615,-0.558],[3.273,2.017],[2.662,0],[0.728,-0.402],[0.324,0.602],[-3.252,1.696]],"v":[[-252.006,-391.01],[-263.629,-394.434],[-263.522,-396.373],[-261.398,-396.454],[-252.006,-394.02],[-242.635,-396.433],[-240.261,-396.227],[-240.405,-394.414]],"c":true}],"e":[{"i":[[6.233,0],[4.195,4.639],[-0.616,0.558],[-0.558,-0.615],[-5.401,0],[-3.206,6.717],[-0.615,-0.557],[0.338,-0.759]],"o":[[-6.249,0],[-0.557,-0.616],[0.615,-0.558],[3.626,4.01],[4.636,0],[0.358,-0.75],[0.616,0.557],[-2.811,6.323]],"v":[[-252.044,-390.197],[-266.129,-396.746],[-266.022,-398.873],[-263.898,-398.767],[-252.076,-392.959],[-239.687,-401.031],[-237.564,-401.138],[-237.457,-399.012]],"c":true}]},{"i":{"x":0.564,"y":1},"o":{"x":0.571,"y":0},"n":"0p564_1_0p571_0","t":15,"s":[{"i":[[6.233,0],[4.195,4.639],[-0.616,0.558],[-0.558,-0.615],[-5.401,0],[-3.206,6.717],[-0.615,-0.557],[0.338,-0.759]],"o":[[-6.249,0],[-0.557,-0.616],[0.615,-0.558],[3.626,4.01],[4.636,0],[0.358,-0.75],[0.616,0.557],[-2.811,6.323]],"v":[[-252.044,-390.197],[-266.129,-396.746],[-266.022,-398.873],[-263.898,-398.767],[-252.076,-392.959],[-239.687,-401.031],[-237.564,-401.138],[-237.457,-399.012]],"c":true}],"e":[{"i":[[6.254,0],[2.91,1.715],[-0.616,0.558],[-0.707,-0.436],[-2.276,0],[-3.615,1.995],[-0.52,-0.71],[0.737,-0.384]],"o":[[-6.249,0],[-0.716,-0.422],[0.615,-0.558],[3.273,2.017],[2.662,0],[0.728,-0.402],[0.324,0.602],[-3.252,1.696]],"v":[[-252.006,-391.01],[-263.629,-394.434],[-263.522,-396.373],[-261.398,-396.454],[-252.006,-394.02],[-242.635,-396.433],[-240.261,-396.227],[-240.405,-394.414]],"c":true}]},{"i":{"x":0.681,"y":0.833},"o":{"x":0.546,"y":0},"n":"0p681_0p833_0p546_0","t":30,"s":[{"i":[[6.254,0],[2.91,1.715],[-0.616,0.558],[-0.707,-0.436],[-2.276,0],[-3.615,1.995],[-0.52,-0.71],[0.737,-0.384]],"o":[[-6.249,0],[-0.716,-0.422],[0.615,-0.558],[3.273,2.017],[2.662,0],[0.728,-0.402],[0.324,0.602],[-3.252,1.696]],"v":[[-252.006,-391.01],[-263.629,-394.434],[-263.522,-396.373],[-261.398,-396.454],[-252.006,-394.02],[-242.635,-396.433],[-240.261,-396.227],[-240.405,-394.414]],"c":true}],"e":[{"i":[[6.254,0],[2.91,1.715],[-0.616,0.558],[-0.734,-0.389],[-2.276,0],[-3.487,2.248],[-0.52,-0.71],[0.673,-0.488]],"o":[[-6.249,0],[-0.716,-0.422],[0.615,-0.558],[3.089,1.638],[2.662,0],[0.699,-0.451],[0.324,0.602],[-2.905,2.105]],"v":[[-252.006,-391.01],[-264.507,-394.555],[-264.401,-396.494],[-262.276,-396.576],[-252.006,-394.02],[-242.076,-396.998],[-239.702,-396.793],[-239.845,-394.98]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.497,"y":0.261},"n":"0p667_1_0p497_0p261","t":40,"s":[{"i":[[6.254,0],[2.91,1.715],[-0.616,0.558],[-0.734,-0.389],[-2.276,0],[-3.487,2.248],[-0.52,-0.71],[0.673,-0.488]],"o":[[-6.249,0],[-0.716,-0.422],[0.615,-0.558],[3.089,1.638],[2.662,0],[0.699,-0.451],[0.324,0.602],[-2.905,2.105]],"v":[[-252.006,-391.01],[-264.507,-394.555],[-264.401,-396.494],[-262.276,-396.576],[-252.006,-394.02],[-242.076,-396.998],[-239.702,-396.793],[-239.845,-394.98]],"c":true}],"e":[{"i":[[6.254,0],[2.91,1.715],[-0.616,0.558],[-0.707,-0.436],[-2.276,0],[-3.615,1.995],[-0.52,-0.71],[0.737,-0.384]],"o":[[-6.249,0],[-0.716,-0.422],[0.615,-0.558],[3.273,2.017],[2.662,0],[0.728,-0.402],[0.324,0.602],[-3.252,1.696]],"v":[[-252.006,-391.01],[-263.629,-394.434],[-263.522,-396.373],[-261.398,-396.454],[-252.006,-394.02],[-242.635,-396.433],[-240.261,-396.227],[-240.405,-394.414]],"c":true}]},{"t":60}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.33,0.33,0.28,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":61,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":0,"nm":"base_normal","refId":"comp_38","ks":{"o":{"a":0,"k":100},"r":{"a":1,"k":[{"i":{"x":[0.273],"y":[1]},"o":{"x":[0.464],"y":[0]},"n":["0p273_1_0p464_0"],"t":4,"s":[0],"e":[13]},{"i":{"x":[0.532],"y":[1]},"o":{"x":[0.578],"y":[0]},"n":["0p532_1_0p578_0"],"t":19,"s":[13],"e":[0]},{"t":40}]},"p":{"a":0,"k":[50,50,0]},"a":{"a":0,"k":[50,50,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"w":100,"h":100,"ip":0,"op":61,"st":0,"bm":0,"sr":1}]}
\ No newline at end of file diff --git a/src/tests/elementary/meson.build b/src/tests/elementary/meson.build index 7c7c62fdac..273ee418dc 100644 --- a/src/tests/elementary/meson.build +++ b/src/tests/elementary/meson.build @@ -1,4 +1,7 @@ priv_eo_files = [ + 'custom_gesture.eo', + 'custom_recognizer.eo', + 'custom_recognizer2.eo', 'focus_test.eo', 'focus_test_sub_main.eo', 'focus_manager_test.eo' @@ -105,7 +108,7 @@ elementary_suite_src = [ elementary_suite = executable('elementary_suite', elementary_suite_src, - dependencies: [check, eina, elementary, elementary_deps], + dependencies: [check, eina, elementary, elementary_deps, intl], include_directories : [config_dir] + [elementary_config_dir], c_args : [ '-DTESTS_BUILD_DIR="'+meson.current_build_dir()+'"', @@ -129,6 +132,7 @@ efl_ui_suite_src = [ 'efl_ui_test_focus_common.h', 'efl_ui_test_focus.c', 'efl_ui_test_focus_sub.c', + 'efl_ui_test_gesture.c', 'efl_ui_test_box.c', 'efl_ui_test_box_flow.c', 'efl_ui_test_box_stack.c', @@ -150,6 +154,7 @@ efl_ui_suite_src = [ 'efl_ui_test_slider.c', 'efl_ui_test_collection_common.c', 'efl_ui_test_collection.c', + 'efl_ui_test_collection_view.c', 'efl_ui_test_list_collection.c', 'efl_ui_test_grid_collection.c', 'efl_ui_test_position_manager_common.c', @@ -159,11 +164,15 @@ efl_ui_suite_src = [ 'efl_ui_test_view_model.c', 'efl_ui_test_group_item.c', 'efl_ui_test_text.c', + 'efl_ui_test_vg_animation.c', + 'custom_gesture.c', + 'custom_recognizer.c', + 'custom_recognizer2.c', ] efl_ui_suite = executable('efl_ui_suite', efl_ui_suite_src, priv_eo_file_target, - dependencies: [check, eina, elementary, elementary_deps], + dependencies: [check, eina, elementary, elementary_deps, intl], include_directories : [config_dir] + [elementary_config_dir], c_args : [ '-DTESTS_BUILD_DIR="'+meson.current_build_dir()+'"', @@ -178,6 +187,11 @@ efl_ui_compile_test = executable('efl_ui_compile_test', dependencies: [elementary, eio], ) +executable('efl_ui_window_cnp_dnd_slave', + 'efl_ui_window_cnp_dnd_slave.c', + dependencies: [elementary], +) + test('elementary-suite', elementary_suite, env : test_env ) diff --git a/src/tests/elementary/spec/efl_test_basics.c b/src/tests/elementary/spec/efl_test_basics.c index b14e18a568..603c094ce0 100644 --- a/src/tests/elementary/spec/efl_test_basics.c +++ b/src/tests/elementary/spec/efl_test_basics.c @@ -45,11 +45,12 @@ "Efl.Ui.Timepicker", "Efl.Ui.Navigation_Bar", "Efl.Ui.Relative_Container", - "Efl.Ui.Animation_View", + "Efl.Ui.Vg_Animation", "Efl.Ui.Table", "Efl.Ui.Flip", "Efl.Ui.Stack", - "Efl.Ui.Pager" + "Efl.Ui.Pager", + "Efl.Ui.Separator" ], "custom-mapping" : { "Efl.Ui.Grid" : "EFL_UI_GRID_DEFAULT_ITEM_CLASS", @@ -66,7 +67,12 @@ EFL_START_TEST(no_leaking_canvas_object) Eina_Iterator *iter = eo_objects_iterator_new(); Eo *obj; - if (efl_isa(widget, EFL_UI_FLIP_CLASS)) return; //FIXME Flip needs more work for this. However, flip should be redone as a spotlight manager, When this is done, we can add these classes to the check here. + if (efl_isa(widget, EFL_UI_FLIP_CLASS)) + { + //FIXME Flip needs more work for this. However, flip should be redone as a spotlight manager, When this is done, we can add these classes to the check here. + eina_iterator_free(iter); + return; + } EINA_ITERATOR_FOREACH(iter, obj) { diff --git a/src/tests/elementary/spec/efl_test_gfx_arrangement.c b/src/tests/elementary/spec/efl_test_gfx_arrangement.c index 7c0367b147..417a12bae5 100644 --- a/src/tests/elementary/spec/efl_test_gfx_arrangement.c +++ b/src/tests/elementary/spec/efl_test_gfx_arrangement.c @@ -18,8 +18,8 @@ EFL_START_TEST(pack_align) double v, h; \ efl_gfx_arrangement_content_align_set(widget, H, V); \ efl_gfx_arrangement_content_align_get(widget, &h, &v); \ - ck_assert(v == rv); \ - ck_assert(h == rh); \ + ck_assert(EINA_DBL_EQ(v, rv)); \ + ck_assert(EINA_DBL_EQ(h, rh)); \ } while(0); TUPLE_CHECK( 1.0, 1.0, 1.0, 1.0); diff --git a/src/tests/elementary/spec/efl_test_gfx_view.c b/src/tests/elementary/spec/efl_test_gfx_view.c index fc411138b6..e87419f283 100644 --- a/src/tests/elementary/spec/efl_test_gfx_view.c +++ b/src/tests/elementary/spec/efl_test_gfx_view.c @@ -8,7 +8,7 @@ /* spec-meta-start {"test-interface":"Efl.Gfx.View", - "test-widgets": ["Efl.Ui.Animation_View"]} + "test-widgets": ["Efl.Ui.Vg_Animation"]} spec-meta-end */ EFL_START_TEST(view_size) diff --git a/src/tests/elementary/spec/efl_test_range_display.c b/src/tests/elementary/spec/efl_test_range_display.c index f072e02c10..49b1c769a3 100644 --- a/src/tests/elementary/spec/efl_test_range_display.c +++ b/src/tests/elementary/spec/efl_test_range_display.c @@ -19,12 +19,12 @@ EFL_START_TEST(value_setting_limits) EXPECT_ERROR_START; efl_ui_range_value_set(widget, -25.0); EXPECT_ERROR_END; - ck_assert(efl_ui_range_value_get(widget) == 10.0); + ck_assert(EINA_DBL_EQ(efl_ui_range_value_get(widget), 10.0)); EXPECT_ERROR_START; efl_ui_range_value_set(widget, 25.0); EXPECT_ERROR_END; - ck_assert(efl_ui_range_value_get(widget) == 10.0); + ck_assert(EINA_DBL_EQ(efl_ui_range_value_get(widget), 10.0)); } EFL_END_TEST @@ -34,38 +34,38 @@ EFL_START_TEST(limit_setting) efl_ui_range_limits_set(widget, -20.0, 20.0); efl_ui_range_limits_get(widget, &min, &max); - ck_assert(min == -20.0); - ck_assert(max == 20.0); + ck_assert(EINA_DBL_EQ(min, -20.0)); + ck_assert(EINA_DBL_EQ(max, 20.0)); EXPECT_ERROR_START; efl_ui_range_limits_set(widget, -20.0, -20.0); EXPECT_ERROR_END; efl_ui_range_limits_get(widget, &min, &max); - ck_assert(min == -20.0); - ck_assert(max == 20.0); + ck_assert(EINA_DBL_EQ(min, -20.0)); + ck_assert(EINA_DBL_EQ(max, 20.0)); EXPECT_ERROR_START; efl_ui_range_limits_set(widget, 2.0, -20.0); EXPECT_ERROR_END; efl_ui_range_limits_get(widget, &min, &max); - ck_assert(min == -20.0); - ck_assert(max == 20.0); + ck_assert(EINA_DBL_EQ(min, -20.0)); + ck_assert(EINA_DBL_EQ(max, 20.0)); EXPECT_ERROR_START; efl_ui_range_limits_set(widget, 25.0, 20.0); EXPECT_ERROR_END; efl_ui_range_limits_get(widget, &min, &max); - ck_assert(min == -20.0); - ck_assert(max == 20.0); + ck_assert(EINA_DBL_EQ(min, -20.0)); + ck_assert(EINA_DBL_EQ(max, 20.0)); efl_ui_range_limits_set(widget, -25.0, -20.0); efl_ui_range_limits_get(widget, &min, &max); - ck_assert(min == -25.0); - ck_assert(max == -20.0); + ck_assert(EINA_DBL_EQ(min, -25.0)); + ck_assert(EINA_DBL_EQ(max, -20.0)); efl_ui_range_limits_set(widget, 20.0, 25.0); efl_ui_range_limits_get(widget, &min, &max); - ck_assert(min == 20.0); - ck_assert(max == 25.0); + ck_assert(EINA_DBL_EQ(min, 20.0)); + ck_assert(EINA_DBL_EQ(max, 25.0)); } EFL_END_TEST @@ -76,7 +76,7 @@ EFL_START_TEST(value_setting) for (i = -20.0; i <= 20.0; ++i) { efl_ui_range_value_set(widget, i); - ck_assert(efl_ui_range_value_get(widget) == i); + ck_assert(EINA_DBL_EQ(efl_ui_range_value_get(widget), i)); } } EFL_END_TEST @@ -124,6 +124,10 @@ EFL_START_TEST (range_display_value_events) changed = EINA_FALSE; min_reached = EINA_FALSE; max_reached = EINA_FALSE; + efl_event_callback_del(widget, EFL_UI_RANGE_EVENT_CHANGED, _set_flag, &changed); + efl_event_callback_del(widget, EFL_UI_RANGE_EVENT_MIN_REACHED, _set_flag, &min_reached); + efl_event_callback_del(widget, EFL_UI_RANGE_EVENT_MAX_REACHED, _set_flag, &max_reached); + } EFL_END_TEST diff --git a/src/tests/elementary/spec/efl_test_range_interactive.c b/src/tests/elementary/spec/efl_test_range_interactive.c index c900524120..76b266dab0 100644 --- a/src/tests/elementary/spec/efl_test_range_interactive.c +++ b/src/tests/elementary/spec/efl_test_range_interactive.c @@ -16,18 +16,18 @@ EFL_START_TEST(step_setting) { efl_ui_range_step_set(widget, 20.0); - ck_assert(efl_ui_range_step_get(widget) == 20.0); + ck_assert(EINA_DBL_EQ(efl_ui_range_step_get(widget), 20.0)); efl_ui_range_step_set(widget, 100.0); - ck_assert(efl_ui_range_step_get(widget) == 100.0); + ck_assert(EINA_DBL_EQ(efl_ui_range_step_get(widget), 100.0)); EXPECT_ERROR_START; efl_ui_range_step_set(widget, 0.0); - ck_assert(efl_ui_range_step_get(widget) == 100.0); + ck_assert(EINA_DBL_EQ(efl_ui_range_step_get(widget), 100.0)); EXPECT_ERROR_END; EXPECT_ERROR_START; efl_ui_range_step_set(widget, -20.0); - ck_assert(efl_ui_range_step_get(widget) == 100.0); + ck_assert(EINA_DBL_EQ(efl_ui_range_step_get(widget), 100.0)); EXPECT_ERROR_END; } EFL_END_TEST diff --git a/src/tests/elementary/spec/efl_ui_spec_suite.c b/src/tests/elementary/spec/efl_ui_spec_suite.c index d59072b51e..49ca5a993f 100644 --- a/src/tests/elementary/spec/efl_ui_spec_suite.c +++ b/src/tests/elementary/spec/efl_ui_spec_suite.c @@ -13,8 +13,8 @@ Evas_Object *widget = NULL; Eo *collection_grid = NULL; const Efl_Class *test_content_klass = NULL; const Efl_Class *widget_klass = NULL; -EFL_CLASS_SIMPLE_CLASS(efl_ui_widget, "efl_ui_widget", EFL_UI_WIDGET_CLASS); -EFL_CLASS_SIMPLE_CLASS(efl_ui_item, "efl_ui_item", EFL_UI_ITEM_CLASS); +EFL_CLASS_SIMPLE_CLASS(efl_ui_widget, "Efl.Ui.Widget", EFL_UI_WIDGET_CLASS); +EFL_CLASS_SIMPLE_CLASS(efl_ui_item, "Efl.Ui.Item", EFL_UI_ITEM_CLASS); #define EFL_UI_ITEM_REALIZED_CLASS efl_ui_item_realized_class_get() diff --git a/src/tests/elementary/suite_helpers.c b/src/tests/elementary/suite_helpers.c index 53c473a9fa..62fe6deb77 100644 --- a/src/tests/elementary/suite_helpers.c +++ b/src/tests/elementary/suite_helpers.c @@ -19,6 +19,7 @@ static Eina_Bool buffer = EINA_FALSE; static Eina_Bool legacy_mode = EINA_FALSE; static int log_abort; static int log_abort_level; +static unsigned int ts = 1; Eina_Bool abort_on_warnings = EINA_FALSE; @@ -50,6 +51,7 @@ _elm2_suite_init(void) ck_assert_int_eq(elm_init(1, args), 1); if (abort_on_warnings) fail_on_errors_setup(); + ts = 1; } void @@ -142,6 +144,20 @@ real_timer_add(double in, Ecore_Task_Cb cb, void *data) return ecore_timer_add(in, cb, data); } +static Eina_Bool +_timer_quit() +{ + ecore_main_loop_quit(); + return EINA_FALSE; +} + +void +wait_timer(double in) +{ + ecore_timer_add(in, _timer_quit, NULL); + ecore_main_loop_begin(); +} + static void _win_manual_render(void *data, const Efl_Event *event EINA_UNUSED) { @@ -150,7 +166,7 @@ _win_manual_render(void *data, const Efl_Event *event EINA_UNUSED) ecore_loop_time_set(t + LOOP_INCREMENT); ecore_animator_custom_tick(); ecore_evas_render_prepare(ecore_evas_ecore_evas_get(evas_object_evas_get(data))); - evas_norender(evas_object_evas_get(data)); + evas_norender_with_updates(evas_object_evas_get(data)); } static void @@ -320,7 +336,7 @@ suite_setup(Eina_Bool legacy) failed_count = _efl_suite_build_and_run(0, NULL, "Efl_Ui_Init", ui_init, NULL, NULL); - failed_count += !elm_init(1, (char*[]){"exe"}); + failed_count += !elm_init(1, args); if (buffer) { global_win = _elm_suite_win_create(); @@ -450,29 +466,42 @@ attempt_to_find_the_right_point_for_mouse_positioning(Eo *obj, int dir) } static void -click_object_internal(Eo *obj, int dir, int flags) +click_object_internal(Eo *obj, int dir, int flags, Eina_Bool up) { Evas *e = evas_object_evas_get(obj); Eina_Position2D pos = attempt_to_find_the_right_point_for_mouse_positioning(obj, dir); - evas_event_feed_mouse_move(e, pos.x, pos.y, 0, NULL); - evas_event_feed_mouse_down(e, 1, flags, 0, NULL); - evas_event_feed_mouse_up(e, 1, 0, 0, NULL); + evas_event_feed_mouse_move(e, pos.x, pos.y, ts++, NULL); + evas_event_feed_mouse_down(e, 1, flags, ts++, NULL); + if (up) + evas_event_feed_mouse_up(e, 1, 0, ts++, NULL); } void click_object(Eo *obj) { - click_object_internal(obj, NONE, 0); + click_object_internal(obj, NONE, 0, EINA_TRUE); +} + +void +press_object(Eo *obj) +{ + click_object_internal(obj, NONE, 0, EINA_FALSE); } void click_object_flags(Eo *obj, int flags) { - click_object_internal(obj, NONE, flags); + click_object_internal(obj, NONE, flags, EINA_TRUE); } void -click_part_flags(Eo *obj, const char *part, int flags) +press_object_flags(Eo *obj, int flags) +{ + click_object_internal(obj, NONE, flags, EINA_FALSE); +} + +static void +click_part_flags_internal(Eo *obj, const char *part, int flags, Eina_Bool up) { Efl_Part *part_obj = efl_ref(efl_part(obj, part)); Eo *content; @@ -492,19 +521,39 @@ click_part_flags(Eo *obj, const char *part, int flags) else if (strstr(part, "bottom")) dir |= BOTTOM; } - click_object_internal(content, dir, flags); + click_object_internal(content, dir, flags, up); if (efl_isa(content, EFL_LAYOUT_SIGNAL_INTERFACE)) edje_object_message_signal_process(content); - edje_object_message_signal_process(obj); + /* can be false if obj is an elm_widget_item */ + if (efl_isa(obj, EFL_LAYOUT_SIGNAL_INTERFACE)) + edje_object_message_signal_process(obj); efl_unref(part_obj); } void +click_part_flags(Eo *obj, const char *part, int flags) +{ + click_part_flags_internal(obj, part, flags, EINA_TRUE); +} + +void +press_part_flags(Eo *obj, const char *part, int flags) +{ + click_part_flags_internal(obj, part, flags, EINA_FALSE); +} + +void click_part(Eo *obj, const char *part) { click_part_flags(obj, part, 0); } +void +press_part(Eo *obj, const char *part) +{ + press_part_flags(obj, part, 0); +} + static void wheel_object_internal(Eo *obj, int dir, Eina_Bool horiz, Eina_Bool down) { @@ -551,6 +600,7 @@ event_callback_single_call_int_data(void *data, Evas_Object *obj EINA_UNUSED, vo { int *called = data; + if (*called) fprintf(stderr, "TEST FAILURE IN %s\n", __func__); ck_assert_int_eq(*called, 0); *called = 1; } @@ -570,21 +620,88 @@ event_callback_that_quits_the_main_loop_when_called() } void +smart_callback_that_stores_event_info_to_data(void *data, Evas_Object *obj EINA_UNUSED, void *event_info) +{ + void **real_data = data; + + *real_data = event_info; +} + +void click_object_at(Eo *obj, int x, int y) { Evas *e = evas_object_evas_get(obj); - evas_event_feed_mouse_move(e, x, y, 0, NULL); - evas_event_feed_mouse_down(e, 1, 0, 0, NULL); - evas_event_feed_mouse_up(e, 1, 0, 0, NULL); + evas_event_feed_mouse_move(e, x, y, ts++, NULL); + evas_event_feed_mouse_down(e, 1, 0, ts++, NULL); + evas_event_feed_mouse_up(e, 1, 0, ts++, NULL); +} + +void +multi_click_object(Eo *obj, int ids) +{ + Evas *e = evas_object_evas_get(obj); + Eina_Position2D pos = attempt_to_find_the_right_point_for_mouse_positioning(obj, NONE); + for (int i = 0; i < ids; i++) + evas_event_feed_multi_down(e, i, pos.x + i, pos.y + i, 1, 1, 1, 1, 0, pos.x + i, pos.y + i, 0, ts, NULL); + ts++; + for (int i = 0; i < ids; i++) + evas_event_feed_multi_up(e, i, pos.x + i, pos.y + i, 1, 1, 1, 1, 0, pos.x + i, pos.y + i, 0, ts, NULL); +} + +void +multi_press_object(Eo *obj, int ids) +{ + Evas *e = evas_object_evas_get(obj); + Eina_Position2D pos = attempt_to_find_the_right_point_for_mouse_positioning(obj, NONE); + for (int i = 0; i < ids; i++) + evas_event_feed_multi_down(e, i, pos.x + i, pos.y + i, 1, 1, 1, 1, 0, pos.x + i, pos.y + i, 0, ts, NULL); + ts++; +} + +void +multi_click_object_at(Eo *obj, int x, int y, int ids) +{ + Evas *e = evas_object_evas_get(obj); + for (int i = 0; i < ids; i++) + evas_event_feed_multi_down(e, i, x + i, y + i, 1, 1, 1, 1, 0, x + i, y + i, 0, ts, NULL); + ts++; + for (int i = 0; i < ids; i++) + evas_event_feed_multi_up(e, i, x + i, y + i, 1, 1, 1, 1, 0, x + i, y + i, 0, ts, NULL); + ts++; +} + +void +press_object_at(Eo *obj, int x, int y) +{ + Evas *e = evas_object_evas_get(obj); + evas_event_feed_mouse_move(e, x, y, ts++, NULL); + evas_event_feed_mouse_down(e, 1, 0, ts++, NULL); +} + +void +multi_press_object_at(Eo *obj, int x, int y, int ids) +{ + Evas *e = evas_object_evas_get(obj); + for (int i = 0; i < ids; i++) + evas_event_feed_multi_down(e, i, x + i, y + i, 1, 1, 1, 1, 0, x + i, y + i, 0, ts, NULL); + ts++; } void click_object_at_flags(Eo *obj, int x, int y, int flags) { Evas *e = evas_object_evas_get(obj); - evas_event_feed_mouse_move(e, x, y, 0, NULL); - evas_event_feed_mouse_down(e, 1, flags, 0, NULL); - evas_event_feed_mouse_up(e, 1, 0, 0, NULL); + evas_event_feed_mouse_move(e, x, y, ts++, NULL); + evas_event_feed_mouse_down(e, 1, flags, ts++, NULL); + evas_event_feed_mouse_up(e, 1, 0, ts++, NULL); +} + +void +press_object_at_flags(Eo *obj, int x, int y, int flags) +{ + Evas *e = evas_object_evas_get(obj); + evas_event_feed_mouse_move(e, x, y, ts++, NULL); + evas_event_feed_mouse_down(e, 1, flags, ts++, NULL); } void @@ -600,8 +717,8 @@ drag_object(Eo *obj, int x, int y, int dx, int dy, Eina_Bool iterate) { Evas *e = evas_object_evas_get(obj); int i; - evas_event_feed_mouse_move(e, x, y, 0, NULL); - evas_event_feed_mouse_down(e, 1, 0, 0, NULL); + evas_event_feed_mouse_move(e, x, y, ts++, NULL); + evas_event_feed_mouse_down(e, 1, 0, ts++, NULL); if (iterate) { /* iterate twice to trigger timers */ @@ -611,10 +728,112 @@ drag_object(Eo *obj, int x, int y, int dx, int dy, Eina_Bool iterate) /* create DRAG_OBJECT_NUM_MOVES move events distinct from up/down */ for (i = 0; i < DRAG_OBJECT_NUM_MOVES; i++) { - evas_event_feed_mouse_move(e, x + (i * dx / DRAG_OBJECT_NUM_MOVES), y + (i * dy / DRAG_OBJECT_NUM_MOVES), 0, NULL); + evas_event_feed_mouse_move(e, x + (i * dx / DRAG_OBJECT_NUM_MOVES), y + (i * dy / DRAG_OBJECT_NUM_MOVES), ts++, NULL); /* also trigger smart calc if we're iterating just in case that's important */ evas_smart_objects_calculate(e); } - evas_event_feed_mouse_move(e, x + dx, y + dy, 0, NULL); - evas_event_feed_mouse_up(e, 1, 0, 0, NULL); + evas_event_feed_mouse_move(e, x + dx, y + dy, ts++, NULL); + evas_event_feed_mouse_up(e, 1, 0, ts++, NULL); +} + +int +drag_object_around(Eo *obj, int cx, int cy, int radius, int degrees) +{ + Evas *e = evas_object_evas_get(obj); + /* clamp num mouse moves to a vaguely sane value */ + int i, num = MIN(abs(degrees), DRAG_OBJECT_AROUND_NUM_MOVES); + int last_x = round(cx + radius); + int last_y = round(cy); + /* start at 0 degrees */ + evas_event_feed_mouse_move(e, last_x, last_y, ts++, NULL); + evas_event_feed_mouse_down(e, 1, 0, ts++, NULL); + for (i = 1; i < num; i++) + { + /* x = cx + r * cos(a), y = cy + r * sin(a) */ + int ax, ay; + /* each iteration is 1 degree */ + double angle = (i * (degrees / DRAG_OBJECT_AROUND_NUM_MOVES)) * M_PI / 180.0; + ax = round(cx + radius * cos(angle)); + ay = round(cy + radius * sin(angle)); + if ((ax == last_x) && (ay == last_y)) continue; + evas_event_feed_mouse_move(e, ax, ay, ts++, NULL); + last_x = ax, last_y = ay; + } + evas_event_feed_mouse_up(e, 1, 0, ts++, NULL); + /* only count arc motion: subtract initial move, mouse down, mouse up */ + return num; +} + +int +multi_drag_object_around(Eo *obj, int touch_point, int cx, int cy, int radius, int degrees) +{ + Evas *e = evas_object_evas_get(obj); + /* clamp num mouse moves to a vaguely sane value */ + int i, num = MIN(abs(degrees), DRAG_OBJECT_AROUND_NUM_MOVES); + int last_x = round(cx + radius); + int last_y = round(cy); + /* start at 0 degrees */ + evas_event_feed_multi_down(e, touch_point, last_x, last_y, 1, 1, 1, 1, 0, last_x, last_y, 0, ts++, NULL); + for (i = 1; i < num; i++) + { + /* x = cx + r * cos(a), y = cy + r * sin(a) */ + int ax, ay; + /* each iteration is 1 degree */ + double angle = (i * (degrees / DRAG_OBJECT_AROUND_NUM_MOVES)) * M_PI / 180.0; + ax = round(cx + radius * cos(angle)); + ay = round(cy + radius * sin(angle)); + if ((ax == last_x) && (ay == last_y)) continue; + evas_event_feed_multi_move(e, touch_point, ax, ay, 1, 1, 1, 1, 0, ax, ay, ts++, NULL); + last_x = ax, last_y = ay; + } + evas_event_feed_multi_up(e, touch_point, last_x, last_y, 1, 1, 1, 1, 0, last_x, last_y, 0, ts++, NULL); + /* only count arc motion: subtract initial move, mouse down, mouse up */ + return num; +} + +int +pinch_object(Eo *obj, int x, int y, int x2, int y2, int dx, int dy, int dx2, int dy2) +{ + Evas *e = evas_object_evas_get(obj); + int i, idx, idy, idx2, idy2; + idx = idy = idx2 = idy2 = 0; + evas_event_feed_multi_down(e, 0, x, y, 1, 1, 1, 1, 0, x, y, 0, ts, NULL); + evas_event_feed_multi_down(e, 1, x2, y2, 1, 1, 1, 1, 0, x2, y2, 0, ts++, NULL); + for (i = 1; i < abs(dx); i++) + { + idx = (i * dx / abs(dx)); + idy = (i * dy / abs(dx)); + idx2 = (i * dx2 / abs(dx)); + idy2 = (i * dy2 / abs(dx)); + /* move first point along positive vector */ + evas_event_feed_multi_move(e, 0, x + idx, y + idy, 1, 1, 1, 1, 0, x + idx, y + idy, ts, NULL); + /* move second point along negative vector */ + evas_event_feed_multi_move(e, 1, x2 + idx2, y2 + idy2, 1, 1, 1, 1, 0, x2 + idx2, y2 + idy2, ts++, NULL); + /* also trigger smart calc if we're iterating just in case that's important */ + evas_smart_objects_calculate(e); + } + evas_event_feed_multi_up(e, 0, x + idx, y + idy, 1, 1, 1, 1, 0, x + idx, y + idy, 0, ts, NULL); + evas_event_feed_multi_up(e, 1, x2 + idx2, y2 + idy2, 1, 1, 1, 1, 0, x2 + idx2, y2 + idy2, 0, ts++, NULL); + return i - 2; +} + +void +write_key_sequence(Eo *obj, const char *seqence) +{ + Evas *e = evas_object_evas_get(obj); + for (unsigned int i = 0; i < strlen(seqence); ++i) + { + const char part_seq[] = {seqence[i], '\0'}; + + evas_event_feed_key_down(e, part_seq, part_seq, part_seq, part_seq, 0, NULL); + ecore_main_loop_iterate(); + evas_event_feed_key_up(e, part_seq, part_seq, part_seq, part_seq, 0, NULL); + ecore_main_loop_iterate(); + } +} + +void +force_render(Eo *win) +{ + _win_manual_render(win, NULL); } diff --git a/src/tests/elementary/suite_helpers.h b/src/tests/elementary/suite_helpers.h index 40c8dec12b..7e5a0ad105 100644 --- a/src/tests/elementary/suite_helpers.h +++ b/src/tests/elementary/suite_helpers.h @@ -4,11 +4,13 @@ #include <Evas.h> #define DRAG_OBJECT_NUM_MOVES 4 +#define DRAG_OBJECT_AROUND_NUM_MOVES 60 int suite_setup(Eina_Bool legacy); void _elm2_suite_init(void); void _elm_suite_shutdown(void); void *real_timer_add(double in, Ecore_Task_Cb cb, void *data); +void wait_timer(double in); void fail_on_errors_teardown(void); void fail_on_errors_setup(void); Eina_Bool is_forked(void); @@ -22,11 +24,58 @@ void click_part(Eo *obj, const char *part); void click_part_flags(Eo *obj, const char *part, int flags); void click_object_at(Eo *obj, int x, int y); void click_object_at_flags(Eo *obj, int x, int y, int flags); +void press_object(Eo *obj); +void press_object_flags(Eo *obj, int flags); +void press_part(Eo *obj, const char *part); +void press_part_flags(Eo *obj, const char *part, int flags); +void press_object_at(Eo *obj, int x, int y); +void press_object_at_flags(Eo *obj, int x, int y, int flags); +void multi_click_object(Eo *obj, int ids); +void multi_press_object(Eo *obj, int ids); +void multi_click_object_at(Eo *obj, int x, int y, int ids); +void multi_press_object_at(Eo *obj, int x, int y, int ids); +int multi_drag_object_around(Eo *obj, int touch_point, int cx, int cy, int radius, int degrees); +void write_key_sequence(Eo *obj, const char *seqence); void drag_object(Eo *obj, int x, int y, int dx, int dy, Eina_Bool iterate); +int drag_object_around(Eo *obj, int cx, int cy, int radius, int degrees); +int pinch_object(Eo *obj, int x, int y, int x2, int y2, int dx, int dy, int dx2, int dy2); void wheel_object(Eo *obj, Eina_Bool horiz, Eina_Bool down); void wheel_part(Eo *obj, const char *part, Eina_Bool horiz, Eina_Bool down); void wheel_object_at(Eo *obj, int x, int y, Eina_Bool horiz, Eina_Bool down); void event_callback_single_call_int_data(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED); void event_callback_that_quits_the_main_loop_when_called(); void event_callback_that_increments_an_int_when_called(void *data, Evas_Object *obj, void *event_info); +void smart_callback_that_stores_event_info_to_data(void *data, Evas_Object *obj EINA_UNUSED, void *event_info); + +void force_render(Eo *win); + +#define assert_object_size_eq(obj, width, height) \ +do \ +{ \ + Eina_Size2D _sz = efl_gfx_entity_size_get((obj)); \ + ck_assert_int_eq(_sz.w, (width)); \ + ck_assert_int_eq(_sz.h, (height)); \ +} while (0) + +#define assert_object_width_eq(obj, width) \ +do \ +{ \ + Eina_Size2D _sz = efl_gfx_entity_size_get((obj)); \ + ck_assert_int_eq(_sz.w, (width)); \ +} while (0) + +#define assert_object_height_eq(obj, height) \ +do \ +{ \ + Eina_Size2D _sz = efl_gfx_entity_size_get((obj)); \ + ck_assert_int_eq(_sz.h, (height)); \ +} while (0) + +#define assert_object_pos_eq(obj, _x, _y) \ +do \ +{ \ + Eina_Position2D _pos = efl_gfx_entity_position_get((obj)); \ + ck_assert_int_eq(_pos.x, (_x)); \ + ck_assert_int_eq(_pos.y, (_y)); \ +} while (0) #endif diff --git a/src/tests/elua/elua_lib.c b/src/tests/elua/elua_lib.c index f3d11d5023..c21f2a5ebd 100644 --- a/src/tests/elua/elua_lib.c +++ b/src/tests/elua/elua_lib.c @@ -19,7 +19,6 @@ EFL_START_TEST(elua_api) { Elua_State *st; lua_State *lst; - char buf[] = "tmpXXXXXX"; FILE *f; int fd; char *cargv[2]; @@ -29,6 +28,7 @@ EFL_START_TEST(elua_api) cargv[0] = arg1; cargv[1] = arg2; char *spath = NULL; + Eina_Tmpstr *tmpf = NULL; st = elua_state_new("test"); fail_if(!st); @@ -84,16 +84,16 @@ EFL_START_TEST(elua_api) fail_if(lua_type(lst, -1) != LUA_TFUNCTION); lua_pop(lst, 1); - fd = mkstemp(buf); + fd = eina_file_mkstemp("tmpXXXXXX", &tmpf); fail_if(fd < 0); f = fdopen(fd, "wb"); fail_if(!f); fprintf(f, "return 5\n"); fclose(f); - fail_if(!elua_util_file_run(st, buf)); + fail_if(!elua_util_file_run(st, tmpf)); fail_if(lua_tointeger(lst, -1) != 5); lua_pop(lst, 1); - fail_if(remove(buf)); + fail_if(remove(tmpf)); /* halfassed testing here, but not possible otherwise */ fail_if(elua_util_error_report(st, 0)); @@ -101,21 +101,21 @@ EFL_START_TEST(elua_api) fail_if(!elua_util_error_report(st, 5)); fail_if(lua_gettop(lst) > 0); - f = fopen(buf, "wb"); + f = fopen(tmpf, "wb"); fail_if(!f); fprintf(f, "return true"); fclose(f); - cargv[1] = buf; + cargv[1] = tmpf; fail_if(!elua_util_script_run(st, 2, cargv, 1, &quit)); fail_if(quit != 1); - f = fopen(buf, "wb"); + f = fopen(tmpf, "wb"); fail_if(!f); fprintf(f, "return false"); fclose(f); fail_if(!elua_util_script_run(st, 2, cargv, 1, &quit)); fail_if(quit != 0); - fail_if(remove(buf)); + fail_if(remove(tmpf)); /* elua API here tries accessing files by relative path, * prevent any unintentional file accesses in cwd @@ -139,6 +139,7 @@ EFL_START_TEST(elua_api) lua_pop(lst, 1); elua_state_free(st); + eina_tmpstr_del(tmpf); } EFL_END_TEST diff --git a/src/tests/elua/meson.build b/src/tests/elua/meson.build index 22174f0bb0..fc6829ce71 100644 --- a/src/tests/elua/meson.build +++ b/src/tests/elua/meson.build @@ -6,7 +6,7 @@ elua_suite_src = [ 'elua_lib.c' ] -elua_bindings_dir = join_paths(meson.source_root(), 'src', 'bindings', 'luajit') +elua_bindings_dir = join_paths(meson.source_root(), 'src', 'bindings', 'lua') elua_core_dir = join_paths(meson.source_root(), 'src', 'scripts', 'elua', 'core') elua_modules_dir = join_paths(meson.source_root(), 'src', 'scripts', 'elua', 'modules') elua_apps_dir = join_paths(meson.source_root(), 'src', 'tests', 'elua', 'data', 'apps') diff --git a/src/tests/eo/access/access_inherit.c b/src/tests/eo/access/access_inherit.c index 2f830bde8a..38ab147860 100644 --- a/src/tests/eo/access/access_inherit.c +++ b/src/tests/eo/access/access_inherit.c @@ -16,7 +16,7 @@ _prot_print(Eo *obj, void *class_data EINA_UNUSED) printf("%s %d\n", __func__, pd->protected_x1); } -EAPI EFL_VOID_FUNC_BODY(inherit_prot_print); +EFL_VOID_FUNC_BODY(inherit_prot_print); static Eina_Bool _class_initializer(Efl_Class *klass) diff --git a/src/tests/eo/access/access_inherit.h b/src/tests/eo/access/access_inherit.h index 20fa1d3102..9ff8191b0b 100644 --- a/src/tests/eo/access/access_inherit.h +++ b/src/tests/eo/access/access_inherit.h @@ -1,7 +1,7 @@ #ifndef INHERIT_H #define INHERIT_H -EAPI void inherit_prot_print(Eo *obj); +void inherit_prot_print(Eo *obj); #define INHERIT_CLASS inherit_class_get() const Efl_Class *inherit_class_get(void); diff --git a/src/tests/eo/access/access_simple.c b/src/tests/eo/access/access_simple.c index 5b75d0c52b..0076d8b2ec 100644 --- a/src/tests/eo/access/access_simple.c +++ b/src/tests/eo/access/access_simple.c @@ -12,7 +12,7 @@ typedef struct int a; } Private_Data; -EAPI const Efl_Event_Description _EV_A_CHANGED = +const Efl_Event_Description _EV_A_CHANGED = EFL_EVENT_DESCRIPTION("a,changed"); #define MY_CLASS SIMPLE_CLASS @@ -30,7 +30,7 @@ _a_set(Eo *obj, void *class_data, int a) efl_event_callback_legacy_call(obj, EV_A_CHANGED, &pd->a); } -EAPI EFL_VOID_FUNC_BODYV(simple_a_set, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set, EFL_FUNC_CALL(a), int a); static Eina_Bool _class_initializer(Efl_Class *klass) diff --git a/src/tests/eo/access/access_simple.h b/src/tests/eo/access/access_simple.h index 22b656a831..935492e609 100644 --- a/src/tests/eo/access/access_simple.h +++ b/src/tests/eo/access/access_simple.h @@ -1,7 +1,7 @@ #ifndef SIMPLE_H #define SIMPLE_H -EAPI void simple_a_set(Eo *obj, int a); +void simple_a_set(Eo *obj, int a); typedef struct { diff --git a/src/tests/eo/composite_objects/composite_objects_simple.c b/src/tests/eo/composite_objects/composite_objects_simple.c index b9bc70fb78..132b393b72 100644 --- a/src/tests/eo/composite_objects/composite_objects_simple.c +++ b/src/tests/eo/composite_objects/composite_objects_simple.c @@ -5,7 +5,7 @@ #include "Eo.h" #include "composite_objects_simple.h" -EAPI const Efl_Event_Description _EV_A_CHANGED = +const Efl_Event_Description _EV_A_CHANGED = EFL_EVENT_DESCRIPTION("a,changed"); #define MY_CLASS SIMPLE_CLASS @@ -27,73 +27,73 @@ _a_get(Eo *obj EINA_UNUSED, void *class_data) return pd->a; } -EAPI EFL_VOID_FUNC_BODYV(simple_a_set, EFL_FUNC_CALL(a), int a); -EAPI EFL_FUNC_BODY(simple_a_get, int, 0); +EFL_VOID_FUNC_BODYV(simple_a_set, EFL_FUNC_CALL(a), int a); +EFL_FUNC_BODY(simple_a_get, int, 0); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set1, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set2, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set3, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set4, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set5, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set6, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set7, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set8, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set9, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set10, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set11, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set12, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set13, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set14, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set15, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set16, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set17, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set18, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set19, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set20, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set21, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set22, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set23, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set24, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set25, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set26, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set27, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set28, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set29, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set30, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set31, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_set32, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get1, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get2, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get3, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get4, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get5, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get6, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get7, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get8, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get9, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get10, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get11, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get12, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get13, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get14, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get15, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get16, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get17, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get18, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get19, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get20, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get21, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get22, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get23, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get24, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get25, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get26, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get27, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get28, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get29, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get30, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get31, EFL_FUNC_CALL(a), int a); -EAPI EFL_VOID_FUNC_BODYV(simple_a_get32, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set1, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set2, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set3, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set4, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set5, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set6, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set7, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set8, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set9, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set10, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set11, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set12, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set13, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set14, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set15, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set16, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set17, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set18, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set19, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set20, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set21, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set22, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set23, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set24, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set25, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set26, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set27, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set28, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set29, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set30, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set31, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set32, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get1, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get2, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get3, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get4, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get5, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get6, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get7, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get8, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get9, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get10, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get11, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get12, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get13, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get14, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get15, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get16, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get17, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get18, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get19, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get20, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get21, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get22, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get23, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get24, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get25, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get26, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get27, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get28, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get29, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get30, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get31, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_get32, EFL_FUNC_CALL(a), int a); static Eina_Bool diff --git a/src/tests/eo/composite_objects/composite_objects_simple.h b/src/tests/eo/composite_objects/composite_objects_simple.h index eb97c94404..b24dd98a5c 100644 --- a/src/tests/eo/composite_objects/composite_objects_simple.h +++ b/src/tests/eo/composite_objects/composite_objects_simple.h @@ -6,73 +6,73 @@ typedef struct int a; } Simple_Public_Data; -EAPI void simple_a_set(Eo *obj, int a); -EAPI int simple_a_get(Eo *obj); +void simple_a_set(Eo *obj, int a); +int simple_a_get(Eo *obj); -EAPI void simple_a_set1(Eo *obj, int a); -EAPI void simple_a_set2(Eo *obj, int a); -EAPI void simple_a_set3(Eo *obj, int a); -EAPI void simple_a_set4(Eo *obj, int a); -EAPI void simple_a_set5(Eo *obj, int a); -EAPI void simple_a_set6(Eo *obj, int a); -EAPI void simple_a_set7(Eo *obj, int a); -EAPI void simple_a_set8(Eo *obj, int a); -EAPI void simple_a_set9(Eo *obj, int a); -EAPI void simple_a_set10(Eo *obj, int a); -EAPI void simple_a_set11(Eo *obj, int a); -EAPI void simple_a_set12(Eo *obj, int a); -EAPI void simple_a_set13(Eo *obj, int a); -EAPI void simple_a_set14(Eo *obj, int a); -EAPI void simple_a_set15(Eo *obj, int a); -EAPI void simple_a_set16(Eo *obj, int a); -EAPI void simple_a_set17(Eo *obj, int a); -EAPI void simple_a_set18(Eo *obj, int a); -EAPI void simple_a_set19(Eo *obj, int a); -EAPI void simple_a_set20(Eo *obj, int a); -EAPI void simple_a_set21(Eo *obj, int a); -EAPI void simple_a_set22(Eo *obj, int a); -EAPI void simple_a_set23(Eo *obj, int a); -EAPI void simple_a_set24(Eo *obj, int a); -EAPI void simple_a_set25(Eo *obj, int a); -EAPI void simple_a_set26(Eo *obj, int a); -EAPI void simple_a_set27(Eo *obj, int a); -EAPI void simple_a_set28(Eo *obj, int a); -EAPI void simple_a_set29(Eo *obj, int a); -EAPI void simple_a_set30(Eo *obj, int a); -EAPI void simple_a_set31(Eo *obj, int a); -EAPI void simple_a_set32(Eo *obj, int a); -EAPI void simple_a_get1(Eo *obj, int a); -EAPI void simple_a_get2(Eo *obj, int a); -EAPI void simple_a_get3(Eo *obj, int a); -EAPI void simple_a_get4(Eo *obj, int a); -EAPI void simple_a_get5(Eo *obj, int a); -EAPI void simple_a_get6(Eo *obj, int a); -EAPI void simple_a_get7(Eo *obj, int a); -EAPI void simple_a_get8(Eo *obj, int a); -EAPI void simple_a_get9(Eo *obj, int a); -EAPI void simple_a_get10(Eo *obj, int a); -EAPI void simple_a_get11(Eo *obj, int a); -EAPI void simple_a_get12(Eo *obj, int a); -EAPI void simple_a_get13(Eo *obj, int a); -EAPI void simple_a_get14(Eo *obj, int a); -EAPI void simple_a_get15(Eo *obj, int a); -EAPI void simple_a_get16(Eo *obj, int a); -EAPI void simple_a_get17(Eo *obj, int a); -EAPI void simple_a_get18(Eo *obj, int a); -EAPI void simple_a_get19(Eo *obj, int a); -EAPI void simple_a_get20(Eo *obj, int a); -EAPI void simple_a_get21(Eo *obj, int a); -EAPI void simple_a_get22(Eo *obj, int a); -EAPI void simple_a_get23(Eo *obj, int a); -EAPI void simple_a_get24(Eo *obj, int a); -EAPI void simple_a_get25(Eo *obj, int a); -EAPI void simple_a_get26(Eo *obj, int a); -EAPI void simple_a_get27(Eo *obj, int a); -EAPI void simple_a_get28(Eo *obj, int a); -EAPI void simple_a_get29(Eo *obj, int a); -EAPI void simple_a_get30(Eo *obj, int a); -EAPI void simple_a_get31(Eo *obj, int a); -EAPI void simple_a_get32(Eo *obj, int a); +void simple_a_set1(Eo *obj, int a); +void simple_a_set2(Eo *obj, int a); +void simple_a_set3(Eo *obj, int a); +void simple_a_set4(Eo *obj, int a); +void simple_a_set5(Eo *obj, int a); +void simple_a_set6(Eo *obj, int a); +void simple_a_set7(Eo *obj, int a); +void simple_a_set8(Eo *obj, int a); +void simple_a_set9(Eo *obj, int a); +void simple_a_set10(Eo *obj, int a); +void simple_a_set11(Eo *obj, int a); +void simple_a_set12(Eo *obj, int a); +void simple_a_set13(Eo *obj, int a); +void simple_a_set14(Eo *obj, int a); +void simple_a_set15(Eo *obj, int a); +void simple_a_set16(Eo *obj, int a); +void simple_a_set17(Eo *obj, int a); +void simple_a_set18(Eo *obj, int a); +void simple_a_set19(Eo *obj, int a); +void simple_a_set20(Eo *obj, int a); +void simple_a_set21(Eo *obj, int a); +void simple_a_set22(Eo *obj, int a); +void simple_a_set23(Eo *obj, int a); +void simple_a_set24(Eo *obj, int a); +void simple_a_set25(Eo *obj, int a); +void simple_a_set26(Eo *obj, int a); +void simple_a_set27(Eo *obj, int a); +void simple_a_set28(Eo *obj, int a); +void simple_a_set29(Eo *obj, int a); +void simple_a_set30(Eo *obj, int a); +void simple_a_set31(Eo *obj, int a); +void simple_a_set32(Eo *obj, int a); +void simple_a_get1(Eo *obj, int a); +void simple_a_get2(Eo *obj, int a); +void simple_a_get3(Eo *obj, int a); +void simple_a_get4(Eo *obj, int a); +void simple_a_get5(Eo *obj, int a); +void simple_a_get6(Eo *obj, int a); +void simple_a_get7(Eo *obj, int a); +void simple_a_get8(Eo *obj, int a); +void simple_a_get9(Eo *obj, int a); +void simple_a_get10(Eo *obj, int a); +void simple_a_get11(Eo *obj, int a); +void simple_a_get12(Eo *obj, int a); +void simple_a_get13(Eo *obj, int a); +void simple_a_get14(Eo *obj, int a); +void simple_a_get15(Eo *obj, int a); +void simple_a_get16(Eo *obj, int a); +void simple_a_get17(Eo *obj, int a); +void simple_a_get18(Eo *obj, int a); +void simple_a_get19(Eo *obj, int a); +void simple_a_get20(Eo *obj, int a); +void simple_a_get21(Eo *obj, int a); +void simple_a_get22(Eo *obj, int a); +void simple_a_get23(Eo *obj, int a); +void simple_a_get24(Eo *obj, int a); +void simple_a_get25(Eo *obj, int a); +void simple_a_get26(Eo *obj, int a); +void simple_a_get27(Eo *obj, int a); +void simple_a_get28(Eo *obj, int a); +void simple_a_get29(Eo *obj, int a); +void simple_a_get30(Eo *obj, int a); +void simple_a_get31(Eo *obj, int a); +void simple_a_get32(Eo *obj, int a); extern const Efl_Event_Description _EV_A_CHANGED; #define EV_A_CHANGED (&(_EV_A_CHANGED)) diff --git a/src/tests/eo/constructors/constructors_mixin.c b/src/tests/eo/constructors/constructors_mixin.c index c3cbdc50b1..9380d4885d 100644 --- a/src/tests/eo/constructors/constructors_mixin.c +++ b/src/tests/eo/constructors/constructors_mixin.c @@ -35,7 +35,7 @@ _destructor(Eo *obj, void *class_data EINA_UNUSED) my_init_count--; } -EAPI EFL_VOID_FUNC_BODYV(mixin_add_and_print, EFL_FUNC_CALL(x), int x); +EFL_VOID_FUNC_BODYV(mixin_add_and_print, EFL_FUNC_CALL(x), int x); static Eina_Bool _class_initializer(Efl_Class *klass) diff --git a/src/tests/eo/constructors/constructors_mixin.h b/src/tests/eo/constructors/constructors_mixin.h index ae7a85df8c..9894c8d095 100644 --- a/src/tests/eo/constructors/constructors_mixin.h +++ b/src/tests/eo/constructors/constructors_mixin.h @@ -1,7 +1,7 @@ #ifndef MIXIN_H #define MIXIN_H -EAPI void mixin_add_and_print(Eo *obj, int x); +void mixin_add_and_print(Eo *obj, int x); #define MIXIN_CLASS mixin_class_get() const Efl_Class *mixin_class_get(void); diff --git a/src/tests/eo/constructors/constructors_simple.h b/src/tests/eo/constructors/constructors_simple.h index 03f7f4b22c..23dd21c610 100644 --- a/src/tests/eo/constructors/constructors_simple.h +++ b/src/tests/eo/constructors/constructors_simple.h @@ -1,10 +1,10 @@ #ifndef SIMPLE_H #define SIMPLE_H -EAPI void simple_a_set(Eo *obj, int a); -EAPI int simple_a_get(Eo *obj); -EAPI void simple_b_set(Eo *obj, int b); -EAPI int simple_b_get(Eo *obj); +void simple_a_set(Eo *obj, int a); +int simple_a_get(Eo *obj); +void simple_b_set(Eo *obj, int b); +int simple_b_get(Eo *obj); #define SIMPLE_CLASS simple_class_get() const Efl_Class *simple_class_get(void); diff --git a/src/tests/eo/function_overrides/function_overrides_inherit2.c b/src/tests/eo/function_overrides/function_overrides_inherit2.c index e4aa147b67..09ef1f8563 100644 --- a/src/tests/eo/function_overrides/function_overrides_inherit2.c +++ b/src/tests/eo/function_overrides/function_overrides_inherit2.c @@ -42,8 +42,8 @@ _print2(Eo *obj EINA_UNUSED, void *class_data EINA_UNUSED) return EINA_TRUE; } -EAPI EFL_FUNC_BODY(inherit2_print, Eina_Bool, EINA_FALSE); -EAPI EFL_FUNC_BODY(inherit2_print2, Eina_Bool, EINA_FALSE); +EFL_FUNC_BODY(inherit2_print, Eina_Bool, EINA_FALSE); +EFL_FUNC_BODY(inherit2_print2, Eina_Bool, EINA_FALSE); static Eina_Bool _class_initializer(Efl_Class *klass) diff --git a/src/tests/eo/function_overrides/function_overrides_inherit2.h b/src/tests/eo/function_overrides/function_overrides_inherit2.h index 773ead195b..f0d0079a01 100644 --- a/src/tests/eo/function_overrides/function_overrides_inherit2.h +++ b/src/tests/eo/function_overrides/function_overrides_inherit2.h @@ -1,8 +1,8 @@ #ifndef INHERIT2_H #define INHERIT2_H -EAPI Eina_Bool inherit2_print(Eo *obj); -EAPI Eina_Bool inherit2_print2(Eo *obj); +Eina_Bool inherit2_print(Eo *obj); +Eina_Bool inherit2_print2(Eo *obj); #define INHERIT2_CLASS inherit2_class_get() const Efl_Class *inherit2_class_get(void); diff --git a/src/tests/eo/function_overrides/function_overrides_simple.c b/src/tests/eo/function_overrides/function_overrides_simple.c index fbd5681367..c0cbac5170 100644 --- a/src/tests/eo/function_overrides/function_overrides_simple.c +++ b/src/tests/eo/function_overrides/function_overrides_simple.c @@ -51,10 +51,10 @@ _class_print2(Efl_Class *klass, void *class_data EINA_UNUSED) return EINA_TRUE; } -EAPI EFL_VOID_FUNC_BODYV(simple_a_set, EFL_FUNC_CALL(a), int a); -EAPI EFL_FUNC_BODY(simple_a_print, Eina_Bool, EINA_FALSE); -EAPI EFL_FUNC_BODY_CONST(simple_class_print, Eina_Bool, EINA_FALSE); -EAPI EFL_FUNC_BODY_CONST(simple_class_print2, Eina_Bool, EINA_FALSE); +EFL_VOID_FUNC_BODYV(simple_a_set, EFL_FUNC_CALL(a), int a); +EFL_FUNC_BODY(simple_a_print, Eina_Bool, EINA_FALSE); +EFL_FUNC_BODY_CONST(simple_class_print, Eina_Bool, EINA_FALSE); +EFL_FUNC_BODY_CONST(simple_class_print2, Eina_Bool, EINA_FALSE); static Eina_Bool _class_initializer(Efl_Class *klass) diff --git a/src/tests/eo/function_overrides/function_overrides_simple.h b/src/tests/eo/function_overrides/function_overrides_simple.h index 87dfba7ba0..46862a226e 100644 --- a/src/tests/eo/function_overrides/function_overrides_simple.h +++ b/src/tests/eo/function_overrides/function_overrides_simple.h @@ -6,10 +6,10 @@ typedef struct int a; } Simple_Public_Data; -EAPI void simple_a_set(Eo *obj, int a); -EAPI Eina_Bool simple_a_print(Eo *obj); -EAPI Eina_Bool simple_class_print(const Eo *obj); -EAPI Eina_Bool simple_class_print2(const Eo *obj); +void simple_a_set(Eo *obj, int a); +Eina_Bool simple_a_print(Eo *obj); +Eina_Bool simple_class_print(const Eo *obj); +Eina_Bool simple_class_print2(const Eo *obj); extern const Efl_Event_Description _SIG_A_CHANGED; #define SIG_A_CHANGED (&(_SIG_A_CHANGED)) diff --git a/src/tests/eo/interface/interface_interface.h b/src/tests/eo/interface/interface_interface.h index 6f454e6270..6186a46daf 100644 --- a/src/tests/eo/interface/interface_interface.h +++ b/src/tests/eo/interface/interface_interface.h @@ -1,7 +1,7 @@ #ifndef INTERFACE_H #define INTERFACE_H -EAPI int interface_ab_sum_get(Eo *obj); +int interface_ab_sum_get(Eo *obj); #define INTERFACE_CLASS interface_class_get() const Efl_Class *interface_class_get(void); diff --git a/src/tests/eo/interface/interface_interface2.h b/src/tests/eo/interface/interface_interface2.h index c64089b43b..f4d29a4daa 100644 --- a/src/tests/eo/interface/interface_interface2.h +++ b/src/tests/eo/interface/interface_interface2.h @@ -1,7 +1,7 @@ #ifndef INTERFACE2_H #define INTERFACE2_H -EAPI int interface2_ab_sum_get2(Eo *obj); +int interface2_ab_sum_get2(Eo *obj); #define INTERFACE2_CLASS interface2_class_get() const Efl_Class *interface2_class_get(void); diff --git a/src/tests/eo/interface/interface_simple.h b/src/tests/eo/interface/interface_simple.h index 03f7f4b22c..23dd21c610 100644 --- a/src/tests/eo/interface/interface_simple.h +++ b/src/tests/eo/interface/interface_simple.h @@ -1,10 +1,10 @@ #ifndef SIMPLE_H #define SIMPLE_H -EAPI void simple_a_set(Eo *obj, int a); -EAPI int simple_a_get(Eo *obj); -EAPI void simple_b_set(Eo *obj, int b); -EAPI int simple_b_get(Eo *obj); +void simple_a_set(Eo *obj, int a); +int simple_a_get(Eo *obj); +void simple_b_set(Eo *obj, int b); +int simple_b_get(Eo *obj); #define SIMPLE_CLASS simple_class_get() const Efl_Class *simple_class_get(void); diff --git a/src/tests/eo/mixin/mixin_mixin.c b/src/tests/eo/mixin/mixin_mixin.c index 06bff56d2b..5540d38a1e 100644 --- a/src/tests/eo/mixin/mixin_mixin.c +++ b/src/tests/eo/mixin/mixin_mixin.c @@ -30,7 +30,7 @@ _destructor(Eo *obj, void *class_data EINA_UNUSED) efl_destructor(efl_super(obj, MY_CLASS)); } -EAPI EFL_FUNC_BODY(mixin_ab_sum_get, int, 0); +EFL_FUNC_BODY(mixin_ab_sum_get, int, 0); static Eina_Bool _class_initializer(Efl_Class *klass) diff --git a/src/tests/eo/mixin/mixin_mixin.h b/src/tests/eo/mixin/mixin_mixin.h index 4d9c4253aa..6e4a5c41fc 100644 --- a/src/tests/eo/mixin/mixin_mixin.h +++ b/src/tests/eo/mixin/mixin_mixin.h @@ -1,7 +1,7 @@ #ifndef MIXIN_H #define MIXIN_H -EAPI int mixin_ab_sum_get(Eo *obj); +int mixin_ab_sum_get(Eo *obj); #define MIXIN_CLASS mixin_class_get() const Efl_Class *mixin_class_get(void); diff --git a/src/tests/eo/mixin/mixin_simple.h b/src/tests/eo/mixin/mixin_simple.h index 03f7f4b22c..23dd21c610 100644 --- a/src/tests/eo/mixin/mixin_simple.h +++ b/src/tests/eo/mixin/mixin_simple.h @@ -1,10 +1,10 @@ #ifndef SIMPLE_H #define SIMPLE_H -EAPI void simple_a_set(Eo *obj, int a); -EAPI int simple_a_get(Eo *obj); -EAPI void simple_b_set(Eo *obj, int b); -EAPI int simple_b_get(Eo *obj); +void simple_a_set(Eo *obj, int a); +int simple_a_get(Eo *obj); +void simple_b_set(Eo *obj, int b); +int simple_b_get(Eo *obj); #define SIMPLE_CLASS simple_class_get() const Efl_Class *simple_class_get(void); diff --git a/src/tests/eo/signals/signals_main.c b/src/tests/eo/signals/signals_main.c index c3b1648c17..859e145ecb 100644 --- a/src/tests/eo/signals/signals_main.c +++ b/src/tests/eo/signals/signals_main.c @@ -74,6 +74,22 @@ _restart_3_cb(void *data, const Efl_Event *event) called++; } +static void +_restart_3_no_stop_cb(void *data, const Efl_Event *event) +{ + fprintf(stderr, "restart 3 no stop inside: %i\n", inside); + fprintf(stderr, "restart 3 no stop exit inside: %i (%i)\n", inside, called); + + if (!inside) + { + inside = EINA_TRUE; + efl_event_callback_call(event->object, event->desc, data); + inside = EINA_FALSE; + } + + called++; +} + int main(int argc, char *argv[]) { @@ -219,8 +235,21 @@ main(int argc, char *argv[]) efl_event_callback_legacy_call(obj, EV_RESTART, NULL); fail_if(inside); fail_if(called != 3); - efl_unref(obj); + + pd = NULL; + inside = EINA_FALSE; + called = 0; + + obj = efl_add_ref(SIMPLE_CLASS, NULL); + efl_event_callback_add(obj, EV_RESTART, _restart_3_no_stop_cb, NULL); + efl_event_callback_add(obj, EV_RESTART, _null_cb, NULL); + efl_event_callback_add(obj, EV_RESTART, _restart_3_no_stop_cb, NULL); + efl_event_callback_call(obj, EV_RESTART, NULL); + fail_if(inside); + fail_if(called != 2); + + efl_object_shutdown(); return 0; } diff --git a/src/tests/eo/signals/signals_simple.c b/src/tests/eo/signals/signals_simple.c index 0e016dc550..9f01761a02 100644 --- a/src/tests/eo/signals/signals_simple.c +++ b/src/tests/eo/signals/signals_simple.c @@ -11,9 +11,9 @@ typedef struct int a; } Private_Data; -EAPI const Efl_Event_Description _EV_A_CHANGED = +const Efl_Event_Description _EV_A_CHANGED = EFL_EVENT_DESCRIPTION("a,changed"); -EAPI const Efl_Event_Description _EV_RESTART = +const Efl_Event_Description _EV_RESTART = EFL_EVENT_DESCRIPTION_RESTART("restart"); #define MY_CLASS SIMPLE_CLASS @@ -69,7 +69,7 @@ _constructor(Eo *obj, void *class_data EINA_UNUSED) return obj; } -EAPI EFL_VOID_FUNC_BODYV(simple_a_set, EFL_FUNC_CALL(a), int a); +EFL_VOID_FUNC_BODYV(simple_a_set, EFL_FUNC_CALL(a), int a); static Eina_Bool _class_initializer(Efl_Class *klass) diff --git a/src/tests/eo/signals/signals_simple.h b/src/tests/eo/signals/signals_simple.h index d6a79aea10..02ffe51452 100644 --- a/src/tests/eo/signals/signals_simple.h +++ b/src/tests/eo/signals/signals_simple.h @@ -6,7 +6,7 @@ typedef struct int cb_count; } Simple_Public_Data; -EAPI void simple_a_set(Eo *obj, int a); +void simple_a_set(Eo *obj, int a); extern const Efl_Event_Description _EV_A_CHANGED; #define EV_A_CHANGED (&(_EV_A_CHANGED)) diff --git a/src/tests/eo/suite/eo_test_call_errors.c b/src/tests/eo/suite/eo_test_call_errors.c index 5a737a415d..c59b7c8e06 100644 --- a/src/tests/eo/suite/eo_test_call_errors.c +++ b/src/tests/eo/suite/eo_test_call_errors.c @@ -51,7 +51,7 @@ EFL_START_TEST(eo_op_not_found_in_super) Eo *obj = efl_add_ref(SIMPLE_CLASS, NULL); fail_if(!obj); - TEST_EO_ERROR("_efl_object_call_resolve", "in %s:%d: func '%s' (%d) could not be resolved for class '%s' for super of '%s'."); + TEST_EO_ERROR("_efl_object_call_resolve", "in %s:%d: func '%s' (%d) could not be resolved on %s for class '%s' for super of '%s'."); simple_a_set(efl_super(obj, SIMPLE_CLASS), 10); fail_unless(ctx.did); @@ -72,7 +72,7 @@ test_func(void) //implementation of the test function -EAPI void simple_error_test(Eo *obj); +void simple_error_test(Eo *obj); EFL_VOID_FUNC_BODY_FALLBACK(simple_error_test, test_func();); static void _test(Eo *obj EINA_UNUSED, void *pd EINA_UNUSED) diff --git a/src/tests/eo/suite/eo_test_class_simple.c b/src/tests/eo/suite/eo_test_class_simple.c index 846c2f2cb0..f6788afca6 100644 --- a/src/tests/eo/suite/eo_test_class_simple.c +++ b/src/tests/eo/suite/eo_test_class_simple.c @@ -7,10 +7,10 @@ #define MY_CLASS SIMPLE_CLASS -EAPI const Efl_Event_Description _EV_A_CHANGED = +const Efl_Event_Description _EV_A_CHANGED = EFL_EVENT_DESCRIPTION("a,changed"); -EAPI const Efl_Event_Description _EV_A_CHANGED2 = +const Efl_Event_Description _EV_A_CHANGED2 = EFL_EVENT_DESCRIPTION("a,changed"); static void @@ -27,12 +27,19 @@ static Eina_Error _a_set_reflect(Eo *obj, Eina_Value value) { int a; + Eina_Error r = 0; - eina_value_int_convert(&value, &a); + if (!eina_value_int_convert(&value, &a)) + { + r = EINA_ERROR_VALUE_FAILED; + goto end; + } simple_a_set(obj, a); + +end: eina_value_flush(&value); - return 0; + return r; } static int diff --git a/src/tests/eo/suite/eo_test_class_simple.h b/src/tests/eo/suite/eo_test_class_simple.h index b438b14d97..f7408e9199 100644 --- a/src/tests/eo/suite/eo_test_class_simple.h +++ b/src/tests/eo/suite/eo_test_class_simple.h @@ -6,14 +6,14 @@ typedef struct int a; } Simple_Public_Data; -EAPI void simple_a_set(Eo *obj, int a); -EAPI int simple_a_get(const Eo *obj); -EAPI Eina_Bool simple_a_print(Eo *obj); -EAPI Eina_Bool simple_class_hi_print(const Eo *obj); -EAPI void simple_recursive(Eo *obj, int n); -EAPI void simple_pure_virtual(Eo *obj); -EAPI void simple_no_implementation(Eo *obj); -EAPI Eo *simple_part_get(Eo *obj, const char *name); +void simple_a_set(Eo *obj, int a); +int simple_a_get(const Eo *obj); +Eina_Bool simple_a_print(Eo *obj); +Eina_Bool simple_class_hi_print(const Eo *obj); +void simple_recursive(Eo *obj, int n); +void simple_pure_virtual(Eo *obj); +void simple_no_implementation(Eo *obj); +Eo *simple_part_get(Eo *obj, const char *name); extern const Efl_Event_Description _EV_A_CHANGED; #define EV_A_CHANGED (&(_EV_A_CHANGED)) diff --git a/src/tests/eo/suite/eo_test_domain.c b/src/tests/eo/suite/eo_test_domain.c index 114f57060d..4adba195a6 100644 --- a/src/tests/eo/suite/eo_test_domain.c +++ b/src/tests/eo/suite/eo_test_domain.c @@ -8,7 +8,7 @@ #define MY_CLASS DOMAIN_CLASS -EAPI const Efl_Event_Description _EV_DOMAIN_A_CHANGED = +const Efl_Event_Description _EV_DOMAIN_A_CHANGED = EFL_EVENT_DESCRIPTION("domain,a,changed"); static void diff --git a/src/tests/eo/suite/eo_test_domain.h b/src/tests/eo/suite/eo_test_domain.h index ac7428534a..356b386767 100644 --- a/src/tests/eo/suite/eo_test_domain.h +++ b/src/tests/eo/suite/eo_test_domain.h @@ -6,9 +6,9 @@ typedef struct int a; } Domain_Public_Data; -EAPI void domain_a_set(Eo *obj, int a); -EAPI int domain_a_get(Eo *obj); -EAPI void domain_recursive(Eo *obj, int n); +void domain_a_set(Eo *obj, int a); +int domain_a_get(Eo *obj); +void domain_recursive(Eo *obj, int n); extern const Efl_Event_Description _EV_DOMAIN_A_CHANGED; #define EV_DOMAIN_A_CHANGED (&(_EV_DOMAIN_A_CHANGED)) diff --git a/src/tests/eo/suite/eo_test_event.c b/src/tests/eo/suite/eo_test_event.c index f7a26708f4..bde38d4b7e 100644 --- a/src/tests/eo/suite/eo_test_event.c +++ b/src/tests/eo/suite/eo_test_event.c @@ -11,11 +11,11 @@ //Class definition with one event -EWAPI const Efl_Class *efl_test_event_class_get(void); +EO_API_WEAK const Efl_Class *efl_test_event_class_get(void) EINA_CONST; -EWAPI extern const Efl_Event_Description _EFL_TEST_EVENT_EVENT_TESTER; -EWAPI extern const Efl_Event_Description _EFL_TEST_EVENT_EVENT_TESTER_SUBSCRIBE; -EWAPI extern const Efl_Event_Description _EFL_TEST_EVENT_EVENT_TESTER_CLAMP_TEST; +EO_API_WEAK extern const Efl_Event_Description _EFL_TEST_EVENT_EVENT_TESTER; +EO_API_WEAK extern const Efl_Event_Description _EFL_TEST_EVENT_EVENT_TESTER_SUBSCRIBE; +EO_API_WEAK extern const Efl_Event_Description _EFL_TEST_EVENT_EVENT_TESTER_CLAMP_TEST; #define EFL_TEST_EVENT_EVENT_TESTER (&(_EFL_TEST_EVENT_EVENT_TESTER)) #define EFL_TEST_EVENT_EVENT_TESTER_SUBSCRIBE (&(_EFL_TEST_EVENT_EVENT_TESTER_SUBSCRIBE)) @@ -232,13 +232,13 @@ void eo_test_event(TCase *tc) //class implementation -EWAPI const Efl_Event_Description _EFL_TEST_EVENT_EVENT_TESTER = +EO_API_WEAK const Efl_Event_Description _EFL_TEST_EVENT_EVENT_TESTER = EFL_EVENT_DESCRIPTION("tester"); -EWAPI const Efl_Event_Description _EFL_TEST_EVENT_EVENT_TESTER_SUBSCRIBE = +EO_API_WEAK const Efl_Event_Description _EFL_TEST_EVENT_EVENT_TESTER_SUBSCRIBE = EFL_EVENT_DESCRIPTION("tester"); -EWAPI const Efl_Event_Description _EFL_TEST_EVENT_EVENT_TESTER_CLAMP_TEST = +EO_API_WEAK const Efl_Event_Description _EFL_TEST_EVENT_EVENT_TESTER_CLAMP_TEST = EFL_EVENT_DESCRIPTION("tester"); diff --git a/src/tests/eo/suite/eo_test_general.c b/src/tests/eo/suite/eo_test_general.c index 1494f46c95..55c93cb9da 100644 --- a/src/tests/eo/suite/eo_test_general.c +++ b/src/tests/eo/suite/eo_test_general.c @@ -66,7 +66,7 @@ _simple_obj_override_a_double_set(Eo *obj, void *class_data EINA_UNUSED, int a) simple_a_set(efl_super(obj, EFL_OBJECT_OVERRIDE_CLASS), 2 * a); } -EAPI int test_class_beef_get(const Efl_Object *obj); +int test_class_beef_get(const Efl_Object *obj); EFL_FUNC_BODY_CONST(test_class_beef_get, int, 0) @@ -329,7 +329,6 @@ EFL_END_TEST EFL_START_TEST(efl_data_safe_fetch) { - Eo *obj = efl_add_ref(SIMPLE2_CLASS, NULL); fail_if(!obj || !efl_data_scope_safe_get(obj, SIMPLE2_CLASS)); efl_unref(obj); diff --git a/src/tests/eo/suite/eo_test_reflection_complex_class_structure.c b/src/tests/eo/suite/eo_test_reflection_complex_class_structure.c index 19727ca879..ecdcccc962 100644 --- a/src/tests/eo/suite/eo_test_reflection_complex_class_structure.c +++ b/src/tests/eo/suite/eo_test_reflection_complex_class_structure.c @@ -90,7 +90,7 @@ __eolian_complex_interface_i_test_set_reflect(Eo *obj, Eina_Value val) return r; } -EOAPI EFL_VOID_FUNC_BODYV(complex_interface_i_test_set, EFL_FUNC_CALL(i), int i); +EFL_VOID_FUNC_BODYV(complex_interface_i_test_set, EFL_FUNC_CALL(i), int i); static Eina_Value __eolian_complex_interface_i_test_get_reflect(const Eo *obj) @@ -99,7 +99,7 @@ __eolian_complex_interface_i_test_get_reflect(const Eo *obj) return eina_value_int_init(val); } -EOAPI EFL_FUNC_BODY_CONST(complex_interface_i_test_get, int, 0); +EFL_FUNC_BODY_CONST(complex_interface_i_test_get, int, 0); static Eina_Bool _complex_interface_class_initializer(Efl_Class *klass) @@ -157,7 +157,7 @@ __eolian_complex_mixin_m_test_set_reflect(Eo *obj, Eina_Value val) return r; } -EOAPI EFL_VOID_FUNC_BODYV(complex_mixin_m_test_set, EFL_FUNC_CALL(i), int i); +EFL_VOID_FUNC_BODYV(complex_mixin_m_test_set, EFL_FUNC_CALL(i), int i); static Eina_Value @@ -167,7 +167,7 @@ __eolian_complex_mixin_m_test_get_reflect(const Eo *obj) return eina_value_int_init(val); } -EOAPI EFL_FUNC_BODY_CONST(complex_mixin_m_test_get, int, 0); +EFL_FUNC_BODY_CONST(complex_mixin_m_test_get, int, 0); static Eina_Bool _complex_mixin_class_initializer(Efl_Class *klass) diff --git a/src/tests/eo/suite/eo_test_reflection_complex_class_structure.h b/src/tests/eo/suite/eo_test_reflection_complex_class_structure.h index ae615c9428..969091f5a8 100644 --- a/src/tests/eo/suite/eo_test_reflection_complex_class_structure.h +++ b/src/tests/eo/suite/eo_test_reflection_complex_class_structure.h @@ -3,18 +3,18 @@ typedef Eo Complex_Mixin; #define COMPLEX_MIXIN_MIXIN complex_mixin_mixin_get() -EWAPI const Efl_Class *complex_mixin_mixin_get(void); -EOAPI void complex_mixin_m_test_set(Eo *obj, int i); -EOAPI int complex_mixin_m_test_get(const Eo *obj); +const Efl_Class *complex_mixin_mixin_get(void) EINA_CONST; +void complex_mixin_m_test_set(Eo *obj, int i); +int complex_mixin_m_test_get(const Eo *obj); typedef Eo Complex_Interface; #define COMPLEX_INTERFACE_INTERFACE complex_interface_interface_get() -EWAPI const Efl_Class *complex_interface_interface_get(void); -EOAPI void complex_interface_i_test_set(Eo *obj, int i); -EOAPI int complex_interface_i_test_get(const Eo *obj); +const Efl_Class *complex_interface_interface_get(void) EINA_CONST; +void complex_interface_i_test_set(Eo *obj, int i); +int complex_interface_i_test_get(const Eo *obj); typedef Eo Complex_Class; #define COMPLEX_CLASS_CLASS complex_class_class_get() -EWAPI const Efl_Class *complex_class_class_get(void); +const Efl_Class *complex_class_class_get(void) EINA_CONST; #endif diff --git a/src/tests/eolian/data/base.eo b/src/tests/eolian/data/base.eo index 4f1b93d518..ddfd5716d7 100644 --- a/src/tests/eolian/data/base.eo +++ b/src/tests/eolian/data/base.eo @@ -1,4 +1,5 @@ abstract Base { + [[Docs for abstract class Base. @since 1.66]] methods { @property z { values { diff --git a/src/tests/eolian/data/class_funcs.eo b/src/tests/eolian/data/class_funcs.eo index 087f380003..7d72d2fca2 100644 --- a/src/tests/eolian/data/class_funcs.eo +++ b/src/tests/eolian/data/class_funcs.eo @@ -1,4 +1,5 @@ class Class_Funcs { + [[Docs for class Class_Funcs. @since 1.66]] methods { @property a @static { get { diff --git a/src/tests/eolian/data/class_requires.eo b/src/tests/eolian/data/class_requires.eo index ffbb4fef8d..fb33314c87 100644 --- a/src/tests/eolian/data/class_requires.eo +++ b/src/tests/eolian/data/class_requires.eo @@ -2,6 +2,7 @@ import base; import mixins_require; class Class.Requires extends Base implements Mixins.Require { + [[Docs for class Class.Requires. @since 1.66]] methods { } diff --git a/src/tests/eolian/data/class_simple.eo b/src/tests/eolian/data/class_simple.eo index 12ea743b48..a912f001b0 100644 --- a/src/tests/eolian/data/class_simple.eo +++ b/src/tests/eolian/data/class_simple.eo @@ -1,9 +1,9 @@ #version 1 -const Foo: int = 5; [[doc for constant]] +const Foo: int = 5; [[doc for constant @since 1.66]] class Class_Simple { - [[Class Desc Simple]] + [[Class Desc Simple @since 1.66]] c_prefix: efl_canvas_object_simple; data: Evas_Simple_Data; methods { diff --git a/src/tests/eolian/data/class_simple_ref.c b/src/tests/eolian/data/class_simple_ref.c index d11055ae5e..d80b0e3b38 100644 --- a/src/tests/eolian/data/class_simple_ref.c +++ b/src/tests/eolian/data/class_simple_ref.c @@ -17,7 +17,7 @@ __eolian_class_simple_a_set_reflect(Eo *obj, Eina_Value val) return r; } -EOAPI EFL_FUNC_BODYV(efl_canvas_object_simple_a_set, Eina_Bool, EINA_TRUE /* true */, EFL_FUNC_CALL(value), int value); +EAPI EAPI_WEAK EFL_FUNC_BODYV(efl_canvas_object_simple_a_set, Eina_Bool, EINA_TRUE /* true */, EFL_FUNC_CALL(value), int value); int _class_simple_a_get(const Eo *obj, Evas_Simple_Data *pd); @@ -29,7 +29,7 @@ __eolian_class_simple_a_get_reflect(const Eo *obj) return eina_value_int_init(val); } -EOAPI EFL_FUNC_BODY_CONST(efl_canvas_object_simple_a_get, int, 100); +EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_canvas_object_simple_a_get, int, 100); char *_class_simple_foo(Eo *obj, Evas_Simple_Data *pd, int a, char *b, double *c, int *d); @@ -39,7 +39,7 @@ static char *__eolian_class_simple_foo(Eo *obj, Evas_Simple_Data *pd, int a, cha return _class_simple_foo(obj, pd, a, b, c, d); } -EOAPI EFL_FUNC_BODYV(efl_canvas_object_simple_foo, char *, NULL /* null */, EFL_FUNC_CALL(a, b, c, d), int a, char *b, double *c, int *d); +EAPI EAPI_WEAK EFL_FUNC_BODYV(efl_canvas_object_simple_foo, char *, NULL /* null */, EFL_FUNC_CALL(a, b, c, d), int a, char *b, double *c, int *d); static Eina_Bool _class_simple_class_initializer(Efl_Class *klass) diff --git a/src/tests/eolian/data/class_simple_ref_eo.h b/src/tests/eolian/data/class_simple_ref_eo.h index d0a6d02ce8..56142c569b 100644 --- a/src/tests/eolian/data/class_simple_ref_eo.h +++ b/src/tests/eolian/data/class_simple_ref_eo.h @@ -14,6 +14,8 @@ typedef Eo Class_Simple; #ifndef FOO /** doc for constant * + * @since 1.66 + * * @ingroup Foo */ #define FOO 5 @@ -23,11 +25,13 @@ typedef Eo Class_Simple; #endif /** Class Desc Simple * + * @since 1.66 + * * @ingroup Class_Simple */ #define CLASS_SIMPLE_CLASS class_simple_class_get() -EWAPI const Efl_Class *class_simple_class_get(void); +EAPI EAPI_WEAK const Efl_Class *class_simple_class_get(void) EINA_CONST; #ifdef EFL_BETA_API_SUPPORT /** @@ -40,9 +44,11 @@ EWAPI const Efl_Class *class_simple_class_get(void); * * @return comment for property set return * + * @since 1.66 + * * @ingroup Class_Simple */ -EOAPI Eina_Bool efl_canvas_object_simple_a_set(Eo *obj, int value); +EAPI EAPI_WEAK Eina_Bool efl_canvas_object_simple_a_set(Eo *obj, int value); #endif /* EFL_BETA_API_SUPPORT */ #ifdef EFL_BETA_API_SUPPORT @@ -53,9 +59,11 @@ EOAPI Eina_Bool efl_canvas_object_simple_a_set(Eo *obj, int value); * * @return Value description * + * @since 1.66 + * * @ingroup Class_Simple */ -EOAPI int efl_canvas_object_simple_a_get(const Eo *obj); +EAPI EAPI_WEAK int efl_canvas_object_simple_a_get(const Eo *obj); #endif /* EFL_BETA_API_SUPPORT */ #ifdef EFL_BETA_API_SUPPORT @@ -70,9 +78,11 @@ EOAPI int efl_canvas_object_simple_a_get(const Eo *obj); * * @return comment for method return * + * @since 1.66 + * * @ingroup Class_Simple */ -EOAPI char *efl_canvas_object_simple_foo(Eo *obj, int a, char *b, double *c, int *d); +EAPI EAPI_WEAK char *efl_canvas_object_simple_foo(Eo *obj, int a, char *b, double *c, int *d); #endif /* EFL_BETA_API_SUPPORT */ #endif diff --git a/src/tests/eolian/data/complex_type.eo b/src/tests/eolian/data/complex_type.eo index 9cb6a1faf1..82613a1641 100644 --- a/src/tests/eolian/data/complex_type.eo +++ b/src/tests/eolian/data/complex_type.eo @@ -1,6 +1,6 @@ class Complex_Type { methods { - @property a { + @property a @beta { set { return: list<array<strbuf @move> > @move; } @@ -10,7 +10,7 @@ class Complex_Type { value: list<string> @move; } } - foo { + foo @beta { params { buf: mstring @move; sl: slice<ubyte>; diff --git a/src/tests/eolian/data/consts.eo b/src/tests/eolian/data/consts.eo index 9505e95387..953310541d 100644 --- a/src/tests/eolian/data/consts.eo +++ b/src/tests/eolian/data/consts.eo @@ -1,4 +1,5 @@ class Consts { + [[Docs for class Consts. @since 1.66]] methods { foo @const { [[comment foo]] diff --git a/src/tests/eolian/data/ctor_dtor.eo b/src/tests/eolian/data/ctor_dtor.eo index 71bdcede81..0e82c23520 100644 --- a/src/tests/eolian/data/ctor_dtor.eo +++ b/src/tests/eolian/data/ctor_dtor.eo @@ -1,4 +1,5 @@ class Ctor_Dtor extends Base { + [[Docs for class Ctor_Dtor. @since 1.66]] methods { custom_constructor_1 { params { diff --git a/src/tests/eolian/data/docs_ref.h b/src/tests/eolian/data/docs_ref.h index a00fafb5a5..00bf52ee07 100644 --- a/src/tests/eolian/data/docs_ref.h +++ b/src/tests/eolian/data/docs_ref.h @@ -60,7 +60,7 @@ typedef enum * * More docs for typedef. See @ref Bar. * - * @since 2.0 + * @since 1.1337 * * @ingroup Alias */ @@ -69,6 +69,8 @@ typedef Bar Alias; #ifndef PANTS /** Docs for var. * + * @since 1.66 + * * @ingroup pants */ #define PANTS 150 @@ -76,6 +78,8 @@ typedef Bar Alias; /** Opaque struct docs. See @ref Foo for another struct. * + * @since 1.66 + * * @ingroup Opaque */ typedef struct _Opaque Opaque; @@ -89,13 +93,13 @@ typedef struct _Opaque Opaque; * @ref PANTS @ref eo_docs_meth @ref eo_docs_prop_get @ref eo_docs_prop_get * @ref eo_docs_prop_set @ref Foo.field1 @ref BAR_FOO @ref Eo_Docs * - * @since 1.18 + * @since 1.66 * * @ingroup Eo_Docs */ #define EO_DOCS_CLASS eo_docs_class_get() -EWAPI const Efl_Class *eo_docs_class_get(void); +EAPI EAPI_WEAK const Efl_Class *eo_docs_class_get(void) EINA_CONST; /** * @brief Method documentation. @@ -107,11 +111,11 @@ EWAPI const Efl_Class *eo_docs_class_get(void); * * @return Return documentation. * - * @since 1.18 + * @since 1.66 * * @ingroup Eo_Docs */ -EOAPI int eo_docs_meth(Eo *obj, int a, float *b, long *c); +EAPI EAPI_WEAK int eo_docs_meth(Eo *obj, int a, float *b, long *c); /** * @brief Property common documentation. @@ -121,11 +125,11 @@ EOAPI int eo_docs_meth(Eo *obj, int a, float *b, long *c); * @param[in] obj The object. * @param[in] val Value documentation. * - * @since 1.18 + * @since 1.66 * * @ingroup Eo_Docs */ -EOAPI void eo_docs_prop_set(Eo *obj, int val); +EAPI EAPI_WEAK void eo_docs_prop_set(Eo *obj, int val); /** * @brief Property common documentation. @@ -136,27 +140,27 @@ EOAPI void eo_docs_prop_set(Eo *obj, int val); * * @return Value documentation. * - * @since 1.18 + * @since 1.66 * * @ingroup Eo_Docs */ -EOAPI int eo_docs_prop_get(const Eo *obj); +EAPI EAPI_WEAK int eo_docs_prop_get(const Eo *obj); -EOAPI void eo_docs_no_doc_meth(Eo *obj); +EAPI EAPI_WEAK void eo_docs_no_doc_meth(Eo *obj); /** No description supplied. * - * @since 1.18 + * @since 1.66 * * @ingroup Eo_Docs */ -EOAPI void eo_docs_doc_with_empty_doc(Eo *obj); +EAPI EAPI_WEAK void eo_docs_doc_with_empty_doc(Eo *obj); -EWAPI extern const Efl_Event_Description _EO_DOCS_EVENT_CLICKED; +EAPI EAPI_WEAK extern const Efl_Event_Description _EO_DOCS_EVENT_CLICKED; /** Event docs. * - * @since 1.18 + * @since 1.66 * * @ingroup Eo_Docs */ diff --git a/src/tests/eolian/data/enum.eo b/src/tests/eolian/data/enum.eo index 0cfc78dd42..cf8115d64a 100644 --- a/src/tests/eolian/data/enum.eo +++ b/src/tests/eolian/data/enum.eo @@ -1,23 +1,27 @@ // regular named enum enum Foo { + [[Docs for enum Foo. @since 1.66]] first, bar, baz = 5 * 3 } enum Baz { + [[Docs for enum Baz. @since 1.66]] flag1 = 1 << 0, flag2 = 1 << 1, flag3 = 1 << 2, // testing trailing comma on last item } enum Name.Spaced { + [[Docs for enum Name.Space. @since 1.66]] pants } -const Bah: Baz = Baz.flag1; +const Bah: Baz = Baz.flag1; [[Docs for var Bah. @since 1.66]] enum Value { + [[Docs for enum Value. @since 1.66]] foo, bar, baz = 2, @@ -26,9 +30,10 @@ enum Value { pants } -const Pants: Value = Value.pants; +const Pants: Value = Value.pants; [[Docs for var Pants. @since 1.66]] class Enum { + [[Docs for class Enum. @since 1.66]] methods { foo { params { diff --git a/src/tests/eolian/data/eo_docs.eo b/src/tests/eolian/data/eo_docs.eo index 8c62559d5a..4857aff665 100644 --- a/src/tests/eolian/data/eo_docs.eo +++ b/src/tests/eolian/data/eo_docs.eo @@ -30,12 +30,12 @@ enum Bar { type Alias: Bar; [[Docs for typedef. More docs for typedef. - See @Bar. @since 2.0 + See @Bar. @since 1.1337 ]] -const pants: int = 150; [[Docs for var.]] +const pants: int = 150; [[Docs for var. @since 1.66]] -struct Opaque; [[Opaque struct docs. See @Foo for another struct.]] +struct Opaque; [[Opaque struct docs. See @Foo for another struct. @since 1.66]] class Eo_Docs { [[Docs for class. @@ -53,7 +53,7 @@ class Eo_Docs { @Bar.foo @Eo_Docs - @since 1.18 + @since 1.66 ]] methods { meth { @@ -67,8 +67,6 @@ class Eo_Docs { } @property prop { [[Property common documentation. - - @since 1.18 ]] get { [[Get documentation.]] diff --git a/src/tests/eolian/data/error.eo b/src/tests/eolian/data/error.eo index 3a5867ac8d..34b1a1a129 100644 --- a/src/tests/eolian/data/error.eo +++ b/src/tests/eolian/data/error.eo @@ -1,4 +1,4 @@ -error Foo = "something bad happened"; [[Error doc]] +error Foo = "something bad happened"; [[Error doc. @since 1.66]] error @beta Bar = "another bad thing happened"; [[Another error doc]] class @beta Error { diff --git a/src/tests/eolian/data/events.eo b/src/tests/eolian/data/events.eo index 95b6a8f43c..04047e1157 100644 --- a/src/tests/eolian/data/events.eo +++ b/src/tests/eolian/data/events.eo @@ -1,4 +1,5 @@ struct Evas_Event_Clicked_Double_Info { + [[Docs for struct Evas_Event_Clicked_Double_Info. @since 1.66]] pants: int; } diff --git a/src/tests/eolian/data/extern.eo b/src/tests/eolian/data/extern.eo index 28ceb7e2aa..455541a809 100644 --- a/src/tests/eolian/data/extern.eo +++ b/src/tests/eolian/data/extern.eo @@ -1,22 +1,23 @@ /* regular type */ -type Foo: int; +type Foo: int; [[Docs for typedef Foo. @since 1.66]] /* extern type */ -type @extern Evas.Coord: int; +type @extern Evas.Coord: int; [[Docs for typedef Evas.Coord. @since 1.66]] /* regular struct */ -struct X -{ +struct X { + [[Docs for struct X. @since 1.66]] field: int; } /* extern struct */ -struct @extern Y -{ +struct @extern Y { + [[Docs for struct Y. @since 1.66]] field: int; } class Extern { + [[Docs for class Extern. @since 1.66]] methods { foo { params { diff --git a/src/tests/eolian/data/free_func.eo b/src/tests/eolian/data/free_func.eo index b10c74db6a..2aee43b294 100644 --- a/src/tests/eolian/data/free_func.eo +++ b/src/tests/eolian/data/free_func.eo @@ -1,16 +1,19 @@ /* regular struct */ struct Named1 { + [[Docs for struct Named1. @since 1.66]] field: int; } struct @free(test_free) Named2 { + [[Docs for struct Named2. @since 1.66]] field: int; } /* opaque */ -struct Opaque1; -struct @free(opaque_free) Opaque2; +struct Opaque1; [[Docs for Opaque1. @since 1.66]] +struct @free(opaque_free) Opaque2; [[Docs for struct Opaque2. @since 1.66]] class Free_Func { + [[Docs for class Free_Func. @since 1.66]] methods { foo { params { diff --git a/src/tests/eolian/data/function_as_argument.eo b/src/tests/eolian/data/function_as_argument.eo index 29b0f4b91c..7d8424c663 100644 --- a/src/tests/eolian/data/function_as_argument.eo +++ b/src/tests/eolian/data/function_as_argument.eo @@ -1,6 +1,7 @@ import function_types; class Function_As_Argument { + [[Docs for class Function_As_Argument. @since 1.66]] methods { set_cb { params { diff --git a/src/tests/eolian/data/function_as_argument_ref.c b/src/tests/eolian/data/function_as_argument_ref.c index 6d3a70d402..926d78693c 100644 --- a/src/tests/eolian/data/function_as_argument_ref.c +++ b/src/tests/eolian/data/function_as_argument_ref.c @@ -1,11 +1,11 @@ void _function_as_argument_set_cb(Eo *obj, Function_As_Argument_Data *pd, void *cb_data, SimpleFunc cb, Eina_Free_Cb cb_free_cb); -EOAPI EFL_VOID_FUNC_BODYV(function_as_argument_set_cb, EFL_FUNC_CALL(cb_data, cb, cb_free_cb), void *cb_data, SimpleFunc cb, Eina_Free_Cb cb_free_cb); +EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(function_as_argument_set_cb, EFL_FUNC_CALL(cb_data, cb, cb_free_cb), void *cb_data, SimpleFunc cb, Eina_Free_Cb cb_free_cb); char *_function_as_argument_call_cb(Eo *obj, Function_As_Argument_Data *pd, int a, double b); -EOAPI EFL_FUNC_BODYV(function_as_argument_call_cb, char *, NULL, EFL_FUNC_CALL(a, b), int a, double b); +EAPI EAPI_WEAK EFL_FUNC_BODYV(function_as_argument_call_cb, char *, NULL, EFL_FUNC_CALL(a, b), int a, double b); static Eina_Bool _function_as_argument_class_initializer(Efl_Class *klass) diff --git a/src/tests/eolian/data/function_as_argument_ref.h b/src/tests/eolian/data/function_as_argument_ref.h index b93a3e02ed..f79652eade 100644 --- a/src/tests/eolian/data/function_as_argument_ref.h +++ b/src/tests/eolian/data/function_as_argument_ref.h @@ -13,12 +13,18 @@ typedef Eo Function_As_Argument; #endif +/** Docs for class Function_As_Argument. + * + * @since 1.66 + * + * @ingroup Function_As_Argument + */ #define FUNCTION_AS_ARGUMENT_CLASS function_as_argument_class_get() -EWAPI const Efl_Class *function_as_argument_class_get(void); +EAPI EAPI_WEAK const Efl_Class *function_as_argument_class_get(void) EINA_CONST; -EOAPI void function_as_argument_set_cb(Eo *obj, void *cb_data, SimpleFunc cb, Eina_Free_Cb cb_free_cb); +EAPI EAPI_WEAK void function_as_argument_set_cb(Eo *obj, void *cb_data, SimpleFunc cb, Eina_Free_Cb cb_free_cb); -EOAPI char *function_as_argument_call_cb(Eo *obj, int a, double b) EFL_TRANSFER_OWNERSHIP EINA_WARN_UNUSED_RESULT; +EAPI EAPI_WEAK char *function_as_argument_call_cb(Eo *obj, int a, double b) EFL_TRANSFER_OWNERSHIP EINA_WARN_UNUSED_RESULT; #endif diff --git a/src/tests/eolian/data/iface.eo b/src/tests/eolian/data/iface.eo index 153bc0f914..72857f6054 100644 --- a/src/tests/eolian/data/iface.eo +++ b/src/tests/eolian/data/iface.eo @@ -1,4 +1,5 @@ interface Iface { + [[Docs for interface Iface. @since 1.66]] methods { foo {} bar {} diff --git a/src/tests/eolian/data/import.eo b/src/tests/eolian/data/import.eo index 894842487d..258ed454d5 100644 --- a/src/tests/eolian/data/import.eo +++ b/src/tests/eolian/data/import.eo @@ -1,8 +1,9 @@ import import_types; class Import { + [[Docs for class Import. @since 1.66]] methods { foo { } } -}
\ No newline at end of file +} diff --git a/src/tests/eolian/data/mixins_require.eo b/src/tests/eolian/data/mixins_require.eo index 474e1a3af1..ece6f0e82e 100644 --- a/src/tests/eolian/data/mixins_require.eo +++ b/src/tests/eolian/data/mixins_require.eo @@ -2,6 +2,7 @@ import base; import class_simple; mixin Mixins.Require requires Base { + [[Docs for mixin Mixins.Require. @since 1.66]] methods { test { diff --git a/src/tests/eolian/data/nmsp1_class1.eo b/src/tests/eolian/data/nmsp1_class1.eo index a494e5e1c5..e15bfdc0e0 100644 --- a/src/tests/eolian/data/nmsp1_class1.eo +++ b/src/tests/eolian/data/nmsp1_class1.eo @@ -1,5 +1,5 @@ -class nmsp1.class1 extends nmsp1.nmsp11.class2 implements nmsp2.class1, no_nmsp -{ +class nmsp1.class1 extends nmsp1.nmsp11.class2 implements nmsp2.class1, no_nmsp { + [[Docs for class nmsp1.class1. @since 1.66]] implements { nmsp1.nmsp11.class2.a { set; } no_nmsp.foo; diff --git a/src/tests/eolian/data/nmsp1_nmsp11_class2.eo b/src/tests/eolian/data/nmsp1_nmsp11_class2.eo index 40c7b854b9..3a3018832c 100644 --- a/src/tests/eolian/data/nmsp1_nmsp11_class2.eo +++ b/src/tests/eolian/data/nmsp1_nmsp11_class2.eo @@ -1,5 +1,5 @@ -abstract nmsp1.nmsp11.class2 -{ +abstract nmsp1.nmsp11.class2 { + [[Docs for abstract nmsp1.nmsp11.class2. @since 1.66]] methods { @property a { set @pure_virtual { diff --git a/src/tests/eolian/data/nmsp2_class1.eo b/src/tests/eolian/data/nmsp2_class1.eo index e92be95c1d..058f5fefdf 100644 --- a/src/tests/eolian/data/nmsp2_class1.eo +++ b/src/tests/eolian/data/nmsp2_class1.eo @@ -1,3 +1,3 @@ -mixin nmsp2.class1 -{ +mixin nmsp2.class1 { + [[Docs for mixin nmsp2.class1. @since 1.66]] } diff --git a/src/tests/eolian/data/no_nmsp.eo b/src/tests/eolian/data/no_nmsp.eo index daf4313282..30108ffcc9 100644 --- a/src/tests/eolian/data/no_nmsp.eo +++ b/src/tests/eolian/data/no_nmsp.eo @@ -1,5 +1,5 @@ -mixin no_nmsp -{ +mixin no_nmsp { + [[Docs for mixin no_nmsp . @since 1.66]] methods { foo { } diff --git a/src/tests/eolian/data/object_impl.eo b/src/tests/eolian/data/object_impl.eo index 7fe8ce2e24..10d85b2d05 100644 --- a/src/tests/eolian/data/object_impl.eo +++ b/src/tests/eolian/data/object_impl.eo @@ -1,6 +1,9 @@ abstract Object_Impl extends Base { + [[This Object Impl + @since 1.66 + ]] methods { - @property a { + @property a @beta { set { values { value: const(list<string>); @@ -17,25 +20,28 @@ abstract Object_Impl extends Base { } } @property b { + [[Docs for property b. @since 1.66]] set { } get @pure_virtual { /* set as virtual pure - no implementation expected */ } values { - value: list<string> @move; + value: iterator<string> @move; } } constructor_1 { + [[Docs for method constructor_1. @since 1.66]] params { @in a: int; @in b: char; } } constructor_2 { + [[Docs for method constructor_2. @since 1.66]] } foo1 { - [[comment foo]] + [[comment foo. @since 1.66]] params { @in a: int; [[a]] @inout b: char; @@ -44,13 +50,14 @@ abstract Object_Impl extends Base { return: mstring (null); [[comment for method return]] } foo2 @const { - [[comment foo]] + [[comment foo. @since 1.66]] params { @in a: int; @in b: string; } } pure_foo3 @pure_virtual { + [[Docs for method pure_foo3. @since 1.66]] /* set as virtual pure - no implementation expected */ } } diff --git a/src/tests/eolian/data/object_impl_add.eo b/src/tests/eolian/data/object_impl_add.eo index c1e82e2365..b8113a2f01 100644 --- a/src/tests/eolian/data/object_impl_add.eo +++ b/src/tests/eolian/data/object_impl_add.eo @@ -2,7 +2,7 @@ class Object_Impl_Add extends Base { data: Object_Impl_Data; methods { - @property c { + @property c @beta { set { } get { diff --git a/src/tests/eolian/data/object_impl_add_ref.c b/src/tests/eolian/data/object_impl_add_ref.c index f6b8fa5927..55f57578bb 100644 --- a/src/tests/eolian/data/object_impl_add_ref.c +++ b/src/tests/eolian/data/object_impl_add_ref.c @@ -20,7 +20,7 @@ _object_impl_a_get(const Eo *obj, Object_Impl_Data *pd, const char *part) } EOLIAN static void -_object_impl_b_set(Eo *obj, Object_Impl_Data *pd, Eina_List *value) +_object_impl_b_set(Eo *obj, Object_Impl_Data *pd, Eina_Iterator *value) { } diff --git a/src/tests/eolian/data/object_impl_ref.c b/src/tests/eolian/data/object_impl_ref.c index ddc0d7ccd5..32a331529f 100644 --- a/src/tests/eolian/data/object_impl_ref.c +++ b/src/tests/eolian/data/object_impl_ref.c @@ -20,7 +20,7 @@ _object_impl_a_get(const Eo *obj, Object_Impl_Data *pd, const char *part) } EOLIAN static void -_object_impl_b_set(Eo *obj, Object_Impl_Data *pd, Eina_List *value) +_object_impl_b_set(Eo *obj, Object_Impl_Data *pd, Eina_Iterator *value) { } diff --git a/src/tests/eolian/data/override.eo b/src/tests/eolian/data/override.eo index 4cee6008d3..dbd2b50ee9 100644 --- a/src/tests/eolian/data/override.eo +++ b/src/tests/eolian/data/override.eo @@ -1,4 +1,5 @@ abstract Override extends Base { + [[Docs for abstract class Override. @since 1.66]] methods { @property a { set @pure_virtual { diff --git a/src/tests/eolian/data/override_ref.c b/src/tests/eolian/data/override_ref.c index dbbbbae263..e2dec87915 100644 --- a/src/tests/eolian/data/override_ref.c +++ b/src/tests/eolian/data/override_ref.c @@ -1,8 +1,8 @@ -EOAPI EFL_VOID_FUNC_BODY(override_a_set); +EAPI EAPI_WEAK EFL_VOID_FUNC_BODY(override_a_set); void _override_a_get(const Eo *obj, Override_Data *pd); -EOAPI EFL_VOID_FUNC_BODY_CONST(override_a_get); +EAPI EAPI_WEAK EFL_VOID_FUNC_BODY_CONST(override_a_get); static void __eolian_override_b_set(Eo *obj EINA_UNUSED, Override_Data *pd, int idx EINA_UNUSED, float a, char b, int c) { @@ -11,23 +11,23 @@ static void __eolian_override_b_set(Eo *obj EINA_UNUSED, Override_Data *pd, int pd->c = c; } -EOAPI EFL_VOID_FUNC_BODYV(override_b_set, EFL_FUNC_CALL(idx, a, b, c), int idx, float a, char b, int c); +EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(override_b_set, EFL_FUNC_CALL(idx, a, b, c), int idx, float a, char b, int c); void _override_b_get(const Eo *obj, Override_Data *pd, int idx, float *a, char *b, int *c); -EOAPI EFL_VOID_FUNC_BODYV_CONST(override_b_get, EFL_FUNC_CALL(idx, a, b, c), int idx, float *a, char *b, int *c); +EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV_CONST(override_b_get, EFL_FUNC_CALL(idx, a, b, c), int idx, float *a, char *b, int *c); void _override_c_set(Eo *obj, Override_Data *pd, int idx, int c); -EOAPI EFL_VOID_FUNC_BODYV(override_c_set, EFL_FUNC_CALL(idx, c), int idx, int c); +EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(override_c_set, EFL_FUNC_CALL(idx, c), int idx, int c); static int __eolian_override_c_get(const Eo *obj EINA_UNUSED, Override_Data *pd EINA_UNUSED, int idx EINA_UNUSED) { return 50; } -EOAPI EFL_FUNC_BODYV_CONST(override_c_get, int, 50, EFL_FUNC_CALL(idx), int idx); -EOAPI EFL_VOID_FUNC_BODY(override_foo); +EAPI EAPI_WEAK EFL_FUNC_BODYV_CONST(override_c_get, int, 50, EFL_FUNC_CALL(idx), int idx); +EAPI EAPI_WEAK EFL_VOID_FUNC_BODY(override_foo); static void __eolian_override_bar(Eo *obj EINA_UNUSED, Override_Data *pd EINA_UNUSED, int idx EINA_UNUSED, int *a, char **str) { @@ -35,7 +35,7 @@ static void __eolian_override_bar(Eo *obj EINA_UNUSED, Override_Data *pd EINA_UN if (str) *str = NULL; } -EOAPI EFL_VOID_FUNC_BODYV(override_bar, EFL_FUNC_CALL(idx, a, str), int idx, int *a, char **str); +EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(override_bar, EFL_FUNC_CALL(idx, a, str), int idx, int *a, char **str); void _override_base_constructor(Eo *obj, Override_Data *pd); diff --git a/src/tests/eolian/data/owning_ref.c b/src/tests/eolian/data/owning_ref.c index 6c9b30debe..6964944983 100644 --- a/src/tests/eolian/data/owning_ref.c +++ b/src/tests/eolian/data/owning_ref.c @@ -11,7 +11,7 @@ _owning_test1_ownership_fallback(Eina_List *test1, Eina_Iterator *test2, Eina_Ha eina_accessor_free(test4); } -EOAPI EFL_VOID_FUNC_BODYV_FALLBACK(owning_test1, _owning_test1_ownership_fallback(test1, test2, test3, test4);, EFL_FUNC_CALL(test1, test2, test3, test4), Eina_List *test1, Eina_Iterator *test2, Eina_Hash *test3, Eina_Accessor *test4); +EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV_FALLBACK(owning_test1, _owning_test1_ownership_fallback(test1, test2, test3, test4);, EFL_FUNC_CALL(test1, test2, test3, test4), Eina_List *test1, Eina_Iterator *test2, Eina_Hash *test3, Eina_Accessor *test4); void _owning_test2(Eo *obj, Owning_Data *pd, Eina_List *test1, Eina_Hash *test2); @@ -27,7 +27,7 @@ _owning_test2_ownership_fallback(Eina_List *test1, Eina_Hash *test2) eina_hash_free(test2); } -EOAPI EFL_VOID_FUNC_BODYV_FALLBACK(owning_test2, _owning_test2_ownership_fallback(test1, test2);, EFL_FUNC_CALL(test1, test2), Eina_List *test1, Eina_Hash *test2); +EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV_FALLBACK(owning_test2, _owning_test2_ownership_fallback(test1, test2);, EFL_FUNC_CALL(test1, test2), Eina_List *test1, Eina_Hash *test2); static Eina_Bool _owning_class_initializer(Efl_Class *klass) diff --git a/src/tests/eolian/data/scope.eo b/src/tests/eolian/data/scope.eo index def94d1d08..7f4da220bb 100644 --- a/src/tests/eolian/data/scope.eo +++ b/src/tests/eolian/data/scope.eo @@ -1,4 +1,5 @@ class Scope { + [[Docs for class Scope. @since 1.66]] methods { @property a @protected { get { diff --git a/src/tests/eolian/data/struct.eo b/src/tests/eolian/data/struct.eo index 57f250bdbe..96ed3c528e 100644 --- a/src/tests/eolian/data/struct.eo +++ b/src/tests/eolian/data/struct.eo @@ -1,20 +1,24 @@ struct Named { + [[Docs for struct Named. @since 1.66]] field: int @by_ref; something: string; } struct Another { + [[Docs for struct Another. @since 1.66]] field: Named; } /* opaque struct */ -struct Opaque; +struct Opaque; [[Docs for struct Opaque. @since 1.66]] struct @extern Not.Generated { + [[Docs for struct Not.Generated. @since 1.66]] field: int; } class Struct { + [[Docs for class Struct. @since 1.66]] methods { foo { [[Foo docs. This is $monospace. This is alone-standing $.]] diff --git a/src/tests/eolian/data/struct_ref.h b/src/tests/eolian/data/struct_ref.h index ec7ea52671..189ef6b04c 100644 --- a/src/tests/eolian/data/struct_ref.h +++ b/src/tests/eolian/data/struct_ref.h @@ -11,24 +11,48 @@ typedef Eo Struct; #ifndef _STRUCT_EO_TYPES #define _STRUCT_EO_TYPES +/** Docs for struct Named. + * + * @since 1.66 + * + * @ingroup Named + */ typedef struct _Named { int *field; const char *something; } Named; +/** Docs for struct Another. + * + * @since 1.66 + * + * @ingroup Another + */ typedef struct _Another { Named field; } Another; +/** Docs for struct Opaque. + * + * @since 1.66 + * + * @ingroup Opaque + */ typedef struct _Opaque Opaque; #endif +/** Docs for class Struct. + * + * @since 1.66 + * + * @ingroup Struct + */ #define STRUCT_CLASS struct_class_get() -EWAPI const Efl_Class *struct_class_get(void); +EAPI EAPI_WEAK const Efl_Class *struct_class_get(void) EINA_CONST; /** * @brief Foo docs. This is @c monospace. This is alone-standing $. @@ -36,10 +60,12 @@ EWAPI const Efl_Class *struct_class_get(void); * @param[in] obj The object. * @param[in] idx * + * @since 1.66 + * * @ingroup Struct */ -EOAPI char *struct_foo(Eo *obj, int idx) EFL_TRANSFER_OWNERSHIP EINA_WARN_UNUSED_RESULT; +EAPI EAPI_WEAK char *struct_foo(Eo *obj, int idx) EFL_TRANSFER_OWNERSHIP EINA_WARN_UNUSED_RESULT; -EOAPI Named *struct_bar(Eo *obj); +EAPI EAPI_WEAK Named *struct_bar(Eo *obj); #endif diff --git a/src/tests/eolian/data/struct_ref_stub.h b/src/tests/eolian/data/struct_ref_stub.h index 5ef89d3c1a..724509d2b5 100644 --- a/src/tests/eolian/data/struct_ref_stub.h +++ b/src/tests/eolian/data/struct_ref_stub.h @@ -3,10 +3,28 @@ typedef Eo Struct; +/** Docs for struct Named. + * + * @since 1.66 + * + * @ingroup Named + */ typedef struct _Named Named; +/** Docs for struct Another. + * + * @since 1.66 + * + * @ingroup Another + */ typedef struct _Another Another; +/** Docs for struct Opaque. + * + * @since 1.66 + * + * @ingroup Opaque + */ typedef struct _Opaque Opaque; diff --git a/src/tests/eolian/data/typedef.eo b/src/tests/eolian/data/typedef.eo index 916a39fcfc..27aced1b42 100644 --- a/src/tests/eolian/data/typedef.eo +++ b/src/tests/eolian/data/typedef.eo @@ -1,15 +1,15 @@ -type Evas.Coord: int; /* Simple type definition */ -type List_Objects: list<Typedef>; /* A little more complex */ +type Evas.Coord: int; /* Simple type definition */ [[Docs for typedef Evas.Coord. @since 1.66]] +type List_Objects: iterator<Typedef>; /* A little more complex */ [[Docs for typedef List_Objects. @since 1.66]] -type Evas.Coord2: Evas.Coord; -type Evas.Coord3: Evas.Coord2; +type Evas.Coord2: Evas.Coord; [[Docs for typedef Evas.Coord2. @since 1.66]] +type Evas.Coord3: Evas.Coord2; [[Docs for typedef Evas.Coord3. @since 1.66]] -type @extern Evas.Pants: float; /* not generated */ +type @extern Evas.Pants: float; /* not generated */ [[Docs for typedef Evas.Pants. @since 1.66]] type @beta Undef: __undefined_type; /* not generated */ -enum Elm.Object.Select_Mode -{ +enum Elm.Object.Select_Mode { + [[Docs for enum Elm.Object.Select_Mode. @since 1.66]] default = 0, always, none, @@ -18,6 +18,7 @@ enum Elm.Object.Select_Mode } class Typedef { + [[Docs for class Typedef. @since 1.66]] methods { foo { params { diff --git a/src/tests/eolian/data/typedef_ref.h b/src/tests/eolian/data/typedef_ref.h index dd3f3ad85e..616e0a38a7 100644 --- a/src/tests/eolian/data/typedef_ref.h +++ b/src/tests/eolian/data/typedef_ref.h @@ -11,14 +11,44 @@ typedef Eo Typedef; #ifndef _TYPEDEF_EO_TYPES #define _TYPEDEF_EO_TYPES +/** Docs for typedef Evas.Coord. + * + * @since 1.66 + * + * @ingroup Evas_Coord + */ typedef int Evas_Coord; -typedef Eina_List *List_Objects; +/** Docs for typedef List_Objects. + * + * @since 1.66 + * + * @ingroup List_Objects + */ +typedef Eina_Iterator *List_Objects; +/** Docs for typedef Evas.Coord2. + * + * @since 1.66 + * + * @ingroup Evas_Coord2 + */ typedef Evas_Coord Evas_Coord2; +/** Docs for typedef Evas.Coord3. + * + * @since 1.66 + * + * @ingroup Evas_Coord3 + */ typedef Evas_Coord2 Evas_Coord3; +/** Docs for enum Elm.Object.Select_Mode. + * + * @since 1.66 + * + * @ingroup Elm_Object_Select_Mode + */ typedef enum { ELM_OBJECT_SELECT_MODE_DEFAULT = 0, @@ -30,10 +60,16 @@ typedef enum #endif +/** Docs for class Typedef. + * + * @since 1.66 + * + * @ingroup Typedef + */ #define TYPEDEF_CLASS typedef_class_get() -EWAPI const Efl_Class *typedef_class_get(void); +EAPI EAPI_WEAK const Efl_Class *typedef_class_get(void) EINA_CONST; -EOAPI char *typedef_foo(Eo *obj, int idx) EFL_TRANSFER_OWNERSHIP EINA_WARN_UNUSED_RESULT; +EAPI EAPI_WEAK char *typedef_foo(Eo *obj, int idx) EFL_TRANSFER_OWNERSHIP EINA_WARN_UNUSED_RESULT; #endif diff --git a/src/tests/eolian/data/typedef_ref_stub.h b/src/tests/eolian/data/typedef_ref_stub.h index 0f6f4ec38b..fb0adab671 100644 --- a/src/tests/eolian/data/typedef_ref_stub.h +++ b/src/tests/eolian/data/typedef_ref_stub.h @@ -3,12 +3,36 @@ typedef Eo Typedef; +/** Docs for typedef Evas.Coord. + * + * @since 1.66 + * + * @ingroup Evas_Coord + */ typedef int Evas_Coord; -typedef Eina_List *List_Objects; +/** Docs for typedef List_Objects. + * + * @since 1.66 + * + * @ingroup List_Objects + */ +typedef Eina_Iterator *List_Objects; +/** Docs for typedef Evas.Coord2. + * + * @since 1.66 + * + * @ingroup Evas_Coord2 + */ typedef Evas_Coord Evas_Coord2; +/** Docs for typedef Evas.Coord3. + * + * @since 1.66 + * + * @ingroup Evas_Coord3 + */ typedef Evas_Coord2 Evas_Coord3; diff --git a/src/tests/eolian/data/unimpl.eo b/src/tests/eolian/data/unimpl.eo index 1e11a85e93..422fe5f5e0 100644 --- a/src/tests/eolian/data/unimpl.eo +++ b/src/tests/eolian/data/unimpl.eo @@ -1,4 +1,5 @@ class Unimpl composites Iface { + [[Docs for clss Unimpl. @since 1.66]] implements { Iface.foo; } diff --git a/src/tests/eolian/data/var.eo b/src/tests/eolian/data/var.eo index 6424427ae0..c6a29ca62f 100644 --- a/src/tests/eolian/data/var.eo +++ b/src/tests/eolian/data/var.eo @@ -1,7 +1,8 @@ // regular constant -const Foo: int = 5; +const Foo: int = 5; [[Docs for var Foo. @since 1.66]] class Var { + [[Docs for class Var. @since 1.66]] methods { foo { params { diff --git a/src/tests/eolian/data_aux/aux_a.eo b/src/tests/eolian/data_aux/aux_a.eo index b79d8877e3..4b3f5b28a0 100644 --- a/src/tests/eolian/data_aux/aux_a.eo +++ b/src/tests/eolian/data_aux/aux_a.eo @@ -1,4 +1,5 @@ class Aux_A extends Aux_C { + [[Docs for class Aux_A. @since 1.66]] methods { baz {} } diff --git a/src/tests/eolian/data_aux/aux_b.eo b/src/tests/eolian/data_aux/aux_b.eo index 728c465790..b8e9f115d1 100644 --- a/src/tests/eolian/data_aux/aux_b.eo +++ b/src/tests/eolian/data_aux/aux_b.eo @@ -1,2 +1,3 @@ class Aux_B extends Aux_C { + [[Docs for class Aux_B. @since 1.66]] } diff --git a/src/tests/eolian/data_aux/aux_c.eo b/src/tests/eolian/data_aux/aux_c.eo index 7e67ed547d..c1b748ff0c 100644 --- a/src/tests/eolian/data_aux/aux_c.eo +++ b/src/tests/eolian/data_aux/aux_c.eo @@ -1,4 +1,5 @@ class Aux_C { + [[Docs for class Aux_C. @since 1.66]] methods { foo {} bar {} diff --git a/src/tests/eolian/eolian_generated_future.c b/src/tests/eolian/eolian_generated_future.c index 556f55a1db..2b9c513c53 100644 --- a/src/tests/eolian/eolian_generated_future.c +++ b/src/tests/eolian/eolian_generated_future.c @@ -11,5 +11,8 @@ struct Generated_Future_Data {}; typedef struct Generated_Future_Data Generated_Future_Data; +#define EOTEST_API +#define EOTEST_API_WEAK + #include "generated_future.eo.h" #include "generated_future.eo.c" diff --git a/src/tests/eolian/eolian_generation.c b/src/tests/eolian/eolian_generation.c index f60bb875bf..8e0babd39d 100644 --- a/src/tests/eolian/eolian_generation.c +++ b/src/tests/eolian/eolian_generation.c @@ -106,6 +106,7 @@ EFL_START_TEST(eolian_dev_impl_code) fail_if(0 != _eolian_gen_execute(TESTS_SRC_DIR"/data/object_impl.eo", "-gi", output_filepath)); fail_if(!_files_compare(TESTS_SRC_DIR"/data/object_impl_ref.c", output_filepath, "c")); fail_if(0 != _eolian_gen_execute(TESTS_SRC_DIR"/data/object_impl_add.eo", "-gi", output_filepath)); + fprintf(stderr, "[%s]\n", output_filepath); fail_if(!_files_compare(TESTS_SRC_DIR"/data/object_impl_add_ref.c", output_filepath, "c")); } EFL_END_TEST diff --git a/src/tests/eolian/eolian_parsing.c b/src/tests/eolian/eolian_parsing.c index 9d137dcec3..c914e4ec4f 100644 --- a/src/tests/eolian/eolian_parsing.c +++ b/src/tests/eolian/eolian_parsing.c @@ -368,7 +368,7 @@ EFL_START_TEST(eolian_typedef) fail_if(strcmp(type_name, "List_Objects")); fail_if(!(type = eolian_typedecl_base_type_get(tdl))); fail_if(!(type_name = eolian_type_c_type_get(type))); - fail_if(strcmp(type_name, "Eina_List *")); + fail_if(strcmp(type_name, "Eina_Iterator *")); eina_stringshare_del(type_name); fail_if(!(type = eolian_type_base_type_get(type))); fail_if(!!eolian_type_next_type_get(type)); @@ -539,7 +539,7 @@ EFL_START_TEST(eolian_simple_parsing) const Eolian_Type *tp; const Eolian_Unit *unit; Eina_Iterator *iter; - Eolian_Value v; + Eolian_Value v, vv; void *dummy; Eolian_State *eos = eolian_state_new(); @@ -579,13 +579,14 @@ EFL_START_TEST(eolian_simple_parsing) /* Set return */ tp = eolian_function_return_type_get(fid, EOLIAN_PROP_SET); fail_if(!tp); - printf("BUILT %d\n", (int)eolian_type_builtin_type_get(tp)); fail_if(eolian_type_builtin_type_get(tp) != EOLIAN_TYPE_BUILTIN_BOOL); fail_if(strcmp(eolian_type_short_name_get(tp), "bool")); expr = eolian_function_return_default_value_get(fid, EOLIAN_PROP_SET); fail_if(!expr); v = eolian_expression_eval(expr, EOLIAN_MASK_BOOL); + fail_if(!eolian_expression_eval_fill(expr, EOLIAN_MASK_BOOL, &vv)); fail_if(v.type != EOLIAN_EXPR_BOOL); + fail_if(vv.type != EOLIAN_EXPR_BOOL); /* Get return */ tp = eolian_function_return_type_get(fid, EOLIAN_PROP_GET); fail_if(tp); @@ -639,7 +640,7 @@ EFL_START_TEST(eolian_simple_parsing) fail_if(!expr); v = eolian_expression_eval(expr, EOLIAN_MASK_FLOAT); fail_if(v.type != EOLIAN_EXPR_DOUBLE); - fail_if(v.value.d != 1337.6); + fail_if(!EINA_DBL_EQ(v.value.d, 1337.6)); fail_if(!(eina_iterator_next(iter, (void**)¶m))); fail_if(eolian_parameter_direction_get(param) != EOLIAN_PARAMETER_IN); fail_if(strcmp(eolian_type_short_name_get(eolian_parameter_type_get(param)), "int")); @@ -805,6 +806,7 @@ EFL_START_TEST(eolian_error) const Eolian_Function *f1, *f2; const Eolian_Type *rtp1, *rtp2; const Eolian_Error *err1, *err2; + Eina_Stringshare *str; Eolian_State *eos = eolian_state_new(); @@ -822,6 +824,9 @@ EFL_START_TEST(eolian_error) fail_if(eolian_type_type_get(rtp1) != EOLIAN_TYPE_ERROR); fail_if(eolian_type_next_type_get(rtp1) != NULL); fail_if(strcmp(eolian_type_name_get(rtp1), "Foo")); + fail_if(!(str = eolian_type_c_type_get(rtp1))); + fail_if(strcmp(str, "Eina_Error")); + eina_stringshare_del(str); fail_if(!(err1 = eolian_type_error_get(rtp1))); fail_if(strcmp(eolian_error_message_get(err1), "something bad happened")); @@ -1175,7 +1180,7 @@ EFL_START_TEST(eolian_docs) fail_if(strcmp(eolian_documentation_description_get(doc), "More docs for typedef. See @Bar.")); fail_if(strcmp(eolian_documentation_since_get(doc), - "2.0")); + "1.1337")); fail_if(!(var = eolian_unit_constant_by_name_get(unit, "pants"))); fail_if(!(doc = eolian_constant_documentation_get(var))); @@ -1237,7 +1242,7 @@ EFL_START_TEST(eolian_docs) "Property common documentation.")); fail_if(eolian_documentation_description_get(doc)); fail_if(strcmp(eolian_documentation_since_get(doc), - "1.18")); + "1.66")); fail_if(!(doc = eolian_implement_documentation_get(fimp, EOLIAN_PROP_GET))); fail_if(strcmp(eolian_documentation_summary_get(doc), "Get documentation.")); diff --git a/src/tests/eolian/eolian_static.c b/src/tests/eolian/eolian_static.c index fc156beb56..18c8d13742 100644 --- a/src/tests/eolian/eolian_static.c +++ b/src/tests/eolian/eolian_static.c @@ -12,10 +12,8 @@ EFL_START_TEST(eolian_static_check) fail_if(!eolian_state_directory_add(eos, EO_SRC_DIR)); fail_if(!eolian_state_all_eot_files_parse(eos)); fail_if(!eolian_state_all_eo_files_parse(eos)); -#if 0 /* too many failures to enable this yet */ fail_if(!eolian_state_check(eos)); -#endif eolian_state_free(eos); } EFL_END_TEST diff --git a/src/tests/eolian/generated_future.eo b/src/tests/eolian/generated_future.eo index 4cf5518f93..d8d8ff7757 100644 --- a/src/tests/eolian/generated_future.eo +++ b/src/tests/eolian/generated_future.eo @@ -1,5 +1,5 @@ -class Generated_Future extends Efl.Object -{ +class Generated_Future extends Efl.Object { + [[Docs for class Generated_Future. @since 1.66]] methods { } } diff --git a/src/tests/eolian/meson.build b/src/tests/eolian/meson.build index f4b6cdc6f1..cd9c4f185f 100644 --- a/src/tests/eolian/meson.build +++ b/src/tests/eolian/meson.build @@ -22,7 +22,8 @@ foreach eo_file : priv_eo_files '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'), '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'), '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'), - '-gchd', '@INPUT@']) + '-e', 'EOTEST_API', + '-gchd', '@INPUT@']) endforeach eolian_suite = executable('eolian_suite', diff --git a/src/tests/eolian_cxx/a.c b/src/tests/eolian_cxx/a.c index 4fa7af7849..8039d58b5d 100644 --- a/src/tests/eolian_cxx/a.c +++ b/src/tests/eolian_cxx/a.c @@ -4,6 +4,9 @@ #include <Eo.h> +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include "a.eo.h" struct _A_Data diff --git a/src/tests/eolian_cxx/a.eo b/src/tests/eolian_cxx/a.eo index cc94262821..1319f4a14d 100644 --- a/src/tests/eolian_cxx/a.eo +++ b/src/tests/eolian_cxx/a.eo @@ -1,5 +1,5 @@ -class A extends Efl.Object -{ +class A extends Efl.Object { + [[Docs for class A. @since 1.66]] data: A_Data; implements { Efl.Object.constructor; diff --git a/src/tests/eolian_cxx/b.c b/src/tests/eolian_cxx/b.c index 2ff548f70d..61cf67a3da 100644 --- a/src/tests/eolian_cxx/b.c +++ b/src/tests/eolian_cxx/b.c @@ -4,6 +4,9 @@ #include <Eo.h> +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include "a.eo.h" #include "b.eo.h" diff --git a/src/tests/eolian_cxx/b.eo b/src/tests/eolian_cxx/b.eo index c293edc9c0..ebec257987 100644 --- a/src/tests/eolian_cxx/b.eo +++ b/src/tests/eolian_cxx/b.eo @@ -1,5 +1,5 @@ -class B extends A -{ +class B extends A { + [[Docs for class B. @since 1.66]] data: B_Data; implements { Efl.Object.constructor; diff --git a/src/tests/eolian_cxx/c.c b/src/tests/eolian_cxx/c.c index 45c3e0af66..ba7b45bc88 100644 --- a/src/tests/eolian_cxx/c.c +++ b/src/tests/eolian_cxx/c.c @@ -4,6 +4,9 @@ #include <Eo.h> +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include "a.eo.h" #include "b.eo.h" #include "c.eo.h" diff --git a/src/tests/eolian_cxx/c.eo b/src/tests/eolian_cxx/c.eo index fe7921c67a..b66aea15c8 100644 --- a/src/tests/eolian_cxx/c.eo +++ b/src/tests/eolian_cxx/c.eo @@ -1,5 +1,5 @@ -class C extends B -{ +class C extends B { + [[Docs for class C. @since 1.66]] data: C_Data; implements { Efl.Object.constructor; diff --git a/src/tests/eolian_cxx/callback.eo b/src/tests/eolian_cxx/callback.eo index 6dd2c721b7..24f2e45f90 100644 --- a/src/tests/eolian_cxx/callback.eo +++ b/src/tests/eolian_cxx/callback.eo @@ -1,11 +1,11 @@ -struct Callback_Event -{ +struct Callback_Event { + [[Docs for struct Callback_Event. @since 1.66]] field1: int; field2: list<string>; } -class Callback extends Efl.Object -{ +class Callback extends Efl.Object { + [[Docs for class Callback. @since 1.66]] data: Callback_Data; events { prefix,event1: void; diff --git a/src/tests/eolian_cxx/complex.c b/src/tests/eolian_cxx/complex.c index 76db444a74..e30c8cb343 100644 --- a/src/tests/eolian_cxx/complex.c +++ b/src/tests/eolian_cxx/complex.c @@ -9,6 +9,9 @@ struct Complex_Data {}; typedef struct Complex_Data Complex_Data; +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include "complex.eo.h" EOLIAN static void diff --git a/src/tests/eolian_cxx/complex.eo b/src/tests/eolian_cxx/complex.eo index a87391d83b..d48003ea46 100644 --- a/src/tests/eolian_cxx/complex.eo +++ b/src/tests/eolian_cxx/complex.eo @@ -1,59 +1,60 @@ -class Complex extends Efl.Object -{ +class Complex extends Efl.Object { data: Complex_Data; methods { // container test - inptrcont { + inptrcont @beta { params { l: list<string>; } } - inclasscont { + inclasscont @beta { params { l: list<Efl.Object>; } } - incontcont { + incontcont @beta { params { l: list<list<string>>; } } - incontcontown { + incontcontown @beta { params { l: list<list<string>> @move; } } - incontowncontown { + incontowncontown @beta { params { l: list<list<string> @move> @move; } } - incontowncont { + incontowncont @beta { params { l: list<list<string> @move>; } } - instringcont { + instringcont @beta { params { l: list<string>; } } - instringowncont { + instringowncont @beta { params { l: list<mstring @move>; } } - instringcontown { + instringcontown @beta { params { l: list<string> @move; } } inarray { + [[Docs for method inarray. @since 1.66]] params { l: array<string>; } } inarrayown { + [[Docs for method inarrayown. @since 1.66]] params { l: array<string> @move; } @@ -69,72 +70,78 @@ class Complex extends Efl.Object } } initerator { + [[Docs for method initerator. @since 1.66]] params { l: iterator<int>; } } initeratorown { + [[Docs for method initeratorown. @since 1.66]] params { l: iterator<int> @move; } } inaccessor { + [[Docs for method inacessor. @since 1.66]] params { l: accessor<int>; } } inaccessorown { + [[Docs for method inaccessorown. @since 1.66]] params { l: accessor<int> @move; } } // out - outclasscont { + outclasscont @beta { params { @out l: list<Efl.Object>; } } - outcontcont { + outcontcont @beta { params { @out l: list<list<string>>; } } - outcontcontown { + outcontcontown @beta { params { @out l: list<list<string>> @move; } } - outcontowncontown { + outcontowncontown @beta { params { @out l: list<list<string> @move> @move; } } - outcontowncont { + outcontowncont @beta { params { @out l: list<list<string> @move>; } } - outstringcont { + outstringcont @beta { params { @out l: list<string>; } } - outstringowncont { + outstringowncont @beta { params { @out l: list<mstring @move>; } } - outstringcontown { + outstringcontown @beta { params { @out l: list<string> @move; } } outarray { + [[Docs for method outarray. @since 1.66]] params { @out l: array<string>; } } outarrayown { + [[Docs for method outarryown. @since 1.66]] params { @out l: array<string> @move; } @@ -150,47 +157,56 @@ class Complex extends Efl.Object } } outiterator { + [[Docs for method outiterator. @since 1.66]] params { @out l: iterator<int>; } } outiteratorown { + [[Docs for method outiteratorown. @since 1.66]] params { @out l: iterator<int> @move; } } outaccessor { + [[Docs for method outaccessor. @since 1.66]] params { @out l: accessor<int>; } } outaccessorown { + [[Docs for method outaccessorown. @since 1.66]] params { @out l: accessor<int> @move; } } - foo { + foo @beta { params { l: list<string>; } } bar { + [[Docs for method bar. @since 1.66]] return: array<string>; } wrapper_r { + [[Docs for method wrapper_r. @since 1.66]] return: Complex; } wrapper_in { + [[Docs for method wrapper_in. @since 1.66]] params { @in a1: Complex; } } wrapper_inout { + [[Docs for method wrapper_inout. @since 1.66]] params { @inout a1: Complex; } } wrapper_out { + [[Docs for method wrapper_out. @since 1.66]] params { @out a1: Complex; } diff --git a/src/tests/eolian_cxx/complex_cxx.cc b/src/tests/eolian_cxx/complex_cxx.cc index 8d73fb87d5..7df39152f5 100644 --- a/src/tests/eolian_cxx/complex_cxx.cc +++ b/src/tests/eolian_cxx/complex_cxx.cc @@ -21,6 +21,9 @@ #include <Eina.h> #include <Eo.h> +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include "complex.eo.h" #include "complex.eo.hh" diff --git a/src/tests/eolian_cxx/cyclic1.eo b/src/tests/eolian_cxx/cyclic1.eo index 519a08e760..0a19603ad9 100644 --- a/src/tests/eolian_cxx/cyclic1.eo +++ b/src/tests/eolian_cxx/cyclic1.eo @@ -1,5 +1,5 @@ -class Cyclic1 -{ +class Cyclic1 { + [[Docs for class Cyclic1. @since 1.66]] methods { foo { return: Cyclic2; diff --git a/src/tests/eolian_cxx/cyclic2.eo b/src/tests/eolian_cxx/cyclic2.eo index 1fbed3f1f4..5d0c19585e 100644 --- a/src/tests/eolian_cxx/cyclic2.eo +++ b/src/tests/eolian_cxx/cyclic2.eo @@ -1,5 +1,5 @@ -class Cyclic2 -{ +class Cyclic2 { + [[Docs for class Cyclic2. @since 1.66]] methods { foo { return: Cyclic1; diff --git a/src/tests/eolian_cxx/docs.eo b/src/tests/eolian_cxx/docs.eo index 55c7dc28e6..d18dcce344 100644 --- a/src/tests/eolian_cxx/docs.eo +++ b/src/tests/eolian_cxx/docs.eo @@ -19,7 +19,10 @@ struct Foo { } enum Bar { - [[Docs for enum Bar.]] + [[Docs for enum Bar. + + @since 1.66 + ]] blah = 0, foo = 1, [[Docs for foo.]] bar = 2 [[Docs for bar.]] @@ -28,12 +31,12 @@ enum Bar { type Alias: Bar; [[Docs for typedef. More docs for typedef. - See @Bar. @since 2.0 + See @Bar. @since 1.66 ]] -const pants: int = 150; [[Docs for var.]] +const pants: int = 150; [[Docs for var. @since 1.66]] -struct Opaque; [[Opaque struct docs. See @Foo for another struct.]] +struct Opaque; [[Opaque struct docs. See @Foo for another struct. @since 1.66]] class Docs { [[Docs for class. @@ -51,7 +54,7 @@ class Docs { @Bar.foo @Docs - @since 1.17 + @since 1.66 ]] methods { meth { @@ -66,7 +69,7 @@ class Docs { @property prop { [[Property common documentation. - @since 1.18 + @since 1.66 ]] get { [[Get documentation.]] diff --git a/src/tests/eolian_cxx/eolian_cxx_test_address_of.cc b/src/tests/eolian_cxx/eolian_cxx_test_address_of.cc index 9b108a1b4b..6665f1af3f 100644 --- a/src/tests/eolian_cxx/eolian_cxx_test_address_of.cc +++ b/src/tests/eolian_cxx/eolian_cxx_test_address_of.cc @@ -19,6 +19,9 @@ #include <Eo.hh> +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include <a.eo.hh> #include <b.eo.hh> #include <c.eo.hh> diff --git a/src/tests/eolian_cxx/eolian_cxx_test_binding.cc b/src/tests/eolian_cxx/eolian_cxx_test_binding.cc index c6e0381551..47a4e9c49c 100644 --- a/src/tests/eolian_cxx/eolian_cxx_test_binding.cc +++ b/src/tests/eolian_cxx/eolian_cxx_test_binding.cc @@ -21,6 +21,10 @@ #include <map> +#define GENERIC_BETA +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include <generic.eo.hh> #include <generic.eo.impl.hh> #include <name1_name2_type_generation.eo.hh> @@ -160,8 +164,8 @@ EFL_START_TEST(eolian_cxx_test_type_callback) efl::eo::eo_init i; bool event1 = false, event2 = false, event3 = false, event4 = false - , event5 = false; - + , event5 = false, event6 = false; + nonamespace::Generic g(efl::eo::instantiate); efl::eolian::event_add(g.prefix_event1_event, g, [&] (nonamespace::Generic) { @@ -183,22 +187,28 @@ EFL_START_TEST(eolian_cxx_test_type_callback) // FIXME eina::range_array is incompatible with eina::string_view //ck_assert(*e.begin() == efl::eina::string_view{"42"}); }); - efl::eolian::event_add(g.prefix_event5_event, g, [&] (nonamespace::Generic, Generic_Event) + efl::eolian::event_add(g.prefix_event5_event, g, [&] (nonamespace::Generic, Generic_Beta_Event) { event5 = true; }); + efl::eolian::event_add(g.prefix_event6_event, g, [&] (nonamespace::Generic, Generic_Event) + { + event6 = true; + }); g.call_event1(); g.call_event2(); g.call_event3(); g.call_event4(); g.call_event5(); + g.call_event6(); ck_assert(event1); ck_assert(event2); ck_assert(event3); ck_assert(event4); ck_assert(event5); + ck_assert(event6); } EFL_END_TEST diff --git a/src/tests/eolian_cxx/eolian_cxx_test_cyclic.cc b/src/tests/eolian_cxx/eolian_cxx_test_cyclic.cc index 28c5ebd485..158728d4f3 100644 --- a/src/tests/eolian_cxx/eolian_cxx_test_cyclic.cc +++ b/src/tests/eolian_cxx/eolian_cxx_test_cyclic.cc @@ -24,6 +24,9 @@ typedef Eo Cyclic1; typedef Eo Cyclic2; } +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include <cyclic1.eo.h> #include <cyclic2.eo.h> #include <cyclic1.eo.hh> diff --git a/src/tests/eolian_cxx/eolian_cxx_test_documentation.cc b/src/tests/eolian_cxx/eolian_cxx_test_documentation.cc index eb683e3312..a0372b3606 100644 --- a/src/tests/eolian_cxx/eolian_cxx_test_documentation.cc +++ b/src/tests/eolian_cxx/eolian_cxx_test_documentation.cc @@ -70,7 +70,7 @@ EFL_START_TEST(eolian_cxx_test_class_docs) "@Foo.field1 " "@Bar.foo " "@Docs"); - ck_assert_str_eq(doc.since.c_str(), "1.17"); + ck_assert_str_eq(doc.since.c_str(), "1.66"); } EFL_END_TEST @@ -89,12 +89,12 @@ EFL_START_TEST(eolian_cxx_test_function_docs) documentation_def doc = func.documentation; ck_assert_str_eq(doc.summary.c_str(), "Method documentation."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), "1.17"); // Since is inherited from parent if not present, except when no doc is present ofr this member. + ck_assert_str_eq(doc.since.c_str(), "1.66"); // Since is inherited from parent if not present, except when no doc is present ofr this member. doc = func.return_documentation; ck_assert_str_eq(doc.summary.c_str(), "Return documentation."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), "1.17"); + ck_assert_str_eq(doc.since.c_str(), "1.66"); auto param_iter = func.parameters.begin(); @@ -102,7 +102,7 @@ EFL_START_TEST(eolian_cxx_test_function_docs) doc = param_iter->documentation; ck_assert_str_eq(doc.summary.c_str(), "Param documentation."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), "1.17"); + ck_assert_str_eq(doc.since.c_str(), "1.66"); param_iter++; @@ -118,7 +118,7 @@ EFL_START_TEST(eolian_cxx_test_function_docs) doc = param_iter->documentation; ck_assert_str_eq(doc.summary.c_str(), "Another param documentation."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), "1.17"); + ck_assert_str_eq(doc.since.c_str(), "1.66"); } EFL_END_TEST @@ -140,12 +140,12 @@ EFL_START_TEST(eolian_cxx_test_property_docs) documentation_def doc = func.property_documentation; ck_assert_str_eq(doc.summary.c_str(), "Property common documentation."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), "1.18"); + ck_assert_str_eq(doc.since.c_str(), "1.66"); doc = func.documentation; // Actual getdocumentation. ck_assert_str_eq(doc.summary.c_str(), "Get documentation."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), "1.17"); // Members inherit from parent *class* + ck_assert_str_eq(doc.since.c_str(), "1.66"); // Members inherit from parent *class* func_iter = std::find_if(klass.functions.begin(), klass.functions.end(), [](const function_def& f) { @@ -158,13 +158,13 @@ EFL_START_TEST(eolian_cxx_test_property_docs) doc = func.documentation; // Actual getdocumentation. ck_assert_str_eq(doc.summary.c_str(), "Set documentation."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), "1.17"); // Members inherit from parent *class* + ck_assert_str_eq(doc.since.c_str(), "1.66"); // Members inherit from parent *class* auto property_iter = klass.properties.begin(); auto property = *property_iter; doc = property.documentation; ck_assert_str_eq(doc.summary.c_str(), "Property common documentation."); - ck_assert_str_eq(doc.since.c_str(), "1.18"); + ck_assert_str_eq(doc.since.c_str(), "1.66"); } EFL_END_TEST @@ -180,7 +180,7 @@ EFL_START_TEST(eolian_cxx_test_event_docs) documentation_def doc = event.documentation; ck_assert_str_eq(doc.summary.c_str(), "Event docs."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), "1.17"); // Members inherit from parent *class* + ck_assert_str_eq(doc.since.c_str(), "1.66"); // Members inherit from parent *class* } EFL_END_TEST @@ -198,7 +198,7 @@ EFL_START_TEST(eolian_cxx_test_enum_docs) documentation_def doc = _enum.documentation; ck_assert_str_eq(doc.summary.c_str(), "Docs for enum Bar."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), ""); + ck_assert_str_eq(doc.since.c_str(), "1.66"); // fields auto field_iter = _enum.fields.begin(); @@ -215,7 +215,7 @@ EFL_START_TEST(eolian_cxx_test_enum_docs) doc = field_iter->documentation; ck_assert_str_eq(doc.summary.c_str(), "Docs for foo."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), ""); + ck_assert_str_eq(doc.since.c_str(), "1.66"); field_iter++; @@ -223,7 +223,7 @@ EFL_START_TEST(eolian_cxx_test_enum_docs) doc = field_iter->documentation; ck_assert_str_eq(doc.summary.c_str(), "Docs for bar."); ck_assert_str_eq(doc.description.c_str(), ""); - ck_assert_str_eq(doc.since.c_str(), ""); + ck_assert_str_eq(doc.since.c_str(), "1.66"); } EFL_END_TEST diff --git a/src/tests/eolian_cxx/eolian_cxx_test_inheritance.cc b/src/tests/eolian_cxx/eolian_cxx_test_inheritance.cc index 2a7fb04733..19a53925dd 100644 --- a/src/tests/eolian_cxx/eolian_cxx_test_inheritance.cc +++ b/src/tests/eolian_cxx/eolian_cxx_test_inheritance.cc @@ -20,6 +20,9 @@ #include <Eo.h> #include <Ecore.h> +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include <simple.eo.hh> #include "eolian_cxx_suite.h" @@ -33,7 +36,7 @@ // bool simple_get() // { -// printf("calling bar::%s\n", __FUNCTION__); +// printf("calling bar::%s\n", __func__); // return false; // } // }; diff --git a/src/tests/eolian_cxx/eolian_cxx_test_wrapper.cc b/src/tests/eolian_cxx/eolian_cxx_test_wrapper.cc index 16fc984db4..e1d585cfab 100644 --- a/src/tests/eolian_cxx/eolian_cxx_test_wrapper.cc +++ b/src/tests/eolian_cxx/eolian_cxx_test_wrapper.cc @@ -20,6 +20,9 @@ #include <Eo.h> #include <Ecore.h> +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include <a.eo.hh> #include "eolian_cxx_suite.h" diff --git a/src/tests/eolian_cxx/generic.c b/src/tests/eolian_cxx/generic.c index 0bbf894457..dd337f0516 100644 --- a/src/tests/eolian_cxx/generic.c +++ b/src/tests/eolian_cxx/generic.c @@ -8,6 +8,9 @@ #define GENERIC_BETA #define GENERIC_PROTECTED +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include "generic.eo.h" #include "generic_interface.eo.h" @@ -125,10 +128,21 @@ static void _generic_call_event5(Eo *obj, Generic_Data* pd EINA_UNUSED) const char *s = "42"; Eina_List* p = eina_list_append(NULL, s); - Generic_Event e = {.field1 = 42, .field2 = p}; + Generic_Beta_Event e = {.field1 = 42, .field2 = p}; efl_event_callback_call(obj, GENERIC_EVENT_PREFIX_EVENT5, &e); eina_list_free(p); } +static void _generic_call_event6(Eo *obj, Generic_Data* pd EINA_UNUSED) +{ + const char *s = "42"; + Eina_Array* p = eina_array_new(1); + + eina_array_push(p, s); + + Generic_Event e = {.field1 = 42, .field2 = p}; + efl_event_callback_call(obj, GENERIC_EVENT_PREFIX_EVENT6, &e); + eina_array_free(p); +} static void _generic_protected_method1(Eo *obj EINA_UNUSED, Generic_Data* pd EINA_UNUSED) { } diff --git a/src/tests/eolian_cxx/generic.eo b/src/tests/eolian_cxx/generic.eo index cf7aa3b31e..0d8f9b263e 100644 --- a/src/tests/eolian_cxx/generic.eo +++ b/src/tests/eolian_cxx/generic.eo @@ -1,15 +1,21 @@ -struct Generic.Event +struct @beta Generic.Beta_Event { field1: int; field2: list<string>; } -class Generic extends Efl.Object implements Generic_Interface -{ +struct Generic.Event { + [[Docs for struct Generic.Event. @since 1.66]] + field1: int; + field2: array<string>; +} + +class Generic extends Efl.Object implements Generic_Interface { data: Generic_Data; methods { @property req_ctor_a_value { + [[Docs for property req_actor_a_value. @since 1.66]] get { } values { @@ -17,6 +23,7 @@ class Generic extends Efl.Object implements Generic_Interface } } @property opt_ctor_a_value { + [[Docs for property property opt_ctor_a_value. @since 1.66]] get { } values { @@ -24,92 +31,115 @@ class Generic extends Efl.Object implements Generic_Interface } } required_ctor_a { + [[Docs for method required_ctor_a. @since 1.66]] params { @in value: int; } } required_ctor_b { + [[Docs for method required_ctor_b. @since 1.66]] params { @in value: int; } } optional_ctor_a { + [[Docs for method optional_ctor_a. @since 1.66]] params { @in value: int; } } optional_ctor_b { + [[Docs for method optional_ctor_b. @since 1.66]] params { @in value: int; } } @property req_ctor_b_value { + [[Docs for property rec_ctor_b_value. @since 1.66]] get {} values { value: int; } } @property opt_ctor_b_value { + [[Docs for property opt_ctor_b_value. @since 1.66]] get {} values { value: int; } } out_required_ctor_a { + [[Docs for method out_required_ctor_a. @since 1.66]] params { @out value: int; } } out_required_ctor_b { + [[Docs for method out_required_ctor_b. @since 1.66]] params { @out value: int; } } out_optional_ctor_a { + [[Docs for method out_optional_ctor_a. @since 1.66]] params { @out value: int; } } out_optional_ctor_b { + [[Docs for method out_optional_ctor_b. @since 1.66]] params { @out value: int; } } call_event1 { + [[Docs for method call_event1. @since 1.66]] } call_event2 { + [[Docs for method call_event2. @since 1.66]] } call_event3 { + [[Docs for method call_event3. @since 1.66]] } call_event4 { + [[Docs for method call_event4. @since 1.66]] } call_event5 { + [[Docs for method call_event5. @since 1.66]] + } + call_event6 { + [[Docs for method call_event6. @since 1.66]] } protected_method1 @protected { + [[Docs for protected method protected_method1. @since 1.66]] } beta_method1 @beta { } protected_beta_method1 @protected @beta { } event_param { + [[Docs for method event_param. @since 1.66]] params { value: event; } } const_event_param { + [[Docs for method const_event_param. @since 1.66]] params { value: const(event); } } binbuf_param { + [[Docs for method binbuf_param. @since 1.66]] params { value: binbuf; } } const_binbuf_param { + [[Docs for method const_binbuf_param. @since 1.66]] params { value: const(binbuf); } @@ -129,7 +159,8 @@ class Generic extends Efl.Object implements Generic_Interface prefix,event2: Generic; prefix,event3: int; prefix,event4: const(array<string>); - prefix,event5: Generic.Event; + prefix,event5 @beta: Generic.Beta_Event; + prefix,event6: Generic.Event; protected,event1 @protected: void; beta,event1 @beta: void; protected,beta,event1 @beta @protected: void; diff --git a/src/tests/eolian_cxx/generic_interface.eo b/src/tests/eolian_cxx/generic_interface.eo index 9f11c1a73c..659faa4531 100644 --- a/src/tests/eolian_cxx/generic_interface.eo +++ b/src/tests/eolian_cxx/generic_interface.eo @@ -1,3 +1,3 @@ -interface Generic_Interface -{ +interface Generic_Interface { + [[Docs for interface Generic_Interface. @since 1.66]] } diff --git a/src/tests/eolian_cxx/meson.build b/src/tests/eolian_cxx/meson.build index 23b2727eaf..9e0fbb366e 100644 --- a/src/tests/eolian_cxx/meson.build +++ b/src/tests/eolian_cxx/meson.build @@ -55,6 +55,7 @@ foreach eo_file : pub_eo_files command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories, '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'), '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'), + '-e', 'EOLIANCXXTEST_API', '-gch', '@INPUT@']) endforeach diff --git a/src/tests/eolian_cxx/name1_name2_type_generation.c b/src/tests/eolian_cxx/name1_name2_type_generation.c index 9b03b36237..2d06a5f55e 100644 --- a/src/tests/eolian_cxx/name1_name2_type_generation.c +++ b/src/tests/eolian_cxx/name1_name2_type_generation.c @@ -14,6 +14,9 @@ typedef struct _Type_Generation_Data Type_Generation_Data; #define MY_CLASS TYPE1_TYPE2_TYPE_GENERATION_CLASS +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include "name1_name2_type_generation.eo.h" void _name1_name2_type_generation_invoidptr(Eo *obj EINA_UNUSED, Type_Generation_Data *pd EINA_UNUSED, void *v) diff --git a/src/tests/eolian_cxx/name_name.c b/src/tests/eolian_cxx/name_name.c index 89f9a73844..0515225e22 100644 --- a/src/tests/eolian_cxx/name_name.c +++ b/src/tests/eolian_cxx/name_name.c @@ -11,6 +11,9 @@ typedef struct Ns_Name_Data Ns_Name_Data; struct Ns_Name_Other_Data {}; typedef struct Ns_Name_Other_Data Ns_Name_Other_Data; +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include "name_name.eo.h" #include "name_name.eo.c" #include "ns_name.eo.h" diff --git a/src/tests/eolian_cxx/name_name.eo b/src/tests/eolian_cxx/name_name.eo index 64b0db1ab4..3fe2224ce3 100644 --- a/src/tests/eolian_cxx/name_name.eo +++ b/src/tests/eolian_cxx/name_name.eo @@ -1,3 +1,4 @@ class Name.Name { + [[Docs for class Name.Name. @since 1.66]] } diff --git a/src/tests/eolian_cxx/name_name_cxx.cc b/src/tests/eolian_cxx/name_name_cxx.cc index 00e1d13666..f0d9740b7d 100644 --- a/src/tests/eolian_cxx/name_name_cxx.cc +++ b/src/tests/eolian_cxx/name_name_cxx.cc @@ -20,6 +20,9 @@ #include <Eo.h> +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include "name_name.eo.h" #include "name_name.eo.hh" #include "ns_name.eo.h" diff --git a/src/tests/eolian_cxx/ns_name.eo b/src/tests/eolian_cxx/ns_name.eo index 9610d82f23..7bc76bcace 100644 --- a/src/tests/eolian_cxx/ns_name.eo +++ b/src/tests/eolian_cxx/ns_name.eo @@ -1,3 +1,4 @@ class Ns.Name { + [[Docs for NS.Name. @since 1.66]] } diff --git a/src/tests/eolian_cxx/ns_name_other.eo b/src/tests/eolian_cxx/ns_name_other.eo index a8983c45c6..c20bf4d2e3 100644 --- a/src/tests/eolian_cxx/ns_name_other.eo +++ b/src/tests/eolian_cxx/ns_name_other.eo @@ -1,3 +1,4 @@ class Ns.Name.Other { + [[Docs for Ns.Name.Other. @since 1.66]] } diff --git a/src/tests/eolian_cxx/property_holder.eo b/src/tests/eolian_cxx/property_holder.eo index 8509ffe648..91a9788d73 100644 --- a/src/tests/eolian_cxx/property_holder.eo +++ b/src/tests/eolian_cxx/property_holder.eo @@ -1,5 +1,5 @@ -class Property_Holder extends Efl.Object -{ +class Property_Holder extends Efl.Object { + [[Docs for class Property_Holder. @since 1.66]] methods { some_method { return: int; diff --git a/src/tests/eolian_cxx/simple.c b/src/tests/eolian_cxx/simple.c index 718e5c3549..7b7d630eca 100644 --- a/src/tests/eolian_cxx/simple.c +++ b/src/tests/eolian_cxx/simple.c @@ -7,6 +7,9 @@ #include <Eo.h> #include <Ecore.h> +#define EOLIANCXXTEST_API +#define EOLIANCXXTEST_API_WEAK + #include "simple.eo.h" #define MY_CLASS SIMPLE_CLASS @@ -18,7 +21,7 @@ static Eo *_simple_efl_object_constructor(Eo *obj, void *pd EINA_UNUSED) static Eina_Bool _simple_simple_get(Eo *obj EINA_UNUSED, void *pd EINA_UNUSED) { - printf("calling %s\n", __FUNCTION__); + printf("calling %s\n", __func__); return EINA_TRUE; } @@ -27,7 +30,7 @@ static Eina_Bool _simple_name_get(Eo *obj EINA_UNUSED, void *pd EINA_UNUSED, con { static const char* _name= "simple_class"; - printf("calling %s= simples class\n", __FUNCTION__); + printf("calling %s= simples class\n", __func__); *name = _name; return EINA_TRUE; diff --git a/src/tests/eolian_cxx/simple.eo b/src/tests/eolian_cxx/simple.eo index f6f340f131..08725366c8 100644 --- a/src/tests/eolian_cxx/simple.eo +++ b/src/tests/eolian_cxx/simple.eo @@ -1,5 +1,5 @@ -class Simple extends Efl.Object -{ +class Simple extends Efl.Object { + [[Docs for class Simple. @since 1.66]] data: null; methods { simple_get { diff --git a/src/tests/eolian_js/constructor_method_class.eo b/src/tests/eolian_js/constructor_method_class.eo index 1bcfd375eb..b90518052b 100644 --- a/src/tests/eolian_js/constructor_method_class.eo +++ b/src/tests/eolian_js/constructor_method_class.eo @@ -1,5 +1,5 @@ -class Constructor_Method_Class extends Efl.Object -{ +class Constructor_Method_Class extends Efl.Object { + [[Docs for class Constructor_Method_Class. @since 1.66]] data: Constructor_Method_Class_Data; methods { @property fail { diff --git a/src/tests/eolian_js/test_object.eo b/src/tests/eolian_js/test_object.eo index 21bc5b8311..0d713d8623 100644 --- a/src/tests/eolian_js/test_object.eo +++ b/src/tests/eolian_js/test_object.eo @@ -1,4 +1,5 @@ enum Test.Enum_Ex { + [[Docs for enum Test.Enum_Ex. @since 1.66]] first = 0, second, third, @@ -6,11 +7,13 @@ enum Test.Enum_Ex { } struct Test.Struct_Ex { + [[Docs for struct Test.Struct_Ex. @since 1.66]] value_int: int; value_enum: Test.Enum_Ex; } class Test.Object extends Efl.Object { + [[Docs for class Test.Object. @since 1.66]] methods { method_integral_in_a_check { [[ tests integral in ]] diff --git a/src/tests/evas/efl_canvas_animation.c b/src/tests/evas/efl_canvas_animation.c index 19b47a6429..61fc264b69 100644 --- a/src/tests/evas/efl_canvas_animation.c +++ b/src/tests/evas/efl_canvas_animation.c @@ -38,7 +38,7 @@ EFL_START_TEST(efl_canvas_animation_default_value) { Efl_Canvas_Animation *animation = efl_new(EFL_CANVAS_ANIMATION_CLASS); - fail_if(efl_animation_duration_get(animation) == 0.0); + fail_if(EINA_DBL_EQ(efl_animation_duration_get(animation), 0.0)); } EFL_END_TEST diff --git a/src/tests/evas/evas_suite.c b/src/tests/evas/evas_suite.c index eded3ae08f..523c10dc76 100644 --- a/src/tests/evas/evas_suite.c +++ b/src/tests/evas/evas_suite.c @@ -20,14 +20,9 @@ static const Efl_Test_Case etc[] = { { "Filters", evas_test_filters }, { "Images", evas_test_image_object }, { "Images", evas_test_image_object2 }, - { "Meshes", evas_test_mesh }, - { "Meshes", evas_test_mesh1 }, - { "Meshes", evas_test_mesh2 }, - { "Meshes", evas_test_mesh3 }, { "Masking", evas_test_mask }, { "Evas GL", evas_test_evasgl }, { "Object Smart", evas_test_object_smart }, - { "Matrix", evas_test_matrix }, { "Events", evas_test_events }, { "Efl Canvas Animation", efl_test_canvas_animation }, { NULL, NULL } diff --git a/src/tests/evas/evas_suite.h b/src/tests/evas/evas_suite.h index 90a7ac0860..ec106315b5 100644 --- a/src/tests/evas/evas_suite.h +++ b/src/tests/evas/evas_suite.h @@ -14,14 +14,9 @@ void evas_test_render_engines(TCase *tc); void evas_test_filters(TCase *tc); void evas_test_image_object(TCase *tc); void evas_test_image_object2(TCase *tc); -void evas_test_mesh(TCase *tc); -void evas_test_mesh1(TCase *tc); -void evas_test_mesh2(TCase *tc); -void evas_test_mesh3(TCase *tc); void evas_test_mask(TCase *tc); void evas_test_evasgl(TCase *tc); void evas_test_object_smart(TCase *tc); -void evas_test_matrix(TCase *tc); void evas_test_events(TCase *tc); void efl_test_canvas_animation(TCase *tc); diff --git a/src/tests/evas/evas_test_filters.c b/src/tests/evas/evas_test_filters.c index f77e16a671..87c09e0961 100644 --- a/src/tests/evas/evas_test_filters.c +++ b/src/tests/evas/evas_test_filters.c @@ -448,7 +448,7 @@ EFL_START_TEST(evas_filter_state_test) "state render test failed: %p (%#x)", pixels, pixels ? *pixels : 0); efl_gfx_filter_state_get(to, &s1, &v1, &s2, &v2, &p); - fail_unless(strequal(s1, "state1") && strequal(s2, "state2") && (v1 == 0.0) && (v2 == 1.0) && (p == 0.5), + fail_unless(strequal(s1, "state1") && strequal(s2, "state2") && EINA_DBL_EQ(v1, 0.0) && EINA_DBL_EQ(v2, 1.0) && EINA_DBL_EQ(p, 0.5), "got: %s %f %s %f %f", s1, v1, s2, v2, p); /* data test */ diff --git a/src/tests/evas/evas_test_image.c b/src/tests/evas/evas_test_image.c index bfc581992a..5753651f30 100644 --- a/src/tests/evas/evas_test_image.c +++ b/src/tests/evas/evas_test_image.c @@ -9,6 +9,7 @@ #include <Evas.h> #include <Ecore_Evas.h> +#include <Ecore.h> #include "evas_suite.h" #include "evas_tests_helpers.h" @@ -52,6 +53,11 @@ static const char *exts[] = { ,"jpeg" ,"jpg" #endif +#ifdef BUILD_LOADER_HEIF + ,"heif" + ,"heic" +// ,"avif" +#endif }; EFL_START_TEST(evas_object_image_loader) @@ -642,8 +648,18 @@ _file_to_memory(const char *filename, char **result) fseek(f, 0, SEEK_END); size = ftell(f); + if (size <= 0) + { + fclose(f); + return -1; + } fseek(f, 0, SEEK_SET); *result = (char *)malloc(size + 1); + if (*result == NULL) + { + fclose(f); + return -1; + } if ((size_t)size != fread(*result, sizeof(char), size, f)) { free(*result); @@ -668,7 +684,7 @@ EFL_START_TEST(evas_object_image_cached_data_comparision) const uint32_t *d, *n_d; const uint32_t *d2, *n_d2; const char *img_path, *img_path2; - Evas_Object *img, *img2; + Evas_Object *img, *img2, *img3, *img4; Eina_Rect region; Evas *e = _setup_evas(); @@ -697,39 +713,39 @@ EFL_START_TEST(evas_object_image_cached_data_comparision) evas_object_move(img2, 250, 250); evas_object_show(img2); - evas_object_image_size_get(img, &w2, &h2); - d2 = evas_object_image_data_get(img, EINA_FALSE); + evas_object_image_size_get(img2, &w2, &h2); + d2 = evas_object_image_data_get(img2, EINA_FALSE); for (i = 0; i < 100; i++) { - evas_object_del(img); - evas_object_del(img2); - - img = evas_object_image_add(e); - evas_object_image_memfile_set(img, content, size, "png", NULL); - evas_object_image_fill_set(img, 0, 0, 250, 250); - evas_object_resize(img, 250, 250); - evas_object_move(img, 0, 0); - evas_object_show(img); + img3 = evas_object_image_add(e); + evas_object_image_memfile_set(img3, content, size, "png", NULL); + evas_object_image_fill_set(img3, 0, 0, 250, 250); + evas_object_resize(img3, 250, 250); + evas_object_move(img3, 0, 0); + evas_object_show(img3); - evas_object_image_size_get(img, &n_w, &n_h); - n_d = evas_object_image_data_get(img, EINA_FALSE); + evas_object_image_size_get(img3, &n_w, &n_h); + n_d = evas_object_image_data_get(img3, EINA_FALSE); fail_if(w != n_w || h != n_h); fail_if(memcmp(d, n_d, w * h * 4)); - img2 = evas_object_image_add(e); - evas_object_image_memfile_set(img2, content2, size2, "png", NULL); - evas_object_image_fill_set(img2, 0, 0, 250, 250); - evas_object_resize(img2, 250, 250); - evas_object_move(img2, 250, 250); - evas_object_show(img2); + img4 = evas_object_image_add(e); + evas_object_image_memfile_set(img4, content2, size2, "png", NULL); + evas_object_image_fill_set(img4, 0, 0, 250, 250); + evas_object_resize(img4, 250, 250); + evas_object_move(img4, 250, 250); + evas_object_show(img4); - evas_object_image_size_get(img, &n_w2, &n_h2); - n_d2 = evas_object_image_data_get(img, EINA_FALSE); + evas_object_image_size_get(img4, &n_w2, &n_h2); + n_d2 = evas_object_image_data_get(img4, EINA_FALSE); fail_if(w2 != n_w2 || h2 != n_h2); fail_if(memcmp(d2, n_d2, w2 * h2 * 4)); + + evas_object_del(img3); + evas_object_del(img4); } region = efl_gfx_image_content_region_get(img); @@ -751,6 +767,9 @@ EFL_START_TEST(evas_object_image_cached_data_comparision) ck_assert_int_eq(region.y, 8); ck_assert_int_eq(region.w, 120); ck_assert_int_eq(region.h, 77); + + evas_object_del(img); + evas_object_del(img2); } EFL_END_TEST @@ -903,7 +922,8 @@ EFL_START_TEST(evas_object_image_map_unmap) // save file, verify its pixels fd = eina_file_mkstemp("/tmp/evas-test.XXXXXX.png", &tmp); - close(fd); + fail_if(fd <= 0); + fail_if(close(fd)); if (efl_file_save(o, tmp, NULL, NULL)) { Eina_Rw_Slice sorig, sdest; @@ -1117,6 +1137,92 @@ EFL_START_TEST(evas_object_image_9patch) } EFL_END_TEST +EFL_START_TEST(evas_object_image_save_from_proxy) +{ + Evas *e; + Evas_Object *obj, *proxy, *ref; + int w, h, r_w, r_h; + const uint32_t *d, *r_d; + const char *img_path, *img_path2; + Eina_Bool ret; + + e = _setup_evas(); + img_path = TESTS_IMG_DIR "/Pic1.png"; + img_path2 = TESTS_IMG_DIR "/Pic1_saved.png"; + + obj = evas_object_image_add(e); + proxy = evas_object_image_add(e); + ref = evas_object_image_add(e); + + evas_object_image_file_set(obj, img_path, NULL); + fail_if(evas_object_image_load_error_get(obj) != EVAS_LOAD_ERROR_NONE); + evas_object_image_size_get(obj, &w, &h); + d = evas_object_image_data_get(obj, EINA_FALSE); + + evas_object_image_source_set(proxy, obj); + ret = evas_object_image_save(proxy, img_path2, NULL, NULL); + fail_if(!ret); + + evas_object_image_file_set(ref, img_path2, NULL); + fail_if(evas_object_image_load_error_get(ref) != EVAS_LOAD_ERROR_NONE); + evas_object_image_size_get(ref, &r_w, &r_h); + r_d = evas_object_image_data_get(ref, EINA_FALSE); + + fail_if(w != r_w || h != r_h); + fail_if(memcmp(d, r_d, w * h * 4)); + + evas_object_del(proxy); + evas_object_del(obj); + evas_object_del(ref); + + remove(img_path2); + + evas_free(e); +} +EFL_END_TEST + +static void +_preload(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) +{ + int *called = data; + int w, h; + + *called = 1; + evas_object_image_size_get(obj, &w, &h); + ck_assert_int_ge(w, 1); + ck_assert_int_ge(h, 1); + ecore_main_loop_quit(); +} + +EFL_START_TEST(evas_object_image_load_head_skip) +{ + Evas *e; + Evas_Object *obj; + const char *img_path; + int called = 0; + + e = _setup_evas(); + img_path = TESTS_IMG_DIR "/Pic1.png"; + + obj = evas_object_image_filled_add(e); + evas_object_resize(obj, 100, 100); + + evas_object_image_load_head_skip_set(obj, EINA_TRUE); + evas_object_event_callback_add(obj, EVAS_CALLBACK_IMAGE_PRELOADED, _preload, &called); + evas_object_image_file_set(obj, img_path, NULL); + evas_object_image_preload(obj, EINA_FALSE); + + ck_assert(!efl_file_mmap_get(obj)); + ck_assert(!efl_file_loaded_get(obj)); + ecore_main_loop_begin(); + ck_assert_int_eq(called, 1); + ck_assert(efl_file_loaded_get(obj)); + ck_assert(efl_file_mmap_get(obj)); + + evas_free(e); +} +EFL_END_TEST + void evas_test_image_object(TCase *tc) { tcase_add_test(tc, evas_object_image_api); @@ -1143,6 +1249,8 @@ void evas_test_image_object(TCase *tc) tcase_add_test(tc, evas_object_image_partially_load_orientation); tcase_add_test(tc, evas_object_image_cached_data_comparision); tcase_add_test(tc, evas_object_image_9patch); + tcase_add_test(tc, evas_object_image_save_from_proxy); + tcase_add_test(tc, evas_object_image_load_head_skip); } diff --git a/src/tests/evas/evas_test_matrix.c b/src/tests/evas/evas_test_matrix.c deleted file mode 100644 index 0f0fb2e4bc..0000000000 --- a/src/tests/evas/evas_test_matrix.c +++ /dev/null @@ -1,42 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <stdio.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <unistd.h> - -#include "../../lib/evas/include/evas_common_private.h" -#include "../../lib/evas/include/evas_private.h" - -#include "evas_suite.h" -#include "evas_tests_helpers.h" - -EFL_START_TEST(evas_matrix) -{ - Eina_Vector3 position; - Eina_Quaternion orientation; - Eina_Vector3 scale; - Eina_Matrix4 mat; - - eina_vector3_set(&position, 5.0, 3.0, 2.0); - eina_quaternion_set(&orientation, 30.0, 1.0, 0.0, 0.0); - eina_vector3_set(&scale, 1.0, 2.0, 1.0); - - evas_mat4_build(&mat, &position, &orientation, &scale); - fail_if((mat.xx != -1) || (mat.xy != 60) || - (mat.wx != 5) || (mat.wy != 3) || - (mat.wz != 2) || (mat.ww != 1)); - - evas_mat4_inverse_build(&mat, &position, &orientation, &scale); - fail_if((mat.xx - 0.99 < DBL_EPSILON) || (mat.xy - 0.0 < DBL_EPSILON) || - (mat.yx -0.0 < DBL_EPSILON) || (mat.yy -0.49 < DBL_EPSILON)); -} -EFL_END_TEST - -void evas_test_matrix(TCase *tc) -{ - (void) _setup_evas; - tcase_add_test(tc, evas_matrix); -} diff --git a/src/tests/evas/evas_test_mesh.c b/src/tests/evas/evas_test_mesh.c deleted file mode 100644 index 3bf3c3032d..0000000000 --- a/src/tests/evas/evas_test_mesh.c +++ /dev/null @@ -1,202 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <stdio.h> -#include <unistd.h> - -#include "../../lib/evas/include/evas_common_private.h" -#include "../../lib/evas/include/evas_private.h" - -#include "evas_suite.h" -#include "evas_tests_helpers.h" - -#define TESTS_MESH_DIR TESTS_SRC_DIR"/meshes" -#define TESTS_OBJ_MESH_DIR TESTS_MESH_DIR"/obj" -#define TESTS_MD2_MESH_DIR TESTS_MESH_DIR"/md2" -#define TESTS_PLY_MESH_DIR TESTS_MESH_DIR"/ply" - -#define COMPARE_GEOMETRICS(a) \ - vb1 = &f1->vertices[a]; \ - vb2 = &f2->vertices[a]; \ - if ((a == EVAS_CANVAS3D_VERTEX_ATTRIB_POSITION) && \ - ((vb1->data == NULL) || (vb2->data == NULL))) \ - return 1; \ - if ((vb1->data != NULL) && (vb2->data != NULL)) \ - { \ - src1 = (float *)vb1->data; \ - src2 = (float *)vb2->data; \ - for (i = 0; i < pd1->vertex_count; i++) \ - { \ - if ((src1[0] != src2[0]) || (src1[1] != src2[1])) \ - return 1; \ - if (a != EVAS_CANVAS3D_VERTEX_ATTRIB_TEXCOORD) \ - if (src1[2] != src2[2]) \ - return 1; \ - src1 += f1->vertices[a].element_count; \ - src2 += f2->vertices[a].element_count; \ - } \ - } - -static Evas_Canvas3D_Mesh_Frame * -return_zero_frame(Evas_Canvas3D_Mesh_Data *pd) -{ - Eina_List *l; - Evas_Canvas3D_Mesh_Frame *f; - - if (!pd) return NULL; - EINA_LIST_FOREACH(pd->frames, l, f) - { - if (f->frame == 0) - return f; - } - - return NULL; -} - -static int _compare_meshes(Evas_Canvas3D_Mesh *mesh1, Evas_Canvas3D_Mesh *mesh2) -{ - Evas_Canvas3D_Mesh_Data *pd1, *pd2; - Evas_Canvas3D_Mesh_Frame *f1, *f2; - int i; - float *src1, *src2; - Evas_Canvas3D_Vertex_Buffer *vb1, *vb2; - - pd1 = efl_data_scope_get(mesh1, EVAS_CANVAS3D_MESH_CLASS); - f1 = return_zero_frame(pd1); - if ((pd1 == NULL) || (f1 == NULL)) - return 1; - - pd2 = efl_data_scope_get(mesh2, EVAS_CANVAS3D_MESH_CLASS); - f2 = return_zero_frame(pd2); - if ((pd2 == NULL) || (f2 == NULL)) - return 1; - - if ((pd1->vertex_count) != (pd2->vertex_count)) - return 1; - -#ifdef __clang__ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wtautological-compare" -#endif - - COMPARE_GEOMETRICS(EVAS_CANVAS3D_VERTEX_ATTRIB_POSITION) - COMPARE_GEOMETRICS(EVAS_CANVAS3D_VERTEX_ATTRIB_NORMAL) - COMPARE_GEOMETRICS(EVAS_CANVAS3D_VERTEX_ATTRIB_TEXCOORD) - -#ifdef __clang__ -#pragma clang diagnostic pop -#endif - - return 0; -} - -static void -check_meshes_in_folder(Eina_Tmpstr *tmp, const char *folder, const char *loadext, const char *ext) -{ - char buffer[PATH_MAX]; - Evas *e = _setup_evas(); - Eo *mesh, *mesh2; - Eina_Iterator *it; - int res = 0; - const Eina_File_Direct_Info *file; - it = eina_file_direct_ls(folder); - EINA_ITERATOR_FOREACH(it, file) - { - int set_ok, save_ok; - Eina_File *f; - const Eina_File *f_get = NULL; - const char *filename = NULL; - const char *key = NULL; - if (file->path[file->name_start] == '.') continue; //some hidden git file or whatever - if (!eina_str_has_extension(file->path + file->name_start, loadext)) continue; //some other file - mesh = efl_add(EVAS_CANVAS3D_MESH_CLASS, e); - mesh2 = efl_add(EVAS_CANVAS3D_MESH_CLASS, e); - fail_if(mesh == NULL); - fail_if(mesh2 == NULL); - snprintf(buffer, PATH_MAX, "%s%s", tmp, ext); - set_ok = efl_file_simple_load(mesh, file->path, NULL); - fail_if(!set_ok); - save_ok = efl_file_save(mesh, buffer, NULL, NULL); - fail_if(!save_ok); - set_ok = efl_file_simple_load(mesh2, buffer, NULL); - fail_if(!set_ok); - efl_file_simple_get(mesh2, &filename, &key); - fail_if(!filename); - fail_if(!!key); - res = _compare_meshes(mesh, mesh2); - fail_if(res == 1); - f = eina_file_open(file->path, 0); - fail_if(!f); - set_ok = efl_file_simple_mmap_load(mesh, f, NULL); - efl_file_simple_mmap_get(mesh, &f_get, &key); - fail_if(!f_get); - fail_if(!!key); - eina_file_close(f); - save_ok = efl_file_save(mesh, buffer, NULL, NULL); - fail_if(!set_ok); - fail_if(!save_ok); - f = eina_file_open(buffer, 0); - fail_if(!f); - set_ok = efl_file_simple_mmap_load(mesh2, f, NULL); - eina_file_close(f); - fail_if(!set_ok); - res = _compare_meshes(mesh, mesh2); - fail_if(res == 1); - efl_del(mesh2); - efl_del(mesh); - unlink(buffer); - } - eina_iterator_free(it); - evas_free(e); -} -EFL_START_TEST(evas_object_mesh_loader_saver) -{ - Eina_Tmpstr *tmp; - char *file_mask = strdup("evas_test_mesh_XXXXXX"); - int tmpfd; - struct - { - const char *dir; - const char *loadfmt; - const char *savefmt; - } values[4] = - { - { TESTS_OBJ_MESH_DIR, ".obj", ".eet" }, - { TESTS_MD2_MESH_DIR, ".md2", ".eet" }, - { TESTS_PLY_MESH_DIR, ".ply", ".eet" }, - { TESTS_PLY_MESH_DIR, ".ply", ".ply" }, - }; - - /* create tmp file name, assume tmp.eet and tmp.ply also work */ - tmpfd = eina_file_mkstemp(file_mask, &tmp); - fail_if(tmpfd == -1); - fail_if(!!close(tmpfd)); - - check_meshes_in_folder(tmp, values[_i].dir, values[_i].loadfmt, values[_i].savefmt); - - unlink(tmp); - - free(file_mask); -} -EFL_END_TEST - -void evas_test_mesh(TCase *tc) -{ - tcase_add_loop_test(tc, evas_object_mesh_loader_saver, 0, 1); -} - -void evas_test_mesh1(TCase *tc) -{ - tcase_add_loop_test(tc, evas_object_mesh_loader_saver, 1, 2); -} - -void evas_test_mesh2(TCase *tc) -{ - tcase_add_loop_test(tc, evas_object_mesh_loader_saver, 2, 3); -} - -void evas_test_mesh3(TCase *tc) -{ - tcase_add_loop_test(tc, evas_object_mesh_loader_saver, 3, 4); -} diff --git a/src/tests/evas/evas_test_text.c b/src/tests/evas/evas_test_text.c index 929c88ddab..6f29807216 100644 --- a/src/tests/evas/evas_test_text.c +++ b/src/tests/evas/evas_test_text.c @@ -265,7 +265,7 @@ EFL_START_TEST(evas_text_ellipsis) _test_ellipsis(to, buf, font, size, 1.0); /* Check ellipsis value with NULL */ - fail_if(evas_object_text_ellipsis_get(NULL) != -1.0); + fail_if(!EINA_DBL_EQ(evas_object_text_ellipsis_get(NULL), -1.0)); END_TEXT_TEST(); } diff --git a/src/tests/evas/evas_test_textblock.c b/src/tests/evas/evas_test_textblock.c index 6ade455ddc..40dbb70967 100644 --- a/src/tests/evas/evas_test_textblock.c +++ b/src/tests/evas/evas_test_textblock.c @@ -20,13 +20,14 @@ #define TESTS_DIC_DIR TESTS_SRC_DIR"/dicts" /* Functions defined in evas_object_textblock.c */ -EAPI Eina_Bool +EVAS_API Eina_Bool _evas_textblock_check_item_node_link(Evas_Object *obj); -EAPI int +EVAS_API int _evas_textblock_format_offset_get(const Evas_Object_Textblock_Node_Format *n); /* end of functions defined in evas_object_textblock.c */ #define TEST_FONT "font=DejaVuSans,UnDotum,malayalam font_source=" TESTS_SRC_DIR "/fonts/TestFont.eet" +#define TEST_FONT_SOURCE TESTS_SRC_DIR "/fonts/TestFontSource.eet" static const char *style_buf = "DEFAULT='" TEST_FONT " font_size=10 color=#000 text_class=entry'" @@ -38,7 +39,7 @@ static const char *style_buf = Evas_Object *tb; \ Evas_Textblock_Style *st; \ Evas_Textblock_Cursor *cur; \ - Efl_Text_Cursor *cur_obj; \ + Efl_Text_Cursor_Object *cur_obj; \ evas = EVAS_TEST_INIT_EVAS(); \ evas_font_hinting_set(evas, EVAS_FONT_HINTING_AUTO); \ tb = evas_object_textblock_add(evas); \ @@ -62,13 +63,50 @@ while (0) do \ { \ evas_textblock_cursor_free(cur); \ - evas_object_del(tb); \ efl_del(cur_obj); \ + evas_object_del(tb); \ evas_textblock_style_free(st); \ evas_free(evas); \ } \ while (0) + +typedef struct _Escape_Value Escape_Value; + +struct _Escape_Value +{ + char *escape; + char *value; +}; + +#define ESCAPE_VALUE(e,v) {e,v} + +static const Escape_Value escape_strings[] = { + ESCAPE_VALUE("Á", "\xc3\x81"), + ESCAPE_VALUE("Â", "\xc3\x82"), + ESCAPE_VALUE("&Aelig;", "\xc3\x86"), + ESCAPE_VALUE("Õ", "\xc3\x95"), + ESCAPE_VALUE("Ö", "\xc3\x96"), + ESCAPE_VALUE("&Thorn;", "\xc3\x9e"), + ESCAPE_VALUE("Ú", "\xc3\x9a"), + ESCAPE_VALUE("Û", "\xc3\x9b"), + ESCAPE_VALUE("⇒", "\xe2\x87\x92"), + ESCAPE_VALUE("®", "\xc2\xae"), + ESCAPE_VALUE("ρ", "\xce\xa1"), + ESCAPE_VALUE("σ", "\xce\xa3"), + ESCAPE_VALUE("∑", "\xe2\x88\x91"), + ESCAPE_VALUE("¹", "\xc2\xb9"), + ESCAPE_VALUE("û", "\xc3\xbb"), + ESCAPE_VALUE("ù", "\xc3\xb9"), + ESCAPE_VALUE("¨", "\xc2\xa8"), + ESCAPE_VALUE("¥", "\xc2\xa5"), + ESCAPE_VALUE("ÿ", "\xc3\xbf"), + ESCAPE_VALUE("<tab/>", "\t"), + ESCAPE_VALUE("<br/>", "\n"), + ESCAPE_VALUE("<ps/>", "\xe2\x80\xa9"), //0x2029 + ESCAPE_VALUE("", "\xef\xbf\xbc"), //0xFFFC +}; + EFL_START_TEST(evas_textblock_simple) { START_TB_TEST(); @@ -1003,6 +1041,24 @@ EFL_START_TEST(evas_textblock_cursor) while (evas_textblock_cursor_char_prev(cur2)) j++; ck_assert_int_eq(j, 4); + //make sure if we have cluster at line start we return to pos 0 + Evas_Coord x_coord, y_coord; + int pos; + + cur2 = evas_object_textblock_cursor_new(tb); + evas_object_textblock_text_markup_set(tb, "☪️"); + + evas_textblock_cursor_char_next(cur2); + evas_textblock_cursor_pen_geometry_get(cur2, &x_coord, &y_coord, NULL, NULL); + evas_textblock_cursor_cluster_coord_set(cur, x_coord, y_coord); + pos = evas_textblock_cursor_pos_get(cur); + + ck_assert_int_eq(pos, 0); + evas_object_textblock_text_markup_set(tb, "🏳️‍🌈"); + evas_textblock_cursor_pos_set(cur, 0); + evas_textblock_cursor_cluster_next(cur); + ck_assert_int_eq(4, evas_textblock_cursor_pos_get(cur)); + END_TB_TEST(); } EFL_END_TEST @@ -3180,7 +3236,7 @@ EFL_START_TEST(evas_textblock_text_getters) tmp = evas_textblock_text_markup_to_utf8(tb, "a "); fail_if(strcmp(tmp, "a\xC2\xA0")); tmp2 = evas_textblock_text_utf8_to_markup(tb, tmp); - fail_if(strcmp(tmp2, "a\xC2\xA0")); + fail_if(strcmp(tmp2, "a ")); free(tmp2); free(tmp); @@ -3223,7 +3279,7 @@ EFL_START_TEST(evas_textblock_text_getters) tmp = evas_textblock_text_markup_to_utf8(NULL, "a "); fail_if(strcmp(tmp, "a\xC2\xA0")); tmp2 = evas_textblock_text_utf8_to_markup(NULL, tmp); - fail_if(strcmp(tmp2, "a\xC2\xA0")); + fail_if(strcmp(tmp2, "a ")); free(tmp2); free(tmp); @@ -3680,6 +3736,13 @@ EFL_START_TEST(evas_textblock_style) evas_object_textblock_style_insets_get(tb, &l, &r, &t, &b); fail_if((l != 0) || (r != 4) || (t != 0) || (b != 4)); + /* Size with style padding */ + evas_object_textblock_size_formatted_get(tb, &w, &h); + evas_object_textblock_size_native_get(tb, &nw, &nh); + + /* It is non-sense if the following condition is true. */ + fail_if((w + l + r == nw) && (h == nh + t + b)); + /* Mixed style padding */ evas_object_textblock_text_markup_set(tb, "<style=far_shadow>Test</><style=far_soft_shadow>Test</>"); @@ -3772,8 +3835,24 @@ EFL_START_TEST(evas_textblock_style) } EFL_END_TEST +/* Textblock functionality without style. */ +EFL_START_TEST(evas_textblock_style_empty) +{ + Evas *evas; + Evas_Object *txt; + Evas_Coord w, h; + evas = EVAS_TEST_INIT_EVAS(); + txt = evas_object_textblock_add(evas); + evas_object_textblock_text_markup_set(txt, "<b></b>"); + evas_object_textblock_size_formatted_get(txt, &w, &h); + ck_assert_int_eq(w, 0); + ck_assert_int_eq(h, 0); + evas_free(evas); +} +EFL_END_TEST + /* Basic test for style user push/peek/pop. */ -START_TEST(evas_textblock_style_user) +EFL_START_TEST(evas_textblock_style_user) { Evas_Textblock_Style *user_st; @@ -3794,7 +3873,7 @@ START_TEST(evas_textblock_style_user) END_TB_TEST(); } -END_TEST +EFL_END_TEST /* Various setters and getters */ EFL_START_TEST(evas_textblock_set_get) @@ -3810,15 +3889,15 @@ EFL_START_TEST(evas_textblock_set_get) fail_if(strcmp(evas_object_textblock_replace_char_get(tb), "ש")); evas_object_textblock_valign_set(tb, -1.0); - fail_if(evas_object_textblock_valign_get(tb) != 0.0); + fail_if(EINA_DBL_NONZERO(evas_object_textblock_valign_get(tb))); evas_object_textblock_valign_set(tb, 0.0); - fail_if(evas_object_textblock_valign_get(tb) != 0.0); + fail_if(EINA_DBL_NONZERO(evas_object_textblock_valign_get(tb))); evas_object_textblock_valign_set(tb, 0.432); - fail_if(evas_object_textblock_valign_get(tb) != 0.432); + fail_if(!EINA_DBL_EQ(evas_object_textblock_valign_get(tb), 0.432)); evas_object_textblock_valign_set(tb, 1.0); - fail_if(evas_object_textblock_valign_get(tb) != 1.0); + fail_if(!EINA_DBL_EQ(evas_object_textblock_valign_get(tb), 1.0)); evas_object_textblock_valign_set(tb, 1.5); - fail_if(evas_object_textblock_valign_get(tb) != 1.0); + fail_if(!EINA_DBL_EQ(evas_object_textblock_valign_get(tb), 1.0)); evas_object_textblock_bidi_delimiters_set(tb, ",.|"); fail_if(strcmp(evas_object_textblock_bidi_delimiters_get(tb), ",.|")); @@ -4094,6 +4173,8 @@ EFL_START_TEST(evas_textblock_obstacle) evas_object_resize(rect, 50, 50); evas_object_resize(rect2, 50, 50); evas_object_resize(rect3, 50, 50); + evas_object_resize(tb, 300, 400); + evas_object_textblock_text_markup_set(tb, buf); evas_textblock_cursor_format_prepend(cur, "<wrap=word>"); evas_object_textblock_size_formatted_get(tb, &fw, &fh); @@ -4110,6 +4191,11 @@ EFL_START_TEST(evas_textblock_obstacle) evas_object_show(rect2); evas_object_show(rect3); + /*check if first character after the obstacle*/ + Evas_Coord cx; + evas_textblock_cursor_char_geometry_get(cur, &cx, NULL, NULL, NULL); + ck_assert_int_eq(cx, 50); + /* Compare formatted size with and without obstacle */ _obstacle_run(tb, rect, 0, fw, fh / 2, fh / 2, fh); /* Now, with bigger obstacles */ @@ -4161,6 +4247,27 @@ EFL_START_TEST(evas_textblock_fit) } EFL_END_TEST; +EFL_START_TEST(evas_textblock_textrun_font) +{ + START_TB_TEST(); + int w1, h1, w2, h2; + + evas_object_resize(tb, 300, 300); + evas_object_textblock_text_markup_set(tb, "가123A321"); + evas_object_textblock_size_native_get(tb, &w1, &h1); + evas_object_textblock_text_markup_set(tb, "A321가123"); + evas_object_textblock_size_native_get(tb, &w2, &h2); + ck_assert(w1==w2 && h1==h2); + evas_object_textblock_text_markup_set(tb, "123가A321"); + evas_object_textblock_size_native_get(tb, &w2, &h2); + ck_assert(w1==w2 && h1==h2); + evas_object_textblock_text_markup_set(tb, "A가123321"); + evas_object_textblock_size_native_get(tb, &w2, &h2); + ck_assert(w1==w2 && h1==h2); + END_TB_TEST(); +} +EFL_END_TEST; + #ifdef HAVE_HYPHEN static void _hyphenation_width_stress(Evas_Object *tb, Evas_Textblock_Cursor *cur) @@ -4344,7 +4451,7 @@ EFL_END_TEST; EFL_START_TEST(evas_textblock_annotation) { START_TB_TEST(); - Efl_Text_Cursor *start, *end; + Efl_Text_Cursor_Object *start, *end; start = efl_canvas_textblock_cursor_create(tb); end = efl_canvas_textblock_cursor_create(tb); @@ -4360,18 +4467,18 @@ EFL_START_TEST(evas_textblock_annotation) /* Check some trivial cases */ - efl_text_cursor_position_set(start, 0); - efl_text_cursor_position_set(end, 3); + efl_text_cursor_object_position_set(start, 0); + efl_text_cursor_object_position_set(end, 3); efl_text_formatter_attribute_insert(start, end, "font_size=80"); - efl_text_cursor_position_set(start, 1); - efl_text_cursor_position_set(end, 2); + efl_text_cursor_object_position_set(start, 1); + efl_text_cursor_object_position_set(end, 2); efl_text_formatter_attribute_insert(start, end, "font=arial"); - efl_text_cursor_position_set(start, 2); - efl_text_cursor_position_set(end, 3); + efl_text_cursor_object_position_set(start, 2); + efl_text_cursor_object_position_set(end, 3); efl_text_formatter_attribute_insert(start, end, "color=#fff"); - efl_text_cursor_position_set(start, 0); - efl_text_cursor_position_set(end, 3); + efl_text_cursor_object_position_set(start, 0); + efl_text_cursor_object_position_set(end, 3); unsigned int count = efl_text_formatter_attribute_clear(start, end); fail_if(count != 3); } @@ -4384,7 +4491,7 @@ static const char *efl_style_buf = Evas *evas; \ Eo *txt; \ Efl_Text_Cursor_Handle *cur; \ - Efl_Text_Cursor *cur_obj; \ + Efl_Text_Cursor_Object *cur_obj; \ evas = EVAS_TEST_INIT_EVAS(); \ evas_font_hinting_set(evas, EVAS_FONT_HINTING_AUTO); \ txt = efl_add(EFL_CANVAS_TEXTBLOCK_CLASS, evas); \ @@ -4410,6 +4517,19 @@ do \ } \ while (0) +EFL_START_TEST(evas_textblock_utf8_to_markup) +{ + size_t len = sizeof(escape_strings) / sizeof(Escape_Value); + char * mkup_txt; + for(size_t i = 0 ; i < len ; i++) + { + mkup_txt = evas_textblock_text_utf8_to_markup(NULL, escape_strings[i].value); + fail_if(strcmp(escape_strings[i].escape, mkup_txt)); + free(mkup_txt); + } +} +EFL_END_TEST + EFL_START_TEST(efl_canvas_textblock_simple) { START_EFL_CANVAS_TEXTBLOCK_TEST(); @@ -4490,201 +4610,203 @@ EFL_START_TEST(efl_canvas_textblock_cursor) efl_text_set(txt, buf); ck_assert_int_eq(strcmp(efl_text_get(txt), buf), 0); - pos = efl_text_cursor_position_get(cur_obj); + pos = efl_text_cursor_object_position_get(cur_obj); ck_assert_int_eq(pos, 0); - ck_assert(!efl_text_cursor_line_jump_by(cur_obj, -1)); - pos = efl_text_cursor_position_get(cur_obj); + ck_assert(!efl_text_cursor_object_line_jump_by(cur_obj, -1)); + pos = efl_text_cursor_object_position_get(cur_obj); ck_assert_int_eq(pos, 0); - ck_assert(efl_text_cursor_line_jump_by(cur_obj, 1)); - pos = efl_text_cursor_position_get(cur_obj); + ck_assert(efl_text_cursor_object_line_jump_by(cur_obj, 1)); + pos = efl_text_cursor_object_position_get(cur_obj); ck_assert_int_eq(pos, 10); efl_text_markup_set(txt, "Hello World<ps/>This is EFL<br/>Enlightenment"); - efl_text_cursor_position_set(cur_obj, 0); - ck_assert_int_eq(efl_text_cursor_line_number_get(cur_obj), 0); - ck_assert(efl_text_cursor_line_jump_by(cur_obj, 2)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 24); - ck_assert_int_eq(efl_text_cursor_line_number_get(cur_obj), 2); - ck_assert(efl_text_cursor_line_jump_by(cur_obj, -2)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); - ck_assert_int_eq(efl_text_cursor_line_number_get(cur_obj), 0); - - ck_assert(efl_text_cursor_line_jump_by(cur_obj, 2)); - efl_text_cursor_line_number_set(cur_obj, 2); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 24); - efl_text_cursor_line_number_set(cur_obj, 0); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); - - Eo * cursor1 = efl_add(EFL_TEXT_CURSOR_CLASS, txt); - pos = efl_text_cursor_position_get(cursor1); - ck_assert_int_eq(pos, -1); - efl_text_cursor_position_set(cursor1, 10); - pos = efl_text_cursor_position_get(cursor1); - ck_assert_int_eq(pos, -1); - - efl_canvas_textblock_cursor_add(txt, cursor1); - efl_text_cursor_position_set(cursor1, 1); - pos = efl_text_cursor_position_get(cursor1); + efl_text_cursor_object_position_set(cur_obj, 0); + ck_assert_int_eq(efl_text_cursor_object_line_number_get(cur_obj), 0); + ck_assert(efl_text_cursor_object_line_jump_by(cur_obj, 2)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 24); + ck_assert_int_eq(efl_text_cursor_object_line_number_get(cur_obj), 2); + ck_assert(efl_text_cursor_object_line_jump_by(cur_obj, -2)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0); + ck_assert_int_eq(efl_text_cursor_object_line_number_get(cur_obj), 0); + + ck_assert(efl_text_cursor_object_line_jump_by(cur_obj, 2)); + efl_text_cursor_object_line_number_set(cur_obj, 2); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 24); + efl_text_cursor_object_line_number_set(cur_obj, 0); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0); + + Eo * cursor_temp = efl_duplicate(cur_obj); + ck_assert_ptr_ne(cursor_temp, NULL); + efl_del(cursor_temp); + cursor_temp = NULL; + + Eo * cursor1 = efl_canvas_textblock_cursor_create(txt); + efl_text_cursor_object_position_set(cursor1, 1); + pos = efl_text_cursor_object_position_get(cursor1); ck_assert_int_eq(pos, 1); efl_text_set(txt, ""); efl_text_set(txt, ""); - efl_text_cursor_text_insert(cursor1, "aa"); - ck_assert_int_eq(changed_emit, 3); + efl_text_cursor_object_text_insert(cursor1, "aa"); + ck_assert_int_eq(changed_emit, 4); - efl_text_set(txt, ""); - ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHAR_NEXT)); - ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHAR_PREV)); - ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT)); - ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_PREV)); - ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_START)); - ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_END)); - ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START)); - ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_END)); - ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START)); - ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END)); - ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_NEXT)); - ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_PREV)); - ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST)); - ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LAST)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); + efl_text_markup_set(txt, "Hello<br/>Word"); + efl_text_markup_set(txt, "Hello<br/>Word"); + efl_text_cursor_object_markup_insert(cursor1, "aa"); + ck_assert_int_eq(changed_emit, 6); - ck_assert_int_eq(changed_emit, 4); + efl_text_set(txt, ""); + ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT)); + ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS)); + ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT)); + ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_PREVIOUS)); + ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_START)); + ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_END)); + ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START)); + ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_END)); + ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START)); + ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END)); + ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_NEXT)); + ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_PREVIOUS)); + ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST)); + ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LAST)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0); + + ck_assert_int_eq(changed_emit, 7); efl_text_markup_set(txt, "Hello World<ps/>This is EFL<br/>Enlightenment"); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHAR_NEXT)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 1); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHAR_PREV)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 1); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_PREV)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); - - efl_text_cursor_position_set(cur_obj, 0); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 4); - ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 4); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); - ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); - - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END)); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHAR_NEXT)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 5); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 10); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHAR_NEXT)); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END)); - ck_assert_int_ne(efl_text_cursor_position_get(cur_obj), 10); - - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_END)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 23); - ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_END)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 23); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 12); - ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 12); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHAR_PREV)); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 1); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 1); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_PREVIOUS)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0); + + efl_text_cursor_object_position_set(cur_obj, 0); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 4); + ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 4); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0); + ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0); + + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END)); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 5); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 10); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT)); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END)); + ck_assert_int_ne(efl_text_cursor_object_position_get(cur_obj), 10); + + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_END)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 23); + ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_END)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 23); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 12); + ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 12); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS)); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0); #if defined(HAVE_FRIBIDI) && defined(HAVE_HARFBUZZ) efl_text_markup_set(txt, "الْبَرْمَجةُ<ps/>مَرْحبَاً"); - efl_text_cursor_cluster_coord_set(cur_obj, EINA_POSITION2D(0, 0)); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 1); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 3); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 5); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHAR_PREV)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 4); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHAR_NEXT)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 5); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHAR_NEXT)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 6); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 7); - - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_NEXT)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 13); - ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_NEXT)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 13); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_END)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 22); - ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_END)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 22); - ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LAST)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 22); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_START)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 13); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_END)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 22); - ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); + efl_text_cursor_object_cluster_coord_set(cur_obj, EINA_POSITION2D(0, 0)); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 1); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 3); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 5); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 4); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 5); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 6); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 7); + + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_NEXT)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 13); + ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_NEXT)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 13); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_END)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 22); + ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_END)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 22); + ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LAST)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 22); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_START)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 13); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_END)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 22); + ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0); #endif - Eo *nCur = efl_add(EFL_TEXT_CURSOR_CLASS, txt), *nCur2 = efl_add(EFL_TEXT_CURSOR_CLASS, txt), *nCur3 = efl_add(EFL_TEXT_CURSOR_CLASS, txt); + Eo *nCur = efl_canvas_textblock_cursor_create(txt); + Eo *nCur2 = efl_canvas_textblock_cursor_create(txt); + Eo *nCur3 = efl_canvas_textblock_cursor_create(txt); efl_text_markup_set(txt, "Hello World<ps/>This is EFL<br/>Enlightenment"); - efl_text_cursor_position_set(cur_obj, 0); - efl_text_cursor_copy(cur_obj, nCur); + efl_text_cursor_object_position_set(cur_obj, 0); ck_assert_ptr_ne(nCur, NULL); - efl_text_cursor_copy(cur_obj, nCur2); - efl_text_cursor_copy(cur_obj, nCur3); ck_assert_ptr_ne(nCur2, NULL); ck_assert_ptr_ne(nCur3, NULL); - ck_assert(efl_text_cursor_equal(cur_obj, nCur)); - ck_assert(efl_text_cursor_equal(cur_obj, nCur2)); - ck_assert(efl_text_cursor_equal(cur_obj, nCur3)); - ck_assert(efl_text_cursor_equal(nCur2, nCur3)); + ck_assert(efl_text_cursor_object_equal(cur_obj, nCur)); + ck_assert(efl_text_cursor_object_equal(cur_obj, nCur2)); + ck_assert(efl_text_cursor_object_equal(cur_obj, nCur3)); + ck_assert(efl_text_cursor_object_equal(nCur2, nCur3)); - ck_assert_int_eq(efl_text_cursor_compare(cur_obj, nCur3), 0); - ck_assert_int_eq(efl_text_cursor_compare(nCur2, nCur3), 0); - ck_assert_int_eq(efl_text_cursor_compare(cur_obj, nCur), 0); + ck_assert_int_eq(efl_text_cursor_object_compare(cur_obj, nCur3), 0); + ck_assert_int_eq(efl_text_cursor_object_compare(nCur2, nCur3), 0); + ck_assert_int_eq(efl_text_cursor_object_compare(cur_obj, nCur), 0); - ck_assert(efl_text_cursor_move(nCur, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_NEXT)); - ck_assert_int_lt(efl_text_cursor_compare(cur_obj, nCur), 0); - ck_assert_int_gt(efl_text_cursor_compare(nCur, cur_obj), 0); - efl_text_cursor_copy(nCur, nCur2); - ck_assert_int_lt(efl_text_cursor_compare(cur_obj, nCur2), 0); - ck_assert_int_gt(efl_text_cursor_compare(nCur2, cur_obj), 0); - ck_assert(!efl_text_cursor_equal(nCur2, nCur3)); + ck_assert(efl_text_cursor_object_move(nCur, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_NEXT)); + ck_assert_int_lt(efl_text_cursor_object_compare(cur_obj, nCur), 0); + ck_assert_int_gt(efl_text_cursor_object_compare(nCur, cur_obj), 0); + efl_text_cursor_object_position_set(nCur2, efl_text_cursor_object_position_get(nCur)); + ck_assert_int_lt(efl_text_cursor_object_compare(cur_obj, nCur2), 0); + ck_assert_int_gt(efl_text_cursor_object_compare(nCur2, cur_obj), 0); + ck_assert(!efl_text_cursor_object_equal(nCur2, nCur3)); efl_text_set(txt, ""); - efl_text_cursor_text_insert(cur_obj, "Hello World"); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 11); - efl_text_cursor_text_insert(cur_obj, "Hello World"); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 22); + efl_text_cursor_object_text_insert(cur_obj, "Hello World"); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 11); + efl_text_cursor_object_text_insert(cur_obj, "Hello World"); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 22); ck_assert_str_eq(efl_text_get(txt), "Hello WorldHello World"); efl_text_set(txt, ""); - efl_text_cursor_markup_insert(cur_obj, "Hello World<ps/>Hello World"); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 23); - - efl_text_cursor_char_coord_set(cur_obj, EINA_POSITION2D(0, 0)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); - efl_text_cursor_char_coord_set(cur_obj, EINA_POSITION2D(500, 500)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 23); - efl_text_cursor_cluster_coord_set(cur_obj, EINA_POSITION2D(0, 0)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); - efl_text_cursor_cluster_coord_set(cur_obj, EINA_POSITION2D(500, 500)); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 23); - - efl_text_cursor_position_set(nCur, 0); - efl_text_cursor_position_set(cur_obj, 5); - - ck_assert_str_eq(efl_text_cursor_range_text_get(cur_obj, nCur), "Hello"); - ck_assert_str_eq(efl_text_cursor_range_text_get(nCur, cur_obj), "Hello"); - - efl_text_cursor_position_set(nCur, 0); - efl_text_cursor_position_set(cur_obj, 17); + efl_text_cursor_object_markup_insert(cur_obj, "Hello World<ps/>Hello World"); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 23); + + efl_text_cursor_object_char_coord_set(cur_obj, EINA_POSITION2D(0, 0)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0); + efl_text_cursor_object_char_coord_set(cur_obj, EINA_POSITION2D(500, 500)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 23); + efl_text_cursor_object_cluster_coord_set(cur_obj, EINA_POSITION2D(0, 0)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0); + efl_text_cursor_object_cluster_coord_set(cur_obj, EINA_POSITION2D(500, 500)); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 23); + + efl_text_cursor_object_position_set(nCur, 0); + efl_text_cursor_object_position_set(cur_obj, 5); + + ck_assert_str_eq(efl_text_cursor_object_range_text_get(cur_obj, nCur), "Hello"); + ck_assert_str_eq(efl_text_cursor_object_range_text_get(nCur, cur_obj), "Hello"); + + efl_text_cursor_object_position_set(nCur, 0); + efl_text_cursor_object_position_set(cur_obj, 17); - Eina_Iterator *iter = efl_text_cursor_range_geometry_get(cur_obj, nCur); + Eina_Iterator *iter = efl_text_cursor_object_range_geometry_get(cur_obj, nCur); Eina_Rect *geoRect; int x = 0; @@ -4697,7 +4819,7 @@ EFL_START_TEST(efl_canvas_textblock_cursor) ck_assert_int_eq(x, 3); - iter = efl_text_cursor_range_precise_geometry_get(cur_obj, nCur); + iter = efl_text_cursor_object_range_precise_geometry_get(cur_obj, nCur); x = 0; EINA_ITERATOR_FOREACH(iter, geoRect) @@ -4709,46 +4831,46 @@ EFL_START_TEST(efl_canvas_textblock_cursor) ck_assert_int_eq(x, 2); - ck_assert_str_eq(efl_text_cursor_range_markup_get(cur_obj, nCur), "Hello World<ps/>Hello"); - ck_assert_str_eq(efl_text_cursor_range_markup_get(nCur, cur_obj), "Hello World<ps/>Hello"); + ck_assert_str_eq(efl_text_cursor_object_range_markup_get(cur_obj, nCur), "Hello World<ps/>Hello"); + ck_assert_str_eq(efl_text_cursor_object_range_markup_get(nCur, cur_obj), "Hello World<ps/>Hello"); - efl_text_cursor_position_set(nCur, 0); - efl_text_cursor_position_set(cur_obj, 5); + efl_text_cursor_object_position_set(nCur, 0); + efl_text_cursor_object_position_set(cur_obj, 5); - efl_text_cursor_range_delete(nCur, cur_obj); + efl_text_cursor_object_range_delete(nCur, cur_obj); ck_assert_str_eq(efl_text_markup_get(txt), " World<ps/>Hello World"); - ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); - ck_assert_int_eq(efl_text_cursor_position_get(nCur), 0); + ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0); + ck_assert_int_eq(efl_text_cursor_object_position_get(nCur), 0); efl_text_markup_set(txt, "Hello World<ps/>Hello World"); - efl_text_cursor_position_set(cur_obj, 6); + efl_text_cursor_object_position_set(cur_obj, 6); Eina_Unicode str[2] = {0}; - str[0] = efl_text_cursor_content_get(cur_obj); + str[0] = efl_text_cursor_object_content_get(cur_obj); ck_assert_str_eq(eina_unicode_unicode_to_utf8(str, NULL), "W"); - efl_text_cursor_char_delete(cur_obj); + efl_text_cursor_object_char_delete(cur_obj); - str[0] = efl_text_cursor_content_get(cur_obj); + str[0] = efl_text_cursor_object_content_get(cur_obj); ck_assert_str_eq(eina_unicode_unicode_to_utf8(str, NULL), "o"); - Eo *cur_txt = efl_text_cursor_text_object_get(cur_obj); - Eo *cur_txt2 = efl_text_cursor_text_object_get(nCur); + Eo *cur_txt = efl_text_cursor_object_text_object_get(cur_obj); + Eo *cur_txt2 = efl_text_cursor_object_text_object_get(nCur); ck_assert_ptr_eq(cur_txt, txt); ck_assert_ptr_eq(cur_txt2, txt); - efl_text_cursor_position_set(cur_obj, 1); - Eina_Rect rect = efl_text_cursor_content_geometry_get(cur_obj); + efl_text_cursor_object_position_set(cur_obj, 1); + Eina_Rect rect = efl_text_cursor_object_content_geometry_get(cur_obj); ck_assert_int_ne(rect.w, 0); ck_assert_int_ne(rect.h, 0); ck_assert_int_ne(rect.x, 0); - rect = efl_text_cursor_geometry_get(cur_obj, EFL_TEXT_CURSOR_TYPE_BEFORE); + rect = efl_text_cursor_object_cursor_geometry_get(cur_obj, EFL_TEXT_CURSOR_TYPE_BEFORE); ck_assert_int_eq(rect.w, 0); ck_assert_int_ne(rect.h, 0); ck_assert_int_ne(rect.x, 0); - Eina_Rect rect2 = efl_text_cursor_geometry_get(cur_obj, EFL_TEXT_CURSOR_TYPE_UNDER); + Eina_Rect rect2 = efl_text_cursor_object_cursor_geometry_get(cur_obj, EFL_TEXT_CURSOR_TYPE_UNDER); ck_assert_int_ne(rect2.w, 0); ck_assert_int_ne(rect2.h, 0); ck_assert_int_ne(rect2.x, 0); @@ -4759,12 +4881,12 @@ EFL_START_TEST(efl_canvas_textblock_cursor) ck_assert_int_eq(rect2.y, rect.y); efl_text_markup_set(txt, "Hello World"); - efl_text_cursor_position_set(cur_obj, 11); - ck_assert(!efl_text_cursor_lower_cursor_geometry_get(cur_obj, &rect2)); + efl_text_cursor_object_position_set(cur_obj, 11); + ck_assert(!efl_text_cursor_object_lower_cursor_geometry_get(cur_obj, &rect2)); #ifdef HAVE_FRIBIDI - efl_text_cursor_text_insert(cur_obj, "مرحباً"); - rect = efl_text_cursor_geometry_get(cur_obj, EFL_TEXT_CURSOR_TYPE_BEFORE); - ck_assert(efl_text_cursor_lower_cursor_geometry_get(cur_obj, &rect2)); + efl_text_cursor_object_text_insert(cur_obj, "مرحباً"); + rect = efl_text_cursor_object_cursor_geometry_get(cur_obj, EFL_TEXT_CURSOR_TYPE_BEFORE); + ck_assert(efl_text_cursor_object_lower_cursor_geometry_get(cur_obj, &rect2)); ck_assert_int_eq(rect2.w, 0); ck_assert_int_ne(rect2.h, 0); ck_assert_int_ne(rect2.x, 0); @@ -4775,15 +4897,42 @@ EFL_START_TEST(efl_canvas_textblock_cursor) ck_assert_int_eq(rect2.y, rect.y); #endif + //Efl able to deal with br tab without closing tag "/" + efl_text_markup_set(txt, "a<br>a<tab>a"); + efl_text_cursor_object_move(nCur, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST); + efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LAST); + efl_text_cursor_object_range_delete(nCur, cur_obj); + ck_assert_str_eq(efl_text_markup_get(txt), ""); + END_EFL_CANVAS_TEXTBLOCK_TEST(); } EFL_END_TEST +EFL_START_TEST(efl_canvas_textblock_cursor_change) +{ + START_EFL_CANVAS_TEXTBLOCK_TEST(); + (void) cur_obj; + int changed_emit1 = 0; + int changed_emit2 = 0; + Efl_Object *cur1, *cur2; + cur1 = efl_canvas_textblock_cursor_create(txt); + cur2 = efl_canvas_textblock_cursor_create(txt); + efl_text_set(txt, "Hello World"); + efl_text_cursor_object_position_set(cur1, 0); + efl_text_cursor_object_position_set(cur2, 1); + efl_event_callback_add(cur1, EFL_TEXT_CURSOR_OBJECT_EVENT_CHANGED, _increment_int_changed, &changed_emit1); + efl_event_callback_add(cur2, EFL_TEXT_CURSOR_OBJECT_EVENT_CHANGED, _increment_int_changed, &changed_emit2); + efl_text_set(txt, ""); + ck_assert_int_eq(changed_emit1, 0); + ck_assert_int_eq(changed_emit2, 1); +} +EFL_END_TEST + EFL_START_TEST(efl_canvas_textblock_markup) { START_EFL_CANVAS_TEXTBLOCK_TEST(); - Efl_Text_Cursor *start, *end; + Efl_Text_Cursor_Object *start, *end; char *res; start = efl_canvas_textblock_cursor_create(txt); @@ -4791,16 +4940,16 @@ EFL_START_TEST(efl_canvas_textblock_markup) efl_text_set(txt, "\n\n\n"); - efl_text_cursor_position_set(start, 1); - efl_text_cursor_position_set(end, 2); - res = efl_text_cursor_range_markup_get(start, end); + efl_text_cursor_object_position_set(start, 1); + efl_text_cursor_object_position_set(end, 2); + res = efl_text_cursor_object_range_markup_get(start, end); ck_assert_str_eq(res, "<br>"); free(res); efl_text_set(txt, "a\u2029bc\ndef\n\u2029"); - efl_text_cursor_position_set(start, 2); - efl_text_cursor_position_set(end, 5); - res = efl_text_cursor_range_markup_get(start, end); + efl_text_cursor_object_position_set(start, 2); + efl_text_cursor_object_position_set(end, 5); + res = efl_text_cursor_object_range_markup_get(start, end); ck_assert_str_eq(res, "bc<br>"); free(res); @@ -4872,6 +5021,10 @@ EFL_START_TEST(efl_canvas_textblock_style) START_EFL_CANVAS_TEXTBLOCK_TEST(); unsigned char r, g, b, a; const char *style; + Eina_Size2D size1, size2; + + int changed_emit = 0; + efl_event_callback_add(txt, EFL_CANVAS_TEXTBLOCK_EVENT_CHANGED, _increment_int_changed, &changed_emit); efl_text_password_set(txt, EINA_FALSE); efl_text_underline_type_set(txt, EFL_TEXT_STYLE_UNDERLINE_TYPE_DOUBLE); @@ -4879,6 +5032,8 @@ EFL_START_TEST(efl_canvas_textblock_style) efl_text_font_slant_set(txt, EFL_TEXT_FONT_SLANT_OBLIQUE); efl_text_tab_stops_set(txt, 20); + ck_assert_int_eq(changed_emit, 4); + efl_canvas_textblock_style_apply(txt, "color=#90E135"); style = efl_canvas_textblock_all_styles_get(txt); @@ -4891,13 +5046,14 @@ EFL_START_TEST(efl_canvas_textblock_style) // from functions fail_if(!strstr(style, "font_weight=extrabold")); - fail_if(!strstr(style, "tabstops=20")); + fail_if(!strstr(style, "tab_stops=20")); fail_if(!strstr(style, "color=rgba(144,225,53,255)")); fail_if(!strstr(style, "password=off")); efl_text_password_set(txt, EINA_TRUE); style = efl_canvas_textblock_all_styles_get(txt); fail_if(!strstr(style, "password=on")); + changed_emit = 0; efl_canvas_textblock_style_apply(txt, "font_width=ultracondensed"); ck_assert_int_eq(efl_text_font_width_get(txt), EFL_TEXT_FONT_WIDTH_ULTRACONDENSED); @@ -4907,23 +5063,33 @@ EFL_START_TEST(efl_canvas_textblock_style) efl_canvas_textblock_style_apply(txt, "wrap=none"); ck_assert_int_eq(efl_text_wrap_get(txt), EFL_TEXT_FORMAT_WRAP_NONE); - efl_canvas_textblock_style_apply(txt, "backing=on"); + efl_canvas_textblock_style_apply(txt, "background_type=solid"); ck_assert_int_eq(efl_text_background_type_get(txt), EFL_TEXT_STYLE_BACKGROUND_TYPE_SOLID_COLOR); - efl_canvas_textblock_style_apply(txt, "style=far_soft_shadow"); + efl_canvas_textblock_style_apply(txt, "background_color=red"); + efl_text_background_color_get(txt, &r, &g, &b, &a); + ck_assert_int_eq(r, 0xFF); + ck_assert_int_eq(g, 0x00); + ck_assert_int_eq(b, 0x00); + ck_assert_int_eq(a, 0xFF); + + efl_canvas_textblock_style_apply(txt, "effect_type=far_soft_shadow"); ck_assert_int_eq(efl_text_effect_type_get(txt), EFL_TEXT_STYLE_EFFECT_TYPE_FAR_SOFT_SHADOW); - efl_canvas_textblock_style_apply(txt, "style=glow,top_right"); - ck_assert_int_eq(efl_text_effect_type_get(txt), EFL_TEXT_STYLE_EFFECT_TYPE_GLOW); + efl_canvas_textblock_style_apply(txt, "shadow_direction=top_right"); ck_assert_int_eq(efl_text_shadow_direction_get(txt), EFL_TEXT_STYLE_SHADOW_DIRECTION_TOP_RIGHT); - efl_canvas_textblock_style_apply(txt, "style=far_shadow,top"); - ck_assert_int_eq(efl_text_effect_type_get(txt), EFL_TEXT_STYLE_EFFECT_TYPE_FAR_SHADOW); + efl_canvas_textblock_style_apply(txt, "shadow_direction=top"); ck_assert_int_eq(efl_text_shadow_direction_get(txt), EFL_TEXT_STYLE_SHADOW_DIRECTION_TOP); - efl_canvas_textblock_style_apply(txt, "style=soft_outline,top,bottom"); + efl_canvas_textblock_style_apply(txt, "effect_type=soft_outline"); ck_assert_int_eq(efl_text_effect_type_get(txt), EFL_TEXT_STYLE_EFFECT_TYPE_SOFT_OUTLINE); - ck_assert_int_eq(efl_text_shadow_direction_get(txt), EFL_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM); + + efl_canvas_textblock_style_apply(txt, "underline_type=none"); + ck_assert_int_eq(efl_text_underline_type_get(txt), EFL_TEXT_STYLE_UNDERLINE_TYPE_NONE); + + efl_canvas_textblock_style_apply(txt, "strikethrough_type=single"); + ck_assert_int_eq(efl_text_strikethrough_type_get(txt), EFL_TEXT_STYLE_STRIKETHROUGH_TYPE_SINGLE); efl_canvas_textblock_style_apply(txt, "color=#EF596C"); efl_text_color_get(txt, &r, &g, &b, &a); @@ -4932,10 +5098,132 @@ EFL_START_TEST(efl_canvas_textblock_style) ck_assert_int_eq(b, 0x6C); ck_assert_int_eq(a, 0xFF); + ck_assert_int_eq(changed_emit, 12); + + //check if multiple attribute set, called only once + changed_emit = 0; + efl_canvas_textblock_style_apply(txt, style); + ck_assert_int_eq(changed_emit, 1); + + // Style Apply taking + efl_text_set(txt,"A"); + efl_canvas_textblock_style_apply(txt,"font_size=2"); + size1 = efl_canvas_textblock_size_native_get(txt); + efl_canvas_textblock_style_apply(txt,"font_size=20"); + size2 = efl_canvas_textblock_size_native_get(txt); + ck_assert(size1.w < size2.w); + ck_assert(size1.h < size2.h); + + efl_text_gfx_filter_set(txt, "code"); + ck_assert_str_eq(efl_text_gfx_filter_get(txt), "code"); + END_EFL_CANVAS_TEXTBLOCK_TEST(); } EFL_END_TEST +EFL_START_TEST(efl_text_style) +{ + START_EFL_CANVAS_TEXTBLOCK_TEST(); + Eina_Size2D size1, size2; + + int changed_emit = 0; + efl_event_callback_add(txt, EFL_CANVAS_TEXTBLOCK_EVENT_CHANGED, _increment_int_changed, &changed_emit); + efl_text_set(txt, "Hello"); + ck_assert_int_eq(changed_emit, 1); + efl_text_set(txt, ""); + ck_assert_int_eq(changed_emit, 2); + efl_text_set(txt, ""); + ck_assert_int_eq(changed_emit, 2); + + changed_emit = 0; + efl_text_markup_set(txt, ""Hello""); + ck_assert_int_eq(changed_emit, 1); + efl_text_markup_set(txt, ""); + ck_assert_int_eq(changed_emit, 2); + efl_text_markup_set(txt, ""); + ck_assert_int_eq(changed_emit, 2); + + // Style Applying + efl_text_set(txt,"A"); + efl_canvas_textblock_style_apply(txt,"\tfont_size=2\t"); + size1 = efl_canvas_textblock_size_native_get(txt); + efl_canvas_textblock_style_apply(txt,"\nfont_size=20\n"); + size2 = efl_canvas_textblock_size_native_get(txt); + ck_assert(size1.w < size2.w); + ck_assert(size1.h < size2.h); + + END_EFL_CANVAS_TEXTBLOCK_TEST(); +} +EFL_END_TEST + +EFL_START_TEST(efl_text_markup) +{ + START_EFL_CANVAS_TEXTBLOCK_TEST(); + + efl_text_underline_type_set(txt, EFL_TEXT_STYLE_UNDERLINE_TYPE_NONE); + ck_assert_int_eq(efl_text_underline_type_get(txt), EFL_TEXT_STYLE_UNDERLINE_TYPE_NONE); + efl_text_underline_type_set(txt, EFL_TEXT_STYLE_UNDERLINE_TYPE_SINGLE); + ck_assert_int_eq(efl_text_underline_type_get(txt), EFL_TEXT_STYLE_UNDERLINE_TYPE_SINGLE); + efl_text_underline_type_set(txt, EFL_TEXT_STYLE_UNDERLINE_TYPE_DOUBLE); + ck_assert_int_eq(efl_text_underline_type_get(txt), EFL_TEXT_STYLE_UNDERLINE_TYPE_DOUBLE); + efl_text_underline_type_set(txt, EFL_TEXT_STYLE_UNDERLINE_TYPE_DASHED); + ck_assert_int_eq(efl_text_underline_type_get(txt), EFL_TEXT_STYLE_UNDERLINE_TYPE_DASHED); + + END_EFL_CANVAS_TEXTBLOCK_TEST(); +} +EFL_END_TEST + +EFL_START_TEST(efl_text_font_source) +{ + START_EFL_CANVAS_TEXTBLOCK_TEST(); + + Eina_Size2D size1, size2; + + efl_canvas_textblock_style_apply(txt,"\tfont_size=30\t"); + efl_text_markup_set(txt, "Hello, This Text Use The Font : Does_Not_Exists_Font"); + + efl_text_font_family_set(txt, "Does_Not_Exists_Font_1"); + size1 = efl_canvas_textblock_size_native_get(txt); + + efl_text_font_source_set(txt, TEST_FONT_SOURCE); + efl_text_font_family_set(txt, "Does_Not_Exists_Font_1"); + size2 = efl_canvas_textblock_size_native_get(txt); + ck_assert_int_ne(size1.w, size2.w); + + efl_text_font_source_set(txt, ""); + efl_text_font_family_set(txt, "Does_Not_Exists_Font_2"); + size1 = efl_canvas_textblock_size_native_get(txt); + + efl_text_font_source_set(txt, TEST_FONT_SOURCE); + efl_text_font_family_set(txt, "Does_Not_Exists_Font_2"); + size2 = efl_canvas_textblock_size_native_get(txt); + ck_assert_int_ne(size1.w, size2.w); + + END_EFL_CANVAS_TEXTBLOCK_TEST(); +} +EFL_END_TEST + +EFL_START_TEST(efl_text_default_format) +{ + Evas *evas; + Eo *txt; + evas = EVAS_TEST_INIT_EVAS(); + txt = efl_add(EFL_CANVAS_TEXTBLOCK_CLASS, evas); + + Eina_Size2D size; + + efl_text_markup_set(txt, "<font=Sans>Hello</font>"); + + efl_text_font_size_set(txt, 80); + efl_text_color_set(txt, 255, 255, 255, 255); + size = efl_canvas_textblock_size_native_get(txt); + + ck_assert_int_gt(size.h, 20); + efl_del(txt); + evas_free(evas); +} +EFL_END_TEST + void evas_test_textblock(TCase *tc) { tcase_add_test(tc, evas_textblock_simple); @@ -4946,6 +5234,7 @@ void evas_test_textblock(TCase *tc) tcase_add_test(tc, evas_textblock_size); tcase_add_test(tc, evas_textblock_editing); tcase_add_test(tc, evas_textblock_style); + tcase_add_test(tc, evas_textblock_style_empty); tcase_add_test(tc, evas_textblock_style_user); tcase_add_test(tc, evas_textblock_evas); tcase_add_test(tc, evas_textblock_text_getters); @@ -4960,17 +5249,24 @@ void evas_test_textblock(TCase *tc) tcase_add_test(tc, evas_textblock_delete); tcase_add_test(tc, evas_textblock_obstacle); tcase_add_test(tc, evas_textblock_fit); + tcase_add_test(tc, evas_textblock_textrun_font); #ifdef HAVE_HYPHEN tcase_add_test(tc, evas_textblock_hyphenation); #endif tcase_add_test(tc, evas_textblock_text_iface); tcase_add_test(tc, evas_textblock_annotation); + tcase_add_test(tc, evas_textblock_utf8_to_markup); tcase_add_test(tc, efl_canvas_textblock_simple); tcase_add_test(tc, efl_text); tcase_add_test(tc, efl_canvas_textblock_cursor); + tcase_add_test(tc, efl_canvas_textblock_cursor_change); tcase_add_test(tc, efl_canvas_textblock_markup); tcase_add_test(tc, efl_canvas_textblock_markup_invalid_escape); tcase_add_test(tc, efl_text_font); tcase_add_test(tc, efl_canvas_textblock_style); + tcase_add_test(tc, efl_text_style); + tcase_add_test(tc, efl_text_markup); + tcase_add_test(tc, efl_text_font_source); + tcase_add_test(tc, efl_text_default_format); } diff --git a/src/tests/evas/fonts/TestFontSource.eet b/src/tests/evas/fonts/TestFontSource.eet Binary files differnew file mode 100644 index 0000000000..082fd956e1 --- /dev/null +++ b/src/tests/evas/fonts/TestFontSource.eet diff --git a/src/tests/evas/meshes/md2/sonic.md2 b/src/tests/evas/meshes/md2/sonic.md2 Binary files differdeleted file mode 100644 index 228edb9fb7..0000000000 --- a/src/tests/evas/meshes/md2/sonic.md2 +++ /dev/null diff --git a/src/tests/evas/meshes/obj/man_mesh.obj b/src/tests/evas/meshes/obj/man_mesh.obj deleted file mode 100644 index 9e1f6d42ea..0000000000 --- a/src/tests/evas/meshes/obj/man_mesh.obj +++ /dev/null @@ -1,2493 +0,0 @@ -# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware -# File Created: 28.03.2014 15:19:59 - -mtllib man_mesh.mtl - -# -# object man_zbrush002 -# - -v 0.0000 47.2875 1.0942 -v 0.0000 50.0378 -9.4137 -v 0.0000 55.9506 -7.2501 -v 0.0000 24.1321 -0.3567 -v -4.6498 14.9457 -8.7856 -v -3.2526 0.0016 -8.5910 -v -1.7126 0.0249 -9.1957 -v -2.0203 14.6106 -8.2788 -v -4.0894 2.6330 -5.0313 -v -5.3088 13.9109 -3.7387 -v -1.5536 3.0595 -4.1735 -v -3.0616 3.5378 -3.4617 -v -1.7669 13.7549 -2.9187 -v -0.6260 0.0317 -8.3362 -v -0.9714 14.6448 -6.7064 -v -5.9192 37.6191 -4.5703 -v -5.4957 46.0431 -6.7324 -v -6.0295 46.1888 -3.9560 -v -4.6857 36.6641 -1.6164 -v -4.2985 47.0011 -0.0589 -v -7.2525 54.5245 -7.6150 -v -6.7758 50.2065 -7.5345 -v 0.0000 53.7381 -8.9868 -v -8.7478 53.7702 -7.3533 -v -6.6241 53.5298 -2.6537 -v -8.1843 53.1087 -3.3204 -v -9.8277 52.9897 -7.1885 -v -9.5084 52.4031 -3.6727 -v -15.6368 49.7151 -4.0157 -v -14.9891 50.5653 -7.2972 -v -2.3212 55.4710 -5.5708 -v -3.7738 51.0936 -1.0343 -v -7.8131 49.3427 -3.8869 -v -16.1362 50.0240 -7.5462 -v -14.8850 46.9747 -7.9460 -v -13.7795 47.4172 -7.7153 -v -14.9771 45.6892 -4.8210 -v -8.9272 49.1285 -4.1282 -v -8.7565 49.3211 -7.6329 -v -17.2082 49.4777 -7.5122 -v -16.8101 49.1399 -3.9288 -v -22.3487 46.9322 -2.8224 -v -22.5852 48.3277 -7.5944 -v -21.9364 43.0552 -3.7336 -v -16.1922 44.9604 -4.8771 -v -23.3377 47.2682 -6.9450 -v -22.1051 44.1196 -7.0740 -v -21.0612 44.1836 -7.6112 -v -15.8846 46.5205 -7.8558 -v -5.5985 31.8229 -1.4054 -v -7.4539 29.9108 -4.7820 -v -7.1743 32.8153 -5.1680 -v -4.9700 33.0828 -8.8713 -v -5.5953 29.7616 -8.4911 -v -6.8277 20.8590 -3.0514 -v -6.1947 19.5763 -3.4925 -v -5.4260 21.3413 -8.1311 -v -0.8999 21.4104 -8.3427 -v -0.8356 22.8539 -8.2030 -v -5.3178 22.9368 -8.0146 -v -1.8530 19.1642 -1.3853 -v -1.9574 20.6208 -1.2177 -v -5.2596 15.4904 -9.5994 -v -0.2944 16.1695 -7.9627 -v -1.2218 14.4504 -2.0041 -v -6.4987 14.6430 -4.0006 -v -1.4357 55.0574 -2.8845 -v -0.5960 60.2687 -0.2559 -v -0.1638 60.6728 0.4053 -v -0.2263 59.6318 0.7170 -v -0.6054 59.4536 0.0068 -v -0.7935 58.6118 -0.0224 -v -1.3407 61.3435 -1.0249 -v -2.2253 60.3012 -1.3344 -v -2.2095 61.2305 -1.5150 -v -0.4741 61.2949 -0.6078 -v -0.7854 61.5398 -0.0488 -v -0.1799 61.2747 0.0585 -v -1.7921 61.5632 -0.6482 -v -1.9014 62.8989 -1.2625 -v -2.5058 61.4136 -3.3339 -v -2.0718 58.0803 -1.8376 -v -2.3616 58.6526 -3.4054 -v -2.0435 58.6944 -1.7220 -v -1.4804 57.2878 -3.1674 -v -2.4848 60.6680 -2.0783 -v -0.8603 57.3392 -0.3453 -v -1.5075 57.9788 -4.8067 -v -0.5095 56.8628 -2.0812 -v -2.1892 21.9879 -1.4818 -v -6.5423 35.4806 -4.9028 -v -5.2832 35.9529 -7.8146 -v -3.7985 31.5525 -0.3863 -v -1.5687 1.9817 -0.6271 -v -3.7356 1.8169 0.2284 -v -1.8252 -0.0241 0.6012 -v -3.7693 -0.0090 1.1329 -v -5.3903 1.5682 -1.6703 -v -5.1768 -0.0250 -0.5983 -v -6.8240 22.1939 -3.2543 -v -0.8451 29.8910 -9.4915 -v -23.2655 44.2902 -3.6142 -v -23.3230 46.2280 -3.4252 -v -23.8813 46.2678 -5.9955 -v -23.2731 44.4791 -6.1705 -v -24.4461 44.0991 -3.0395 -v -24.9354 45.7429 -3.2888 -v -25.9827 45.6412 -5.9747 -v -25.7189 44.4079 -5.9891 -v -27.0580 43.7331 -1.4711 -v -26.7755 43.0070 -1.4929 -v -27.6379 42.3212 -1.9844 -v -27.1027 45.3202 -5.7351 -v -26.2463 42.9014 -5.3836 -v -26.7539 45.3983 -2.8586 -v -28.3806 42.3305 -3.0566 -v -28.6979 44.2382 -3.4775 -v -28.1009 44.1773 -2.4700 -v -28.5438 44.1780 -4.6514 -v -25.5872 43.5577 -2.0387 -v -26.1177 44.4879 -2.1987 -v -25.4919 42.8273 -2.3701 -v -3.4637 23.8728 -0.3567 -v -0.3403 31.4007 -9.9220 -v -0.4256 30.0691 -1.5036 -v -2.1628 35.7435 -9.5999 -v 0.0000 37.0098 0.5507 -v 0.0000 50.8802 0.1100 -v 0.0000 45.2358 -8.5163 -v 0.0000 59.3759 0.2727 -v 0.0000 62.7759 -0.3557 -v 0.0000 61.9130 -0.0480 -v 0.0000 56.8628 -2.0812 -v -2.8276 38.1718 -8.0883 -v -0.0000 31.5470 -9.9391 -v -28.2928 42.5431 -4.4468 -v 0.0000 38.2216 -8.0733 -v 4.6209 14.9457 -8.5161 -v 1.4564 14.6106 -8.6951 -v 1.7126 0.0249 -9.1957 -v 3.2526 0.0016 -8.5910 -v 4.0894 2.6330 -5.0313 -v 5.3088 13.9109 -3.7387 -v 1.5536 3.0595 -4.1735 -v 1.7669 13.7549 -2.9187 -v 3.0616 3.5378 -3.4617 -v 0.6260 0.0317 -8.3362 -v 1.2398 14.6448 -6.4653 -v 5.9192 37.6191 -4.5703 -v 6.0295 46.1888 -3.9560 -v 5.4957 46.0431 -6.7324 -v 2.8276 38.1718 -8.0883 -v 4.6857 36.6641 -1.6164 -v 4.2985 47.0011 -0.0589 -v 7.2525 54.5245 -7.6150 -v 6.7758 50.2065 -7.5345 -v 8.7478 53.7702 -7.3533 -v 8.1843 53.1087 -3.3204 -v 6.6241 53.5298 -2.6537 -v 9.8277 52.9897 -7.1885 -v 14.9891 50.5653 -7.2972 -v 15.6368 49.7151 -4.0157 -v 9.5084 52.4031 -3.6727 -v 2.3212 55.4710 -5.5708 -v 7.8131 49.3427 -3.8869 -v 3.7738 51.0936 -1.0343 -v 16.1362 50.0240 -7.5462 -v 13.7795 47.4172 -7.7153 -v 14.8850 46.9747 -7.9460 -v 8.7565 49.3211 -7.6329 -v 8.9272 49.1285 -4.1282 -v 14.9771 45.6892 -4.8210 -v 17.2082 49.4777 -7.5122 -v 22.5852 48.3277 -7.5944 -v 22.3487 46.9322 -2.8224 -v 16.8101 49.1399 -3.9288 -v 21.9364 43.0552 -3.7336 -v 16.1922 44.9604 -4.8771 -v 23.3377 47.2682 -6.9450 -v 21.0612 44.1836 -7.6112 -v 22.1051 44.1196 -7.0740 -v 15.8846 46.5205 -7.8558 -v 5.5985 31.8229 -1.4043 -v 7.1743 32.8153 -5.1673 -v 7.4539 29.9108 -4.7801 -v 4.9700 33.0828 -8.8719 -v 5.5953 29.7616 -8.4925 -v 6.8277 20.8590 -3.0448 -v 5.4260 21.3413 -8.1326 -v 6.1947 19.5763 -3.4786 -v 0.8999 21.4104 -8.3494 -v 5.3178 22.9368 -8.0162 -v 0.8356 22.8539 -8.2107 -v 1.9574 20.6208 -1.2115 -v 1.8530 19.1642 -1.3716 -v 0.1341 16.1695 -9.1747 -v 5.1172 15.4904 -9.6797 -v 1.7167 14.4504 -2.4592 -v 6.0692 14.6430 -3.7623 -v 0.0000 54.5221 -2.1876 -v 1.4357 55.0574 -2.8845 -v 0.5960 60.2687 -0.2559 -v 0.6054 59.4536 0.0068 -v 0.2263 59.6318 0.7170 -v 0.1638 60.6728 0.4053 -v 0.7935 58.6118 -0.0224 -v 0.0000 58.7353 0.2373 -v 1.3407 61.3435 -1.0249 -v 2.2095 61.2305 -1.5150 -v 2.2253 60.3012 -1.3344 -v 0.4741 61.2949 -0.6078 -v 0.1799 61.2747 0.0585 -v 0.7854 61.5398 -0.0488 -v 1.9014 62.8989 -1.2625 -v 1.7921 61.5632 -0.6482 -v 2.5058 61.4136 -3.3339 -v 2.0718 58.0803 -1.8376 -v 2.0435 58.6944 -1.7220 -v 2.3616 58.6526 -3.4054 -v 1.4804 57.2878 -3.1674 -v 2.4848 60.6680 -2.0783 -v 0.8603 57.3392 -0.3453 -v 0.0000 57.3204 0.1903 -v 1.5075 57.9788 -4.8067 -v 0.5095 56.8628 -2.0812 -v 2.1892 21.9879 -1.4837 -v 6.5423 35.4806 -4.9028 -v 5.2832 35.9529 -7.8146 -v 3.7985 31.5525 -0.3889 -v 3.7356 1.8169 0.2284 -v 1.5687 1.9817 -0.6271 -v 1.8252 -0.0241 0.6012 -v 3.7693 -0.0090 1.1329 -v 5.1768 -0.0250 -0.5983 -v 5.3903 1.5682 -1.6703 -v 6.8240 22.1939 -3.2515 -v 0.8451 29.8910 -9.4989 -v 23.3230 46.2280 -3.4252 -v 23.2655 44.2902 -3.6142 -v 23.2731 44.4791 -6.1705 -v 23.8813 46.2678 -5.9955 -v 24.9354 45.7429 -3.2888 -v 24.4461 44.0991 -3.0395 -v 25.7189 44.4079 -5.9891 -v 25.9827 45.6412 -5.9747 -v 0.0000 31.5525 0.1285 -v 27.0580 43.7331 -1.4711 -v 28.1009 44.1773 -2.4700 -v 27.6379 42.3212 -1.9844 -v 26.7755 43.0070 -1.4929 -v 26.2463 42.9014 -5.3836 -v 27.1027 45.3202 -5.7351 -v 26.7539 45.3983 -2.8586 -v 28.3806 42.3305 -3.0566 -v 28.6979 44.2382 -3.4775 -v 28.2928 42.5431 -4.4468 -v 28.5438 44.1780 -4.6514 -v 26.1177 44.4879 -2.1987 -v 25.5872 43.5577 -2.0387 -v 25.4919 42.8273 -2.3701 -v 3.4637 23.8728 -0.3567 -v 0.3403 31.4007 -9.9280 -v 0.4256 30.0691 -1.5075 -v 2.1628 35.7435 -9.5999 -v -0.0000 30.2154 -1.5220 -v 0.0000 35.7952 -9.5999 -v 0.7069 62.5386 -0.2897 -v 1.8382 62.2558 -0.8026 -v 1.9014 63.5323 -1.2476 -v 0.6723 63.4859 -0.4218 -v 3.1942 60.5972 -3.4604 -v 2.7587 63.5323 -3.3488 -v 3.0106 63.5323 -5.8687 -v 2.1305 53.6286 -1.3592 -v 4.0888 54.8798 -3.4604 -v 4.3407 55.2343 -6.2104 -v 2.3368 60.5972 -1.0725 -v 3.4460 60.5972 -5.9803 -v 1.9321 63.5323 -7.3112 -v 2.9903 54.4963 -8.2460 -v 2.5172 60.5972 -7.8792 -v 1.1714 65.0579 -2.2055 -v 1.7956 65.0579 -4.8061 -v 0.0000 63.5323 -8.1745 -v 0.0000 62.5386 -0.1403 -v 1.1873 53.6286 -3.1647 -v 1.3937 60.5972 -3.1647 -v -0.7069 62.5386 -0.2897 -v -1.8382 62.2558 -0.8026 -v -1.9014 63.5323 -1.2476 -v -0.6723 63.4859 -0.4218 -v -3.1942 60.5972 -3.4604 -v -2.7587 63.5323 -3.3488 -v -3.4460 60.5972 -5.9803 -v -3.0106 63.5323 -5.8687 -v -2.3368 60.5972 -1.0725 -v -2.1305 53.6286 -1.3592 -v -4.0888 54.8798 -3.4604 -v -4.3407 55.2343 -6.2104 -v -2.5172 60.5972 -7.8792 -v -1.9321 63.5323 -7.3112 -v -2.9903 54.4963 -8.2460 -v 0.0000 60.5972 -8.8128 -v 0.0000 54.0508 -8.7827 -v -1.1714 65.0579 -2.2055 -v -1.7956 65.0579 -4.8061 -v 0.0000 65.0579 -6.4214 -v 0.0000 65.5609 -4.0584 -v -1.3937 60.5972 -3.1647 -v -1.1873 53.6286 -3.1647 -v 5.7780 35.9947 -1.7731 -v 5.1150 35.7826 -2.0517 -v 5.7434 36.0196 -3.9959 -v 6.4636 36.2234 -3.7049 -v 8.5039 27.4359 -5.6703 -v 7.4519 27.2103 -3.5044 -v 6.5979 27.3323 -3.6902 -v 7.6499 27.5580 -5.8561 -v 8.7043 24.9057 -6.0365 -v 7.9848 25.1277 -6.1774 -v 2.7647 62.4556 -4.1284 -v 2.9040 62.4556 -5.7005 -v 4.8719 55.7996 -6.7654 -v 4.7366 55.7996 -5.1539 -v 4.0724 55.7996 -5.0402 -v 4.2078 55.7996 -6.6517 -v 4.5130 55.0077 -5.9098 -v 4.2911 55.0989 -5.8718 -# 328 vertices - -vn -0.0217 0.0232 -0.9995 -vn -0.0217 0.0232 -0.9995 -vn -0.0217 0.0232 -0.9995 -vn -0.0217 0.0232 -0.9995 -vn -0.9838 -0.0917 -0.1540 -vn -0.9838 -0.0917 -0.1540 -vn -0.9838 -0.0917 -0.1540 -vn -0.9838 -0.0917 -0.1540 -vn 0.3989 -0.0990 0.9116 -vn 0.3989 -0.0990 0.9116 -vn 0.3989 -0.0990 0.9116 -vn 0.9772 -0.0026 0.2125 -vn 0.9772 -0.0026 0.2125 -vn 0.9772 -0.0026 0.2125 -vn 0.9772 -0.0026 0.2125 -vn -0.8610 -0.0854 -0.5014 -vn -0.8610 -0.0854 -0.5014 -vn -0.8610 -0.0854 -0.5014 -vn -0.8610 -0.0854 -0.5014 -vn -0.9175 -0.0321 0.3964 -vn -0.9175 -0.0321 0.3964 -vn -0.9175 -0.0321 0.3964 -vn -0.9175 -0.0321 0.3964 -vn -0.2238 0.0288 -0.9742 -vn -0.2238 0.0288 -0.9742 -vn -0.2238 0.0288 -0.9742 -vn -0.2238 0.0288 -0.9742 -vn -0.3754 0.9014 0.2157 -vn -0.3754 0.9014 0.2157 -vn -0.3754 0.9014 0.2157 -vn -0.3754 0.9014 0.2157 -vn -0.4122 0.8952 0.1693 -vn -0.4122 0.8952 0.1693 -vn -0.4122 0.8952 0.1693 -vn -0.4122 0.8952 0.1693 -vn -0.3397 -0.0890 0.9363 -vn -0.3397 -0.0890 0.9363 -vn -0.3397 -0.0890 0.9363 -vn -0.3397 -0.0890 0.9363 -vn -0.1393 0.8417 -0.5216 -vn -0.1393 0.8417 -0.5216 -vn -0.1393 0.8417 -0.5216 -vn -0.1393 0.8417 -0.5216 -vn -0.5100 -0.1901 0.8389 -vn -0.5100 -0.1901 0.8389 -vn -0.5100 -0.1901 0.8389 -vn -0.5100 -0.1901 0.8389 -vn -0.9099 0.2029 0.3618 -vn -0.9099 0.2029 0.3618 -vn -0.9099 0.2029 0.3618 -vn -0.2668 0.2552 0.9293 -vn -0.2668 0.2552 0.9293 -vn -0.2668 0.2552 0.9293 -vn -0.2668 0.2552 0.9293 -vn 0.1291 0.1799 -0.9752 -vn 0.1291 0.1799 -0.9752 -vn 0.1291 0.1799 -0.9752 -vn 0.1291 0.1799 -0.9752 -vn 0.4379 -0.8826 -0.1713 -vn 0.4379 -0.8826 -0.1713 -vn 0.4379 -0.8826 -0.1713 -vn 0.4379 -0.8826 -0.1713 -vn -0.2686 0.9389 0.2152 -vn -0.2686 0.9389 0.2152 -vn -0.2686 0.9389 0.2152 -vn -0.2686 0.9389 0.2152 -vn 0.2569 -0.1860 0.9484 -vn 0.2569 -0.1860 0.9484 -vn 0.2569 -0.1860 0.9484 -vn 0.2569 -0.1860 0.9484 -vn -0.4719 -0.1610 -0.8668 -vn -0.4719 -0.1610 -0.8668 -vn -0.4719 -0.1610 -0.8668 -vn -0.4719 -0.1610 -0.8668 -vn 0.3121 -0.9015 -0.2997 -vn 0.3121 -0.9015 -0.2997 -vn 0.3121 -0.9015 -0.2997 -vn 0.3121 -0.9015 -0.2997 -vn -0.8992 0.1416 0.4139 -vn -0.8992 0.1416 0.4139 -vn -0.8992 0.1416 0.4139 -vn -0.8753 0.0683 -0.4787 -vn -0.8753 0.0683 -0.4787 -vn -0.8753 0.0683 -0.4787 -vn -0.8753 0.0683 -0.4787 -vn -0.8956 -0.3457 -0.2800 -vn -0.8956 -0.3457 -0.2800 -vn -0.8956 -0.3457 -0.2800 -vn -0.0441 0.0864 -0.9953 -vn -0.0441 0.0864 -0.9953 -vn -0.0441 0.0864 -0.9953 -vn -0.0441 0.0864 -0.9953 -vn 0.9869 0.0532 0.1524 -vn 0.9869 0.0532 0.1524 -vn 0.9869 0.0532 0.1524 -vn -0.3931 -0.2991 0.8695 -vn -0.3931 -0.2991 0.8695 -vn -0.3931 -0.2991 0.8695 -vn -0.3931 -0.2991 0.8695 -vn 0.1394 0.1063 -0.9845 -vn 0.1394 0.1063 -0.9845 -vn 0.1394 0.1063 -0.9845 -vn 0.1394 0.1063 -0.9845 -vn 0.9770 0.1171 0.1782 -vn 0.9770 0.1171 0.1782 -vn 0.9770 0.1171 0.1782 -vn 0.9770 0.1171 0.1782 -vn -0.3960 -0.1198 0.9104 -vn -0.3960 -0.1198 0.9104 -vn -0.3960 -0.1198 0.9104 -vn -0.3960 -0.1198 0.9104 -vn -0.9824 0.0457 -0.1810 -vn -0.9824 0.0457 -0.1810 -vn -0.9824 0.0457 -0.1810 -vn -0.9824 0.0457 -0.1810 -vn -0.8812 -0.3950 -0.2597 -vn -0.8812 -0.3950 -0.2597 -vn -0.8812 -0.3950 -0.2597 -vn -0.8812 -0.3950 -0.2597 -vn 0.3416 -0.9364 -0.0806 -vn 0.3416 -0.9364 -0.0806 -vn 0.3416 -0.9364 -0.0806 -vn 0.3416 -0.9364 -0.0806 -vn -0.2950 -0.2184 -0.9302 -vn -0.2950 -0.2184 -0.9302 -vn -0.2950 -0.2184 -0.9302 -vn -0.2950 -0.2184 -0.9302 -vn -0.2179 0.5180 0.8271 -vn -0.2179 0.5180 0.8271 -vn -0.2179 0.5180 0.8271 -vn -0.2179 0.5180 0.8271 -vn -0.8781 0.1721 0.4464 -vn -0.8781 0.1721 0.4464 -vn -0.8781 0.1721 0.4464 -vn -0.8781 0.1721 0.4464 -vn -0.3519 0.0039 0.9360 -vn -0.3519 0.0039 0.9360 -vn -0.3519 0.0039 0.9360 -vn -0.3519 0.0039 0.9360 -vn -0.5009 0.1733 0.8480 -vn -0.5009 0.1733 0.8480 -vn -0.5009 0.1733 0.8480 -vn -0.4195 -0.8939 0.1582 -vn -0.4195 -0.8939 0.1582 -vn -0.4195 -0.8939 0.1582 -vn -0.8797 0.2347 0.4135 -vn -0.8797 0.2347 0.4135 -vn -0.8797 0.2347 0.4135 -vn -0.8797 0.2347 0.4135 -vn -0.4054 0.4008 0.8216 -vn -0.4054 0.4008 0.8216 -vn -0.4054 0.4008 0.8216 -vn -0.4054 0.4008 0.8216 -vn -0.9589 0.1397 0.2470 -vn -0.9589 0.1397 0.2470 -vn -0.9589 0.1397 0.2470 -vn -0.9589 0.1397 0.2470 -vn -0.9826 0.0104 0.1854 -vn -0.9826 0.0104 0.1854 -vn -0.9826 0.0104 0.1854 -vn -0.8356 -0.5474 -0.0454 -vn -0.8356 -0.5474 -0.0454 -vn -0.8356 -0.5474 -0.0454 -vn -0.9624 -0.1782 0.2052 -vn -0.9624 -0.1782 0.2052 -vn -0.9624 -0.1782 0.2052 -vn -0.9624 -0.1782 0.2052 -vn -0.5693 0.1809 0.8020 -vn -0.5693 0.1809 0.8020 -vn -0.5693 0.1809 0.8020 -vn -0.5693 0.1809 0.8020 -vn -0.4248 -0.1131 0.8982 -vn -0.4248 -0.1131 0.8982 -vn -0.4248 -0.1131 0.8982 -vn -0.4248 -0.1131 0.8982 -vn -0.8013 -0.5559 -0.2211 -vn -0.8013 -0.5559 -0.2211 -vn -0.8013 -0.5559 -0.2211 -vn -0.6057 -0.0427 0.7945 -vn -0.6057 -0.0427 0.7945 -vn -0.6057 -0.0427 0.7945 -vn -0.6057 -0.0427 0.7945 -vn -0.9625 0.1322 0.2368 -vn -0.9625 0.1322 0.2368 -vn -0.9625 0.1322 0.2368 -vn -0.9625 0.1322 0.2368 -vn 0.3299 -0.1772 -0.9272 -vn 0.3299 -0.1772 -0.9272 -vn 0.3299 -0.1772 -0.9272 -vn 0.9234 -0.3825 0.0334 -vn 0.9234 -0.3825 0.0334 -vn 0.9234 -0.3825 0.0334 -vn -0.2812 -0.5012 0.8184 -vn -0.2812 -0.5012 0.8184 -vn -0.2812 -0.5012 0.8184 -vn -0.2812 -0.5012 0.8184 -vn -0.4657 -0.8535 -0.2339 -vn -0.4657 -0.8535 -0.2339 -vn -0.4657 -0.8535 -0.2339 -vn -0.4657 -0.8535 -0.2339 -vn 0.9816 0.0664 0.1789 -vn 0.9816 0.0664 0.1789 -vn 0.9816 0.0664 0.1789 -vn 0.9816 0.0664 0.1789 -vn -0.8820 0.1569 -0.4443 -vn -0.8820 0.1569 -0.4443 -vn -0.8820 0.1569 -0.4443 -vn -0.8820 0.1569 -0.4443 -vn -0.8922 0.1699 0.4185 -vn -0.8922 0.1699 0.4185 -vn -0.8922 0.1699 0.4185 -vn -0.4741 0.1274 0.8712 -vn -0.4741 0.1274 0.8712 -vn -0.4741 0.1274 0.8712 -vn -0.9265 0.0869 0.3661 -vn -0.9265 0.0869 0.3661 -vn -0.9265 0.0869 0.3661 -vn -0.1743 -0.1645 0.9709 -vn -0.1743 -0.1645 0.9709 -vn -0.1743 -0.1645 0.9709 -vn -0.1743 -0.1645 0.9709 -vn -0.5265 0.8267 0.1983 -vn -0.5265 0.8267 0.1983 -vn -0.5265 0.8267 0.1983 -vn -0.5265 0.8267 0.1983 -vn -0.1549 -0.0355 -0.9873 -vn -0.1549 -0.0355 -0.9873 -vn -0.1549 -0.0355 -0.9873 -vn 0.0017 -0.1699 0.9855 -vn 0.0017 -0.1699 0.9855 -vn 0.0017 -0.1699 0.9855 -vn 0.0017 -0.1699 0.9855 -vn -0.2158 0.8144 0.5387 -vn -0.2158 0.8144 0.5387 -vn -0.2158 0.8144 0.5387 -vn -0.2158 0.8144 0.5387 -vn -0.2761 0.9321 0.2345 -vn -0.2761 0.9321 0.2345 -vn -0.2761 0.9321 0.2345 -vn -0.9428 0.2795 0.1817 -vn -0.9428 0.2795 0.1817 -vn -0.9428 0.2795 0.1817 -vn -0.9986 -0.0518 -0.0141 -vn -0.9986 -0.0518 -0.0141 -vn -0.9986 -0.0518 -0.0141 -vn -0.1080 -0.9096 0.4012 -vn -0.1080 -0.9096 0.4012 -vn -0.1080 -0.9096 0.4012 -vn 0.2345 0.8990 0.3700 -vn 0.2345 0.8990 0.3700 -vn 0.2345 0.8990 0.3700 -vn 0.2345 0.8990 0.3700 -vn 0.9921 0.0722 0.1030 -vn 0.9921 0.0722 0.1030 -vn 0.9921 0.0722 0.1030 -vn 0.9921 0.0722 0.1030 -vn -0.0022 -1.0000 -0.0050 -vn -0.0022 -1.0000 -0.0050 -vn -0.0022 -1.0000 -0.0050 -vn -0.0022 -1.0000 -0.0050 -vn 0.7487 0.0742 -0.6587 -vn 0.7487 0.0742 -0.6587 -vn 0.7487 0.0742 -0.6587 -vn 0.7487 0.0742 -0.6587 -vn 0.2703 0.4526 0.8498 -vn 0.2703 0.4526 0.8498 -vn 0.2703 0.4526 0.8498 -vn 0.2703 0.4526 0.8498 -vn -0.9574 -0.0737 -0.2791 -vn -0.9574 -0.0737 -0.2791 -vn -0.9574 -0.0737 -0.2791 -vn -0.9574 -0.0737 -0.2791 -vn -0.7381 0.3081 0.6002 -vn -0.7381 0.3081 0.6002 -vn -0.7381 0.3081 0.6002 -vn -0.7381 0.3081 0.6002 -vn -0.5607 0.8117 0.1637 -vn -0.5607 0.8117 0.1637 -vn -0.5607 0.8117 0.1637 -vn -0.5607 0.8117 0.1637 -vn -0.4525 -0.0743 0.8887 -vn -0.4525 -0.0743 0.8887 -vn -0.4525 -0.0743 0.8887 -vn -0.4525 -0.0743 0.8887 -vn 0.0015 -0.8305 -0.5570 -vn 0.0015 -0.8305 -0.5570 -vn 0.0015 -0.8305 -0.5570 -vn 0.6496 -0.6341 -0.4195 -vn 0.6496 -0.6341 -0.4195 -vn 0.6496 -0.6341 -0.4195 -vn -0.9596 0.0284 -0.2800 -vn -0.9596 0.0284 -0.2800 -vn -0.9596 0.0284 -0.2800 -vn -0.9596 0.0284 -0.2800 -vn -0.1260 -0.1279 -0.9838 -vn -0.1260 -0.1279 -0.9838 -vn -0.1260 -0.1279 -0.9838 -vn -0.1260 -0.1279 -0.9838 -vn -0.3463 0.1313 0.9289 -vn -0.3463 0.1313 0.9289 -vn -0.3463 0.1313 0.9289 -vn -0.3463 0.1313 0.9289 -vn -0.2764 -0.8870 0.3700 -vn -0.2764 -0.8870 0.3700 -vn -0.2764 -0.8870 0.3700 -vn -0.2451 -0.1993 0.9488 -vn -0.2451 -0.1993 0.9488 -vn -0.2451 -0.1993 0.9488 -vn -0.2451 -0.1993 0.9488 -vn -0.6807 -0.2106 -0.7016 -vn -0.6807 -0.2106 -0.7016 -vn -0.6807 -0.2106 -0.7016 -vn -0.6807 -0.2106 -0.7016 -vn -0.7106 0.6739 0.2021 -vn -0.7106 0.6739 0.2021 -vn -0.7106 0.6739 0.2021 -vn -0.7106 0.6739 0.2021 -vn -0.5757 -0.8031 -0.1535 -vn -0.5757 -0.8031 -0.1535 -vn -0.5757 -0.8031 -0.1535 -vn -0.5757 -0.8031 -0.1535 -vn 0.2345 0.0522 0.9707 -vn 0.2345 0.0522 0.9707 -vn 0.2345 0.0522 0.9707 -vn 0.2345 0.0522 0.9707 -vn -0.0517 0.0476 -0.9975 -vn -0.0517 0.0476 -0.9975 -vn -0.0517 0.0476 -0.9975 -vn -0.0517 0.0476 -0.9975 -vn -0.2831 0.9562 0.0752 -vn -0.2831 0.9562 0.0752 -vn -0.2831 0.9562 0.0752 -vn -0.2831 0.9562 0.0752 -vn 0.0507 -0.9935 -0.1016 -vn 0.0507 -0.9935 -0.1016 -vn 0.0507 -0.9935 -0.1016 -vn 0.0507 -0.9935 -0.1016 -vn -0.3028 0.0473 0.9519 -vn -0.3028 0.0473 0.9519 -vn -0.3028 0.0473 0.9519 -vn -0.3028 0.0473 0.9519 -vn -0.6130 -0.0352 0.7893 -vn -0.6130 -0.0352 0.7893 -vn -0.6130 -0.0352 0.7893 -vn -0.6130 -0.0352 0.7893 -vn -0.2884 -0.1753 -0.9413 -vn -0.2884 -0.1753 -0.9413 -vn -0.2884 -0.1753 -0.9413 -vn -0.2884 -0.1753 -0.9413 -vn -0.2159 0.9761 0.0226 -vn -0.2159 0.9761 0.0226 -vn -0.2159 0.9761 0.0226 -vn -0.2159 0.9761 0.0226 -vn 0.8065 -0.4408 -0.3941 -vn 0.8065 -0.4408 -0.3941 -vn 0.8065 -0.4408 -0.3941 -vn -0.8405 -0.0442 0.5400 -vn -0.8405 -0.0442 0.5400 -vn -0.8405 -0.0442 0.5400 -vn -0.8405 -0.0442 0.5400 -vn -0.9791 -0.1752 -0.1028 -vn -0.9791 -0.1752 -0.1028 -vn -0.9791 -0.1752 -0.1028 -vn -0.9791 -0.1752 -0.1028 -vn -0.5602 0.7378 0.3766 -vn -0.5602 0.7378 0.3766 -vn -0.5602 0.7378 0.3766 -vn 0.4841 0.3212 0.8139 -vn 0.4841 0.3212 0.8139 -vn 0.4841 0.3212 0.8139 -vn 0.4841 0.3212 0.8139 -vn 0.7657 -0.6427 -0.0248 -vn 0.7657 -0.6427 -0.0248 -vn 0.7657 -0.6427 -0.0248 -vn 0.7657 -0.6427 -0.0248 -vn 0.0687 0.6166 0.7843 -vn 0.0687 0.6166 0.7843 -vn 0.0687 0.6166 0.7843 -vn -0.0696 -0.0316 0.9971 -vn -0.0696 -0.0316 0.9971 -vn -0.0696 -0.0316 0.9971 -vn -0.0696 -0.0316 0.9971 -vn -0.7898 -0.2268 0.5698 -vn -0.7898 -0.2268 0.5698 -vn -0.7898 -0.2268 0.5698 -vn -0.8001 -0.0972 0.5919 -vn -0.8001 -0.0972 0.5919 -vn -0.8001 -0.0972 0.5919 -vn -0.8001 -0.0972 0.5919 -vn -0.5940 -0.7913 0.1450 -vn -0.5940 -0.7913 0.1450 -vn -0.5940 -0.7913 0.1450 -vn -0.5940 -0.7913 0.1450 -vn -0.0906 0.1887 0.9778 -vn -0.0906 0.1887 0.9778 -vn -0.0906 0.1887 0.9778 -vn -0.0984 0.0806 -0.9919 -vn -0.0984 0.0806 -0.9919 -vn -0.0984 0.0806 -0.9919 -vn -0.0984 0.0806 -0.9919 -vn -0.4368 0.8892 0.1359 -vn -0.4368 0.8892 0.1359 -vn -0.4368 0.8892 0.1359 -vn -0.4368 0.8892 0.1359 -vn 0.4359 -0.8263 -0.3567 -vn 0.4359 -0.8263 -0.3567 -vn 0.4359 -0.8263 -0.3567 -vn 0.4359 -0.8263 -0.3567 -vn 0.1164 -0.1902 0.9748 -vn 0.1164 -0.1902 0.9748 -vn 0.1164 -0.1902 0.9748 -vn 0.1164 -0.1902 0.9748 -vn -0.0304 0.1155 -0.9928 -vn -0.0304 0.1155 -0.9928 -vn -0.0304 0.1155 -0.9928 -vn -0.0304 0.1155 -0.9928 -vn -0.4473 0.8833 0.1406 -vn -0.4473 0.8833 0.1406 -vn -0.4473 0.8833 0.1406 -vn 0.4096 -0.8479 -0.3367 -vn 0.4096 -0.8479 -0.3367 -vn 0.4096 -0.8479 -0.3367 -vn 0.7771 -0.6292 0.0154 -vn 0.7771 -0.6292 0.0154 -vn 0.7771 -0.6292 0.0154 -vn 0.3745 0.2581 0.8906 -vn 0.3745 0.2581 0.8906 -vn 0.3745 0.2581 0.8906 -vn 0.3745 0.2581 0.8906 -vn 0.3866 -0.6109 0.6909 -vn 0.3866 -0.6109 0.6909 -vn 0.3866 -0.6109 0.6909 -vn 0.3866 -0.6109 0.6909 -vn -0.2026 0.7986 0.5667 -vn -0.2026 0.7986 0.5667 -vn -0.2026 0.7986 0.5667 -vn -0.3472 -0.1729 0.9217 -vn -0.3472 -0.1729 0.9217 -vn -0.3472 -0.1729 0.9217 -vn -0.0557 0.0627 -0.9965 -vn -0.0557 0.0627 -0.9965 -vn -0.0557 0.0627 -0.9965 -vn -0.0557 0.0627 -0.9965 -vn -0.5625 0.8268 -0.0012 -vn -0.5625 0.8268 -0.0012 -vn -0.5625 0.8268 -0.0012 -vn -0.5625 0.8268 -0.0012 -vn 0.1065 -0.9839 -0.1437 -vn 0.1065 -0.9839 -0.1437 -vn 0.1065 -0.9839 -0.1437 -vn -0.1926 0.4841 0.8535 -vn -0.1926 0.4841 0.8535 -vn -0.1926 0.4841 0.8535 -vn 0.0135 -0.9999 -0.0004 -vn 0.0135 -0.9999 -0.0004 -vn 0.0135 -0.9999 -0.0004 -vn 0.0135 -0.9999 -0.0004 -vn -0.1584 0.3315 0.9300 -vn -0.1584 0.3315 0.9300 -vn -0.1584 0.3315 0.9300 -vn 0.9439 -0.3276 -0.0423 -vn 0.9439 -0.3276 -0.0423 -vn 0.9439 -0.3276 -0.0423 -vn 0.0000 -0.0454 0.9990 -vn 0.0000 -0.0454 0.9990 -vn 0.0000 -0.0454 0.9990 -vn -0.0985 -0.9710 0.2177 -vn -0.0985 -0.9710 0.2177 -vn -0.0985 -0.9710 0.2177 -vn -0.0985 -0.9710 0.2177 -vn -0.8813 0.0215 0.4721 -vn -0.8813 0.0215 0.4721 -vn -0.8813 0.0215 0.4721 -vn -0.9212 -0.1090 -0.3736 -vn -0.9212 -0.1090 -0.3736 -vn -0.9212 -0.1090 -0.3736 -vn -0.9212 -0.1090 -0.3736 -vn -0.4028 -0.1467 0.9035 -vn -0.4028 -0.1467 0.9035 -vn -0.4028 -0.1467 0.9035 -vn -0.4028 -0.1467 0.9035 -vn -0.2295 -0.1086 -0.9672 -vn -0.2295 -0.1086 -0.9672 -vn -0.2295 -0.1086 -0.9672 -vn -0.2295 -0.1086 -0.9672 -vn 0.9922 -0.1101 0.0579 -vn 0.9922 -0.1101 0.0579 -vn 0.9922 -0.1101 0.0579 -vn 0.9922 -0.1101 0.0579 -vn -0.3243 0.0841 -0.9422 -vn -0.3243 0.0841 -0.9422 -vn -0.3243 0.0841 -0.9422 -vn -0.3243 0.0841 -0.9422 -vn -0.8896 0.3112 -0.3342 -vn -0.8896 0.3112 -0.3342 -vn -0.8896 0.3112 -0.3342 -vn -0.8826 0.1867 0.4314 -vn -0.8826 0.1867 0.4314 -vn -0.8826 0.1867 0.4314 -vn -0.8826 0.1867 0.4314 -vn -0.4908 0.2558 0.8329 -vn -0.4908 0.2558 0.8329 -vn -0.4908 0.2558 0.8329 -vn -0.4908 0.2558 0.8329 -vn -0.1991 -0.9326 0.3009 -vn -0.1991 -0.9326 0.3009 -vn -0.1991 -0.9326 0.3009 -vn -0.1991 -0.9326 0.3009 -vn -0.2058 0.0231 -0.9783 -vn -0.2058 0.0231 -0.9783 -vn -0.2058 0.0231 -0.9783 -vn -0.2058 0.0231 -0.9783 -vn 0.2897 -0.0607 0.9552 -vn 0.2897 -0.0607 0.9552 -vn 0.2897 -0.0607 0.9552 -vn 0.3472 -0.9265 -0.1448 -vn 0.3472 -0.9265 -0.1448 -vn 0.3472 -0.9265 -0.1448 -vn 0.3472 -0.9265 -0.1448 -vn -0.0284 0.0393 -0.9988 -vn -0.0284 0.0393 -0.9988 -vn -0.0284 0.0393 -0.9988 -vn -0.0284 0.0393 -0.9988 -vn -0.7231 0.6525 0.2267 -vn -0.7231 0.6525 0.2267 -vn -0.7231 0.6525 0.2267 -vn -0.0951 -0.9499 -0.2979 -vn -0.0951 -0.9499 -0.2979 -vn -0.0951 -0.9499 -0.2979 -vn 0.0000 -0.8666 0.4991 -vn 0.0000 -0.8666 0.4991 -vn 0.0000 -0.8666 0.4991 -vn 0.0000 0.2868 0.9580 -vn 0.0000 0.2868 0.9580 -vn 0.0000 0.2868 0.9580 -vn 0.0000 0.2868 0.9580 -vn -0.0127 0.0741 -0.9972 -vn -0.0127 0.0741 -0.9972 -vn -0.0127 0.0741 -0.9972 -vn -0.0127 0.0741 -0.9972 -vn -0.5617 0.5448 -0.6226 -vn -0.5617 0.5448 -0.6226 -vn -0.5617 0.5448 -0.6226 -vn -0.5617 0.5448 -0.6226 -vn -0.4104 -0.2331 -0.8816 -vn -0.4104 -0.2331 -0.8816 -vn -0.4104 -0.2331 -0.8816 -vn -0.4104 -0.2331 -0.8816 -vn 0.2017 -0.9682 -0.1481 -vn 0.2017 -0.9682 -0.1481 -vn 0.2017 -0.9682 -0.1481 -vn 0.1853 -0.9802 -0.0705 -vn 0.1853 -0.9802 -0.0705 -vn 0.1853 -0.9802 -0.0705 -vn 0.0000 0.4993 0.8664 -vn 0.0000 0.4993 0.8664 -vn 0.0000 0.4993 0.8664 -vn 0.0000 0.4993 0.8664 -vn 0.0000 0.1646 0.9864 -vn 0.0000 0.1646 0.9864 -vn 0.0000 0.1646 0.9864 -vn -0.0082 0.5297 -0.8482 -vn -0.0082 0.5297 -0.8482 -vn -0.0082 0.5297 -0.8482 -vn -0.0082 0.5297 -0.8482 -vn 0.1634 0.0131 -0.9865 -vn 0.1634 0.0131 -0.9865 -vn 0.1634 0.0131 -0.9865 -vn 0.1634 0.0131 -0.9865 -vn 0.9827 -0.0885 -0.1628 -vn 0.9827 -0.0885 -0.1628 -vn 0.9827 -0.0885 -0.1628 -vn 0.9827 -0.0885 -0.1628 -vn -0.3989 -0.0990 0.9116 -vn -0.3989 -0.0990 0.9116 -vn -0.3989 -0.0990 0.9116 -vn -0.9831 0.0095 0.1829 -vn -0.9831 0.0095 0.1829 -vn -0.9831 0.0095 0.1829 -vn -0.9831 0.0095 0.1829 -vn 0.8610 -0.0854 -0.5014 -vn 0.8610 -0.0854 -0.5014 -vn 0.8610 -0.0854 -0.5014 -vn 0.8610 -0.0854 -0.5014 -vn 0.9175 -0.0321 0.3964 -vn 0.9175 -0.0321 0.3964 -vn 0.9175 -0.0321 0.3964 -vn 0.9175 -0.0321 0.3964 -vn 0.2238 0.0288 -0.9742 -vn 0.2238 0.0288 -0.9742 -vn 0.2238 0.0288 -0.9742 -vn 0.2238 0.0288 -0.9742 -vn 0.3754 0.9014 0.2157 -vn 0.3754 0.9014 0.2157 -vn 0.3754 0.9014 0.2157 -vn 0.3754 0.9014 0.2157 -vn 0.4122 0.8952 0.1693 -vn 0.4122 0.8952 0.1693 -vn 0.4122 0.8952 0.1693 -vn 0.4122 0.8952 0.1693 -vn 0.3397 -0.0890 0.9363 -vn 0.3397 -0.0890 0.9363 -vn 0.3397 -0.0890 0.9363 -vn 0.3397 -0.0890 0.9363 -vn 0.1393 0.8417 -0.5216 -vn 0.1393 0.8417 -0.5216 -vn 0.1393 0.8417 -0.5216 -vn 0.1393 0.8417 -0.5216 -vn 0.7724 -0.0229 0.6347 -vn 0.7724 -0.0229 0.6347 -vn 0.7724 -0.0229 0.6347 -vn 0.7724 -0.0229 0.6347 -vn 0.3000 -0.1901 0.9348 -vn 0.3000 -0.1901 0.9348 -vn 0.3000 -0.1901 0.9348 -vn 0.2668 0.2552 0.9293 -vn 0.2668 0.2552 0.9293 -vn 0.2668 0.2552 0.9293 -vn 0.2668 0.2552 0.9293 -vn -0.1291 0.1799 -0.9752 -vn -0.1291 0.1799 -0.9752 -vn -0.1291 0.1799 -0.9752 -vn -0.1291 0.1799 -0.9752 -vn -0.4379 -0.8826 -0.1713 -vn -0.4379 -0.8826 -0.1713 -vn -0.4379 -0.8826 -0.1713 -vn -0.4379 -0.8826 -0.1713 -vn 0.2686 0.9389 0.2152 -vn 0.2686 0.9389 0.2152 -vn 0.2686 0.9389 0.2152 -vn 0.2686 0.9389 0.2152 -vn -0.2569 -0.1860 0.9484 -vn -0.2569 -0.1860 0.9484 -vn -0.2569 -0.1860 0.9484 -vn -0.2569 -0.1860 0.9484 -vn 0.4719 -0.1610 -0.8668 -vn 0.4719 -0.1610 -0.8668 -vn 0.4719 -0.1610 -0.8668 -vn 0.4719 -0.1610 -0.8668 -vn -0.3121 -0.9015 -0.2997 -vn -0.3121 -0.9015 -0.2997 -vn -0.3121 -0.9015 -0.2997 -vn -0.3121 -0.9015 -0.2997 -vn 0.8992 0.1417 0.4139 -vn 0.8992 0.1417 0.4139 -vn 0.8992 0.1417 0.4139 -vn 0.8754 0.0683 -0.4785 -vn 0.8754 0.0683 -0.4785 -vn 0.8754 0.0683 -0.4785 -vn 0.8754 0.0683 -0.4785 -vn 0.8951 -0.3473 -0.2795 -vn 0.8951 -0.3473 -0.2795 -vn 0.8951 -0.3473 -0.2795 -vn 0.0453 0.0861 -0.9953 -vn 0.0453 0.0861 -0.9953 -vn 0.0453 0.0861 -0.9953 -vn 0.0453 0.0861 -0.9953 -vn -0.9869 0.0540 0.1522 -vn -0.9869 0.0540 0.1522 -vn -0.9869 0.0540 0.1522 -vn 0.3933 -0.2947 0.8709 -vn 0.3933 -0.2947 0.8709 -vn 0.3933 -0.2947 0.8709 -vn 0.3933 -0.2947 0.8709 -vn -0.0131 0.2104 -0.9775 -vn -0.0131 0.2104 -0.9775 -vn -0.0131 0.2104 -0.9775 -vn -0.0131 0.2104 -0.9775 -vn -0.9792 0.0511 0.1961 -vn -0.9792 0.0511 0.1961 -vn -0.9792 0.0511 0.1961 -vn -0.9792 0.0511 0.1961 -vn 0.3700 -0.1406 0.9183 -vn 0.3700 -0.1406 0.9183 -vn 0.3700 -0.1406 0.9183 -vn 0.3700 -0.1406 0.9183 -vn 0.9865 -0.0120 -0.1635 -vn 0.9865 -0.0120 -0.1635 -vn 0.9865 -0.0120 -0.1635 -vn 0.9865 -0.0120 -0.1635 -vn 0.8812 -0.3950 -0.2597 -vn 0.8812 -0.3950 -0.2597 -vn 0.8812 -0.3950 -0.2597 -vn 0.8812 -0.3950 -0.2597 -vn -0.3416 -0.9364 -0.0806 -vn -0.3416 -0.9364 -0.0806 -vn -0.3416 -0.9364 -0.0806 -vn -0.3416 -0.9364 -0.0806 -vn 0.2950 -0.2184 -0.9302 -vn 0.2950 -0.2184 -0.9302 -vn 0.2950 -0.2184 -0.9302 -vn 0.2950 -0.2184 -0.9302 -vn 0.2179 0.5180 0.8271 -vn 0.2179 0.5180 0.8271 -vn 0.2179 0.5180 0.8271 -vn 0.2179 0.5180 0.8271 -vn 0.8781 0.1721 0.4464 -vn 0.8781 0.1721 0.4464 -vn 0.8781 0.1721 0.4464 -vn 0.8781 0.1721 0.4464 -vn 0.3519 0.0039 0.9360 -vn 0.3519 0.0039 0.9360 -vn 0.3519 0.0039 0.9360 -vn 0.3519 0.0039 0.9360 -vn 0.5009 0.1733 0.8480 -vn 0.5009 0.1733 0.8480 -vn 0.5009 0.1733 0.8480 -vn 0.4195 -0.8939 0.1582 -vn 0.4195 -0.8939 0.1582 -vn 0.4195 -0.8939 0.1582 -vn 0.8797 0.2347 0.4135 -vn 0.8797 0.2347 0.4135 -vn 0.8797 0.2347 0.4135 -vn 0.8797 0.2347 0.4135 -vn 0.4054 0.4008 0.8216 -vn 0.4054 0.4008 0.8216 -vn 0.4054 0.4008 0.8216 -vn 0.4054 0.4008 0.8216 -vn 0.9589 0.1397 0.2470 -vn 0.9589 0.1397 0.2470 -vn 0.9589 0.1397 0.2470 -vn 0.9589 0.1397 0.2470 -vn 0.9826 0.0104 0.1854 -vn 0.9826 0.0104 0.1854 -vn 0.9826 0.0104 0.1854 -vn 0.8356 -0.5474 -0.0454 -vn 0.8356 -0.5474 -0.0454 -vn 0.8356 -0.5474 -0.0454 -vn 0.9624 -0.1782 0.2052 -vn 0.9624 -0.1782 0.2052 -vn 0.9624 -0.1782 0.2052 -vn 0.9624 -0.1782 0.2052 -vn 0.5693 0.1809 0.8020 -vn 0.5693 0.1809 0.8020 -vn 0.5693 0.1809 0.8020 -vn 0.5693 0.1809 0.8020 -vn 0.4248 -0.1131 0.8982 -vn 0.4248 -0.1131 0.8982 -vn 0.4248 -0.1131 0.8982 -vn 0.4248 -0.1131 0.8982 -vn 0.8013 -0.5559 -0.2211 -vn 0.8013 -0.5559 -0.2211 -vn 0.8013 -0.5559 -0.2211 -vn 0.6057 -0.0427 0.7945 -vn 0.6057 -0.0427 0.7945 -vn 0.6057 -0.0427 0.7945 -vn 0.6057 -0.0427 0.7945 -vn 0.9625 0.1322 0.2368 -vn 0.9625 0.1322 0.2368 -vn 0.9625 0.1322 0.2368 -vn 0.9625 0.1322 0.2368 -vn -0.1464 -0.4023 -0.9037 -vn -0.1464 -0.4023 -0.9037 -vn -0.1464 -0.4023 -0.9037 -vn -0.8689 -0.4884 0.0797 -vn -0.8689 -0.4884 0.0797 -vn -0.8689 -0.4884 0.0797 -vn 0.2547 -0.3961 0.8821 -vn 0.2547 -0.3961 0.8821 -vn 0.2547 -0.3961 0.8821 -vn 0.2547 -0.3961 0.8821 -vn 0.5805 -0.7821 -0.2267 -vn 0.5805 -0.7821 -0.2267 -vn 0.5805 -0.7821 -0.2267 -vn 0.5805 -0.7821 -0.2267 -vn -0.9816 0.0670 0.1787 -vn -0.9816 0.0670 0.1787 -vn -0.9816 0.0670 0.1787 -vn -0.9816 0.0670 0.1787 -vn 0.8821 0.1569 -0.4442 -vn 0.8821 0.1569 -0.4442 -vn 0.8821 0.1569 -0.4442 -vn 0.8821 0.1569 -0.4442 -vn 0.8922 0.1700 0.4184 -vn 0.8922 0.1700 0.4184 -vn 0.8922 0.1700 0.4184 -vn 0.4727 0.1273 0.8720 -vn 0.4727 0.1273 0.8720 -vn 0.4727 0.1273 0.8720 -vn 0.9265 0.0869 0.3661 -vn 0.9265 0.0869 0.3661 -vn 0.9265 0.0869 0.3661 -vn 0.1743 -0.1645 0.9709 -vn 0.1743 -0.1645 0.9709 -vn 0.1743 -0.1645 0.9709 -vn 0.1743 -0.1645 0.9709 -vn 0.5265 0.8267 0.1983 -vn 0.5265 0.8267 0.1983 -vn 0.5265 0.8267 0.1983 -vn 0.5265 0.8267 0.1983 -vn 0.1549 -0.0355 -0.9873 -vn 0.1549 -0.0355 -0.9873 -vn 0.1549 -0.0355 -0.9873 -vn -0.0017 -0.1699 0.9855 -vn -0.0017 -0.1699 0.9855 -vn -0.0017 -0.1699 0.9855 -vn -0.0017 -0.1699 0.9855 -vn 0.2158 0.8144 0.5387 -vn 0.2158 0.8144 0.5387 -vn 0.2158 0.8144 0.5387 -vn 0.2158 0.8144 0.5387 -vn 0.2761 0.9321 0.2345 -vn 0.2761 0.9321 0.2345 -vn 0.2761 0.9321 0.2345 -vn 0.9428 0.2795 0.1817 -vn 0.9428 0.2795 0.1817 -vn 0.9428 0.2795 0.1817 -vn 0.9986 -0.0518 -0.0141 -vn 0.9986 -0.0518 -0.0141 -vn 0.9986 -0.0518 -0.0141 -vn 0.1080 -0.9096 0.4012 -vn 0.1080 -0.9096 0.4012 -vn 0.1080 -0.9096 0.4012 -vn -0.2345 0.8990 0.3700 -vn -0.2345 0.8990 0.3700 -vn -0.2345 0.8990 0.3700 -vn -0.2345 0.8990 0.3700 -vn -0.9921 0.0722 0.1030 -vn -0.9921 0.0722 0.1030 -vn -0.9921 0.0722 0.1030 -vn -0.9921 0.0722 0.1030 -vn 0.0022 -1.0000 -0.0050 -vn 0.0022 -1.0000 -0.0050 -vn 0.0022 -1.0000 -0.0050 -vn 0.0022 -1.0000 -0.0050 -vn -0.9203 0.0429 -0.3888 -vn -0.9203 0.0429 -0.3888 -vn -0.9203 0.0429 -0.3888 -vn -0.9203 0.0429 -0.3888 -vn -0.2703 0.4526 0.8498 -vn -0.2703 0.4526 0.8498 -vn -0.2703 0.4526 0.8498 -vn -0.2703 0.4526 0.8498 -vn 0.9574 -0.0737 -0.2791 -vn 0.9574 -0.0737 -0.2791 -vn 0.9574 -0.0737 -0.2791 -vn 0.9574 -0.0737 -0.2791 -vn 0.7381 0.3081 0.6002 -vn 0.7381 0.3081 0.6002 -vn 0.7381 0.3081 0.6002 -vn 0.7381 0.3081 0.6002 -vn 0.5607 0.8117 0.1637 -vn 0.5607 0.8117 0.1637 -vn 0.5607 0.8117 0.1637 -vn 0.5607 0.8117 0.1637 -vn 0.4525 -0.0743 0.8887 -vn 0.4525 -0.0743 0.8887 -vn 0.4525 -0.0743 0.8887 -vn 0.4525 -0.0743 0.8887 -vn 0.1186 -0.9178 -0.3790 -vn 0.1186 -0.9178 -0.3790 -vn 0.1186 -0.9178 -0.3790 -vn -0.7515 -0.6568 -0.0629 -vn -0.7515 -0.6568 -0.0629 -vn -0.7515 -0.6568 -0.0629 -vn 0.9597 0.0281 -0.2798 -vn 0.9597 0.0281 -0.2798 -vn 0.9597 0.0281 -0.2798 -vn 0.9597 0.0281 -0.2798 -vn 0.1273 -0.1278 -0.9836 -vn 0.1273 -0.1278 -0.9836 -vn 0.1273 -0.1278 -0.9836 -vn 0.1273 -0.1278 -0.9836 -vn 0.3455 0.1354 0.9286 -vn 0.3455 0.1354 0.9286 -vn 0.3455 0.1354 0.9286 -vn 0.3455 0.1354 0.9286 -vn 0.2764 -0.8870 0.3700 -vn 0.2764 -0.8870 0.3700 -vn 0.2764 -0.8870 0.3700 -vn 0.2451 -0.1993 0.9488 -vn 0.2451 -0.1993 0.9488 -vn 0.2451 -0.1993 0.9488 -vn 0.2451 -0.1993 0.9488 -vn 0.6807 -0.2106 -0.7016 -vn 0.6807 -0.2106 -0.7016 -vn 0.6807 -0.2106 -0.7016 -vn 0.6807 -0.2106 -0.7016 -vn 0.7106 0.6739 0.2021 -vn 0.7106 0.6739 0.2021 -vn 0.7106 0.6739 0.2021 -vn 0.7106 0.6739 0.2021 -vn 0.5757 -0.8031 -0.1535 -vn 0.5757 -0.8031 -0.1535 -vn 0.5757 -0.8031 -0.1535 -vn 0.5757 -0.8031 -0.1535 -vn -0.2345 0.0522 0.9707 -vn -0.2345 0.0522 0.9707 -vn -0.2345 0.0522 0.9707 -vn -0.2345 0.0522 0.9707 -vn 0.0517 0.0476 -0.9975 -vn 0.0517 0.0476 -0.9975 -vn 0.0517 0.0476 -0.9975 -vn 0.0517 0.0476 -0.9975 -vn 0.2831 0.9562 0.0752 -vn 0.2831 0.9562 0.0752 -vn 0.2831 0.9562 0.0752 -vn 0.2831 0.9562 0.0752 -vn -0.0507 -0.9935 -0.1016 -vn -0.0507 -0.9935 -0.1016 -vn -0.0507 -0.9935 -0.1016 -vn -0.0507 -0.9935 -0.1016 -vn 0.3031 0.0471 0.9518 -vn 0.3031 0.0471 0.9518 -vn 0.3031 0.0471 0.9518 -vn 0.3031 0.0471 0.9518 -vn 0.6130 -0.0352 0.7893 -vn 0.6130 -0.0352 0.7893 -vn 0.6130 -0.0352 0.7893 -vn 0.6130 -0.0352 0.7893 -vn 0.2884 -0.1753 -0.9413 -vn 0.2884 -0.1753 -0.9413 -vn 0.2884 -0.1753 -0.9413 -vn 0.2884 -0.1753 -0.9413 -vn 0.2159 0.9761 0.0226 -vn 0.2159 0.9761 0.0226 -vn 0.2159 0.9761 0.0226 -vn 0.2159 0.9761 0.0226 -vn -0.8065 -0.4408 -0.3941 -vn -0.8065 -0.4408 -0.3941 -vn -0.8065 -0.4408 -0.3941 -vn 0.8405 -0.0442 0.5400 -vn 0.8405 -0.0442 0.5400 -vn 0.8405 -0.0442 0.5400 -vn 0.8405 -0.0442 0.5400 -vn 0.9791 -0.1752 -0.1028 -vn 0.9791 -0.1752 -0.1028 -vn 0.9791 -0.1752 -0.1028 -vn 0.9791 -0.1752 -0.1028 -vn 0.5602 0.7378 0.3766 -vn 0.5602 0.7378 0.3766 -vn 0.5602 0.7378 0.3766 -vn -0.4841 0.3212 0.8139 -vn -0.4841 0.3212 0.8139 -vn -0.4841 0.3212 0.8139 -vn -0.4841 0.3212 0.8139 -vn -0.7657 -0.6427 -0.0248 -vn -0.7657 -0.6427 -0.0248 -vn -0.7657 -0.6427 -0.0248 -vn -0.7657 -0.6427 -0.0248 -vn -0.0687 0.6166 0.7843 -vn -0.0687 0.6166 0.7843 -vn -0.0687 0.6166 0.7843 -vn 0.0699 -0.0315 0.9971 -vn 0.0699 -0.0315 0.9971 -vn 0.0699 -0.0315 0.9971 -vn 0.0699 -0.0315 0.9971 -vn 0.7898 -0.2268 0.5698 -vn 0.7898 -0.2268 0.5698 -vn 0.7898 -0.2268 0.5698 -vn 0.8001 -0.0972 0.5919 -vn 0.8001 -0.0972 0.5919 -vn 0.8001 -0.0972 0.5919 -vn 0.8001 -0.0972 0.5919 -vn 0.5940 -0.7913 0.1450 -vn 0.5940 -0.7913 0.1450 -vn 0.5940 -0.7913 0.1450 -vn 0.5940 -0.7913 0.1450 -vn 0.0906 0.1887 0.9778 -vn 0.0906 0.1887 0.9778 -vn 0.0906 0.1887 0.9778 -vn 0.0984 0.0806 -0.9919 -vn 0.0984 0.0806 -0.9919 -vn 0.0984 0.0806 -0.9919 -vn 0.0984 0.0806 -0.9919 -vn 0.4368 0.8892 0.1359 -vn 0.4368 0.8892 0.1359 -vn 0.4368 0.8892 0.1359 -vn 0.4368 0.8892 0.1359 -vn -0.4359 -0.8263 -0.3567 -vn -0.4359 -0.8263 -0.3567 -vn -0.4359 -0.8263 -0.3567 -vn -0.4359 -0.8263 -0.3567 -vn -0.1164 -0.1902 0.9748 -vn -0.1164 -0.1902 0.9748 -vn -0.1164 -0.1902 0.9748 -vn -0.1164 -0.1902 0.9748 -vn 0.0304 0.1155 -0.9928 -vn 0.0304 0.1155 -0.9928 -vn 0.0304 0.1155 -0.9928 -vn 0.0304 0.1155 -0.9928 -vn 0.4473 0.8833 0.1406 -vn 0.4473 0.8833 0.1406 -vn 0.4473 0.8833 0.1406 -vn -0.4096 -0.8479 -0.3367 -vn -0.4096 -0.8479 -0.3367 -vn -0.4096 -0.8479 -0.3367 -vn -0.9835 -0.1436 0.1101 -vn -0.9835 -0.1436 0.1101 -vn -0.9835 -0.1436 0.1101 -vn -0.3745 0.2581 0.8906 -vn -0.3745 0.2581 0.8906 -vn -0.3745 0.2581 0.8906 -vn -0.3745 0.2581 0.8906 -vn -0.3866 -0.6109 0.6909 -vn -0.3866 -0.6109 0.6909 -vn -0.3866 -0.6109 0.6909 -vn -0.3866 -0.6109 0.6909 -vn 0.2026 0.7986 0.5667 -vn 0.2026 0.7986 0.5667 -vn 0.2026 0.7986 0.5667 -vn 0.3472 -0.1729 0.9217 -vn 0.3472 -0.1729 0.9217 -vn 0.3472 -0.1729 0.9217 -vn 0.0557 0.0627 -0.9965 -vn 0.0557 0.0627 -0.9965 -vn 0.0557 0.0627 -0.9965 -vn 0.0557 0.0627 -0.9965 -vn 0.5625 0.8268 -0.0012 -vn 0.5625 0.8268 -0.0012 -vn 0.5625 0.8268 -0.0012 -vn 0.5625 0.8268 -0.0012 -vn -0.1065 -0.9839 -0.1437 -vn -0.1065 -0.9839 -0.1437 -vn -0.1065 -0.9839 -0.1437 -vn 0.1926 0.4841 0.8535 -vn 0.1926 0.4841 0.8535 -vn 0.1926 0.4841 0.8535 -vn -0.0135 -0.9999 -0.0004 -vn -0.0135 -0.9999 -0.0004 -vn -0.0135 -0.9999 -0.0004 -vn -0.0135 -0.9999 -0.0004 -vn 0.1584 0.3315 0.9300 -vn 0.1584 0.3315 0.9300 -vn 0.1584 0.3315 0.9300 -vn -0.9439 -0.3276 -0.0423 -vn -0.9439 -0.3276 -0.0423 -vn -0.9439 -0.3276 -0.0423 -vn 0.0000 -0.0454 0.9990 -vn 0.0000 -0.0454 0.9990 -vn 0.0000 -0.0454 0.9990 -vn 0.0985 -0.9710 0.2177 -vn 0.0985 -0.9710 0.2177 -vn 0.0985 -0.9710 0.2177 -vn 0.0985 -0.9710 0.2177 -vn 0.8813 0.0216 0.4721 -vn 0.8813 0.0216 0.4721 -vn 0.8813 0.0216 0.4721 -vn 0.9213 -0.1090 -0.3733 -vn 0.9213 -0.1090 -0.3733 -vn 0.9213 -0.1090 -0.3733 -vn 0.9213 -0.1090 -0.3733 -vn 0.4018 -0.1466 0.9039 -vn 0.4018 -0.1466 0.9039 -vn 0.4018 -0.1466 0.9039 -vn 0.4018 -0.1466 0.9039 -vn 0.2305 -0.1079 -0.9671 -vn 0.2305 -0.1079 -0.9671 -vn 0.2305 -0.1079 -0.9671 -vn 0.2305 -0.1079 -0.9671 -vn -0.9922 -0.1101 0.0578 -vn -0.9922 -0.1101 0.0578 -vn -0.9922 -0.1101 0.0578 -vn -0.9922 -0.1101 0.0578 -vn 0.3247 0.0848 -0.9420 -vn 0.3247 0.0848 -0.9420 -vn 0.3247 0.0848 -0.9420 -vn 0.3247 0.0848 -0.9420 -vn 0.8896 0.3112 -0.3342 -vn 0.8896 0.3112 -0.3342 -vn 0.8896 0.3112 -0.3342 -vn 0.8826 0.1868 0.4314 -vn 0.8826 0.1868 0.4314 -vn 0.8826 0.1868 0.4314 -vn 0.8826 0.1868 0.4314 -vn 0.4908 0.2558 0.8329 -vn 0.4908 0.2558 0.8329 -vn 0.4908 0.2558 0.8329 -vn 0.4908 0.2558 0.8329 -vn 0.1991 -0.9326 0.3009 -vn 0.1991 -0.9326 0.3009 -vn 0.1991 -0.9326 0.3009 -vn 0.1991 -0.9326 0.3009 -vn 0.2058 0.0231 -0.9783 -vn 0.2058 0.0231 -0.9783 -vn 0.2058 0.0231 -0.9783 -vn 0.2058 0.0231 -0.9783 -vn -0.2901 -0.0605 0.9551 -vn -0.2901 -0.0605 0.9551 -vn -0.2901 -0.0605 0.9551 -vn -0.3489 -0.9259 -0.1447 -vn -0.3489 -0.9259 -0.1447 -vn -0.3489 -0.9259 -0.1447 -vn -0.3489 -0.9259 -0.1447 -vn 0.0284 0.0393 -0.9988 -vn 0.0284 0.0393 -0.9988 -vn 0.0284 0.0393 -0.9988 -vn 0.0284 0.0393 -0.9988 -vn 0.7231 0.6525 0.2267 -vn 0.7231 0.6525 0.2267 -vn 0.7231 0.6525 0.2267 -vn 0.0951 -0.9499 -0.2979 -vn 0.0951 -0.9499 -0.2979 -vn 0.0951 -0.9499 -0.2979 -vn 0.0104 0.0752 -0.9971 -vn 0.0104 0.0752 -0.9971 -vn 0.0104 0.0752 -0.9971 -vn 0.0104 0.0752 -0.9971 -vn 0.5617 0.5448 -0.6226 -vn 0.5617 0.5448 -0.6226 -vn 0.5617 0.5448 -0.6226 -vn 0.5617 0.5448 -0.6226 -vn 0.4104 -0.2331 -0.8816 -vn 0.4104 -0.2331 -0.8816 -vn 0.4104 -0.2331 -0.8816 -vn 0.4104 -0.2331 -0.8816 -vn -0.2017 -0.9682 -0.1481 -vn -0.2017 -0.9682 -0.1481 -vn -0.2017 -0.9682 -0.1481 -vn -0.1853 -0.9802 -0.0705 -vn -0.1853 -0.9802 -0.0705 -vn -0.1853 -0.9802 -0.0705 -vn 0.0082 0.5297 -0.8482 -vn 0.0082 0.5297 -0.8482 -vn 0.0082 0.5297 -0.8482 -vn 0.0082 0.5297 -0.8482 -vn 0.4981 0.2118 0.8409 -vn 0.4981 0.2118 0.8409 -vn 0.4981 0.2118 0.8409 -vn 0.4981 0.2118 0.8409 -vn 0.9154 0.1115 0.3868 -vn 0.9154 0.1115 0.3868 -vn 0.9154 0.1115 0.3868 -vn 0.9154 0.1115 0.3868 -vn 0.9849 0.1424 0.0984 -vn 0.9849 0.1424 0.0984 -vn 0.9849 0.1424 0.0984 -vn 0.9849 0.1424 0.0984 -vn 0.9176 0.2222 0.3295 -vn 0.9176 0.2222 0.3295 -vn 0.9176 0.2222 0.3295 -vn 0.8424 0.0336 0.5378 -vn 0.8424 0.0336 0.5378 -vn 0.8424 0.0336 0.5378 -vn 0.8424 0.0336 0.5378 -vn 0.9822 0.1564 0.1044 -vn 0.9822 0.1564 0.1044 -vn 0.9822 0.1564 0.1044 -vn 0.9822 0.1564 0.1044 -vn 0.8392 0.2042 -0.5041 -vn 0.8392 0.2042 -0.5041 -vn 0.8392 0.2042 -0.5041 -vn 0.8392 0.2042 -0.5041 -vn 0.8476 0.1279 -0.5150 -vn 0.8476 0.1279 -0.5150 -vn 0.8476 0.1279 -0.5150 -vn 0.8476 0.1279 -0.5150 -vn 0.3651 0.2222 -0.9041 -vn 0.3651 0.2222 -0.9041 -vn 0.3651 0.2222 -0.9041 -vn 0.3651 0.2222 -0.9041 -vn 0.2551 0.0353 -0.9663 -vn 0.2551 0.0353 -0.9663 -vn 0.2551 0.0353 -0.9663 -vn 0.2551 0.0353 -0.9663 -vn 0.4221 0.6183 0.6630 -vn 0.4221 0.6183 0.6630 -vn 0.4221 0.6183 0.6630 -vn 0.7567 0.6087 0.2385 -vn 0.7567 0.6087 0.2385 -vn 0.7567 0.6087 0.2385 -vn 0.7567 0.6087 0.2385 -vn 0.8063 0.5860 0.0806 -vn 0.8063 0.5860 0.0806 -vn 0.8063 0.5860 0.0806 -vn 0.4688 0.7655 -0.4407 -vn 0.4688 0.7655 -0.4407 -vn 0.4688 0.7655 -0.4407 -vn 0.4688 0.7655 -0.4407 -vn 0.2815 0.7238 -0.6299 -vn 0.2815 0.7238 -0.6299 -vn 0.2815 0.7238 -0.6299 -vn 0.2964 0.9524 0.0712 -vn 0.2964 0.9524 0.0712 -vn 0.2964 0.9524 0.0712 -vn 0.1841 0.9614 -0.2047 -vn 0.1841 0.9614 -0.2047 -vn 0.1841 0.9614 -0.2047 -vn 0.0000 0.7502 0.6612 -vn 0.0000 0.7502 0.6612 -vn 0.0000 0.7502 0.6612 -vn 0.0000 0.7502 0.6612 -vn 0.2047 0.1425 0.9684 -vn 0.2047 0.1425 0.9684 -vn 0.2047 0.1425 0.9684 -vn 0.0000 0.2848 0.9586 -vn 0.0000 0.2848 0.9586 -vn 0.0000 0.2848 0.9586 -vn -0.9000 0.0177 0.4355 -vn -0.9000 0.0177 0.4355 -vn -0.9000 0.0177 0.4355 -vn -0.9000 0.0177 0.4355 -vn -0.4981 0.2118 0.8409 -vn -0.4981 0.2118 0.8409 -vn -0.4981 0.2118 0.8409 -vn -0.4981 0.2118 0.8409 -vn -0.9154 0.1115 0.3868 -vn -0.9154 0.1115 0.3868 -vn -0.9154 0.1115 0.3868 -vn -0.9154 0.1115 0.3868 -vn -0.9849 0.1424 0.0984 -vn -0.9849 0.1424 0.0984 -vn -0.9849 0.1424 0.0984 -vn -0.9849 0.1424 0.0984 -vn -0.9176 0.2222 0.3295 -vn -0.9176 0.2222 0.3295 -vn -0.9176 0.2222 0.3295 -vn -0.8424 0.0336 0.5378 -vn -0.8424 0.0336 0.5378 -vn -0.8424 0.0336 0.5378 -vn -0.8424 0.0336 0.5378 -vn -0.9822 0.1564 0.1044 -vn -0.9822 0.1564 0.1044 -vn -0.9822 0.1564 0.1044 -vn -0.9822 0.1564 0.1044 -vn -0.8392 0.2042 -0.5041 -vn -0.8392 0.2042 -0.5041 -vn -0.8392 0.2042 -0.5041 -vn -0.8392 0.2042 -0.5041 -vn -0.8476 0.1279 -0.5150 -vn -0.8476 0.1279 -0.5150 -vn -0.8476 0.1279 -0.5150 -vn -0.8476 0.1279 -0.5150 -vn -0.3651 0.2222 -0.9041 -vn -0.3651 0.2222 -0.9041 -vn -0.3651 0.2222 -0.9041 -vn -0.3651 0.2222 -0.9041 -vn -0.2551 0.0353 -0.9663 -vn -0.2551 0.0353 -0.9663 -vn -0.2551 0.0353 -0.9663 -vn -0.2551 0.0353 -0.9663 -vn -0.4221 0.6183 0.6630 -vn -0.4221 0.6183 0.6630 -vn -0.4221 0.6183 0.6630 -vn -0.7568 0.6087 0.2385 -vn -0.7568 0.6087 0.2385 -vn -0.7568 0.6087 0.2385 -vn -0.7568 0.6087 0.2385 -vn -0.8063 0.5860 0.0806 -vn -0.8063 0.5860 0.0806 -vn -0.8063 0.5860 0.0806 -vn -0.4688 0.7655 -0.4407 -vn -0.4688 0.7655 -0.4407 -vn -0.4688 0.7655 -0.4407 -vn -0.4688 0.7655 -0.4407 -vn -0.2815 0.7238 -0.6299 -vn -0.2815 0.7238 -0.6299 -vn -0.2815 0.7238 -0.6299 -vn -0.2964 0.9524 0.0712 -vn -0.2964 0.9524 0.0712 -vn -0.2964 0.9524 0.0712 -vn -0.1841 0.9614 -0.2047 -vn -0.1841 0.9614 -0.2047 -vn -0.1841 0.9614 -0.2047 -vn 0.0000 0.9651 0.2620 -vn 0.0000 0.9651 0.2620 -vn 0.0000 0.9651 0.2620 -vn -0.2047 0.1425 0.9684 -vn -0.2047 0.1425 0.9684 -vn -0.2047 0.1425 0.9684 -vn 0.9000 0.0177 0.4355 -vn 0.9000 0.0177 0.4355 -vn 0.9000 0.0177 0.4355 -vn 0.9000 0.0177 0.4355 -vn 0.2337 0.1582 -0.9593 -vn 0.2337 0.1582 -0.9593 -vn 0.2337 0.1582 -0.9593 -vn 0.2337 0.1582 -0.9593 -vn 0.9108 0.1087 0.3983 -vn 0.9108 0.1087 0.3983 -vn 0.9108 0.1087 0.3983 -vn 0.9108 0.1087 0.3983 -vn -0.2721 -0.2324 0.9338 -vn -0.2721 -0.2324 0.9338 -vn -0.2721 -0.2324 0.9338 -vn -0.2721 -0.2324 0.9338 -vn 0.2667 0.2664 -0.9262 -vn 0.2667 0.2664 -0.9262 -vn 0.2667 0.2664 -0.9262 -vn 0.2667 0.2664 -0.9262 -vn -0.2859 -0.7827 0.5528 -vn -0.2859 -0.7827 0.5528 -vn -0.2859 -0.7827 0.5528 -vn -0.2859 -0.7827 0.5528 -vn 0.8992 0.0079 0.4376 -vn 0.8992 0.0079 0.4376 -vn 0.8992 0.0079 0.4376 -vn -0.2937 0.9558 0.0153 -vn -0.2937 0.9558 0.0153 -vn -0.2937 0.9558 0.0153 -vn -0.2937 0.9558 0.0153 -vn -0.1893 -0.7092 -0.6791 -vn -0.1893 -0.7092 -0.6791 -vn -0.1893 -0.7092 -0.6791 -vn -0.1893 -0.7092 -0.6791 -vn 0.9591 0.2709 0.0827 -vn 0.9591 0.2709 0.0827 -vn 0.9591 0.2709 0.0827 -vn 0.9591 0.2709 0.0827 -vn 0.1679 -0.1013 0.9806 -vn 0.1679 -0.1013 0.9806 -vn 0.1679 -0.1013 0.9806 -vn -0.1678 0.1072 -0.9800 -vn -0.1678 0.1072 -0.9800 -vn -0.1678 0.1072 -0.9800 -vn 0.0422 -0.7280 0.6843 -vn 0.0422 -0.7280 0.6843 -vn 0.0422 -0.7280 0.6843 -vn 0.0422 -0.7280 0.6843 -vn 0.9372 -0.3398 0.0787 -vn 0.9372 -0.3398 0.0787 -vn 0.9372 -0.3398 0.0787 -# 1312 vertex normals - -vt 0.3107 0.8057 0.0000 -vt 0.0418 0.8273 0.0000 -vt 0.0224 0.9163 0.0000 -vt 0.3107 0.4728 0.0000 -vt 0.1035 0.2227 0.0000 -vt 0.1074 0.0253 0.0000 -vt 0.0899 0.0232 0.0000 -vt 0.0636 0.2210 0.0000 -vt 0.1450 0.0577 0.0000 -vt 0.1687 0.2207 0.0000 -vt 0.1815 0.0586 0.0000 -vt 0.1640 0.0674 0.0000 -vt 0.2169 0.2236 0.0000 -vt 0.2201 0.0170 0.0000 -vt 0.2532 0.2123 0.0000 -vt 0.1832 0.6616 0.0000 -vt 0.1399 0.7884 0.0000 -vt 0.1833 0.7921 0.0000 -vt 0.2391 0.6616 0.0000 -vt 0.2493 0.8024 0.0000 -vt 0.1804 0.9648 0.0000 -vt 0.1341 0.8526 0.0000 -vt 0.0281 0.8778 0.0000 -vt 0.8077 0.9449 0.0000 -vt 0.7460 0.9866 0.0000 -vt 0.7460 0.9449 0.0000 -vt 0.8055 0.9227 0.0000 -vt 0.7460 0.9227 0.0000 -vt 0.7460 0.8094 0.0000 -vt 0.8053 0.8344 0.0000 -vt 0.2595 0.9680 0.0000 -vt 0.2566 0.8644 0.0000 -vt 0.1810 0.8442 0.0000 -vt 0.8086 0.8094 0.0000 -vt 0.8795 0.8094 0.0000 -vt 0.8795 0.8344 0.0000 -vt 0.6800 0.8094 0.0000 -vt 0.6889 0.9227 0.0000 -vt 0.6269 0.9227 0.0000 -vt 0.8108 0.7884 0.0000 -vt 0.7460 0.7884 0.0000 -vt 0.7460 0.6802 0.0000 -vt 0.8127 0.7051 0.0000 -vt 0.6918 0.6802 0.0000 -vt 0.6777 0.7884 0.0000 -vt 0.8099 0.6802 0.0000 -vt 0.8622 0.6802 0.0000 -vt 0.8795 0.7051 0.0000 -vt 0.8795 0.7884 0.0000 -vt 0.1854 0.4365 0.0000 -vt 0.1439 0.4087 0.0000 -vt 0.1364 0.4405 0.0000 -vt 0.0869 0.4366 0.0000 -vt 0.0973 0.3997 0.0000 -vt 0.1665 0.2975 0.0000 -vt 0.1634 0.2856 0.0000 -vt 0.1066 0.2975 0.0000 -vt 0.0549 0.2975 0.0000 -vt 0.0533 0.3137 0.0000 -vt 0.1055 0.3137 0.0000 -vt 0.2216 0.2810 0.0000 -vt 0.2243 0.2975 0.0000 -vt 0.0907 0.2286 0.0000 -vt 0.2823 0.2237 0.0000 -vt 0.2203 0.2369 0.0000 -vt 0.1517 0.2329 0.0000 -vt 0.2858 0.9314 0.0000 -vt 0.5026 0.1853 0.0000 -vt 0.5291 0.2009 0.0000 -vt 0.5298 0.1673 0.0000 -vt 0.5088 0.1569 0.0000 -vt 0.5062 0.1298 0.0000 -vt 0.4678 0.2318 0.0000 -vt 0.4344 0.1874 0.0000 -vt 0.4309 0.2270 0.0000 -vt 0.4999 0.2272 0.0000 -vt 0.5055 0.2476 0.0000 -vt 0.5256 0.2239 0.0000 -vt 0.4643 0.2508 0.0000 -vt 0.4516 0.2875 0.0000 -vt 0.3672 0.2403 0.0000 -vt 0.4357 0.0900 0.0000 -vt 0.3761 0.1116 0.0000 -vt 0.4347 0.1190 0.0000 -vt 0.3880 0.0541 0.0000 -vt 0.4096 0.1930 0.0000 -vt 0.5070 0.0878 0.0000 -vt 0.2699 0.9825 0.0000 -vt 0.3078 0.9535 0.0000 -vt 0.2255 0.3137 0.0000 -vt 0.1336 0.4715 0.0000 -vt 0.0941 0.4709 0.0000 -vt 0.2576 0.5822 0.0000 -vt 0.3084 0.0404 0.0000 -vt 0.2902 0.0307 0.0000 -vt 0.3135 0.0238 0.0000 -vt 0.7658 0.0409 0.0000 -vt 0.2740 0.0396 0.0000 -vt 0.2662 0.0236 0.0000 -vt 0.1657 0.3137 0.0000 -vt 0.0417 0.3958 0.0000 -vt 0.7109 0.6619 0.0000 -vt 0.7460 0.6619 0.0000 -vt 0.8009 0.6619 0.0000 -vt 0.8356 0.6619 0.0000 -vt 0.7232 0.6305 0.0000 -vt 0.7460 0.6305 0.0000 -vt 0.7962 0.6305 0.0000 -vt 0.8121 0.6305 0.0000 -vt 0.7839 0.5279 0.0000 -vt 0.7997 0.5230 0.0000 -vt 0.7802 0.5027 0.0000 -vt 0.7063 0.5876 0.0000 -vt 0.6631 0.5538 0.0000 -vt 0.7660 0.5742 0.0000 -vt 0.7416 0.4982 0.0000 -vt 0.7379 0.5389 0.0000 -vt 0.7561 0.5372 0.0000 -vt 0.7186 0.5457 0.0000 -vt 0.8063 0.5569 0.0000 -vt 0.7882 0.5651 0.0000 -vt 0.8133 0.5545 0.0000 -vt 0.2610 0.4728 0.0000 -vt 0.3489 0.3960 0.0000 -vt 0.2513 0.4119 0.0000 -vt 0.0526 0.4653 0.0000 -vt 0.3107 0.6616 0.0000 -vt 0.3107 0.8605 0.0000 -vt 0.0614 0.7628 0.0000 -vt 0.5338 0.1538 0.0000 -vt 0.5339 0.2868 0.0000 -vt 0.5338 0.2544 0.0000 -vt 0.3105 0.9531 0.0000 -vt 0.1145 0.6616 0.0000 -vt 0.3499 0.4002 0.0000 -vt 0.7042 0.5143 0.0000 -vt 0.0732 0.6616 0.0000 -vt 0.9122 0.1756 0.0000 -vt 0.9434 0.1756 0.0000 -vt 0.9254 0.0319 0.0000 -vt 0.9094 0.0329 0.0000 -vt 0.8739 0.0600 0.0000 -vt 0.8590 0.1756 0.0000 -vt 0.8411 0.0589 0.0000 -vt 0.8242 0.1756 0.0000 -vt 0.8563 0.0678 0.0000 -vt 0.8086 0.0196 0.0000 -vt 0.7953 0.1756 0.0000 -vt 0.1834 0.6616 0.0000 -vt 0.1835 0.7921 0.0000 -vt 0.1401 0.7884 0.0000 -vt 0.1147 0.6616 0.0000 -vt 0.2393 0.6616 0.0000 -vt 0.2495 0.8024 0.0000 -vt 0.1806 0.9648 0.0000 -vt 0.1343 0.8526 0.0000 -vt 0.5286 0.9420 0.0000 -vt 0.4699 0.9420 0.0000 -vt 0.4699 0.9778 0.0000 -vt 0.5264 0.9164 0.0000 -vt 0.5262 0.8281 0.0000 -vt 0.4699 0.8031 0.0000 -vt 0.4699 0.9164 0.0000 -vt 0.2597 0.9680 0.0000 -vt 0.1812 0.8442 0.0000 -vt 0.2568 0.8644 0.0000 -vt 0.5295 0.8031 0.0000 -vt 0.5908 0.8281 0.0000 -vt 0.5908 0.8031 0.0000 -vt 0.3478 0.9164 0.0000 -vt 0.4098 0.9164 0.0000 -vt 0.4009 0.8031 0.0000 -vt 0.5317 0.7821 0.0000 -vt 0.5336 0.6988 0.0000 -vt 0.4699 0.6747 0.0000 -vt 0.4699 0.7821 0.0000 -vt 0.4127 0.6747 0.0000 -vt 0.3986 0.7821 0.0000 -vt 0.5308 0.6747 0.0000 -vt 0.5908 0.6988 0.0000 -vt 0.5831 0.6747 0.0000 -vt 0.5908 0.7821 0.0000 -vt 0.8479 0.4132 0.0000 -vt 0.8933 0.4142 0.0000 -vt 0.8848 0.3854 0.0000 -vt 0.9389 0.4095 0.0000 -vt 0.9275 0.3759 0.0000 -vt 0.8589 0.2861 0.0000 -vt 0.9142 0.2821 0.0000 -vt 0.8602 0.2774 0.0000 -vt 0.9628 0.2861 0.0000 -vt 0.9164 0.3016 0.0000 -vt 0.9643 0.3016 0.0000 -vt 0.8047 0.2861 0.0000 -vt 0.8051 0.2742 0.0000 -vt 0.7326 0.2071 0.0000 -vt 0.9173 0.2208 0.0000 -vt 0.8086 0.2361 0.0000 -vt 0.8594 0.2278 0.0000 -vt 0.3107 0.9196 0.0000 -vt 0.2860 0.9314 0.0000 -vt 0.5651 0.1853 0.0000 -vt 0.5589 0.1569 0.0000 -vt 0.5378 0.1673 0.0000 -vt 0.5385 0.2009 0.0000 -vt 0.5615 0.1298 0.0000 -vt 0.5338 0.1344 0.0000 -vt 0.5999 0.2317 0.0000 -vt 0.6368 0.2281 0.0000 -vt 0.6332 0.1874 0.0000 -vt 0.5678 0.2272 0.0000 -vt 0.5421 0.2239 0.0000 -vt 0.5622 0.2476 0.0000 -vt 0.6161 0.2875 0.0000 -vt 0.6034 0.2508 0.0000 -vt 0.7005 0.2402 0.0000 -vt 0.6320 0.0899 0.0000 -vt 0.6330 0.1190 0.0000 -vt 0.6916 0.1116 0.0000 -vt 0.6796 0.0540 0.0000 -vt 0.6581 0.1930 0.0000 -vt 0.5606 0.0878 0.0000 -vt 0.5338 0.0953 0.0000 -vt 0.2701 0.9825 0.0000 -vt 0.3080 0.9535 0.0000 -vt 0.8045 0.3016 0.0000 -vt 0.8972 0.4428 0.0000 -vt 0.9339 0.4413 0.0000 -vt 0.2578 0.5822 0.0000 -vt 0.2902 0.0307 0.0000 -vt 0.2740 0.0396 0.0000 -vt 0.2662 0.0236 0.0000 -vt 0.7658 0.0409 0.0000 -vt 0.3135 0.0238 0.0000 -vt 0.3084 0.0404 0.0000 -vt 0.8604 0.3016 0.0000 -vt 0.9785 0.3695 0.0000 -vt 0.4699 0.6556 0.0000 -vt 0.4318 0.6556 0.0000 -vt 0.5566 0.6556 0.0000 -vt 0.5218 0.6556 0.0000 -vt 0.4699 0.6242 0.0000 -vt 0.4441 0.6242 0.0000 -vt 0.5330 0.6242 0.0000 -vt 0.5171 0.6242 0.0000 -vt 0.3107 0.5822 0.0000 -vt 0.7839 0.5279 0.0000 -vt 0.7561 0.5372 0.0000 -vt 0.7802 0.5027 0.0000 -vt 0.7997 0.5230 0.0000 -vt 0.6631 0.5538 0.0000 -vt 0.7063 0.5876 0.0000 -vt 0.7660 0.5742 0.0000 -vt 0.7416 0.4982 0.0000 -vt 0.7379 0.5389 0.0000 -vt 0.7042 0.5143 0.0000 -vt 0.7186 0.5457 0.0000 -vt 0.7882 0.5651 0.0000 -vt 0.8063 0.5569 0.0000 -vt 0.8133 0.5545 0.0000 -vt 0.2612 0.4728 0.0000 -vt 0.6949 0.3842 0.0000 -vt 0.7856 0.3933 0.0000 -vt 0.9724 0.4336 0.0000 -vt 0.2524 0.4170 0.0000 -vt 0.0275 0.4648 0.0000 -vt 0.4091 0.5386 0.0000 -vt 0.4300 0.5070 0.0000 -vt 0.4515 0.5314 0.0000 -vt 0.4263 0.5527 0.0000 -vt 0.4920 0.4514 0.0000 -vt 0.4997 0.5187 0.0000 -vt 0.5542 0.5118 0.0000 -vt 0.4167 0.2972 0.0000 -vt 0.4868 0.3160 0.0000 -vt 0.5424 0.3315 0.0000 -vt 0.4341 0.4607 0.0000 -vt 0.5521 0.4459 0.0000 -vt 0.5911 0.5193 0.0000 -vt 0.6084 0.2977 0.0000 -vt 0.6010 0.4502 0.0000 -vt 0.4820 0.5643 0.0000 -vt 0.5386 0.5567 0.0000 -vt 0.6348 0.5377 0.0000 -vt 0.3982 0.5591 0.0000 -vt 0.3690 0.3002 0.0000 -vt 0.3803 0.4634 0.0000 -vt 0.4091 0.5386 0.0000 -vt 0.4300 0.5071 0.0000 -vt 0.4515 0.5315 0.0000 -vt 0.4161 0.5817 0.0000 -vt 0.4920 0.4515 0.0000 -vt 0.4997 0.5188 0.0000 -vt 0.5521 0.4459 0.0000 -vt 0.5542 0.5119 0.0000 -vt 0.4340 0.4608 0.0000 -vt 0.4166 0.2973 0.0000 -vt 0.4867 0.3161 0.0000 -vt 0.5424 0.3315 0.0000 -vt 0.6010 0.4503 0.0000 -vt 0.5911 0.5193 0.0000 -vt 0.6083 0.2977 0.0000 -vt 0.6618 0.4642 0.0000 -vt 0.6823 0.3086 0.0000 -vt 0.4667 0.6076 0.0000 -vt 0.5386 0.5567 0.0000 -vt 0.5889 0.5821 0.0000 -vt 0.5237 0.6033 0.0000 -vt 0.3802 0.4635 0.0000 -vt 0.3690 0.3003 0.0000 -vt 0.0756 0.0215 0.0000 -vt 0.0284 0.2165 0.0000 -vt 0.2315 0.5822 0.0000 -vt 0.3072 0.2975 0.0000 -vt 0.3066 0.3137 0.0000 -vt 0.0396 0.2418 0.0000 -vt 0.1823 0.6318 0.0000 -vt 0.1420 0.6318 0.0000 -vt 0.2109 0.4334 0.0000 -vt 0.3394 0.3798 0.0000 -vt 0.0336 0.4139 0.0000 -vt 0.0965 0.6318 0.0000 -vt 0.0296 0.4154 0.0000 -vt 0.9386 0.0312 0.0000 -vt 0.9744 0.1756 0.0000 -vt 0.2317 0.5822 0.0000 -vt 0.7265 0.2821 0.0000 -vt 0.7289 0.3016 0.0000 -vt 0.9699 0.2253 0.0000 -vt 0.1825 0.6318 0.0000 -vt 0.1422 0.6318 0.0000 -vt 0.8240 0.4114 0.0000 -vt 0.7027 0.3682 0.0000 -vt 0.9868 0.3852 0.0000 -vt 0.0967 0.6318 0.0000 -vt 0.0681 0.6318 0.0000 -vt 0.9955 0.4316 0.0000 -vt 0.9906 0.3863 0.0000 -vt 0.6942 0.3882 0.0000 -vt 0.7850 0.3981 0.0000 -vt 0.0420 0.8273 0.0000 -vt 0.0226 0.9163 0.0000 -vt 0.0283 0.8778 0.0000 -vt 0.0616 0.7629 0.0000 -vt 0.0734 0.6616 0.0000 -vt 0.0683 0.6318 0.0000 -vt 0.5332 0.9778 0.0000 -vt 0.3478 0.9420 0.0000 -vt 0.2104 0.9004 0.0000 -vt 0.4077 0.9420 0.0000 -vt 0.8123 0.9817 0.0000 -vt 0.6269 0.9449 0.0000 -vt 0.2102 0.9004 0.0000 -vt 0.6868 0.9449 0.0000 -vt 0.6269 0.8094 0.0000 -vt 0.6269 0.8294 0.0000 -vt 0.8795 0.9227 0.0000 -vt 0.6417 0.6802 0.0000 -vt 0.6269 0.6997 0.0000 -vt 0.6269 0.7884 0.0000 -vt 0.6659 0.6619 0.0000 -vt 0.6771 0.6305 0.0000 -vt 0.8801 0.5699 0.0000 -vt 0.3478 0.8231 0.0000 -vt 0.3478 0.8031 0.0000 -vt 0.5908 0.9164 0.0000 -vt 0.3478 0.6934 0.0000 -vt 0.3626 0.6747 0.0000 -vt 0.3478 0.7821 0.0000 -vt 0.3868 0.6556 0.0000 -vt 0.3980 0.6242 0.0000 -vt 0.8801 0.5699 0.0000 -vt 0.5908 0.9420 0.0000 -vt 0.8795 0.9449 0.0000 -vt 0.4971 0.0267 0.0000 -vt 0.5338 0.0190 0.0000 -vt 0.5705 0.0266 0.0000 -vt 0.2936 0.9628 0.0000 -vt 0.2938 0.9628 0.0000 -vt 0.1264 0.9132 0.0000 -vt 0.0539 0.9410 0.0000 -vt 0.1261 0.9132 0.0000 -vt 0.0537 0.9410 0.0000 -vt 0.3272 0.0717 0.0000 -vt 0.7404 0.0716 0.0000 -vt 0.9766 0.5071 0.0000 -vt 0.9671 0.4662 0.0000 -vt 0.9664 0.4646 0.0000 -vt 0.9935 0.5066 0.0000 -vt 0.9620 0.7107 0.0000 -vt 0.9222 0.7170 0.0000 -vt 0.9300 0.5164 0.0000 -vt 0.9160 0.7257 0.0000 -vt 0.9130 0.5155 0.0000 -vt 0.9711 0.7189 0.0000 -vt 0.9572 0.7753 0.0000 -vt 0.9353 0.7593 0.0000 -vt 0.9323 0.7553 0.0000 -vt 0.9675 0.7689 0.0000 -vt 0.9543 0.9680 0.0000 -vt 0.9099 0.9758 0.0000 -vt 0.9197 0.7813 0.0000 -vt 0.9041 0.7777 0.0000 -vt 0.7839 0.0501 0.0000 -vt 0.2897 0.0124 0.0000 -vt 0.7483 0.0551 0.0000 -vt 0.2897 0.0124 0.0000 -vt 0.8150 0.5993 0.0000 -vt 0.7740 0.6165 0.0000 -vt 0.7014 0.6099 0.0000 -vt 0.6747 0.5920 0.0000 -vt 0.8859 0.6072 0.0000 -vt 0.8162 0.5073 0.0000 -vt 0.8535 0.5070 0.0000 -vt 0.8162 0.5073 0.0000 -vt 0.8535 0.5070 0.0000 -vt 0.7740 0.6165 0.0000 -vt 0.8150 0.5993 0.0000 -vt 0.8794 0.5231 0.0000 -vt 0.6747 0.5920 0.0000 -vt 0.7014 0.6099 0.0000 -vt 0.8859 0.6072 0.0000 -vt 0.8794 0.5231 0.0000 -vt 0.7483 0.0551 0.0000 -vt 0.7651 0.1471 0.0000 -vt 0.7510 0.1380 0.0000 -vt 0.7779 0.1398 0.0000 -vt 0.9144 0.2153 0.0000 -vt 0.9497 0.2075 0.0000 -vt 0.7466 0.1838 0.0000 -vt 0.8550 0.2181 0.0000 -vt 0.8099 0.2158 0.0000 -vt 0.7741 0.2049 0.0000 -vt 0.3453 0.0972 0.0000 -vt 0.2385 0.1030 0.0000 -vt 0.3104 0.0739 0.0000 -vt 0.2755 0.0719 0.0000 -vt 0.2902 0.0717 0.0000 -vt 0.0944 0.1858 0.0000 -vt 0.0600 0.1858 0.0000 -vt 0.1541 0.1858 0.0000 -vt 0.1933 0.1858 0.0000 -vt 0.2252 0.1858 0.0000 -vt 0.0259 0.1858 0.0000 -vt 0.7779 0.1398 0.0000 -vt 0.7651 0.1471 0.0000 -vt 0.7839 0.0501 0.0000 -vt 0.7510 0.1380 0.0000 -vt 0.2385 0.1030 0.0000 -vt 0.2755 0.0719 0.0000 -vt 0.3104 0.0739 0.0000 -vt 0.2902 0.0717 0.0000 -vt 0.3453 0.0972 0.0000 -vt 0.3627 0.2127 0.0000 -vt 0.7049 0.2127 0.0000 -vt 0.4357 0.0229 0.0000 -vt 0.6319 0.0228 0.0000 -vt 0.6348 0.5377 0.0000 -vt 0.6618 0.4642 0.0000 -vt 0.6823 0.3086 0.0000 -vt 0.5890 0.5821 0.0000 -vt 0.3982 0.5592 0.0000 -vt 0.4263 0.5528 0.0000 -vt 0.4820 0.5644 0.0000 -vt 0.5237 0.6034 0.0000 -vt 0.4678 0.2318 0.0000 -vt 0.4309 0.2270 0.0000 -vt 0.4999 0.2272 0.0000 -vt 0.5055 0.2476 0.0000 -vt 0.5256 0.2239 0.0000 -vt 0.4643 0.2508 0.0000 -vt 0.5338 0.2544 0.0000 -vt 0.5999 0.2317 0.0000 -vt 0.6368 0.2281 0.0000 -vt 0.5678 0.2272 0.0000 -vt 0.5421 0.2239 0.0000 -vt 0.5622 0.2476 0.0000 -vt 0.6034 0.2508 0.0000 -# 478 texture coords - -g man_zbrush002 -usemtl Material__44 -f 5/439/1 8/440/2 7/7/3 6/6/4 -f 9/9/5 10/441/6 5/439/7 6/6/8 -f 11/11/9 13/442/10 12/12/11 -f 11/11/12 14/14/13 15/443/14 13/442/15 -f 17/17/16 134/134/17 16/16/18 18/18/19 -f 19/19/20 20/20/21 18/18/22 16/16/23 -f 22/22/24 21/382/25 23/23/26 2/2/27 -f 21/351/28 24/24/29 26/26/30 25/25/31 -f 27/27/32 30/30/33 29/29/34 28/28/35 -f 127/127/36 1/1/37 20/20/38 19/19/39 -f 23/23/40 21/382/41 31/383/42 3/3/43 -f 25/353/44 33/33/45 18/18/46 32/32/47 -f 18/18/48 20/20/49 32/32/50 -f 128/128/51 32/32/52 20/20/53 1/1/54 -f 34/34/55 30/30/56 36/36/57 35/35/58 -f 36/356/59 39/39/60 38/38/61 37/37/62 -f 40/40/63 43/43/64 42/42/65 41/41/66 -f 44/44/67 45/45/68 41/41/69 42/42/70 -f 47/47/71 46/46/72 43/43/73 48/48/74 -f 49/360/75 45/45/76 44/44/77 48/359/78 -f 50/50/79 52/52/80 51/51/81 -f 53/53/82 54/54/83 51/51/84 52/52/85 -f 55/55/86 57/57/87 56/56/88 -f 59/59/89 58/58/90 57/57/91 60/60/92 -f 58/314/93 62/62/94 61/61/95 -f 56/56/96 61/61/97 62/62/98 55/55/99 -f 63/63/100 57/57/101 58/58/102 64/316/103 -f 64/64/104 58/314/105 61/61/106 65/65/107 -f 61/61/108 56/56/109 66/66/110 65/65/111 -f 66/66/112 56/56/113 57/57/114 63/63/115 -f 33/33/116 22/22/117 17/17/118 18/18/119 -f 39/39/120 22/352/121 33/354/122 38/38/123 -f 17/17/124 22/22/125 2/2/126 129/129/127 -f 32/32/128 128/128/129 200/200/130 67/67/131 -f 69/69/132 68/68/133 71/71/134 70/70/135 -f 130/130/136 71/71/137 72/72/138 207/207/139 -f 73/466/140 75/467/141 74/74/142 -f 76/76/143 78/78/144 77/77/145 -f 69/69/146 78/470/147 76/468/148 68/68/149 -f 77/469/150 131/131/151 80/80/152 79/471/153 -f 80/80/154 81/81/155 75/467/156 79/471/157 -f 82/82/158 84/84/159 83/83/160 -f 83/83/161 85/85/162 82/82/163 -f 83/83/164 84/84/165 74/74/166 86/86/167 -f 68/68/168 74/74/169 72/72/170 71/71/171 -f 72/72/172 87/87/173 223/223/174 207/207/175 -f 83/83/176 88/384/177 85/85/178 -f 85/378/179 67/67/180 200/200/181 89/89/182 -f 67/67/183 85/378/184 88/88/185 31/31/186 -f 63/63/187 64/316/188 8/8/189 -f 64/64/190 65/65/191 15/15/192 -f 10/10/193 13/13/194 65/65/195 66/66/196 -f 5/5/197 10/10/198 66/66/199 63/63/200 -f 62/62/201 58/314/202 59/315/203 90/90/204 -f 52/52/205 91/91/206 92/92/207 53/53/208 -f 50/50/209 91/91/210 52/52/211 -f 19/19/212 50/313/213 93/93/214 -f 74/74/215 75/467/216 86/86/217 -f 38/38/218 33/354/219 26/26/220 28/28/221 -f 26/26/222 24/24/223 27/27/224 28/28/225 -f 24/24/226 21/351/227 22/374/228 -f 38/38/229 28/28/230 29/29/231 37/37/232 -f 25/353/233 32/32/234 67/67/235 21/21/236 -f 31/31/237 21/21/238 67/67/239 -f 75/467/240 81/454/241 86/86/242 -f 86/86/243 81/454/244 83/83/245 -f 75/75/246 73/73/247 79/79/248 -f 12/452/249 95/95/250 94/94/251 11/451/252 -f 14/453/253 11/451/254 94/94/255 96/96/256 -f 96/406/257 97/97/258 7/446/259 14/448/260 -f 7/7/261 8/440/262 15/444/263 14/311/264 -f 94/94/265 95/95/266 97/407/267 96/96/268 -f 9/450/269 6/449/270 99/99/271 98/98/272 -f 97/407/273 95/95/274 98/98/275 99/99/276 -f 98/98/277 95/95/278 12/452/279 9/450/280 -f 12/12/281 13/442/282 10/441/283 9/9/284 -f 63/63/285 8/8/286 5/5/287 -f 8/8/288 64/316/289 15/312/290 -f 57/57/291 55/55/292 100/100/293 60/60/294 -f 101/101/295 59/59/296 60/60/297 54/54/298 -f 62/62/299 90/90/300 100/100/301 55/55/302 -f 71/71/303 130/130/304 70/70/305 -f 44/44/306 42/42/307 103/103/308 102/102/309 -f 47/47/310 105/105/311 104/104/312 46/46/313 -f 42/42/314 46/46/315 104/104/316 103/103/317 -f 44/44/318 102/102/319 105/361/320 47/358/321 -f 103/103/322 107/107/323 106/106/324 102/102/325 -f 105/105/326 109/109/327 108/108/328 104/104/329 -f 104/104/330 108/108/331 107/107/332 103/103/333 -f 102/102/334 106/106/335 109/362/336 105/361/337 -f 93/93/338 246/246/339 127/127/340 19/19/341 -f 110/110/342 118/118/343 112/112/344 111/111/345 -f 113/113/346 108/410/347 109/411/348 114/114/349 -f 107/409/350 108/410/351 113/113/352 115/115/353 -f 106/408/354 114/363/355 109/412/356 -f 116/116/357 112/112/358 118/118/359 117/117/360 -f 116/116/361 117/117/362 119/119/363 136/136/364 -f 115/115/365 117/117/366 118/118/367 -f 107/409/368 121/121/369 120/120/370 106/408/371 -f 106/408/372 120/120/373 122/122/374 114/363/375 -f 115/115/376 121/121/377 107/409/378 -f 246/246/379 93/93/380 123/123/381 4/4/382 -f 74/74/383 84/84/384 72/72/385 -f 72/72/386 84/84/387 82/82/388 87/87/389 -f 82/82/390 85/456/391 89/375/392 87/87/393 -f 78/78/394 132/132/395 77/77/396 -f 49/49/397 40/40/398 34/34/399 35/35/400 -f 29/29/401 34/34/402 40/40/403 41/41/404 -f 45/45/405 49/360/406 35/355/407 37/37/408 -f 41/41/409 45/45/410 37/37/411 29/29/412 -f 36/36/413 30/30/414 27/27/415 39/357/416 -f 29/29/417 30/30/418 34/34/419 -f 36/356/420 37/37/421 35/355/422 -f 15/15/423 65/65/424 13/13/425 -f 121/121/426 110/110/427 111/111/428 120/120/429 -f 120/120/430 111/111/431 112/415/432 122/122/433 -f 121/121/434 118/118/435 110/110/436 -f 26/26/437 33/354/438 25/25/439 -f 24/24/440 22/374/441 39/357/442 27/27/443 -f 119/119/444 117/117/445 115/115/446 113/113/447 -f 114/363/448 116/416/449 136/419/450 -f 118/118/451 121/121/452 115/115/453 -f 7/446/454 97/97/455 99/447/456 6/445/457 -f 132/472/458 131/131/459 77/469/460 -f 124/124/461 125/125/462 101/320/463 -f 200/200/464 133/133/465 89/89/466 -f 89/375/467 133/376/468 223/223/469 87/87/470 -f 50/50/471 51/51/472 100/100/473 -f 100/100/474 51/51/475 54/54/476 60/60/477 -f 93/319/478 50/50/479 100/100/480 90/90/481 -f 124/321/482 101/101/483 54/54/484 53/53/485 -f 59/315/486 101/320/487 125/125/488 90/90/489 -f 126/126/490 124/321/491 53/53/492 92/92/493 -f 92/318/494 91/317/495 16/16/496 -f 16/16/497 91/317/498 50/313/499 19/19/500 -f 76/468/501 73/466/502 74/74/503 68/68/504 -f 73/73/505 76/76/506 77/77/507 79/79/508 -f 129/129/509 137/137/510 134/134/511 17/17/512 -f 125/125/513 93/319/514 90/90/515 -f 135/135/516 265/265/517 125/125/518 124/124/519 -f 48/48/520 43/43/521 40/40/522 49/49/523 -f 42/42/524 43/43/525 46/46/526 -f 48/359/527 44/44/528 47/358/529 -f 130/130/530 204/204/531 70/70/532 -f 69/69/533 70/70/534 204/204/535 205/205/536 -f 124/321/537 126/126/538 266/266/539 135/323/540 -f 16/16/541 134/134/542 126/322/543 92/318/544 -f 119/119/545 113/113/546 114/114/547 136/136/548 -f 122/122/549 112/415/550 116/416/551 -f 114/363/552 122/122/553 116/416/554 -f 78/470/555 69/69/556 205/205/557 212/476/558 -f 132/132/559 78/78/560 212/212/561 -f 126/322/562 134/134/563 137/137/564 266/336/565 -f 138/138/566 141/141/567 140/140/568 139/139/569 -f 142/142/570 141/141/571 138/138/572 143/143/573 -f 144/144/574 146/146/575 145/145/576 -f 144/144/577 145/145/578 148/148/579 147/147/580 -f 151/151/581 150/150/582 149/149/583 152/152/584 -f 153/153/585 149/149/586 150/150/587 154/154/588 -f 156/156/589 2/341/590 23/343/591 155/380/592 -f 155/347/593 159/159/594 158/158/595 157/157/596 -f 160/160/597 163/163/598 162/162/599 161/161/600 -f 127/127/601 153/153/602 154/154/603 1/1/604 -f 23/343/605 3/342/606 164/381/607 155/380/608 -f 166/166/609 154/154/610 150/150/611 159/349/612 -f 159/349/613 150/150/614 165/165/615 -f 128/128/616 1/1/617 154/154/618 166/166/619 -f 167/167/620 169/169/621 168/168/622 161/161/623 -f 168/364/624 172/172/625 171/171/626 170/170/627 -f 173/173/628 176/176/629 175/175/630 174/174/631 -f 177/177/632 175/175/633 176/176/634 178/178/635 -f 181/181/636 180/180/637 174/174/638 179/179/639 -f 182/369/640 180/367/641 177/177/642 178/178/643 -f 183/183/644 185/185/645 184/184/646 -f 186/186/647 184/184/648 185/185/649 187/187/650 -f 188/188/651 190/190/652 189/189/653 -f 193/193/654 192/192/655 189/189/656 191/191/657 -f 191/327/658 195/195/659 194/194/660 -f 190/190/661 188/188/662 194/194/663 195/195/664 -f 197/197/665 196/329/666 191/191/667 189/189/668 -f 196/196/669 198/198/670 195/195/671 191/327/672 -f 195/195/673 198/198/674 199/199/675 190/190/676 -f 199/199/677 197/197/678 189/189/679 190/190/680 -f 165/165/681 150/150/682 151/151/683 156/156/684 -f 170/170/685 171/171/686 165/350/687 156/348/688 -f 151/151/689 129/344/690 2/341/691 156/156/692 -f 166/166/693 201/201/694 200/200/695 128/128/696 -f 205/205/697 204/204/698 203/203/699 202/202/700 -f 130/130/701 207/207/702 206/206/703 203/203/704 -f 208/473/705 210/210/706 209/474/707 -f 211/211/708 213/213/709 212/212/710 -f 205/205/711 202/202/712 211/475/713 212/476/714 -f 213/477/715 215/478/716 214/214/717 131/131/718 -f 214/214/719 215/478/720 209/474/721 216/216/722 -f 217/217/723 219/219/724 218/218/725 -f 219/219/726 217/217/727 220/220/728 -f 219/219/729 221/221/730 210/210/731 218/218/732 -f 202/202/733 203/203/734 206/206/735 210/210/736 -f 206/206/737 207/207/738 223/223/739 222/222/740 -f 219/219/741 220/220/742 224/385/743 -f 220/379/744 225/225/745 200/200/746 201/201/747 -f 201/201/748 164/164/749 224/224/750 220/379/751 -f 197/197/752 139/429/753 196/329/754 -f 196/196/755 148/433/756 198/198/757 -f 143/431/758 199/199/759 198/198/760 145/432/761 -f 138/428/762 197/197/763 199/199/764 143/431/765 -f 194/194/766 226/226/767 193/328/768 191/327/769 -f 184/184/770 186/186/771 228/228/772 227/227/773 -f 183/183/774 184/184/775 227/227/776 -f 153/153/777 229/229/778 183/326/779 -f 210/210/780 221/221/781 209/474/782 -f 171/171/783 163/163/784 158/158/785 165/350/786 -f 158/158/787 163/163/788 160/160/789 157/157/790 -f 157/157/791 156/373/792 155/347/793 -f 171/171/794 172/172/795 162/162/796 163/163/797 -f 201/201/798 166/166/799 159/349/800 155/155/801 -f 164/164/802 201/201/803 155/155/804 -f 209/474/805 221/221/806 216/455/807 -f 221/221/808 219/219/809 216/455/810 -f 209/209/811 215/215/812 208/208/813 -f 146/438/814 144/437/815 231/231/816 230/230/817 -f 147/435/818 232/232/819 231/231/820 144/437/821 -f 232/404/822 147/427/823 140/425/824 233/233/825 -f 140/140/826 147/324/827 148/325/828 139/139/829 -f 231/231/830 232/232/831 233/405/832 230/230/833 -f 142/436/834 235/235/835 234/234/836 141/434/837 -f 233/405/838 234/234/839 235/235/840 230/230/841 -f 235/235/842 142/436/843 146/438/844 230/230/845 -f 146/146/846 142/142/847 143/143/848 145/145/849 -f 197/197/850 138/428/851 139/429/852 -f 139/430/853 148/433/854 196/196/855 -f 189/189/856 192/192/857 236/236/858 188/188/859 -f 237/237/860 187/187/861 192/192/862 193/193/863 -f 194/194/864 188/188/865 236/236/866 226/226/867 -f 203/203/868 204/204/869 130/130/870 -f 177/177/871 239/239/872 238/238/873 175/175/874 -f 181/181/875 179/179/876 241/241/877 240/240/878 -f 175/175/879 238/238/880 241/241/881 179/179/882 -f 177/177/883 181/368/884 240/370/885 239/239/886 -f 238/238/887 239/239/888 243/243/889 242/242/890 -f 240/240/891 241/241/892 245/245/893 244/244/894 -f 241/241/895 238/238/896 242/242/897 245/245/898 -f 239/239/899 240/370/900 244/371/901 243/243/902 -f 229/229/903 153/153/904 127/127/905 246/246/906 -f 247/247/907 250/250/908 249/249/909 248/248/910 -f 252/252/911 251/251/912 244/420/913 245/421/914 -f 242/417/915 253/253/916 252/252/917 245/421/918 -f 243/418/919 244/422/920 251/372/921 -f 254/254/922 255/255/923 248/248/924 249/249/925 -f 254/254/926 256/256/927 257/257/928 255/255/929 -f 253/253/930 248/248/931 255/255/932 -f 242/417/933 243/418/934 259/259/935 258/258/936 -f 243/418/937 251/372/938 260/260/939 259/259/940 -f 253/253/941 242/417/942 258/258/943 -f 246/246/944 4/4/945 261/261/946 229/229/947 -f 210/210/948 206/206/949 218/218/950 -f 206/206/951 222/222/952 217/217/953 218/218/954 -f 217/217/955 222/222/956 225/377/957 220/457/958 -f 212/212/959 213/213/960 132/132/961 -f 182/182/962 169/169/963 167/167/964 173/173/965 -f 162/162/966 176/176/967 173/173/968 167/167/969 -f 178/178/970 172/172/971 169/365/972 182/369/973 -f 176/176/974 162/162/975 172/172/976 178/178/977 -f 168/168/978 170/366/979 160/160/980 161/161/981 -f 162/162/982 167/167/983 161/161/984 -f 168/364/985 169/365/986 172/172/987 -f 148/433/988 145/432/989 198/198/990 -f 258/258/991 259/259/992 250/250/993 247/247/994 -f 259/259/995 260/260/996 249/413/997 250/250/998 -f 258/258/999 247/247/1000 248/248/1001 -f 158/158/1002 159/159/1003 165/350/1004 -f 157/157/1005 160/160/1006 170/366/1007 156/373/1008 -f 257/257/1009 252/252/1010 253/253/1011 255/255/1012 -f 251/372/1013 256/423/1014 254/414/1015 -f 248/248/1016 253/253/1017 258/258/1018 -f 140/425/1019 141/426/1020 234/424/1021 233/233/1022 -f 132/472/1023 213/477/1024 131/131/1025 -f 262/262/1026 237/333/1027 263/263/1028 -f 200/200/1029 225/225/1030 133/133/1031 -f 225/377/1032 222/222/1033 223/223/1034 133/376/1035 -f 183/183/1036 236/236/1037 185/185/1038 -f 236/236/1039 192/192/1040 187/187/1041 185/185/1042 -f 229/332/1043 226/226/1044 236/236/1045 183/183/1046 -f 262/334/1047 186/186/1048 187/187/1049 237/237/1050 -f 193/328/1051 226/226/1052 263/263/1053 237/333/1054 -f 264/264/1055 228/228/1056 186/186/1057 262/334/1058 -f 228/331/1059 149/149/1060 227/330/1061 -f 149/149/1062 153/153/1063 183/326/1064 227/330/1065 -f 211/475/1066 202/202/1067 210/210/1068 208/473/1069 -f 208/208/1070 215/215/1071 213/213/1072 211/211/1073 -f 129/344/1074 151/151/1075 152/152/1076 137/345/1077 -f 263/263/1078 226/226/1079 229/332/1080 -f 135/339/1081 262/262/1082 263/263/1083 265/340/1084 -f 180/180/1085 182/182/1086 173/173/1087 174/174/1088 -f 175/175/1089 179/179/1090 174/174/1091 -f 180/367/1092 181/368/1093 177/177/1094 -f 262/334/1095 135/338/1096 266/337/1097 264/264/1098 -f 149/149/1099 228/331/1100 264/335/1101 152/152/1102 -f 257/257/1103 256/256/1104 251/251/1105 252/252/1106 -f 260/260/1107 254/414/1108 249/413/1109 -f 251/372/1110 254/414/1111 260/260/1112 -f 264/335/1113 266/346/1114 137/345/1115 152/152/1116 -f 267/267/1117 268/268/1118 269/269/1119 270/270/1120 -f 269/269/1121 268/268/1122 271/271/1123 272/272/1124 -f 272/272/1125 271/271/1126 278/278/1127 273/273/1128 -f 271/271/1129 268/268/1130 277/277/1131 -f 274/274/1132 275/275/1133 271/271/1134 277/277/1135 -f 275/275/1136 276/276/1137 278/278/1138 271/271/1139 -f 273/273/1140 278/278/1141 281/281/1142 279/279/1143 -f 278/278/1144 276/276/1145 280/280/1146 281/281/1147 -f 279/279/1148 281/281/1149 303/303/1150 284/284/1151 -f 280/280/1152 304/304/1153 303/303/1154 281/281/1155 -f 270/270/1156 269/269/1157 282/282/1158 -f 269/269/1159 272/272/1160 283/283/1161 282/282/1162 -f 272/272/1163 273/273/1164 283/283/1165 -f 273/273/1166 279/279/1167 307/307/1168 283/283/1169 -f 279/279/1170 284/284/1171 307/307/1172 -f 282/282/1173 283/283/1174 308/308/1175 -f 283/283/1176 307/307/1177 308/308/1178 -f 270/270/1179 282/282/1180 305/305/1181 291/291/1182 -f 267/267/1183 270/270/1184 285/285/1185 -f 270/270/1186 291/291/1187 285/285/1188 -f 274/274/1189 277/277/1190 287/287/1191 286/286/1192 -f 288/288/1193 291/463/1194 290/290/1195 289/289/1196 -f 290/290/1197 293/293/1198 292/292/1199 289/289/1200 -f 293/293/1201 295/295/1202 294/294/1203 292/292/1204 -f 292/292/1205 296/296/1206 289/289/1207 -f 297/297/1208 296/296/1209 292/292/1210 298/298/1211 -f 298/298/1212 292/292/1213 294/294/1214 299/299/1215 -f 295/295/1216 301/301/1217 300/300/1218 294/294/1219 -f 294/294/1220 300/300/1221 302/302/1222 299/299/1223 -f 301/301/1224 284/458/1225 303/459/1226 300/300/1227 -f 302/302/1228 300/300/1229 303/459/1230 304/460/1231 -f 291/463/1232 305/464/1233 290/290/1234 -f 290/290/1235 305/464/1236 306/306/1237 293/293/1238 -f 293/293/1239 306/306/1240 295/295/1241 -f 295/295/1242 306/306/1243 307/461/1244 301/301/1245 -f 301/301/1246 307/461/1247 284/458/1248 -f 305/464/1249 308/465/1250 306/306/1251 -f 306/306/1252 308/465/1253 307/461/1254 -f 305/305/1255 282/282/1256 308/308/1257 -f 288/288/1258 285/462/1259 291/463/1260 -f 297/297/1261 310/310/1262 309/309/1263 296/296/1264 -f 319/387/1265 320/388/1266 318/389/1267 315/386/1268 -f 314/390/1269 311/391/1270 316/392/1271 315/386/1272 -f 312/393/1273 317/394/1274 316/392/1275 311/391/1276 -f 313/395/1277 314/390/1278 315/386/1279 318/389/1280 -f 316/392/1281 317/394/1282 320/388/1283 319/387/1284 -f 316/392/1285 319/387/1286 315/386/1287 -f 314/390/1288 313/395/1289 312/393/1290 311/391/1291 -f 327/397/1292 328/398/1293 326/399/1294 323/396/1295 -f 322/400/1296 321/401/1297 324/402/1298 323/396/1299 -f 321/401/1300 325/403/1301 324/402/1302 -f 322/400/1303 323/396/1304 326/399/1305 -f 324/402/1306 325/403/1307 328/398/1308 327/397/1309 -f 324/402/1310 327/397/1311 323/396/1312 -# 244 polygons - 112 triangles - diff --git a/src/tests/evas/meshes/obj/sweet_home.obj b/src/tests/evas/meshes/obj/sweet_home.obj deleted file mode 100644 index 1a52b933d6..0000000000 --- a/src/tests/evas/meshes/obj/sweet_home.obj +++ /dev/null @@ -1,107 +0,0 @@ -# Blender v2.69 (sub 0) OBJ File: 'sweet_home.blend' -# www.blender.org -v 1.000003 -0.999997 0.000002 -v -0.999997 -1.000003 0.000002 -v -1.000002 0.999998 0.000002 -v 0.999998 1.000002 0.000002 -v 1.000002 -0.999998 2.000002 -v -0.999998 -1.000002 2.000002 -v -1.000002 0.999998 2.000002 -v 0.999997 1.000003 2.000002 -v 0.000002 -1.000000 3.075149 -v -0.000002 1.000000 3.075149 -v 0.666668 -0.644449 2.358384 -v 0.333335 -0.644450 2.716766 -v 0.666667 -0.293067 2.358384 -v 0.333334 -0.293068 2.716766 -v 0.662209 -0.629904 2.991038 -v 0.337794 -0.629904 2.980731 -v 0.662208 -0.307612 2.991038 -v 0.337793 -0.307613 2.980731 -vt 0.013689 0.608350 -vt 0.285640 0.608350 -vt 0.285640 0.978776 -vt 0.013689 0.978776 -vt 0.564957 0.983606 -vt 0.293719 0.983606 -vt 0.293719 0.613180 -vt 0.564957 0.613180 -vt 0.646856 0.021326 -vt 0.083404 0.021326 -vt 0.083369 0.584801 -vt 0.646820 0.584801 -vt 0.949735 0.303064 -vt 0.654355 0.022016 -vt 0.957234 0.303753 -vt 0.654320 0.585490 -vt 0.090869 0.585491 -vt 0.090904 0.022016 -vt 0.820337 0.692442 -vt 0.820337 0.803140 -vt 0.740863 0.803140 -vt 0.740863 0.692442 -vt 0.695284 0.903159 -vt 0.695284 0.830265 -vt 0.768687 0.830265 -vt 0.768687 0.903159 -vt 0.874667 0.789013 -vt 0.874667 0.893367 -vt 0.979009 0.893367 -vt 0.979009 0.789013 -vt 0.567834 0.981515 -vt 0.567834 0.611089 -vt 0.768686 0.903159 -vt 0.768687 0.823686 -vt 0.811715 0.826975 -vt 0.811715 0.899870 -vt 0.591196 0.903159 -vt 0.591196 0.823686 -vt 0.695284 0.826975 -vt 0.695284 0.899870 -vt 0.666035 0.721564 -vt 0.667476 0.661838 -vt 0.740863 0.660019 -vt 0.591196 0.741571 -vt 0.666035 0.660015 -vt 0.666035 0.803140 -vt 0.592658 0.801339 -vt 0.013481 0.981515 -vt 0.104078 0.915663 -vt 0.194676 0.915663 -vt 0.285274 0.981515 -vt 0.194676 0.850582 -vt 0.285274 0.611089 -vt 0.104078 0.850582 -vt 0.013481 0.611089 -vn -0.732233 -0.000002 0.681054 -vn 1.000000 0.000002 0.000000 -vn 0.000002 -1.000000 0.000000 -vn -0.000002 1.000000 -0.000000 -vn -0.732233 -0.000001 -0.681054 -vn -0.031755 -0.000000 0.999496 -vn -0.000000 0.000000 -1.000000 -vn -1.000000 -0.000002 -0.000000 -vn -0.999857 -0.000002 0.016891 -vn 0.999975 0.000002 0.007049 -vn 0.017155 0.999327 0.032422 -vn 0.017160 -0.999327 0.032422 -vn 0.732233 0.000001 0.681054 -vn 0.732233 0.000002 0.681054 -vn 0.732234 0.000002 0.681053 -s off -f 6/1/1 9/2/1 10/3/1 7/4/1 -f 4/5/2 8/6/2 5/7/2 1/8/2 -f 6/9/3 2/10/3 1/11/3 5/12/3 9/13/3 -f 7/14/4 10/15/4 8/16/4 4/17/4 3/18/4 -f 11/19/5 12/20/5 14/21/5 13/22/5 -f 15/23/6 17/24/6 18/25/6 16/26/6 -f 2/27/7 3/28/7 4/29/7 1/30/7 -f 6/2/8 7/3/8 3/31/8 2/32/8 -f 14/33/9 12/34/9 16/35/9 18/36/9 -f 11/37/10 13/38/10 17/39/10 15/40/10 -f 13/21/11 14/41/11 18/42/11 17/43/11 -f 12/44/12 11/45/12 15/46/12 16/47/12 -f 5/48/13 11/49/13 12/50/13 9/51/13 -f 9/51/14 12/50/14 14/52/14 10/53/14 -f 13/54/14 8/55/14 10/53/14 14/52/14 -f 11/49/15 5/48/15 8/55/15 13/54/15 diff --git a/src/tests/evas/meshes/ply/NoNormal_NoUVs_Colors.ply b/src/tests/evas/meshes/ply/NoNormal_NoUVs_Colors.ply deleted file mode 100644 index 0e4e2f81ef..0000000000 --- a/src/tests/evas/meshes/ply/NoNormal_NoUVs_Colors.ply +++ /dev/null @@ -1,1679 +0,0 @@ -ply -format ascii 1.0 -comment Created by Blender 2.69 (sub 0) - www.blender.org, source file: '' -element vertex 1310 -property float x -property float y -property float z -property uchar red -property uchar green -property uchar blue -element face 356 -property list uchar uint vertex_indices -end_header --4.649800 14.945700 -8.785600 0 253 27 --2.020300 14.610600 -8.278800 0 253 27 --1.712600 0.024900 -9.195700 254 68 73 --3.252600 0.001600 -8.591000 254 68 73 --4.649800 14.945700 -8.785600 254 68 73 --3.252600 0.001600 -8.591000 254 88 92 --4.089400 2.633000 -5.031300 254 68 73 --5.308800 13.910900 -3.738700 254 68 73 --1.553600 3.059500 -4.173500 18 0 253 --1.766900 13.754900 -2.918700 0 254 27 --3.061600 3.537800 -3.461700 18 0 252 --1.553600 3.059500 -4.173500 18 0 253 --0.626000 0.031700 -8.336200 19 0 253 --0.971400 14.644800 -6.706400 27 229 30 --1.766900 13.754900 -2.918700 0 253 27 --5.495700 46.043098 -6.732400 254 254 254 --2.827600 38.171799 -8.088300 254 254 254 --5.919200 37.619099 -4.570300 254 254 254 --6.029500 46.188801 -3.956000 254 254 254 --4.685700 36.664101 -1.616400 13 240 28 --4.298500 47.001099 -0.058900 5 247 27 --6.029500 46.188801 -3.956000 0 253 27 --5.919200 37.619099 -4.570300 0 253 27 --6.775800 50.206501 -7.534500 0 254 27 --7.252500 54.524502 -7.615000 0 254 27 -0.000000 53.738098 -8.986800 0 254 27 -0.000000 50.037800 -9.413700 0 254 27 --7.252500 54.524502 -7.615000 0 253 27 --8.747800 53.770199 -7.353300 0 253 27 --8.184300 53.108700 -3.320400 0 253 27 --6.624100 53.529800 -2.653700 0 253 27 --9.827700 52.989700 -7.188500 0 253 27 --14.989100 50.565300 -7.297200 0 253 27 --15.636800 49.715099 -4.015700 0 253 27 --9.508400 52.403099 -3.672700 0 253 27 -0.000000 37.009800 0.550700 172 124 55 -0.000000 47.287498 1.094200 0 252 27 --4.298500 47.001099 -0.058900 0 253 27 --4.685700 36.664101 -1.616400 13 226 40 -0.000000 53.738098 -8.986800 0 254 27 --7.252500 54.524502 -7.615000 0 254 27 --2.321200 55.471001 -5.570800 0 254 27 -0.000000 55.950600 -7.250100 0 254 27 --6.624100 53.529800 -2.653700 0 253 27 --7.813100 49.342701 -3.886900 0 253 27 --6.029500 46.188801 -3.956000 0 253 27 --3.773800 51.093601 -1.034300 0 253 27 --6.029500 46.188801 -3.956000 0 253 27 --4.298500 47.001099 -0.058900 5 247 27 --3.773800 51.093601 -1.034300 0 253 27 -0.000000 50.880199 0.110000 0 253 27 --3.773800 51.093601 -1.034300 0 253 27 --4.298500 47.001099 -0.058900 0 253 27 -0.000000 47.287498 1.094200 0 252 27 --16.136200 50.023998 -7.546200 0 249 27 --14.989100 50.565300 -7.297200 0 252 27 --13.779500 47.417198 -7.715300 0 253 27 --14.885000 46.974701 -7.946000 0 251 27 --13.779500 47.417198 -7.715300 0 253 27 --8.756500 49.321098 -7.632900 0 253 27 --8.927200 49.128502 -4.128200 0 253 27 --14.977100 45.689201 -4.821000 0 248 31 --17.208200 49.477699 -7.512200 0 253 27 --22.585199 48.327702 -7.594400 0 253 27 --22.348700 46.932201 -2.822400 72 195 37 --16.810101 49.139900 -3.928800 0 253 27 --21.936399 43.055199 -3.733600 24 182 75 --16.192200 44.960400 -4.877100 0 236 42 --16.810101 49.139900 -3.928800 0 253 27 --22.348700 46.932201 -2.822400 72 195 37 --22.105101 44.119598 -7.074000 254 254 254 --23.337700 47.268200 -6.945000 254 254 254 --22.585199 48.327702 -7.594400 254 254 254 --21.061199 44.183601 -7.611200 254 254 254 --15.884600 46.520500 -7.855800 0 250 27 --16.192200 44.960400 -4.877100 0 253 27 --21.936399 43.055199 -3.733600 0 253 27 --21.061199 44.183601 -7.611200 52 208 31 --5.598500 31.822901 -1.405400 133 152 48 --7.174300 32.815300 -5.168000 0 253 27 --7.453900 29.910801 -4.782000 0 253 27 --4.970000 33.082802 -8.871300 0 253 27 --5.595300 29.761600 -8.491100 0 253 27 --7.453900 29.910801 -4.782000 0 253 27 --7.174300 32.815300 -5.168000 0 253 27 --6.827700 20.858999 -3.051400 254 254 254 --5.426000 21.341299 -8.131100 254 254 254 --6.194700 19.576300 -3.492500 254 254 254 --0.835600 22.853901 -8.203000 0 253 27 --0.899900 21.410400 -8.342700 0 253 27 --5.426000 21.341299 -8.131100 0 253 27 --5.317800 22.936800 -8.014600 0 253 27 --0.899900 21.410400 -8.342700 219 57 99 --1.957400 20.620800 -1.217700 254 68 73 --1.853000 19.164200 -1.385300 254 68 73 --6.194700 19.576300 -3.492500 114 254 128 --1.853000 19.164200 -1.385300 242 254 242 --1.957400 20.620800 -1.217700 242 254 242 --6.827700 20.858999 -3.051400 168 254 177 --5.259600 15.490400 -9.599400 0 253 27 --5.426000 21.341299 -8.131100 0 253 27 --0.899900 21.410400 -8.342700 0 253 27 --0.294400 16.169500 -7.962700 0 253 27 --0.294400 16.169500 -7.962700 0 253 27 --0.899900 21.410400 -8.342700 1 216 59 --1.853000 19.164200 -1.385300 0 253 27 --1.221800 14.450400 -2.004100 0 253 27 --1.853000 19.164200 -1.385300 254 254 254 --6.194700 19.576300 -3.492500 254 254 254 --6.498700 14.643000 -4.000600 91 254 108 --1.221800 14.450400 -2.004100 0 254 27 --6.498700 14.643000 -4.000600 254 254 254 --6.194700 19.576300 -3.492500 254 254 254 --5.426000 21.341299 -8.131100 254 254 254 --5.259600 15.490400 -9.599400 254 254 254 --7.813100 49.342701 -3.886900 254 68 73 --6.775800 50.206501 -7.534500 254 68 73 --5.495700 46.043098 -6.732400 254 68 73 --6.029500 46.188801 -3.956000 254 68 73 --8.756500 49.321098 -7.632900 0 254 27 --6.775800 50.206501 -7.534500 0 254 27 --7.813100 49.342701 -3.886900 0 254 27 --8.927200 49.128502 -4.128200 0 254 27 --5.495700 46.043098 -6.732400 0 254 27 --6.775800 50.206501 -7.534500 0 254 27 -0.000000 50.037800 -9.413700 0 254 27 -0.000000 45.235802 -8.516300 0 254 27 --3.773800 51.093601 -1.034300 0 253 27 -0.000000 50.880199 0.110000 0 253 27 -0.000000 54.522099 -2.187600 0 253 27 --1.435700 55.057400 -2.884500 0 253 27 --0.163800 60.672798 0.405300 0 254 27 --0.596000 60.268700 -0.255900 0 254 27 --0.605400 59.453602 0.006800 0 254 27 --0.226300 59.631802 0.717000 0 254 27 -0.000000 59.375900 0.272700 0 254 27 --0.605400 59.453602 0.006800 0 254 27 --0.793500 58.611801 -0.022400 0 254 27 -0.000000 58.735298 0.237300 0 253 27 --1.340700 61.343498 -1.024900 254 254 254 --2.209500 61.230499 -1.515000 254 254 254 --2.225300 60.301201 -1.334400 254 254 254 --0.474100 61.294899 -0.607800 254 254 254 --0.179900 61.274700 0.058500 254 254 254 --0.785400 61.539799 -0.048800 254 254 254 --0.163800 60.672798 0.405300 0 254 27 --0.179900 61.274700 0.058500 0 254 27 --0.474100 61.294899 -0.607800 0 254 27 --0.596000 60.268700 -0.255900 0 254 27 --0.785400 61.539799 -0.048800 0 254 27 -0.000000 62.775902 -0.355700 0 254 27 --1.901400 62.898899 -1.262500 0 254 27 --1.792100 61.563202 -0.648200 0 254 27 --1.901400 62.898899 -1.262500 254 254 254 --2.505800 61.413601 -3.333900 254 254 254 --2.209500 61.230499 -1.515000 254 254 254 --1.792100 61.563202 -0.648200 254 254 254 --2.071800 58.080299 -1.837600 254 254 254 --2.043500 58.694401 -1.722000 254 254 254 --2.361600 58.652599 -3.405400 254 254 254 --2.361600 58.652599 -3.405400 254 254 254 --1.480400 57.287800 -3.167400 254 254 254 --2.071800 58.080299 -1.837600 254 254 254 --2.361600 58.652599 -3.405400 254 254 254 --2.043500 58.694401 -1.722000 254 254 254 --2.225300 60.301201 -1.334400 254 254 254 --2.484800 60.667999 -2.078300 254 254 254 --0.596000 60.268700 -0.255900 0 254 27 --2.225300 60.301201 -1.334400 0 254 27 --0.793500 58.611801 -0.022400 0 254 27 --0.605400 59.453602 0.006800 0 254 27 --0.793500 58.611801 -0.022400 0 254 27 --0.860300 57.339199 -0.345300 0 253 27 -0.000000 57.320400 0.190300 0 253 27 -0.000000 58.735298 0.237300 0 253 27 --2.361600 58.652599 -3.405400 254 254 254 --1.507500 57.978802 -4.806700 254 254 254 --1.480400 57.287800 -3.167400 254 254 254 --1.480400 57.287800 -3.167400 254 153 157 --1.435700 55.057400 -2.884500 244 75 71 -0.000000 54.522099 -2.187600 235 81 69 --0.509500 56.862801 -2.081200 254 129 132 --1.435700 55.057400 -2.884500 254 68 73 --1.480400 57.287800 -3.167400 254 68 73 --1.507500 57.978802 -4.806700 254 68 73 --2.321200 55.471001 -5.570800 254 68 73 --5.259600 15.490400 -9.599400 0 253 27 --0.294400 16.169500 -7.962700 0 253 27 --2.020300 14.610600 -8.278800 0 253 27 --0.294400 16.169500 -7.962700 157 130 53 --1.221800 14.450400 -2.004100 0 252 27 --0.971400 14.644800 -6.706400 27 229 30 --5.308800 13.910900 -3.738700 23 254 48 --1.766900 13.754900 -2.918700 0 254 27 --1.221800 14.450400 -2.004100 0 254 27 --6.498700 14.643000 -4.000600 91 254 108 --4.649800 14.945700 -8.785600 254 68 73 --5.308800 13.910900 -3.738700 254 68 73 --6.498700 14.643000 -4.000600 254 68 73 --5.259600 15.490400 -9.599400 254 68 73 --1.957400 20.620800 -1.217700 0 253 27 --0.899900 21.410400 -8.342700 1 216 59 --0.835600 22.853901 -8.203000 2 205 69 --2.189200 21.987900 -1.481800 0 253 27 --7.174300 32.815300 -5.168000 0 253 27 --6.542300 35.480598 -4.902800 0 253 27 --5.283200 35.952900 -7.814600 0 254 27 --4.970000 33.082802 -8.871300 0 253 27 --5.598500 31.822901 -1.405400 133 152 48 --6.542300 35.480598 -4.902800 0 253 27 --7.174300 32.815300 -5.168000 0 253 27 --4.685700 36.664101 -1.616400 13 226 40 --5.598500 31.822901 -1.405400 133 152 48 --3.798500 31.552500 -0.386300 211 97 63 --2.225300 60.301201 -1.334400 254 254 254 --2.209500 61.230499 -1.515000 254 254 254 --2.484800 60.667999 -2.078300 254 254 254 --8.927200 49.128502 -4.128200 0 253 27 --7.813100 49.342701 -3.886900 0 253 27 --8.184300 53.108700 -3.320400 0 253 27 --9.508400 52.403099 -3.672700 0 253 27 --8.184300 53.108700 -3.320400 0 253 27 --8.747800 53.770199 -7.353300 0 253 27 --9.827700 52.989700 -7.188500 0 253 27 --9.508400 52.403099 -3.672700 0 253 27 --8.747800 53.770199 -7.353300 0 254 27 --7.252500 54.524502 -7.615000 0 254 27 --6.775800 50.206501 -7.534500 0 254 27 --8.927200 49.128502 -4.128200 0 253 27 --9.508400 52.403099 -3.672700 0 253 27 --15.636800 49.715099 -4.015700 0 253 27 --14.977100 45.689201 -4.821000 0 248 31 --6.624100 53.529800 -2.653700 0 253 27 --3.773800 51.093601 -1.034300 0 253 27 --1.435700 55.057400 -2.884500 0 253 27 --7.252500 54.524502 -7.615000 0 253 27 --2.321200 55.471001 -5.570800 0 253 27 --7.252500 54.524502 -7.615000 0 253 27 --1.435700 55.057400 -2.884500 0 253 27 --2.209500 61.230499 -1.515000 254 254 254 --2.505800 61.413601 -3.333900 254 254 254 --2.484800 60.667999 -2.078300 254 254 254 --2.484800 60.667999 -2.078300 254 254 254 --2.505800 61.413601 -3.333900 254 254 254 --2.361600 58.652599 -3.405400 254 254 254 --2.209500 61.230499 -1.515000 254 254 254 --1.340700 61.343498 -1.024900 254 254 254 --1.792100 61.563202 -0.648200 254 254 254 --3.061600 3.537800 -3.461700 18 0 252 --3.735600 1.816900 0.228400 18 0 253 --1.568700 1.981700 -0.627100 18 0 253 --1.553600 3.059500 -4.173500 18 0 253 --0.626000 0.031700 -8.336200 18 0 253 --1.553600 3.059500 -4.173500 18 0 253 --1.568700 1.981700 -0.627100 18 0 253 --1.825200 -0.024100 0.601200 18 0 253 --1.825200 -0.024100 0.601200 18 0 253 --3.769300 -0.009000 1.132900 18 0 253 --1.712600 0.024900 -9.195700 19 0 253 --0.626000 0.031700 -8.336200 19 0 253 --1.712600 0.024900 -9.195700 254 68 73 --2.020300 14.610600 -8.278800 0 253 27 --0.971400 14.644800 -6.706400 0 253 27 --0.626000 0.031700 -8.336200 254 68 73 --1.568700 1.981700 -0.627100 18 0 253 --3.735600 1.816900 0.228400 18 0 253 --3.769300 -0.009000 1.132900 18 0 253 --1.825200 -0.024100 0.601200 19 0 253 --4.089400 2.633000 -5.031300 188 254 194 --3.252600 0.001600 -8.591000 0 254 27 --5.176800 -0.025000 -0.598300 254 254 254 --5.390300 1.568200 -1.670300 254 254 254 --3.769300 -0.009000 1.132900 18 0 253 --3.735600 1.816900 0.228400 18 0 253 --5.390300 1.568200 -1.670300 18 0 253 --5.176800 -0.025000 -0.598300 18 0 253 --5.390300 1.568200 -1.670300 18 0 253 --3.735600 1.816900 0.228400 18 0 253 --3.061600 3.537800 -3.461700 18 0 252 --4.089400 2.633000 -5.031300 18 0 252 --3.061600 3.537800 -3.461700 18 0 252 --1.766900 13.754900 -2.918700 0 254 27 --5.308800 13.910900 -3.738700 14 254 41 --4.089400 2.633000 -5.031300 18 0 252 --2.020300 14.610600 -8.278800 0 253 27 --4.649800 14.945700 -8.785600 0 253 27 --5.259600 15.490400 -9.599400 0 253 27 --2.020300 14.610600 -8.278800 0 253 27 --0.294400 16.169500 -7.962700 0 253 27 --0.971400 14.644800 -6.706400 0 253 27 --5.426000 21.341299 -8.131100 254 254 254 --6.827700 20.858999 -3.051400 254 254 254 --6.824000 22.193899 -3.254300 254 254 254 --5.317800 22.936800 -8.014600 254 254 254 --0.845100 29.891001 -9.491500 0 253 27 --0.835600 22.853901 -8.203000 0 253 27 --5.317800 22.936800 -8.014600 0 253 27 --5.595300 29.761600 -8.491100 0 254 27 --1.957400 20.620800 -1.217700 242 254 242 --2.189200 21.987900 -1.481800 218 254 222 --6.824000 22.193899 -3.254300 99 254 117 --6.827700 20.858999 -3.051400 166 254 175 --0.605400 59.453602 0.006800 254 254 254 -0.000000 59.375900 0.272700 254 254 254 --0.226300 59.631802 0.717000 254 254 254 --21.936399 43.055199 -3.733600 24 182 75 --22.348700 46.932201 -2.822400 72 195 37 --23.323000 46.228001 -3.425200 26 230 29 --23.265499 44.290199 -3.614200 37 214 37 --22.105101 44.119598 -7.074000 254 254 254 --23.273100 44.479099 -6.170500 254 254 254 --23.881300 46.267799 -5.995500 254 254 254 --23.337700 47.268200 -6.945000 254 254 254 --22.348700 46.932201 -2.822400 72 195 37 --23.337700 47.268200 -6.945000 0 254 27 --23.881300 46.267799 -5.995500 0 253 27 --23.323000 46.228001 -3.425200 26 230 29 --21.936399 43.055199 -3.733600 254 68 73 --23.265499 44.290199 -3.614200 254 68 73 --23.273100 44.479099 -6.170500 254 68 73 --22.105101 44.119598 -7.074000 254 68 73 --23.323000 46.228001 -3.425200 26 230 29 --24.935400 45.742901 -3.288800 80 189 39 --24.446100 44.099098 -3.039500 144 136 53 --23.265499 44.290199 -3.614200 37 214 37 --23.273100 44.479099 -6.170500 16 254 41 --25.718901 44.407902 -5.989100 47 254 71 --25.982700 45.641201 -5.974700 53 254 75 --23.881300 46.267799 -5.995500 23 254 48 --23.881300 46.267799 -5.995500 0 253 27 --25.982700 45.641201 -5.974700 0 253 27 --24.935400 45.742901 -3.288800 80 189 39 --23.323000 46.228001 -3.425200 26 230 29 --23.265499 44.290199 -3.614200 0 254 27 --24.446100 44.099098 -3.039500 0 254 27 --25.718901 44.407902 -5.989100 47 254 71 --23.273100 44.479099 -6.170500 16 254 41 --3.798500 31.552500 -0.386300 211 97 63 -0.000000 31.552500 0.128500 203 101 62 -0.000000 37.009800 0.550700 172 124 55 --4.685700 36.664101 -1.616400 13 226 40 --27.058001 43.733101 -1.471100 254 68 73 --28.100901 44.177299 -2.470000 231 80 64 --27.637899 42.321201 -1.984400 254 68 73 --26.775499 43.007000 -1.492900 254 68 73 --27.102699 45.320202 -5.735100 75 254 93 --25.982700 45.641201 -5.974700 53 254 75 --25.718901 44.407902 -5.989100 47 254 71 --26.246300 42.901402 -5.383600 20 254 46 --24.935400 45.742901 -3.288800 80 254 99 --25.982700 45.641201 -5.974700 0 254 27 --27.102699 45.320202 -5.735100 0 254 27 --26.753901 45.398300 -2.858600 163 254 174 --24.446100 44.099098 -3.039500 0 249 30 --26.246300 42.901402 -5.383600 19 213 43 --25.718901 44.407902 -5.989100 46 208 34 --28.380600 42.330502 -3.056600 254 68 73 --27.637899 42.321201 -1.984400 254 68 73 --28.100901 44.177299 -2.470000 254 68 73 --28.697901 44.238201 -3.477500 254 68 73 --28.380600 42.330502 -3.056600 254 254 254 --28.697901 44.238201 -3.477500 254 254 254 --28.543800 44.178001 -4.651400 254 254 254 --28.292801 42.543098 -4.446800 254 254 254 --26.753901 45.398300 -2.858600 163 125 53 --28.697901 44.238201 -3.477500 97 175 41 --28.100901 44.177299 -2.470000 231 80 64 --24.935400 45.742901 -3.288800 80 189 39 --26.117701 44.487900 -2.198700 242 74 67 --25.587200 43.557701 -2.038700 253 67 73 --24.446100 44.099098 -3.039500 144 136 53 --24.446100 44.099098 -3.039500 0 249 30 --25.587200 43.557701 -2.038700 0 252 27 --25.491899 42.827301 -2.370100 0 245 34 --26.246300 42.901402 -5.383600 19 213 43 --26.753901 45.398300 -2.858600 163 125 53 --26.117701 44.487900 -2.198700 242 74 67 --24.935400 45.742901 -3.288800 80 189 39 -0.000000 31.552500 0.128500 203 101 62 --3.798500 31.552500 -0.386300 211 97 63 --3.463700 23.872801 -0.356700 254 68 73 -0.000000 24.132099 -0.356700 243 74 70 --2.225300 60.301201 -1.334400 254 254 254 --2.043500 58.694401 -1.722000 254 247 247 --0.793500 58.611801 -0.022400 254 246 246 --0.793500 58.611801 -0.022400 254 246 246 --2.043500 58.694401 -1.722000 254 247 247 --2.071800 58.080299 -1.837600 254 224 225 --0.860300 57.339199 -0.345300 254 172 174 --2.071800 58.080299 -1.837600 254 224 225 --1.480400 57.287800 -3.167400 254 153 157 --0.509500 56.862801 -2.081200 254 129 132 --0.860300 57.339199 -0.345300 254 172 174 --0.179900 61.274700 0.058500 0 254 27 -0.000000 61.912998 -0.048000 0 254 27 --0.785400 61.539799 -0.048800 0 254 27 --15.884600 46.520500 -7.855800 0 250 27 --17.208200 49.477699 -7.512200 6 242 27 --16.136200 50.023998 -7.546200 0 249 27 --14.885000 46.974701 -7.946000 0 251 27 --15.636800 49.715099 -4.015700 0 253 27 --16.136200 50.023998 -7.546200 0 253 27 --17.208200 49.477699 -7.512200 0 253 27 --16.810101 49.139900 -3.928800 0 253 27 --16.192200 44.960400 -4.877100 0 236 42 --15.884600 46.520500 -7.855800 0 253 27 --14.885000 46.974701 -7.946000 0 253 27 --14.977100 45.689201 -4.821000 0 248 31 --16.810101 49.139900 -3.928800 236 81 69 --16.192200 44.960400 -4.877100 200 90 77 --14.977100 45.689201 -4.821000 174 120 62 --15.636800 49.715099 -4.015700 218 94 66 --13.779500 47.417198 -7.715300 0 253 27 --14.989100 50.565300 -7.297200 0 252 27 --9.827700 52.989700 -7.188500 0 253 27 --8.756500 49.321098 -7.632900 0 253 27 --15.636800 49.715099 -4.015700 0 253 27 --14.989100 50.565300 -7.297200 0 253 27 --16.136200 50.023998 -7.546200 0 253 27 --13.779500 47.417198 -7.715300 0 253 27 --14.977100 45.689201 -4.821000 0 253 27 --14.885000 46.974701 -7.946000 0 251 27 --0.971400 14.644800 -6.706400 27 229 30 --1.221800 14.450400 -2.004100 0 252 27 --1.766900 13.754900 -2.918700 0 253 27 --26.117701 44.487900 -2.198700 242 74 67 --27.058001 43.733101 -1.471100 254 68 73 --26.775499 43.007000 -1.492900 254 68 73 --25.587200 43.557701 -2.038700 253 67 73 --25.587200 43.557701 -2.038700 0 252 27 --26.775499 43.007000 -1.492900 0 253 27 --27.637899 42.321201 -1.984400 0 253 27 --25.491899 42.827301 -2.370100 0 245 34 --26.117701 44.487900 -2.198700 242 74 67 --28.100901 44.177299 -2.470000 231 80 64 --27.058001 43.733101 -1.471100 254 68 73 --8.184300 53.108700 -3.320400 0 253 27 --7.813100 49.342701 -3.886900 0 253 27 --6.624100 53.529800 -2.653700 0 253 27 --8.747800 53.770199 -7.353300 0 254 27 --6.775800 50.206501 -7.534500 0 254 27 --8.756500 49.321098 -7.632900 0 254 27 --9.827700 52.989700 -7.188500 0 254 27 --28.543800 44.178001 -4.651400 0 254 27 --28.697901 44.238201 -3.477500 97 254 114 --26.753901 45.398300 -2.858600 163 254 174 --27.102699 45.320202 -5.735100 0 254 27 --26.246300 42.901402 -5.383600 20 231 27 --28.380600 42.330502 -3.056600 0 252 27 --28.292801 42.543098 -4.446800 5 243 27 --28.100901 44.177299 -2.470000 231 80 64 --26.117701 44.487900 -2.198700 242 74 67 --26.753901 45.398300 -2.858600 163 125 53 --1.712600 0.024900 -9.195700 254 254 254 --3.769300 -0.009000 1.132900 0 254 27 --5.176800 -0.025000 -0.598300 0 254 27 --3.252600 0.001600 -8.591000 254 254 254 -0.000000 61.912998 -0.048000 0 254 27 -0.000000 62.775902 -0.355700 0 254 27 --0.785400 61.539799 -0.048800 0 254 27 --0.340300 31.400700 -9.922000 0 253 27 --0.425600 30.069099 -1.503600 0 253 27 --0.845100 29.891001 -9.491500 0 253 27 -0.000000 54.522099 -2.187600 235 81 69 -0.000000 56.862801 -2.081200 254 127 130 --0.509500 56.862801 -2.081200 254 129 132 --0.509500 56.862801 -2.081200 254 129 132 -0.000000 56.862801 -2.081200 254 127 130 -0.000000 57.320400 0.190300 254 190 192 --0.860300 57.339199 -0.345300 254 172 174 --5.598500 31.822901 -1.405400 133 152 48 --7.453900 29.910801 -4.782000 0 253 27 --6.824000 22.193899 -3.254300 99 254 117 --6.824000 22.193899 -3.254300 254 68 73 --7.453900 29.910801 -4.782000 254 68 73 --5.595300 29.761600 -8.491100 254 68 73 --5.317800 22.936800 -8.014600 254 68 73 --3.798500 31.552500 -0.386300 211 97 63 --5.598500 31.822901 -1.405400 133 152 48 --6.824000 22.193899 -3.254300 99 254 117 --2.189200 21.987900 -1.481800 218 254 222 --0.340300 31.400700 -9.922000 0 253 27 --0.845100 29.891001 -9.491500 0 253 27 --5.595300 29.761600 -8.491100 0 254 27 --4.970000 33.082802 -8.871300 0 254 27 --0.835600 22.853901 -8.203000 2 205 69 --0.845100 29.891001 -9.491500 0 241 37 --0.425600 30.069099 -1.503600 0 253 27 --2.189200 21.987900 -1.481800 0 253 27 --2.162800 35.743500 -9.599900 0 254 27 --0.340300 31.400700 -9.922000 0 253 27 --4.970000 33.082802 -8.871300 0 254 27 --5.283200 35.952900 -7.814600 0 254 27 --5.283200 35.952900 -7.814600 0 254 27 --6.542300 35.480598 -4.902800 0 254 27 --5.919200 37.619099 -4.570300 0 254 27 --5.919200 37.619099 -4.570300 0 253 27 --6.542300 35.480598 -4.902800 0 253 27 --5.598500 31.822901 -1.405400 133 152 48 --4.685700 36.664101 -1.616400 13 240 28 --0.474100 61.294899 -0.607800 0 254 27 --1.340700 61.343498 -1.024900 0 254 27 --2.225300 60.301201 -1.334400 0 254 27 --0.596000 60.268700 -0.255900 0 254 27 --1.340700 61.343498 -1.024900 254 254 254 --0.474100 61.294899 -0.607800 254 254 254 --0.785400 61.539799 -0.048800 254 254 254 --1.792100 61.563202 -0.648200 254 254 254 -0.000000 45.235802 -8.516300 0 253 27 -0.000000 38.221600 -8.073300 0 253 27 --2.827600 38.171799 -8.088300 0 253 27 --5.495700 46.043098 -6.732400 0 253 27 --0.425600 30.069099 -1.503600 254 254 254 --3.798500 31.552500 -0.386300 254 254 254 --2.189200 21.987900 -1.481800 254 254 254 -0.000000 31.547001 -9.939100 254 68 73 -0.000000 30.215401 -1.522000 254 68 73 --0.425600 30.069099 -1.503600 254 68 73 --0.340300 31.400700 -9.922000 254 68 73 --21.061199 44.183601 -7.611200 52 208 31 --22.585199 48.327702 -7.594400 104 170 42 --17.208200 49.477699 -7.512200 6 242 27 --15.884600 46.520500 -7.855800 0 250 27 --22.348700 46.932201 -2.822400 72 195 37 --22.585199 48.327702 -7.594400 0 253 27 --23.337700 47.268200 -6.945000 0 254 27 --21.061199 44.183601 -7.611200 52 208 31 --21.936399 43.055199 -3.733600 0 253 27 --22.105101 44.119598 -7.074000 30 225 27 -0.000000 59.375900 0.272700 254 254 254 -0.226300 59.631802 0.717000 254 254 254 --0.226300 59.631802 0.717000 254 254 254 --0.163800 60.672798 0.405300 0 254 27 --0.226300 59.631802 0.717000 0 254 27 -0.226300 59.631802 0.717000 0 254 27 -0.163800 60.672798 0.405300 0 254 27 --0.340300 31.400700 -9.922000 0 253 27 --2.162800 35.743500 -9.599900 0 253 27 -0.000000 35.795200 -9.599900 0 253 27 -0.000000 31.547001 -9.939100 0 253 27 --5.919200 37.619099 -4.570300 0 254 27 --2.827600 38.171799 -8.088300 0 254 27 --2.162800 35.743500 -9.599900 0 254 27 --5.283200 35.952900 -7.814600 0 254 27 --28.543800 44.178001 -4.651400 254 254 254 --27.102699 45.320202 -5.735100 254 254 254 --26.246300 42.901402 -5.383600 254 254 254 --28.292801 42.543098 -4.446800 254 254 254 --25.491899 42.827301 -2.370100 0 254 27 --27.637899 42.321201 -1.984400 0 254 27 --28.380600 42.330502 -3.056600 0 254 27 --26.246300 42.901402 -5.383600 20 231 27 --25.491899 42.827301 -2.370100 0 253 27 --28.380600 42.330502 -3.056600 0 252 27 --0.179900 61.274700 0.058500 0 254 27 --0.163800 60.672798 0.405300 0 254 27 -0.163800 60.672798 0.405300 0 254 27 -0.179900 61.274700 0.058500 0 254 27 -0.000000 61.912998 -0.048000 0 254 27 --0.179900 61.274700 0.058500 0 254 27 -0.179900 61.274700 0.058500 0 254 27 --2.162800 35.743500 -9.599900 0 253 27 --2.827600 38.171799 -8.088300 0 253 27 -0.000000 38.221600 -8.073300 0 253 27 -0.000000 35.795200 -9.599900 0 253 27 -4.620900 14.945700 -8.516100 0 253 27 -3.252600 0.001600 -8.591000 235 80 66 -1.712600 0.024900 -9.195700 254 68 73 -1.456400 14.610600 -8.695100 0 253 27 -4.089400 2.633000 -5.031300 18 0 253 -3.252600 0.001600 -8.591000 19 0 253 -4.620900 14.945700 -8.516100 0 247 31 -5.308800 13.910900 -3.738700 0 253 27 -1.553600 3.059500 -4.173500 18 0 253 -3.061600 3.537800 -3.461700 18 0 253 -1.766900 13.754900 -2.918700 0 254 27 -1.553600 3.059500 -4.173500 254 254 254 -1.766900 13.754900 -2.918700 254 254 254 -1.239800 14.644800 -6.465300 254 254 254 -0.626000 0.031700 -8.336200 254 254 254 -5.495700 46.043098 -6.732400 0 252 27 -6.029500 46.188801 -3.956000 0 253 27 -5.919200 37.619099 -4.570300 9 98 162 -2.827600 38.171799 -8.088300 8 119 142 -4.685700 36.664101 -1.616400 0 250 28 -5.919200 37.619099 -4.570300 9 98 162 -6.029500 46.188801 -3.956000 0 253 27 -4.298500 47.001099 -0.058900 0 253 27 -6.775800 50.206501 -7.534500 0 253 27 -0.000000 50.037800 -9.413700 0 253 27 -0.000000 53.738098 -8.986800 0 253 27 -7.252500 54.524502 -7.615000 0 254 27 -7.252500 54.524502 -7.615000 0 254 27 -6.624100 53.529800 -2.653700 0 253 27 -8.184300 53.108700 -3.320400 0 253 27 -8.747800 53.770199 -7.353300 0 253 27 -9.827700 52.989700 -7.188500 0 253 27 -9.508400 52.403099 -3.672700 0 253 27 -15.636800 49.715099 -4.015700 1 215 59 -14.989100 50.565300 -7.297200 0 249 29 -0.000000 37.009800 0.550700 0 253 27 -4.685700 36.664101 -1.616400 0 250 28 -4.298500 47.001099 -0.058900 0 253 27 -0.000000 47.287498 1.094200 0 253 27 -0.000000 53.738098 -8.986800 0 253 27 -0.000000 55.950600 -7.250100 0 253 27 -2.321200 55.471001 -5.570800 0 253 27 -7.252500 54.524502 -7.615000 0 254 27 -3.773800 51.093601 -1.034300 0 253 27 -4.298500 47.001099 -0.058900 0 253 27 -6.029500 46.188801 -3.956000 0 253 27 -6.624100 53.529800 -2.653700 0 253 27 -6.624100 53.529800 -2.653700 254 68 73 -6.029500 46.188801 -3.956000 254 68 73 -7.813100 49.342701 -3.886900 254 68 73 -0.000000 50.880199 0.110000 0 253 27 -0.000000 47.287498 1.094200 0 252 27 -4.298500 47.001099 -0.058900 0 253 27 -3.773800 51.093601 -1.034300 0 253 27 -16.136200 50.023998 -7.546200 0 253 27 -14.885000 46.974701 -7.946000 0 253 27 -13.779500 47.417198 -7.715300 0 253 27 -14.989100 50.565300 -7.297200 0 253 27 -13.779500 47.417198 -7.715300 0 253 27 -14.977100 45.689201 -4.821000 0 253 27 -8.927200 49.128502 -4.128200 0 253 27 -8.756500 49.321098 -7.632900 0 253 27 -17.208200 49.477699 -7.512200 0 227 47 -16.810101 49.139900 -3.928800 35 133 112 -22.348700 46.932201 -2.822400 19 0 250 -22.585199 48.327702 -7.594400 0 236 38 -21.936399 43.055199 -3.733600 19 0 253 -22.348700 46.932201 -2.822400 19 0 250 -16.810101 49.139900 -3.928800 35 133 112 -16.192200 44.960400 -4.877100 18 0 253 -22.105101 44.119598 -7.074000 0 253 27 -21.061199 44.183601 -7.611200 0 253 27 -22.585199 48.327702 -7.594400 0 253 27 -23.337700 47.268200 -6.945000 0 253 27 -15.884600 46.520500 -7.855800 0 253 27 -21.061199 44.183601 -7.611200 0 253 27 -21.936399 43.055199 -3.733600 0 253 27 -16.192200 44.960400 -4.877100 0 253 27 -5.598500 31.822901 -1.404300 0 240 37 -7.453900 29.910801 -4.780100 18 0 251 -7.174300 32.815300 -5.167300 17 7 244 -4.970000 33.082802 -8.871900 18 0 252 -7.174300 32.815300 -5.167300 17 7 244 -7.453900 29.910801 -4.780100 18 0 251 -5.595300 29.761600 -8.492500 18 0 253 -6.827700 20.858999 -3.044800 0 231 44 -6.194700 19.576300 -3.478600 0 248 31 -5.426000 21.341299 -8.132600 15 21 230 -0.835600 22.853901 -8.210700 0 253 27 -5.317800 22.936800 -8.016200 0 253 27 -5.426000 21.341299 -8.132600 0 253 27 -0.899900 21.410400 -8.349400 0 253 27 -0.899900 21.410400 -8.349400 254 254 254 -1.853000 19.164200 -1.371600 254 254 254 -1.957400 20.620800 -1.211500 254 254 254 -6.194700 19.576300 -3.478600 0 248 31 -6.827700 20.858999 -3.044800 0 231 44 -1.957400 20.620800 -1.211500 0 253 27 -1.853000 19.164200 -1.371600 0 253 27 -5.117200 15.490400 -9.679700 0 253 27 -0.134100 16.169500 -9.174700 0 253 27 -0.899900 21.410400 -8.349400 0 253 27 -5.426000 21.341299 -8.132600 0 253 27 -0.134100 16.169500 -9.174700 0 254 27 -1.716700 14.450400 -2.459200 0 254 27 -1.853000 19.164200 -1.371600 0 254 27 -0.899900 21.410400 -8.349400 0 254 27 -1.853000 19.164200 -1.371600 0 253 27 -1.716700 14.450400 -2.459200 0 253 27 -6.069200 14.643000 -3.762300 0 253 27 -6.194700 19.576300 -3.478600 0 248 31 -6.069200 14.643000 -3.762300 0 253 27 -5.117200 15.490400 -9.679700 2 202 70 -5.426000 21.341299 -8.132600 15 21 230 -6.194700 19.576300 -3.478600 0 248 31 -7.813100 49.342701 -3.886900 0 253 27 -6.029500 46.188801 -3.956000 0 253 27 -5.495700 46.043098 -6.732400 0 252 27 -6.775800 50.206501 -7.534500 0 253 27 -8.756500 49.321098 -7.632900 254 68 73 -8.927200 49.128502 -4.128200 254 68 73 -7.813100 49.342701 -3.886900 254 68 73 -6.775800 50.206501 -7.534500 254 68 73 -5.495700 46.043098 -6.732400 0 253 27 -0.000000 45.235802 -8.516300 0 253 27 -0.000000 50.037800 -9.413700 0 253 27 -6.775800 50.206501 -7.534500 0 253 27 -3.773800 51.093601 -1.034300 0 253 27 -1.435700 55.057400 -2.884500 0 253 27 -0.000000 54.522099 -2.187600 0 253 27 -0.000000 50.880199 0.110000 0 253 27 -0.163800 60.672798 0.405300 0 253 27 -0.226300 59.631802 0.717000 0 253 27 -0.605400 59.453602 0.006800 0 253 27 -0.596000 60.268700 -0.255900 0 253 27 -0.000000 59.375900 0.272700 0 253 27 -0.000000 58.735298 0.237300 0 253 27 -0.793500 58.611801 -0.022400 0 253 27 -0.605400 59.453602 0.006800 0 253 27 -1.340700 61.343498 -1.024900 254 254 254 -2.225300 60.301201 -1.334400 254 254 254 -2.209500 61.230499 -1.515000 254 254 254 -0.474100 61.294899 -0.607800 0 253 27 -0.785400 61.539799 -0.048800 0 253 27 -0.179900 61.274700 0.058500 0 253 27 -0.163800 60.672798 0.405300 0 253 27 -0.596000 60.268700 -0.255900 0 253 27 -0.474100 61.294899 -0.607800 0 253 27 -0.179900 61.274700 0.058500 0 253 27 -0.785400 61.539799 -0.048800 0 253 27 -1.792100 61.563202 -0.648200 0 253 27 -1.901400 62.898899 -1.262500 0 253 27 -0.000000 62.775902 -0.355700 0 253 27 -1.901400 62.898899 -1.262500 254 73 78 -1.792100 61.563202 -0.648200 254 68 73 -2.209500 61.230499 -1.515000 254 68 73 -2.505800 61.413601 -3.333900 254 68 73 -2.071800 58.080299 -1.837600 254 254 254 -2.361600 58.652599 -3.405400 254 254 254 -2.043500 58.694401 -1.722000 254 254 254 -2.361600 58.652599 -3.405400 254 254 254 -2.071800 58.080299 -1.837600 254 254 254 -1.480400 57.287800 -3.167400 254 254 254 -2.361600 58.652599 -3.405400 254 254 254 -2.484800 60.667999 -2.078300 254 254 254 -2.225300 60.301201 -1.334400 254 254 254 -2.043500 58.694401 -1.722000 254 254 254 -0.596000 60.268700 -0.255900 0 253 27 -0.605400 59.453602 0.006800 0 253 27 -0.793500 58.611801 -0.022400 0 253 27 -2.225300 60.301201 -1.334400 0 253 27 -0.793500 58.611801 -0.022400 254 68 73 -0.000000 58.735298 0.237300 254 68 73 -0.000000 57.320400 0.190300 254 68 73 -0.860300 57.339199 -0.345300 254 68 73 -2.361600 58.652599 -3.405400 254 254 254 -1.480400 57.287800 -3.167400 254 254 254 -1.507500 57.978802 -4.806700 254 254 254 -1.480400 57.287800 -3.167400 0 253 27 -0.509500 56.862801 -2.081200 0 253 27 -0.000000 54.522099 -2.187600 0 253 27 -1.435700 55.057400 -2.884500 0 254 27 -1.435700 55.057400 -2.884500 254 68 73 -2.321200 55.471001 -5.570800 254 68 73 -1.507500 57.978802 -4.806700 254 68 73 -1.480400 57.287800 -3.167400 254 68 73 -5.117200 15.490400 -9.679700 0 253 27 -1.456400 14.610600 -8.695100 0 253 27 -0.134100 16.169500 -9.174700 0 253 27 -0.134100 16.169500 -9.174700 254 254 254 -1.239800 14.644800 -6.465300 254 254 254 -1.716700 14.450400 -2.459200 254 254 254 -5.308800 13.910900 -3.738700 0 253 27 -6.069200 14.643000 -3.762300 0 253 27 -1.716700 14.450400 -2.459200 0 253 27 -1.766900 13.754900 -2.918700 0 253 27 -4.620900 14.945700 -8.516100 0 247 31 -5.117200 15.490400 -9.679700 2 205 68 -6.069200 14.643000 -3.762300 0 253 27 -5.308800 13.910900 -3.738700 0 253 27 -1.957400 20.620800 -1.211500 254 254 254 -2.189200 21.987900 -1.483700 254 254 254 -0.835600 22.853901 -8.210700 254 254 254 -0.899900 21.410400 -8.349400 254 254 254 -7.174300 32.815300 -5.167300 17 7 244 -4.970000 33.082802 -8.871900 18 0 252 -5.283200 35.952900 -7.814600 18 1 249 -6.542300 35.480598 -4.902800 15 32 221 -5.598500 31.822901 -1.404300 0 240 37 -7.174300 32.815300 -5.167300 17 7 244 -6.542300 35.480598 -4.902800 15 32 221 -4.685700 36.664101 -1.616400 0 250 28 -3.798500 31.552500 -0.388900 0 253 27 -5.598500 31.822901 -1.404300 0 240 37 -2.225300 60.301201 -1.334400 254 254 254 -2.484800 60.667999 -2.078300 254 254 254 -2.209500 61.230499 -1.515000 254 254 254 -8.927200 49.128502 -4.128200 254 68 73 -9.508400 52.403099 -3.672700 254 68 73 -8.184300 53.108700 -3.320400 254 68 73 -7.813100 49.342701 -3.886900 254 68 73 -8.184300 53.108700 -3.320400 0 253 27 -9.508400 52.403099 -3.672700 0 253 27 -9.827700 52.989700 -7.188500 0 253 27 -8.747800 53.770199 -7.353300 0 253 27 -8.747800 53.770199 -7.353300 0 253 27 -6.775800 50.206501 -7.534500 0 253 27 -7.252500 54.524502 -7.615000 0 254 27 -8.927200 49.128502 -4.128200 0 253 27 -14.977100 45.689201 -4.821000 18 0 253 -15.636800 49.715099 -4.015700 29 188 60 -9.508400 52.403099 -3.672700 0 253 27 -1.435700 55.057400 -2.884500 0 253 27 -3.773800 51.093601 -1.034300 0 253 27 -6.624100 53.529800 -2.653700 0 253 27 -7.252500 54.524502 -7.615000 0 253 27 -2.321200 55.471001 -5.570800 0 253 27 -1.435700 55.057400 -2.884500 0 253 27 -7.252500 54.524502 -7.615000 0 253 27 -2.209500 61.230499 -1.515000 254 254 254 -2.484800 60.667999 -2.078300 254 254 254 -2.505800 61.413601 -3.333900 254 254 254 -2.484800 60.667999 -2.078300 254 254 254 -2.361600 58.652599 -3.405400 254 254 254 -2.505800 61.413601 -3.333900 254 254 254 -2.209500 61.230499 -1.515000 254 68 73 -1.792100 61.563202 -0.648200 254 68 73 -1.340700 61.343498 -1.024900 254 68 73 -3.061600 3.537800 -3.461700 18 0 253 -1.553600 3.059500 -4.173500 18 0 253 -1.568700 1.981700 -0.627100 19 0 253 -3.735600 1.816900 0.228400 19 0 253 -0.626000 0.031700 -8.336200 0 254 27 -1.825200 -0.024100 0.601200 254 254 254 -1.568700 1.981700 -0.627100 254 254 254 -1.553600 3.059500 -4.173500 186 254 192 -1.825200 -0.024100 0.601200 0 254 27 -0.626000 0.031700 -8.336200 253 254 253 -1.712600 0.024900 -9.195700 254 254 254 -3.769300 -0.009000 1.132900 0 254 27 -1.712600 0.024900 -9.195700 254 68 73 -0.626000 0.031700 -8.336200 254 68 73 -1.239800 14.644800 -6.465300 254 68 73 -1.456400 14.610600 -8.695100 254 68 73 -1.568700 1.981700 -0.627100 19 0 253 -1.825200 -0.024100 0.601200 19 0 253 -3.769300 -0.009000 1.132900 19 0 253 -3.735600 1.816900 0.228400 19 0 253 -4.089400 2.633000 -5.031300 18 0 253 -5.390300 1.568200 -1.670300 18 0 253 -5.176800 -0.025000 -0.598300 18 0 253 -3.252600 0.001600 -8.591000 19 0 253 -3.769300 -0.009000 1.132900 18 0 253 -5.176800 -0.025000 -0.598300 18 0 253 -5.390300 1.568200 -1.670300 18 0 253 -3.735600 1.816900 0.228400 18 0 253 -5.390300 1.568200 -1.670300 18 0 253 -4.089400 2.633000 -5.031300 18 0 253 -3.061600 3.537800 -3.461700 18 0 253 -3.735600 1.816900 0.228400 18 0 253 -3.061600 3.537800 -3.461700 18 0 253 -4.089400 2.633000 -5.031300 18 0 253 -5.308800 13.910900 -3.738700 0 253 27 -1.766900 13.754900 -2.918700 0 253 27 -5.117200 15.490400 -9.679700 0 253 27 -4.620900 14.945700 -8.516100 0 253 27 -1.456400 14.610600 -8.695100 0 253 27 -1.456400 14.610600 -8.695100 254 254 254 -1.239800 14.644800 -6.465300 254 254 254 -0.134100 16.169500 -9.174700 254 254 254 -5.426000 21.341299 -8.132600 15 21 230 -5.317800 22.936800 -8.016200 18 0 252 -6.824000 22.193899 -3.251500 3 179 89 -6.827700 20.858999 -3.044800 0 231 44 -0.845100 29.891001 -9.498900 0 253 27 -5.595300 29.761600 -8.492500 0 253 27 -5.317800 22.936800 -8.016200 0 253 27 -0.835600 22.853901 -8.210700 0 253 27 -1.957400 20.620800 -1.211500 254 68 73 -6.827700 20.858999 -3.044800 232 61 86 -6.824000 22.193899 -3.251500 185 47 122 -2.189200 21.987900 -1.483700 254 68 73 -0.605400 59.453602 0.006800 254 68 73 -0.226300 59.631802 0.717000 254 68 73 -0.000000 59.375900 0.272700 254 68 73 -21.936399 43.055199 -3.733600 19 0 253 -23.265499 44.290199 -3.614200 19 0 253 -23.323000 46.228001 -3.425200 19 0 251 -22.348700 46.932201 -2.822400 20 0 250 -22.105101 44.119598 -7.074000 0 253 27 -23.337700 47.268200 -6.945000 0 253 27 -23.881300 46.267799 -5.995500 0 253 27 -23.273100 44.479099 -6.170500 0 253 27 -22.348700 46.932201 -2.822400 18 0 249 -23.323000 46.228001 -3.425200 18 0 251 -23.881300 46.267799 -5.995500 12 63 193 -23.337700 47.268200 -6.945000 2 175 92 -21.936399 43.055199 -3.733600 18 0 253 -22.105101 44.119598 -7.074000 18 0 253 -23.273100 44.479099 -6.170500 18 0 253 -23.265499 44.290199 -3.614200 18 0 253 -23.323000 46.228001 -3.425200 19 0 251 -23.265499 44.290199 -3.614200 19 0 253 -24.446100 44.099098 -3.039500 19 0 253 -24.935400 45.742901 -3.288800 20 0 251 -23.273100 44.479099 -6.170500 0 253 27 -23.881300 46.267799 -5.995500 0 253 27 -25.982700 45.641201 -5.974700 0 253 27 -25.718901 44.407902 -5.989100 0 253 27 -23.881300 46.267799 -5.995500 64 24 202 -23.323000 46.228001 -3.425200 19 0 251 -24.935400 45.742901 -3.288800 20 0 251 -25.982700 45.641201 -5.974700 65 29 197 -23.265499 44.290199 -3.614200 0 251 27 -23.273100 44.479099 -6.170500 0 253 27 -25.718901 44.407902 -5.989100 0 253 27 -24.446100 44.099098 -3.039500 53 205 30 -3.798500 31.552500 -0.388900 57 208 35 -4.685700 36.664101 -1.616400 0 250 28 -0.000000 37.009800 0.550700 172 124 55 -0.000000 31.552500 0.128500 203 101 62 -27.058001 43.733101 -1.471100 19 0 253 -26.775499 43.007000 -1.492900 19 0 253 -27.637899 42.321201 -1.984400 19 0 253 -28.100901 44.177299 -2.470000 19 0 253 -27.102699 45.320202 -5.735100 0 253 27 -26.246300 42.901402 -5.383600 0 252 27 -25.718901 44.407902 -5.989100 0 253 27 -25.982700 45.641201 -5.974700 0 253 27 -24.935400 45.742901 -3.288800 20 0 251 -26.753901 45.398300 -2.858600 21 0 250 -27.102699 45.320202 -5.735100 69 22 201 -25.982700 45.641201 -5.974700 65 29 197 -24.446100 44.099098 -3.039500 254 254 254 -25.718901 44.407902 -5.989100 254 254 254 -26.246300 42.901402 -5.383600 254 254 254 -28.380600 42.330502 -3.056600 19 0 253 -28.697901 44.238201 -3.477500 20 0 252 -28.100901 44.177299 -2.470000 19 0 253 -27.637899 42.321201 -1.984400 19 0 253 -28.380600 42.330502 -3.056600 19 0 253 -28.292801 42.543098 -4.446800 19 0 253 -28.543800 44.178001 -4.651400 20 3 248 -28.697901 44.238201 -3.477500 20 0 252 -26.753901 45.398300 -2.858600 20 0 250 -28.100901 44.177299 -2.470000 19 0 253 -28.697901 44.238201 -3.477500 20 0 252 -24.935400 45.742901 -3.288800 20 0 251 -24.446100 44.099098 -3.039500 19 0 253 -25.587200 43.557701 -2.038700 19 0 253 -26.117701 44.487900 -2.198700 19 0 253 -24.446100 44.099098 -3.039500 254 68 73 -26.246300 42.901402 -5.383600 254 68 73 -25.491899 42.827301 -2.370100 254 68 73 -25.587200 43.557701 -2.038700 254 68 73 -26.753901 45.398300 -2.858600 21 0 250 -24.935400 45.742901 -3.288800 20 0 251 -26.117701 44.487900 -2.198700 19 0 253 -0.000000 31.552500 0.128500 0 253 27 -0.000000 24.132099 -0.356700 0 253 27 -3.463700 23.872801 -0.356700 0 253 27 -3.798500 31.552500 -0.388900 0 253 27 -2.225300 60.301201 -1.334400 0 253 27 -0.793500 58.611801 -0.022400 0 253 27 -2.043500 58.694401 -1.722000 0 253 27 -0.793500 58.611801 -0.022400 0 253 27 -0.860300 57.339199 -0.345300 0 253 27 -2.071800 58.080299 -1.837600 0 253 27 -2.043500 58.694401 -1.722000 0 253 27 -2.071800 58.080299 -1.837600 254 68 73 -0.860300 57.339199 -0.345300 254 68 73 -0.509500 56.862801 -2.081200 254 68 73 -1.480400 57.287800 -3.167400 254 68 73 -0.179900 61.274700 0.058500 0 254 27 -0.785400 61.539799 -0.048800 0 254 27 -0.000000 61.912998 -0.048000 0 254 27 -15.884600 46.520500 -7.855800 0 253 27 -14.885000 46.974701 -7.946000 0 253 27 -16.136200 50.023998 -7.546200 0 253 27 -17.208200 49.477699 -7.512200 0 253 27 -15.636800 49.715099 -4.015700 1 215 59 -16.810101 49.139900 -3.928800 5 158 110 -17.208200 49.477699 -7.512200 0 227 47 -16.136200 50.023998 -7.546200 0 244 34 -16.192200 44.960400 -4.877100 254 252 252 -14.977100 45.689201 -4.821000 254 202 204 -14.885000 46.974701 -7.946000 254 123 127 -15.884600 46.520500 -7.855800 254 212 213 -16.810101 49.139900 -3.928800 35 133 112 -15.636800 49.715099 -4.015700 25 190 59 -14.977100 45.689201 -4.821000 18 0 253 -16.192200 44.960400 -4.877100 18 0 253 -13.779500 47.417198 -7.715300 12 79 181 -8.756500 49.321098 -7.632900 0 250 29 -9.827700 52.989700 -7.188500 0 253 27 -14.989100 50.565300 -7.297200 0 249 29 -15.636800 49.715099 -4.015700 1 215 59 -16.136200 50.023998 -7.546200 0 244 34 -14.989100 50.565300 -7.297200 0 249 29 -13.779500 47.417198 -7.715300 254 70 75 -14.885000 46.974701 -7.946000 254 123 127 -14.977100 45.689201 -4.821000 254 202 204 -1.239800 14.644800 -6.465300 254 254 254 -1.766900 13.754900 -2.918700 254 254 254 -1.716700 14.450400 -2.459200 254 254 254 -26.117701 44.487900 -2.198700 19 0 253 -25.587200 43.557701 -2.038700 19 0 253 -26.775499 43.007000 -1.492900 19 0 253 -27.058001 43.733101 -1.471100 19 0 253 -25.587200 43.557701 -2.038700 19 0 253 -25.491899 42.827301 -2.370100 19 0 253 -27.637899 42.321201 -1.984400 19 0 253 -26.775499 43.007000 -1.492900 19 0 253 -26.117701 44.487900 -2.198700 19 0 253 -27.058001 43.733101 -1.471100 19 0 253 -28.100901 44.177299 -2.470000 19 0 253 -8.184300 53.108700 -3.320400 254 68 73 -6.624100 53.529800 -2.653700 254 68 73 -7.813100 49.342701 -3.886900 254 68 73 -8.747800 53.770199 -7.353300 0 253 27 -9.827700 52.989700 -7.188500 0 253 27 -8.756500 49.321098 -7.632900 0 253 27 -6.775800 50.206501 -7.534500 0 253 27 -28.543800 44.178001 -4.651400 20 3 248 -27.102699 45.320202 -5.735100 12 64 193 -26.753901 45.398300 -2.858600 20 0 250 -28.697901 44.238201 -3.477500 20 0 252 -26.246300 42.901402 -5.383600 0 252 27 -28.292801 42.543098 -4.446800 87 180 37 -28.380600 42.330502 -3.056600 242 73 67 -28.100901 44.177299 -2.470000 19 0 253 -26.753901 45.398300 -2.858600 21 0 250 -26.117701 44.487900 -2.198700 19 0 253 -1.712600 0.024900 -9.195700 19 0 253 -3.252600 0.001600 -8.591000 19 0 253 -5.176800 -0.025000 -0.598300 18 0 253 -3.769300 -0.009000 1.132900 18 0 253 -0.000000 61.912998 -0.048000 0 254 27 -0.785400 61.539799 -0.048800 0 254 27 -0.000000 62.775902 -0.355700 0 254 27 -0.340300 31.400700 -9.928000 254 254 254 -0.845100 29.891001 -9.498900 254 254 254 -0.425600 30.069099 -1.507500 254 254 254 -0.509500 56.862801 -2.081200 254 127 129 -0.509500 56.862801 -2.081200 0 253 27 -0.860300 57.339199 -0.345300 0 253 27 -0.000000 57.320400 0.190300 0 253 27 -0.000000 56.862801 -2.081200 0 253 27 -5.598500 31.822901 -1.404300 0 240 37 -6.824000 22.193899 -3.251500 3 179 89 -7.453900 29.910801 -4.780100 18 0 251 -6.824000 22.193899 -3.251500 3 179 89 -5.317800 22.936800 -8.016200 18 0 252 -5.595300 29.761600 -8.492500 18 0 253 -7.453900 29.910801 -4.780100 18 0 251 -3.798500 31.552500 -0.388900 0 253 27 -2.189200 21.987900 -1.483700 0 253 27 -6.824000 22.193899 -3.251500 3 179 89 -5.598500 31.822901 -1.404300 0 240 37 -0.340300 31.400700 -9.928000 0 253 27 -4.970000 33.082802 -8.871900 0 253 27 -5.595300 29.761600 -8.492500 0 253 27 -0.845100 29.891001 -9.498900 0 253 27 -0.835600 22.853901 -8.210700 254 254 254 -2.189200 21.987900 -1.483700 254 254 254 -0.425600 30.069099 -1.507500 254 254 254 -0.845100 29.891001 -9.498900 254 254 254 -2.162800 35.743500 -9.599900 0 253 27 -5.283200 35.952900 -7.814600 0 253 27 -4.970000 33.082802 -8.871900 0 253 27 -0.340300 31.400700 -9.928000 0 253 27 -5.283200 35.952900 -7.814600 18 1 249 -5.919200 37.619099 -4.570300 9 98 162 -6.542300 35.480598 -4.902800 15 32 221 -5.919200 37.619099 -4.570300 9 98 162 -4.685700 36.664101 -1.616400 0 250 28 -5.598500 31.822901 -1.404300 0 240 37 -6.542300 35.480598 -4.902800 15 32 221 -0.474100 61.294899 -0.607800 254 68 73 -0.596000 60.268700 -0.255900 254 68 73 -2.225300 60.301201 -1.334400 254 68 73 -1.340700 61.343498 -1.024900 254 68 73 -1.340700 61.343498 -1.024900 0 253 27 -1.792100 61.563202 -0.648200 0 253 27 -0.785400 61.539799 -0.048800 0 253 27 -0.474100 61.294899 -0.607800 0 253 27 -0.000000 45.235802 -8.516300 0 253 27 -5.495700 46.043098 -6.732400 0 252 27 -2.827600 38.171799 -8.088300 8 119 142 -0.000000 38.221600 -8.073300 0 240 38 -0.425600 30.069099 -1.507500 254 254 254 -2.189200 21.987900 -1.483700 254 254 254 -3.798500 31.552500 -0.388900 254 254 254 -0.000000 31.547001 -9.939100 254 68 73 -0.340300 31.400700 -9.928000 254 68 73 -0.425600 30.069099 -1.507500 254 68 73 -0.000000 30.215401 -1.522000 254 68 73 -21.061199 44.183601 -7.611200 18 0 253 -15.884600 46.520500 -7.855800 17 5 246 -17.208200 49.477699 -7.512200 0 227 47 -22.585199 48.327702 -7.594400 0 239 38 -22.348700 46.932201 -2.822400 18 0 249 -23.337700 47.268200 -6.945000 2 175 92 -22.585199 48.327702 -7.594400 0 239 38 -21.061199 44.183601 -7.611200 0 253 27 -22.105101 44.119598 -7.074000 0 253 27 -21.936399 43.055199 -3.733600 0 253 27 -0.340300 31.400700 -9.928000 0 253 27 -0.000000 31.547001 -9.939100 0 253 27 -0.000000 35.795200 -9.599900 0 253 27 -2.162800 35.743500 -9.599900 0 253 27 -5.919200 37.619099 -4.570300 9 98 162 -5.283200 35.952900 -7.814600 18 1 249 -2.162800 35.743500 -9.599900 16 28 225 -2.827600 38.171799 -8.088300 8 119 142 -28.543800 44.178001 -4.651400 77 187 34 -28.292801 42.543098 -4.446800 87 180 37 -26.246300 42.901402 -5.383600 0 252 27 -27.102699 45.320202 -5.735100 0 253 27 -25.491899 42.827301 -2.370100 190 254 195 -28.380600 42.330502 -3.056600 242 254 242 -27.637899 42.321201 -1.984400 254 254 254 -26.246300 42.901402 -5.383600 0 254 27 -28.380600 42.330502 -3.056600 242 254 242 -25.491899 42.827301 -2.370100 190 254 195 -2.162800 35.743500 -9.599900 0 253 27 -0.000000 35.795200 -9.599900 0 253 27 -0.000000 38.221600 -8.073300 0 253 27 -2.827600 38.171799 -8.088300 0 253 27 -0.706900 62.538601 -0.289700 0 253 27 -1.838200 62.255798 -0.802600 0 253 27 -1.901400 63.532299 -1.247600 0 253 27 -0.672300 63.485901 -0.421800 0 253 27 -1.901400 63.532299 -1.247600 0 253 27 -1.838200 62.255798 -0.802600 0 253 27 -3.194200 60.597198 -3.460400 0 253 27 -2.758700 63.532299 -3.348800 0 253 27 -2.758700 63.532299 -3.348800 0 253 27 -3.194200 60.597198 -3.460400 0 253 27 -3.446000 60.597198 -5.980300 0 253 27 -3.010600 63.532299 -5.868700 0 253 27 -3.194200 60.597198 -3.460400 0 253 27 -1.838200 62.255798 -0.802600 0 253 27 -2.336800 60.597198 -1.072500 0 253 27 -2.130500 53.628601 -1.359200 0 253 27 -4.088800 54.879799 -3.460400 0 253 27 -3.194200 60.597198 -3.460400 0 253 27 -2.336800 60.597198 -1.072500 0 253 27 -4.088800 54.879799 -3.460400 0 253 27 -4.340700 55.234299 -6.210400 0 254 27 -3.446000 60.597198 -5.980300 0 253 27 -3.194200 60.597198 -3.460400 0 253 27 -3.010600 63.532299 -5.868700 0 253 27 -3.446000 60.597198 -5.980300 0 253 27 -2.517200 60.597198 -7.879200 0 253 27 -1.932100 63.532299 -7.311200 0 253 27 -3.446000 60.597198 -5.980300 0 253 27 -4.340700 55.234299 -6.210400 0 254 27 -2.990300 54.496300 -8.246000 0 253 27 -2.517200 60.597198 -7.879200 0 253 27 -1.932100 63.532299 -7.311200 0 253 27 -2.517200 60.597198 -7.879200 0 253 27 -0.000000 60.597198 -8.812800 0 253 27 -0.000000 63.532299 -8.174500 0 253 27 -2.990300 54.496300 -8.246000 0 253 27 -0.000000 54.050800 -8.782700 0 253 27 -0.000000 60.597198 -8.812800 0 253 27 -2.517200 60.597198 -7.879200 0 253 27 -0.672300 63.485901 -0.421800 0 253 27 -1.901400 63.532299 -1.247600 0 253 27 -1.171400 65.057899 -2.205500 0 253 27 -1.901400 63.532299 -1.247600 0 253 27 -2.758700 63.532299 -3.348800 0 253 27 -1.795600 65.057899 -4.806100 0 253 27 -1.171400 65.057899 -2.205500 0 253 27 -2.758700 63.532299 -3.348800 0 253 27 -3.010600 63.532299 -5.868700 0 253 27 -1.795600 65.057899 -4.806100 0 253 27 -3.010600 63.532299 -5.868700 0 253 27 -1.932100 63.532299 -7.311200 0 254 27 -0.000000 65.057899 -6.421400 0 253 27 -1.795600 65.057899 -4.806100 0 253 27 -1.932100 63.532299 -7.311200 0 254 27 -0.000000 63.532299 -8.174500 0 253 27 -0.000000 65.057899 -6.421400 0 253 27 -1.171400 65.057899 -2.205500 0 253 27 -1.795600 65.057899 -4.806100 0 253 27 -0.000000 65.560898 -4.058400 0 253 27 -1.795600 65.057899 -4.806100 0 254 27 -0.000000 65.057899 -6.421400 0 254 27 -0.000000 65.560898 -4.058400 0 254 27 -0.672300 63.485901 -0.421800 0 254 27 -1.171400 65.057899 -2.205500 0 254 27 --1.171400 65.057899 -2.205500 0 254 27 --0.672300 63.485901 -0.421800 0 254 27 -0.706900 62.538601 -0.289700 0 254 27 -0.672300 63.485901 -0.421800 0 254 27 -0.000000 62.538601 -0.140300 0 254 27 -0.672300 63.485901 -0.421800 0 254 27 --0.672300 63.485901 -0.421800 0 254 27 -0.000000 62.538601 -0.140300 0 254 27 -2.130500 53.628601 -1.359200 0 253 27 -2.336800 60.597198 -1.072500 0 253 27 -1.393700 60.597198 -3.164700 0 253 27 -1.187300 53.628601 -3.164700 0 253 27 --0.706900 62.538601 -0.289700 0 254 27 --0.672300 63.485901 -0.421800 0 254 27 --1.901400 63.532299 -1.247600 0 254 27 --1.838200 62.255798 -0.802600 0 254 27 --1.901400 63.532299 -1.247600 0 254 27 --2.758700 63.532299 -3.348800 0 254 27 --3.194200 60.597198 -3.460400 0 254 27 --1.838200 62.255798 -0.802600 0 254 27 --2.758700 63.532299 -3.348800 0 254 27 --3.010600 63.532299 -5.868700 0 254 27 --3.446000 60.597198 -5.980300 0 254 27 --3.194200 60.597198 -3.460400 0 254 27 --3.194200 60.597198 -3.460400 0 254 27 --2.336800 60.597198 -1.072500 0 254 27 --1.838200 62.255798 -0.802600 0 254 27 --2.130500 53.628601 -1.359200 0 253 27 --2.336800 60.597198 -1.072500 0 254 27 --3.194200 60.597198 -3.460400 0 254 27 --4.088800 54.879799 -3.460400 0 253 27 --4.088800 54.879799 -3.460400 0 253 27 --3.194200 60.597198 -3.460400 0 253 27 --3.446000 60.597198 -5.980300 0 253 27 --4.340700 55.234299 -6.210400 0 254 27 --3.010600 63.532299 -5.868700 0 254 27 --1.932100 63.532299 -7.311200 0 254 27 --2.517200 60.597198 -7.879200 0 254 27 --3.446000 60.597198 -5.980300 0 254 27 --3.446000 60.597198 -5.980300 0 254 27 --2.517200 60.597198 -7.879200 0 254 27 --2.990300 54.496300 -8.246000 0 254 27 --4.340700 55.234299 -6.210400 0 254 27 --1.932100 63.532299 -7.311200 0 254 27 -0.000000 63.532299 -8.174500 0 254 27 -0.000000 60.597198 -8.812800 0 254 27 --2.517200 60.597198 -7.879200 0 254 27 --2.990300 54.496300 -8.246000 0 254 27 --2.517200 60.597198 -7.879200 0 254 27 -0.000000 60.597198 -8.812800 0 254 27 -0.000000 54.050800 -8.782700 0 254 27 --0.672300 63.485901 -0.421800 0 254 27 --1.171400 65.057899 -2.205500 0 254 27 --1.901400 63.532299 -1.247600 0 254 27 --1.901400 63.532299 -1.247600 0 254 27 --1.171400 65.057899 -2.205500 0 254 27 --1.795600 65.057899 -4.806100 0 254 27 --2.758700 63.532299 -3.348800 0 254 27 --2.758700 63.532299 -3.348800 0 254 27 --1.795600 65.057899 -4.806100 0 254 27 --3.010600 63.532299 -5.868700 0 254 27 --3.010600 63.532299 -5.868700 0 254 27 --1.795600 65.057899 -4.806100 0 254 27 -0.000000 65.057899 -6.421400 0 254 27 --1.932100 63.532299 -7.311200 0 254 27 --1.932100 63.532299 -7.311200 0 254 27 -0.000000 65.057899 -6.421400 0 254 27 -0.000000 63.532299 -8.174500 0 254 27 --1.171400 65.057899 -2.205500 0 254 27 -0.000000 65.560898 -4.058400 0 254 27 --1.795600 65.057899 -4.806100 0 254 27 --1.795600 65.057899 -4.806100 0 254 27 -0.000000 65.560898 -4.058400 0 254 27 -0.000000 65.057899 -6.421400 0 254 27 --1.171400 65.057899 -2.205500 0 254 27 -1.171400 65.057899 -2.205500 0 254 27 -0.000000 65.560898 -4.058400 0 254 27 --0.706900 62.538601 -0.289700 0 254 27 -0.000000 62.538601 -0.140300 0 254 27 --0.672300 63.485901 -0.421800 0 254 27 --2.130500 53.628601 -1.359200 164 133 56 --1.187300 53.628601 -3.164700 209 100 64 --1.393700 60.597198 -3.164700 254 254 254 --2.336800 60.597198 -1.072500 254 254 254 -8.704300 24.905701 -6.036500 0 253 27 -7.984800 25.127701 -6.177400 0 253 27 -7.649900 27.558001 -5.856100 0 253 27 -8.503900 27.435900 -5.670300 0 253 27 -6.463600 36.223400 -3.704900 9 100 160 -5.778000 35.994701 -1.773100 0 231 44 -7.451900 27.210300 -3.504400 18 2 248 -8.503900 27.435900 -5.670300 18 0 253 -5.115000 35.782600 -2.051700 0 241 37 -6.597900 27.332300 -3.690200 16 16 234 -7.451900 27.210300 -3.504400 18 2 248 -5.778000 35.994701 -1.773100 0 231 44 -5.743400 36.019600 -3.995900 0 253 27 -6.463600 36.223400 -3.704900 0 253 27 -8.503900 27.435900 -5.670300 0 253 27 -7.649900 27.558001 -5.856100 0 253 27 -7.451900 27.210300 -3.504400 21 0 248 -6.597900 27.332300 -3.690200 35 1 237 -7.984800 25.127701 -6.177400 19 0 253 -8.704300 24.905701 -6.036500 19 0 253 -7.451900 27.210300 -3.504400 18 2 248 -8.704300 24.905701 -6.036500 18 0 253 -8.503900 27.435900 -5.670300 18 0 253 -6.463600 36.223400 -3.704900 254 68 73 -5.743400 36.019600 -3.995900 254 68 73 -5.115000 35.782600 -2.051700 254 68 73 -5.778000 35.994701 -1.773100 254 68 73 -4.513000 55.007702 -5.909800 0 253 27 -4.291100 55.098900 -5.871800 0 253 27 -4.207800 55.799599 -6.651700 0 253 27 -4.871900 55.799599 -6.765400 0 253 27 -2.904000 62.455601 -5.700500 0 253 27 -2.764700 62.455601 -4.128400 0 253 27 -4.736600 55.799599 -5.153900 0 253 27 -4.871900 55.799599 -6.765400 0 253 27 -2.764700 62.455601 -4.128400 0 253 27 -4.072400 55.799599 -5.040200 0 253 27 -4.736600 55.799599 -5.153900 0 253 27 -2.904000 62.455601 -5.700500 0 253 27 -4.871900 55.799599 -6.765400 0 253 27 -4.207800 55.799599 -6.651700 0 253 27 -4.736600 55.799599 -5.153900 254 68 73 -4.072400 55.799599 -5.040200 254 68 73 -4.291100 55.098900 -5.871800 254 68 73 -4.513000 55.007702 -5.909800 254 68 73 -4.736600 55.799599 -5.153900 0 253 27 -4.513000 55.007702 -5.909800 0 253 27 -4.871900 55.799599 -6.765400 0 253 27 -4 0 1 2 3 -4 4 5 6 7 -3 8 9 10 -4 11 12 13 14 -4 15 16 17 18 -4 19 20 21 22 -4 23 24 25 26 -4 27 28 29 30 -4 31 32 33 34 -4 35 36 37 38 -4 39 40 41 42 -4 43 44 45 46 -3 47 48 49 -4 50 51 52 53 -4 54 55 56 57 -4 58 59 60 61 -4 62 63 64 65 -4 66 67 68 69 -4 70 71 72 73 -4 74 75 76 77 -3 78 79 80 -4 81 82 83 84 -3 85 86 87 -4 88 89 90 91 -3 92 93 94 -4 95 96 97 98 -4 99 100 101 102 -4 103 104 105 106 -4 107 108 109 110 -4 111 112 113 114 -4 115 116 117 118 -4 119 120 121 122 -4 123 124 125 126 -4 127 128 129 130 -4 131 132 133 134 -4 135 136 137 138 -3 139 140 141 -3 142 143 144 -4 145 146 147 148 -4 149 150 151 152 -4 153 154 155 156 -3 157 158 159 -3 160 161 162 -4 163 164 165 166 -4 167 168 169 170 -4 171 172 173 174 -3 175 176 177 -4 178 179 180 181 -4 182 183 184 185 -3 186 187 188 -3 189 190 191 -4 192 193 194 195 -4 196 197 198 199 -4 200 201 202 203 -4 204 205 206 207 -3 208 209 210 -3 211 212 213 -3 214 215 216 -4 217 218 219 220 -4 221 222 223 224 -3 225 226 227 -4 228 229 230 231 -4 232 233 234 235 -3 236 237 238 -3 239 240 241 -3 242 243 244 -3 245 246 247 -4 248 249 250 251 -4 252 253 254 255 -4 256 257 258 259 -4 260 261 262 263 -4 264 265 266 267 -4 268 269 270 271 -4 272 273 274 275 -4 276 277 278 279 -4 280 281 282 283 -3 284 285 286 -3 287 288 289 -4 290 291 292 293 -4 294 295 296 297 -4 298 299 300 301 -3 302 303 304 -4 305 306 307 308 -4 309 310 311 312 -4 313 314 315 316 -4 317 318 319 320 -4 321 322 323 324 -4 325 326 327 328 -4 329 330 331 332 -4 333 334 335 336 -4 337 338 339 340 -4 341 342 343 344 -4 345 346 347 348 -4 349 350 351 352 -3 353 354 355 -4 356 357 358 359 -4 360 361 362 363 -3 364 365 366 -4 367 368 369 370 -4 371 372 373 374 -3 375 376 377 -4 378 379 380 381 -3 382 383 384 -4 385 386 387 388 -4 389 390 391 392 -3 393 394 395 -4 396 397 398 399 -4 400 401 402 403 -4 404 405 406 407 -4 408 409 410 411 -4 412 413 414 415 -3 416 417 418 -3 419 420 421 -3 422 423 424 -4 425 426 427 428 -4 429 430 431 432 -3 433 434 435 -3 436 437 438 -4 439 440 441 442 -4 443 444 445 446 -3 447 448 449 -3 450 451 452 -4 453 454 455 456 -3 457 458 459 -3 460 461 462 -3 463 464 465 -4 466 467 468 469 -3 470 471 472 -4 473 474 475 476 -4 477 478 479 480 -4 481 482 483 484 -4 485 486 487 488 -4 489 490 491 492 -3 493 494 495 -4 496 497 498 499 -4 500 501 502 503 -4 504 505 506 507 -4 508 509 510 511 -3 512 513 514 -4 515 516 517 518 -4 519 520 521 522 -3 523 524 525 -3 526 527 528 -3 529 530 531 -4 532 533 534 535 -4 536 537 538 539 -4 540 541 542 543 -4 544 545 546 547 -3 548 549 550 -3 551 552 553 -4 554 555 556 557 -3 558 559 560 -4 561 562 563 564 -4 565 566 567 568 -4 569 570 571 572 -3 573 574 575 -4 576 577 578 579 -4 580 581 582 583 -4 584 585 586 587 -4 588 589 590 591 -4 592 593 594 595 -4 596 597 598 599 -4 600 601 602 603 -4 604 605 606 607 -4 608 609 610 611 -3 612 613 614 -4 615 616 617 618 -4 619 620 621 622 -4 623 624 625 626 -4 627 628 629 630 -4 631 632 633 634 -4 635 636 637 638 -4 639 640 641 642 -3 643 644 645 -4 646 647 648 649 -3 650 651 652 -4 653 654 655 656 -3 657 658 659 -4 660 661 662 663 -4 664 665 666 667 -4 668 669 670 671 -4 672 673 674 675 -4 676 677 678 679 -4 680 681 682 683 -4 684 685 686 687 -4 688 689 690 691 -4 692 693 694 695 -4 696 697 698 699 -4 700 701 702 703 -3 704 705 706 -3 707 708 709 -4 710 711 712 713 -4 714 715 716 717 -4 718 719 720 721 -3 722 723 724 -3 725 726 727 -4 728 729 730 731 -4 732 733 734 735 -4 736 737 738 739 -3 740 741 742 -4 743 744 745 746 -4 747 748 749 750 -3 751 752 753 -3 754 755 756 -4 757 758 759 760 -4 761 762 763 764 -4 765 766 767 768 -4 769 770 771 772 -3 773 774 775 -3 776 777 778 -3 779 780 781 -4 782 783 784 785 -4 786 787 788 789 -3 790 791 792 -4 793 794 795 796 -4 797 798 799 800 -3 801 802 803 -3 804 805 806 -3 807 808 809 -3 810 811 812 -4 813 814 815 816 -4 817 818 819 820 -4 821 822 823 824 -4 825 826 827 828 -4 829 830 831 832 -4 833 834 835 836 -4 837 838 839 840 -4 841 842 843 844 -4 845 846 847 848 -3 849 850 851 -3 852 853 854 -4 855 856 857 858 -4 859 860 861 862 -4 863 864 865 866 -3 867 868 869 -4 870 871 872 873 -4 874 875 876 877 -4 878 879 880 881 -4 882 883 884 885 -4 886 887 888 889 -4 890 891 892 893 -4 894 895 896 897 -4 898 899 900 901 -4 902 903 904 905 -4 906 907 908 909 -4 910 911 912 913 -4 914 915 916 917 -3 918 919 920 -4 921 922 923 924 -4 925 926 927 928 -3 929 930 931 -4 932 933 934 935 -4 936 937 938 939 -3 940 941 942 -4 943 944 945 946 -3 947 948 949 -4 950 951 952 953 -4 954 955 956 957 -3 958 959 960 -4 961 962 963 964 -4 965 966 967 968 -4 969 970 971 972 -4 973 974 975 976 -4 977 978 979 980 -3 981 982 983 -3 984 985 986 -3 987 988 989 -4 990 991 992 993 -4 994 995 996 997 -3 998 999 1000 -3 1001 1002 1003 -4 1004 1005 1006 1007 -4 1008 1009 1010 1011 -3 1012 1013 1014 -3 1015 1016 1017 -4 1018 1019 1020 1021 -3 1022 1023 1024 -3 1025 1026 1027 -3 463 1028 464 -4 1029 1030 1031 1032 -3 1033 1034 1035 -4 1036 1037 1038 1039 -4 1040 1041 1042 1043 -4 1044 1045 1046 1047 -4 1048 1049 1050 1051 -4 1052 1053 1054 1055 -3 1056 1057 1058 -4 1059 1060 1061 1062 -4 1063 1064 1065 1066 -4 1067 1068 1069 1070 -4 1071 1072 1073 1074 -3 1075 1076 1077 -4 1078 1079 1080 1081 -4 1082 1083 1084 1085 -3 1086 1087 1088 -3 1089 1090 1091 -4 1092 1093 1094 1095 -4 1096 1097 1098 1099 -4 1100 1101 1102 1103 -3 1104 1105 1106 -3 1107 1108 1109 -4 1110 1111 1112 1113 -4 1114 1115 1116 1117 -4 1118 1119 1120 1121 -4 1122 1123 1124 1125 -3 1126 1127 1128 -4 1129 1130 1131 1132 -4 1133 1134 1135 1136 -4 1137 1138 1139 1140 -4 1141 1142 1143 1144 -4 1145 1146 1147 1148 -4 1149 1150 1151 1152 -3 1153 1154 1155 -4 1156 1157 1158 1159 -3 1160 1161 1162 -4 1163 1164 1165 1166 -3 1167 1168 1169 -3 1170 1171 1172 -3 1173 1174 1175 -4 1176 1177 1178 1179 -3 1180 1181 1182 -3 1183 1184 1185 -4 1186 1187 1188 1189 -4 1190 1191 1192 1193 -4 1194 1195 1196 1197 -4 1198 1199 1200 1201 -3 1202 1203 1204 -4 1205 1206 1207 1208 -4 1209 1210 1211 1212 -4 1213 1214 1215 1216 -4 1217 1218 1219 1220 -4 1221 1222 1223 1224 -4 1225 1226 1227 1228 -3 1229 1230 1231 -4 1232 1233 1234 1235 -3 1236 1237 1238 -4 1239 1240 1241 1242 -3 1243 1244 1245 -3 1246 1247 1248 -3 1249 1250 1251 -3 1252 1253 1254 -3 1255 1256 1257 -4 1258 1259 1260 1261 -4 1262 1263 1264 1265 -4 1266 1267 1268 1269 -4 1270 1271 1272 1273 -4 1274 1275 1276 1277 -4 1278 1279 1280 1281 -3 1282 1283 1284 -4 1285 1286 1287 1288 -4 1289 1290 1291 1292 -4 1293 1294 1295 1296 -3 1297 1298 1299 -3 1300 1301 1302 -4 1303 1304 1305 1306 -3 1307 1308 1309 diff --git a/src/tests/evas/meshes/ply/NoNormal_NoUVs_NoColors.ply b/src/tests/evas/meshes/ply/NoNormal_NoUVs_NoColors.ply deleted file mode 100644 index d78a23325e..0000000000 --- a/src/tests/evas/meshes/ply/NoNormal_NoUVs_NoColors.ply +++ /dev/null @@ -1,1676 +0,0 @@ -ply -format ascii 1.0 -comment Created by Blender 2.69 (sub 0) - www.blender.org, source file: '' -element vertex 1310 -property float x -property float y -property float z -element face 356 -property list uchar uint vertex_indices -end_header --4.649800 14.945700 -8.785600 --2.020300 14.610600 -8.278800 --1.712600 0.024900 -9.195700 --3.252600 0.001600 -8.591000 --4.649800 14.945700 -8.785600 --3.252600 0.001600 -8.591000 --4.089400 2.633000 -5.031300 --5.308800 13.910900 -3.738700 --1.553600 3.059500 -4.173500 --1.766900 13.754900 -2.918700 --3.061600 3.537800 -3.461700 --1.553600 3.059500 -4.173500 --0.626000 0.031700 -8.336200 --0.971400 14.644800 -6.706400 --1.766900 13.754900 -2.918700 --5.495700 46.043098 -6.732400 --2.827600 38.171799 -8.088300 --5.919200 37.619099 -4.570300 --6.029500 46.188801 -3.956000 --4.685700 36.664101 -1.616400 --4.298500 47.001099 -0.058900 --6.029500 46.188801 -3.956000 --5.919200 37.619099 -4.570300 --6.775800 50.206501 -7.534500 --7.252500 54.524502 -7.615000 -0.000000 53.738098 -8.986800 -0.000000 50.037800 -9.413700 --7.252500 54.524502 -7.615000 --8.747800 53.770199 -7.353300 --8.184300 53.108700 -3.320400 --6.624100 53.529800 -2.653700 --9.827700 52.989700 -7.188500 --14.989100 50.565300 -7.297200 --15.636800 49.715099 -4.015700 --9.508400 52.403099 -3.672700 -0.000000 37.009800 0.550700 -0.000000 47.287498 1.094200 --4.298500 47.001099 -0.058900 --4.685700 36.664101 -1.616400 -0.000000 53.738098 -8.986800 --7.252500 54.524502 -7.615000 --2.321200 55.471001 -5.570800 -0.000000 55.950600 -7.250100 --6.624100 53.529800 -2.653700 --7.813100 49.342701 -3.886900 --6.029500 46.188801 -3.956000 --3.773800 51.093601 -1.034300 --6.029500 46.188801 -3.956000 --4.298500 47.001099 -0.058900 --3.773800 51.093601 -1.034300 -0.000000 50.880199 0.110000 --3.773800 51.093601 -1.034300 --4.298500 47.001099 -0.058900 -0.000000 47.287498 1.094200 --16.136200 50.023998 -7.546200 --14.989100 50.565300 -7.297200 --13.779500 47.417198 -7.715300 --14.885000 46.974701 -7.946000 --13.779500 47.417198 -7.715300 --8.756500 49.321098 -7.632900 --8.927200 49.128502 -4.128200 --14.977100 45.689201 -4.821000 --17.208200 49.477699 -7.512200 --22.585199 48.327702 -7.594400 --22.348700 46.932201 -2.822400 --16.810101 49.139900 -3.928800 --21.936399 43.055199 -3.733600 --16.192200 44.960400 -4.877100 --16.810101 49.139900 -3.928800 --22.348700 46.932201 -2.822400 --22.105101 44.119598 -7.074000 --23.337700 47.268200 -6.945000 --22.585199 48.327702 -7.594400 --21.061199 44.183601 -7.611200 --15.884600 46.520500 -7.855800 --16.192200 44.960400 -4.877100 --21.936399 43.055199 -3.733600 --21.061199 44.183601 -7.611200 --5.598500 31.822901 -1.405400 --7.174300 32.815300 -5.168000 --7.453900 29.910801 -4.782000 --4.970000 33.082802 -8.871300 --5.595300 29.761600 -8.491100 --7.453900 29.910801 -4.782000 --7.174300 32.815300 -5.168000 --6.827700 20.858999 -3.051400 --5.426000 21.341299 -8.131100 --6.194700 19.576300 -3.492500 --0.835600 22.853901 -8.203000 --0.899900 21.410400 -8.342700 --5.426000 21.341299 -8.131100 --5.317800 22.936800 -8.014600 --0.899900 21.410400 -8.342700 --1.957400 20.620800 -1.217700 --1.853000 19.164200 -1.385300 --6.194700 19.576300 -3.492500 --1.853000 19.164200 -1.385300 --1.957400 20.620800 -1.217700 --6.827700 20.858999 -3.051400 --5.259600 15.490400 -9.599400 --5.426000 21.341299 -8.131100 --0.899900 21.410400 -8.342700 --0.294400 16.169500 -7.962700 --0.294400 16.169500 -7.962700 --0.899900 21.410400 -8.342700 --1.853000 19.164200 -1.385300 --1.221800 14.450400 -2.004100 --1.853000 19.164200 -1.385300 --6.194700 19.576300 -3.492500 --6.498700 14.643000 -4.000600 --1.221800 14.450400 -2.004100 --6.498700 14.643000 -4.000600 --6.194700 19.576300 -3.492500 --5.426000 21.341299 -8.131100 --5.259600 15.490400 -9.599400 --7.813100 49.342701 -3.886900 --6.775800 50.206501 -7.534500 --5.495700 46.043098 -6.732400 --6.029500 46.188801 -3.956000 --8.756500 49.321098 -7.632900 --6.775800 50.206501 -7.534500 --7.813100 49.342701 -3.886900 --8.927200 49.128502 -4.128200 --5.495700 46.043098 -6.732400 --6.775800 50.206501 -7.534500 -0.000000 50.037800 -9.413700 -0.000000 45.235802 -8.516300 --3.773800 51.093601 -1.034300 -0.000000 50.880199 0.110000 -0.000000 54.522099 -2.187600 --1.435700 55.057400 -2.884500 --0.163800 60.672798 0.405300 --0.596000 60.268700 -0.255900 --0.605400 59.453602 0.006800 --0.226300 59.631802 0.717000 -0.000000 59.375900 0.272700 --0.605400 59.453602 0.006800 --0.793500 58.611801 -0.022400 -0.000000 58.735298 0.237300 --1.340700 61.343498 -1.024900 --2.209500 61.230499 -1.515000 --2.225300 60.301201 -1.334400 --0.474100 61.294899 -0.607800 --0.179900 61.274700 0.058500 --0.785400 61.539799 -0.048800 --0.163800 60.672798 0.405300 --0.179900 61.274700 0.058500 --0.474100 61.294899 -0.607800 --0.596000 60.268700 -0.255900 --0.785400 61.539799 -0.048800 -0.000000 62.775902 -0.355700 --1.901400 62.898899 -1.262500 --1.792100 61.563202 -0.648200 --1.901400 62.898899 -1.262500 --2.505800 61.413601 -3.333900 --2.209500 61.230499 -1.515000 --1.792100 61.563202 -0.648200 --2.071800 58.080299 -1.837600 --2.043500 58.694401 -1.722000 --2.361600 58.652599 -3.405400 --2.361600 58.652599 -3.405400 --1.480400 57.287800 -3.167400 --2.071800 58.080299 -1.837600 --2.361600 58.652599 -3.405400 --2.043500 58.694401 -1.722000 --2.225300 60.301201 -1.334400 --2.484800 60.667999 -2.078300 --0.596000 60.268700 -0.255900 --2.225300 60.301201 -1.334400 --0.793500 58.611801 -0.022400 --0.605400 59.453602 0.006800 --0.793500 58.611801 -0.022400 --0.860300 57.339199 -0.345300 -0.000000 57.320400 0.190300 -0.000000 58.735298 0.237300 --2.361600 58.652599 -3.405400 --1.507500 57.978802 -4.806700 --1.480400 57.287800 -3.167400 --1.480400 57.287800 -3.167400 --1.435700 55.057400 -2.884500 -0.000000 54.522099 -2.187600 --0.509500 56.862801 -2.081200 --1.435700 55.057400 -2.884500 --1.480400 57.287800 -3.167400 --1.507500 57.978802 -4.806700 --2.321200 55.471001 -5.570800 --5.259600 15.490400 -9.599400 --0.294400 16.169500 -7.962700 --2.020300 14.610600 -8.278800 --0.294400 16.169500 -7.962700 --1.221800 14.450400 -2.004100 --0.971400 14.644800 -6.706400 --5.308800 13.910900 -3.738700 --1.766900 13.754900 -2.918700 --1.221800 14.450400 -2.004100 --6.498700 14.643000 -4.000600 --4.649800 14.945700 -8.785600 --5.308800 13.910900 -3.738700 --6.498700 14.643000 -4.000600 --5.259600 15.490400 -9.599400 --1.957400 20.620800 -1.217700 --0.899900 21.410400 -8.342700 --0.835600 22.853901 -8.203000 --2.189200 21.987900 -1.481800 --7.174300 32.815300 -5.168000 --6.542300 35.480598 -4.902800 --5.283200 35.952900 -7.814600 --4.970000 33.082802 -8.871300 --5.598500 31.822901 -1.405400 --6.542300 35.480598 -4.902800 --7.174300 32.815300 -5.168000 --4.685700 36.664101 -1.616400 --5.598500 31.822901 -1.405400 --3.798500 31.552500 -0.386300 --2.225300 60.301201 -1.334400 --2.209500 61.230499 -1.515000 --2.484800 60.667999 -2.078300 --8.927200 49.128502 -4.128200 --7.813100 49.342701 -3.886900 --8.184300 53.108700 -3.320400 --9.508400 52.403099 -3.672700 --8.184300 53.108700 -3.320400 --8.747800 53.770199 -7.353300 --9.827700 52.989700 -7.188500 --9.508400 52.403099 -3.672700 --8.747800 53.770199 -7.353300 --7.252500 54.524502 -7.615000 --6.775800 50.206501 -7.534500 --8.927200 49.128502 -4.128200 --9.508400 52.403099 -3.672700 --15.636800 49.715099 -4.015700 --14.977100 45.689201 -4.821000 --6.624100 53.529800 -2.653700 --3.773800 51.093601 -1.034300 --1.435700 55.057400 -2.884500 --7.252500 54.524502 -7.615000 --2.321200 55.471001 -5.570800 --7.252500 54.524502 -7.615000 --1.435700 55.057400 -2.884500 --2.209500 61.230499 -1.515000 --2.505800 61.413601 -3.333900 --2.484800 60.667999 -2.078300 --2.484800 60.667999 -2.078300 --2.505800 61.413601 -3.333900 --2.361600 58.652599 -3.405400 --2.209500 61.230499 -1.515000 --1.340700 61.343498 -1.024900 --1.792100 61.563202 -0.648200 --3.061600 3.537800 -3.461700 --3.735600 1.816900 0.228400 --1.568700 1.981700 -0.627100 --1.553600 3.059500 -4.173500 --0.626000 0.031700 -8.336200 --1.553600 3.059500 -4.173500 --1.568700 1.981700 -0.627100 --1.825200 -0.024100 0.601200 --1.825200 -0.024100 0.601200 --3.769300 -0.009000 1.132900 --1.712600 0.024900 -9.195700 --0.626000 0.031700 -8.336200 --1.712600 0.024900 -9.195700 --2.020300 14.610600 -8.278800 --0.971400 14.644800 -6.706400 --0.626000 0.031700 -8.336200 --1.568700 1.981700 -0.627100 --3.735600 1.816900 0.228400 --3.769300 -0.009000 1.132900 --1.825200 -0.024100 0.601200 --4.089400 2.633000 -5.031300 --3.252600 0.001600 -8.591000 --5.176800 -0.025000 -0.598300 --5.390300 1.568200 -1.670300 --3.769300 -0.009000 1.132900 --3.735600 1.816900 0.228400 --5.390300 1.568200 -1.670300 --5.176800 -0.025000 -0.598300 --5.390300 1.568200 -1.670300 --3.735600 1.816900 0.228400 --3.061600 3.537800 -3.461700 --4.089400 2.633000 -5.031300 --3.061600 3.537800 -3.461700 --1.766900 13.754900 -2.918700 --5.308800 13.910900 -3.738700 --4.089400 2.633000 -5.031300 --2.020300 14.610600 -8.278800 --4.649800 14.945700 -8.785600 --5.259600 15.490400 -9.599400 --2.020300 14.610600 -8.278800 --0.294400 16.169500 -7.962700 --0.971400 14.644800 -6.706400 --5.426000 21.341299 -8.131100 --6.827700 20.858999 -3.051400 --6.824000 22.193899 -3.254300 --5.317800 22.936800 -8.014600 --0.845100 29.891001 -9.491500 --0.835600 22.853901 -8.203000 --5.317800 22.936800 -8.014600 --5.595300 29.761600 -8.491100 --1.957400 20.620800 -1.217700 --2.189200 21.987900 -1.481800 --6.824000 22.193899 -3.254300 --6.827700 20.858999 -3.051400 --0.605400 59.453602 0.006800 -0.000000 59.375900 0.272700 --0.226300 59.631802 0.717000 --21.936399 43.055199 -3.733600 --22.348700 46.932201 -2.822400 --23.323000 46.228001 -3.425200 --23.265499 44.290199 -3.614200 --22.105101 44.119598 -7.074000 --23.273100 44.479099 -6.170500 --23.881300 46.267799 -5.995500 --23.337700 47.268200 -6.945000 --22.348700 46.932201 -2.822400 --23.337700 47.268200 -6.945000 --23.881300 46.267799 -5.995500 --23.323000 46.228001 -3.425200 --21.936399 43.055199 -3.733600 --23.265499 44.290199 -3.614200 --23.273100 44.479099 -6.170500 --22.105101 44.119598 -7.074000 --23.323000 46.228001 -3.425200 --24.935400 45.742901 -3.288800 --24.446100 44.099098 -3.039500 --23.265499 44.290199 -3.614200 --23.273100 44.479099 -6.170500 --25.718901 44.407902 -5.989100 --25.982700 45.641201 -5.974700 --23.881300 46.267799 -5.995500 --23.881300 46.267799 -5.995500 --25.982700 45.641201 -5.974700 --24.935400 45.742901 -3.288800 --23.323000 46.228001 -3.425200 --23.265499 44.290199 -3.614200 --24.446100 44.099098 -3.039500 --25.718901 44.407902 -5.989100 --23.273100 44.479099 -6.170500 --3.798500 31.552500 -0.386300 -0.000000 31.552500 0.128500 -0.000000 37.009800 0.550700 --4.685700 36.664101 -1.616400 --27.058001 43.733101 -1.471100 --28.100901 44.177299 -2.470000 --27.637899 42.321201 -1.984400 --26.775499 43.007000 -1.492900 --27.102699 45.320202 -5.735100 --25.982700 45.641201 -5.974700 --25.718901 44.407902 -5.989100 --26.246300 42.901402 -5.383600 --24.935400 45.742901 -3.288800 --25.982700 45.641201 -5.974700 --27.102699 45.320202 -5.735100 --26.753901 45.398300 -2.858600 --24.446100 44.099098 -3.039500 --26.246300 42.901402 -5.383600 --25.718901 44.407902 -5.989100 --28.380600 42.330502 -3.056600 --27.637899 42.321201 -1.984400 --28.100901 44.177299 -2.470000 --28.697901 44.238201 -3.477500 --28.380600 42.330502 -3.056600 --28.697901 44.238201 -3.477500 --28.543800 44.178001 -4.651400 --28.292801 42.543098 -4.446800 --26.753901 45.398300 -2.858600 --28.697901 44.238201 -3.477500 --28.100901 44.177299 -2.470000 --24.935400 45.742901 -3.288800 --26.117701 44.487900 -2.198700 --25.587200 43.557701 -2.038700 --24.446100 44.099098 -3.039500 --24.446100 44.099098 -3.039500 --25.587200 43.557701 -2.038700 --25.491899 42.827301 -2.370100 --26.246300 42.901402 -5.383600 --26.753901 45.398300 -2.858600 --26.117701 44.487900 -2.198700 --24.935400 45.742901 -3.288800 -0.000000 31.552500 0.128500 --3.798500 31.552500 -0.386300 --3.463700 23.872801 -0.356700 -0.000000 24.132099 -0.356700 --2.225300 60.301201 -1.334400 --2.043500 58.694401 -1.722000 --0.793500 58.611801 -0.022400 --0.793500 58.611801 -0.022400 --2.043500 58.694401 -1.722000 --2.071800 58.080299 -1.837600 --0.860300 57.339199 -0.345300 --2.071800 58.080299 -1.837600 --1.480400 57.287800 -3.167400 --0.509500 56.862801 -2.081200 --0.860300 57.339199 -0.345300 --0.179900 61.274700 0.058500 -0.000000 61.912998 -0.048000 --0.785400 61.539799 -0.048800 --15.884600 46.520500 -7.855800 --17.208200 49.477699 -7.512200 --16.136200 50.023998 -7.546200 --14.885000 46.974701 -7.946000 --15.636800 49.715099 -4.015700 --16.136200 50.023998 -7.546200 --17.208200 49.477699 -7.512200 --16.810101 49.139900 -3.928800 --16.192200 44.960400 -4.877100 --15.884600 46.520500 -7.855800 --14.885000 46.974701 -7.946000 --14.977100 45.689201 -4.821000 --16.810101 49.139900 -3.928800 --16.192200 44.960400 -4.877100 --14.977100 45.689201 -4.821000 --15.636800 49.715099 -4.015700 --13.779500 47.417198 -7.715300 --14.989100 50.565300 -7.297200 --9.827700 52.989700 -7.188500 --8.756500 49.321098 -7.632900 --15.636800 49.715099 -4.015700 --14.989100 50.565300 -7.297200 --16.136200 50.023998 -7.546200 --13.779500 47.417198 -7.715300 --14.977100 45.689201 -4.821000 --14.885000 46.974701 -7.946000 --0.971400 14.644800 -6.706400 --1.221800 14.450400 -2.004100 --1.766900 13.754900 -2.918700 --26.117701 44.487900 -2.198700 --27.058001 43.733101 -1.471100 --26.775499 43.007000 -1.492900 --25.587200 43.557701 -2.038700 --25.587200 43.557701 -2.038700 --26.775499 43.007000 -1.492900 --27.637899 42.321201 -1.984400 --25.491899 42.827301 -2.370100 --26.117701 44.487900 -2.198700 --28.100901 44.177299 -2.470000 --27.058001 43.733101 -1.471100 --8.184300 53.108700 -3.320400 --7.813100 49.342701 -3.886900 --6.624100 53.529800 -2.653700 --8.747800 53.770199 -7.353300 --6.775800 50.206501 -7.534500 --8.756500 49.321098 -7.632900 --9.827700 52.989700 -7.188500 --28.543800 44.178001 -4.651400 --28.697901 44.238201 -3.477500 --26.753901 45.398300 -2.858600 --27.102699 45.320202 -5.735100 --26.246300 42.901402 -5.383600 --28.380600 42.330502 -3.056600 --28.292801 42.543098 -4.446800 --28.100901 44.177299 -2.470000 --26.117701 44.487900 -2.198700 --26.753901 45.398300 -2.858600 --1.712600 0.024900 -9.195700 --3.769300 -0.009000 1.132900 --5.176800 -0.025000 -0.598300 --3.252600 0.001600 -8.591000 -0.000000 61.912998 -0.048000 -0.000000 62.775902 -0.355700 --0.785400 61.539799 -0.048800 --0.340300 31.400700 -9.922000 --0.425600 30.069099 -1.503600 --0.845100 29.891001 -9.491500 -0.000000 54.522099 -2.187600 -0.000000 56.862801 -2.081200 --0.509500 56.862801 -2.081200 --0.509500 56.862801 -2.081200 -0.000000 56.862801 -2.081200 -0.000000 57.320400 0.190300 --0.860300 57.339199 -0.345300 --5.598500 31.822901 -1.405400 --7.453900 29.910801 -4.782000 --6.824000 22.193899 -3.254300 --6.824000 22.193899 -3.254300 --7.453900 29.910801 -4.782000 --5.595300 29.761600 -8.491100 --5.317800 22.936800 -8.014600 --3.798500 31.552500 -0.386300 --5.598500 31.822901 -1.405400 --6.824000 22.193899 -3.254300 --2.189200 21.987900 -1.481800 --0.340300 31.400700 -9.922000 --0.845100 29.891001 -9.491500 --5.595300 29.761600 -8.491100 --4.970000 33.082802 -8.871300 --0.835600 22.853901 -8.203000 --0.845100 29.891001 -9.491500 --0.425600 30.069099 -1.503600 --2.189200 21.987900 -1.481800 --2.162800 35.743500 -9.599900 --0.340300 31.400700 -9.922000 --4.970000 33.082802 -8.871300 --5.283200 35.952900 -7.814600 --5.283200 35.952900 -7.814600 --6.542300 35.480598 -4.902800 --5.919200 37.619099 -4.570300 --5.919200 37.619099 -4.570300 --6.542300 35.480598 -4.902800 --5.598500 31.822901 -1.405400 --4.685700 36.664101 -1.616400 --0.474100 61.294899 -0.607800 --1.340700 61.343498 -1.024900 --2.225300 60.301201 -1.334400 --0.596000 60.268700 -0.255900 --1.340700 61.343498 -1.024900 --0.474100 61.294899 -0.607800 --0.785400 61.539799 -0.048800 --1.792100 61.563202 -0.648200 -0.000000 45.235802 -8.516300 -0.000000 38.221600 -8.073300 --2.827600 38.171799 -8.088300 --5.495700 46.043098 -6.732400 --0.425600 30.069099 -1.503600 --3.798500 31.552500 -0.386300 --2.189200 21.987900 -1.481800 -0.000000 31.547001 -9.939100 -0.000000 30.215401 -1.522000 --0.425600 30.069099 -1.503600 --0.340300 31.400700 -9.922000 --21.061199 44.183601 -7.611200 --22.585199 48.327702 -7.594400 --17.208200 49.477699 -7.512200 --15.884600 46.520500 -7.855800 --22.348700 46.932201 -2.822400 --22.585199 48.327702 -7.594400 --23.337700 47.268200 -6.945000 --21.061199 44.183601 -7.611200 --21.936399 43.055199 -3.733600 --22.105101 44.119598 -7.074000 -0.000000 59.375900 0.272700 -0.226300 59.631802 0.717000 --0.226300 59.631802 0.717000 --0.163800 60.672798 0.405300 --0.226300 59.631802 0.717000 -0.226300 59.631802 0.717000 -0.163800 60.672798 0.405300 --0.340300 31.400700 -9.922000 --2.162800 35.743500 -9.599900 -0.000000 35.795200 -9.599900 -0.000000 31.547001 -9.939100 --5.919200 37.619099 -4.570300 --2.827600 38.171799 -8.088300 --2.162800 35.743500 -9.599900 --5.283200 35.952900 -7.814600 --28.543800 44.178001 -4.651400 --27.102699 45.320202 -5.735100 --26.246300 42.901402 -5.383600 --28.292801 42.543098 -4.446800 --25.491899 42.827301 -2.370100 --27.637899 42.321201 -1.984400 --28.380600 42.330502 -3.056600 --26.246300 42.901402 -5.383600 --25.491899 42.827301 -2.370100 --28.380600 42.330502 -3.056600 --0.179900 61.274700 0.058500 --0.163800 60.672798 0.405300 -0.163800 60.672798 0.405300 -0.179900 61.274700 0.058500 -0.000000 61.912998 -0.048000 --0.179900 61.274700 0.058500 -0.179900 61.274700 0.058500 --2.162800 35.743500 -9.599900 --2.827600 38.171799 -8.088300 -0.000000 38.221600 -8.073300 -0.000000 35.795200 -9.599900 -4.620900 14.945700 -8.516100 -3.252600 0.001600 -8.591000 -1.712600 0.024900 -9.195700 -1.456400 14.610600 -8.695100 -4.089400 2.633000 -5.031300 -3.252600 0.001600 -8.591000 -4.620900 14.945700 -8.516100 -5.308800 13.910900 -3.738700 -1.553600 3.059500 -4.173500 -3.061600 3.537800 -3.461700 -1.766900 13.754900 -2.918700 -1.553600 3.059500 -4.173500 -1.766900 13.754900 -2.918700 -1.239800 14.644800 -6.465300 -0.626000 0.031700 -8.336200 -5.495700 46.043098 -6.732400 -6.029500 46.188801 -3.956000 -5.919200 37.619099 -4.570300 -2.827600 38.171799 -8.088300 -4.685700 36.664101 -1.616400 -5.919200 37.619099 -4.570300 -6.029500 46.188801 -3.956000 -4.298500 47.001099 -0.058900 -6.775800 50.206501 -7.534500 -0.000000 50.037800 -9.413700 -0.000000 53.738098 -8.986800 -7.252500 54.524502 -7.615000 -7.252500 54.524502 -7.615000 -6.624100 53.529800 -2.653700 -8.184300 53.108700 -3.320400 -8.747800 53.770199 -7.353300 -9.827700 52.989700 -7.188500 -9.508400 52.403099 -3.672700 -15.636800 49.715099 -4.015700 -14.989100 50.565300 -7.297200 -0.000000 37.009800 0.550700 -4.685700 36.664101 -1.616400 -4.298500 47.001099 -0.058900 -0.000000 47.287498 1.094200 -0.000000 53.738098 -8.986800 -0.000000 55.950600 -7.250100 -2.321200 55.471001 -5.570800 -7.252500 54.524502 -7.615000 -3.773800 51.093601 -1.034300 -4.298500 47.001099 -0.058900 -6.029500 46.188801 -3.956000 -6.624100 53.529800 -2.653700 -6.624100 53.529800 -2.653700 -6.029500 46.188801 -3.956000 -7.813100 49.342701 -3.886900 -0.000000 50.880199 0.110000 -0.000000 47.287498 1.094200 -4.298500 47.001099 -0.058900 -3.773800 51.093601 -1.034300 -16.136200 50.023998 -7.546200 -14.885000 46.974701 -7.946000 -13.779500 47.417198 -7.715300 -14.989100 50.565300 -7.297200 -13.779500 47.417198 -7.715300 -14.977100 45.689201 -4.821000 -8.927200 49.128502 -4.128200 -8.756500 49.321098 -7.632900 -17.208200 49.477699 -7.512200 -16.810101 49.139900 -3.928800 -22.348700 46.932201 -2.822400 -22.585199 48.327702 -7.594400 -21.936399 43.055199 -3.733600 -22.348700 46.932201 -2.822400 -16.810101 49.139900 -3.928800 -16.192200 44.960400 -4.877100 -22.105101 44.119598 -7.074000 -21.061199 44.183601 -7.611200 -22.585199 48.327702 -7.594400 -23.337700 47.268200 -6.945000 -15.884600 46.520500 -7.855800 -21.061199 44.183601 -7.611200 -21.936399 43.055199 -3.733600 -16.192200 44.960400 -4.877100 -5.598500 31.822901 -1.404300 -7.453900 29.910801 -4.780100 -7.174300 32.815300 -5.167300 -4.970000 33.082802 -8.871900 -7.174300 32.815300 -5.167300 -7.453900 29.910801 -4.780100 -5.595300 29.761600 -8.492500 -6.827700 20.858999 -3.044800 -6.194700 19.576300 -3.478600 -5.426000 21.341299 -8.132600 -0.835600 22.853901 -8.210700 -5.317800 22.936800 -8.016200 -5.426000 21.341299 -8.132600 -0.899900 21.410400 -8.349400 -0.899900 21.410400 -8.349400 -1.853000 19.164200 -1.371600 -1.957400 20.620800 -1.211500 -6.194700 19.576300 -3.478600 -6.827700 20.858999 -3.044800 -1.957400 20.620800 -1.211500 -1.853000 19.164200 -1.371600 -5.117200 15.490400 -9.679700 -0.134100 16.169500 -9.174700 -0.899900 21.410400 -8.349400 -5.426000 21.341299 -8.132600 -0.134100 16.169500 -9.174700 -1.716700 14.450400 -2.459200 -1.853000 19.164200 -1.371600 -0.899900 21.410400 -8.349400 -1.853000 19.164200 -1.371600 -1.716700 14.450400 -2.459200 -6.069200 14.643000 -3.762300 -6.194700 19.576300 -3.478600 -6.069200 14.643000 -3.762300 -5.117200 15.490400 -9.679700 -5.426000 21.341299 -8.132600 -6.194700 19.576300 -3.478600 -7.813100 49.342701 -3.886900 -6.029500 46.188801 -3.956000 -5.495700 46.043098 -6.732400 -6.775800 50.206501 -7.534500 -8.756500 49.321098 -7.632900 -8.927200 49.128502 -4.128200 -7.813100 49.342701 -3.886900 -6.775800 50.206501 -7.534500 -5.495700 46.043098 -6.732400 -0.000000 45.235802 -8.516300 -0.000000 50.037800 -9.413700 -6.775800 50.206501 -7.534500 -3.773800 51.093601 -1.034300 -1.435700 55.057400 -2.884500 -0.000000 54.522099 -2.187600 -0.000000 50.880199 0.110000 -0.163800 60.672798 0.405300 -0.226300 59.631802 0.717000 -0.605400 59.453602 0.006800 -0.596000 60.268700 -0.255900 -0.000000 59.375900 0.272700 -0.000000 58.735298 0.237300 -0.793500 58.611801 -0.022400 -0.605400 59.453602 0.006800 -1.340700 61.343498 -1.024900 -2.225300 60.301201 -1.334400 -2.209500 61.230499 -1.515000 -0.474100 61.294899 -0.607800 -0.785400 61.539799 -0.048800 -0.179900 61.274700 0.058500 -0.163800 60.672798 0.405300 -0.596000 60.268700 -0.255900 -0.474100 61.294899 -0.607800 -0.179900 61.274700 0.058500 -0.785400 61.539799 -0.048800 -1.792100 61.563202 -0.648200 -1.901400 62.898899 -1.262500 -0.000000 62.775902 -0.355700 -1.901400 62.898899 -1.262500 -1.792100 61.563202 -0.648200 -2.209500 61.230499 -1.515000 -2.505800 61.413601 -3.333900 -2.071800 58.080299 -1.837600 -2.361600 58.652599 -3.405400 -2.043500 58.694401 -1.722000 -2.361600 58.652599 -3.405400 -2.071800 58.080299 -1.837600 -1.480400 57.287800 -3.167400 -2.361600 58.652599 -3.405400 -2.484800 60.667999 -2.078300 -2.225300 60.301201 -1.334400 -2.043500 58.694401 -1.722000 -0.596000 60.268700 -0.255900 -0.605400 59.453602 0.006800 -0.793500 58.611801 -0.022400 -2.225300 60.301201 -1.334400 -0.793500 58.611801 -0.022400 -0.000000 58.735298 0.237300 -0.000000 57.320400 0.190300 -0.860300 57.339199 -0.345300 -2.361600 58.652599 -3.405400 -1.480400 57.287800 -3.167400 -1.507500 57.978802 -4.806700 -1.480400 57.287800 -3.167400 -0.509500 56.862801 -2.081200 -0.000000 54.522099 -2.187600 -1.435700 55.057400 -2.884500 -1.435700 55.057400 -2.884500 -2.321200 55.471001 -5.570800 -1.507500 57.978802 -4.806700 -1.480400 57.287800 -3.167400 -5.117200 15.490400 -9.679700 -1.456400 14.610600 -8.695100 -0.134100 16.169500 -9.174700 -0.134100 16.169500 -9.174700 -1.239800 14.644800 -6.465300 -1.716700 14.450400 -2.459200 -5.308800 13.910900 -3.738700 -6.069200 14.643000 -3.762300 -1.716700 14.450400 -2.459200 -1.766900 13.754900 -2.918700 -4.620900 14.945700 -8.516100 -5.117200 15.490400 -9.679700 -6.069200 14.643000 -3.762300 -5.308800 13.910900 -3.738700 -1.957400 20.620800 -1.211500 -2.189200 21.987900 -1.483700 -0.835600 22.853901 -8.210700 -0.899900 21.410400 -8.349400 -7.174300 32.815300 -5.167300 -4.970000 33.082802 -8.871900 -5.283200 35.952900 -7.814600 -6.542300 35.480598 -4.902800 -5.598500 31.822901 -1.404300 -7.174300 32.815300 -5.167300 -6.542300 35.480598 -4.902800 -4.685700 36.664101 -1.616400 -3.798500 31.552500 -0.388900 -5.598500 31.822901 -1.404300 -2.225300 60.301201 -1.334400 -2.484800 60.667999 -2.078300 -2.209500 61.230499 -1.515000 -8.927200 49.128502 -4.128200 -9.508400 52.403099 -3.672700 -8.184300 53.108700 -3.320400 -7.813100 49.342701 -3.886900 -8.184300 53.108700 -3.320400 -9.508400 52.403099 -3.672700 -9.827700 52.989700 -7.188500 -8.747800 53.770199 -7.353300 -8.747800 53.770199 -7.353300 -6.775800 50.206501 -7.534500 -7.252500 54.524502 -7.615000 -8.927200 49.128502 -4.128200 -14.977100 45.689201 -4.821000 -15.636800 49.715099 -4.015700 -9.508400 52.403099 -3.672700 -1.435700 55.057400 -2.884500 -3.773800 51.093601 -1.034300 -6.624100 53.529800 -2.653700 -7.252500 54.524502 -7.615000 -2.321200 55.471001 -5.570800 -1.435700 55.057400 -2.884500 -7.252500 54.524502 -7.615000 -2.209500 61.230499 -1.515000 -2.484800 60.667999 -2.078300 -2.505800 61.413601 -3.333900 -2.484800 60.667999 -2.078300 -2.361600 58.652599 -3.405400 -2.505800 61.413601 -3.333900 -2.209500 61.230499 -1.515000 -1.792100 61.563202 -0.648200 -1.340700 61.343498 -1.024900 -3.061600 3.537800 -3.461700 -1.553600 3.059500 -4.173500 -1.568700 1.981700 -0.627100 -3.735600 1.816900 0.228400 -0.626000 0.031700 -8.336200 -1.825200 -0.024100 0.601200 -1.568700 1.981700 -0.627100 -1.553600 3.059500 -4.173500 -1.825200 -0.024100 0.601200 -0.626000 0.031700 -8.336200 -1.712600 0.024900 -9.195700 -3.769300 -0.009000 1.132900 -1.712600 0.024900 -9.195700 -0.626000 0.031700 -8.336200 -1.239800 14.644800 -6.465300 -1.456400 14.610600 -8.695100 -1.568700 1.981700 -0.627100 -1.825200 -0.024100 0.601200 -3.769300 -0.009000 1.132900 -3.735600 1.816900 0.228400 -4.089400 2.633000 -5.031300 -5.390300 1.568200 -1.670300 -5.176800 -0.025000 -0.598300 -3.252600 0.001600 -8.591000 -3.769300 -0.009000 1.132900 -5.176800 -0.025000 -0.598300 -5.390300 1.568200 -1.670300 -3.735600 1.816900 0.228400 -5.390300 1.568200 -1.670300 -4.089400 2.633000 -5.031300 -3.061600 3.537800 -3.461700 -3.735600 1.816900 0.228400 -3.061600 3.537800 -3.461700 -4.089400 2.633000 -5.031300 -5.308800 13.910900 -3.738700 -1.766900 13.754900 -2.918700 -5.117200 15.490400 -9.679700 -4.620900 14.945700 -8.516100 -1.456400 14.610600 -8.695100 -1.456400 14.610600 -8.695100 -1.239800 14.644800 -6.465300 -0.134100 16.169500 -9.174700 -5.426000 21.341299 -8.132600 -5.317800 22.936800 -8.016200 -6.824000 22.193899 -3.251500 -6.827700 20.858999 -3.044800 -0.845100 29.891001 -9.498900 -5.595300 29.761600 -8.492500 -5.317800 22.936800 -8.016200 -0.835600 22.853901 -8.210700 -1.957400 20.620800 -1.211500 -6.827700 20.858999 -3.044800 -6.824000 22.193899 -3.251500 -2.189200 21.987900 -1.483700 -0.605400 59.453602 0.006800 -0.226300 59.631802 0.717000 -0.000000 59.375900 0.272700 -21.936399 43.055199 -3.733600 -23.265499 44.290199 -3.614200 -23.323000 46.228001 -3.425200 -22.348700 46.932201 -2.822400 -22.105101 44.119598 -7.074000 -23.337700 47.268200 -6.945000 -23.881300 46.267799 -5.995500 -23.273100 44.479099 -6.170500 -22.348700 46.932201 -2.822400 -23.323000 46.228001 -3.425200 -23.881300 46.267799 -5.995500 -23.337700 47.268200 -6.945000 -21.936399 43.055199 -3.733600 -22.105101 44.119598 -7.074000 -23.273100 44.479099 -6.170500 -23.265499 44.290199 -3.614200 -23.323000 46.228001 -3.425200 -23.265499 44.290199 -3.614200 -24.446100 44.099098 -3.039500 -24.935400 45.742901 -3.288800 -23.273100 44.479099 -6.170500 -23.881300 46.267799 -5.995500 -25.982700 45.641201 -5.974700 -25.718901 44.407902 -5.989100 -23.881300 46.267799 -5.995500 -23.323000 46.228001 -3.425200 -24.935400 45.742901 -3.288800 -25.982700 45.641201 -5.974700 -23.265499 44.290199 -3.614200 -23.273100 44.479099 -6.170500 -25.718901 44.407902 -5.989100 -24.446100 44.099098 -3.039500 -3.798500 31.552500 -0.388900 -4.685700 36.664101 -1.616400 -0.000000 37.009800 0.550700 -0.000000 31.552500 0.128500 -27.058001 43.733101 -1.471100 -26.775499 43.007000 -1.492900 -27.637899 42.321201 -1.984400 -28.100901 44.177299 -2.470000 -27.102699 45.320202 -5.735100 -26.246300 42.901402 -5.383600 -25.718901 44.407902 -5.989100 -25.982700 45.641201 -5.974700 -24.935400 45.742901 -3.288800 -26.753901 45.398300 -2.858600 -27.102699 45.320202 -5.735100 -25.982700 45.641201 -5.974700 -24.446100 44.099098 -3.039500 -25.718901 44.407902 -5.989100 -26.246300 42.901402 -5.383600 -28.380600 42.330502 -3.056600 -28.697901 44.238201 -3.477500 -28.100901 44.177299 -2.470000 -27.637899 42.321201 -1.984400 -28.380600 42.330502 -3.056600 -28.292801 42.543098 -4.446800 -28.543800 44.178001 -4.651400 -28.697901 44.238201 -3.477500 -26.753901 45.398300 -2.858600 -28.100901 44.177299 -2.470000 -28.697901 44.238201 -3.477500 -24.935400 45.742901 -3.288800 -24.446100 44.099098 -3.039500 -25.587200 43.557701 -2.038700 -26.117701 44.487900 -2.198700 -24.446100 44.099098 -3.039500 -26.246300 42.901402 -5.383600 -25.491899 42.827301 -2.370100 -25.587200 43.557701 -2.038700 -26.753901 45.398300 -2.858600 -24.935400 45.742901 -3.288800 -26.117701 44.487900 -2.198700 -0.000000 31.552500 0.128500 -0.000000 24.132099 -0.356700 -3.463700 23.872801 -0.356700 -3.798500 31.552500 -0.388900 -2.225300 60.301201 -1.334400 -0.793500 58.611801 -0.022400 -2.043500 58.694401 -1.722000 -0.793500 58.611801 -0.022400 -0.860300 57.339199 -0.345300 -2.071800 58.080299 -1.837600 -2.043500 58.694401 -1.722000 -2.071800 58.080299 -1.837600 -0.860300 57.339199 -0.345300 -0.509500 56.862801 -2.081200 -1.480400 57.287800 -3.167400 -0.179900 61.274700 0.058500 -0.785400 61.539799 -0.048800 -0.000000 61.912998 -0.048000 -15.884600 46.520500 -7.855800 -14.885000 46.974701 -7.946000 -16.136200 50.023998 -7.546200 -17.208200 49.477699 -7.512200 -15.636800 49.715099 -4.015700 -16.810101 49.139900 -3.928800 -17.208200 49.477699 -7.512200 -16.136200 50.023998 -7.546200 -16.192200 44.960400 -4.877100 -14.977100 45.689201 -4.821000 -14.885000 46.974701 -7.946000 -15.884600 46.520500 -7.855800 -16.810101 49.139900 -3.928800 -15.636800 49.715099 -4.015700 -14.977100 45.689201 -4.821000 -16.192200 44.960400 -4.877100 -13.779500 47.417198 -7.715300 -8.756500 49.321098 -7.632900 -9.827700 52.989700 -7.188500 -14.989100 50.565300 -7.297200 -15.636800 49.715099 -4.015700 -16.136200 50.023998 -7.546200 -14.989100 50.565300 -7.297200 -13.779500 47.417198 -7.715300 -14.885000 46.974701 -7.946000 -14.977100 45.689201 -4.821000 -1.239800 14.644800 -6.465300 -1.766900 13.754900 -2.918700 -1.716700 14.450400 -2.459200 -26.117701 44.487900 -2.198700 -25.587200 43.557701 -2.038700 -26.775499 43.007000 -1.492900 -27.058001 43.733101 -1.471100 -25.587200 43.557701 -2.038700 -25.491899 42.827301 -2.370100 -27.637899 42.321201 -1.984400 -26.775499 43.007000 -1.492900 -26.117701 44.487900 -2.198700 -27.058001 43.733101 -1.471100 -28.100901 44.177299 -2.470000 -8.184300 53.108700 -3.320400 -6.624100 53.529800 -2.653700 -7.813100 49.342701 -3.886900 -8.747800 53.770199 -7.353300 -9.827700 52.989700 -7.188500 -8.756500 49.321098 -7.632900 -6.775800 50.206501 -7.534500 -28.543800 44.178001 -4.651400 -27.102699 45.320202 -5.735100 -26.753901 45.398300 -2.858600 -28.697901 44.238201 -3.477500 -26.246300 42.901402 -5.383600 -28.292801 42.543098 -4.446800 -28.380600 42.330502 -3.056600 -28.100901 44.177299 -2.470000 -26.753901 45.398300 -2.858600 -26.117701 44.487900 -2.198700 -1.712600 0.024900 -9.195700 -3.252600 0.001600 -8.591000 -5.176800 -0.025000 -0.598300 -3.769300 -0.009000 1.132900 -0.000000 61.912998 -0.048000 -0.785400 61.539799 -0.048800 -0.000000 62.775902 -0.355700 -0.340300 31.400700 -9.928000 -0.845100 29.891001 -9.498900 -0.425600 30.069099 -1.507500 -0.509500 56.862801 -2.081200 -0.509500 56.862801 -2.081200 -0.860300 57.339199 -0.345300 -0.000000 57.320400 0.190300 -0.000000 56.862801 -2.081200 -5.598500 31.822901 -1.404300 -6.824000 22.193899 -3.251500 -7.453900 29.910801 -4.780100 -6.824000 22.193899 -3.251500 -5.317800 22.936800 -8.016200 -5.595300 29.761600 -8.492500 -7.453900 29.910801 -4.780100 -3.798500 31.552500 -0.388900 -2.189200 21.987900 -1.483700 -6.824000 22.193899 -3.251500 -5.598500 31.822901 -1.404300 -0.340300 31.400700 -9.928000 -4.970000 33.082802 -8.871900 -5.595300 29.761600 -8.492500 -0.845100 29.891001 -9.498900 -0.835600 22.853901 -8.210700 -2.189200 21.987900 -1.483700 -0.425600 30.069099 -1.507500 -0.845100 29.891001 -9.498900 -2.162800 35.743500 -9.599900 -5.283200 35.952900 -7.814600 -4.970000 33.082802 -8.871900 -0.340300 31.400700 -9.928000 -5.283200 35.952900 -7.814600 -5.919200 37.619099 -4.570300 -6.542300 35.480598 -4.902800 -5.919200 37.619099 -4.570300 -4.685700 36.664101 -1.616400 -5.598500 31.822901 -1.404300 -6.542300 35.480598 -4.902800 -0.474100 61.294899 -0.607800 -0.596000 60.268700 -0.255900 -2.225300 60.301201 -1.334400 -1.340700 61.343498 -1.024900 -1.340700 61.343498 -1.024900 -1.792100 61.563202 -0.648200 -0.785400 61.539799 -0.048800 -0.474100 61.294899 -0.607800 -0.000000 45.235802 -8.516300 -5.495700 46.043098 -6.732400 -2.827600 38.171799 -8.088300 -0.000000 38.221600 -8.073300 -0.425600 30.069099 -1.507500 -2.189200 21.987900 -1.483700 -3.798500 31.552500 -0.388900 -0.000000 31.547001 -9.939100 -0.340300 31.400700 -9.928000 -0.425600 30.069099 -1.507500 -0.000000 30.215401 -1.522000 -21.061199 44.183601 -7.611200 -15.884600 46.520500 -7.855800 -17.208200 49.477699 -7.512200 -22.585199 48.327702 -7.594400 -22.348700 46.932201 -2.822400 -23.337700 47.268200 -6.945000 -22.585199 48.327702 -7.594400 -21.061199 44.183601 -7.611200 -22.105101 44.119598 -7.074000 -21.936399 43.055199 -3.733600 -0.340300 31.400700 -9.928000 -0.000000 31.547001 -9.939100 -0.000000 35.795200 -9.599900 -2.162800 35.743500 -9.599900 -5.919200 37.619099 -4.570300 -5.283200 35.952900 -7.814600 -2.162800 35.743500 -9.599900 -2.827600 38.171799 -8.088300 -28.543800 44.178001 -4.651400 -28.292801 42.543098 -4.446800 -26.246300 42.901402 -5.383600 -27.102699 45.320202 -5.735100 -25.491899 42.827301 -2.370100 -28.380600 42.330502 -3.056600 -27.637899 42.321201 -1.984400 -26.246300 42.901402 -5.383600 -28.380600 42.330502 -3.056600 -25.491899 42.827301 -2.370100 -2.162800 35.743500 -9.599900 -0.000000 35.795200 -9.599900 -0.000000 38.221600 -8.073300 -2.827600 38.171799 -8.088300 -0.706900 62.538601 -0.289700 -1.838200 62.255798 -0.802600 -1.901400 63.532299 -1.247600 -0.672300 63.485901 -0.421800 -1.901400 63.532299 -1.247600 -1.838200 62.255798 -0.802600 -3.194200 60.597198 -3.460400 -2.758700 63.532299 -3.348800 -2.758700 63.532299 -3.348800 -3.194200 60.597198 -3.460400 -3.446000 60.597198 -5.980300 -3.010600 63.532299 -5.868700 -3.194200 60.597198 -3.460400 -1.838200 62.255798 -0.802600 -2.336800 60.597198 -1.072500 -2.130500 53.628601 -1.359200 -4.088800 54.879799 -3.460400 -3.194200 60.597198 -3.460400 -2.336800 60.597198 -1.072500 -4.088800 54.879799 -3.460400 -4.340700 55.234299 -6.210400 -3.446000 60.597198 -5.980300 -3.194200 60.597198 -3.460400 -3.010600 63.532299 -5.868700 -3.446000 60.597198 -5.980300 -2.517200 60.597198 -7.879200 -1.932100 63.532299 -7.311200 -3.446000 60.597198 -5.980300 -4.340700 55.234299 -6.210400 -2.990300 54.496300 -8.246000 -2.517200 60.597198 -7.879200 -1.932100 63.532299 -7.311200 -2.517200 60.597198 -7.879200 -0.000000 60.597198 -8.812800 -0.000000 63.532299 -8.174500 -2.990300 54.496300 -8.246000 -0.000000 54.050800 -8.782700 -0.000000 60.597198 -8.812800 -2.517200 60.597198 -7.879200 -0.672300 63.485901 -0.421800 -1.901400 63.532299 -1.247600 -1.171400 65.057899 -2.205500 -1.901400 63.532299 -1.247600 -2.758700 63.532299 -3.348800 -1.795600 65.057899 -4.806100 -1.171400 65.057899 -2.205500 -2.758700 63.532299 -3.348800 -3.010600 63.532299 -5.868700 -1.795600 65.057899 -4.806100 -3.010600 63.532299 -5.868700 -1.932100 63.532299 -7.311200 -0.000000 65.057899 -6.421400 -1.795600 65.057899 -4.806100 -1.932100 63.532299 -7.311200 -0.000000 63.532299 -8.174500 -0.000000 65.057899 -6.421400 -1.171400 65.057899 -2.205500 -1.795600 65.057899 -4.806100 -0.000000 65.560898 -4.058400 -1.795600 65.057899 -4.806100 -0.000000 65.057899 -6.421400 -0.000000 65.560898 -4.058400 -0.672300 63.485901 -0.421800 -1.171400 65.057899 -2.205500 --1.171400 65.057899 -2.205500 --0.672300 63.485901 -0.421800 -0.706900 62.538601 -0.289700 -0.672300 63.485901 -0.421800 -0.000000 62.538601 -0.140300 -0.672300 63.485901 -0.421800 --0.672300 63.485901 -0.421800 -0.000000 62.538601 -0.140300 -2.130500 53.628601 -1.359200 -2.336800 60.597198 -1.072500 -1.393700 60.597198 -3.164700 -1.187300 53.628601 -3.164700 --0.706900 62.538601 -0.289700 --0.672300 63.485901 -0.421800 --1.901400 63.532299 -1.247600 --1.838200 62.255798 -0.802600 --1.901400 63.532299 -1.247600 --2.758700 63.532299 -3.348800 --3.194200 60.597198 -3.460400 --1.838200 62.255798 -0.802600 --2.758700 63.532299 -3.348800 --3.010600 63.532299 -5.868700 --3.446000 60.597198 -5.980300 --3.194200 60.597198 -3.460400 --3.194200 60.597198 -3.460400 --2.336800 60.597198 -1.072500 --1.838200 62.255798 -0.802600 --2.130500 53.628601 -1.359200 --2.336800 60.597198 -1.072500 --3.194200 60.597198 -3.460400 --4.088800 54.879799 -3.460400 --4.088800 54.879799 -3.460400 --3.194200 60.597198 -3.460400 --3.446000 60.597198 -5.980300 --4.340700 55.234299 -6.210400 --3.010600 63.532299 -5.868700 --1.932100 63.532299 -7.311200 --2.517200 60.597198 -7.879200 --3.446000 60.597198 -5.980300 --3.446000 60.597198 -5.980300 --2.517200 60.597198 -7.879200 --2.990300 54.496300 -8.246000 --4.340700 55.234299 -6.210400 --1.932100 63.532299 -7.311200 -0.000000 63.532299 -8.174500 -0.000000 60.597198 -8.812800 --2.517200 60.597198 -7.879200 --2.990300 54.496300 -8.246000 --2.517200 60.597198 -7.879200 -0.000000 60.597198 -8.812800 -0.000000 54.050800 -8.782700 --0.672300 63.485901 -0.421800 --1.171400 65.057899 -2.205500 --1.901400 63.532299 -1.247600 --1.901400 63.532299 -1.247600 --1.171400 65.057899 -2.205500 --1.795600 65.057899 -4.806100 --2.758700 63.532299 -3.348800 --2.758700 63.532299 -3.348800 --1.795600 65.057899 -4.806100 --3.010600 63.532299 -5.868700 --3.010600 63.532299 -5.868700 --1.795600 65.057899 -4.806100 -0.000000 65.057899 -6.421400 --1.932100 63.532299 -7.311200 --1.932100 63.532299 -7.311200 -0.000000 65.057899 -6.421400 -0.000000 63.532299 -8.174500 --1.171400 65.057899 -2.205500 -0.000000 65.560898 -4.058400 --1.795600 65.057899 -4.806100 --1.795600 65.057899 -4.806100 -0.000000 65.560898 -4.058400 -0.000000 65.057899 -6.421400 --1.171400 65.057899 -2.205500 -1.171400 65.057899 -2.205500 -0.000000 65.560898 -4.058400 --0.706900 62.538601 -0.289700 -0.000000 62.538601 -0.140300 --0.672300 63.485901 -0.421800 --2.130500 53.628601 -1.359200 --1.187300 53.628601 -3.164700 --1.393700 60.597198 -3.164700 --2.336800 60.597198 -1.072500 -8.704300 24.905701 -6.036500 -7.984800 25.127701 -6.177400 -7.649900 27.558001 -5.856100 -8.503900 27.435900 -5.670300 -6.463600 36.223400 -3.704900 -5.778000 35.994701 -1.773100 -7.451900 27.210300 -3.504400 -8.503900 27.435900 -5.670300 -5.115000 35.782600 -2.051700 -6.597900 27.332300 -3.690200 -7.451900 27.210300 -3.504400 -5.778000 35.994701 -1.773100 -5.743400 36.019600 -3.995900 -6.463600 36.223400 -3.704900 -8.503900 27.435900 -5.670300 -7.649900 27.558001 -5.856100 -7.451900 27.210300 -3.504400 -6.597900 27.332300 -3.690200 -7.984800 25.127701 -6.177400 -8.704300 24.905701 -6.036500 -7.451900 27.210300 -3.504400 -8.704300 24.905701 -6.036500 -8.503900 27.435900 -5.670300 -6.463600 36.223400 -3.704900 -5.743400 36.019600 -3.995900 -5.115000 35.782600 -2.051700 -5.778000 35.994701 -1.773100 -4.513000 55.007702 -5.909800 -4.291100 55.098900 -5.871800 -4.207800 55.799599 -6.651700 -4.871900 55.799599 -6.765400 -2.904000 62.455601 -5.700500 -2.764700 62.455601 -4.128400 -4.736600 55.799599 -5.153900 -4.871900 55.799599 -6.765400 -2.764700 62.455601 -4.128400 -4.072400 55.799599 -5.040200 -4.736600 55.799599 -5.153900 -2.904000 62.455601 -5.700500 -4.871900 55.799599 -6.765400 -4.207800 55.799599 -6.651700 -4.736600 55.799599 -5.153900 -4.072400 55.799599 -5.040200 -4.291100 55.098900 -5.871800 -4.513000 55.007702 -5.909800 -4.736600 55.799599 -5.153900 -4.513000 55.007702 -5.909800 -4.871900 55.799599 -6.765400 -4 0 1 2 3 -4 4 5 6 7 -3 8 9 10 -4 11 12 13 14 -4 15 16 17 18 -4 19 20 21 22 -4 23 24 25 26 -4 27 28 29 30 -4 31 32 33 34 -4 35 36 37 38 -4 39 40 41 42 -4 43 44 45 46 -3 47 48 49 -4 50 51 52 53 -4 54 55 56 57 -4 58 59 60 61 -4 62 63 64 65 -4 66 67 68 69 -4 70 71 72 73 -4 74 75 76 77 -3 78 79 80 -4 81 82 83 84 -3 85 86 87 -4 88 89 90 91 -3 92 93 94 -4 95 96 97 98 -4 99 100 101 102 -4 103 104 105 106 -4 107 108 109 110 -4 111 112 113 114 -4 115 116 117 118 -4 119 120 121 122 -4 123 124 125 126 -4 127 128 129 130 -4 131 132 133 134 -4 135 136 137 138 -3 139 140 141 -3 142 143 144 -4 145 146 147 148 -4 149 150 151 152 -4 153 154 155 156 -3 157 158 159 -3 160 161 162 -4 163 164 165 166 -4 167 168 169 170 -4 171 172 173 174 -3 175 176 177 -4 178 179 180 181 -4 182 183 184 185 -3 186 187 188 -3 189 190 191 -4 192 193 194 195 -4 196 197 198 199 -4 200 201 202 203 -4 204 205 206 207 -3 208 209 210 -3 211 212 213 -3 214 215 216 -4 217 218 219 220 -4 221 222 223 224 -3 225 226 227 -4 228 229 230 231 -4 232 233 234 235 -3 236 237 238 -3 239 240 241 -3 242 243 244 -3 245 246 247 -4 248 249 250 251 -4 252 253 254 255 -4 256 257 258 259 -4 260 261 262 263 -4 264 265 266 267 -4 268 269 270 271 -4 272 273 274 275 -4 276 277 278 279 -4 280 281 282 283 -3 284 285 286 -3 287 288 289 -4 290 291 292 293 -4 294 295 296 297 -4 298 299 300 301 -3 302 303 304 -4 305 306 307 308 -4 309 310 311 312 -4 313 314 315 316 -4 317 318 319 320 -4 321 322 323 324 -4 325 326 327 328 -4 329 330 331 332 -4 333 334 335 336 -4 337 338 339 340 -4 341 342 343 344 -4 345 346 347 348 -4 349 350 351 352 -3 353 354 355 -4 356 357 358 359 -4 360 361 362 363 -3 364 365 366 -4 367 368 369 370 -4 371 372 373 374 -3 375 376 377 -4 378 379 380 381 -3 382 383 384 -4 385 386 387 388 -4 389 390 391 392 -3 393 394 395 -4 396 397 398 399 -4 400 401 402 403 -4 404 405 406 407 -4 408 409 410 411 -4 412 413 414 415 -3 416 417 418 -3 419 420 421 -3 422 423 424 -4 425 426 427 428 -4 429 430 431 432 -3 433 434 435 -3 436 437 438 -4 439 440 441 442 -4 443 444 445 446 -3 447 448 449 -3 450 451 452 -4 453 454 455 456 -3 457 458 459 -3 460 461 462 -3 463 464 465 -4 466 467 468 469 -3 470 471 472 -4 473 474 475 476 -4 477 478 479 480 -4 481 482 483 484 -4 485 486 487 488 -4 489 490 491 492 -3 493 494 495 -4 496 497 498 499 -4 500 501 502 503 -4 504 505 506 507 -4 508 509 510 511 -3 512 513 514 -4 515 516 517 518 -4 519 520 521 522 -3 523 524 525 -3 526 527 528 -3 529 530 531 -4 532 533 534 535 -4 536 537 538 539 -4 540 541 542 543 -4 544 545 546 547 -3 548 549 550 -3 551 552 553 -4 554 555 556 557 -3 558 559 560 -4 561 562 563 564 -4 565 566 567 568 -4 569 570 571 572 -3 573 574 575 -4 576 577 578 579 -4 580 581 582 583 -4 584 585 586 587 -4 588 589 590 591 -4 592 593 594 595 -4 596 597 598 599 -4 600 601 602 603 -4 604 605 606 607 -4 608 609 610 611 -3 612 613 614 -4 615 616 617 618 -4 619 620 621 622 -4 623 624 625 626 -4 627 628 629 630 -4 631 632 633 634 -4 635 636 637 638 -4 639 640 641 642 -3 643 644 645 -4 646 647 648 649 -3 650 651 652 -4 653 654 655 656 -3 657 658 659 -4 660 661 662 663 -4 664 665 666 667 -4 668 669 670 671 -4 672 673 674 675 -4 676 677 678 679 -4 680 681 682 683 -4 684 685 686 687 -4 688 689 690 691 -4 692 693 694 695 -4 696 697 698 699 -4 700 701 702 703 -3 704 705 706 -3 707 708 709 -4 710 711 712 713 -4 714 715 716 717 -4 718 719 720 721 -3 722 723 724 -3 725 726 727 -4 728 729 730 731 -4 732 733 734 735 -4 736 737 738 739 -3 740 741 742 -4 743 744 745 746 -4 747 748 749 750 -3 751 752 753 -3 754 755 756 -4 757 758 759 760 -4 761 762 763 764 -4 765 766 767 768 -4 769 770 771 772 -3 773 774 775 -3 776 777 778 -3 779 780 781 -4 782 783 784 785 -4 786 787 788 789 -3 790 791 792 -4 793 794 795 796 -4 797 798 799 800 -3 801 802 803 -3 804 805 806 -3 807 808 809 -3 810 811 812 -4 813 814 815 816 -4 817 818 819 820 -4 821 822 823 824 -4 825 826 827 828 -4 829 830 831 832 -4 833 834 835 836 -4 837 838 839 840 -4 841 842 843 844 -4 845 846 847 848 -3 849 850 851 -3 852 853 854 -4 855 856 857 858 -4 859 860 861 862 -4 863 864 865 866 -3 867 868 869 -4 870 871 872 873 -4 874 875 876 877 -4 878 879 880 881 -4 882 883 884 885 -4 886 887 888 889 -4 890 891 892 893 -4 894 895 896 897 -4 898 899 900 901 -4 902 903 904 905 -4 906 907 908 909 -4 910 911 912 913 -4 914 915 916 917 -3 918 919 920 -4 921 922 923 924 -4 925 926 927 928 -3 929 930 931 -4 932 933 934 935 -4 936 937 938 939 -3 940 941 942 -4 943 944 945 946 -3 947 948 949 -4 950 951 952 953 -4 954 955 956 957 -3 958 959 960 -4 961 962 963 964 -4 965 966 967 968 -4 969 970 971 972 -4 973 974 975 976 -4 977 978 979 980 -3 981 982 983 -3 984 985 986 -3 987 988 989 -4 990 991 992 993 -4 994 995 996 997 -3 998 999 1000 -3 1001 1002 1003 -4 1004 1005 1006 1007 -4 1008 1009 1010 1011 -3 1012 1013 1014 -3 1015 1016 1017 -4 1018 1019 1020 1021 -3 1022 1023 1024 -3 1025 1026 1027 -3 463 1028 464 -4 1029 1030 1031 1032 -3 1033 1034 1035 -4 1036 1037 1038 1039 -4 1040 1041 1042 1043 -4 1044 1045 1046 1047 -4 1048 1049 1050 1051 -4 1052 1053 1054 1055 -3 1056 1057 1058 -4 1059 1060 1061 1062 -4 1063 1064 1065 1066 -4 1067 1068 1069 1070 -4 1071 1072 1073 1074 -3 1075 1076 1077 -4 1078 1079 1080 1081 -4 1082 1083 1084 1085 -3 1086 1087 1088 -3 1089 1090 1091 -4 1092 1093 1094 1095 -4 1096 1097 1098 1099 -4 1100 1101 1102 1103 -3 1104 1105 1106 -3 1107 1108 1109 -4 1110 1111 1112 1113 -4 1114 1115 1116 1117 -4 1118 1119 1120 1121 -4 1122 1123 1124 1125 -3 1126 1127 1128 -4 1129 1130 1131 1132 -4 1133 1134 1135 1136 -4 1137 1138 1139 1140 -4 1141 1142 1143 1144 -4 1145 1146 1147 1148 -4 1149 1150 1151 1152 -3 1153 1154 1155 -4 1156 1157 1158 1159 -3 1160 1161 1162 -4 1163 1164 1165 1166 -3 1167 1168 1169 -3 1170 1171 1172 -3 1173 1174 1175 -4 1176 1177 1178 1179 -3 1180 1181 1182 -3 1183 1184 1185 -4 1186 1187 1188 1189 -4 1190 1191 1192 1193 -4 1194 1195 1196 1197 -4 1198 1199 1200 1201 -3 1202 1203 1204 -4 1205 1206 1207 1208 -4 1209 1210 1211 1212 -4 1213 1214 1215 1216 -4 1217 1218 1219 1220 -4 1221 1222 1223 1224 -4 1225 1226 1227 1228 -3 1229 1230 1231 -4 1232 1233 1234 1235 -3 1236 1237 1238 -4 1239 1240 1241 1242 -3 1243 1244 1245 -3 1246 1247 1248 -3 1249 1250 1251 -3 1252 1253 1254 -3 1255 1256 1257 -4 1258 1259 1260 1261 -4 1262 1263 1264 1265 -4 1266 1267 1268 1269 -4 1270 1271 1272 1273 -4 1274 1275 1276 1277 -4 1278 1279 1280 1281 -3 1282 1283 1284 -4 1285 1286 1287 1288 -4 1289 1290 1291 1292 -4 1293 1294 1295 1296 -3 1297 1298 1299 -3 1300 1301 1302 -4 1303 1304 1305 1306 -3 1307 1308 1309 diff --git a/src/tests/evas/meshes/ply/NoNormal_UVs_Colors.ply b/src/tests/evas/meshes/ply/NoNormal_UVs_Colors.ply deleted file mode 100644 index 108c259ba9..0000000000 --- a/src/tests/evas/meshes/ply/NoNormal_UVs_Colors.ply +++ /dev/null @@ -1,1681 +0,0 @@ -ply -format ascii 1.0 -comment Created by Blender 2.69 (sub 0) - www.blender.org, source file: '' -element vertex 1310 -property float x -property float y -property float z -property float s -property float t -property uchar red -property uchar green -property uchar blue -element face 356 -property list uchar uint vertex_indices -end_header --4.649800 14.945700 -8.785600 0.094400 0.185800 0 253 27 --2.020300 14.610600 -8.278800 0.060000 0.185800 0 253 27 --1.712600 0.024900 -9.195700 0.089900 0.023200 254 68 73 --3.252600 0.001600 -8.591000 0.107400 0.025300 254 68 73 --4.649800 14.945700 -8.785600 0.094400 0.185800 254 68 73 --3.252600 0.001600 -8.591000 0.107400 0.025300 254 88 92 --4.089400 2.633000 -5.031300 0.145000 0.057700 254 68 73 --5.308800 13.910900 -3.738700 0.154100 0.185800 254 68 73 --1.553600 3.059500 -4.173500 0.181500 0.058600 18 0 253 --1.766900 13.754900 -2.918700 0.193300 0.185800 0 254 27 --3.061600 3.537800 -3.461700 0.164000 0.067400 18 0 252 --1.553600 3.059500 -4.173500 0.181500 0.058600 18 0 253 --0.626000 0.031700 -8.336200 0.220100 0.017000 19 0 253 --0.971400 14.644800 -6.706400 0.225200 0.185800 27 229 30 --1.766900 13.754900 -2.918700 0.193300 0.185800 0 253 27 --5.495700 46.043098 -6.732400 0.139900 0.788400 254 254 254 --2.827600 38.171799 -8.088300 0.114500 0.661600 254 254 254 --5.919200 37.619099 -4.570300 0.183200 0.661600 254 254 254 --6.029500 46.188801 -3.956000 0.183300 0.792100 254 254 254 --4.685700 36.664101 -1.616400 0.239100 0.661600 13 240 28 --4.298500 47.001099 -0.058900 0.249300 0.802400 5 247 27 --6.029500 46.188801 -3.956000 0.183300 0.792100 0 253 27 --5.919200 37.619099 -4.570300 0.183200 0.661600 0 253 27 --6.775800 50.206501 -7.534500 0.134100 0.852600 0 254 27 --7.252500 54.524502 -7.615000 0.126100 0.913200 0 254 27 -0.000000 53.738098 -8.986800 0.028100 0.877800 0 254 27 -0.000000 50.037800 -9.413700 0.041800 0.827300 0 254 27 --7.252500 54.524502 -7.615000 0.812300 0.981700 0 253 27 --8.747800 53.770199 -7.353300 0.807700 0.944900 0 253 27 --8.184300 53.108700 -3.320400 0.746000 0.944900 0 253 27 --6.624100 53.529800 -2.653700 0.746000 0.986600 0 253 27 --9.827700 52.989700 -7.188500 0.805500 0.922700 0 253 27 --14.989100 50.565300 -7.297200 0.805300 0.834400 0 253 27 --15.636800 49.715099 -4.015700 0.746000 0.809400 0 253 27 --9.508400 52.403099 -3.672700 0.746000 0.922700 0 253 27 -0.000000 37.009800 0.550700 0.310700 0.661600 172 124 55 -0.000000 47.287498 1.094200 0.310700 0.805700 0 252 27 --4.298500 47.001099 -0.058900 0.249300 0.802400 0 253 27 --4.685700 36.664101 -1.616400 0.239100 0.661600 13 226 40 -0.000000 53.738098 -8.986800 0.028100 0.877800 0 254 27 --7.252500 54.524502 -7.615000 0.126100 0.913200 0 254 27 --2.321200 55.471001 -5.570800 0.053700 0.941000 0 254 27 -0.000000 55.950600 -7.250100 0.022400 0.916300 0 254 27 --6.624100 53.529800 -2.653700 0.210200 0.900400 0 253 27 --7.813100 49.342701 -3.886900 0.181000 0.844200 0 253 27 --6.029500 46.188801 -3.956000 0.183300 0.792100 0 253 27 --3.773800 51.093601 -1.034300 0.256600 0.864400 0 253 27 --6.029500 46.188801 -3.956000 0.183300 0.792100 0 253 27 --4.298500 47.001099 -0.058900 0.249300 0.802400 5 247 27 --3.773800 51.093601 -1.034300 0.256600 0.864400 0 253 27 -0.000000 50.880199 0.110000 0.310700 0.860500 0 253 27 --3.773800 51.093601 -1.034300 0.256600 0.864400 0 253 27 --4.298500 47.001099 -0.058900 0.249300 0.802400 0 253 27 -0.000000 47.287498 1.094200 0.310700 0.805700 0 252 27 --16.136200 50.023998 -7.546200 0.808600 0.809400 0 249 27 --14.989100 50.565300 -7.297200 0.805300 0.834400 0 252 27 --13.779500 47.417198 -7.715300 0.879500 0.834400 0 253 27 --14.885000 46.974701 -7.946000 0.879500 0.809400 0 251 27 --13.779500 47.417198 -7.715300 0.626900 0.829400 0 253 27 --8.756500 49.321098 -7.632900 0.626900 0.922700 0 253 27 --8.927200 49.128502 -4.128200 0.688900 0.922700 0 253 27 --14.977100 45.689201 -4.821000 0.680000 0.809400 0 248 31 --17.208200 49.477699 -7.512200 0.810800 0.788400 0 253 27 --22.585199 48.327702 -7.594400 0.812700 0.705100 0 253 27 --22.348700 46.932201 -2.822400 0.746000 0.680200 72 195 37 --16.810101 49.139900 -3.928800 0.746000 0.788400 0 253 27 --21.936399 43.055199 -3.733600 0.691800 0.680200 24 182 75 --16.192200 44.960400 -4.877100 0.677700 0.788400 0 236 42 --16.810101 49.139900 -3.928800 0.746000 0.788400 0 253 27 --22.348700 46.932201 -2.822400 0.746000 0.680200 72 195 37 --22.105101 44.119598 -7.074000 0.862200 0.680200 254 254 254 --23.337700 47.268200 -6.945000 0.809900 0.680200 254 254 254 --22.585199 48.327702 -7.594400 0.812700 0.705100 254 254 254 --21.061199 44.183601 -7.611200 0.879500 0.705100 254 254 254 --15.884600 46.520500 -7.855800 0.626900 0.788400 0 250 27 --16.192200 44.960400 -4.877100 0.677700 0.788400 0 253 27 --21.936399 43.055199 -3.733600 0.691800 0.680200 0 253 27 --21.061199 44.183601 -7.611200 0.626900 0.699700 52 208 31 --5.598500 31.822901 -1.405400 0.185400 0.436500 133 152 48 --7.174300 32.815300 -5.168000 0.136400 0.440500 0 253 27 --7.453900 29.910801 -4.782000 0.143900 0.408700 0 253 27 --4.970000 33.082802 -8.871300 0.086900 0.436600 0 253 27 --5.595300 29.761600 -8.491100 0.097300 0.399700 0 253 27 --7.453900 29.910801 -4.782000 0.143900 0.408700 0 253 27 --7.174300 32.815300 -5.168000 0.136400 0.440500 0 253 27 --6.827700 20.858999 -3.051400 0.166500 0.297500 254 254 254 --5.426000 21.341299 -8.131100 0.106600 0.297500 254 254 254 --6.194700 19.576300 -3.492500 0.163400 0.285600 254 254 254 --0.835600 22.853901 -8.203000 0.053300 0.313700 0 253 27 --0.899900 21.410400 -8.342700 0.054900 0.297500 0 253 27 --5.426000 21.341299 -8.131100 0.106600 0.297500 0 253 27 --5.317800 22.936800 -8.014600 0.105500 0.313700 0 253 27 --0.899900 21.410400 -8.342700 0.307200 0.297500 219 57 99 --1.957400 20.620800 -1.217700 0.224300 0.297500 254 68 73 --1.853000 19.164200 -1.385300 0.221600 0.281000 254 68 73 --6.194700 19.576300 -3.492500 0.163400 0.285600 114 254 128 --1.853000 19.164200 -1.385300 0.221600 0.281000 242 254 242 --1.957400 20.620800 -1.217700 0.224300 0.297500 242 254 242 --6.827700 20.858999 -3.051400 0.166500 0.297500 168 254 177 --5.259600 15.490400 -9.599400 0.090700 0.228600 0 253 27 --5.426000 21.341299 -8.131100 0.106600 0.297500 0 253 27 --0.899900 21.410400 -8.342700 0.054900 0.297500 0 253 27 --0.294400 16.169500 -7.962700 0.039600 0.241800 0 253 27 --0.294400 16.169500 -7.962700 0.282300 0.223700 0 253 27 --0.899900 21.410400 -8.342700 0.307200 0.297500 1 216 59 --1.853000 19.164200 -1.385300 0.221600 0.281000 0 253 27 --1.221800 14.450400 -2.004100 0.220300 0.236900 0 253 27 --1.853000 19.164200 -1.385300 0.221600 0.281000 254 254 254 --6.194700 19.576300 -3.492500 0.163400 0.285600 254 254 254 --6.498700 14.643000 -4.000600 0.151700 0.232900 91 254 108 --1.221800 14.450400 -2.004100 0.220300 0.236900 0 254 27 --6.498700 14.643000 -4.000600 0.151700 0.232900 254 254 254 --6.194700 19.576300 -3.492500 0.163400 0.285600 254 254 254 --5.426000 21.341299 -8.131100 0.106600 0.297500 254 254 254 --5.259600 15.490400 -9.599400 0.090700 0.228600 254 254 254 --7.813100 49.342701 -3.886900 0.181000 0.844200 254 68 73 --6.775800 50.206501 -7.534500 0.134100 0.852600 254 68 73 --5.495700 46.043098 -6.732400 0.139900 0.788400 254 68 73 --6.029500 46.188801 -3.956000 0.183300 0.792100 254 68 73 --8.756500 49.321098 -7.632900 0.626900 0.922700 0 254 27 --6.775800 50.206501 -7.534500 0.626900 0.944900 0 254 27 --7.813100 49.342701 -3.886900 0.686800 0.944900 0 254 27 --8.927200 49.128502 -4.128200 0.688900 0.922700 0 254 27 --5.495700 46.043098 -6.732400 0.139900 0.788400 0 254 27 --6.775800 50.206501 -7.534500 0.134100 0.852600 0 254 27 -0.000000 50.037800 -9.413700 0.041800 0.827300 0 254 27 -0.000000 45.235802 -8.516300 0.061400 0.762800 0 254 27 --3.773800 51.093601 -1.034300 0.256600 0.864400 0 253 27 -0.000000 50.880199 0.110000 0.310700 0.860500 0 253 27 -0.000000 54.522099 -2.187600 0.310700 0.919600 0 253 27 --1.435700 55.057400 -2.884500 0.285800 0.931400 0 253 27 --0.163800 60.672798 0.405300 0.529100 0.200900 0 254 27 --0.596000 60.268700 -0.255900 0.502600 0.185300 0 254 27 --0.605400 59.453602 0.006800 0.508800 0.156900 0 254 27 --0.226300 59.631802 0.717000 0.529800 0.167300 0 254 27 -0.000000 59.375900 0.272700 0.533800 0.153800 0 254 27 --0.605400 59.453602 0.006800 0.508800 0.156900 0 254 27 --0.793500 58.611801 -0.022400 0.506200 0.129800 0 254 27 -0.000000 58.735298 0.237300 0.533800 0.134400 0 253 27 --1.340700 61.343498 -1.024900 0.467800 0.231800 254 254 254 --2.209500 61.230499 -1.515000 0.430900 0.227000 254 254 254 --2.225300 60.301201 -1.334400 0.434400 0.187400 254 254 254 --0.474100 61.294899 -0.607800 0.499900 0.227200 254 254 254 --0.179900 61.274700 0.058500 0.525600 0.223900 254 254 254 --0.785400 61.539799 -0.048800 0.505500 0.247600 254 254 254 --0.163800 60.672798 0.405300 0.529100 0.200900 0 254 27 --0.179900 61.274700 0.058500 0.525600 0.223900 0 254 27 --0.474100 61.294899 -0.607800 0.499900 0.227200 0 254 27 --0.596000 60.268700 -0.255900 0.502600 0.185300 0 254 27 --0.785400 61.539799 -0.048800 0.505500 0.247600 0 254 27 -0.000000 62.775902 -0.355700 0.533900 0.286800 0 254 27 --1.901400 62.898899 -1.262500 0.451600 0.287500 0 254 27 --1.792100 61.563202 -0.648200 0.464300 0.250800 0 254 27 --1.901400 62.898899 -1.262500 0.451600 0.287500 254 254 254 --2.505800 61.413601 -3.333900 0.367200 0.240300 254 254 254 --2.209500 61.230499 -1.515000 0.430900 0.227000 254 254 254 --1.792100 61.563202 -0.648200 0.464300 0.250800 254 254 254 --2.071800 58.080299 -1.837600 0.435700 0.090000 254 254 254 --2.043500 58.694401 -1.722000 0.434700 0.119000 254 254 254 --2.361600 58.652599 -3.405400 0.376100 0.111600 254 254 254 --2.361600 58.652599 -3.405400 0.376100 0.111600 254 254 254 --1.480400 57.287800 -3.167400 0.388000 0.054100 254 254 254 --2.071800 58.080299 -1.837600 0.435700 0.090000 254 254 254 --2.361600 58.652599 -3.405400 0.376100 0.111600 254 254 254 --2.043500 58.694401 -1.722000 0.434700 0.119000 254 254 254 --2.225300 60.301201 -1.334400 0.434400 0.187400 254 254 254 --2.484800 60.667999 -2.078300 0.409600 0.193000 254 254 254 --0.596000 60.268700 -0.255900 0.502600 0.185300 0 254 27 --2.225300 60.301201 -1.334400 0.434400 0.187400 0 254 27 --0.793500 58.611801 -0.022400 0.506200 0.129800 0 254 27 --0.605400 59.453602 0.006800 0.508800 0.156900 0 254 27 --0.793500 58.611801 -0.022400 0.506200 0.129800 0 254 27 --0.860300 57.339199 -0.345300 0.507000 0.087800 0 253 27 -0.000000 57.320400 0.190300 0.533800 0.095300 0 253 27 -0.000000 58.735298 0.237300 0.533800 0.134400 0 253 27 --2.361600 58.652599 -3.405400 0.376100 0.111600 254 254 254 --1.507500 57.978802 -4.806700 0.327200 0.071700 254 254 254 --1.480400 57.287800 -3.167400 0.388000 0.054100 254 254 254 --1.480400 57.287800 -3.167400 0.293600 0.962800 254 153 157 --1.435700 55.057400 -2.884500 0.285800 0.931400 244 75 71 -0.000000 54.522099 -2.187600 0.310700 0.919600 235 81 69 --0.509500 56.862801 -2.081200 0.307800 0.953500 254 129 132 --1.435700 55.057400 -2.884500 0.285800 0.931400 254 68 73 --1.480400 57.287800 -3.167400 0.293600 0.962800 254 68 73 --1.507500 57.978802 -4.806700 0.269900 0.982500 254 68 73 --2.321200 55.471001 -5.570800 0.259500 0.968000 254 68 73 --5.259600 15.490400 -9.599400 0.090700 0.228600 0 253 27 --0.294400 16.169500 -7.962700 0.039600 0.241800 0 253 27 --2.020300 14.610600 -8.278800 0.063600 0.221000 0 253 27 --0.294400 16.169500 -7.962700 0.282300 0.223700 157 130 53 --1.221800 14.450400 -2.004100 0.220300 0.236900 0 252 27 --0.971400 14.644800 -6.706400 0.253200 0.212300 27 229 30 --5.308800 13.910900 -3.738700 0.168700 0.220700 23 254 48 --1.766900 13.754900 -2.918700 0.216900 0.223600 0 254 27 --1.221800 14.450400 -2.004100 0.220300 0.236900 0 254 27 --6.498700 14.643000 -4.000600 0.151700 0.232900 91 254 108 --4.649800 14.945700 -8.785600 0.103500 0.222700 254 68 73 --5.308800 13.910900 -3.738700 0.168700 0.220700 254 68 73 --6.498700 14.643000 -4.000600 0.151700 0.232900 254 68 73 --5.259600 15.490400 -9.599400 0.090700 0.228600 254 68 73 --1.957400 20.620800 -1.217700 0.224300 0.297500 0 253 27 --0.899900 21.410400 -8.342700 0.307200 0.297500 1 216 59 --0.835600 22.853901 -8.203000 0.306600 0.313700 2 205 69 --2.189200 21.987900 -1.481800 0.225500 0.313700 0 253 27 --7.174300 32.815300 -5.168000 0.136400 0.440500 0 253 27 --6.542300 35.480598 -4.902800 0.133600 0.471500 0 253 27 --5.283200 35.952900 -7.814600 0.094100 0.470900 0 254 27 --4.970000 33.082802 -8.871300 0.086900 0.436600 0 253 27 --5.598500 31.822901 -1.405400 0.185400 0.436500 133 152 48 --6.542300 35.480598 -4.902800 0.133600 0.471500 0 253 27 --7.174300 32.815300 -5.168000 0.136400 0.440500 0 253 27 --4.685700 36.664101 -1.616400 0.239100 0.661600 13 226 40 --5.598500 31.822901 -1.405400 0.231500 0.582200 133 152 48 --3.798500 31.552500 -0.386300 0.257600 0.582200 211 97 63 --2.225300 60.301201 -1.334400 0.434400 0.187400 254 254 254 --2.209500 61.230499 -1.515000 0.430900 0.227000 254 254 254 --2.484800 60.667999 -2.078300 0.409600 0.193000 254 254 254 --8.927200 49.128502 -4.128200 0.688900 0.922700 0 253 27 --7.813100 49.342701 -3.886900 0.686800 0.944900 0 253 27 --8.184300 53.108700 -3.320400 0.746000 0.944900 0 253 27 --9.508400 52.403099 -3.672700 0.746000 0.922700 0 253 27 --8.184300 53.108700 -3.320400 0.746000 0.944900 0 253 27 --8.747800 53.770199 -7.353300 0.807700 0.944900 0 253 27 --9.827700 52.989700 -7.188500 0.805500 0.922700 0 253 27 --9.508400 52.403099 -3.672700 0.746000 0.922700 0 253 27 --8.747800 53.770199 -7.353300 0.807700 0.944900 0 254 27 --7.252500 54.524502 -7.615000 0.812300 0.981700 0 254 27 --6.775800 50.206501 -7.534500 0.879500 0.944900 0 254 27 --8.927200 49.128502 -4.128200 0.688900 0.922700 0 253 27 --9.508400 52.403099 -3.672700 0.746000 0.922700 0 253 27 --15.636800 49.715099 -4.015700 0.746000 0.809400 0 253 27 --14.977100 45.689201 -4.821000 0.680000 0.809400 0 248 31 --6.624100 53.529800 -2.653700 0.210200 0.900400 0 253 27 --3.773800 51.093601 -1.034300 0.256600 0.864400 0 253 27 --1.435700 55.057400 -2.884500 0.285800 0.931400 0 253 27 --7.252500 54.524502 -7.615000 0.180400 0.964800 0 253 27 --2.321200 55.471001 -5.570800 0.259500 0.968000 0 253 27 --7.252500 54.524502 -7.615000 0.180400 0.964800 0 253 27 --1.435700 55.057400 -2.884500 0.285800 0.931400 0 253 27 --2.209500 61.230499 -1.515000 0.430900 0.227000 254 254 254 --2.505800 61.413601 -3.333900 0.362700 0.212700 254 254 254 --2.484800 60.667999 -2.078300 0.409600 0.193000 254 254 254 --2.484800 60.667999 -2.078300 0.409600 0.193000 254 254 254 --2.505800 61.413601 -3.333900 0.362700 0.212700 254 254 254 --2.361600 58.652599 -3.405400 0.376100 0.111600 254 254 254 --2.209500 61.230499 -1.515000 0.430900 0.227000 254 254 254 --1.340700 61.343498 -1.024900 0.467800 0.231800 254 254 254 --1.792100 61.563202 -0.648200 0.464300 0.250800 254 254 254 --3.061600 3.537800 -3.461700 0.290200 0.071700 18 0 252 --3.735600 1.816900 0.228400 0.290200 0.030700 18 0 253 --1.568700 1.981700 -0.627100 0.308400 0.040400 18 0 253 --1.553600 3.059500 -4.173500 0.310400 0.073900 18 0 253 --0.626000 0.031700 -8.336200 0.345300 0.097200 18 0 253 --1.553600 3.059500 -4.173500 0.310400 0.073900 18 0 253 --1.568700 1.981700 -0.627100 0.308400 0.040400 18 0 253 --1.825200 -0.024100 0.601200 0.313500 0.023800 18 0 253 --1.825200 -0.024100 0.601200 0.748300 0.055100 18 0 253 --3.769300 -0.009000 1.132900 0.765800 0.040900 18 0 253 --1.712600 0.024900 -9.195700 0.765100 0.147100 19 0 253 --0.626000 0.031700 -8.336200 0.751000 0.138000 19 0 253 --1.712600 0.024900 -9.195700 0.089900 0.023200 254 68 73 --2.020300 14.610600 -8.278800 0.060000 0.185800 0 253 27 --0.971400 14.644800 -6.706400 0.025900 0.185800 0 253 27 --0.626000 0.031700 -8.336200 0.075600 0.021500 254 68 73 --1.568700 1.981700 -0.627100 0.308400 0.040400 18 0 253 --3.735600 1.816900 0.228400 0.290200 0.030700 18 0 253 --3.769300 -0.009000 1.132900 0.289700 0.012400 18 0 253 --1.825200 -0.024100 0.601200 0.313500 0.023800 19 0 253 --4.089400 2.633000 -5.031300 0.275500 0.071900 188 254 194 --3.252600 0.001600 -8.591000 0.238500 0.103000 0 254 27 --5.176800 -0.025000 -0.598300 0.266200 0.023600 254 254 254 --5.390300 1.568200 -1.670300 0.274000 0.039600 254 254 254 --3.769300 -0.009000 1.132900 0.289700 0.012400 18 0 253 --3.735600 1.816900 0.228400 0.290200 0.030700 18 0 253 --5.390300 1.568200 -1.670300 0.274000 0.039600 18 0 253 --5.176800 -0.025000 -0.598300 0.266200 0.023600 18 0 253 --5.390300 1.568200 -1.670300 0.274000 0.039600 18 0 253 --3.735600 1.816900 0.228400 0.290200 0.030700 18 0 253 --3.061600 3.537800 -3.461700 0.290200 0.071700 18 0 252 --4.089400 2.633000 -5.031300 0.275500 0.071900 18 0 252 --3.061600 3.537800 -3.461700 0.164000 0.067400 18 0 252 --1.766900 13.754900 -2.918700 0.193300 0.185800 0 254 27 --5.308800 13.910900 -3.738700 0.154100 0.185800 14 254 41 --4.089400 2.633000 -5.031300 0.145000 0.057700 18 0 252 --2.020300 14.610600 -8.278800 0.063600 0.221000 0 253 27 --4.649800 14.945700 -8.785600 0.103500 0.222700 0 253 27 --5.259600 15.490400 -9.599400 0.090700 0.228600 0 253 27 --2.020300 14.610600 -8.278800 0.063600 0.221000 0 253 27 --0.294400 16.169500 -7.962700 0.039600 0.241800 0 253 27 --0.971400 14.644800 -6.706400 0.028400 0.216500 0 253 27 --5.426000 21.341299 -8.131100 0.106600 0.297500 254 254 254 --6.827700 20.858999 -3.051400 0.166500 0.297500 254 254 254 --6.824000 22.193899 -3.254300 0.165700 0.313700 254 254 254 --5.317800 22.936800 -8.014600 0.105500 0.313700 254 254 254 --0.845100 29.891001 -9.491500 0.041700 0.395800 0 253 27 --0.835600 22.853901 -8.203000 0.053300 0.313700 0 253 27 --5.317800 22.936800 -8.014600 0.105500 0.313700 0 253 27 --5.595300 29.761600 -8.491100 0.097300 0.399700 0 254 27 --1.957400 20.620800 -1.217700 0.224300 0.297500 242 254 242 --2.189200 21.987900 -1.481800 0.225500 0.313700 218 254 222 --6.824000 22.193899 -3.254300 0.165700 0.313700 99 254 117 --6.827700 20.858999 -3.051400 0.166500 0.297500 166 254 175 --0.605400 59.453602 0.006800 0.508800 0.156900 254 254 254 -0.000000 59.375900 0.272700 0.533800 0.153800 254 254 254 --0.226300 59.631802 0.717000 0.529800 0.167300 254 254 254 --21.936399 43.055199 -3.733600 0.691800 0.680200 24 182 75 --22.348700 46.932201 -2.822400 0.746000 0.680200 72 195 37 --23.323000 46.228001 -3.425200 0.746000 0.661900 26 230 29 --23.265499 44.290199 -3.614200 0.710900 0.661900 37 214 37 --22.105101 44.119598 -7.074000 0.862200 0.680200 254 254 254 --23.273100 44.479099 -6.170500 0.835600 0.661900 254 254 254 --23.881300 46.267799 -5.995500 0.800900 0.661900 254 254 254 --23.337700 47.268200 -6.945000 0.809900 0.680200 254 254 254 --22.348700 46.932201 -2.822400 0.746000 0.680200 72 195 37 --23.337700 47.268200 -6.945000 0.809900 0.680200 0 254 27 --23.881300 46.267799 -5.995500 0.800900 0.661900 0 253 27 --23.323000 46.228001 -3.425200 0.746000 0.661900 26 230 29 --21.936399 43.055199 -3.733600 0.691800 0.680200 254 68 73 --23.265499 44.290199 -3.614200 0.710900 0.661900 254 68 73 --23.273100 44.479099 -6.170500 0.665900 0.661900 254 68 73 --22.105101 44.119598 -7.074000 0.641700 0.680200 254 68 73 --23.323000 46.228001 -3.425200 0.746000 0.661900 26 230 29 --24.935400 45.742901 -3.288800 0.746000 0.630500 80 189 39 --24.446100 44.099098 -3.039500 0.723200 0.630500 144 136 53 --23.265499 44.290199 -3.614200 0.710900 0.661900 37 214 37 --23.273100 44.479099 -6.170500 0.835600 0.661900 16 254 41 --25.718901 44.407902 -5.989100 0.812100 0.630500 47 254 71 --25.982700 45.641201 -5.974700 0.796200 0.630500 53 254 75 --23.881300 46.267799 -5.995500 0.800900 0.661900 23 254 48 --23.881300 46.267799 -5.995500 0.800900 0.661900 0 253 27 --25.982700 45.641201 -5.974700 0.796200 0.630500 0 253 27 --24.935400 45.742901 -3.288800 0.746000 0.630500 80 189 39 --23.323000 46.228001 -3.425200 0.746000 0.661900 26 230 29 --23.265499 44.290199 -3.614200 0.710900 0.661900 0 254 27 --24.446100 44.099098 -3.039500 0.723200 0.630500 0 254 27 --25.718901 44.407902 -5.989100 0.677100 0.630500 47 254 71 --23.273100 44.479099 -6.170500 0.665900 0.661900 16 254 41 --3.798500 31.552500 -0.386300 0.257600 0.582200 211 97 63 -0.000000 31.552500 0.128500 0.310700 0.582200 203 101 62 -0.000000 37.009800 0.550700 0.310700 0.661600 172 124 55 --4.685700 36.664101 -1.616400 0.239100 0.661600 13 226 40 --27.058001 43.733101 -1.471100 0.783900 0.527900 254 68 73 --28.100901 44.177299 -2.470000 0.756100 0.537200 231 80 64 --27.637899 42.321201 -1.984400 0.780200 0.502700 254 68 73 --26.775499 43.007000 -1.492900 0.799700 0.523000 254 68 73 --27.102699 45.320202 -5.735100 0.706300 0.587600 75 254 93 --25.982700 45.641201 -5.974700 0.701400 0.609900 53 254 75 --25.718901 44.407902 -5.989100 0.674700 0.592000 47 254 71 --26.246300 42.901402 -5.383600 0.663100 0.553800 20 254 46 --24.935400 45.742901 -3.288800 0.774000 0.616500 80 254 99 --25.982700 45.641201 -5.974700 0.701400 0.609900 0 254 27 --27.102699 45.320202 -5.735100 0.706300 0.587600 0 254 27 --26.753901 45.398300 -2.858600 0.766000 0.574200 163 254 174 --24.446100 44.099098 -3.039500 0.815000 0.599300 0 249 30 --26.246300 42.901402 -5.383600 0.880100 0.569900 19 213 43 --25.718901 44.407902 -5.989100 0.885900 0.607200 46 208 34 --28.380600 42.330502 -3.056600 0.741600 0.498200 254 68 73 --27.637899 42.321201 -1.984400 0.780200 0.502700 254 68 73 --28.100901 44.177299 -2.470000 0.756100 0.537200 254 68 73 --28.697901 44.238201 -3.477500 0.737900 0.538900 254 68 73 --28.380600 42.330502 -3.056600 0.741600 0.498200 254 254 254 --28.697901 44.238201 -3.477500 0.737900 0.538900 254 254 254 --28.543800 44.178001 -4.651400 0.718600 0.545700 254 254 254 --28.292801 42.543098 -4.446800 0.704200 0.514300 254 254 254 --26.753901 45.398300 -2.858600 0.766000 0.574200 163 125 53 --28.697901 44.238201 -3.477500 0.737900 0.538900 97 175 41 --28.100901 44.177299 -2.470000 0.756100 0.537200 231 80 64 --24.935400 45.742901 -3.288800 0.774000 0.616500 80 189 39 --26.117701 44.487900 -2.198700 0.788200 0.565100 242 74 67 --25.587200 43.557701 -2.038700 0.806300 0.556900 253 67 73 --24.446100 44.099098 -3.039500 0.815000 0.599300 144 136 53 --24.446100 44.099098 -3.039500 0.815000 0.599300 0 249 30 --25.587200 43.557701 -2.038700 0.806300 0.556900 0 252 27 --25.491899 42.827301 -2.370100 0.813300 0.554500 0 245 34 --26.246300 42.901402 -5.383600 0.880100 0.569900 19 213 43 --26.753901 45.398300 -2.858600 0.766000 0.574200 163 125 53 --26.117701 44.487900 -2.198700 0.788200 0.565100 242 74 67 --24.935400 45.742901 -3.288800 0.774000 0.616500 80 189 39 -0.000000 31.552500 0.128500 0.310700 0.582200 203 101 62 --3.798500 31.552500 -0.386300 0.257600 0.582200 211 97 63 --3.463700 23.872801 -0.356700 0.261000 0.472800 254 68 73 -0.000000 24.132099 -0.356700 0.310700 0.472800 243 74 70 --2.225300 60.301201 -1.334400 0.434400 0.187400 254 254 254 --2.043500 58.694401 -1.722000 0.434700 0.119000 254 247 247 --0.793500 58.611801 -0.022400 0.506200 0.129800 254 246 246 --0.793500 58.611801 -0.022400 0.506200 0.129800 254 246 246 --2.043500 58.694401 -1.722000 0.434700 0.119000 254 247 247 --2.071800 58.080299 -1.837600 0.435700 0.090000 254 224 225 --0.860300 57.339199 -0.345300 0.507000 0.087800 254 172 174 --2.071800 58.080299 -1.837600 0.435700 0.090000 254 224 225 --1.480400 57.287800 -3.167400 0.435700 0.022900 254 153 157 --0.509500 56.862801 -2.081200 0.497100 0.026700 254 129 132 --0.860300 57.339199 -0.345300 0.507000 0.087800 254 172 174 --0.179900 61.274700 0.058500 0.525600 0.223900 0 254 27 -0.000000 61.912998 -0.048000 0.533800 0.254400 0 254 27 --0.785400 61.539799 -0.048800 0.505500 0.247600 0 254 27 --15.884600 46.520500 -7.855800 0.879500 0.788400 0 250 27 --17.208200 49.477699 -7.512200 0.810800 0.788400 6 242 27 --16.136200 50.023998 -7.546200 0.808600 0.809400 0 249 27 --14.885000 46.974701 -7.946000 0.879500 0.809400 0 251 27 --15.636800 49.715099 -4.015700 0.746000 0.809400 0 253 27 --16.136200 50.023998 -7.546200 0.808600 0.809400 0 253 27 --17.208200 49.477699 -7.512200 0.810800 0.788400 0 253 27 --16.810101 49.139900 -3.928800 0.746000 0.788400 0 253 27 --16.192200 44.960400 -4.877100 0.677700 0.788400 0 236 42 --15.884600 46.520500 -7.855800 0.626900 0.788400 0 253 27 --14.885000 46.974701 -7.946000 0.626900 0.809400 0 253 27 --14.977100 45.689201 -4.821000 0.680000 0.809400 0 248 31 --16.810101 49.139900 -3.928800 0.746000 0.788400 236 81 69 --16.192200 44.960400 -4.877100 0.677700 0.788400 200 90 77 --14.977100 45.689201 -4.821000 0.680000 0.809400 174 120 62 --15.636800 49.715099 -4.015700 0.746000 0.809400 218 94 66 --13.779500 47.417198 -7.715300 0.879500 0.834400 0 253 27 --14.989100 50.565300 -7.297200 0.805300 0.834400 0 252 27 --9.827700 52.989700 -7.188500 0.805500 0.922700 0 253 27 --8.756500 49.321098 -7.632900 0.879500 0.922700 0 253 27 --15.636800 49.715099 -4.015700 0.746000 0.809400 0 253 27 --14.989100 50.565300 -7.297200 0.805300 0.834400 0 253 27 --16.136200 50.023998 -7.546200 0.808600 0.809400 0 253 27 --13.779500 47.417198 -7.715300 0.626900 0.829400 0 253 27 --14.977100 45.689201 -4.821000 0.680000 0.809400 0 253 27 --14.885000 46.974701 -7.946000 0.626900 0.809400 0 251 27 --0.971400 14.644800 -6.706400 0.253200 0.212300 27 229 30 --1.221800 14.450400 -2.004100 0.220300 0.236900 0 252 27 --1.766900 13.754900 -2.918700 0.216900 0.223600 0 253 27 --26.117701 44.487900 -2.198700 0.788200 0.565100 242 74 67 --27.058001 43.733101 -1.471100 0.783900 0.527900 254 68 73 --26.775499 43.007000 -1.492900 0.799700 0.523000 254 68 73 --25.587200 43.557701 -2.038700 0.806300 0.556900 253 67 73 --25.587200 43.557701 -2.038700 0.806300 0.556900 0 252 27 --26.775499 43.007000 -1.492900 0.799700 0.523000 0 253 27 --27.637899 42.321201 -1.984400 0.816200 0.507300 0 253 27 --25.491899 42.827301 -2.370100 0.813300 0.554500 0 245 34 --26.117701 44.487900 -2.198700 0.788200 0.565100 242 74 67 --28.100901 44.177299 -2.470000 0.756100 0.537200 231 80 64 --27.058001 43.733101 -1.471100 0.783900 0.527900 254 68 73 --8.184300 53.108700 -3.320400 0.746000 0.944900 0 253 27 --7.813100 49.342701 -3.886900 0.686800 0.944900 0 253 27 --6.624100 53.529800 -2.653700 0.746000 0.986600 0 253 27 --8.747800 53.770199 -7.353300 0.807700 0.944900 0 254 27 --6.775800 50.206501 -7.534500 0.879500 0.944900 0 254 27 --8.756500 49.321098 -7.632900 0.879500 0.922700 0 254 27 --9.827700 52.989700 -7.188500 0.805500 0.922700 0 254 27 --28.543800 44.178001 -4.651400 0.718600 0.545700 0 254 27 --28.697901 44.238201 -3.477500 0.737900 0.538900 97 254 114 --26.753901 45.398300 -2.858600 0.766000 0.574200 163 254 174 --27.102699 45.320202 -5.735100 0.706300 0.587600 0 254 27 --26.246300 42.901402 -5.383600 0.880100 0.569900 20 231 27 --28.380600 42.330502 -3.056600 0.853500 0.507000 0 252 27 --28.292801 42.543098 -4.446800 0.879400 0.523100 5 243 27 --28.100901 44.177299 -2.470000 0.756100 0.537200 231 80 64 --26.117701 44.487900 -2.198700 0.788200 0.565100 242 74 67 --26.753901 45.398300 -2.858600 0.766000 0.574200 163 125 53 --1.712600 0.024900 -9.195700 0.765100 0.147100 254 254 254 --3.769300 -0.009000 1.132900 0.765800 0.040900 0 254 27 --5.176800 -0.025000 -0.598300 0.783900 0.050100 0 254 27 --3.252600 0.001600 -8.591000 0.777900 0.139800 254 254 254 -0.000000 61.912998 -0.048000 0.533800 0.254400 0 254 27 -0.000000 62.775902 -0.355700 0.533900 0.286800 0 254 27 --0.785400 61.539799 -0.048800 0.505500 0.247600 0 254 27 --0.340300 31.400700 -9.922000 0.348900 0.396000 0 253 27 --0.425600 30.069099 -1.503600 0.251300 0.411900 0 253 27 --0.845100 29.891001 -9.491500 0.339400 0.379800 0 253 27 -0.000000 54.522099 -2.187600 0.310700 0.919600 235 81 69 -0.000000 56.862801 -2.081200 0.310500 0.953100 254 127 130 --0.509500 56.862801 -2.081200 0.307800 0.953500 254 129 132 --0.509500 56.862801 -2.081200 0.497100 0.026700 254 129 132 -0.000000 56.862801 -2.081200 0.533800 0.019000 254 127 130 -0.000000 57.320400 0.190300 0.533800 0.095300 254 190 192 --0.860300 57.339199 -0.345300 0.507000 0.087800 254 172 174 --5.598500 31.822901 -1.405400 0.185400 0.436500 133 152 48 --7.453900 29.910801 -4.782000 0.143900 0.408700 0 253 27 --6.824000 22.193899 -3.254300 0.165700 0.313700 99 254 117 --6.824000 22.193899 -3.254300 0.165700 0.313700 254 68 73 --7.453900 29.910801 -4.782000 0.143900 0.408700 254 68 73 --5.595300 29.761600 -8.491100 0.097300 0.399700 254 68 73 --5.317800 22.936800 -8.014600 0.105500 0.313700 254 68 73 --3.798500 31.552500 -0.386300 0.210900 0.433400 211 97 63 --5.598500 31.822901 -1.405400 0.185400 0.436500 133 152 48 --6.824000 22.193899 -3.254300 0.165700 0.313700 99 254 117 --2.189200 21.987900 -1.481800 0.225500 0.313700 218 254 222 --0.340300 31.400700 -9.922000 0.033600 0.413900 0 253 27 --0.845100 29.891001 -9.491500 0.041700 0.395800 0 253 27 --5.595300 29.761600 -8.491100 0.097300 0.399700 0 254 27 --4.970000 33.082802 -8.871300 0.086900 0.436600 0 254 27 --0.835600 22.853901 -8.203000 0.306600 0.313700 2 205 69 --0.845100 29.891001 -9.491500 0.339400 0.379800 0 241 37 --0.425600 30.069099 -1.503600 0.251300 0.411900 0 253 27 --2.189200 21.987900 -1.481800 0.225500 0.313700 0 253 27 --2.162800 35.743500 -9.599900 0.052600 0.465300 0 254 27 --0.340300 31.400700 -9.922000 0.033600 0.413900 0 253 27 --4.970000 33.082802 -8.871300 0.086900 0.436600 0 254 27 --5.283200 35.952900 -7.814600 0.094100 0.470900 0 254 27 --5.283200 35.952900 -7.814600 0.142000 0.631800 0 254 27 --6.542300 35.480598 -4.902800 0.182300 0.631800 0 254 27 --5.919200 37.619099 -4.570300 0.183200 0.661600 0 254 27 --5.919200 37.619099 -4.570300 0.183200 0.661600 0 253 27 --6.542300 35.480598 -4.902800 0.182300 0.631800 0 253 27 --5.598500 31.822901 -1.405400 0.231500 0.582200 133 152 48 --4.685700 36.664101 -1.616400 0.239100 0.661600 13 240 28 --0.474100 61.294899 -0.607800 0.499900 0.227200 0 254 27 --1.340700 61.343498 -1.024900 0.467800 0.231800 0 254 27 --2.225300 60.301201 -1.334400 0.434400 0.187400 0 254 27 --0.596000 60.268700 -0.255900 0.502600 0.185300 0 254 27 --1.340700 61.343498 -1.024900 0.467800 0.231800 254 254 254 --0.474100 61.294899 -0.607800 0.499900 0.227200 254 254 254 --0.785400 61.539799 -0.048800 0.505500 0.247600 254 254 254 --1.792100 61.563202 -0.648200 0.464300 0.250800 254 254 254 -0.000000 45.235802 -8.516300 0.061400 0.762800 0 253 27 -0.000000 38.221600 -8.073300 0.073200 0.661600 0 253 27 --2.827600 38.171799 -8.088300 0.114500 0.661600 0 253 27 --5.495700 46.043098 -6.732400 0.139900 0.788400 0 253 27 --0.425600 30.069099 -1.503600 0.251300 0.411900 254 254 254 --3.798500 31.552500 -0.386300 0.210900 0.433400 254 254 254 --2.189200 21.987900 -1.481800 0.225500 0.313700 254 254 254 -0.000000 31.547001 -9.939100 0.349900 0.400200 254 68 73 -0.000000 30.215401 -1.522000 0.252400 0.417000 254 68 73 --0.425600 30.069099 -1.503600 0.251300 0.411900 254 68 73 --0.340300 31.400700 -9.922000 0.348900 0.396000 254 68 73 --21.061199 44.183601 -7.611200 0.879500 0.705100 52 208 31 --22.585199 48.327702 -7.594400 0.812700 0.705100 104 170 42 --17.208200 49.477699 -7.512200 0.810800 0.788400 6 242 27 --15.884600 46.520500 -7.855800 0.879500 0.788400 0 250 27 --22.348700 46.932201 -2.822400 0.746000 0.680200 72 195 37 --22.585199 48.327702 -7.594400 0.812700 0.705100 0 253 27 --23.337700 47.268200 -6.945000 0.809900 0.680200 0 254 27 --21.061199 44.183601 -7.611200 0.626900 0.699700 52 208 31 --21.936399 43.055199 -3.733600 0.691800 0.680200 0 253 27 --22.105101 44.119598 -7.074000 0.641700 0.680200 30 225 27 -0.000000 59.375900 0.272700 0.533800 0.153800 254 254 254 -0.226300 59.631802 0.717000 0.537800 0.167300 254 254 254 --0.226300 59.631802 0.717000 0.529800 0.167300 254 254 254 --0.163800 60.672798 0.405300 0.529100 0.200900 0 254 27 --0.226300 59.631802 0.717000 0.529800 0.167300 0 254 27 -0.226300 59.631802 0.717000 0.537800 0.167300 0 254 27 -0.163800 60.672798 0.405300 0.538500 0.200900 0 254 27 --0.340300 31.400700 -9.922000 0.033600 0.413900 0 253 27 --2.162800 35.743500 -9.599900 0.052600 0.465300 0 253 27 -0.000000 35.795200 -9.599900 0.027500 0.464800 0 253 27 -0.000000 31.547001 -9.939100 0.029600 0.415400 0 253 27 --5.919200 37.619099 -4.570300 0.183200 0.661600 0 254 27 --2.827600 38.171799 -8.088300 0.114500 0.661600 0 254 27 --2.162800 35.743500 -9.599900 0.096500 0.631800 0 254 27 --5.283200 35.952900 -7.814600 0.142000 0.631800 0 254 27 --28.543800 44.178001 -4.651400 0.718600 0.545700 254 254 254 --27.102699 45.320202 -5.735100 0.706300 0.587600 254 254 254 --26.246300 42.901402 -5.383600 0.663100 0.553800 254 254 254 --28.292801 42.543098 -4.446800 0.704200 0.514300 254 254 254 --25.491899 42.827301 -2.370100 0.813300 0.554500 0 254 27 --27.637899 42.321201 -1.984400 0.816200 0.507300 0 254 27 --28.380600 42.330502 -3.056600 0.853500 0.507000 0 254 27 --26.246300 42.901402 -5.383600 0.880100 0.569900 20 231 27 --25.491899 42.827301 -2.370100 0.813300 0.554500 0 253 27 --28.380600 42.330502 -3.056600 0.853500 0.507000 0 252 27 --0.179900 61.274700 0.058500 0.525600 0.223900 0 254 27 --0.163800 60.672798 0.405300 0.529100 0.200900 0 254 27 -0.163800 60.672798 0.405300 0.538500 0.200900 0 254 27 -0.179900 61.274700 0.058500 0.542100 0.223900 0 254 27 -0.000000 61.912998 -0.048000 0.533800 0.254400 0 254 27 --0.179900 61.274700 0.058500 0.525600 0.223900 0 254 27 -0.179900 61.274700 0.058500 0.542100 0.223900 0 254 27 --2.162800 35.743500 -9.599900 0.096500 0.631800 0 253 27 --2.827600 38.171799 -8.088300 0.114500 0.661600 0 253 27 -0.000000 38.221600 -8.073300 0.073200 0.661600 0 253 27 -0.000000 35.795200 -9.599900 0.068100 0.631800 0 253 27 -4.620900 14.945700 -8.516100 0.912200 0.175600 0 253 27 -3.252600 0.001600 -8.591000 0.909400 0.032900 235 80 66 -1.712600 0.024900 -9.195700 0.925400 0.031900 254 68 73 -1.456400 14.610600 -8.695100 0.943400 0.175600 0 253 27 -4.089400 2.633000 -5.031300 0.873900 0.060000 18 0 253 -3.252600 0.001600 -8.591000 0.909400 0.032900 19 0 253 -4.620900 14.945700 -8.516100 0.912200 0.175600 0 247 31 -5.308800 13.910900 -3.738700 0.859000 0.175600 0 253 27 -1.553600 3.059500 -4.173500 0.841100 0.058900 18 0 253 -3.061600 3.537800 -3.461700 0.856300 0.067800 18 0 253 -1.766900 13.754900 -2.918700 0.824200 0.175600 0 254 27 -1.553600 3.059500 -4.173500 0.841100 0.058900 254 254 254 -1.766900 13.754900 -2.918700 0.824200 0.175600 254 254 254 -1.239800 14.644800 -6.465300 0.795300 0.175600 254 254 254 -0.626000 0.031700 -8.336200 0.808600 0.019600 254 254 254 -5.495700 46.043098 -6.732400 0.140100 0.788400 0 252 27 -6.029500 46.188801 -3.956000 0.183500 0.792100 0 253 27 -5.919200 37.619099 -4.570300 0.183400 0.661600 9 98 162 -2.827600 38.171799 -8.088300 0.114700 0.661600 8 119 142 -4.685700 36.664101 -1.616400 0.239300 0.661600 0 250 28 -5.919200 37.619099 -4.570300 0.183400 0.661600 9 98 162 -6.029500 46.188801 -3.956000 0.183500 0.792100 0 253 27 -4.298500 47.001099 -0.058900 0.249500 0.802400 0 253 27 -6.775800 50.206501 -7.534500 0.134300 0.852600 0 253 27 -0.000000 50.037800 -9.413700 0.042000 0.827300 0 253 27 -0.000000 53.738098 -8.986800 0.028300 0.877800 0 253 27 -7.252500 54.524502 -7.615000 0.126400 0.913200 0 254 27 -7.252500 54.524502 -7.615000 0.533200 0.977800 0 254 27 -6.624100 53.529800 -2.653700 0.469900 0.977800 0 253 27 -8.184300 53.108700 -3.320400 0.469900 0.942000 0 253 27 -8.747800 53.770199 -7.353300 0.528600 0.942000 0 253 27 -9.827700 52.989700 -7.188500 0.526400 0.916400 0 253 27 -9.508400 52.403099 -3.672700 0.469900 0.916400 0 253 27 -15.636800 49.715099 -4.015700 0.469900 0.803100 1 215 59 -14.989100 50.565300 -7.297200 0.526200 0.828100 0 249 29 -0.000000 37.009800 0.550700 0.310700 0.661600 0 253 27 -4.685700 36.664101 -1.616400 0.239300 0.661600 0 250 28 -4.298500 47.001099 -0.058900 0.249500 0.802400 0 253 27 -0.000000 47.287498 1.094200 0.310700 0.805700 0 253 27 -0.000000 53.738098 -8.986800 0.028300 0.877800 0 253 27 -0.000000 55.950600 -7.250100 0.022600 0.916300 0 253 27 -2.321200 55.471001 -5.570800 0.053900 0.941000 0 253 27 -7.252500 54.524502 -7.615000 0.126400 0.913200 0 254 27 -3.773800 51.093601 -1.034300 0.256800 0.864400 0 253 27 -4.298500 47.001099 -0.058900 0.249500 0.802400 0 253 27 -6.029500 46.188801 -3.956000 0.183500 0.792100 0 253 27 -6.624100 53.529800 -2.653700 0.210400 0.900400 0 253 27 -6.624100 53.529800 -2.653700 0.210400 0.900400 254 68 73 -6.029500 46.188801 -3.956000 0.183500 0.792100 254 68 73 -7.813100 49.342701 -3.886900 0.181200 0.844200 254 68 73 -0.000000 50.880199 0.110000 0.310700 0.860500 0 253 27 -0.000000 47.287498 1.094200 0.310700 0.805700 0 252 27 -4.298500 47.001099 -0.058900 0.249500 0.802400 0 253 27 -3.773800 51.093601 -1.034300 0.256800 0.864400 0 253 27 -16.136200 50.023998 -7.546200 0.529500 0.803100 0 253 27 -14.885000 46.974701 -7.946000 0.590800 0.803100 0 253 27 -13.779500 47.417198 -7.715300 0.590800 0.828100 0 253 27 -14.989100 50.565300 -7.297200 0.526200 0.828100 0 253 27 -13.779500 47.417198 -7.715300 0.347800 0.823100 0 253 27 -14.977100 45.689201 -4.821000 0.400900 0.803100 0 253 27 -8.927200 49.128502 -4.128200 0.409800 0.916400 0 253 27 -8.756500 49.321098 -7.632900 0.347800 0.916400 0 253 27 -17.208200 49.477699 -7.512200 0.531700 0.782100 0 227 47 -16.810101 49.139900 -3.928800 0.469900 0.782100 35 133 112 -22.348700 46.932201 -2.822400 0.469900 0.674700 19 0 250 -22.585199 48.327702 -7.594400 0.533600 0.698800 0 236 38 -21.936399 43.055199 -3.733600 0.412700 0.674700 19 0 253 -22.348700 46.932201 -2.822400 0.469900 0.674700 19 0 250 -16.810101 49.139900 -3.928800 0.469900 0.782100 35 133 112 -16.192200 44.960400 -4.877100 0.398600 0.782100 18 0 253 -22.105101 44.119598 -7.074000 0.583100 0.674700 0 253 27 -21.061199 44.183601 -7.611200 0.590800 0.698800 0 253 27 -22.585199 48.327702 -7.594400 0.533600 0.698800 0 253 27 -23.337700 47.268200 -6.945000 0.530800 0.674700 0 253 27 -15.884600 46.520500 -7.855800 0.347800 0.782100 0 253 27 -21.061199 44.183601 -7.611200 0.347800 0.693400 0 253 27 -21.936399 43.055199 -3.733600 0.412700 0.674700 0 253 27 -16.192200 44.960400 -4.877100 0.398600 0.782100 0 253 27 -5.598500 31.822901 -1.404300 0.847900 0.413200 0 240 37 -7.453900 29.910801 -4.780100 0.884800 0.385400 18 0 251 -7.174300 32.815300 -5.167300 0.893300 0.414200 17 7 244 -4.970000 33.082802 -8.871900 0.938900 0.409500 18 0 252 -7.174300 32.815300 -5.167300 0.893300 0.414200 17 7 244 -7.453900 29.910801 -4.780100 0.884800 0.385400 18 0 251 -5.595300 29.761600 -8.492500 0.927500 0.375900 18 0 253 -6.827700 20.858999 -3.044800 0.858900 0.286100 0 231 44 -6.194700 19.576300 -3.478600 0.860200 0.277400 0 248 31 -5.426000 21.341299 -8.132600 0.914200 0.282100 15 21 230 -0.835600 22.853901 -8.210700 0.964300 0.301600 0 253 27 -5.317800 22.936800 -8.016200 0.916400 0.301600 0 253 27 -5.426000 21.341299 -8.132600 0.914200 0.282100 0 253 27 -0.899900 21.410400 -8.349400 0.962800 0.286100 0 253 27 -0.899900 21.410400 -8.349400 0.726500 0.282100 254 254 254 -1.853000 19.164200 -1.371600 0.805100 0.274200 254 254 254 -1.957400 20.620800 -1.211500 0.804700 0.286100 254 254 254 -6.194700 19.576300 -3.478600 0.860200 0.277400 0 248 31 -6.827700 20.858999 -3.044800 0.858900 0.286100 0 231 44 -1.957400 20.620800 -1.211500 0.804700 0.286100 0 253 27 -1.853000 19.164200 -1.371600 0.805100 0.274200 0 253 27 -5.117200 15.490400 -9.679700 0.917300 0.220800 0 253 27 -0.134100 16.169500 -9.174700 0.969900 0.225300 0 253 27 -0.899900 21.410400 -8.349400 0.962800 0.286100 0 253 27 -5.426000 21.341299 -8.132600 0.914200 0.282100 0 253 27 -0.134100 16.169500 -9.174700 0.732600 0.207100 0 254 27 -1.716700 14.450400 -2.459200 0.808600 0.236100 0 254 27 -1.853000 19.164200 -1.371600 0.805100 0.274200 0 254 27 -0.899900 21.410400 -8.349400 0.726500 0.282100 0 254 27 -1.853000 19.164200 -1.371600 0.805100 0.274200 0 253 27 -1.716700 14.450400 -2.459200 0.808600 0.236100 0 253 27 -6.069200 14.643000 -3.762300 0.859400 0.227800 0 253 27 -6.194700 19.576300 -3.478600 0.860200 0.277400 0 248 31 -6.069200 14.643000 -3.762300 0.859400 0.227800 0 253 27 -5.117200 15.490400 -9.679700 0.917300 0.220800 2 202 70 -5.426000 21.341299 -8.132600 0.914200 0.282100 15 21 230 -6.194700 19.576300 -3.478600 0.860200 0.277400 0 248 31 -7.813100 49.342701 -3.886900 0.181200 0.844200 0 253 27 -6.029500 46.188801 -3.956000 0.183500 0.792100 0 253 27 -5.495700 46.043098 -6.732400 0.140100 0.788400 0 252 27 -6.775800 50.206501 -7.534500 0.134300 0.852600 0 253 27 -8.756500 49.321098 -7.632900 0.347800 0.916400 254 68 73 -8.927200 49.128502 -4.128200 0.409800 0.916400 254 68 73 -7.813100 49.342701 -3.886900 0.407700 0.942000 254 68 73 -6.775800 50.206501 -7.534500 0.347800 0.942000 254 68 73 -5.495700 46.043098 -6.732400 0.140100 0.788400 0 253 27 -0.000000 45.235802 -8.516300 0.061600 0.762900 0 253 27 -0.000000 50.037800 -9.413700 0.042000 0.827300 0 253 27 -6.775800 50.206501 -7.534500 0.134300 0.852600 0 253 27 -3.773800 51.093601 -1.034300 0.256800 0.864400 0 253 27 -1.435700 55.057400 -2.884500 0.286000 0.931400 0 253 27 -0.000000 54.522099 -2.187600 0.310700 0.919600 0 253 27 -0.000000 50.880199 0.110000 0.310700 0.860500 0 253 27 -0.163800 60.672798 0.405300 0.538500 0.200900 0 253 27 -0.226300 59.631802 0.717000 0.537800 0.167300 0 253 27 -0.605400 59.453602 0.006800 0.558900 0.156900 0 253 27 -0.596000 60.268700 -0.255900 0.565100 0.185300 0 253 27 -0.000000 59.375900 0.272700 0.533800 0.153800 0 253 27 -0.000000 58.735298 0.237300 0.533800 0.134400 0 253 27 -0.793500 58.611801 -0.022400 0.561500 0.129800 0 253 27 -0.605400 59.453602 0.006800 0.558900 0.156900 0 253 27 -1.340700 61.343498 -1.024900 0.599900 0.231700 254 254 254 -2.225300 60.301201 -1.334400 0.633200 0.187400 254 254 254 -2.209500 61.230499 -1.515000 0.636800 0.228100 254 254 254 -0.474100 61.294899 -0.607800 0.567800 0.227200 0 253 27 -0.785400 61.539799 -0.048800 0.562200 0.247600 0 253 27 -0.179900 61.274700 0.058500 0.542100 0.223900 0 253 27 -0.163800 60.672798 0.405300 0.538500 0.200900 0 253 27 -0.596000 60.268700 -0.255900 0.565100 0.185300 0 253 27 -0.474100 61.294899 -0.607800 0.567800 0.227200 0 253 27 -0.179900 61.274700 0.058500 0.542100 0.223900 0 253 27 -0.785400 61.539799 -0.048800 0.562200 0.247600 0 253 27 -1.792100 61.563202 -0.648200 0.603400 0.250800 0 253 27 -1.901400 62.898899 -1.262500 0.616100 0.287500 0 253 27 -0.000000 62.775902 -0.355700 0.533900 0.286800 0 253 27 -1.901400 62.898899 -1.262500 0.616100 0.287500 254 73 78 -1.792100 61.563202 -0.648200 0.603400 0.250800 254 68 73 -2.209500 61.230499 -1.515000 0.636800 0.228100 254 68 73 -2.505800 61.413601 -3.333900 0.700500 0.240200 254 68 73 -2.071800 58.080299 -1.837600 0.632000 0.089900 254 254 254 -2.361600 58.652599 -3.405400 0.691600 0.111600 254 254 254 -2.043500 58.694401 -1.722000 0.633000 0.119000 254 254 254 -2.361600 58.652599 -3.405400 0.691600 0.111600 254 254 254 -2.071800 58.080299 -1.837600 0.632000 0.089900 254 254 254 -1.480400 57.287800 -3.167400 0.679600 0.054000 254 254 254 -2.361600 58.652599 -3.405400 0.691600 0.111600 254 254 254 -2.484800 60.667999 -2.078300 0.658100 0.193000 254 254 254 -2.225300 60.301201 -1.334400 0.633200 0.187400 254 254 254 -2.043500 58.694401 -1.722000 0.633000 0.119000 254 254 254 -0.596000 60.268700 -0.255900 0.565100 0.185300 0 253 27 -0.605400 59.453602 0.006800 0.558900 0.156900 0 253 27 -0.793500 58.611801 -0.022400 0.561500 0.129800 0 253 27 -2.225300 60.301201 -1.334400 0.633200 0.187400 0 253 27 -0.793500 58.611801 -0.022400 0.561500 0.129800 254 68 73 -0.000000 58.735298 0.237300 0.533800 0.134400 254 68 73 -0.000000 57.320400 0.190300 0.533800 0.095300 254 68 73 -0.860300 57.339199 -0.345300 0.560600 0.087800 254 68 73 -2.361600 58.652599 -3.405400 0.691600 0.111600 254 254 254 -1.480400 57.287800 -3.167400 0.679600 0.054000 254 254 254 -1.507500 57.978802 -4.806700 0.740400 0.071600 254 254 254 -1.480400 57.287800 -3.167400 0.293800 0.962800 0 253 27 -0.509500 56.862801 -2.081200 0.308000 0.953500 0 253 27 -0.000000 54.522099 -2.187600 0.310700 0.919600 0 253 27 -1.435700 55.057400 -2.884500 0.286000 0.931400 0 254 27 -1.435700 55.057400 -2.884500 0.286000 0.931400 254 68 73 -2.321200 55.471001 -5.570800 0.259700 0.968000 254 68 73 -1.507500 57.978802 -4.806700 0.270100 0.982500 254 68 73 -1.480400 57.287800 -3.167400 0.293800 0.962800 254 68 73 -5.117200 15.490400 -9.679700 0.917300 0.220800 0 253 27 -1.456400 14.610600 -8.695100 0.949700 0.207500 0 253 27 -0.134100 16.169500 -9.174700 0.969900 0.225300 0 253 27 -0.134100 16.169500 -9.174700 0.732600 0.207100 254 254 254 -1.239800 14.644800 -6.465300 0.774100 0.204900 254 254 254 -1.716700 14.450400 -2.459200 0.808600 0.236100 254 254 254 -5.308800 13.910900 -3.738700 0.855000 0.218100 0 253 27 -6.069200 14.643000 -3.762300 0.859400 0.227800 0 253 27 -1.716700 14.450400 -2.459200 0.808600 0.236100 0 253 27 -1.766900 13.754900 -2.918700 0.809900 0.215800 0 253 27 -4.620900 14.945700 -8.516100 0.914400 0.215300 0 247 31 -5.117200 15.490400 -9.679700 0.917300 0.220800 2 205 68 -6.069200 14.643000 -3.762300 0.859400 0.227800 0 253 27 -5.308800 13.910900 -3.738700 0.855000 0.218100 0 253 27 -1.957400 20.620800 -1.211500 0.804700 0.286100 254 254 254 -2.189200 21.987900 -1.483700 0.804500 0.301600 254 254 254 -0.835600 22.853901 -8.210700 0.728900 0.301600 254 254 254 -0.899900 21.410400 -8.349400 0.726500 0.282100 254 254 254 -7.174300 32.815300 -5.167300 0.893300 0.414200 17 7 244 -4.970000 33.082802 -8.871900 0.938900 0.409500 18 0 252 -5.283200 35.952900 -7.814600 0.933900 0.441300 18 1 249 -6.542300 35.480598 -4.902800 0.897200 0.442800 15 32 221 -5.598500 31.822901 -1.404300 0.847900 0.413200 0 240 37 -7.174300 32.815300 -5.167300 0.893300 0.414200 17 7 244 -6.542300 35.480598 -4.902800 0.897200 0.442800 15 32 221 -4.685700 36.664101 -1.616400 0.239300 0.661600 0 250 28 -3.798500 31.552500 -0.388900 0.257800 0.582200 0 253 27 -5.598500 31.822901 -1.404300 0.231700 0.582200 0 240 37 -2.225300 60.301201 -1.334400 0.633200 0.187400 254 254 254 -2.484800 60.667999 -2.078300 0.658100 0.193000 254 254 254 -2.209500 61.230499 -1.515000 0.636800 0.228100 254 254 254 -8.927200 49.128502 -4.128200 0.409800 0.916400 254 68 73 -9.508400 52.403099 -3.672700 0.469900 0.916400 254 68 73 -8.184300 53.108700 -3.320400 0.469900 0.942000 254 68 73 -7.813100 49.342701 -3.886900 0.407700 0.942000 254 68 73 -8.184300 53.108700 -3.320400 0.469900 0.942000 0 253 27 -9.508400 52.403099 -3.672700 0.469900 0.916400 0 253 27 -9.827700 52.989700 -7.188500 0.526400 0.916400 0 253 27 -8.747800 53.770199 -7.353300 0.528600 0.942000 0 253 27 -8.747800 53.770199 -7.353300 0.528600 0.942000 0 253 27 -6.775800 50.206501 -7.534500 0.590800 0.942000 0 253 27 -7.252500 54.524502 -7.615000 0.533200 0.977800 0 254 27 -8.927200 49.128502 -4.128200 0.409800 0.916400 0 253 27 -14.977100 45.689201 -4.821000 0.400900 0.803100 18 0 253 -15.636800 49.715099 -4.015700 0.469900 0.803100 29 188 60 -9.508400 52.403099 -3.672700 0.469900 0.916400 0 253 27 -1.435700 55.057400 -2.884500 0.286000 0.931400 0 253 27 -3.773800 51.093601 -1.034300 0.256800 0.864400 0 253 27 -6.624100 53.529800 -2.653700 0.210400 0.900400 0 253 27 -7.252500 54.524502 -7.615000 0.180600 0.964800 0 253 27 -2.321200 55.471001 -5.570800 0.259700 0.968000 0 253 27 -1.435700 55.057400 -2.884500 0.286000 0.931400 0 253 27 -7.252500 54.524502 -7.615000 0.180600 0.964800 0 253 27 -2.209500 61.230499 -1.515000 0.636800 0.228100 254 254 254 -2.484800 60.667999 -2.078300 0.658100 0.193000 254 254 254 -2.505800 61.413601 -3.333900 0.704900 0.212700 254 254 254 -2.484800 60.667999 -2.078300 0.658100 0.193000 254 254 254 -2.361600 58.652599 -3.405400 0.691600 0.111600 254 254 254 -2.505800 61.413601 -3.333900 0.704900 0.212700 254 254 254 -2.209500 61.230499 -1.515000 0.636800 0.228100 254 68 73 -1.792100 61.563202 -0.648200 0.603400 0.250800 254 68 73 -1.340700 61.343498 -1.024900 0.599900 0.231700 254 68 73 -3.061600 3.537800 -3.461700 0.290200 0.071700 18 0 253 -1.553600 3.059500 -4.173500 0.275500 0.071900 18 0 253 -1.568700 1.981700 -0.627100 0.274000 0.039600 19 0 253 -3.735600 1.816900 0.228400 0.290200 0.030700 19 0 253 -0.626000 0.031700 -8.336200 0.238500 0.103000 0 254 27 -1.825200 -0.024100 0.601200 0.266200 0.023600 254 254 254 -1.568700 1.981700 -0.627100 0.274000 0.039600 254 254 254 -1.553600 3.059500 -4.173500 0.275500 0.071900 186 254 192 -1.825200 -0.024100 0.601200 0.783900 0.050100 0 254 27 -0.626000 0.031700 -8.336200 0.777900 0.139800 253 254 253 -1.712600 0.024900 -9.195700 0.765100 0.147100 254 254 254 -3.769300 -0.009000 1.132900 0.765800 0.040900 0 254 27 -1.712600 0.024900 -9.195700 0.925400 0.031900 254 68 73 -0.626000 0.031700 -8.336200 0.938600 0.031200 254 68 73 -1.239800 14.644800 -6.465300 0.974400 0.175600 254 68 73 -1.456400 14.610600 -8.695100 0.943400 0.175600 254 68 73 -1.568700 1.981700 -0.627100 0.274000 0.039600 19 0 253 -1.825200 -0.024100 0.601200 0.266200 0.023600 19 0 253 -3.769300 -0.009000 1.132900 0.289700 0.012400 19 0 253 -3.735600 1.816900 0.228400 0.290200 0.030700 19 0 253 -4.089400 2.633000 -5.031300 0.310400 0.073900 18 0 253 -5.390300 1.568200 -1.670300 0.308400 0.040400 18 0 253 -5.176800 -0.025000 -0.598300 0.313500 0.023800 18 0 253 -3.252600 0.001600 -8.591000 0.345300 0.097200 19 0 253 -3.769300 -0.009000 1.132900 0.289700 0.012400 18 0 253 -5.176800 -0.025000 -0.598300 0.313500 0.023800 18 0 253 -5.390300 1.568200 -1.670300 0.308400 0.040400 18 0 253 -3.735600 1.816900 0.228400 0.290200 0.030700 18 0 253 -5.390300 1.568200 -1.670300 0.308400 0.040400 18 0 253 -4.089400 2.633000 -5.031300 0.310400 0.073900 18 0 253 -3.061600 3.537800 -3.461700 0.290200 0.071700 18 0 253 -3.735600 1.816900 0.228400 0.290200 0.030700 18 0 253 -3.061600 3.537800 -3.461700 0.856300 0.067800 18 0 253 -4.089400 2.633000 -5.031300 0.873900 0.060000 18 0 253 -5.308800 13.910900 -3.738700 0.859000 0.175600 0 253 27 -1.766900 13.754900 -2.918700 0.824200 0.175600 0 253 27 -5.117200 15.490400 -9.679700 0.917300 0.220800 0 253 27 -4.620900 14.945700 -8.516100 0.914400 0.215300 0 253 27 -1.456400 14.610600 -8.695100 0.949700 0.207500 0 253 27 -1.456400 14.610600 -8.695100 0.746600 0.183800 254 254 254 -1.239800 14.644800 -6.465300 0.774100 0.204900 254 254 254 -0.134100 16.169500 -9.174700 0.732600 0.207100 254 254 254 -5.426000 21.341299 -8.132600 0.914200 0.282100 15 21 230 -5.317800 22.936800 -8.016200 0.916400 0.301600 18 0 252 -6.824000 22.193899 -3.251500 0.860400 0.301600 3 179 89 -6.827700 20.858999 -3.044800 0.858900 0.286100 0 231 44 -0.845100 29.891001 -9.498900 0.978500 0.369500 0 253 27 -5.595300 29.761600 -8.492500 0.927500 0.375900 0 253 27 -5.317800 22.936800 -8.016200 0.916400 0.301600 0 253 27 -0.835600 22.853901 -8.210700 0.964300 0.301600 0 253 27 -1.957400 20.620800 -1.211500 0.804700 0.286100 254 68 73 -6.827700 20.858999 -3.044800 0.858900 0.286100 232 61 86 -6.824000 22.193899 -3.251500 0.860400 0.301600 185 47 122 -2.189200 21.987900 -1.483700 0.804500 0.301600 254 68 73 -0.605400 59.453602 0.006800 0.558900 0.156900 254 68 73 -0.226300 59.631802 0.717000 0.537800 0.167300 254 68 73 -0.000000 59.375900 0.272700 0.533800 0.153800 254 68 73 -21.936399 43.055199 -3.733600 0.412700 0.674700 19 0 253 -23.265499 44.290199 -3.614200 0.431800 0.655600 19 0 253 -23.323000 46.228001 -3.425200 0.469900 0.655600 19 0 251 -22.348700 46.932201 -2.822400 0.469900 0.674700 20 0 250 -22.105101 44.119598 -7.074000 0.583100 0.674700 0 253 27 -23.337700 47.268200 -6.945000 0.530800 0.674700 0 253 27 -23.881300 46.267799 -5.995500 0.521800 0.655600 0 253 27 -23.273100 44.479099 -6.170500 0.556600 0.655600 0 253 27 -22.348700 46.932201 -2.822400 0.469900 0.674700 18 0 249 -23.323000 46.228001 -3.425200 0.469900 0.655600 18 0 251 -23.881300 46.267799 -5.995500 0.521800 0.655600 12 63 193 -23.337700 47.268200 -6.945000 0.530800 0.674700 2 175 92 -21.936399 43.055199 -3.733600 0.412700 0.674700 18 0 253 -22.105101 44.119598 -7.074000 0.362600 0.674700 18 0 253 -23.273100 44.479099 -6.170500 0.386800 0.655600 18 0 253 -23.265499 44.290199 -3.614200 0.431800 0.655600 18 0 253 -23.323000 46.228001 -3.425200 0.469900 0.655600 19 0 251 -23.265499 44.290199 -3.614200 0.431800 0.655600 19 0 253 -24.446100 44.099098 -3.039500 0.444100 0.624200 19 0 253 -24.935400 45.742901 -3.288800 0.469900 0.624200 20 0 251 -23.273100 44.479099 -6.170500 0.556600 0.655600 0 253 27 -23.881300 46.267799 -5.995500 0.521800 0.655600 0 253 27 -25.982700 45.641201 -5.974700 0.517100 0.624200 0 253 27 -25.718901 44.407902 -5.989100 0.533000 0.624200 0 253 27 -23.881300 46.267799 -5.995500 0.521800 0.655600 64 24 202 -23.323000 46.228001 -3.425200 0.469900 0.655600 19 0 251 -24.935400 45.742901 -3.288800 0.469900 0.624200 20 0 251 -25.982700 45.641201 -5.974700 0.517100 0.624200 65 29 197 -23.265499 44.290199 -3.614200 0.431800 0.655600 0 251 27 -23.273100 44.479099 -6.170500 0.386800 0.655600 0 253 27 -25.718901 44.407902 -5.989100 0.398000 0.624200 0 253 27 -24.446100 44.099098 -3.039500 0.444100 0.624200 53 205 30 -3.798500 31.552500 -0.388900 0.257800 0.582200 57 208 35 -4.685700 36.664101 -1.616400 0.239300 0.661600 0 250 28 -0.000000 37.009800 0.550700 0.310700 0.661600 172 124 55 -0.000000 31.552500 0.128500 0.310700 0.582200 203 101 62 -27.058001 43.733101 -1.471100 0.783900 0.527900 19 0 253 -26.775499 43.007000 -1.492900 0.799700 0.523000 19 0 253 -27.637899 42.321201 -1.984400 0.780200 0.502700 19 0 253 -28.100901 44.177299 -2.470000 0.756100 0.537200 19 0 253 -27.102699 45.320202 -5.735100 0.706300 0.587600 0 253 27 -26.246300 42.901402 -5.383600 0.663100 0.553800 0 252 27 -25.718901 44.407902 -5.989100 0.674700 0.592000 0 253 27 -25.982700 45.641201 -5.974700 0.701400 0.609900 0 253 27 -24.935400 45.742901 -3.288800 0.774000 0.616500 20 0 251 -26.753901 45.398300 -2.858600 0.766000 0.574200 21 0 250 -27.102699 45.320202 -5.735100 0.706300 0.587600 69 22 201 -25.982700 45.641201 -5.974700 0.701400 0.609900 65 29 197 -24.446100 44.099098 -3.039500 0.815000 0.599300 254 254 254 -25.718901 44.407902 -5.989100 0.885900 0.607200 254 254 254 -26.246300 42.901402 -5.383600 0.880100 0.569900 254 254 254 -28.380600 42.330502 -3.056600 0.741600 0.498200 19 0 253 -28.697901 44.238201 -3.477500 0.737900 0.538900 20 0 252 -28.100901 44.177299 -2.470000 0.756100 0.537200 19 0 253 -27.637899 42.321201 -1.984400 0.780200 0.502700 19 0 253 -28.380600 42.330502 -3.056600 0.741600 0.498200 19 0 253 -28.292801 42.543098 -4.446800 0.704200 0.514300 19 0 253 -28.543800 44.178001 -4.651400 0.718600 0.545700 20 3 248 -28.697901 44.238201 -3.477500 0.737900 0.538900 20 0 252 -26.753901 45.398300 -2.858600 0.766000 0.574200 20 0 250 -28.100901 44.177299 -2.470000 0.756100 0.537200 19 0 253 -28.697901 44.238201 -3.477500 0.737900 0.538900 20 0 252 -24.935400 45.742901 -3.288800 0.774000 0.616500 20 0 251 -24.446100 44.099098 -3.039500 0.815000 0.599300 19 0 253 -25.587200 43.557701 -2.038700 0.806300 0.556900 19 0 253 -26.117701 44.487900 -2.198700 0.788200 0.565100 19 0 253 -24.446100 44.099098 -3.039500 0.815000 0.599300 254 68 73 -26.246300 42.901402 -5.383600 0.880100 0.569900 254 68 73 -25.491899 42.827301 -2.370100 0.813300 0.554500 254 68 73 -25.587200 43.557701 -2.038700 0.806300 0.556900 254 68 73 -26.753901 45.398300 -2.858600 0.766000 0.574200 21 0 250 -24.935400 45.742901 -3.288800 0.774000 0.616500 20 0 251 -26.117701 44.487900 -2.198700 0.788200 0.565100 19 0 253 -0.000000 31.552500 0.128500 0.310700 0.582200 0 253 27 -0.000000 24.132099 -0.356700 0.310700 0.472800 0 253 27 -3.463700 23.872801 -0.356700 0.261200 0.472800 0 253 27 -3.798500 31.552500 -0.388900 0.257800 0.582200 0 253 27 -2.225300 60.301201 -1.334400 0.633200 0.187400 0 253 27 -0.793500 58.611801 -0.022400 0.561500 0.129800 0 253 27 -2.043500 58.694401 -1.722000 0.633000 0.119000 0 253 27 -0.793500 58.611801 -0.022400 0.561500 0.129800 0 253 27 -0.860300 57.339199 -0.345300 0.560600 0.087800 0 253 27 -2.071800 58.080299 -1.837600 0.632000 0.089900 0 253 27 -2.043500 58.694401 -1.722000 0.633000 0.119000 0 253 27 -2.071800 58.080299 -1.837600 0.632000 0.089900 254 68 73 -0.860300 57.339199 -0.345300 0.560600 0.087800 254 68 73 -0.509500 56.862801 -2.081200 0.570500 0.026600 254 68 73 -1.480400 57.287800 -3.167400 0.631900 0.022800 254 68 73 -0.179900 61.274700 0.058500 0.542100 0.223900 0 254 27 -0.785400 61.539799 -0.048800 0.562200 0.247600 0 254 27 -0.000000 61.912998 -0.048000 0.533800 0.254400 0 254 27 -15.884600 46.520500 -7.855800 0.590800 0.782100 0 253 27 -14.885000 46.974701 -7.946000 0.590800 0.803100 0 253 27 -16.136200 50.023998 -7.546200 0.529500 0.803100 0 253 27 -17.208200 49.477699 -7.512200 0.531700 0.782100 0 253 27 -15.636800 49.715099 -4.015700 0.469900 0.803100 1 215 59 -16.810101 49.139900 -3.928800 0.469900 0.782100 5 158 110 -17.208200 49.477699 -7.512200 0.531700 0.782100 0 227 47 -16.136200 50.023998 -7.546200 0.529500 0.803100 0 244 34 -16.192200 44.960400 -4.877100 0.398600 0.782100 254 252 252 -14.977100 45.689201 -4.821000 0.400900 0.803100 254 202 204 -14.885000 46.974701 -7.946000 0.347800 0.803100 254 123 127 -15.884600 46.520500 -7.855800 0.347800 0.782100 254 212 213 -16.810101 49.139900 -3.928800 0.469900 0.782100 35 133 112 -15.636800 49.715099 -4.015700 0.469900 0.803100 25 190 59 -14.977100 45.689201 -4.821000 0.400900 0.803100 18 0 253 -16.192200 44.960400 -4.877100 0.398600 0.782100 18 0 253 -13.779500 47.417198 -7.715300 0.590800 0.828100 12 79 181 -8.756500 49.321098 -7.632900 0.590800 0.916400 0 250 29 -9.827700 52.989700 -7.188500 0.526400 0.916400 0 253 27 -14.989100 50.565300 -7.297200 0.526200 0.828100 0 249 29 -15.636800 49.715099 -4.015700 0.469900 0.803100 1 215 59 -16.136200 50.023998 -7.546200 0.529500 0.803100 0 244 34 -14.989100 50.565300 -7.297200 0.526200 0.828100 0 249 29 -13.779500 47.417198 -7.715300 0.347800 0.823100 254 70 75 -14.885000 46.974701 -7.946000 0.347800 0.803100 254 123 127 -14.977100 45.689201 -4.821000 0.400900 0.803100 254 202 204 -1.239800 14.644800 -6.465300 0.774100 0.204900 254 254 254 -1.766900 13.754900 -2.918700 0.809900 0.215800 254 254 254 -1.716700 14.450400 -2.459200 0.808600 0.236100 254 254 254 -26.117701 44.487900 -2.198700 0.788200 0.565100 19 0 253 -25.587200 43.557701 -2.038700 0.806300 0.556900 19 0 253 -26.775499 43.007000 -1.492900 0.799700 0.523000 19 0 253 -27.058001 43.733101 -1.471100 0.783900 0.527900 19 0 253 -25.587200 43.557701 -2.038700 0.806300 0.556900 19 0 253 -25.491899 42.827301 -2.370100 0.813300 0.554500 19 0 253 -27.637899 42.321201 -1.984400 0.816200 0.507300 19 0 253 -26.775499 43.007000 -1.492900 0.799700 0.523000 19 0 253 -26.117701 44.487900 -2.198700 0.788200 0.565100 19 0 253 -27.058001 43.733101 -1.471100 0.783900 0.527900 19 0 253 -28.100901 44.177299 -2.470000 0.756100 0.537200 19 0 253 -8.184300 53.108700 -3.320400 0.469900 0.942000 254 68 73 -6.624100 53.529800 -2.653700 0.469900 0.977800 254 68 73 -7.813100 49.342701 -3.886900 0.407700 0.942000 254 68 73 -8.747800 53.770199 -7.353300 0.528600 0.942000 0 253 27 -9.827700 52.989700 -7.188500 0.526400 0.916400 0 253 27 -8.756500 49.321098 -7.632900 0.590800 0.916400 0 253 27 -6.775800 50.206501 -7.534500 0.590800 0.942000 0 253 27 -28.543800 44.178001 -4.651400 0.718600 0.545700 20 3 248 -27.102699 45.320202 -5.735100 0.706300 0.587600 12 64 193 -26.753901 45.398300 -2.858600 0.766000 0.574200 20 0 250 -28.697901 44.238201 -3.477500 0.737900 0.538900 20 0 252 -26.246300 42.901402 -5.383600 0.880100 0.569900 0 252 27 -28.292801 42.543098 -4.446800 0.879400 0.523100 87 180 37 -28.380600 42.330502 -3.056600 0.853500 0.507000 242 73 67 -28.100901 44.177299 -2.470000 0.756100 0.537200 19 0 253 -26.753901 45.398300 -2.858600 0.766000 0.574200 21 0 250 -26.117701 44.487900 -2.198700 0.788200 0.565100 19 0 253 -1.712600 0.024900 -9.195700 0.765100 0.147100 19 0 253 -3.252600 0.001600 -8.591000 0.751000 0.138000 19 0 253 -5.176800 -0.025000 -0.598300 0.748300 0.055100 18 0 253 -3.769300 -0.009000 1.132900 0.765800 0.040900 18 0 253 -0.000000 61.912998 -0.048000 0.533800 0.254400 0 254 27 -0.785400 61.539799 -0.048800 0.562200 0.247600 0 254 27 -0.000000 62.775902 -0.355700 0.533900 0.286800 0 254 27 -0.340300 31.400700 -9.928000 0.694900 0.384200 254 254 254 -0.845100 29.891001 -9.498900 0.702700 0.368200 254 254 254 -0.425600 30.069099 -1.507500 0.785600 0.393300 254 254 254 -0.509500 56.862801 -2.081200 0.308000 0.953500 254 127 129 -0.509500 56.862801 -2.081200 0.570500 0.026600 0 253 27 -0.860300 57.339199 -0.345300 0.560600 0.087800 0 253 27 -0.000000 57.320400 0.190300 0.533800 0.095300 0 253 27 -0.000000 56.862801 -2.081200 0.533800 0.019000 0 253 27 -5.598500 31.822901 -1.404300 0.847900 0.413200 0 240 37 -6.824000 22.193899 -3.251500 0.860400 0.301600 3 179 89 -7.453900 29.910801 -4.780100 0.884800 0.385400 18 0 251 -6.824000 22.193899 -3.251500 0.860400 0.301600 3 179 89 -5.317800 22.936800 -8.016200 0.916400 0.301600 18 0 252 -5.595300 29.761600 -8.492500 0.927500 0.375900 18 0 253 -7.453900 29.910801 -4.780100 0.884800 0.385400 18 0 251 -3.798500 31.552500 -0.388900 0.824000 0.411400 0 253 27 -2.189200 21.987900 -1.483700 0.804500 0.301600 0 253 27 -6.824000 22.193899 -3.251500 0.860400 0.301600 3 179 89 -5.598500 31.822901 -1.404300 0.847900 0.413200 0 240 37 -0.340300 31.400700 -9.928000 0.986800 0.385200 0 253 27 -4.970000 33.082802 -8.871900 0.938900 0.409500 0 253 27 -5.595300 29.761600 -8.492500 0.927500 0.375900 0 253 27 -0.845100 29.891001 -9.498900 0.978500 0.369500 0 253 27 -0.835600 22.853901 -8.210700 0.728900 0.301600 254 254 254 -2.189200 21.987900 -1.483700 0.804500 0.301600 254 254 254 -0.425600 30.069099 -1.507500 0.785600 0.393300 254 254 254 -0.845100 29.891001 -9.498900 0.702700 0.368200 254 254 254 -2.162800 35.743500 -9.599900 0.972400 0.433600 0 253 27 -5.283200 35.952900 -7.814600 0.933900 0.441300 0 253 27 -4.970000 33.082802 -8.871900 0.938900 0.409500 0 253 27 -0.340300 31.400700 -9.928000 0.986800 0.385200 0 253 27 -5.283200 35.952900 -7.814600 0.142200 0.631800 18 1 249 -5.919200 37.619099 -4.570300 0.183400 0.661600 9 98 162 -6.542300 35.480598 -4.902800 0.182500 0.631800 15 32 221 -5.919200 37.619099 -4.570300 0.183400 0.661600 9 98 162 -4.685700 36.664101 -1.616400 0.239300 0.661600 0 250 28 -5.598500 31.822901 -1.404300 0.231700 0.582200 0 240 37 -6.542300 35.480598 -4.902800 0.182500 0.631800 15 32 221 -0.474100 61.294899 -0.607800 0.567800 0.227200 254 68 73 -0.596000 60.268700 -0.255900 0.565100 0.185300 254 68 73 -2.225300 60.301201 -1.334400 0.633200 0.187400 254 68 73 -1.340700 61.343498 -1.024900 0.599900 0.231700 254 68 73 -1.340700 61.343498 -1.024900 0.599900 0.231700 0 253 27 -1.792100 61.563202 -0.648200 0.603400 0.250800 0 253 27 -0.785400 61.539799 -0.048800 0.562200 0.247600 0 253 27 -0.474100 61.294899 -0.607800 0.567800 0.227200 0 253 27 -0.000000 45.235802 -8.516300 0.061600 0.762900 0 253 27 -5.495700 46.043098 -6.732400 0.140100 0.788400 0 252 27 -2.827600 38.171799 -8.088300 0.114700 0.661600 8 119 142 -0.000000 38.221600 -8.073300 0.073400 0.661600 0 240 38 -0.425600 30.069099 -1.507500 0.785600 0.393300 254 254 254 -2.189200 21.987900 -1.483700 0.804500 0.301600 254 254 254 -3.798500 31.552500 -0.388900 0.824000 0.411400 254 254 254 -0.000000 31.547001 -9.939100 0.694200 0.388200 254 68 73 -0.340300 31.400700 -9.928000 0.694900 0.384200 254 68 73 -0.425600 30.069099 -1.507500 0.785600 0.393300 254 68 73 -0.000000 30.215401 -1.522000 0.785000 0.398100 254 68 73 -21.061199 44.183601 -7.611200 0.590800 0.698800 18 0 253 -15.884600 46.520500 -7.855800 0.590800 0.782100 17 5 246 -17.208200 49.477699 -7.512200 0.531700 0.782100 0 227 47 -22.585199 48.327702 -7.594400 0.533600 0.698800 0 239 38 -22.348700 46.932201 -2.822400 0.469900 0.674700 18 0 249 -23.337700 47.268200 -6.945000 0.530800 0.674700 2 175 92 -22.585199 48.327702 -7.594400 0.533600 0.698800 0 239 38 -21.061199 44.183601 -7.611200 0.347800 0.693400 0 253 27 -22.105101 44.119598 -7.074000 0.362600 0.674700 0 253 27 -21.936399 43.055199 -3.733600 0.412700 0.674700 0 253 27 -0.340300 31.400700 -9.928000 0.986800 0.385200 0 253 27 -0.000000 31.547001 -9.939100 0.990600 0.386300 0 253 27 -0.000000 35.795200 -9.599900 0.995500 0.431600 0 253 27 -2.162800 35.743500 -9.599900 0.972400 0.433600 0 253 27 -5.919200 37.619099 -4.570300 0.183400 0.661600 9 98 162 -5.283200 35.952900 -7.814600 0.142200 0.631800 18 1 249 -2.162800 35.743500 -9.599900 0.096700 0.631800 16 28 225 -2.827600 38.171799 -8.088300 0.114700 0.661600 8 119 142 -28.543800 44.178001 -4.651400 0.718600 0.545700 77 187 34 -28.292801 42.543098 -4.446800 0.704200 0.514300 87 180 37 -26.246300 42.901402 -5.383600 0.663100 0.553800 0 252 27 -27.102699 45.320202 -5.735100 0.706300 0.587600 0 253 27 -25.491899 42.827301 -2.370100 0.813300 0.554500 190 254 195 -28.380600 42.330502 -3.056600 0.853500 0.507000 242 254 242 -27.637899 42.321201 -1.984400 0.816200 0.507300 254 254 254 -26.246300 42.901402 -5.383600 0.880100 0.569900 0 254 27 -28.380600 42.330502 -3.056600 0.853500 0.507000 242 254 242 -25.491899 42.827301 -2.370100 0.813300 0.554500 190 254 195 -2.162800 35.743500 -9.599900 0.096700 0.631800 0 253 27 -0.000000 35.795200 -9.599900 0.068300 0.631800 0 253 27 -0.000000 38.221600 -8.073300 0.073400 0.661600 0 253 27 -2.827600 38.171799 -8.088300 0.114700 0.661600 0 253 27 -0.706900 62.538601 -0.289700 0.409100 0.538600 0 253 27 -1.838200 62.255798 -0.802600 0.430000 0.507000 0 253 27 -1.901400 63.532299 -1.247600 0.451500 0.531400 0 253 27 -0.672300 63.485901 -0.421800 0.426300 0.552700 0 253 27 -1.901400 63.532299 -1.247600 0.451500 0.531400 0 253 27 -1.838200 62.255798 -0.802600 0.430000 0.507000 0 253 27 -3.194200 60.597198 -3.460400 0.492000 0.451400 0 253 27 -2.758700 63.532299 -3.348800 0.499700 0.518700 0 253 27 -2.758700 63.532299 -3.348800 0.499700 0.518700 0 253 27 -3.194200 60.597198 -3.460400 0.492000 0.451400 0 253 27 -3.446000 60.597198 -5.980300 0.552100 0.445900 0 253 27 -3.010600 63.532299 -5.868700 0.554200 0.511800 0 253 27 -3.194200 60.597198 -3.460400 0.492000 0.451400 0 253 27 -1.838200 62.255798 -0.802600 0.430000 0.507000 0 253 27 -2.336800 60.597198 -1.072500 0.434100 0.460700 0 253 27 -2.130500 53.628601 -1.359200 0.416700 0.297200 0 253 27 -4.088800 54.879799 -3.460400 0.486800 0.316000 0 253 27 -3.194200 60.597198 -3.460400 0.492000 0.451400 0 253 27 -2.336800 60.597198 -1.072500 0.434100 0.460700 0 253 27 -4.088800 54.879799 -3.460400 0.486800 0.316000 0 253 27 -4.340700 55.234299 -6.210400 0.542400 0.331500 0 254 27 -3.446000 60.597198 -5.980300 0.552100 0.445900 0 253 27 -3.194200 60.597198 -3.460400 0.492000 0.451400 0 253 27 -3.010600 63.532299 -5.868700 0.554200 0.511800 0 253 27 -3.446000 60.597198 -5.980300 0.552100 0.445900 0 253 27 -2.517200 60.597198 -7.879200 0.601000 0.450200 0 253 27 -1.932100 63.532299 -7.311200 0.591100 0.519300 0 253 27 -3.446000 60.597198 -5.980300 0.552100 0.445900 0 253 27 -4.340700 55.234299 -6.210400 0.542400 0.331500 0 254 27 -2.990300 54.496300 -8.246000 0.608400 0.297700 0 253 27 -2.517200 60.597198 -7.879200 0.601000 0.450200 0 253 27 -1.932100 63.532299 -7.311200 0.591100 0.519300 0 253 27 -2.517200 60.597198 -7.879200 0.601000 0.450200 0 253 27 -0.000000 60.597198 -8.812800 0.661800 0.464200 0 253 27 -0.000000 63.532299 -8.174500 0.634800 0.537700 0 253 27 -2.990300 54.496300 -8.246000 0.608400 0.297700 0 253 27 -0.000000 54.050800 -8.782700 0.682300 0.308600 0 253 27 -0.000000 60.597198 -8.812800 0.661800 0.464200 0 253 27 -2.517200 60.597198 -7.879200 0.601000 0.450200 0 253 27 -0.672300 63.485901 -0.421800 0.426300 0.552700 0 253 27 -1.901400 63.532299 -1.247600 0.451500 0.531400 0 253 27 -1.171400 65.057899 -2.205500 0.482000 0.564300 0 253 27 -1.901400 63.532299 -1.247600 0.451500 0.531400 0 253 27 -2.758700 63.532299 -3.348800 0.499700 0.518700 0 253 27 -1.795600 65.057899 -4.806100 0.538600 0.556700 0 253 27 -1.171400 65.057899 -2.205500 0.482000 0.564300 0 253 27 -2.758700 63.532299 -3.348800 0.499700 0.518700 0 253 27 -3.010600 63.532299 -5.868700 0.554200 0.511800 0 253 27 -1.795600 65.057899 -4.806100 0.538600 0.556700 0 253 27 -3.010600 63.532299 -5.868700 0.554200 0.511800 0 253 27 -1.932100 63.532299 -7.311200 0.591100 0.519300 0 254 27 -0.000000 65.057899 -6.421400 0.588900 0.582100 0 253 27 -1.795600 65.057899 -4.806100 0.538600 0.556700 0 253 27 -1.932100 63.532299 -7.311200 0.591100 0.519300 0 254 27 -0.000000 63.532299 -8.174500 0.634800 0.537700 0 253 27 -0.000000 65.057899 -6.421400 0.588900 0.582100 0 253 27 -1.171400 65.057899 -2.205500 0.482000 0.564300 0 253 27 -1.795600 65.057899 -4.806100 0.538600 0.556700 0 253 27 -0.000000 65.560898 -4.058400 0.523700 0.603300 0 253 27 -1.795600 65.057899 -4.806100 0.538600 0.556700 0 254 27 -0.000000 65.057899 -6.421400 0.588900 0.582100 0 254 27 -0.000000 65.560898 -4.058400 0.523700 0.603300 0 254 27 -0.672300 63.485901 -0.421800 0.426300 0.552700 0 254 27 -1.171400 65.057899 -2.205500 0.482000 0.564300 0 254 27 --1.171400 65.057899 -2.205500 0.466700 0.607600 0 254 27 --0.672300 63.485901 -0.421800 0.416100 0.581700 0 254 27 -0.706900 62.538601 -0.289700 0.409100 0.538600 0 254 27 -0.672300 63.485901 -0.421800 0.426300 0.552700 0 254 27 -0.000000 62.538601 -0.140300 0.398200 0.559100 0 254 27 -0.672300 63.485901 -0.421800 0.426300 0.552700 0 254 27 --0.672300 63.485901 -0.421800 0.416100 0.581700 0 254 27 -0.000000 62.538601 -0.140300 0.398200 0.559100 0 254 27 -2.130500 53.628601 -1.359200 0.416700 0.297200 0 253 27 -2.336800 60.597198 -1.072500 0.434100 0.460700 0 253 27 -1.393700 60.597198 -3.164700 0.380300 0.463400 0 253 27 -1.187300 53.628601 -3.164700 0.369000 0.300200 0 253 27 --0.706900 62.538601 -0.289700 0.409100 0.538600 0 254 27 --0.672300 63.485901 -0.421800 0.426300 0.552800 0 254 27 --1.901400 63.532299 -1.247600 0.451500 0.531500 0 254 27 --1.838200 62.255798 -0.802600 0.430000 0.507100 0 254 27 --1.901400 63.532299 -1.247600 0.451500 0.531500 0 254 27 --2.758700 63.532299 -3.348800 0.499700 0.518800 0 254 27 --3.194200 60.597198 -3.460400 0.492000 0.451500 0 254 27 --1.838200 62.255798 -0.802600 0.430000 0.507100 0 254 27 --2.758700 63.532299 -3.348800 0.499700 0.518800 0 254 27 --3.010600 63.532299 -5.868700 0.554200 0.511900 0 254 27 --3.446000 60.597198 -5.980300 0.552100 0.445900 0 254 27 --3.194200 60.597198 -3.460400 0.492000 0.451500 0 254 27 --3.194200 60.597198 -3.460400 0.492000 0.451500 0 254 27 --2.336800 60.597198 -1.072500 0.434000 0.460800 0 254 27 --1.838200 62.255798 -0.802600 0.430000 0.507100 0 254 27 --2.130500 53.628601 -1.359200 0.416600 0.297300 0 253 27 --2.336800 60.597198 -1.072500 0.434000 0.460800 0 254 27 --3.194200 60.597198 -3.460400 0.492000 0.451500 0 254 27 --4.088800 54.879799 -3.460400 0.486700 0.316100 0 253 27 --4.088800 54.879799 -3.460400 0.486700 0.316100 0 253 27 --3.194200 60.597198 -3.460400 0.492000 0.451500 0 253 27 --3.446000 60.597198 -5.980300 0.552100 0.445900 0 253 27 --4.340700 55.234299 -6.210400 0.542400 0.331500 0 254 27 --3.010600 63.532299 -5.868700 0.554200 0.511900 0 254 27 --1.932100 63.532299 -7.311200 0.591100 0.519300 0 254 27 --2.517200 60.597198 -7.879200 0.601000 0.450300 0 254 27 --3.446000 60.597198 -5.980300 0.552100 0.445900 0 254 27 --3.446000 60.597198 -5.980300 0.552100 0.445900 0 254 27 --2.517200 60.597198 -7.879200 0.601000 0.450300 0 254 27 --2.990300 54.496300 -8.246000 0.608300 0.297700 0 254 27 --4.340700 55.234299 -6.210400 0.542400 0.331500 0 254 27 --1.932100 63.532299 -7.311200 0.591100 0.519300 0 254 27 -0.000000 63.532299 -8.174500 0.634800 0.537700 0 254 27 -0.000000 60.597198 -8.812800 0.661800 0.464200 0 254 27 --2.517200 60.597198 -7.879200 0.601000 0.450300 0 254 27 --2.990300 54.496300 -8.246000 0.608300 0.297700 0 254 27 --2.517200 60.597198 -7.879200 0.601000 0.450300 0 254 27 -0.000000 60.597198 -8.812800 0.661800 0.464200 0 254 27 -0.000000 54.050800 -8.782700 0.682300 0.308600 0 254 27 --0.672300 63.485901 -0.421800 0.426300 0.552800 0 254 27 --1.171400 65.057899 -2.205500 0.482000 0.564400 0 254 27 --1.901400 63.532299 -1.247600 0.451500 0.531500 0 254 27 --1.901400 63.532299 -1.247600 0.451500 0.531500 0 254 27 --1.171400 65.057899 -2.205500 0.482000 0.564400 0 254 27 --1.795600 65.057899 -4.806100 0.538600 0.556700 0 254 27 --2.758700 63.532299 -3.348800 0.499700 0.518800 0 254 27 --2.758700 63.532299 -3.348800 0.499700 0.518800 0 254 27 --1.795600 65.057899 -4.806100 0.538600 0.556700 0 254 27 --3.010600 63.532299 -5.868700 0.554200 0.511900 0 254 27 --3.010600 63.532299 -5.868700 0.554200 0.511900 0 254 27 --1.795600 65.057899 -4.806100 0.538600 0.556700 0 254 27 -0.000000 65.057899 -6.421400 0.589000 0.582100 0 254 27 --1.932100 63.532299 -7.311200 0.591100 0.519300 0 254 27 --1.932100 63.532299 -7.311200 0.591100 0.519300 0 254 27 -0.000000 65.057899 -6.421400 0.589000 0.582100 0 254 27 -0.000000 63.532299 -8.174500 0.634800 0.537700 0 254 27 --1.171400 65.057899 -2.205500 0.482000 0.564400 0 254 27 -0.000000 65.560898 -4.058400 0.523700 0.603400 0 254 27 --1.795600 65.057899 -4.806100 0.538600 0.556700 0 254 27 --1.795600 65.057899 -4.806100 0.538600 0.556700 0 254 27 -0.000000 65.560898 -4.058400 0.523700 0.603400 0 254 27 -0.000000 65.057899 -6.421400 0.589000 0.582100 0 254 27 --1.171400 65.057899 -2.205500 0.466700 0.607600 0 254 27 -1.171400 65.057899 -2.205500 0.482000 0.564300 0 254 27 -0.000000 65.560898 -4.058400 0.523700 0.603300 0 254 27 --0.706900 62.538601 -0.289700 0.409100 0.538600 0 254 27 -0.000000 62.538601 -0.140300 0.398200 0.559200 0 254 27 --0.672300 63.485901 -0.421800 0.426300 0.552800 0 254 27 --2.130500 53.628601 -1.359200 0.416600 0.297300 164 133 56 --1.187300 53.628601 -3.164700 0.369000 0.300300 209 100 64 --1.393700 60.597198 -3.164700 0.380200 0.463500 254 254 254 --2.336800 60.597198 -1.072500 0.434000 0.460800 254 254 254 -8.704300 24.905701 -6.036500 0.967100 0.466200 0 253 27 -7.984800 25.127701 -6.177400 0.966400 0.464600 0 253 27 -7.649900 27.558001 -5.856100 0.993500 0.506600 0 253 27 -8.503900 27.435900 -5.670300 0.976600 0.507100 0 253 27 -6.463600 36.223400 -3.704900 0.962000 0.710700 9 100 160 -5.778000 35.994701 -1.773100 0.922200 0.717000 0 231 44 -7.451900 27.210300 -3.504400 0.930000 0.516400 18 2 248 -8.503900 27.435900 -5.670300 0.976600 0.507100 18 0 253 -5.115000 35.782600 -2.051700 0.916000 0.725700 0 241 37 -6.597900 27.332300 -3.690200 0.913000 0.515500 16 16 234 -7.451900 27.210300 -3.504400 0.930000 0.516400 18 2 248 -5.778000 35.994701 -1.773100 0.922200 0.717000 0 231 44 -5.743400 36.019600 -3.995900 0.971100 0.718900 0 253 27 -6.463600 36.223400 -3.704900 0.962000 0.710700 0 253 27 -8.503900 27.435900 -5.670300 0.976600 0.507100 0 253 27 -7.649900 27.558001 -5.856100 0.993500 0.506600 0 253 27 -7.451900 27.210300 -3.504400 0.930000 0.516400 21 0 248 -6.597900 27.332300 -3.690200 0.913000 0.515500 35 1 237 -7.984800 25.127701 -6.177400 0.966400 0.464600 19 0 253 -8.704300 24.905701 -6.036500 0.967100 0.466200 19 0 253 -7.451900 27.210300 -3.504400 0.930000 0.516400 18 2 248 -8.704300 24.905701 -6.036500 0.967100 0.466200 18 0 253 -8.503900 27.435900 -5.670300 0.976600 0.507100 18 0 253 -6.463600 36.223400 -3.704900 0.962000 0.710700 254 68 73 -5.743400 36.019600 -3.995900 0.971100 0.718900 254 68 73 -5.115000 35.782600 -2.051700 0.916000 0.725700 254 68 73 -5.778000 35.994701 -1.773100 0.922200 0.717000 254 68 73 -4.513000 55.007702 -5.909800 0.935300 0.759300 0 253 27 -4.291100 55.098900 -5.871800 0.932300 0.755300 0 253 27 -4.207800 55.799599 -6.651700 0.967500 0.768900 0 253 27 -4.871900 55.799599 -6.765400 0.957200 0.775300 0 253 27 -2.904000 62.455601 -5.700500 0.954300 0.968000 0 253 27 -2.764700 62.455601 -4.128400 0.909900 0.975800 0 253 27 -4.736600 55.799599 -5.153900 0.919700 0.781300 0 253 27 -4.871900 55.799599 -6.765400 0.957200 0.775300 0 253 27 -2.764700 62.455601 -4.128400 0.909900 0.975800 0 253 27 -4.072400 55.799599 -5.040200 0.904100 0.777700 0 253 27 -4.736600 55.799599 -5.153900 0.919700 0.781300 0 253 27 -2.904000 62.455601 -5.700500 0.954300 0.968000 0 253 27 -4.871900 55.799599 -6.765400 0.957200 0.775300 0 253 27 -4.207800 55.799599 -6.651700 0.967500 0.768900 0 253 27 -4.736600 55.799599 -5.153900 0.919700 0.781300 254 68 73 -4.072400 55.799599 -5.040200 0.904100 0.777700 254 68 73 -4.291100 55.098900 -5.871800 0.932300 0.755300 254 68 73 -4.513000 55.007702 -5.909800 0.935300 0.759300 254 68 73 -4.736600 55.799599 -5.153900 0.919700 0.781300 0 253 27 -4.513000 55.007702 -5.909800 0.935300 0.759300 0 253 27 -4.871900 55.799599 -6.765400 0.957200 0.775300 0 253 27 -4 0 1 2 3 -4 4 5 6 7 -3 8 9 10 -4 11 12 13 14 -4 15 16 17 18 -4 19 20 21 22 -4 23 24 25 26 -4 27 28 29 30 -4 31 32 33 34 -4 35 36 37 38 -4 39 40 41 42 -4 43 44 45 46 -3 47 48 49 -4 50 51 52 53 -4 54 55 56 57 -4 58 59 60 61 -4 62 63 64 65 -4 66 67 68 69 -4 70 71 72 73 -4 74 75 76 77 -3 78 79 80 -4 81 82 83 84 -3 85 86 87 -4 88 89 90 91 -3 92 93 94 -4 95 96 97 98 -4 99 100 101 102 -4 103 104 105 106 -4 107 108 109 110 -4 111 112 113 114 -4 115 116 117 118 -4 119 120 121 122 -4 123 124 125 126 -4 127 128 129 130 -4 131 132 133 134 -4 135 136 137 138 -3 139 140 141 -3 142 143 144 -4 145 146 147 148 -4 149 150 151 152 -4 153 154 155 156 -3 157 158 159 -3 160 161 162 -4 163 164 165 166 -4 167 168 169 170 -4 171 172 173 174 -3 175 176 177 -4 178 179 180 181 -4 182 183 184 185 -3 186 187 188 -3 189 190 191 -4 192 193 194 195 -4 196 197 198 199 -4 200 201 202 203 -4 204 205 206 207 -3 208 209 210 -3 211 212 213 -3 214 215 216 -4 217 218 219 220 -4 221 222 223 224 -3 225 226 227 -4 228 229 230 231 -4 232 233 234 235 -3 236 237 238 -3 239 240 241 -3 242 243 244 -3 245 246 247 -4 248 249 250 251 -4 252 253 254 255 -4 256 257 258 259 -4 260 261 262 263 -4 264 265 266 267 -4 268 269 270 271 -4 272 273 274 275 -4 276 277 278 279 -4 280 281 282 283 -3 284 285 286 -3 287 288 289 -4 290 291 292 293 -4 294 295 296 297 -4 298 299 300 301 -3 302 303 304 -4 305 306 307 308 -4 309 310 311 312 -4 313 314 315 316 -4 317 318 319 320 -4 321 322 323 324 -4 325 326 327 328 -4 329 330 331 332 -4 333 334 335 336 -4 337 338 339 340 -4 341 342 343 344 -4 345 346 347 348 -4 349 350 351 352 -3 353 354 355 -4 356 357 358 359 -4 360 361 362 363 -3 364 365 366 -4 367 368 369 370 -4 371 372 373 374 -3 375 376 377 -4 378 379 380 381 -3 382 383 384 -4 385 386 387 388 -4 389 390 391 392 -3 393 394 395 -4 396 397 398 399 -4 400 401 402 403 -4 404 405 406 407 -4 408 409 410 411 -4 412 413 414 415 -3 416 417 418 -3 419 420 421 -3 422 423 424 -4 425 426 427 428 -4 429 430 431 432 -3 433 434 435 -3 436 437 438 -4 439 440 441 442 -4 443 444 445 446 -3 447 448 449 -3 450 451 452 -4 453 454 455 456 -3 457 458 459 -3 460 461 462 -3 463 464 465 -4 466 467 468 469 -3 470 471 472 -4 473 474 475 476 -4 477 478 479 480 -4 481 482 483 484 -4 485 486 487 488 -4 489 490 491 492 -3 493 494 495 -4 496 497 498 499 -4 500 501 502 503 -4 504 505 506 507 -4 508 509 510 511 -3 512 513 514 -4 515 516 517 518 -4 519 520 521 522 -3 523 524 525 -3 526 527 528 -3 529 530 531 -4 532 533 534 535 -4 536 537 538 539 -4 540 541 542 543 -4 544 545 546 547 -3 548 549 550 -3 551 552 553 -4 554 555 556 557 -3 558 559 560 -4 561 562 563 564 -4 565 566 567 568 -4 569 570 571 572 -3 573 574 575 -4 576 577 578 579 -4 580 581 582 583 -4 584 585 586 587 -4 588 589 590 591 -4 592 593 594 595 -4 596 597 598 599 -4 600 601 602 603 -4 604 605 606 607 -4 608 609 610 611 -3 612 613 614 -4 615 616 617 618 -4 619 620 621 622 -4 623 624 625 626 -4 627 628 629 630 -4 631 632 633 634 -4 635 636 637 638 -4 639 640 641 642 -3 643 644 645 -4 646 647 648 649 -3 650 651 652 -4 653 654 655 656 -3 657 658 659 -4 660 661 662 663 -4 664 665 666 667 -4 668 669 670 671 -4 672 673 674 675 -4 676 677 678 679 -4 680 681 682 683 -4 684 685 686 687 -4 688 689 690 691 -4 692 693 694 695 -4 696 697 698 699 -4 700 701 702 703 -3 704 705 706 -3 707 708 709 -4 710 711 712 713 -4 714 715 716 717 -4 718 719 720 721 -3 722 723 724 -3 725 726 727 -4 728 729 730 731 -4 732 733 734 735 -4 736 737 738 739 -3 740 741 742 -4 743 744 745 746 -4 747 748 749 750 -3 751 752 753 -3 754 755 756 -4 757 758 759 760 -4 761 762 763 764 -4 765 766 767 768 -4 769 770 771 772 -3 773 774 775 -3 776 777 778 -3 779 780 781 -4 782 783 784 785 -4 786 787 788 789 -3 790 791 792 -4 793 794 795 796 -4 797 798 799 800 -3 801 802 803 -3 804 805 806 -3 807 808 809 -3 810 811 812 -4 813 814 815 816 -4 817 818 819 820 -4 821 822 823 824 -4 825 826 827 828 -4 829 830 831 832 -4 833 834 835 836 -4 837 838 839 840 -4 841 842 843 844 -4 845 846 847 848 -3 849 850 851 -3 852 853 854 -4 855 856 857 858 -4 859 860 861 862 -4 863 864 865 866 -3 867 868 869 -4 870 871 872 873 -4 874 875 876 877 -4 878 879 880 881 -4 882 883 884 885 -4 886 887 888 889 -4 890 891 892 893 -4 894 895 896 897 -4 898 899 900 901 -4 902 903 904 905 -4 906 907 908 909 -4 910 911 912 913 -4 914 915 916 917 -3 918 919 920 -4 921 922 923 924 -4 925 926 927 928 -3 929 930 931 -4 932 933 934 935 -4 936 937 938 939 -3 940 941 942 -4 943 944 945 946 -3 947 948 949 -4 950 951 952 953 -4 954 955 956 957 -3 958 959 960 -4 961 962 963 964 -4 965 966 967 968 -4 969 970 971 972 -4 973 974 975 976 -4 977 978 979 980 -3 981 982 983 -3 984 985 986 -3 987 988 989 -4 990 991 992 993 -4 994 995 996 997 -3 998 999 1000 -3 1001 1002 1003 -4 1004 1005 1006 1007 -4 1008 1009 1010 1011 -3 1012 1013 1014 -3 1015 1016 1017 -4 1018 1019 1020 1021 -3 1022 1023 1024 -3 1025 1026 1027 -3 463 1028 464 -4 1029 1030 1031 1032 -3 1033 1034 1035 -4 1036 1037 1038 1039 -4 1040 1041 1042 1043 -4 1044 1045 1046 1047 -4 1048 1049 1050 1051 -4 1052 1053 1054 1055 -3 1056 1057 1058 -4 1059 1060 1061 1062 -4 1063 1064 1065 1066 -4 1067 1068 1069 1070 -4 1071 1072 1073 1074 -3 1075 1076 1077 -4 1078 1079 1080 1081 -4 1082 1083 1084 1085 -3 1086 1087 1088 -3 1089 1090 1091 -4 1092 1093 1094 1095 -4 1096 1097 1098 1099 -4 1100 1101 1102 1103 -3 1104 1105 1106 -3 1107 1108 1109 -4 1110 1111 1112 1113 -4 1114 1115 1116 1117 -4 1118 1119 1120 1121 -4 1122 1123 1124 1125 -3 1126 1127 1128 -4 1129 1130 1131 1132 -4 1133 1134 1135 1136 -4 1137 1138 1139 1140 -4 1141 1142 1143 1144 -4 1145 1146 1147 1148 -4 1149 1150 1151 1152 -3 1153 1154 1155 -4 1156 1157 1158 1159 -3 1160 1161 1162 -4 1163 1164 1165 1166 -3 1167 1168 1169 -3 1170 1171 1172 -3 1173 1174 1175 -4 1176 1177 1178 1179 -3 1180 1181 1182 -3 1183 1184 1185 -4 1186 1187 1188 1189 -4 1190 1191 1192 1193 -4 1194 1195 1196 1197 -4 1198 1199 1200 1201 -3 1202 1203 1204 -4 1205 1206 1207 1208 -4 1209 1210 1211 1212 -4 1213 1214 1215 1216 -4 1217 1218 1219 1220 -4 1221 1222 1223 1224 -4 1225 1226 1227 1228 -3 1229 1230 1231 -4 1232 1233 1234 1235 -3 1236 1237 1238 -4 1239 1240 1241 1242 -3 1243 1244 1245 -3 1246 1247 1248 -3 1249 1250 1251 -3 1252 1253 1254 -3 1255 1256 1257 -4 1258 1259 1260 1261 -4 1262 1263 1264 1265 -4 1266 1267 1268 1269 -4 1270 1271 1272 1273 -4 1274 1275 1276 1277 -4 1278 1279 1280 1281 -3 1282 1283 1284 -4 1285 1286 1287 1288 -4 1289 1290 1291 1292 -4 1293 1294 1295 1296 -3 1297 1298 1299 -3 1300 1301 1302 -4 1303 1304 1305 1306 -3 1307 1308 1309 diff --git a/src/tests/evas/meshes/ply/NoNormal_UVs_NoColors.ply b/src/tests/evas/meshes/ply/NoNormal_UVs_NoColors.ply deleted file mode 100644 index ffa53101bb..0000000000 --- a/src/tests/evas/meshes/ply/NoNormal_UVs_NoColors.ply +++ /dev/null @@ -1,1678 +0,0 @@ -ply -format ascii 1.0 -comment Created by Blender 2.69 (sub 0) - www.blender.org, source file: '' -element vertex 1310 -property float x -property float y -property float z -property float s -property float t -element face 356 -property list uchar uint vertex_indices -end_header --4.649800 14.945700 -8.785600 0.094400 0.185800 --2.020300 14.610600 -8.278800 0.060000 0.185800 --1.712600 0.024900 -9.195700 0.089900 0.023200 --3.252600 0.001600 -8.591000 0.107400 0.025300 --4.649800 14.945700 -8.785600 0.094400 0.185800 --3.252600 0.001600 -8.591000 0.107400 0.025300 --4.089400 2.633000 -5.031300 0.145000 0.057700 --5.308800 13.910900 -3.738700 0.154100 0.185800 --1.553600 3.059500 -4.173500 0.181500 0.058600 --1.766900 13.754900 -2.918700 0.193300 0.185800 --3.061600 3.537800 -3.461700 0.164000 0.067400 --1.553600 3.059500 -4.173500 0.181500 0.058600 --0.626000 0.031700 -8.336200 0.220100 0.017000 --0.971400 14.644800 -6.706400 0.225200 0.185800 --1.766900 13.754900 -2.918700 0.193300 0.185800 --5.495700 46.043098 -6.732400 0.139900 0.788400 --2.827600 38.171799 -8.088300 0.114500 0.661600 --5.919200 37.619099 -4.570300 0.183200 0.661600 --6.029500 46.188801 -3.956000 0.183300 0.792100 --4.685700 36.664101 -1.616400 0.239100 0.661600 --4.298500 47.001099 -0.058900 0.249300 0.802400 --6.029500 46.188801 -3.956000 0.183300 0.792100 --5.919200 37.619099 -4.570300 0.183200 0.661600 --6.775800 50.206501 -7.534500 0.134100 0.852600 --7.252500 54.524502 -7.615000 0.126100 0.913200 -0.000000 53.738098 -8.986800 0.028100 0.877800 -0.000000 50.037800 -9.413700 0.041800 0.827300 --7.252500 54.524502 -7.615000 0.812300 0.981700 --8.747800 53.770199 -7.353300 0.807700 0.944900 --8.184300 53.108700 -3.320400 0.746000 0.944900 --6.624100 53.529800 -2.653700 0.746000 0.986600 --9.827700 52.989700 -7.188500 0.805500 0.922700 --14.989100 50.565300 -7.297200 0.805300 0.834400 --15.636800 49.715099 -4.015700 0.746000 0.809400 --9.508400 52.403099 -3.672700 0.746000 0.922700 -0.000000 37.009800 0.550700 0.310700 0.661600 -0.000000 47.287498 1.094200 0.310700 0.805700 --4.298500 47.001099 -0.058900 0.249300 0.802400 --4.685700 36.664101 -1.616400 0.239100 0.661600 -0.000000 53.738098 -8.986800 0.028100 0.877800 --7.252500 54.524502 -7.615000 0.126100 0.913200 --2.321200 55.471001 -5.570800 0.053700 0.941000 -0.000000 55.950600 -7.250100 0.022400 0.916300 --6.624100 53.529800 -2.653700 0.210200 0.900400 --7.813100 49.342701 -3.886900 0.181000 0.844200 --6.029500 46.188801 -3.956000 0.183300 0.792100 --3.773800 51.093601 -1.034300 0.256600 0.864400 --6.029500 46.188801 -3.956000 0.183300 0.792100 --4.298500 47.001099 -0.058900 0.249300 0.802400 --3.773800 51.093601 -1.034300 0.256600 0.864400 -0.000000 50.880199 0.110000 0.310700 0.860500 --3.773800 51.093601 -1.034300 0.256600 0.864400 --4.298500 47.001099 -0.058900 0.249300 0.802400 -0.000000 47.287498 1.094200 0.310700 0.805700 --16.136200 50.023998 -7.546200 0.808600 0.809400 --14.989100 50.565300 -7.297200 0.805300 0.834400 --13.779500 47.417198 -7.715300 0.879500 0.834400 --14.885000 46.974701 -7.946000 0.879500 0.809400 --13.779500 47.417198 -7.715300 0.626900 0.829400 --8.756500 49.321098 -7.632900 0.626900 0.922700 --8.927200 49.128502 -4.128200 0.688900 0.922700 --14.977100 45.689201 -4.821000 0.680000 0.809400 --17.208200 49.477699 -7.512200 0.810800 0.788400 --22.585199 48.327702 -7.594400 0.812700 0.705100 --22.348700 46.932201 -2.822400 0.746000 0.680200 --16.810101 49.139900 -3.928800 0.746000 0.788400 --21.936399 43.055199 -3.733600 0.691800 0.680200 --16.192200 44.960400 -4.877100 0.677700 0.788400 --16.810101 49.139900 -3.928800 0.746000 0.788400 --22.348700 46.932201 -2.822400 0.746000 0.680200 --22.105101 44.119598 -7.074000 0.862200 0.680200 --23.337700 47.268200 -6.945000 0.809900 0.680200 --22.585199 48.327702 -7.594400 0.812700 0.705100 --21.061199 44.183601 -7.611200 0.879500 0.705100 --15.884600 46.520500 -7.855800 0.626900 0.788400 --16.192200 44.960400 -4.877100 0.677700 0.788400 --21.936399 43.055199 -3.733600 0.691800 0.680200 --21.061199 44.183601 -7.611200 0.626900 0.699700 --5.598500 31.822901 -1.405400 0.185400 0.436500 --7.174300 32.815300 -5.168000 0.136400 0.440500 --7.453900 29.910801 -4.782000 0.143900 0.408700 --4.970000 33.082802 -8.871300 0.086900 0.436600 --5.595300 29.761600 -8.491100 0.097300 0.399700 --7.453900 29.910801 -4.782000 0.143900 0.408700 --7.174300 32.815300 -5.168000 0.136400 0.440500 --6.827700 20.858999 -3.051400 0.166500 0.297500 --5.426000 21.341299 -8.131100 0.106600 0.297500 --6.194700 19.576300 -3.492500 0.163400 0.285600 --0.835600 22.853901 -8.203000 0.053300 0.313700 --0.899900 21.410400 -8.342700 0.054900 0.297500 --5.426000 21.341299 -8.131100 0.106600 0.297500 --5.317800 22.936800 -8.014600 0.105500 0.313700 --0.899900 21.410400 -8.342700 0.307200 0.297500 --1.957400 20.620800 -1.217700 0.224300 0.297500 --1.853000 19.164200 -1.385300 0.221600 0.281000 --6.194700 19.576300 -3.492500 0.163400 0.285600 --1.853000 19.164200 -1.385300 0.221600 0.281000 --1.957400 20.620800 -1.217700 0.224300 0.297500 --6.827700 20.858999 -3.051400 0.166500 0.297500 --5.259600 15.490400 -9.599400 0.090700 0.228600 --5.426000 21.341299 -8.131100 0.106600 0.297500 --0.899900 21.410400 -8.342700 0.054900 0.297500 --0.294400 16.169500 -7.962700 0.039600 0.241800 --0.294400 16.169500 -7.962700 0.282300 0.223700 --0.899900 21.410400 -8.342700 0.307200 0.297500 --1.853000 19.164200 -1.385300 0.221600 0.281000 --1.221800 14.450400 -2.004100 0.220300 0.236900 --1.853000 19.164200 -1.385300 0.221600 0.281000 --6.194700 19.576300 -3.492500 0.163400 0.285600 --6.498700 14.643000 -4.000600 0.151700 0.232900 --1.221800 14.450400 -2.004100 0.220300 0.236900 --6.498700 14.643000 -4.000600 0.151700 0.232900 --6.194700 19.576300 -3.492500 0.163400 0.285600 --5.426000 21.341299 -8.131100 0.106600 0.297500 --5.259600 15.490400 -9.599400 0.090700 0.228600 --7.813100 49.342701 -3.886900 0.181000 0.844200 --6.775800 50.206501 -7.534500 0.134100 0.852600 --5.495700 46.043098 -6.732400 0.139900 0.788400 --6.029500 46.188801 -3.956000 0.183300 0.792100 --8.756500 49.321098 -7.632900 0.626900 0.922700 --6.775800 50.206501 -7.534500 0.626900 0.944900 --7.813100 49.342701 -3.886900 0.686800 0.944900 --8.927200 49.128502 -4.128200 0.688900 0.922700 --5.495700 46.043098 -6.732400 0.139900 0.788400 --6.775800 50.206501 -7.534500 0.134100 0.852600 -0.000000 50.037800 -9.413700 0.041800 0.827300 -0.000000 45.235802 -8.516300 0.061400 0.762800 --3.773800 51.093601 -1.034300 0.256600 0.864400 -0.000000 50.880199 0.110000 0.310700 0.860500 -0.000000 54.522099 -2.187600 0.310700 0.919600 --1.435700 55.057400 -2.884500 0.285800 0.931400 --0.163800 60.672798 0.405300 0.529100 0.200900 --0.596000 60.268700 -0.255900 0.502600 0.185300 --0.605400 59.453602 0.006800 0.508800 0.156900 --0.226300 59.631802 0.717000 0.529800 0.167300 -0.000000 59.375900 0.272700 0.533800 0.153800 --0.605400 59.453602 0.006800 0.508800 0.156900 --0.793500 58.611801 -0.022400 0.506200 0.129800 -0.000000 58.735298 0.237300 0.533800 0.134400 --1.340700 61.343498 -1.024900 0.467800 0.231800 --2.209500 61.230499 -1.515000 0.430900 0.227000 --2.225300 60.301201 -1.334400 0.434400 0.187400 --0.474100 61.294899 -0.607800 0.499900 0.227200 --0.179900 61.274700 0.058500 0.525600 0.223900 --0.785400 61.539799 -0.048800 0.505500 0.247600 --0.163800 60.672798 0.405300 0.529100 0.200900 --0.179900 61.274700 0.058500 0.525600 0.223900 --0.474100 61.294899 -0.607800 0.499900 0.227200 --0.596000 60.268700 -0.255900 0.502600 0.185300 --0.785400 61.539799 -0.048800 0.505500 0.247600 -0.000000 62.775902 -0.355700 0.533900 0.286800 --1.901400 62.898899 -1.262500 0.451600 0.287500 --1.792100 61.563202 -0.648200 0.464300 0.250800 --1.901400 62.898899 -1.262500 0.451600 0.287500 --2.505800 61.413601 -3.333900 0.367200 0.240300 --2.209500 61.230499 -1.515000 0.430900 0.227000 --1.792100 61.563202 -0.648200 0.464300 0.250800 --2.071800 58.080299 -1.837600 0.435700 0.090000 --2.043500 58.694401 -1.722000 0.434700 0.119000 --2.361600 58.652599 -3.405400 0.376100 0.111600 --2.361600 58.652599 -3.405400 0.376100 0.111600 --1.480400 57.287800 -3.167400 0.388000 0.054100 --2.071800 58.080299 -1.837600 0.435700 0.090000 --2.361600 58.652599 -3.405400 0.376100 0.111600 --2.043500 58.694401 -1.722000 0.434700 0.119000 --2.225300 60.301201 -1.334400 0.434400 0.187400 --2.484800 60.667999 -2.078300 0.409600 0.193000 --0.596000 60.268700 -0.255900 0.502600 0.185300 --2.225300 60.301201 -1.334400 0.434400 0.187400 --0.793500 58.611801 -0.022400 0.506200 0.129800 --0.605400 59.453602 0.006800 0.508800 0.156900 --0.793500 58.611801 -0.022400 0.506200 0.129800 --0.860300 57.339199 -0.345300 0.507000 0.087800 -0.000000 57.320400 0.190300 0.533800 0.095300 -0.000000 58.735298 0.237300 0.533800 0.134400 --2.361600 58.652599 -3.405400 0.376100 0.111600 --1.507500 57.978802 -4.806700 0.327200 0.071700 --1.480400 57.287800 -3.167400 0.388000 0.054100 --1.480400 57.287800 -3.167400 0.293600 0.962800 --1.435700 55.057400 -2.884500 0.285800 0.931400 -0.000000 54.522099 -2.187600 0.310700 0.919600 --0.509500 56.862801 -2.081200 0.307800 0.953500 --1.435700 55.057400 -2.884500 0.285800 0.931400 --1.480400 57.287800 -3.167400 0.293600 0.962800 --1.507500 57.978802 -4.806700 0.269900 0.982500 --2.321200 55.471001 -5.570800 0.259500 0.968000 --5.259600 15.490400 -9.599400 0.090700 0.228600 --0.294400 16.169500 -7.962700 0.039600 0.241800 --2.020300 14.610600 -8.278800 0.063600 0.221000 --0.294400 16.169500 -7.962700 0.282300 0.223700 --1.221800 14.450400 -2.004100 0.220300 0.236900 --0.971400 14.644800 -6.706400 0.253200 0.212300 --5.308800 13.910900 -3.738700 0.168700 0.220700 --1.766900 13.754900 -2.918700 0.216900 0.223600 --1.221800 14.450400 -2.004100 0.220300 0.236900 --6.498700 14.643000 -4.000600 0.151700 0.232900 --4.649800 14.945700 -8.785600 0.103500 0.222700 --5.308800 13.910900 -3.738700 0.168700 0.220700 --6.498700 14.643000 -4.000600 0.151700 0.232900 --5.259600 15.490400 -9.599400 0.090700 0.228600 --1.957400 20.620800 -1.217700 0.224300 0.297500 --0.899900 21.410400 -8.342700 0.307200 0.297500 --0.835600 22.853901 -8.203000 0.306600 0.313700 --2.189200 21.987900 -1.481800 0.225500 0.313700 --7.174300 32.815300 -5.168000 0.136400 0.440500 --6.542300 35.480598 -4.902800 0.133600 0.471500 --5.283200 35.952900 -7.814600 0.094100 0.470900 --4.970000 33.082802 -8.871300 0.086900 0.436600 --5.598500 31.822901 -1.405400 0.185400 0.436500 --6.542300 35.480598 -4.902800 0.133600 0.471500 --7.174300 32.815300 -5.168000 0.136400 0.440500 --4.685700 36.664101 -1.616400 0.239100 0.661600 --5.598500 31.822901 -1.405400 0.231500 0.582200 --3.798500 31.552500 -0.386300 0.257600 0.582200 --2.225300 60.301201 -1.334400 0.434400 0.187400 --2.209500 61.230499 -1.515000 0.430900 0.227000 --2.484800 60.667999 -2.078300 0.409600 0.193000 --8.927200 49.128502 -4.128200 0.688900 0.922700 --7.813100 49.342701 -3.886900 0.686800 0.944900 --8.184300 53.108700 -3.320400 0.746000 0.944900 --9.508400 52.403099 -3.672700 0.746000 0.922700 --8.184300 53.108700 -3.320400 0.746000 0.944900 --8.747800 53.770199 -7.353300 0.807700 0.944900 --9.827700 52.989700 -7.188500 0.805500 0.922700 --9.508400 52.403099 -3.672700 0.746000 0.922700 --8.747800 53.770199 -7.353300 0.807700 0.944900 --7.252500 54.524502 -7.615000 0.812300 0.981700 --6.775800 50.206501 -7.534500 0.879500 0.944900 --8.927200 49.128502 -4.128200 0.688900 0.922700 --9.508400 52.403099 -3.672700 0.746000 0.922700 --15.636800 49.715099 -4.015700 0.746000 0.809400 --14.977100 45.689201 -4.821000 0.680000 0.809400 --6.624100 53.529800 -2.653700 0.210200 0.900400 --3.773800 51.093601 -1.034300 0.256600 0.864400 --1.435700 55.057400 -2.884500 0.285800 0.931400 --7.252500 54.524502 -7.615000 0.180400 0.964800 --2.321200 55.471001 -5.570800 0.259500 0.968000 --7.252500 54.524502 -7.615000 0.180400 0.964800 --1.435700 55.057400 -2.884500 0.285800 0.931400 --2.209500 61.230499 -1.515000 0.430900 0.227000 --2.505800 61.413601 -3.333900 0.362700 0.212700 --2.484800 60.667999 -2.078300 0.409600 0.193000 --2.484800 60.667999 -2.078300 0.409600 0.193000 --2.505800 61.413601 -3.333900 0.362700 0.212700 --2.361600 58.652599 -3.405400 0.376100 0.111600 --2.209500 61.230499 -1.515000 0.430900 0.227000 --1.340700 61.343498 -1.024900 0.467800 0.231800 --1.792100 61.563202 -0.648200 0.464300 0.250800 --3.061600 3.537800 -3.461700 0.290200 0.071700 --3.735600 1.816900 0.228400 0.290200 0.030700 --1.568700 1.981700 -0.627100 0.308400 0.040400 --1.553600 3.059500 -4.173500 0.310400 0.073900 --0.626000 0.031700 -8.336200 0.345300 0.097200 --1.553600 3.059500 -4.173500 0.310400 0.073900 --1.568700 1.981700 -0.627100 0.308400 0.040400 --1.825200 -0.024100 0.601200 0.313500 0.023800 --1.825200 -0.024100 0.601200 0.748300 0.055100 --3.769300 -0.009000 1.132900 0.765800 0.040900 --1.712600 0.024900 -9.195700 0.765100 0.147100 --0.626000 0.031700 -8.336200 0.751000 0.138000 --1.712600 0.024900 -9.195700 0.089900 0.023200 --2.020300 14.610600 -8.278800 0.060000 0.185800 --0.971400 14.644800 -6.706400 0.025900 0.185800 --0.626000 0.031700 -8.336200 0.075600 0.021500 --1.568700 1.981700 -0.627100 0.308400 0.040400 --3.735600 1.816900 0.228400 0.290200 0.030700 --3.769300 -0.009000 1.132900 0.289700 0.012400 --1.825200 -0.024100 0.601200 0.313500 0.023800 --4.089400 2.633000 -5.031300 0.275500 0.071900 --3.252600 0.001600 -8.591000 0.238500 0.103000 --5.176800 -0.025000 -0.598300 0.266200 0.023600 --5.390300 1.568200 -1.670300 0.274000 0.039600 --3.769300 -0.009000 1.132900 0.289700 0.012400 --3.735600 1.816900 0.228400 0.290200 0.030700 --5.390300 1.568200 -1.670300 0.274000 0.039600 --5.176800 -0.025000 -0.598300 0.266200 0.023600 --5.390300 1.568200 -1.670300 0.274000 0.039600 --3.735600 1.816900 0.228400 0.290200 0.030700 --3.061600 3.537800 -3.461700 0.290200 0.071700 --4.089400 2.633000 -5.031300 0.275500 0.071900 --3.061600 3.537800 -3.461700 0.164000 0.067400 --1.766900 13.754900 -2.918700 0.193300 0.185800 --5.308800 13.910900 -3.738700 0.154100 0.185800 --4.089400 2.633000 -5.031300 0.145000 0.057700 --2.020300 14.610600 -8.278800 0.063600 0.221000 --4.649800 14.945700 -8.785600 0.103500 0.222700 --5.259600 15.490400 -9.599400 0.090700 0.228600 --2.020300 14.610600 -8.278800 0.063600 0.221000 --0.294400 16.169500 -7.962700 0.039600 0.241800 --0.971400 14.644800 -6.706400 0.028400 0.216500 --5.426000 21.341299 -8.131100 0.106600 0.297500 --6.827700 20.858999 -3.051400 0.166500 0.297500 --6.824000 22.193899 -3.254300 0.165700 0.313700 --5.317800 22.936800 -8.014600 0.105500 0.313700 --0.845100 29.891001 -9.491500 0.041700 0.395800 --0.835600 22.853901 -8.203000 0.053300 0.313700 --5.317800 22.936800 -8.014600 0.105500 0.313700 --5.595300 29.761600 -8.491100 0.097300 0.399700 --1.957400 20.620800 -1.217700 0.224300 0.297500 --2.189200 21.987900 -1.481800 0.225500 0.313700 --6.824000 22.193899 -3.254300 0.165700 0.313700 --6.827700 20.858999 -3.051400 0.166500 0.297500 --0.605400 59.453602 0.006800 0.508800 0.156900 -0.000000 59.375900 0.272700 0.533800 0.153800 --0.226300 59.631802 0.717000 0.529800 0.167300 --21.936399 43.055199 -3.733600 0.691800 0.680200 --22.348700 46.932201 -2.822400 0.746000 0.680200 --23.323000 46.228001 -3.425200 0.746000 0.661900 --23.265499 44.290199 -3.614200 0.710900 0.661900 --22.105101 44.119598 -7.074000 0.862200 0.680200 --23.273100 44.479099 -6.170500 0.835600 0.661900 --23.881300 46.267799 -5.995500 0.800900 0.661900 --23.337700 47.268200 -6.945000 0.809900 0.680200 --22.348700 46.932201 -2.822400 0.746000 0.680200 --23.337700 47.268200 -6.945000 0.809900 0.680200 --23.881300 46.267799 -5.995500 0.800900 0.661900 --23.323000 46.228001 -3.425200 0.746000 0.661900 --21.936399 43.055199 -3.733600 0.691800 0.680200 --23.265499 44.290199 -3.614200 0.710900 0.661900 --23.273100 44.479099 -6.170500 0.665900 0.661900 --22.105101 44.119598 -7.074000 0.641700 0.680200 --23.323000 46.228001 -3.425200 0.746000 0.661900 --24.935400 45.742901 -3.288800 0.746000 0.630500 --24.446100 44.099098 -3.039500 0.723200 0.630500 --23.265499 44.290199 -3.614200 0.710900 0.661900 --23.273100 44.479099 -6.170500 0.835600 0.661900 --25.718901 44.407902 -5.989100 0.812100 0.630500 --25.982700 45.641201 -5.974700 0.796200 0.630500 --23.881300 46.267799 -5.995500 0.800900 0.661900 --23.881300 46.267799 -5.995500 0.800900 0.661900 --25.982700 45.641201 -5.974700 0.796200 0.630500 --24.935400 45.742901 -3.288800 0.746000 0.630500 --23.323000 46.228001 -3.425200 0.746000 0.661900 --23.265499 44.290199 -3.614200 0.710900 0.661900 --24.446100 44.099098 -3.039500 0.723200 0.630500 --25.718901 44.407902 -5.989100 0.677100 0.630500 --23.273100 44.479099 -6.170500 0.665900 0.661900 --3.798500 31.552500 -0.386300 0.257600 0.582200 -0.000000 31.552500 0.128500 0.310700 0.582200 -0.000000 37.009800 0.550700 0.310700 0.661600 --4.685700 36.664101 -1.616400 0.239100 0.661600 --27.058001 43.733101 -1.471100 0.783900 0.527900 --28.100901 44.177299 -2.470000 0.756100 0.537200 --27.637899 42.321201 -1.984400 0.780200 0.502700 --26.775499 43.007000 -1.492900 0.799700 0.523000 --27.102699 45.320202 -5.735100 0.706300 0.587600 --25.982700 45.641201 -5.974700 0.701400 0.609900 --25.718901 44.407902 -5.989100 0.674700 0.592000 --26.246300 42.901402 -5.383600 0.663100 0.553800 --24.935400 45.742901 -3.288800 0.774000 0.616500 --25.982700 45.641201 -5.974700 0.701400 0.609900 --27.102699 45.320202 -5.735100 0.706300 0.587600 --26.753901 45.398300 -2.858600 0.766000 0.574200 --24.446100 44.099098 -3.039500 0.815000 0.599300 --26.246300 42.901402 -5.383600 0.880100 0.569900 --25.718901 44.407902 -5.989100 0.885900 0.607200 --28.380600 42.330502 -3.056600 0.741600 0.498200 --27.637899 42.321201 -1.984400 0.780200 0.502700 --28.100901 44.177299 -2.470000 0.756100 0.537200 --28.697901 44.238201 -3.477500 0.737900 0.538900 --28.380600 42.330502 -3.056600 0.741600 0.498200 --28.697901 44.238201 -3.477500 0.737900 0.538900 --28.543800 44.178001 -4.651400 0.718600 0.545700 --28.292801 42.543098 -4.446800 0.704200 0.514300 --26.753901 45.398300 -2.858600 0.766000 0.574200 --28.697901 44.238201 -3.477500 0.737900 0.538900 --28.100901 44.177299 -2.470000 0.756100 0.537200 --24.935400 45.742901 -3.288800 0.774000 0.616500 --26.117701 44.487900 -2.198700 0.788200 0.565100 --25.587200 43.557701 -2.038700 0.806300 0.556900 --24.446100 44.099098 -3.039500 0.815000 0.599300 --24.446100 44.099098 -3.039500 0.815000 0.599300 --25.587200 43.557701 -2.038700 0.806300 0.556900 --25.491899 42.827301 -2.370100 0.813300 0.554500 --26.246300 42.901402 -5.383600 0.880100 0.569900 --26.753901 45.398300 -2.858600 0.766000 0.574200 --26.117701 44.487900 -2.198700 0.788200 0.565100 --24.935400 45.742901 -3.288800 0.774000 0.616500 -0.000000 31.552500 0.128500 0.310700 0.582200 --3.798500 31.552500 -0.386300 0.257600 0.582200 --3.463700 23.872801 -0.356700 0.261000 0.472800 -0.000000 24.132099 -0.356700 0.310700 0.472800 --2.225300 60.301201 -1.334400 0.434400 0.187400 --2.043500 58.694401 -1.722000 0.434700 0.119000 --0.793500 58.611801 -0.022400 0.506200 0.129800 --0.793500 58.611801 -0.022400 0.506200 0.129800 --2.043500 58.694401 -1.722000 0.434700 0.119000 --2.071800 58.080299 -1.837600 0.435700 0.090000 --0.860300 57.339199 -0.345300 0.507000 0.087800 --2.071800 58.080299 -1.837600 0.435700 0.090000 --1.480400 57.287800 -3.167400 0.435700 0.022900 --0.509500 56.862801 -2.081200 0.497100 0.026700 --0.860300 57.339199 -0.345300 0.507000 0.087800 --0.179900 61.274700 0.058500 0.525600 0.223900 -0.000000 61.912998 -0.048000 0.533800 0.254400 --0.785400 61.539799 -0.048800 0.505500 0.247600 --15.884600 46.520500 -7.855800 0.879500 0.788400 --17.208200 49.477699 -7.512200 0.810800 0.788400 --16.136200 50.023998 -7.546200 0.808600 0.809400 --14.885000 46.974701 -7.946000 0.879500 0.809400 --15.636800 49.715099 -4.015700 0.746000 0.809400 --16.136200 50.023998 -7.546200 0.808600 0.809400 --17.208200 49.477699 -7.512200 0.810800 0.788400 --16.810101 49.139900 -3.928800 0.746000 0.788400 --16.192200 44.960400 -4.877100 0.677700 0.788400 --15.884600 46.520500 -7.855800 0.626900 0.788400 --14.885000 46.974701 -7.946000 0.626900 0.809400 --14.977100 45.689201 -4.821000 0.680000 0.809400 --16.810101 49.139900 -3.928800 0.746000 0.788400 --16.192200 44.960400 -4.877100 0.677700 0.788400 --14.977100 45.689201 -4.821000 0.680000 0.809400 --15.636800 49.715099 -4.015700 0.746000 0.809400 --13.779500 47.417198 -7.715300 0.879500 0.834400 --14.989100 50.565300 -7.297200 0.805300 0.834400 --9.827700 52.989700 -7.188500 0.805500 0.922700 --8.756500 49.321098 -7.632900 0.879500 0.922700 --15.636800 49.715099 -4.015700 0.746000 0.809400 --14.989100 50.565300 -7.297200 0.805300 0.834400 --16.136200 50.023998 -7.546200 0.808600 0.809400 --13.779500 47.417198 -7.715300 0.626900 0.829400 --14.977100 45.689201 -4.821000 0.680000 0.809400 --14.885000 46.974701 -7.946000 0.626900 0.809400 --0.971400 14.644800 -6.706400 0.253200 0.212300 --1.221800 14.450400 -2.004100 0.220300 0.236900 --1.766900 13.754900 -2.918700 0.216900 0.223600 --26.117701 44.487900 -2.198700 0.788200 0.565100 --27.058001 43.733101 -1.471100 0.783900 0.527900 --26.775499 43.007000 -1.492900 0.799700 0.523000 --25.587200 43.557701 -2.038700 0.806300 0.556900 --25.587200 43.557701 -2.038700 0.806300 0.556900 --26.775499 43.007000 -1.492900 0.799700 0.523000 --27.637899 42.321201 -1.984400 0.816200 0.507300 --25.491899 42.827301 -2.370100 0.813300 0.554500 --26.117701 44.487900 -2.198700 0.788200 0.565100 --28.100901 44.177299 -2.470000 0.756100 0.537200 --27.058001 43.733101 -1.471100 0.783900 0.527900 --8.184300 53.108700 -3.320400 0.746000 0.944900 --7.813100 49.342701 -3.886900 0.686800 0.944900 --6.624100 53.529800 -2.653700 0.746000 0.986600 --8.747800 53.770199 -7.353300 0.807700 0.944900 --6.775800 50.206501 -7.534500 0.879500 0.944900 --8.756500 49.321098 -7.632900 0.879500 0.922700 --9.827700 52.989700 -7.188500 0.805500 0.922700 --28.543800 44.178001 -4.651400 0.718600 0.545700 --28.697901 44.238201 -3.477500 0.737900 0.538900 --26.753901 45.398300 -2.858600 0.766000 0.574200 --27.102699 45.320202 -5.735100 0.706300 0.587600 --26.246300 42.901402 -5.383600 0.880100 0.569900 --28.380600 42.330502 -3.056600 0.853500 0.507000 --28.292801 42.543098 -4.446800 0.879400 0.523100 --28.100901 44.177299 -2.470000 0.756100 0.537200 --26.117701 44.487900 -2.198700 0.788200 0.565100 --26.753901 45.398300 -2.858600 0.766000 0.574200 --1.712600 0.024900 -9.195700 0.765100 0.147100 --3.769300 -0.009000 1.132900 0.765800 0.040900 --5.176800 -0.025000 -0.598300 0.783900 0.050100 --3.252600 0.001600 -8.591000 0.777900 0.139800 -0.000000 61.912998 -0.048000 0.533800 0.254400 -0.000000 62.775902 -0.355700 0.533900 0.286800 --0.785400 61.539799 -0.048800 0.505500 0.247600 --0.340300 31.400700 -9.922000 0.348900 0.396000 --0.425600 30.069099 -1.503600 0.251300 0.411900 --0.845100 29.891001 -9.491500 0.339400 0.379800 -0.000000 54.522099 -2.187600 0.310700 0.919600 -0.000000 56.862801 -2.081200 0.310500 0.953100 --0.509500 56.862801 -2.081200 0.307800 0.953500 --0.509500 56.862801 -2.081200 0.497100 0.026700 -0.000000 56.862801 -2.081200 0.533800 0.019000 -0.000000 57.320400 0.190300 0.533800 0.095300 --0.860300 57.339199 -0.345300 0.507000 0.087800 --5.598500 31.822901 -1.405400 0.185400 0.436500 --7.453900 29.910801 -4.782000 0.143900 0.408700 --6.824000 22.193899 -3.254300 0.165700 0.313700 --6.824000 22.193899 -3.254300 0.165700 0.313700 --7.453900 29.910801 -4.782000 0.143900 0.408700 --5.595300 29.761600 -8.491100 0.097300 0.399700 --5.317800 22.936800 -8.014600 0.105500 0.313700 --3.798500 31.552500 -0.386300 0.210900 0.433400 --5.598500 31.822901 -1.405400 0.185400 0.436500 --6.824000 22.193899 -3.254300 0.165700 0.313700 --2.189200 21.987900 -1.481800 0.225500 0.313700 --0.340300 31.400700 -9.922000 0.033600 0.413900 --0.845100 29.891001 -9.491500 0.041700 0.395800 --5.595300 29.761600 -8.491100 0.097300 0.399700 --4.970000 33.082802 -8.871300 0.086900 0.436600 --0.835600 22.853901 -8.203000 0.306600 0.313700 --0.845100 29.891001 -9.491500 0.339400 0.379800 --0.425600 30.069099 -1.503600 0.251300 0.411900 --2.189200 21.987900 -1.481800 0.225500 0.313700 --2.162800 35.743500 -9.599900 0.052600 0.465300 --0.340300 31.400700 -9.922000 0.033600 0.413900 --4.970000 33.082802 -8.871300 0.086900 0.436600 --5.283200 35.952900 -7.814600 0.094100 0.470900 --5.283200 35.952900 -7.814600 0.142000 0.631800 --6.542300 35.480598 -4.902800 0.182300 0.631800 --5.919200 37.619099 -4.570300 0.183200 0.661600 --5.919200 37.619099 -4.570300 0.183200 0.661600 --6.542300 35.480598 -4.902800 0.182300 0.631800 --5.598500 31.822901 -1.405400 0.231500 0.582200 --4.685700 36.664101 -1.616400 0.239100 0.661600 --0.474100 61.294899 -0.607800 0.499900 0.227200 --1.340700 61.343498 -1.024900 0.467800 0.231800 --2.225300 60.301201 -1.334400 0.434400 0.187400 --0.596000 60.268700 -0.255900 0.502600 0.185300 --1.340700 61.343498 -1.024900 0.467800 0.231800 --0.474100 61.294899 -0.607800 0.499900 0.227200 --0.785400 61.539799 -0.048800 0.505500 0.247600 --1.792100 61.563202 -0.648200 0.464300 0.250800 -0.000000 45.235802 -8.516300 0.061400 0.762800 -0.000000 38.221600 -8.073300 0.073200 0.661600 --2.827600 38.171799 -8.088300 0.114500 0.661600 --5.495700 46.043098 -6.732400 0.139900 0.788400 --0.425600 30.069099 -1.503600 0.251300 0.411900 --3.798500 31.552500 -0.386300 0.210900 0.433400 --2.189200 21.987900 -1.481800 0.225500 0.313700 -0.000000 31.547001 -9.939100 0.349900 0.400200 -0.000000 30.215401 -1.522000 0.252400 0.417000 --0.425600 30.069099 -1.503600 0.251300 0.411900 --0.340300 31.400700 -9.922000 0.348900 0.396000 --21.061199 44.183601 -7.611200 0.879500 0.705100 --22.585199 48.327702 -7.594400 0.812700 0.705100 --17.208200 49.477699 -7.512200 0.810800 0.788400 --15.884600 46.520500 -7.855800 0.879500 0.788400 --22.348700 46.932201 -2.822400 0.746000 0.680200 --22.585199 48.327702 -7.594400 0.812700 0.705100 --23.337700 47.268200 -6.945000 0.809900 0.680200 --21.061199 44.183601 -7.611200 0.626900 0.699700 --21.936399 43.055199 -3.733600 0.691800 0.680200 --22.105101 44.119598 -7.074000 0.641700 0.680200 -0.000000 59.375900 0.272700 0.533800 0.153800 -0.226300 59.631802 0.717000 0.537800 0.167300 --0.226300 59.631802 0.717000 0.529800 0.167300 --0.163800 60.672798 0.405300 0.529100 0.200900 --0.226300 59.631802 0.717000 0.529800 0.167300 -0.226300 59.631802 0.717000 0.537800 0.167300 -0.163800 60.672798 0.405300 0.538500 0.200900 --0.340300 31.400700 -9.922000 0.033600 0.413900 --2.162800 35.743500 -9.599900 0.052600 0.465300 -0.000000 35.795200 -9.599900 0.027500 0.464800 -0.000000 31.547001 -9.939100 0.029600 0.415400 --5.919200 37.619099 -4.570300 0.183200 0.661600 --2.827600 38.171799 -8.088300 0.114500 0.661600 --2.162800 35.743500 -9.599900 0.096500 0.631800 --5.283200 35.952900 -7.814600 0.142000 0.631800 --28.543800 44.178001 -4.651400 0.718600 0.545700 --27.102699 45.320202 -5.735100 0.706300 0.587600 --26.246300 42.901402 -5.383600 0.663100 0.553800 --28.292801 42.543098 -4.446800 0.704200 0.514300 --25.491899 42.827301 -2.370100 0.813300 0.554500 --27.637899 42.321201 -1.984400 0.816200 0.507300 --28.380600 42.330502 -3.056600 0.853500 0.507000 --26.246300 42.901402 -5.383600 0.880100 0.569900 --25.491899 42.827301 -2.370100 0.813300 0.554500 --28.380600 42.330502 -3.056600 0.853500 0.507000 --0.179900 61.274700 0.058500 0.525600 0.223900 --0.163800 60.672798 0.405300 0.529100 0.200900 -0.163800 60.672798 0.405300 0.538500 0.200900 -0.179900 61.274700 0.058500 0.542100 0.223900 -0.000000 61.912998 -0.048000 0.533800 0.254400 --0.179900 61.274700 0.058500 0.525600 0.223900 -0.179900 61.274700 0.058500 0.542100 0.223900 --2.162800 35.743500 -9.599900 0.096500 0.631800 --2.827600 38.171799 -8.088300 0.114500 0.661600 -0.000000 38.221600 -8.073300 0.073200 0.661600 -0.000000 35.795200 -9.599900 0.068100 0.631800 -4.620900 14.945700 -8.516100 0.912200 0.175600 -3.252600 0.001600 -8.591000 0.909400 0.032900 -1.712600 0.024900 -9.195700 0.925400 0.031900 -1.456400 14.610600 -8.695100 0.943400 0.175600 -4.089400 2.633000 -5.031300 0.873900 0.060000 -3.252600 0.001600 -8.591000 0.909400 0.032900 -4.620900 14.945700 -8.516100 0.912200 0.175600 -5.308800 13.910900 -3.738700 0.859000 0.175600 -1.553600 3.059500 -4.173500 0.841100 0.058900 -3.061600 3.537800 -3.461700 0.856300 0.067800 -1.766900 13.754900 -2.918700 0.824200 0.175600 -1.553600 3.059500 -4.173500 0.841100 0.058900 -1.766900 13.754900 -2.918700 0.824200 0.175600 -1.239800 14.644800 -6.465300 0.795300 0.175600 -0.626000 0.031700 -8.336200 0.808600 0.019600 -5.495700 46.043098 -6.732400 0.140100 0.788400 -6.029500 46.188801 -3.956000 0.183500 0.792100 -5.919200 37.619099 -4.570300 0.183400 0.661600 -2.827600 38.171799 -8.088300 0.114700 0.661600 -4.685700 36.664101 -1.616400 0.239300 0.661600 -5.919200 37.619099 -4.570300 0.183400 0.661600 -6.029500 46.188801 -3.956000 0.183500 0.792100 -4.298500 47.001099 -0.058900 0.249500 0.802400 -6.775800 50.206501 -7.534500 0.134300 0.852600 -0.000000 50.037800 -9.413700 0.042000 0.827300 -0.000000 53.738098 -8.986800 0.028300 0.877800 -7.252500 54.524502 -7.615000 0.126400 0.913200 -7.252500 54.524502 -7.615000 0.533200 0.977800 -6.624100 53.529800 -2.653700 0.469900 0.977800 -8.184300 53.108700 -3.320400 0.469900 0.942000 -8.747800 53.770199 -7.353300 0.528600 0.942000 -9.827700 52.989700 -7.188500 0.526400 0.916400 -9.508400 52.403099 -3.672700 0.469900 0.916400 -15.636800 49.715099 -4.015700 0.469900 0.803100 -14.989100 50.565300 -7.297200 0.526200 0.828100 -0.000000 37.009800 0.550700 0.310700 0.661600 -4.685700 36.664101 -1.616400 0.239300 0.661600 -4.298500 47.001099 -0.058900 0.249500 0.802400 -0.000000 47.287498 1.094200 0.310700 0.805700 -0.000000 53.738098 -8.986800 0.028300 0.877800 -0.000000 55.950600 -7.250100 0.022600 0.916300 -2.321200 55.471001 -5.570800 0.053900 0.941000 -7.252500 54.524502 -7.615000 0.126400 0.913200 -3.773800 51.093601 -1.034300 0.256800 0.864400 -4.298500 47.001099 -0.058900 0.249500 0.802400 -6.029500 46.188801 -3.956000 0.183500 0.792100 -6.624100 53.529800 -2.653700 0.210400 0.900400 -6.624100 53.529800 -2.653700 0.210400 0.900400 -6.029500 46.188801 -3.956000 0.183500 0.792100 -7.813100 49.342701 -3.886900 0.181200 0.844200 -0.000000 50.880199 0.110000 0.310700 0.860500 -0.000000 47.287498 1.094200 0.310700 0.805700 -4.298500 47.001099 -0.058900 0.249500 0.802400 -3.773800 51.093601 -1.034300 0.256800 0.864400 -16.136200 50.023998 -7.546200 0.529500 0.803100 -14.885000 46.974701 -7.946000 0.590800 0.803100 -13.779500 47.417198 -7.715300 0.590800 0.828100 -14.989100 50.565300 -7.297200 0.526200 0.828100 -13.779500 47.417198 -7.715300 0.347800 0.823100 -14.977100 45.689201 -4.821000 0.400900 0.803100 -8.927200 49.128502 -4.128200 0.409800 0.916400 -8.756500 49.321098 -7.632900 0.347800 0.916400 -17.208200 49.477699 -7.512200 0.531700 0.782100 -16.810101 49.139900 -3.928800 0.469900 0.782100 -22.348700 46.932201 -2.822400 0.469900 0.674700 -22.585199 48.327702 -7.594400 0.533600 0.698800 -21.936399 43.055199 -3.733600 0.412700 0.674700 -22.348700 46.932201 -2.822400 0.469900 0.674700 -16.810101 49.139900 -3.928800 0.469900 0.782100 -16.192200 44.960400 -4.877100 0.398600 0.782100 -22.105101 44.119598 -7.074000 0.583100 0.674700 -21.061199 44.183601 -7.611200 0.590800 0.698800 -22.585199 48.327702 -7.594400 0.533600 0.698800 -23.337700 47.268200 -6.945000 0.530800 0.674700 -15.884600 46.520500 -7.855800 0.347800 0.782100 -21.061199 44.183601 -7.611200 0.347800 0.693400 -21.936399 43.055199 -3.733600 0.412700 0.674700 -16.192200 44.960400 -4.877100 0.398600 0.782100 -5.598500 31.822901 -1.404300 0.847900 0.413200 -7.453900 29.910801 -4.780100 0.884800 0.385400 -7.174300 32.815300 -5.167300 0.893300 0.414200 -4.970000 33.082802 -8.871900 0.938900 0.409500 -7.174300 32.815300 -5.167300 0.893300 0.414200 -7.453900 29.910801 -4.780100 0.884800 0.385400 -5.595300 29.761600 -8.492500 0.927500 0.375900 -6.827700 20.858999 -3.044800 0.858900 0.286100 -6.194700 19.576300 -3.478600 0.860200 0.277400 -5.426000 21.341299 -8.132600 0.914200 0.282100 -0.835600 22.853901 -8.210700 0.964300 0.301600 -5.317800 22.936800 -8.016200 0.916400 0.301600 -5.426000 21.341299 -8.132600 0.914200 0.282100 -0.899900 21.410400 -8.349400 0.962800 0.286100 -0.899900 21.410400 -8.349400 0.726500 0.282100 -1.853000 19.164200 -1.371600 0.805100 0.274200 -1.957400 20.620800 -1.211500 0.804700 0.286100 -6.194700 19.576300 -3.478600 0.860200 0.277400 -6.827700 20.858999 -3.044800 0.858900 0.286100 -1.957400 20.620800 -1.211500 0.804700 0.286100 -1.853000 19.164200 -1.371600 0.805100 0.274200 -5.117200 15.490400 -9.679700 0.917300 0.220800 -0.134100 16.169500 -9.174700 0.969900 0.225300 -0.899900 21.410400 -8.349400 0.962800 0.286100 -5.426000 21.341299 -8.132600 0.914200 0.282100 -0.134100 16.169500 -9.174700 0.732600 0.207100 -1.716700 14.450400 -2.459200 0.808600 0.236100 -1.853000 19.164200 -1.371600 0.805100 0.274200 -0.899900 21.410400 -8.349400 0.726500 0.282100 -1.853000 19.164200 -1.371600 0.805100 0.274200 -1.716700 14.450400 -2.459200 0.808600 0.236100 -6.069200 14.643000 -3.762300 0.859400 0.227800 -6.194700 19.576300 -3.478600 0.860200 0.277400 -6.069200 14.643000 -3.762300 0.859400 0.227800 -5.117200 15.490400 -9.679700 0.917300 0.220800 -5.426000 21.341299 -8.132600 0.914200 0.282100 -6.194700 19.576300 -3.478600 0.860200 0.277400 -7.813100 49.342701 -3.886900 0.181200 0.844200 -6.029500 46.188801 -3.956000 0.183500 0.792100 -5.495700 46.043098 -6.732400 0.140100 0.788400 -6.775800 50.206501 -7.534500 0.134300 0.852600 -8.756500 49.321098 -7.632900 0.347800 0.916400 -8.927200 49.128502 -4.128200 0.409800 0.916400 -7.813100 49.342701 -3.886900 0.407700 0.942000 -6.775800 50.206501 -7.534500 0.347800 0.942000 -5.495700 46.043098 -6.732400 0.140100 0.788400 -0.000000 45.235802 -8.516300 0.061600 0.762900 -0.000000 50.037800 -9.413700 0.042000 0.827300 -6.775800 50.206501 -7.534500 0.134300 0.852600 -3.773800 51.093601 -1.034300 0.256800 0.864400 -1.435700 55.057400 -2.884500 0.286000 0.931400 -0.000000 54.522099 -2.187600 0.310700 0.919600 -0.000000 50.880199 0.110000 0.310700 0.860500 -0.163800 60.672798 0.405300 0.538500 0.200900 -0.226300 59.631802 0.717000 0.537800 0.167300 -0.605400 59.453602 0.006800 0.558900 0.156900 -0.596000 60.268700 -0.255900 0.565100 0.185300 -0.000000 59.375900 0.272700 0.533800 0.153800 -0.000000 58.735298 0.237300 0.533800 0.134400 -0.793500 58.611801 -0.022400 0.561500 0.129800 -0.605400 59.453602 0.006800 0.558900 0.156900 -1.340700 61.343498 -1.024900 0.599900 0.231700 -2.225300 60.301201 -1.334400 0.633200 0.187400 -2.209500 61.230499 -1.515000 0.636800 0.228100 -0.474100 61.294899 -0.607800 0.567800 0.227200 -0.785400 61.539799 -0.048800 0.562200 0.247600 -0.179900 61.274700 0.058500 0.542100 0.223900 -0.163800 60.672798 0.405300 0.538500 0.200900 -0.596000 60.268700 -0.255900 0.565100 0.185300 -0.474100 61.294899 -0.607800 0.567800 0.227200 -0.179900 61.274700 0.058500 0.542100 0.223900 -0.785400 61.539799 -0.048800 0.562200 0.247600 -1.792100 61.563202 -0.648200 0.603400 0.250800 -1.901400 62.898899 -1.262500 0.616100 0.287500 -0.000000 62.775902 -0.355700 0.533900 0.286800 -1.901400 62.898899 -1.262500 0.616100 0.287500 -1.792100 61.563202 -0.648200 0.603400 0.250800 -2.209500 61.230499 -1.515000 0.636800 0.228100 -2.505800 61.413601 -3.333900 0.700500 0.240200 -2.071800 58.080299 -1.837600 0.632000 0.089900 -2.361600 58.652599 -3.405400 0.691600 0.111600 -2.043500 58.694401 -1.722000 0.633000 0.119000 -2.361600 58.652599 -3.405400 0.691600 0.111600 -2.071800 58.080299 -1.837600 0.632000 0.089900 -1.480400 57.287800 -3.167400 0.679600 0.054000 -2.361600 58.652599 -3.405400 0.691600 0.111600 -2.484800 60.667999 -2.078300 0.658100 0.193000 -2.225300 60.301201 -1.334400 0.633200 0.187400 -2.043500 58.694401 -1.722000 0.633000 0.119000 -0.596000 60.268700 -0.255900 0.565100 0.185300 -0.605400 59.453602 0.006800 0.558900 0.156900 -0.793500 58.611801 -0.022400 0.561500 0.129800 -2.225300 60.301201 -1.334400 0.633200 0.187400 -0.793500 58.611801 -0.022400 0.561500 0.129800 -0.000000 58.735298 0.237300 0.533800 0.134400 -0.000000 57.320400 0.190300 0.533800 0.095300 -0.860300 57.339199 -0.345300 0.560600 0.087800 -2.361600 58.652599 -3.405400 0.691600 0.111600 -1.480400 57.287800 -3.167400 0.679600 0.054000 -1.507500 57.978802 -4.806700 0.740400 0.071600 -1.480400 57.287800 -3.167400 0.293800 0.962800 -0.509500 56.862801 -2.081200 0.308000 0.953500 -0.000000 54.522099 -2.187600 0.310700 0.919600 -1.435700 55.057400 -2.884500 0.286000 0.931400 -1.435700 55.057400 -2.884500 0.286000 0.931400 -2.321200 55.471001 -5.570800 0.259700 0.968000 -1.507500 57.978802 -4.806700 0.270100 0.982500 -1.480400 57.287800 -3.167400 0.293800 0.962800 -5.117200 15.490400 -9.679700 0.917300 0.220800 -1.456400 14.610600 -8.695100 0.949700 0.207500 -0.134100 16.169500 -9.174700 0.969900 0.225300 -0.134100 16.169500 -9.174700 0.732600 0.207100 -1.239800 14.644800 -6.465300 0.774100 0.204900 -1.716700 14.450400 -2.459200 0.808600 0.236100 -5.308800 13.910900 -3.738700 0.855000 0.218100 -6.069200 14.643000 -3.762300 0.859400 0.227800 -1.716700 14.450400 -2.459200 0.808600 0.236100 -1.766900 13.754900 -2.918700 0.809900 0.215800 -4.620900 14.945700 -8.516100 0.914400 0.215300 -5.117200 15.490400 -9.679700 0.917300 0.220800 -6.069200 14.643000 -3.762300 0.859400 0.227800 -5.308800 13.910900 -3.738700 0.855000 0.218100 -1.957400 20.620800 -1.211500 0.804700 0.286100 -2.189200 21.987900 -1.483700 0.804500 0.301600 -0.835600 22.853901 -8.210700 0.728900 0.301600 -0.899900 21.410400 -8.349400 0.726500 0.282100 -7.174300 32.815300 -5.167300 0.893300 0.414200 -4.970000 33.082802 -8.871900 0.938900 0.409500 -5.283200 35.952900 -7.814600 0.933900 0.441300 -6.542300 35.480598 -4.902800 0.897200 0.442800 -5.598500 31.822901 -1.404300 0.847900 0.413200 -7.174300 32.815300 -5.167300 0.893300 0.414200 -6.542300 35.480598 -4.902800 0.897200 0.442800 -4.685700 36.664101 -1.616400 0.239300 0.661600 -3.798500 31.552500 -0.388900 0.257800 0.582200 -5.598500 31.822901 -1.404300 0.231700 0.582200 -2.225300 60.301201 -1.334400 0.633200 0.187400 -2.484800 60.667999 -2.078300 0.658100 0.193000 -2.209500 61.230499 -1.515000 0.636800 0.228100 -8.927200 49.128502 -4.128200 0.409800 0.916400 -9.508400 52.403099 -3.672700 0.469900 0.916400 -8.184300 53.108700 -3.320400 0.469900 0.942000 -7.813100 49.342701 -3.886900 0.407700 0.942000 -8.184300 53.108700 -3.320400 0.469900 0.942000 -9.508400 52.403099 -3.672700 0.469900 0.916400 -9.827700 52.989700 -7.188500 0.526400 0.916400 -8.747800 53.770199 -7.353300 0.528600 0.942000 -8.747800 53.770199 -7.353300 0.528600 0.942000 -6.775800 50.206501 -7.534500 0.590800 0.942000 -7.252500 54.524502 -7.615000 0.533200 0.977800 -8.927200 49.128502 -4.128200 0.409800 0.916400 -14.977100 45.689201 -4.821000 0.400900 0.803100 -15.636800 49.715099 -4.015700 0.469900 0.803100 -9.508400 52.403099 -3.672700 0.469900 0.916400 -1.435700 55.057400 -2.884500 0.286000 0.931400 -3.773800 51.093601 -1.034300 0.256800 0.864400 -6.624100 53.529800 -2.653700 0.210400 0.900400 -7.252500 54.524502 -7.615000 0.180600 0.964800 -2.321200 55.471001 -5.570800 0.259700 0.968000 -1.435700 55.057400 -2.884500 0.286000 0.931400 -7.252500 54.524502 -7.615000 0.180600 0.964800 -2.209500 61.230499 -1.515000 0.636800 0.228100 -2.484800 60.667999 -2.078300 0.658100 0.193000 -2.505800 61.413601 -3.333900 0.704900 0.212700 -2.484800 60.667999 -2.078300 0.658100 0.193000 -2.361600 58.652599 -3.405400 0.691600 0.111600 -2.505800 61.413601 -3.333900 0.704900 0.212700 -2.209500 61.230499 -1.515000 0.636800 0.228100 -1.792100 61.563202 -0.648200 0.603400 0.250800 -1.340700 61.343498 -1.024900 0.599900 0.231700 -3.061600 3.537800 -3.461700 0.290200 0.071700 -1.553600 3.059500 -4.173500 0.275500 0.071900 -1.568700 1.981700 -0.627100 0.274000 0.039600 -3.735600 1.816900 0.228400 0.290200 0.030700 -0.626000 0.031700 -8.336200 0.238500 0.103000 -1.825200 -0.024100 0.601200 0.266200 0.023600 -1.568700 1.981700 -0.627100 0.274000 0.039600 -1.553600 3.059500 -4.173500 0.275500 0.071900 -1.825200 -0.024100 0.601200 0.783900 0.050100 -0.626000 0.031700 -8.336200 0.777900 0.139800 -1.712600 0.024900 -9.195700 0.765100 0.147100 -3.769300 -0.009000 1.132900 0.765800 0.040900 -1.712600 0.024900 -9.195700 0.925400 0.031900 -0.626000 0.031700 -8.336200 0.938600 0.031200 -1.239800 14.644800 -6.465300 0.974400 0.175600 -1.456400 14.610600 -8.695100 0.943400 0.175600 -1.568700 1.981700 -0.627100 0.274000 0.039600 -1.825200 -0.024100 0.601200 0.266200 0.023600 -3.769300 -0.009000 1.132900 0.289700 0.012400 -3.735600 1.816900 0.228400 0.290200 0.030700 -4.089400 2.633000 -5.031300 0.310400 0.073900 -5.390300 1.568200 -1.670300 0.308400 0.040400 -5.176800 -0.025000 -0.598300 0.313500 0.023800 -3.252600 0.001600 -8.591000 0.345300 0.097200 -3.769300 -0.009000 1.132900 0.289700 0.012400 -5.176800 -0.025000 -0.598300 0.313500 0.023800 -5.390300 1.568200 -1.670300 0.308400 0.040400 -3.735600 1.816900 0.228400 0.290200 0.030700 -5.390300 1.568200 -1.670300 0.308400 0.040400 -4.089400 2.633000 -5.031300 0.310400 0.073900 -3.061600 3.537800 -3.461700 0.290200 0.071700 -3.735600 1.816900 0.228400 0.290200 0.030700 -3.061600 3.537800 -3.461700 0.856300 0.067800 -4.089400 2.633000 -5.031300 0.873900 0.060000 -5.308800 13.910900 -3.738700 0.859000 0.175600 -1.766900 13.754900 -2.918700 0.824200 0.175600 -5.117200 15.490400 -9.679700 0.917300 0.220800 -4.620900 14.945700 -8.516100 0.914400 0.215300 -1.456400 14.610600 -8.695100 0.949700 0.207500 -1.456400 14.610600 -8.695100 0.746600 0.183800 -1.239800 14.644800 -6.465300 0.774100 0.204900 -0.134100 16.169500 -9.174700 0.732600 0.207100 -5.426000 21.341299 -8.132600 0.914200 0.282100 -5.317800 22.936800 -8.016200 0.916400 0.301600 -6.824000 22.193899 -3.251500 0.860400 0.301600 -6.827700 20.858999 -3.044800 0.858900 0.286100 -0.845100 29.891001 -9.498900 0.978500 0.369500 -5.595300 29.761600 -8.492500 0.927500 0.375900 -5.317800 22.936800 -8.016200 0.916400 0.301600 -0.835600 22.853901 -8.210700 0.964300 0.301600 -1.957400 20.620800 -1.211500 0.804700 0.286100 -6.827700 20.858999 -3.044800 0.858900 0.286100 -6.824000 22.193899 -3.251500 0.860400 0.301600 -2.189200 21.987900 -1.483700 0.804500 0.301600 -0.605400 59.453602 0.006800 0.558900 0.156900 -0.226300 59.631802 0.717000 0.537800 0.167300 -0.000000 59.375900 0.272700 0.533800 0.153800 -21.936399 43.055199 -3.733600 0.412700 0.674700 -23.265499 44.290199 -3.614200 0.431800 0.655600 -23.323000 46.228001 -3.425200 0.469900 0.655600 -22.348700 46.932201 -2.822400 0.469900 0.674700 -22.105101 44.119598 -7.074000 0.583100 0.674700 -23.337700 47.268200 -6.945000 0.530800 0.674700 -23.881300 46.267799 -5.995500 0.521800 0.655600 -23.273100 44.479099 -6.170500 0.556600 0.655600 -22.348700 46.932201 -2.822400 0.469900 0.674700 -23.323000 46.228001 -3.425200 0.469900 0.655600 -23.881300 46.267799 -5.995500 0.521800 0.655600 -23.337700 47.268200 -6.945000 0.530800 0.674700 -21.936399 43.055199 -3.733600 0.412700 0.674700 -22.105101 44.119598 -7.074000 0.362600 0.674700 -23.273100 44.479099 -6.170500 0.386800 0.655600 -23.265499 44.290199 -3.614200 0.431800 0.655600 -23.323000 46.228001 -3.425200 0.469900 0.655600 -23.265499 44.290199 -3.614200 0.431800 0.655600 -24.446100 44.099098 -3.039500 0.444100 0.624200 -24.935400 45.742901 -3.288800 0.469900 0.624200 -23.273100 44.479099 -6.170500 0.556600 0.655600 -23.881300 46.267799 -5.995500 0.521800 0.655600 -25.982700 45.641201 -5.974700 0.517100 0.624200 -25.718901 44.407902 -5.989100 0.533000 0.624200 -23.881300 46.267799 -5.995500 0.521800 0.655600 -23.323000 46.228001 -3.425200 0.469900 0.655600 -24.935400 45.742901 -3.288800 0.469900 0.624200 -25.982700 45.641201 -5.974700 0.517100 0.624200 -23.265499 44.290199 -3.614200 0.431800 0.655600 -23.273100 44.479099 -6.170500 0.386800 0.655600 -25.718901 44.407902 -5.989100 0.398000 0.624200 -24.446100 44.099098 -3.039500 0.444100 0.624200 -3.798500 31.552500 -0.388900 0.257800 0.582200 -4.685700 36.664101 -1.616400 0.239300 0.661600 -0.000000 37.009800 0.550700 0.310700 0.661600 -0.000000 31.552500 0.128500 0.310700 0.582200 -27.058001 43.733101 -1.471100 0.783900 0.527900 -26.775499 43.007000 -1.492900 0.799700 0.523000 -27.637899 42.321201 -1.984400 0.780200 0.502700 -28.100901 44.177299 -2.470000 0.756100 0.537200 -27.102699 45.320202 -5.735100 0.706300 0.587600 -26.246300 42.901402 -5.383600 0.663100 0.553800 -25.718901 44.407902 -5.989100 0.674700 0.592000 -25.982700 45.641201 -5.974700 0.701400 0.609900 -24.935400 45.742901 -3.288800 0.774000 0.616500 -26.753901 45.398300 -2.858600 0.766000 0.574200 -27.102699 45.320202 -5.735100 0.706300 0.587600 -25.982700 45.641201 -5.974700 0.701400 0.609900 -24.446100 44.099098 -3.039500 0.815000 0.599300 -25.718901 44.407902 -5.989100 0.885900 0.607200 -26.246300 42.901402 -5.383600 0.880100 0.569900 -28.380600 42.330502 -3.056600 0.741600 0.498200 -28.697901 44.238201 -3.477500 0.737900 0.538900 -28.100901 44.177299 -2.470000 0.756100 0.537200 -27.637899 42.321201 -1.984400 0.780200 0.502700 -28.380600 42.330502 -3.056600 0.741600 0.498200 -28.292801 42.543098 -4.446800 0.704200 0.514300 -28.543800 44.178001 -4.651400 0.718600 0.545700 -28.697901 44.238201 -3.477500 0.737900 0.538900 -26.753901 45.398300 -2.858600 0.766000 0.574200 -28.100901 44.177299 -2.470000 0.756100 0.537200 -28.697901 44.238201 -3.477500 0.737900 0.538900 -24.935400 45.742901 -3.288800 0.774000 0.616500 -24.446100 44.099098 -3.039500 0.815000 0.599300 -25.587200 43.557701 -2.038700 0.806300 0.556900 -26.117701 44.487900 -2.198700 0.788200 0.565100 -24.446100 44.099098 -3.039500 0.815000 0.599300 -26.246300 42.901402 -5.383600 0.880100 0.569900 -25.491899 42.827301 -2.370100 0.813300 0.554500 -25.587200 43.557701 -2.038700 0.806300 0.556900 -26.753901 45.398300 -2.858600 0.766000 0.574200 -24.935400 45.742901 -3.288800 0.774000 0.616500 -26.117701 44.487900 -2.198700 0.788200 0.565100 -0.000000 31.552500 0.128500 0.310700 0.582200 -0.000000 24.132099 -0.356700 0.310700 0.472800 -3.463700 23.872801 -0.356700 0.261200 0.472800 -3.798500 31.552500 -0.388900 0.257800 0.582200 -2.225300 60.301201 -1.334400 0.633200 0.187400 -0.793500 58.611801 -0.022400 0.561500 0.129800 -2.043500 58.694401 -1.722000 0.633000 0.119000 -0.793500 58.611801 -0.022400 0.561500 0.129800 -0.860300 57.339199 -0.345300 0.560600 0.087800 -2.071800 58.080299 -1.837600 0.632000 0.089900 -2.043500 58.694401 -1.722000 0.633000 0.119000 -2.071800 58.080299 -1.837600 0.632000 0.089900 -0.860300 57.339199 -0.345300 0.560600 0.087800 -0.509500 56.862801 -2.081200 0.570500 0.026600 -1.480400 57.287800 -3.167400 0.631900 0.022800 -0.179900 61.274700 0.058500 0.542100 0.223900 -0.785400 61.539799 -0.048800 0.562200 0.247600 -0.000000 61.912998 -0.048000 0.533800 0.254400 -15.884600 46.520500 -7.855800 0.590800 0.782100 -14.885000 46.974701 -7.946000 0.590800 0.803100 -16.136200 50.023998 -7.546200 0.529500 0.803100 -17.208200 49.477699 -7.512200 0.531700 0.782100 -15.636800 49.715099 -4.015700 0.469900 0.803100 -16.810101 49.139900 -3.928800 0.469900 0.782100 -17.208200 49.477699 -7.512200 0.531700 0.782100 -16.136200 50.023998 -7.546200 0.529500 0.803100 -16.192200 44.960400 -4.877100 0.398600 0.782100 -14.977100 45.689201 -4.821000 0.400900 0.803100 -14.885000 46.974701 -7.946000 0.347800 0.803100 -15.884600 46.520500 -7.855800 0.347800 0.782100 -16.810101 49.139900 -3.928800 0.469900 0.782100 -15.636800 49.715099 -4.015700 0.469900 0.803100 -14.977100 45.689201 -4.821000 0.400900 0.803100 -16.192200 44.960400 -4.877100 0.398600 0.782100 -13.779500 47.417198 -7.715300 0.590800 0.828100 -8.756500 49.321098 -7.632900 0.590800 0.916400 -9.827700 52.989700 -7.188500 0.526400 0.916400 -14.989100 50.565300 -7.297200 0.526200 0.828100 -15.636800 49.715099 -4.015700 0.469900 0.803100 -16.136200 50.023998 -7.546200 0.529500 0.803100 -14.989100 50.565300 -7.297200 0.526200 0.828100 -13.779500 47.417198 -7.715300 0.347800 0.823100 -14.885000 46.974701 -7.946000 0.347800 0.803100 -14.977100 45.689201 -4.821000 0.400900 0.803100 -1.239800 14.644800 -6.465300 0.774100 0.204900 -1.766900 13.754900 -2.918700 0.809900 0.215800 -1.716700 14.450400 -2.459200 0.808600 0.236100 -26.117701 44.487900 -2.198700 0.788200 0.565100 -25.587200 43.557701 -2.038700 0.806300 0.556900 -26.775499 43.007000 -1.492900 0.799700 0.523000 -27.058001 43.733101 -1.471100 0.783900 0.527900 -25.587200 43.557701 -2.038700 0.806300 0.556900 -25.491899 42.827301 -2.370100 0.813300 0.554500 -27.637899 42.321201 -1.984400 0.816200 0.507300 -26.775499 43.007000 -1.492900 0.799700 0.523000 -26.117701 44.487900 -2.198700 0.788200 0.565100 -27.058001 43.733101 -1.471100 0.783900 0.527900 -28.100901 44.177299 -2.470000 0.756100 0.537200 -8.184300 53.108700 -3.320400 0.469900 0.942000 -6.624100 53.529800 -2.653700 0.469900 0.977800 -7.813100 49.342701 -3.886900 0.407700 0.942000 -8.747800 53.770199 -7.353300 0.528600 0.942000 -9.827700 52.989700 -7.188500 0.526400 0.916400 -8.756500 49.321098 -7.632900 0.590800 0.916400 -6.775800 50.206501 -7.534500 0.590800 0.942000 -28.543800 44.178001 -4.651400 0.718600 0.545700 -27.102699 45.320202 -5.735100 0.706300 0.587600 -26.753901 45.398300 -2.858600 0.766000 0.574200 -28.697901 44.238201 -3.477500 0.737900 0.538900 -26.246300 42.901402 -5.383600 0.880100 0.569900 -28.292801 42.543098 -4.446800 0.879400 0.523100 -28.380600 42.330502 -3.056600 0.853500 0.507000 -28.100901 44.177299 -2.470000 0.756100 0.537200 -26.753901 45.398300 -2.858600 0.766000 0.574200 -26.117701 44.487900 -2.198700 0.788200 0.565100 -1.712600 0.024900 -9.195700 0.765100 0.147100 -3.252600 0.001600 -8.591000 0.751000 0.138000 -5.176800 -0.025000 -0.598300 0.748300 0.055100 -3.769300 -0.009000 1.132900 0.765800 0.040900 -0.000000 61.912998 -0.048000 0.533800 0.254400 -0.785400 61.539799 -0.048800 0.562200 0.247600 -0.000000 62.775902 -0.355700 0.533900 0.286800 -0.340300 31.400700 -9.928000 0.694900 0.384200 -0.845100 29.891001 -9.498900 0.702700 0.368200 -0.425600 30.069099 -1.507500 0.785600 0.393300 -0.509500 56.862801 -2.081200 0.308000 0.953500 -0.509500 56.862801 -2.081200 0.570500 0.026600 -0.860300 57.339199 -0.345300 0.560600 0.087800 -0.000000 57.320400 0.190300 0.533800 0.095300 -0.000000 56.862801 -2.081200 0.533800 0.019000 -5.598500 31.822901 -1.404300 0.847900 0.413200 -6.824000 22.193899 -3.251500 0.860400 0.301600 -7.453900 29.910801 -4.780100 0.884800 0.385400 -6.824000 22.193899 -3.251500 0.860400 0.301600 -5.317800 22.936800 -8.016200 0.916400 0.301600 -5.595300 29.761600 -8.492500 0.927500 0.375900 -7.453900 29.910801 -4.780100 0.884800 0.385400 -3.798500 31.552500 -0.388900 0.824000 0.411400 -2.189200 21.987900 -1.483700 0.804500 0.301600 -6.824000 22.193899 -3.251500 0.860400 0.301600 -5.598500 31.822901 -1.404300 0.847900 0.413200 -0.340300 31.400700 -9.928000 0.986800 0.385200 -4.970000 33.082802 -8.871900 0.938900 0.409500 -5.595300 29.761600 -8.492500 0.927500 0.375900 -0.845100 29.891001 -9.498900 0.978500 0.369500 -0.835600 22.853901 -8.210700 0.728900 0.301600 -2.189200 21.987900 -1.483700 0.804500 0.301600 -0.425600 30.069099 -1.507500 0.785600 0.393300 -0.845100 29.891001 -9.498900 0.702700 0.368200 -2.162800 35.743500 -9.599900 0.972400 0.433600 -5.283200 35.952900 -7.814600 0.933900 0.441300 -4.970000 33.082802 -8.871900 0.938900 0.409500 -0.340300 31.400700 -9.928000 0.986800 0.385200 -5.283200 35.952900 -7.814600 0.142200 0.631800 -5.919200 37.619099 -4.570300 0.183400 0.661600 -6.542300 35.480598 -4.902800 0.182500 0.631800 -5.919200 37.619099 -4.570300 0.183400 0.661600 -4.685700 36.664101 -1.616400 0.239300 0.661600 -5.598500 31.822901 -1.404300 0.231700 0.582200 -6.542300 35.480598 -4.902800 0.182500 0.631800 -0.474100 61.294899 -0.607800 0.567800 0.227200 -0.596000 60.268700 -0.255900 0.565100 0.185300 -2.225300 60.301201 -1.334400 0.633200 0.187400 -1.340700 61.343498 -1.024900 0.599900 0.231700 -1.340700 61.343498 -1.024900 0.599900 0.231700 -1.792100 61.563202 -0.648200 0.603400 0.250800 -0.785400 61.539799 -0.048800 0.562200 0.247600 -0.474100 61.294899 -0.607800 0.567800 0.227200 -0.000000 45.235802 -8.516300 0.061600 0.762900 -5.495700 46.043098 -6.732400 0.140100 0.788400 -2.827600 38.171799 -8.088300 0.114700 0.661600 -0.000000 38.221600 -8.073300 0.073400 0.661600 -0.425600 30.069099 -1.507500 0.785600 0.393300 -2.189200 21.987900 -1.483700 0.804500 0.301600 -3.798500 31.552500 -0.388900 0.824000 0.411400 -0.000000 31.547001 -9.939100 0.694200 0.388200 -0.340300 31.400700 -9.928000 0.694900 0.384200 -0.425600 30.069099 -1.507500 0.785600 0.393300 -0.000000 30.215401 -1.522000 0.785000 0.398100 -21.061199 44.183601 -7.611200 0.590800 0.698800 -15.884600 46.520500 -7.855800 0.590800 0.782100 -17.208200 49.477699 -7.512200 0.531700 0.782100 -22.585199 48.327702 -7.594400 0.533600 0.698800 -22.348700 46.932201 -2.822400 0.469900 0.674700 -23.337700 47.268200 -6.945000 0.530800 0.674700 -22.585199 48.327702 -7.594400 0.533600 0.698800 -21.061199 44.183601 -7.611200 0.347800 0.693400 -22.105101 44.119598 -7.074000 0.362600 0.674700 -21.936399 43.055199 -3.733600 0.412700 0.674700 -0.340300 31.400700 -9.928000 0.986800 0.385200 -0.000000 31.547001 -9.939100 0.990600 0.386300 -0.000000 35.795200 -9.599900 0.995500 0.431600 -2.162800 35.743500 -9.599900 0.972400 0.433600 -5.919200 37.619099 -4.570300 0.183400 0.661600 -5.283200 35.952900 -7.814600 0.142200 0.631800 -2.162800 35.743500 -9.599900 0.096700 0.631800 -2.827600 38.171799 -8.088300 0.114700 0.661600 -28.543800 44.178001 -4.651400 0.718600 0.545700 -28.292801 42.543098 -4.446800 0.704200 0.514300 -26.246300 42.901402 -5.383600 0.663100 0.553800 -27.102699 45.320202 -5.735100 0.706300 0.587600 -25.491899 42.827301 -2.370100 0.813300 0.554500 -28.380600 42.330502 -3.056600 0.853500 0.507000 -27.637899 42.321201 -1.984400 0.816200 0.507300 -26.246300 42.901402 -5.383600 0.880100 0.569900 -28.380600 42.330502 -3.056600 0.853500 0.507000 -25.491899 42.827301 -2.370100 0.813300 0.554500 -2.162800 35.743500 -9.599900 0.096700 0.631800 -0.000000 35.795200 -9.599900 0.068300 0.631800 -0.000000 38.221600 -8.073300 0.073400 0.661600 -2.827600 38.171799 -8.088300 0.114700 0.661600 -0.706900 62.538601 -0.289700 0.409100 0.538600 -1.838200 62.255798 -0.802600 0.430000 0.507000 -1.901400 63.532299 -1.247600 0.451500 0.531400 -0.672300 63.485901 -0.421800 0.426300 0.552700 -1.901400 63.532299 -1.247600 0.451500 0.531400 -1.838200 62.255798 -0.802600 0.430000 0.507000 -3.194200 60.597198 -3.460400 0.492000 0.451400 -2.758700 63.532299 -3.348800 0.499700 0.518700 -2.758700 63.532299 -3.348800 0.499700 0.518700 -3.194200 60.597198 -3.460400 0.492000 0.451400 -3.446000 60.597198 -5.980300 0.552100 0.445900 -3.010600 63.532299 -5.868700 0.554200 0.511800 -3.194200 60.597198 -3.460400 0.492000 0.451400 -1.838200 62.255798 -0.802600 0.430000 0.507000 -2.336800 60.597198 -1.072500 0.434100 0.460700 -2.130500 53.628601 -1.359200 0.416700 0.297200 -4.088800 54.879799 -3.460400 0.486800 0.316000 -3.194200 60.597198 -3.460400 0.492000 0.451400 -2.336800 60.597198 -1.072500 0.434100 0.460700 -4.088800 54.879799 -3.460400 0.486800 0.316000 -4.340700 55.234299 -6.210400 0.542400 0.331500 -3.446000 60.597198 -5.980300 0.552100 0.445900 -3.194200 60.597198 -3.460400 0.492000 0.451400 -3.010600 63.532299 -5.868700 0.554200 0.511800 -3.446000 60.597198 -5.980300 0.552100 0.445900 -2.517200 60.597198 -7.879200 0.601000 0.450200 -1.932100 63.532299 -7.311200 0.591100 0.519300 -3.446000 60.597198 -5.980300 0.552100 0.445900 -4.340700 55.234299 -6.210400 0.542400 0.331500 -2.990300 54.496300 -8.246000 0.608400 0.297700 -2.517200 60.597198 -7.879200 0.601000 0.450200 -1.932100 63.532299 -7.311200 0.591100 0.519300 -2.517200 60.597198 -7.879200 0.601000 0.450200 -0.000000 60.597198 -8.812800 0.661800 0.464200 -0.000000 63.532299 -8.174500 0.634800 0.537700 -2.990300 54.496300 -8.246000 0.608400 0.297700 -0.000000 54.050800 -8.782700 0.682300 0.308600 -0.000000 60.597198 -8.812800 0.661800 0.464200 -2.517200 60.597198 -7.879200 0.601000 0.450200 -0.672300 63.485901 -0.421800 0.426300 0.552700 -1.901400 63.532299 -1.247600 0.451500 0.531400 -1.171400 65.057899 -2.205500 0.482000 0.564300 -1.901400 63.532299 -1.247600 0.451500 0.531400 -2.758700 63.532299 -3.348800 0.499700 0.518700 -1.795600 65.057899 -4.806100 0.538600 0.556700 -1.171400 65.057899 -2.205500 0.482000 0.564300 -2.758700 63.532299 -3.348800 0.499700 0.518700 -3.010600 63.532299 -5.868700 0.554200 0.511800 -1.795600 65.057899 -4.806100 0.538600 0.556700 -3.010600 63.532299 -5.868700 0.554200 0.511800 -1.932100 63.532299 -7.311200 0.591100 0.519300 -0.000000 65.057899 -6.421400 0.588900 0.582100 -1.795600 65.057899 -4.806100 0.538600 0.556700 -1.932100 63.532299 -7.311200 0.591100 0.519300 -0.000000 63.532299 -8.174500 0.634800 0.537700 -0.000000 65.057899 -6.421400 0.588900 0.582100 -1.171400 65.057899 -2.205500 0.482000 0.564300 -1.795600 65.057899 -4.806100 0.538600 0.556700 -0.000000 65.560898 -4.058400 0.523700 0.603300 -1.795600 65.057899 -4.806100 0.538600 0.556700 -0.000000 65.057899 -6.421400 0.588900 0.582100 -0.000000 65.560898 -4.058400 0.523700 0.603300 -0.672300 63.485901 -0.421800 0.426300 0.552700 -1.171400 65.057899 -2.205500 0.482000 0.564300 --1.171400 65.057899 -2.205500 0.466700 0.607600 --0.672300 63.485901 -0.421800 0.416100 0.581700 -0.706900 62.538601 -0.289700 0.409100 0.538600 -0.672300 63.485901 -0.421800 0.426300 0.552700 -0.000000 62.538601 -0.140300 0.398200 0.559100 -0.672300 63.485901 -0.421800 0.426300 0.552700 --0.672300 63.485901 -0.421800 0.416100 0.581700 -0.000000 62.538601 -0.140300 0.398200 0.559100 -2.130500 53.628601 -1.359200 0.416700 0.297200 -2.336800 60.597198 -1.072500 0.434100 0.460700 -1.393700 60.597198 -3.164700 0.380300 0.463400 -1.187300 53.628601 -3.164700 0.369000 0.300200 --0.706900 62.538601 -0.289700 0.409100 0.538600 --0.672300 63.485901 -0.421800 0.426300 0.552800 --1.901400 63.532299 -1.247600 0.451500 0.531500 --1.838200 62.255798 -0.802600 0.430000 0.507100 --1.901400 63.532299 -1.247600 0.451500 0.531500 --2.758700 63.532299 -3.348800 0.499700 0.518800 --3.194200 60.597198 -3.460400 0.492000 0.451500 --1.838200 62.255798 -0.802600 0.430000 0.507100 --2.758700 63.532299 -3.348800 0.499700 0.518800 --3.010600 63.532299 -5.868700 0.554200 0.511900 --3.446000 60.597198 -5.980300 0.552100 0.445900 --3.194200 60.597198 -3.460400 0.492000 0.451500 --3.194200 60.597198 -3.460400 0.492000 0.451500 --2.336800 60.597198 -1.072500 0.434000 0.460800 --1.838200 62.255798 -0.802600 0.430000 0.507100 --2.130500 53.628601 -1.359200 0.416600 0.297300 --2.336800 60.597198 -1.072500 0.434000 0.460800 --3.194200 60.597198 -3.460400 0.492000 0.451500 --4.088800 54.879799 -3.460400 0.486700 0.316100 --4.088800 54.879799 -3.460400 0.486700 0.316100 --3.194200 60.597198 -3.460400 0.492000 0.451500 --3.446000 60.597198 -5.980300 0.552100 0.445900 --4.340700 55.234299 -6.210400 0.542400 0.331500 --3.010600 63.532299 -5.868700 0.554200 0.511900 --1.932100 63.532299 -7.311200 0.591100 0.519300 --2.517200 60.597198 -7.879200 0.601000 0.450300 --3.446000 60.597198 -5.980300 0.552100 0.445900 --3.446000 60.597198 -5.980300 0.552100 0.445900 --2.517200 60.597198 -7.879200 0.601000 0.450300 --2.990300 54.496300 -8.246000 0.608300 0.297700 --4.340700 55.234299 -6.210400 0.542400 0.331500 --1.932100 63.532299 -7.311200 0.591100 0.519300 -0.000000 63.532299 -8.174500 0.634800 0.537700 -0.000000 60.597198 -8.812800 0.661800 0.464200 --2.517200 60.597198 -7.879200 0.601000 0.450300 --2.990300 54.496300 -8.246000 0.608300 0.297700 --2.517200 60.597198 -7.879200 0.601000 0.450300 -0.000000 60.597198 -8.812800 0.661800 0.464200 -0.000000 54.050800 -8.782700 0.682300 0.308600 --0.672300 63.485901 -0.421800 0.426300 0.552800 --1.171400 65.057899 -2.205500 0.482000 0.564400 --1.901400 63.532299 -1.247600 0.451500 0.531500 --1.901400 63.532299 -1.247600 0.451500 0.531500 --1.171400 65.057899 -2.205500 0.482000 0.564400 --1.795600 65.057899 -4.806100 0.538600 0.556700 --2.758700 63.532299 -3.348800 0.499700 0.518800 --2.758700 63.532299 -3.348800 0.499700 0.518800 --1.795600 65.057899 -4.806100 0.538600 0.556700 --3.010600 63.532299 -5.868700 0.554200 0.511900 --3.010600 63.532299 -5.868700 0.554200 0.511900 --1.795600 65.057899 -4.806100 0.538600 0.556700 -0.000000 65.057899 -6.421400 0.589000 0.582100 --1.932100 63.532299 -7.311200 0.591100 0.519300 --1.932100 63.532299 -7.311200 0.591100 0.519300 -0.000000 65.057899 -6.421400 0.589000 0.582100 -0.000000 63.532299 -8.174500 0.634800 0.537700 --1.171400 65.057899 -2.205500 0.482000 0.564400 -0.000000 65.560898 -4.058400 0.523700 0.603400 --1.795600 65.057899 -4.806100 0.538600 0.556700 --1.795600 65.057899 -4.806100 0.538600 0.556700 -0.000000 65.560898 -4.058400 0.523700 0.603400 -0.000000 65.057899 -6.421400 0.589000 0.582100 --1.171400 65.057899 -2.205500 0.466700 0.607600 -1.171400 65.057899 -2.205500 0.482000 0.564300 -0.000000 65.560898 -4.058400 0.523700 0.603300 --0.706900 62.538601 -0.289700 0.409100 0.538600 -0.000000 62.538601 -0.140300 0.398200 0.559200 --0.672300 63.485901 -0.421800 0.426300 0.552800 --2.130500 53.628601 -1.359200 0.416600 0.297300 --1.187300 53.628601 -3.164700 0.369000 0.300300 --1.393700 60.597198 -3.164700 0.380200 0.463500 --2.336800 60.597198 -1.072500 0.434000 0.460800 -8.704300 24.905701 -6.036500 0.967100 0.466200 -7.984800 25.127701 -6.177400 0.966400 0.464600 -7.649900 27.558001 -5.856100 0.993500 0.506600 -8.503900 27.435900 -5.670300 0.976600 0.507100 -6.463600 36.223400 -3.704900 0.962000 0.710700 -5.778000 35.994701 -1.773100 0.922200 0.717000 -7.451900 27.210300 -3.504400 0.930000 0.516400 -8.503900 27.435900 -5.670300 0.976600 0.507100 -5.115000 35.782600 -2.051700 0.916000 0.725700 -6.597900 27.332300 -3.690200 0.913000 0.515500 -7.451900 27.210300 -3.504400 0.930000 0.516400 -5.778000 35.994701 -1.773100 0.922200 0.717000 -5.743400 36.019600 -3.995900 0.971100 0.718900 -6.463600 36.223400 -3.704900 0.962000 0.710700 -8.503900 27.435900 -5.670300 0.976600 0.507100 -7.649900 27.558001 -5.856100 0.993500 0.506600 -7.451900 27.210300 -3.504400 0.930000 0.516400 -6.597900 27.332300 -3.690200 0.913000 0.515500 -7.984800 25.127701 -6.177400 0.966400 0.464600 -8.704300 24.905701 -6.036500 0.967100 0.466200 -7.451900 27.210300 -3.504400 0.930000 0.516400 -8.704300 24.905701 -6.036500 0.967100 0.466200 -8.503900 27.435900 -5.670300 0.976600 0.507100 -6.463600 36.223400 -3.704900 0.962000 0.710700 -5.743400 36.019600 -3.995900 0.971100 0.718900 -5.115000 35.782600 -2.051700 0.916000 0.725700 -5.778000 35.994701 -1.773100 0.922200 0.717000 -4.513000 55.007702 -5.909800 0.935300 0.759300 -4.291100 55.098900 -5.871800 0.932300 0.755300 -4.207800 55.799599 -6.651700 0.967500 0.768900 -4.871900 55.799599 -6.765400 0.957200 0.775300 -2.904000 62.455601 -5.700500 0.954300 0.968000 -2.764700 62.455601 -4.128400 0.909900 0.975800 -4.736600 55.799599 -5.153900 0.919700 0.781300 -4.871900 55.799599 -6.765400 0.957200 0.775300 -2.764700 62.455601 -4.128400 0.909900 0.975800 -4.072400 55.799599 -5.040200 0.904100 0.777700 -4.736600 55.799599 -5.153900 0.919700 0.781300 -2.904000 62.455601 -5.700500 0.954300 0.968000 -4.871900 55.799599 -6.765400 0.957200 0.775300 -4.207800 55.799599 -6.651700 0.967500 0.768900 -4.736600 55.799599 -5.153900 0.919700 0.781300 -4.072400 55.799599 -5.040200 0.904100 0.777700 -4.291100 55.098900 -5.871800 0.932300 0.755300 -4.513000 55.007702 -5.909800 0.935300 0.759300 -4.736600 55.799599 -5.153900 0.919700 0.781300 -4.513000 55.007702 -5.909800 0.935300 0.759300 -4.871900 55.799599 -6.765400 0.957200 0.775300 -4 0 1 2 3 -4 4 5 6 7 -3 8 9 10 -4 11 12 13 14 -4 15 16 17 18 -4 19 20 21 22 -4 23 24 25 26 -4 27 28 29 30 -4 31 32 33 34 -4 35 36 37 38 -4 39 40 41 42 -4 43 44 45 46 -3 47 48 49 -4 50 51 52 53 -4 54 55 56 57 -4 58 59 60 61 -4 62 63 64 65 -4 66 67 68 69 -4 70 71 72 73 -4 74 75 76 77 -3 78 79 80 -4 81 82 83 84 -3 85 86 87 -4 88 89 90 91 -3 92 93 94 -4 95 96 97 98 -4 99 100 101 102 -4 103 104 105 106 -4 107 108 109 110 -4 111 112 113 114 -4 115 116 117 118 -4 119 120 121 122 -4 123 124 125 126 -4 127 128 129 130 -4 131 132 133 134 -4 135 136 137 138 -3 139 140 141 -3 142 143 144 -4 145 146 147 148 -4 149 150 151 152 -4 153 154 155 156 -3 157 158 159 -3 160 161 162 -4 163 164 165 166 -4 167 168 169 170 -4 171 172 173 174 -3 175 176 177 -4 178 179 180 181 -4 182 183 184 185 -3 186 187 188 -3 189 190 191 -4 192 193 194 195 -4 196 197 198 199 -4 200 201 202 203 -4 204 205 206 207 -3 208 209 210 -3 211 212 213 -3 214 215 216 -4 217 218 219 220 -4 221 222 223 224 -3 225 226 227 -4 228 229 230 231 -4 232 233 234 235 -3 236 237 238 -3 239 240 241 -3 242 243 244 -3 245 246 247 -4 248 249 250 251 -4 252 253 254 255 -4 256 257 258 259 -4 260 261 262 263 -4 264 265 266 267 -4 268 269 270 271 -4 272 273 274 275 -4 276 277 278 279 -4 280 281 282 283 -3 284 285 286 -3 287 288 289 -4 290 291 292 293 -4 294 295 296 297 -4 298 299 300 301 -3 302 303 304 -4 305 306 307 308 -4 309 310 311 312 -4 313 314 315 316 -4 317 318 319 320 -4 321 322 323 324 -4 325 326 327 328 -4 329 330 331 332 -4 333 334 335 336 -4 337 338 339 340 -4 341 342 343 344 -4 345 346 347 348 -4 349 350 351 352 -3 353 354 355 -4 356 357 358 359 -4 360 361 362 363 -3 364 365 366 -4 367 368 369 370 -4 371 372 373 374 -3 375 376 377 -4 378 379 380 381 -3 382 383 384 -4 385 386 387 388 -4 389 390 391 392 -3 393 394 395 -4 396 397 398 399 -4 400 401 402 403 -4 404 405 406 407 -4 408 409 410 411 -4 412 413 414 415 -3 416 417 418 -3 419 420 421 -3 422 423 424 -4 425 426 427 428 -4 429 430 431 432 -3 433 434 435 -3 436 437 438 -4 439 440 441 442 -4 443 444 445 446 -3 447 448 449 -3 450 451 452 -4 453 454 455 456 -3 457 458 459 -3 460 461 462 -3 463 464 465 -4 466 467 468 469 -3 470 471 472 -4 473 474 475 476 -4 477 478 479 480 -4 481 482 483 484 -4 485 486 487 488 -4 489 490 491 492 -3 493 494 495 -4 496 497 498 499 -4 500 501 502 503 -4 504 505 506 507 -4 508 509 510 511 -3 512 513 514 -4 515 516 517 518 -4 519 520 521 522 -3 523 524 525 -3 526 527 528 -3 529 530 531 -4 532 533 534 535 -4 536 537 538 539 -4 540 541 542 543 -4 544 545 546 547 -3 548 549 550 -3 551 552 553 -4 554 555 556 557 -3 558 559 560 -4 561 562 563 564 -4 565 566 567 568 -4 569 570 571 572 -3 573 574 575 -4 576 577 578 579 -4 580 581 582 583 -4 584 585 586 587 -4 588 589 590 591 -4 592 593 594 595 -4 596 597 598 599 -4 600 601 602 603 -4 604 605 606 607 -4 608 609 610 611 -3 612 613 614 -4 615 616 617 618 -4 619 620 621 622 -4 623 624 625 626 -4 627 628 629 630 -4 631 632 633 634 -4 635 636 637 638 -4 639 640 641 642 -3 643 644 645 -4 646 647 648 649 -3 650 651 652 -4 653 654 655 656 -3 657 658 659 -4 660 661 662 663 -4 664 665 666 667 -4 668 669 670 671 -4 672 673 674 675 -4 676 677 678 679 -4 680 681 682 683 -4 684 685 686 687 -4 688 689 690 691 -4 692 693 694 695 -4 696 697 698 699 -4 700 701 702 703 -3 704 705 706 -3 707 708 709 -4 710 711 712 713 -4 714 715 716 717 -4 718 719 720 721 -3 722 723 724 -3 725 726 727 -4 728 729 730 731 -4 732 733 734 735 -4 736 737 738 739 -3 740 741 742 -4 743 744 745 746 -4 747 748 749 750 -3 751 752 753 -3 754 755 756 -4 757 758 759 760 -4 761 762 763 764 -4 765 766 767 768 -4 769 770 771 772 -3 773 774 775 -3 776 777 778 -3 779 780 781 -4 782 783 784 785 -4 786 787 788 789 -3 790 791 792 -4 793 794 795 796 -4 797 798 799 800 -3 801 802 803 -3 804 805 806 -3 807 808 809 -3 810 811 812 -4 813 814 815 816 -4 817 818 819 820 -4 821 822 823 824 -4 825 826 827 828 -4 829 830 831 832 -4 833 834 835 836 -4 837 838 839 840 -4 841 842 843 844 -4 845 846 847 848 -3 849 850 851 -3 852 853 854 -4 855 856 857 858 -4 859 860 861 862 -4 863 864 865 866 -3 867 868 869 -4 870 871 872 873 -4 874 875 876 877 -4 878 879 880 881 -4 882 883 884 885 -4 886 887 888 889 -4 890 891 892 893 -4 894 895 896 897 -4 898 899 900 901 -4 902 903 904 905 -4 906 907 908 909 -4 910 911 912 913 -4 914 915 916 917 -3 918 919 920 -4 921 922 923 924 -4 925 926 927 928 -3 929 930 931 -4 932 933 934 935 -4 936 937 938 939 -3 940 941 942 -4 943 944 945 946 -3 947 948 949 -4 950 951 952 953 -4 954 955 956 957 -3 958 959 960 -4 961 962 963 964 -4 965 966 967 968 -4 969 970 971 972 -4 973 974 975 976 -4 977 978 979 980 -3 981 982 983 -3 984 985 986 -3 987 988 989 -4 990 991 992 993 -4 994 995 996 997 -3 998 999 1000 -3 1001 1002 1003 -4 1004 1005 1006 1007 -4 1008 1009 1010 1011 -3 1012 1013 1014 -3 1015 1016 1017 -4 1018 1019 1020 1021 -3 1022 1023 1024 -3 1025 1026 1027 -3 463 1028 464 -4 1029 1030 1031 1032 -3 1033 1034 1035 -4 1036 1037 1038 1039 -4 1040 1041 1042 1043 -4 1044 1045 1046 1047 -4 1048 1049 1050 1051 -4 1052 1053 1054 1055 -3 1056 1057 1058 -4 1059 1060 1061 1062 -4 1063 1064 1065 1066 -4 1067 1068 1069 1070 -4 1071 1072 1073 1074 -3 1075 1076 1077 -4 1078 1079 1080 1081 -4 1082 1083 1084 1085 -3 1086 1087 1088 -3 1089 1090 1091 -4 1092 1093 1094 1095 -4 1096 1097 1098 1099 -4 1100 1101 1102 1103 -3 1104 1105 1106 -3 1107 1108 1109 -4 1110 1111 1112 1113 -4 1114 1115 1116 1117 -4 1118 1119 1120 1121 -4 1122 1123 1124 1125 -3 1126 1127 1128 -4 1129 1130 1131 1132 -4 1133 1134 1135 1136 -4 1137 1138 1139 1140 -4 1141 1142 1143 1144 -4 1145 1146 1147 1148 -4 1149 1150 1151 1152 -3 1153 1154 1155 -4 1156 1157 1158 1159 -3 1160 1161 1162 -4 1163 1164 1165 1166 -3 1167 1168 1169 -3 1170 1171 1172 -3 1173 1174 1175 -4 1176 1177 1178 1179 -3 1180 1181 1182 -3 1183 1184 1185 -4 1186 1187 1188 1189 -4 1190 1191 1192 1193 -4 1194 1195 1196 1197 -4 1198 1199 1200 1201 -3 1202 1203 1204 -4 1205 1206 1207 1208 -4 1209 1210 1211 1212 -4 1213 1214 1215 1216 -4 1217 1218 1219 1220 -4 1221 1222 1223 1224 -4 1225 1226 1227 1228 -3 1229 1230 1231 -4 1232 1233 1234 1235 -3 1236 1237 1238 -4 1239 1240 1241 1242 -3 1243 1244 1245 -3 1246 1247 1248 -3 1249 1250 1251 -3 1252 1253 1254 -3 1255 1256 1257 -4 1258 1259 1260 1261 -4 1262 1263 1264 1265 -4 1266 1267 1268 1269 -4 1270 1271 1272 1273 -4 1274 1275 1276 1277 -4 1278 1279 1280 1281 -3 1282 1283 1284 -4 1285 1286 1287 1288 -4 1289 1290 1291 1292 -4 1293 1294 1295 1296 -3 1297 1298 1299 -3 1300 1301 1302 -4 1303 1304 1305 1306 -3 1307 1308 1309 diff --git a/src/tests/evas/meshes/ply/Normal_NoUVs_Colors.ply b/src/tests/evas/meshes/ply/Normal_NoUVs_Colors.ply deleted file mode 100644 index 77a646fd50..0000000000 --- a/src/tests/evas/meshes/ply/Normal_NoUVs_Colors.ply +++ /dev/null @@ -1,1682 +0,0 @@ -ply -format ascii 1.0 -comment Created by Blender 2.69 (sub 0) - www.blender.org, source file: '' -element vertex 1310 -property float x -property float y -property float z -property float nx -property float ny -property float nz -property uchar red -property uchar green -property uchar blue -element face 356 -property list uchar uint vertex_indices -end_header --4.649800 14.945700 -8.785600 -0.021734 0.023193 -0.999495 0 253 27 --2.020300 14.610600 -8.278800 -0.021734 0.023193 -0.999495 0 253 27 --1.712600 0.024900 -9.195700 -0.021734 0.023193 -0.999495 254 68 73 --3.252600 0.001600 -8.591000 -0.021734 0.023193 -0.999495 254 68 73 --4.649800 14.945700 -8.785600 -0.983809 -0.091724 -0.153967 254 68 73 --3.252600 0.001600 -8.591000 -0.983809 -0.091724 -0.153967 254 88 92 --4.089400 2.633000 -5.031300 -0.983809 -0.091724 -0.153967 254 68 73 --5.308800 13.910900 -3.738700 -0.983809 -0.091724 -0.153967 254 68 73 --1.553600 3.059500 -4.173500 0.398905 -0.098999 0.911633 18 0 253 --1.766900 13.754900 -2.918700 0.398905 -0.098999 0.911633 0 254 27 --3.061600 3.537800 -3.461700 0.398905 -0.098999 0.911633 18 0 252 --1.553600 3.059500 -4.173500 0.977159 -0.002648 0.212493 18 0 253 --0.626000 0.031700 -8.336200 0.977159 -0.002648 0.212493 19 0 253 --0.971400 14.644800 -6.706400 0.977159 -0.002648 0.212493 27 229 30 --1.766900 13.754900 -2.918700 0.977159 -0.002648 0.212493 0 253 27 --5.495700 46.043098 -6.732400 -0.860977 -0.085411 -0.501422 254 254 254 --2.827600 38.171799 -8.088300 -0.860977 -0.085411 -0.501422 254 254 254 --5.919200 37.619099 -4.570300 -0.860977 -0.085411 -0.501422 254 254 254 --6.029500 46.188801 -3.956000 -0.860977 -0.085411 -0.501422 254 254 254 --4.685700 36.664101 -1.616400 -0.917535 -0.032092 0.396359 13 240 28 --4.298500 47.001099 -0.058900 -0.917535 -0.032092 0.396359 5 247 27 --6.029500 46.188801 -3.956000 -0.917535 -0.032092 0.396359 0 253 27 --5.919200 37.619099 -4.570300 -0.917535 -0.032092 0.396359 0 253 27 --6.775800 50.206501 -7.534500 -0.223809 0.028781 -0.974208 0 254 27 --7.252500 54.524502 -7.615000 -0.223809 0.028781 -0.974208 0 254 27 -0.000000 53.738098 -8.986800 -0.223809 0.028781 -0.974208 0 254 27 -0.000000 50.037800 -9.413700 -0.223809 0.028781 -0.974208 0 254 27 --7.252500 54.524502 -7.615000 -0.375359 0.901424 0.215731 0 253 27 --8.747800 53.770199 -7.353300 -0.375359 0.901424 0.215731 0 253 27 --8.184300 53.108700 -3.320400 -0.375359 0.901424 0.215731 0 253 27 --6.624100 53.529800 -2.653700 -0.375359 0.901424 0.215731 0 253 27 --9.827700 52.989700 -7.188500 -0.412168 0.895237 0.169320 0 253 27 --14.989100 50.565300 -7.297200 -0.412168 0.895237 0.169320 0 253 27 --15.636800 49.715099 -4.015700 -0.412168 0.895237 0.169320 0 253 27 --9.508400 52.403099 -3.672700 -0.412168 0.895237 0.169320 0 253 27 -0.000000 37.009800 0.550700 -0.339751 -0.089043 0.936291 172 124 55 -0.000000 47.287498 1.094200 -0.339751 -0.089043 0.936291 0 252 27 --4.298500 47.001099 -0.058900 -0.339751 -0.089043 0.936291 0 253 27 --4.685700 36.664101 -1.616400 -0.339751 -0.089043 0.936291 13 226 40 -0.000000 53.738098 -8.986800 -0.139268 0.841727 -0.521633 0 254 27 --7.252500 54.524502 -7.615000 -0.139268 0.841727 -0.521633 0 254 27 --2.321200 55.471001 -5.570800 -0.139268 0.841727 -0.521633 0 254 27 -0.000000 55.950600 -7.250100 -0.139268 0.841727 -0.521633 0 254 27 --6.624100 53.529800 -2.653700 -0.510018 -0.190129 0.838888 0 253 27 --7.813100 49.342701 -3.886900 -0.510018 -0.190129 0.838888 0 253 27 --6.029500 46.188801 -3.956000 -0.510018 -0.190129 0.838888 0 253 27 --3.773800 51.093601 -1.034300 -0.510018 -0.190129 0.838888 0 253 27 --6.029500 46.188801 -3.956000 -0.909885 0.202901 0.361857 0 253 27 --4.298500 47.001099 -0.058900 -0.909885 0.202901 0.361857 5 247 27 --3.773800 51.093601 -1.034300 -0.909885 0.202901 0.361857 0 253 27 -0.000000 50.880199 0.110000 -0.266804 0.255185 0.929352 0 253 27 --3.773800 51.093601 -1.034300 -0.266804 0.255185 0.929352 0 253 27 --4.298500 47.001099 -0.058900 -0.266804 0.255185 0.929352 0 253 27 -0.000000 47.287498 1.094200 -0.266804 0.255185 0.929352 0 252 27 --16.136200 50.023998 -7.546200 0.129075 0.179950 -0.975171 0 249 27 --14.989100 50.565300 -7.297200 0.129075 0.179950 -0.975171 0 252 27 --13.779500 47.417198 -7.715300 0.129075 0.179950 -0.975171 0 253 27 --14.885000 46.974701 -7.946000 0.129075 0.179950 -0.975171 0 251 27 --13.779500 47.417198 -7.715300 0.437873 -0.882573 -0.171264 0 253 27 --8.756500 49.321098 -7.632900 0.437873 -0.882573 -0.171264 0 253 27 --8.927200 49.128502 -4.128200 0.437873 -0.882573 -0.171264 0 253 27 --14.977100 45.689201 -4.821000 0.437873 -0.882573 -0.171264 0 248 31 --17.208200 49.477699 -7.512200 -0.268622 0.938905 0.215175 0 253 27 --22.585199 48.327702 -7.594400 -0.268622 0.938905 0.215175 0 253 27 --22.348700 46.932201 -2.822400 -0.268622 0.938905 0.215175 72 195 37 --16.810101 49.139900 -3.928800 -0.268622 0.938905 0.215175 0 253 27 --21.936399 43.055199 -3.733600 0.256926 -0.186034 0.948357 24 182 75 --16.192200 44.960400 -4.877100 0.256926 -0.186034 0.948357 0 236 42 --16.810101 49.139900 -3.928800 0.256926 -0.186034 0.948357 0 253 27 --22.348700 46.932201 -2.822400 0.256926 -0.186034 0.948357 72 195 37 --22.105101 44.119598 -7.074000 -0.471869 -0.161034 -0.866838 254 254 254 --23.337700 47.268200 -6.945000 -0.471869 -0.161034 -0.866838 254 254 254 --22.585199 48.327702 -7.594400 -0.471869 -0.161034 -0.866838 254 254 254 --21.061199 44.183601 -7.611200 -0.471869 -0.161034 -0.866838 254 254 254 --15.884600 46.520500 -7.855800 0.312108 -0.901546 -0.299673 0 250 27 --16.192200 44.960400 -4.877100 0.312108 -0.901546 -0.299673 0 253 27 --21.936399 43.055199 -3.733600 0.312108 -0.901546 -0.299673 0 253 27 --21.061199 44.183601 -7.611200 0.312108 -0.901546 -0.299673 52 208 31 --5.598500 31.822901 -1.405400 -0.899226 0.141575 0.413943 133 152 48 --7.174300 32.815300 -5.168000 -0.899226 0.141575 0.413943 0 253 27 --7.453900 29.910801 -4.782000 -0.899226 0.141575 0.413943 0 253 27 --4.970000 33.082802 -8.871300 -0.875321 0.068314 -0.478692 0 253 27 --5.595300 29.761600 -8.491100 -0.875321 0.068314 -0.478692 0 253 27 --7.453900 29.910801 -4.782000 -0.875321 0.068314 -0.478692 0 253 27 --7.174300 32.815300 -5.168000 -0.875321 0.068314 -0.478692 0 253 27 --6.827700 20.858999 -3.051400 -0.895608 -0.345701 -0.279959 254 254 254 --5.426000 21.341299 -8.131100 -0.895608 -0.345701 -0.279959 254 254 254 --6.194700 19.576300 -3.492500 -0.895608 -0.345701 -0.279959 254 254 254 --0.835600 22.853901 -8.203000 -0.044062 0.086408 -0.995285 0 253 27 --0.899900 21.410400 -8.342700 -0.044062 0.086408 -0.995285 0 253 27 --5.426000 21.341299 -8.131100 -0.044062 0.086408 -0.995285 0 253 27 --5.317800 22.936800 -8.014600 -0.044062 0.086408 -0.995285 0 253 27 --0.899900 21.410400 -8.342700 0.986890 0.053202 0.152371 219 57 99 --1.957400 20.620800 -1.217700 0.986890 0.053202 0.152371 254 68 73 --1.853000 19.164200 -1.385300 0.986890 0.053202 0.152371 254 68 73 --6.194700 19.576300 -3.492500 -0.393090 -0.299033 0.869517 114 254 128 --1.853000 19.164200 -1.385300 -0.393090 -0.299033 0.869517 242 254 242 --1.957400 20.620800 -1.217700 -0.393090 -0.299033 0.869517 242 254 242 --6.827700 20.858999 -3.051400 -0.393090 -0.299033 0.869517 168 254 177 --5.259600 15.490400 -9.599400 0.139442 0.106302 -0.984508 0 253 27 --5.426000 21.341299 -8.131100 0.139442 0.106302 -0.984508 0 253 27 --0.899900 21.410400 -8.342700 0.139442 0.106302 -0.984508 0 253 27 --0.294400 16.169500 -7.962700 0.139442 0.106302 -0.984508 0 253 27 --0.294400 16.169500 -7.962700 0.977002 0.117101 0.178197 0 253 27 --0.899900 21.410400 -8.342700 0.977002 0.117101 0.178197 1 216 59 --1.853000 19.164200 -1.385300 0.977002 0.117101 0.178197 0 253 27 --1.221800 14.450400 -2.004100 0.977002 0.117101 0.178197 0 253 27 --1.853000 19.164200 -1.385300 -0.395956 -0.119778 0.910424 254 254 254 --6.194700 19.576300 -3.492500 -0.395956 -0.119778 0.910424 254 254 254 --6.498700 14.643000 -4.000600 -0.395956 -0.119778 0.910424 91 254 108 --1.221800 14.450400 -2.004100 -0.395956 -0.119778 0.910424 0 254 27 --6.498700 14.643000 -4.000600 -0.982418 0.045709 -0.181012 254 254 254 --6.194700 19.576300 -3.492500 -0.982418 0.045709 -0.181012 254 254 254 --5.426000 21.341299 -8.131100 -0.982418 0.045709 -0.181012 254 254 254 --5.259600 15.490400 -9.599400 -0.982418 0.045709 -0.181012 254 254 254 --7.813100 49.342701 -3.886900 -0.881229 -0.394976 -0.259672 254 68 73 --6.775800 50.206501 -7.534500 -0.881229 -0.394976 -0.259672 254 68 73 --5.495700 46.043098 -6.732400 -0.881229 -0.394976 -0.259672 254 68 73 --6.029500 46.188801 -3.956000 -0.881229 -0.394976 -0.259672 254 68 73 --8.756500 49.321098 -7.632900 0.341557 -0.936397 -0.080618 0 254 27 --6.775800 50.206501 -7.534500 0.341557 -0.936397 -0.080618 0 254 27 --7.813100 49.342701 -3.886900 0.341557 -0.936397 -0.080618 0 254 27 --8.927200 49.128502 -4.128200 0.341557 -0.936397 -0.080618 0 254 27 --5.495700 46.043098 -6.732400 -0.295037 -0.218453 -0.930178 0 254 27 --6.775800 50.206501 -7.534500 -0.295037 -0.218453 -0.930178 0 254 27 -0.000000 50.037800 -9.413700 -0.295037 -0.218453 -0.930178 0 254 27 -0.000000 45.235802 -8.516300 -0.295037 -0.218453 -0.930178 0 254 27 --3.773800 51.093601 -1.034300 -0.217879 0.518058 0.827130 0 253 27 -0.000000 50.880199 0.110000 -0.217879 0.518058 0.827130 0 253 27 -0.000000 54.522099 -2.187600 -0.217879 0.518058 0.827130 0 253 27 --1.435700 55.057400 -2.884500 -0.217879 0.518058 0.827130 0 253 27 --0.163800 60.672798 0.405300 -0.878123 0.172158 0.446386 0 254 27 --0.596000 60.268700 -0.255900 -0.878123 0.172158 0.446386 0 254 27 --0.605400 59.453602 0.006800 -0.878123 0.172158 0.446386 0 254 27 --0.226300 59.631802 0.717000 -0.878123 0.172158 0.446386 0 254 27 -0.000000 59.375900 0.272700 -0.351825 0.003851 0.936058 0 254 27 --0.605400 59.453602 0.006800 -0.351825 0.003851 0.936058 0 254 27 --0.793500 58.611801 -0.022400 -0.351825 0.003851 0.936058 0 254 27 -0.000000 58.735298 0.237300 -0.351825 0.003851 0.936058 0 253 27 --1.340700 61.343498 -1.024900 -0.500896 0.173312 0.847978 254 254 254 --2.209500 61.230499 -1.515000 -0.500896 0.173312 0.847978 254 254 254 --2.225300 60.301201 -1.334400 -0.500896 0.173312 0.847978 254 254 254 --0.474100 61.294899 -0.607800 -0.419394 -0.893935 0.158081 254 254 254 --0.179900 61.274700 0.058500 -0.419394 -0.893935 0.158081 254 254 254 --0.785400 61.539799 -0.048800 -0.419394 -0.893935 0.158081 254 254 254 --0.163800 60.672798 0.405300 -0.879737 0.234636 0.413532 0 254 27 --0.179900 61.274700 0.058500 -0.879737 0.234636 0.413532 0 254 27 --0.474100 61.294899 -0.607800 -0.879737 0.234636 0.413532 0 254 27 --0.596000 60.268700 -0.255900 -0.879737 0.234636 0.413532 0 254 27 --0.785400 61.539799 -0.048800 -0.405349 0.400850 0.821591 0 254 27 -0.000000 62.775902 -0.355700 -0.405349 0.400850 0.821591 0 254 27 --1.901400 62.898899 -1.262500 -0.405349 0.400850 0.821591 0 254 27 --1.792100 61.563202 -0.648200 -0.405349 0.400850 0.821591 0 254 27 --1.901400 62.898899 -1.262500 -0.958885 0.139689 0.247034 254 254 254 --2.505800 61.413601 -3.333900 -0.958885 0.139689 0.247034 254 254 254 --2.209500 61.230499 -1.515000 -0.958885 0.139689 0.247034 254 254 254 --1.792100 61.563202 -0.648200 -0.958885 0.139689 0.247034 254 254 254 --2.071800 58.080299 -1.837600 -0.982605 0.010378 0.185418 254 254 254 --2.043500 58.694401 -1.722000 -0.982605 0.010378 0.185418 254 254 254 --2.361600 58.652599 -3.405400 -0.982605 0.010378 0.185418 254 254 254 --2.361600 58.652599 -3.405400 -0.835615 -0.547438 -0.045374 254 254 254 --1.480400 57.287800 -3.167400 -0.835615 -0.547438 -0.045374 254 254 254 --2.071800 58.080299 -1.837600 -0.835615 -0.547438 -0.045374 254 254 254 --2.361600 58.652599 -3.405400 -0.962379 -0.178153 0.205154 254 254 254 --2.043500 58.694401 -1.722000 -0.962379 -0.178153 0.205154 254 254 254 --2.225300 60.301201 -1.334400 -0.962379 -0.178153 0.205154 254 254 254 --2.484800 60.667999 -2.078300 -0.962379 -0.178153 0.205154 254 254 254 --0.596000 60.268700 -0.255900 -0.569338 0.180881 0.801958 0 254 27 --2.225300 60.301201 -1.334400 -0.569338 0.180881 0.801958 0 254 27 --0.793500 58.611801 -0.022400 -0.569338 0.180881 0.801958 0 254 27 --0.605400 59.453602 0.006800 -0.569338 0.180881 0.801958 0 254 27 --0.793500 58.611801 -0.022400 -0.424783 -0.113068 0.898207 0 254 27 --0.860300 57.339199 -0.345300 -0.424783 -0.113068 0.898207 0 253 27 -0.000000 57.320400 0.190300 -0.424783 -0.113068 0.898207 0 253 27 -0.000000 58.735298 0.237300 -0.424783 -0.113068 0.898207 0 253 27 --2.361600 58.652599 -3.405400 -0.801295 -0.555920 -0.221086 254 254 254 --1.507500 57.978802 -4.806700 -0.801295 -0.555920 -0.221086 254 254 254 --1.480400 57.287800 -3.167400 -0.801295 -0.555920 -0.221086 254 254 254 --1.480400 57.287800 -3.167400 -0.605736 -0.042761 0.794516 254 153 157 --1.435700 55.057400 -2.884500 -0.605736 -0.042761 0.794516 244 75 71 -0.000000 54.522099 -2.187600 -0.605736 -0.042761 0.794516 235 81 69 --0.509500 56.862801 -2.081200 -0.605736 -0.042761 0.794516 254 129 132 --1.435700 55.057400 -2.884500 -0.962522 0.132164 0.236820 254 68 73 --1.480400 57.287800 -3.167400 -0.962522 0.132164 0.236820 254 68 73 --1.507500 57.978802 -4.806700 -0.962522 0.132164 0.236820 254 68 73 --2.321200 55.471001 -5.570800 -0.962522 0.132164 0.236820 254 68 73 --5.259600 15.490400 -9.599400 0.329887 -0.177209 -0.927239 0 253 27 --0.294400 16.169500 -7.962700 0.329887 -0.177209 -0.927239 0 253 27 --2.020300 14.610600 -8.278800 0.329887 -0.177209 -0.927239 0 253 27 --0.294400 16.169500 -7.962700 0.923351 -0.382504 0.033356 157 130 53 --1.221800 14.450400 -2.004100 0.923351 -0.382504 0.033356 0 252 27 --0.971400 14.644800 -6.706400 0.923351 -0.382504 0.033356 27 229 30 --5.308800 13.910900 -3.738700 -0.281184 -0.501171 0.818391 23 254 48 --1.766900 13.754900 -2.918700 -0.281184 -0.501171 0.818391 0 254 27 --1.221800 14.450400 -2.004100 -0.281184 -0.501171 0.818391 0 254 27 --6.498700 14.643000 -4.000600 -0.281184 -0.501171 0.818391 91 254 108 --4.649800 14.945700 -8.785600 -0.465679 -0.853476 -0.233927 254 68 73 --5.308800 13.910900 -3.738700 -0.465679 -0.853476 -0.233927 254 68 73 --6.498700 14.643000 -4.000600 -0.465679 -0.853476 -0.233927 254 68 73 --5.259600 15.490400 -9.599400 -0.465679 -0.853476 -0.233927 254 68 73 --1.957400 20.620800 -1.217700 0.981627 0.066418 0.178877 0 253 27 --0.899900 21.410400 -8.342700 0.981627 0.066418 0.178877 1 216 59 --0.835600 22.853901 -8.203000 0.981627 0.066418 0.178877 2 205 69 --2.189200 21.987900 -1.481800 0.981627 0.066418 0.178877 0 253 27 --7.174300 32.815300 -5.168000 -0.882053 0.156893 -0.444261 0 253 27 --6.542300 35.480598 -4.902800 -0.882053 0.156893 -0.444261 0 253 27 --5.283200 35.952900 -7.814600 -0.882053 0.156893 -0.444261 0 254 27 --4.970000 33.082802 -8.871300 -0.882053 0.156893 -0.444261 0 253 27 --5.598500 31.822901 -1.405400 -0.892193 0.169920 0.418473 133 152 48 --6.542300 35.480598 -4.902800 -0.892193 0.169920 0.418473 0 253 27 --7.174300 32.815300 -5.168000 -0.892193 0.169920 0.418473 0 253 27 --4.685700 36.664101 -1.616400 -0.474113 0.127364 0.871203 13 226 40 --5.598500 31.822901 -1.405400 -0.474113 0.127364 0.871203 133 152 48 --3.798500 31.552500 -0.386300 -0.474113 0.127364 0.871203 211 97 63 --2.225300 60.301201 -1.334400 -0.926529 0.086891 0.366052 254 254 254 --2.209500 61.230499 -1.515000 -0.926529 0.086891 0.366052 254 254 254 --2.484800 60.667999 -2.078300 -0.926529 0.086891 0.366052 254 254 254 --8.927200 49.128502 -4.128200 -0.174303 -0.164506 0.970853 0 253 27 --7.813100 49.342701 -3.886900 -0.174303 -0.164506 0.970853 0 253 27 --8.184300 53.108700 -3.320400 -0.174303 -0.164506 0.970853 0 253 27 --9.508400 52.403099 -3.672700 -0.174303 -0.164506 0.970853 0 253 27 --8.184300 53.108700 -3.320400 -0.526523 0.826719 0.198265 0 253 27 --8.747800 53.770199 -7.353300 -0.526523 0.826719 0.198265 0 253 27 --9.827700 52.989700 -7.188500 -0.526523 0.826719 0.198265 0 253 27 --9.508400 52.403099 -3.672700 -0.526523 0.826719 0.198265 0 253 27 --8.747800 53.770199 -7.353300 -0.154881 -0.035505 -0.987295 0 254 27 --7.252500 54.524502 -7.615000 -0.154881 -0.035505 -0.987295 0 254 27 --6.775800 50.206501 -7.534500 -0.154881 -0.035505 -0.987295 0 254 27 --8.927200 49.128502 -4.128200 0.001669 -0.169906 0.985459 0 253 27 --9.508400 52.403099 -3.672700 0.001669 -0.169906 0.985459 0 253 27 --15.636800 49.715099 -4.015700 0.001669 -0.169906 0.985459 0 253 27 --14.977100 45.689201 -4.821000 0.001669 -0.169906 0.985459 0 248 31 --6.624100 53.529800 -2.653700 -0.215818 0.814400 0.538680 0 253 27 --3.773800 51.093601 -1.034300 -0.215818 0.814400 0.538680 0 253 27 --1.435700 55.057400 -2.884500 -0.215818 0.814400 0.538680 0 253 27 --7.252500 54.524502 -7.615000 -0.215818 0.814400 0.538680 0 253 27 --2.321200 55.471001 -5.570800 -0.276118 0.932071 0.234526 0 253 27 --7.252500 54.524502 -7.615000 -0.276118 0.932071 0.234526 0 253 27 --1.435700 55.057400 -2.884500 -0.276118 0.932071 0.234526 0 253 27 --2.209500 61.230499 -1.515000 -0.942806 0.279456 0.181716 254 254 254 --2.505800 61.413601 -3.333900 -0.942806 0.279456 0.181716 254 254 254 --2.484800 60.667999 -2.078300 -0.942806 0.279456 0.181716 254 254 254 --2.484800 60.667999 -2.078300 -0.998559 -0.051788 -0.014052 254 254 254 --2.505800 61.413601 -3.333900 -0.998559 -0.051788 -0.014052 254 254 254 --2.361600 58.652599 -3.405400 -0.998559 -0.051788 -0.014052 254 254 254 --2.209500 61.230499 -1.515000 -0.107977 -0.909631 0.401138 254 254 254 --1.340700 61.343498 -1.024900 -0.107977 -0.909631 0.401138 254 254 254 --1.792100 61.563202 -0.648200 -0.107977 -0.909631 0.401138 254 254 254 --3.061600 3.537800 -3.461700 0.234488 0.898953 0.369997 18 0 252 --3.735600 1.816900 0.228400 0.234488 0.898953 0.369997 18 0 253 --1.568700 1.981700 -0.627100 0.234488 0.898953 0.369997 18 0 253 --1.553600 3.059500 -4.173500 0.234488 0.898953 0.369997 18 0 253 --0.626000 0.031700 -8.336200 0.992053 0.072189 0.103052 18 0 253 --1.553600 3.059500 -4.173500 0.992053 0.072189 0.103052 18 0 253 --1.568700 1.981700 -0.627100 0.992053 0.072189 0.103052 18 0 253 --1.825200 -0.024100 0.601200 0.992053 0.072189 0.103052 18 0 253 --1.825200 -0.024100 0.601200 -0.002195 -0.999985 -0.005027 18 0 253 --3.769300 -0.009000 1.132900 -0.002195 -0.999985 -0.005027 18 0 253 --1.712600 0.024900 -9.195700 -0.002195 -0.999985 -0.005027 19 0 253 --0.626000 0.031700 -8.336200 -0.002195 -0.999985 -0.005027 19 0 253 --1.712600 0.024900 -9.195700 0.748722 0.074200 -0.658719 254 68 73 --2.020300 14.610600 -8.278800 0.748722 0.074200 -0.658719 0 253 27 --0.971400 14.644800 -6.706400 0.748722 0.074200 -0.658719 0 253 27 --0.626000 0.031700 -8.336200 0.748722 0.074200 -0.658719 254 68 73 --1.568700 1.981700 -0.627100 0.270273 0.452545 0.849798 18 0 253 --3.735600 1.816900 0.228400 0.270273 0.452545 0.849798 18 0 253 --3.769300 -0.009000 1.132900 0.270273 0.452545 0.849798 18 0 253 --1.825200 -0.024100 0.601200 0.270273 0.452545 0.849798 19 0 253 --4.089400 2.633000 -5.031300 -0.957442 -0.073711 -0.279054 188 254 194 --3.252600 0.001600 -8.591000 -0.957442 -0.073711 -0.279054 0 254 27 --5.176800 -0.025000 -0.598300 -0.957442 -0.073711 -0.279054 254 254 254 --5.390300 1.568200 -1.670300 -0.957442 -0.073711 -0.279054 254 254 254 --3.769300 -0.009000 1.132900 -0.738109 0.308147 0.600201 18 0 253 --3.735600 1.816900 0.228400 -0.738109 0.308147 0.600201 18 0 253 --5.390300 1.568200 -1.670300 -0.738109 0.308147 0.600201 18 0 253 --5.176800 -0.025000 -0.598300 -0.738109 0.308147 0.600201 18 0 253 --5.390300 1.568200 -1.670300 -0.560649 0.811720 0.163660 18 0 253 --3.735600 1.816900 0.228400 -0.560649 0.811720 0.163660 18 0 253 --3.061600 3.537800 -3.461700 -0.560649 0.811720 0.163660 18 0 252 --4.089400 2.633000 -5.031300 -0.560649 0.811720 0.163660 18 0 252 --3.061600 3.537800 -3.461700 -0.452521 -0.074303 0.888653 18 0 252 --1.766900 13.754900 -2.918700 -0.452521 -0.074303 0.888653 0 254 27 --5.308800 13.910900 -3.738700 -0.452521 -0.074303 0.888653 14 254 41 --4.089400 2.633000 -5.031300 -0.452521 -0.074303 0.888653 18 0 252 --2.020300 14.610600 -8.278800 0.001520 -0.830500 -0.557017 0 253 27 --4.649800 14.945700 -8.785600 0.001520 -0.830500 -0.557017 0 253 27 --5.259600 15.490400 -9.599400 0.001520 -0.830500 -0.557017 0 253 27 --2.020300 14.610600 -8.278800 0.649568 -0.634088 -0.419515 0 253 27 --0.294400 16.169500 -7.962700 0.649568 -0.634088 -0.419515 0 253 27 --0.971400 14.644800 -6.706400 0.649568 -0.634088 -0.419515 0 253 27 --5.426000 21.341299 -8.131100 -0.959570 0.028386 -0.280036 254 254 254 --6.827700 20.858999 -3.051400 -0.959570 0.028386 -0.280036 254 254 254 --6.824000 22.193899 -3.254300 -0.959570 0.028386 -0.280036 254 254 254 --5.317800 22.936800 -8.014600 -0.959570 0.028386 -0.280036 254 254 254 --0.845100 29.891001 -9.491500 -0.126028 -0.127868 -0.983751 0 253 27 --0.835600 22.853901 -8.203000 -0.126028 -0.127868 -0.983751 0 253 27 --5.317800 22.936800 -8.014600 -0.126028 -0.127868 -0.983751 0 253 27 --5.595300 29.761600 -8.491100 -0.126028 -0.127868 -0.983751 0 254 27 --1.957400 20.620800 -1.217700 -0.346283 0.131313 0.928895 242 254 242 --2.189200 21.987900 -1.481800 -0.346283 0.131313 0.928895 218 254 222 --6.824000 22.193899 -3.254300 -0.346283 0.131313 0.928895 99 254 117 --6.827700 20.858999 -3.051400 -0.346283 0.131313 0.928895 166 254 175 --0.605400 59.453602 0.006800 -0.276378 -0.886938 0.370075 254 254 254 -0.000000 59.375900 0.272700 -0.276378 -0.886938 0.370075 254 254 254 --0.226300 59.631802 0.717000 -0.276378 -0.886938 0.370075 254 254 254 --21.936399 43.055199 -3.733600 -0.245050 -0.199318 0.948801 24 182 75 --22.348700 46.932201 -2.822400 -0.245050 -0.199318 0.948801 72 195 37 --23.323000 46.228001 -3.425200 -0.245050 -0.199318 0.948801 26 230 29 --23.265499 44.290199 -3.614200 -0.245050 -0.199318 0.948801 37 214 37 --22.105101 44.119598 -7.074000 -0.680722 -0.210597 -0.701617 254 254 254 --23.273100 44.479099 -6.170500 -0.680722 -0.210597 -0.701617 254 254 254 --23.881300 46.267799 -5.995500 -0.680722 -0.210597 -0.701617 254 254 254 --23.337700 47.268200 -6.945000 -0.680722 -0.210597 -0.701617 254 254 254 --22.348700 46.932201 -2.822400 -0.710630 0.673907 0.202126 72 195 37 --23.337700 47.268200 -6.945000 -0.710630 0.673907 0.202126 0 254 27 --23.881300 46.267799 -5.995500 -0.710630 0.673907 0.202126 0 253 27 --23.323000 46.228001 -3.425200 -0.710630 0.673907 0.202126 26 230 29 --21.936399 43.055199 -3.733600 -0.575702 -0.803125 -0.153486 254 68 73 --23.265499 44.290199 -3.614200 -0.575702 -0.803125 -0.153486 254 68 73 --23.273100 44.479099 -6.170500 -0.575702 -0.803125 -0.153486 254 68 73 --22.105101 44.119598 -7.074000 -0.575702 -0.803125 -0.153486 254 68 73 --23.323000 46.228001 -3.425200 0.234519 0.052147 0.970712 26 230 29 --24.935400 45.742901 -3.288800 0.234519 0.052147 0.970712 80 189 39 --24.446100 44.099098 -3.039500 0.234519 0.052147 0.970712 144 136 53 --23.265499 44.290199 -3.614200 0.234519 0.052147 0.970712 37 214 37 --23.273100 44.479099 -6.170500 -0.051663 0.047611 -0.997529 16 254 41 --25.718901 44.407902 -5.989100 -0.051663 0.047611 -0.997529 47 254 71 --25.982700 45.641201 -5.974700 -0.051663 0.047611 -0.997529 53 254 75 --23.881300 46.267799 -5.995500 -0.051663 0.047611 -0.997529 23 254 48 --23.881300 46.267799 -5.995500 -0.283035 0.956157 0.075198 0 253 27 --25.982700 45.641201 -5.974700 -0.283035 0.956157 0.075198 0 253 27 --24.935400 45.742901 -3.288800 -0.283035 0.956157 0.075198 80 189 39 --23.323000 46.228001 -3.425200 -0.283035 0.956157 0.075198 26 230 29 --23.265499 44.290199 -3.614200 0.050680 -0.993534 -0.101596 0 254 27 --24.446100 44.099098 -3.039500 0.050680 -0.993534 -0.101596 0 254 27 --25.718901 44.407902 -5.989100 0.050680 -0.993534 -0.101596 47 254 71 --23.273100 44.479099 -6.170500 0.050680 -0.993534 -0.101596 16 254 41 --3.798500 31.552500 -0.386300 -0.302820 0.047342 0.951871 211 97 63 -0.000000 31.552500 0.128500 -0.302820 0.047342 0.951871 203 101 62 -0.000000 37.009800 0.550700 -0.302820 0.047342 0.951871 172 124 55 --4.685700 36.664101 -1.616400 -0.302820 0.047342 0.951871 13 226 40 --27.058001 43.733101 -1.471100 -0.612973 -0.035197 0.789319 254 68 73 --28.100901 44.177299 -2.470000 -0.612973 -0.035197 0.789319 231 80 64 --27.637899 42.321201 -1.984400 -0.612973 -0.035197 0.789319 254 68 73 --26.775499 43.007000 -1.492900 -0.612973 -0.035197 0.789319 254 68 73 --27.102699 45.320202 -5.735100 -0.288380 -0.175341 -0.941325 75 254 93 --25.982700 45.641201 -5.974700 -0.288380 -0.175341 -0.941325 53 254 75 --25.718901 44.407902 -5.989100 -0.288380 -0.175341 -0.941325 47 254 71 --26.246300 42.901402 -5.383600 -0.288380 -0.175341 -0.941325 20 254 46 --24.935400 45.742901 -3.288800 -0.215944 0.976143 0.022647 80 254 99 --25.982700 45.641201 -5.974700 -0.215944 0.976143 0.022647 0 254 27 --27.102699 45.320202 -5.735100 -0.215944 0.976143 0.022647 0 254 27 --26.753901 45.398300 -2.858600 -0.215944 0.976143 0.022647 163 254 174 --24.446100 44.099098 -3.039500 0.806467 -0.440747 -0.394147 0 249 30 --26.246300 42.901402 -5.383600 0.806467 -0.440747 -0.394147 19 213 43 --25.718901 44.407902 -5.989100 0.806467 -0.440747 -0.394147 46 208 34 --28.380600 42.330502 -3.056600 -0.840529 -0.044209 0.539960 254 68 73 --27.637899 42.321201 -1.984400 -0.840529 -0.044209 0.539960 254 68 73 --28.100901 44.177299 -2.470000 -0.840529 -0.044209 0.539960 254 68 73 --28.697901 44.238201 -3.477500 -0.840529 -0.044209 0.539960 254 68 73 --28.380600 42.330502 -3.056600 -0.979149 -0.175223 -0.102788 254 254 254 --28.697901 44.238201 -3.477500 -0.979149 -0.175223 -0.102788 254 254 254 --28.543800 44.178001 -4.651400 -0.979149 -0.175223 -0.102788 254 254 254 --28.292801 42.543098 -4.446800 -0.979149 -0.175223 -0.102788 254 254 254 --26.753901 45.398300 -2.858600 -0.560189 0.737837 0.376544 163 125 53 --28.697901 44.238201 -3.477500 -0.560189 0.737837 0.376544 97 175 41 --28.100901 44.177299 -2.470000 -0.560189 0.737837 0.376544 231 80 64 --24.935400 45.742901 -3.288800 0.484106 0.321222 0.813915 80 189 39 --26.117701 44.487900 -2.198700 0.484106 0.321222 0.813915 242 74 67 --25.587200 43.557701 -2.038700 0.484106 0.321222 0.813915 253 67 73 --24.446100 44.099098 -3.039500 0.484106 0.321222 0.813915 144 136 53 --24.446100 44.099098 -3.039500 0.765721 -0.642695 -0.024780 0 249 30 --25.587200 43.557701 -2.038700 0.765721 -0.642695 -0.024780 0 252 27 --25.491899 42.827301 -2.370100 0.765721 -0.642695 -0.024780 0 245 34 --26.246300 42.901402 -5.383600 0.765721 -0.642695 -0.024780 19 213 43 --26.753901 45.398300 -2.858600 0.068715 0.616533 0.784324 163 125 53 --26.117701 44.487900 -2.198700 0.068715 0.616533 0.784324 242 74 67 --24.935400 45.742901 -3.288800 0.068715 0.616533 0.784324 80 189 39 -0.000000 31.552500 0.128500 -0.069551 -0.031626 0.997077 203 101 62 --3.798500 31.552500 -0.386300 -0.069551 -0.031626 0.997077 211 97 63 --3.463700 23.872801 -0.356700 -0.069551 -0.031626 0.997077 254 68 73 -0.000000 24.132099 -0.356700 -0.069551 -0.031626 0.997077 243 74 70 --2.225300 60.301201 -1.334400 -0.789816 -0.226827 0.569860 254 254 254 --2.043500 58.694401 -1.722000 -0.789816 -0.226827 0.569860 254 247 247 --0.793500 58.611801 -0.022400 -0.789816 -0.226827 0.569860 254 246 246 --0.793500 58.611801 -0.022400 -0.800106 -0.097243 0.591924 254 246 246 --2.043500 58.694401 -1.722000 -0.800106 -0.097243 0.591924 254 247 247 --2.071800 58.080299 -1.837600 -0.800106 -0.097243 0.591924 254 224 225 --0.860300 57.339199 -0.345300 -0.800106 -0.097243 0.591924 254 172 174 --2.071800 58.080299 -1.837600 -0.594038 -0.791272 0.144939 254 224 225 --1.480400 57.287800 -3.167400 -0.594038 -0.791272 0.144939 254 153 157 --0.509500 56.862801 -2.081200 -0.594038 -0.791272 0.144939 254 129 132 --0.860300 57.339199 -0.345300 -0.594038 -0.791272 0.144939 254 172 174 --0.179900 61.274700 0.058500 -0.090663 0.188705 0.977840 0 254 27 -0.000000 61.912998 -0.048000 -0.090663 0.188705 0.977840 0 254 27 --0.785400 61.539799 -0.048800 -0.090663 0.188705 0.977840 0 254 27 --15.884600 46.520500 -7.855800 -0.098387 0.080586 -0.991880 0 250 27 --17.208200 49.477699 -7.512200 -0.098387 0.080586 -0.991880 6 242 27 --16.136200 50.023998 -7.546200 -0.098387 0.080586 -0.991880 0 249 27 --14.885000 46.974701 -7.946000 -0.098387 0.080586 -0.991880 0 251 27 --15.636800 49.715099 -4.015700 -0.436830 0.889212 0.135946 0 253 27 --16.136200 50.023998 -7.546200 -0.436830 0.889212 0.135946 0 253 27 --17.208200 49.477699 -7.512200 -0.436830 0.889212 0.135946 0 253 27 --16.810101 49.139900 -3.928800 -0.436830 0.889212 0.135946 0 253 27 --16.192200 44.960400 -4.877100 0.435886 -0.826304 -0.356686 0 236 42 --15.884600 46.520500 -7.855800 0.435886 -0.826304 -0.356686 0 253 27 --14.885000 46.974701 -7.946000 0.435886 -0.826304 -0.356686 0 253 27 --14.977100 45.689201 -4.821000 0.435886 -0.826304 -0.356686 0 248 31 --16.810101 49.139900 -3.928800 0.116417 -0.190205 0.974818 236 81 69 --16.192200 44.960400 -4.877100 0.116417 -0.190205 0.974818 200 90 77 --14.977100 45.689201 -4.821000 0.116417 -0.190205 0.974818 174 120 62 --15.636800 49.715099 -4.015700 0.116417 -0.190205 0.974818 218 94 66 --13.779500 47.417198 -7.715300 -0.030432 0.115440 -0.992848 0 253 27 --14.989100 50.565300 -7.297200 -0.030432 0.115440 -0.992848 0 252 27 --9.827700 52.989700 -7.188500 -0.030432 0.115440 -0.992848 0 253 27 --8.756500 49.321098 -7.632900 -0.030432 0.115440 -0.992848 0 253 27 --15.636800 49.715099 -4.015700 -0.447311 0.883265 0.140554 0 253 27 --14.989100 50.565300 -7.297200 -0.447311 0.883265 0.140554 0 253 27 --16.136200 50.023998 -7.546200 -0.447311 0.883265 0.140554 0 253 27 --13.779500 47.417198 -7.715300 0.409629 -0.847844 -0.336697 0 253 27 --14.977100 45.689201 -4.821000 0.409629 -0.847844 -0.336697 0 253 27 --14.885000 46.974701 -7.946000 0.409629 -0.847844 -0.336697 0 251 27 --0.971400 14.644800 -6.706400 0.777065 -0.629233 0.015366 27 229 30 --1.221800 14.450400 -2.004100 0.777065 -0.629233 0.015366 0 252 27 --1.766900 13.754900 -2.918700 0.777065 -0.629233 0.015366 0 253 27 --26.117701 44.487900 -2.198700 0.374471 0.258120 0.890587 242 74 67 --27.058001 43.733101 -1.471100 0.374471 0.258120 0.890587 254 68 73 --26.775499 43.007000 -1.492900 0.374471 0.258120 0.890587 254 68 73 --25.587200 43.557701 -2.038700 0.374471 0.258120 0.890587 253 67 73 --25.587200 43.557701 -2.038700 0.386633 -0.610879 0.690899 0 252 27 --26.775499 43.007000 -1.492900 0.386633 -0.610879 0.690899 0 253 27 --27.637899 42.321201 -1.984400 0.386633 -0.610879 0.690899 0 253 27 --25.491899 42.827301 -2.370100 0.386633 -0.610879 0.690899 0 245 34 --26.117701 44.487900 -2.198700 -0.202601 0.798645 0.566673 242 74 67 --28.100901 44.177299 -2.470000 -0.202601 0.798645 0.566673 231 80 64 --27.058001 43.733101 -1.471100 -0.202601 0.798645 0.566673 254 68 73 --8.184300 53.108700 -3.320400 -0.347207 -0.172872 0.921717 0 253 27 --7.813100 49.342701 -3.886900 -0.347207 -0.172872 0.921717 0 253 27 --6.624100 53.529800 -2.653700 -0.347207 -0.172872 0.921717 0 253 27 --8.747800 53.770199 -7.353300 -0.055764 0.062731 -0.996471 0 254 27 --6.775800 50.206501 -7.534500 -0.055764 0.062731 -0.996471 0 254 27 --8.756500 49.321098 -7.632900 -0.055764 0.062731 -0.996471 0 254 27 --9.827700 52.989700 -7.188500 -0.055764 0.062731 -0.996471 0 254 27 --28.543800 44.178001 -4.651400 -0.562493 0.826801 -0.001192 0 254 27 --28.697901 44.238201 -3.477500 -0.562493 0.826801 -0.001192 97 254 114 --26.753901 45.398300 -2.858600 -0.562493 0.826801 -0.001192 163 254 174 --27.102699 45.320202 -5.735100 -0.562493 0.826801 -0.001192 0 254 27 --26.246300 42.901402 -5.383600 0.106461 -0.983873 -0.143736 20 231 27 --28.380600 42.330502 -3.056600 0.106461 -0.983873 -0.143736 0 252 27 --28.292801 42.543098 -4.446800 0.106461 -0.983873 -0.143736 5 243 27 --28.100901 44.177299 -2.470000 -0.192584 0.484112 0.853550 231 80 64 --26.117701 44.487900 -2.198700 -0.192584 0.484112 0.853550 242 74 67 --26.753901 45.398300 -2.858600 -0.192584 0.484112 0.853550 163 125 53 --1.712600 0.024900 -9.195700 0.013475 -0.999909 -0.000374 254 254 254 --3.769300 -0.009000 1.132900 0.013475 -0.999909 -0.000374 0 254 27 --5.176800 -0.025000 -0.598300 0.013475 -0.999909 -0.000374 0 254 27 --3.252600 0.001600 -8.591000 0.013475 -0.999909 -0.000374 254 254 254 -0.000000 61.912998 -0.048000 -0.158526 0.331625 0.929997 0 254 27 -0.000000 62.775902 -0.355700 -0.158526 0.331625 0.929997 0 254 27 --0.785400 61.539799 -0.048800 -0.158526 0.331625 0.929997 0 254 27 --0.340300 31.400700 -9.922000 0.943854 -0.327649 -0.042263 0 253 27 --0.425600 30.069099 -1.503600 0.943854 -0.327649 -0.042263 0 253 27 --0.845100 29.891001 -9.491500 0.943854 -0.327649 -0.042263 0 253 27 -0.000000 54.522099 -2.187600 0.000000 -0.045410 0.998968 235 81 69 -0.000000 56.862801 -2.081200 0.000000 -0.045410 0.998968 254 127 130 --0.509500 56.862801 -2.081200 0.000000 -0.045410 0.998968 254 129 132 --0.509500 56.862801 -2.081200 -0.098448 -0.971038 0.217700 254 129 132 -0.000000 56.862801 -2.081200 -0.098448 -0.971038 0.217700 254 127 130 -0.000000 57.320400 0.190300 -0.098448 -0.971038 0.217700 254 190 192 --0.860300 57.339199 -0.345300 -0.098448 -0.971038 0.217700 254 172 174 --5.598500 31.822901 -1.405400 -0.881296 0.021519 0.472075 133 152 48 --7.453900 29.910801 -4.782000 -0.881296 0.021519 0.472075 0 253 27 --6.824000 22.193899 -3.254300 -0.881296 0.021519 0.472075 99 254 117 --6.824000 22.193899 -3.254300 -0.921164 -0.108973 -0.373607 254 68 73 --7.453900 29.910801 -4.782000 -0.921164 -0.108973 -0.373607 254 68 73 --5.595300 29.761600 -8.491100 -0.921164 -0.108973 -0.373607 254 68 73 --5.317800 22.936800 -8.014600 -0.921164 -0.108973 -0.373607 254 68 73 --3.798500 31.552500 -0.386300 -0.402805 -0.146650 0.903461 211 97 63 --5.598500 31.822901 -1.405400 -0.402805 -0.146650 0.903461 133 152 48 --6.824000 22.193899 -3.254300 -0.402805 -0.146650 0.903461 99 254 117 --2.189200 21.987900 -1.481800 -0.402805 -0.146650 0.903461 218 254 222 --0.340300 31.400700 -9.922000 -0.229486 -0.108632 -0.967231 0 253 27 --0.845100 29.891001 -9.491500 -0.229486 -0.108632 -0.967231 0 253 27 --5.595300 29.761600 -8.491100 -0.229486 -0.108632 -0.967231 0 254 27 --4.970000 33.082802 -8.871300 -0.229486 -0.108632 -0.967231 0 254 27 --0.835600 22.853901 -8.203000 0.992234 -0.110109 0.057862 2 205 69 --0.845100 29.891001 -9.491500 0.992234 -0.110109 0.057862 0 241 37 --0.425600 30.069099 -1.503600 0.992234 -0.110109 0.057862 0 253 27 --2.189200 21.987900 -1.481800 0.992234 -0.110109 0.057862 0 253 27 --2.162800 35.743500 -9.599900 -0.324262 0.084100 -0.942221 0 254 27 --0.340300 31.400700 -9.922000 -0.324262 0.084100 -0.942221 0 253 27 --4.970000 33.082802 -8.871300 -0.324262 0.084100 -0.942221 0 254 27 --5.283200 35.952900 -7.814600 -0.324262 0.084100 -0.942221 0 254 27 --5.283200 35.952900 -7.814600 -0.889642 0.311183 -0.334218 0 254 27 --6.542300 35.480598 -4.902800 -0.889642 0.311183 -0.334218 0 254 27 --5.919200 37.619099 -4.570300 -0.889642 0.311183 -0.334218 0 254 27 --5.919200 37.619099 -4.570300 -0.882633 0.186716 0.431389 0 253 27 --6.542300 35.480598 -4.902800 -0.882633 0.186716 0.431389 0 253 27 --5.598500 31.822901 -1.405400 -0.882633 0.186716 0.431389 133 152 48 --4.685700 36.664101 -1.616400 -0.882633 0.186716 0.431389 13 240 28 --0.474100 61.294899 -0.607800 -0.490764 0.255871 0.832875 0 254 27 --1.340700 61.343498 -1.024900 -0.490764 0.255871 0.832875 0 254 27 --2.225300 60.301201 -1.334400 -0.490764 0.255871 0.832875 0 254 27 --0.596000 60.268700 -0.255900 -0.490764 0.255871 0.832875 0 254 27 --1.340700 61.343498 -1.024900 -0.199083 -0.932669 0.300824 254 254 254 --0.474100 61.294899 -0.607800 -0.199083 -0.932669 0.300824 254 254 254 --0.785400 61.539799 -0.048800 -0.199083 -0.932669 0.300824 254 254 254 --1.792100 61.563202 -0.648200 -0.199083 -0.932669 0.300824 254 254 254 -0.000000 45.235802 -8.516300 -0.205813 0.023108 -0.978318 0 253 27 -0.000000 38.221600 -8.073300 -0.205813 0.023108 -0.978318 0 253 27 --2.827600 38.171799 -8.088300 -0.205813 0.023108 -0.978318 0 253 27 --5.495700 46.043098 -6.732400 -0.205813 0.023108 -0.978318 0 253 27 --0.425600 30.069099 -1.503600 0.289736 -0.060654 0.955183 254 254 254 --3.798500 31.552500 -0.386300 0.289736 -0.060654 0.955183 254 254 254 --2.189200 21.987900 -1.481800 0.289736 -0.060654 0.955183 254 254 254 -0.000000 31.547001 -9.939100 0.347255 -0.926523 -0.144807 254 68 73 -0.000000 30.215401 -1.522000 0.347255 -0.926523 -0.144807 254 68 73 --0.425600 30.069099 -1.503600 0.347255 -0.926523 -0.144807 254 68 73 --0.340300 31.400700 -9.922000 0.347255 -0.926523 -0.144807 254 68 73 --21.061199 44.183601 -7.611200 -0.028361 0.039319 -0.998824 52 208 31 --22.585199 48.327702 -7.594400 -0.028361 0.039319 -0.998824 104 170 42 --17.208200 49.477699 -7.512200 -0.028361 0.039319 -0.998824 6 242 27 --15.884600 46.520500 -7.855800 -0.028361 0.039319 -0.998824 0 250 27 --22.348700 46.932201 -2.822400 -0.723103 0.652497 0.226650 72 195 37 --22.585199 48.327702 -7.594400 -0.723103 0.652497 0.226650 0 253 27 --23.337700 47.268200 -6.945000 -0.723103 0.652497 0.226650 0 254 27 --21.061199 44.183601 -7.611200 -0.095048 -0.949863 -0.297868 52 208 31 --21.936399 43.055199 -3.733600 -0.095048 -0.949863 -0.297868 0 253 27 --22.105101 44.119598 -7.074000 -0.095048 -0.949863 -0.297868 30 225 27 -0.000000 59.375900 0.272700 0.000000 -0.866545 0.499100 254 254 254 -0.226300 59.631802 0.717000 0.000000 -0.866545 0.499100 254 254 254 --0.226300 59.631802 0.717000 0.000000 -0.866545 0.499100 254 254 254 --0.163800 60.672798 0.405300 0.000000 0.286842 0.957978 0 254 27 --0.226300 59.631802 0.717000 0.000000 0.286842 0.957978 0 254 27 -0.226300 59.631802 0.717000 0.000000 0.286842 0.957978 0 254 27 -0.163800 60.672798 0.405300 0.000000 0.286842 0.957978 0 254 27 --0.340300 31.400700 -9.922000 -0.012671 0.074070 -0.997173 0 253 27 --2.162800 35.743500 -9.599900 -0.012671 0.074070 -0.997173 0 253 27 -0.000000 35.795200 -9.599900 -0.012671 0.074070 -0.997173 0 253 27 -0.000000 31.547001 -9.939100 -0.012671 0.074070 -0.997173 0 253 27 --5.919200 37.619099 -4.570300 -0.561685 0.544798 -0.622660 0 254 27 --2.827600 38.171799 -8.088300 -0.561685 0.544798 -0.622660 0 254 27 --2.162800 35.743500 -9.599900 -0.561685 0.544798 -0.622660 0 254 27 --5.283200 35.952900 -7.814600 -0.561685 0.544798 -0.622660 0 254 27 --28.543800 44.178001 -4.651400 -0.410462 -0.233070 -0.881589 254 254 254 --27.102699 45.320202 -5.735100 -0.410462 -0.233070 -0.881589 254 254 254 --26.246300 42.901402 -5.383600 -0.410462 -0.233070 -0.881589 254 254 254 --28.292801 42.543098 -4.446800 -0.410462 -0.233070 -0.881589 254 254 254 --25.491899 42.827301 -2.370100 0.201709 -0.968181 -0.148119 0 254 27 --27.637899 42.321201 -1.984400 0.201709 -0.968181 -0.148119 0 254 27 --28.380600 42.330502 -3.056600 0.201709 -0.968181 -0.148119 0 254 27 --26.246300 42.901402 -5.383600 0.185319 -0.980147 -0.070494 20 231 27 --25.491899 42.827301 -2.370100 0.185319 -0.980147 -0.070494 0 253 27 --28.380600 42.330502 -3.056600 0.185319 -0.980147 -0.070494 0 252 27 --0.179900 61.274700 0.058500 0.000000 0.499235 0.866467 0 254 27 --0.163800 60.672798 0.405300 0.000000 0.499235 0.866467 0 254 27 -0.163800 60.672798 0.405300 0.000000 0.499235 0.866467 0 254 27 -0.179900 61.274700 0.058500 0.000000 0.499235 0.866467 0 254 27 -0.000000 61.912998 -0.048000 0.000000 0.164575 0.986365 0 254 27 --0.179900 61.274700 0.058500 0.000000 0.164575 0.986365 0 254 27 -0.179900 61.274700 0.058500 0.000000 0.164575 0.986365 0 254 27 --2.162800 35.743500 -9.599900 -0.008224 0.529675 -0.848161 0 253 27 --2.827600 38.171799 -8.088300 -0.008224 0.529675 -0.848161 0 253 27 -0.000000 38.221600 -8.073300 -0.008224 0.529675 -0.848161 0 253 27 -0.000000 35.795200 -9.599900 -0.008224 0.529675 -0.848161 0 253 27 -4.620900 14.945700 -8.516100 0.163464 0.013069 -0.986463 0 253 27 -3.252600 0.001600 -8.591000 0.163464 0.013069 -0.986463 235 80 66 -1.712600 0.024900 -9.195700 0.163464 0.013069 -0.986463 254 68 73 -1.456400 14.610600 -8.695100 0.163464 0.013069 -0.986463 0 253 27 -4.089400 2.633000 -5.031300 0.982688 -0.088487 -0.162770 18 0 253 -3.252600 0.001600 -8.591000 0.982688 -0.088487 -0.162770 19 0 253 -4.620900 14.945700 -8.516100 0.982688 -0.088487 -0.162770 0 247 31 -5.308800 13.910900 -3.738700 0.982688 -0.088487 -0.162770 0 253 27 -1.553600 3.059500 -4.173500 -0.398905 -0.098999 0.911633 18 0 253 -3.061600 3.537800 -3.461700 -0.398905 -0.098999 0.911633 18 0 253 -1.766900 13.754900 -2.918700 -0.398905 -0.098999 0.911633 0 254 27 -1.553600 3.059500 -4.173500 -0.983093 0.009545 0.182857 254 254 254 -1.766900 13.754900 -2.918700 -0.983093 0.009545 0.182857 254 254 254 -1.239800 14.644800 -6.465300 -0.983093 0.009545 0.182857 254 254 254 -0.626000 0.031700 -8.336200 -0.983093 0.009545 0.182857 254 254 254 -5.495700 46.043098 -6.732400 0.860977 -0.085411 -0.501422 0 252 27 -6.029500 46.188801 -3.956000 0.860977 -0.085411 -0.501422 0 253 27 -5.919200 37.619099 -4.570300 0.860977 -0.085411 -0.501422 9 98 162 -2.827600 38.171799 -8.088300 0.860977 -0.085411 -0.501422 8 119 142 -4.685700 36.664101 -1.616400 0.917535 -0.032092 0.396359 0 250 28 -5.919200 37.619099 -4.570300 0.917535 -0.032092 0.396359 9 98 162 -6.029500 46.188801 -3.956000 0.917535 -0.032092 0.396359 0 253 27 -4.298500 47.001099 -0.058900 0.917535 -0.032092 0.396359 0 253 27 -6.775800 50.206501 -7.534500 0.223809 0.028781 -0.974208 0 253 27 -0.000000 50.037800 -9.413700 0.223809 0.028781 -0.974208 0 253 27 -0.000000 53.738098 -8.986800 0.223809 0.028781 -0.974208 0 253 27 -7.252500 54.524502 -7.615000 0.223809 0.028781 -0.974208 0 254 27 -7.252500 54.524502 -7.615000 0.375359 0.901424 0.215731 0 254 27 -6.624100 53.529800 -2.653700 0.375359 0.901424 0.215731 0 253 27 -8.184300 53.108700 -3.320400 0.375359 0.901424 0.215731 0 253 27 -8.747800 53.770199 -7.353300 0.375359 0.901424 0.215731 0 253 27 -9.827700 52.989700 -7.188500 0.412168 0.895237 0.169320 0 253 27 -9.508400 52.403099 -3.672700 0.412168 0.895237 0.169320 0 253 27 -15.636800 49.715099 -4.015700 0.412168 0.895237 0.169320 1 215 59 -14.989100 50.565300 -7.297200 0.412168 0.895237 0.169320 0 249 29 -0.000000 37.009800 0.550700 0.339751 -0.089043 0.936291 0 253 27 -4.685700 36.664101 -1.616400 0.339751 -0.089043 0.936291 0 250 28 -4.298500 47.001099 -0.058900 0.339751 -0.089043 0.936291 0 253 27 -0.000000 47.287498 1.094200 0.339751 -0.089043 0.936291 0 253 27 -0.000000 53.738098 -8.986800 0.139268 0.841727 -0.521633 0 253 27 -0.000000 55.950600 -7.250100 0.139268 0.841727 -0.521633 0 253 27 -2.321200 55.471001 -5.570800 0.139268 0.841727 -0.521633 0 253 27 -7.252500 54.524502 -7.615000 0.139268 0.841727 -0.521633 0 254 27 -3.773800 51.093601 -1.034300 0.772400 -0.022870 0.634725 0 253 27 -4.298500 47.001099 -0.058900 0.772400 -0.022870 0.634725 0 253 27 -6.029500 46.188801 -3.956000 0.772400 -0.022870 0.634725 0 253 27 -6.624100 53.529800 -2.653700 0.772400 -0.022870 0.634725 0 253 27 -6.624100 53.529800 -2.653700 0.299992 -0.190133 0.934802 254 68 73 -6.029500 46.188801 -3.956000 0.299992 -0.190133 0.934802 254 68 73 -7.813100 49.342701 -3.886900 0.299992 -0.190133 0.934802 254 68 73 -0.000000 50.880199 0.110000 0.266804 0.255185 0.929352 0 253 27 -0.000000 47.287498 1.094200 0.266804 0.255185 0.929352 0 252 27 -4.298500 47.001099 -0.058900 0.266804 0.255185 0.929352 0 253 27 -3.773800 51.093601 -1.034300 0.266804 0.255185 0.929352 0 253 27 -16.136200 50.023998 -7.546200 -0.129075 0.179950 -0.975171 0 253 27 -14.885000 46.974701 -7.946000 -0.129075 0.179950 -0.975171 0 253 27 -13.779500 47.417198 -7.715300 -0.129075 0.179950 -0.975171 0 253 27 -14.989100 50.565300 -7.297200 -0.129075 0.179950 -0.975171 0 253 27 -13.779500 47.417198 -7.715300 -0.437873 -0.882573 -0.171264 0 253 27 -14.977100 45.689201 -4.821000 -0.437873 -0.882573 -0.171264 0 253 27 -8.927200 49.128502 -4.128200 -0.437873 -0.882573 -0.171264 0 253 27 -8.756500 49.321098 -7.632900 -0.437873 -0.882573 -0.171264 0 253 27 -17.208200 49.477699 -7.512200 0.268622 0.938905 0.215175 0 227 47 -16.810101 49.139900 -3.928800 0.268622 0.938905 0.215175 35 133 112 -22.348700 46.932201 -2.822400 0.268622 0.938905 0.215175 19 0 250 -22.585199 48.327702 -7.594400 0.268622 0.938905 0.215175 0 236 38 -21.936399 43.055199 -3.733600 -0.256926 -0.186034 0.948357 19 0 253 -22.348700 46.932201 -2.822400 -0.256926 -0.186034 0.948357 19 0 250 -16.810101 49.139900 -3.928800 -0.256926 -0.186034 0.948357 35 133 112 -16.192200 44.960400 -4.877100 -0.256926 -0.186034 0.948357 18 0 253 -22.105101 44.119598 -7.074000 0.471869 -0.161034 -0.866838 0 253 27 -21.061199 44.183601 -7.611200 0.471869 -0.161034 -0.866838 0 253 27 -22.585199 48.327702 -7.594400 0.471869 -0.161034 -0.866838 0 253 27 -23.337700 47.268200 -6.945000 0.471869 -0.161034 -0.866838 0 253 27 -15.884600 46.520500 -7.855800 -0.312108 -0.901546 -0.299673 0 253 27 -21.061199 44.183601 -7.611200 -0.312108 -0.901546 -0.299673 0 253 27 -21.936399 43.055199 -3.733600 -0.312108 -0.901546 -0.299673 0 253 27 -16.192200 44.960400 -4.877100 -0.312108 -0.901546 -0.299673 0 253 27 -5.598500 31.822901 -1.404300 0.899204 0.141743 0.413933 0 240 37 -7.453900 29.910801 -4.780100 0.899204 0.141743 0.413933 18 0 251 -7.174300 32.815300 -5.167300 0.899204 0.141743 0.413933 17 7 244 -4.970000 33.082802 -8.871900 0.875445 0.068330 -0.478463 18 0 252 -7.174300 32.815300 -5.167300 0.875445 0.068330 -0.478463 17 7 244 -7.453900 29.910801 -4.780100 0.875445 0.068330 -0.478463 18 0 251 -5.595300 29.761600 -8.492500 0.875445 0.068330 -0.478463 18 0 253 -6.827700 20.858999 -3.044800 0.895156 -0.347215 -0.279532 0 231 44 -6.194700 19.576300 -3.478600 0.895156 -0.347215 -0.279532 0 248 31 -5.426000 21.341299 -8.132600 0.895156 -0.347215 -0.279532 15 21 230 -0.835600 22.853901 -8.210700 0.045309 0.086115 -0.995254 0 253 27 -5.317800 22.936800 -8.016200 0.045309 0.086115 -0.995254 0 253 27 -5.426000 21.341299 -8.132600 0.045309 0.086115 -0.995254 0 253 27 -0.899900 21.410400 -8.349400 0.045309 0.086115 -0.995254 0 253 27 -0.899900 21.410400 -8.349400 -0.986876 0.054006 0.152183 254 254 254 -1.853000 19.164200 -1.371600 -0.986876 0.054006 0.152183 254 254 254 -1.957400 20.620800 -1.211500 -0.986876 0.054006 0.152183 254 254 254 -6.194700 19.576300 -3.478600 0.393316 -0.294694 0.870895 0 248 31 -6.827700 20.858999 -3.044800 0.393316 -0.294694 0.870895 0 231 44 -1.957400 20.620800 -1.211500 0.393316 -0.294694 0.870895 0 253 27 -1.853000 19.164200 -1.371600 0.393316 -0.294694 0.870895 0 253 27 -5.117200 15.490400 -9.679700 -0.013076 0.210350 -0.977539 0 253 27 -0.134100 16.169500 -9.174700 -0.013076 0.210350 -0.977539 0 253 27 -0.899900 21.410400 -8.349400 -0.013076 0.210350 -0.977539 0 253 27 -5.426000 21.341299 -8.132600 -0.013076 0.210350 -0.977539 0 253 27 -0.134100 16.169500 -9.174700 -0.979250 0.051054 0.196120 0 254 27 -1.716700 14.450400 -2.459200 -0.979250 0.051054 0.196120 0 254 27 -1.853000 19.164200 -1.371600 -0.979250 0.051054 0.196120 0 254 27 -0.899900 21.410400 -8.349400 -0.979250 0.051054 0.196120 0 254 27 -1.853000 19.164200 -1.371600 0.369977 -0.140579 0.918343 0 253 27 -1.716700 14.450400 -2.459200 0.369977 -0.140579 0.918343 0 253 27 -6.069200 14.643000 -3.762300 0.369977 -0.140579 0.918343 0 253 27 -6.194700 19.576300 -3.478600 0.369977 -0.140579 0.918343 0 248 31 -6.069200 14.643000 -3.762300 0.986467 -0.011966 -0.163524 0 253 27 -5.117200 15.490400 -9.679700 0.986467 -0.011966 -0.163524 2 202 70 -5.426000 21.341299 -8.132600 0.986467 -0.011966 -0.163524 15 21 230 -6.194700 19.576300 -3.478600 0.986467 -0.011966 -0.163524 0 248 31 -7.813100 49.342701 -3.886900 0.881229 -0.394976 -0.259672 0 253 27 -6.029500 46.188801 -3.956000 0.881229 -0.394976 -0.259672 0 253 27 -5.495700 46.043098 -6.732400 0.881229 -0.394976 -0.259672 0 252 27 -6.775800 50.206501 -7.534500 0.881229 -0.394976 -0.259672 0 253 27 -8.756500 49.321098 -7.632900 -0.341557 -0.936397 -0.080618 254 68 73 -8.927200 49.128502 -4.128200 -0.341557 -0.936397 -0.080618 254 68 73 -7.813100 49.342701 -3.886900 -0.341557 -0.936397 -0.080618 254 68 73 -6.775800 50.206501 -7.534500 -0.341557 -0.936397 -0.080618 254 68 73 -5.495700 46.043098 -6.732400 0.295037 -0.218453 -0.930178 0 253 27 -0.000000 45.235802 -8.516300 0.295037 -0.218453 -0.930178 0 253 27 -0.000000 50.037800 -9.413700 0.295037 -0.218453 -0.930178 0 253 27 -6.775800 50.206501 -7.534500 0.295037 -0.218453 -0.930178 0 253 27 -3.773800 51.093601 -1.034300 0.217879 0.518058 0.827130 0 253 27 -1.435700 55.057400 -2.884500 0.217879 0.518058 0.827130 0 253 27 -0.000000 54.522099 -2.187600 0.217879 0.518058 0.827130 0 253 27 -0.000000 50.880199 0.110000 0.217879 0.518058 0.827130 0 253 27 -0.163800 60.672798 0.405300 0.878123 0.172158 0.446386 0 253 27 -0.226300 59.631802 0.717000 0.878123 0.172158 0.446386 0 253 27 -0.605400 59.453602 0.006800 0.878123 0.172158 0.446386 0 253 27 -0.596000 60.268700 -0.255900 0.878123 0.172158 0.446386 0 253 27 -0.000000 59.375900 0.272700 0.351825 0.003851 0.936058 0 253 27 -0.000000 58.735298 0.237300 0.351825 0.003851 0.936058 0 253 27 -0.793500 58.611801 -0.022400 0.351825 0.003851 0.936058 0 253 27 -0.605400 59.453602 0.006800 0.351825 0.003851 0.936058 0 253 27 -1.340700 61.343498 -1.024900 0.500896 0.173312 0.847978 254 254 254 -2.225300 60.301201 -1.334400 0.500896 0.173312 0.847978 254 254 254 -2.209500 61.230499 -1.515000 0.500896 0.173312 0.847978 254 254 254 -0.474100 61.294899 -0.607800 0.419394 -0.893935 0.158081 0 253 27 -0.785400 61.539799 -0.048800 0.419394 -0.893935 0.158081 0 253 27 -0.179900 61.274700 0.058500 0.419394 -0.893935 0.158081 0 253 27 -0.163800 60.672798 0.405300 0.879737 0.234636 0.413532 0 253 27 -0.596000 60.268700 -0.255900 0.879737 0.234636 0.413532 0 253 27 -0.474100 61.294899 -0.607800 0.879737 0.234636 0.413532 0 253 27 -0.179900 61.274700 0.058500 0.879737 0.234636 0.413532 0 253 27 -0.785400 61.539799 -0.048800 0.405349 0.400850 0.821591 0 253 27 -1.792100 61.563202 -0.648200 0.405349 0.400850 0.821591 0 253 27 -1.901400 62.898899 -1.262500 0.405349 0.400850 0.821591 0 253 27 -0.000000 62.775902 -0.355700 0.405349 0.400850 0.821591 0 253 27 -1.901400 62.898899 -1.262500 0.958885 0.139689 0.247034 254 73 78 -1.792100 61.563202 -0.648200 0.958885 0.139689 0.247034 254 68 73 -2.209500 61.230499 -1.515000 0.958885 0.139689 0.247034 254 68 73 -2.505800 61.413601 -3.333900 0.958885 0.139689 0.247034 254 68 73 -2.071800 58.080299 -1.837600 0.982605 0.010378 0.185418 254 254 254 -2.361600 58.652599 -3.405400 0.982605 0.010378 0.185418 254 254 254 -2.043500 58.694401 -1.722000 0.982605 0.010378 0.185418 254 254 254 -2.361600 58.652599 -3.405400 0.835615 -0.547438 -0.045374 254 254 254 -2.071800 58.080299 -1.837600 0.835615 -0.547438 -0.045374 254 254 254 -1.480400 57.287800 -3.167400 0.835615 -0.547438 -0.045374 254 254 254 -2.361600 58.652599 -3.405400 0.962379 -0.178153 0.205154 254 254 254 -2.484800 60.667999 -2.078300 0.962379 -0.178153 0.205154 254 254 254 -2.225300 60.301201 -1.334400 0.962379 -0.178153 0.205154 254 254 254 -2.043500 58.694401 -1.722000 0.962379 -0.178153 0.205154 254 254 254 -0.596000 60.268700 -0.255900 0.569338 0.180881 0.801958 0 253 27 -0.605400 59.453602 0.006800 0.569338 0.180881 0.801958 0 253 27 -0.793500 58.611801 -0.022400 0.569338 0.180881 0.801958 0 253 27 -2.225300 60.301201 -1.334400 0.569338 0.180881 0.801958 0 253 27 -0.793500 58.611801 -0.022400 0.424783 -0.113068 0.898207 254 68 73 -0.000000 58.735298 0.237300 0.424783 -0.113068 0.898207 254 68 73 -0.000000 57.320400 0.190300 0.424783 -0.113068 0.898207 254 68 73 -0.860300 57.339199 -0.345300 0.424783 -0.113068 0.898207 254 68 73 -2.361600 58.652599 -3.405400 0.801295 -0.555920 -0.221086 254 254 254 -1.480400 57.287800 -3.167400 0.801295 -0.555920 -0.221086 254 254 254 -1.507500 57.978802 -4.806700 0.801295 -0.555920 -0.221086 254 254 254 -1.480400 57.287800 -3.167400 0.605736 -0.042761 0.794516 0 253 27 -0.509500 56.862801 -2.081200 0.605736 -0.042761 0.794516 0 253 27 -0.000000 54.522099 -2.187600 0.605736 -0.042761 0.794516 0 253 27 -1.435700 55.057400 -2.884500 0.605736 -0.042761 0.794516 0 254 27 -1.435700 55.057400 -2.884500 0.962522 0.132164 0.236820 254 68 73 -2.321200 55.471001 -5.570800 0.962522 0.132164 0.236820 254 68 73 -1.507500 57.978802 -4.806700 0.962522 0.132164 0.236820 254 68 73 -1.480400 57.287800 -3.167400 0.962522 0.132164 0.236820 254 68 73 -5.117200 15.490400 -9.679700 -0.146405 -0.402228 -0.903758 0 253 27 -1.456400 14.610600 -8.695100 -0.146405 -0.402228 -0.903758 0 253 27 -0.134100 16.169500 -9.174700 -0.146405 -0.402228 -0.903758 0 253 27 -0.134100 16.169500 -9.174700 -0.868940 -0.488451 0.079739 254 254 254 -1.239800 14.644800 -6.465300 -0.868940 -0.488451 0.079739 254 254 254 -1.716700 14.450400 -2.459200 -0.868940 -0.488451 0.079739 254 254 254 -5.308800 13.910900 -3.738700 0.254739 -0.396087 0.882170 0 253 27 -6.069200 14.643000 -3.762300 0.254739 -0.396087 0.882170 0 253 27 -1.716700 14.450400 -2.459200 0.254739 -0.396087 0.882170 0 253 27 -1.766900 13.754900 -2.918700 0.254739 -0.396087 0.882170 0 253 27 -4.620900 14.945700 -8.516100 0.580484 -0.782092 -0.226651 0 247 31 -5.117200 15.490400 -9.679700 0.580484 -0.782092 -0.226651 2 205 68 -6.069200 14.643000 -3.762300 0.580484 -0.782092 -0.226651 0 253 27 -5.308800 13.910900 -3.738700 0.580484 -0.782092 -0.226651 0 253 27 -1.957400 20.620800 -1.211500 -0.981620 0.066989 0.178702 254 254 254 -2.189200 21.987900 -1.483700 -0.981620 0.066989 0.178702 254 254 254 -0.835600 22.853901 -8.210700 -0.981620 0.066989 0.178702 254 254 254 -0.899900 21.410400 -8.349400 -0.981620 0.066989 0.178702 254 254 254 -7.174300 32.815300 -5.167300 0.882089 0.156872 -0.444196 17 7 244 -4.970000 33.082802 -8.871900 0.882089 0.156872 -0.444196 18 0 252 -5.283200 35.952900 -7.814600 0.882089 0.156872 -0.444196 18 1 249 -6.542300 35.480598 -4.902800 0.882089 0.156872 -0.444196 15 32 221 -5.598500 31.822901 -1.404300 0.892181 0.170029 0.418452 0 240 37 -7.174300 32.815300 -5.167300 0.892181 0.170029 0.418452 17 7 244 -6.542300 35.480598 -4.902800 0.892181 0.170029 0.418452 15 32 221 -4.685700 36.664101 -1.616400 0.472747 0.127337 0.871949 0 250 28 -3.798500 31.552500 -0.388900 0.472747 0.127337 0.871949 0 253 27 -5.598500 31.822901 -1.404300 0.472747 0.127337 0.871949 0 240 37 -2.225300 60.301201 -1.334400 0.926529 0.086891 0.366052 254 254 254 -2.484800 60.667999 -2.078300 0.926529 0.086891 0.366052 254 254 254 -2.209500 61.230499 -1.515000 0.926529 0.086891 0.366052 254 254 254 -8.927200 49.128502 -4.128200 0.174303 -0.164506 0.970853 254 68 73 -9.508400 52.403099 -3.672700 0.174303 -0.164506 0.970853 254 68 73 -8.184300 53.108700 -3.320400 0.174303 -0.164506 0.970853 254 68 73 -7.813100 49.342701 -3.886900 0.174303 -0.164506 0.970853 254 68 73 -8.184300 53.108700 -3.320400 0.526523 0.826719 0.198265 0 253 27 -9.508400 52.403099 -3.672700 0.526523 0.826719 0.198265 0 253 27 -9.827700 52.989700 -7.188500 0.526523 0.826719 0.198265 0 253 27 -8.747800 53.770199 -7.353300 0.526523 0.826719 0.198265 0 253 27 -8.747800 53.770199 -7.353300 0.154881 -0.035505 -0.987295 0 253 27 -6.775800 50.206501 -7.534500 0.154881 -0.035505 -0.987295 0 253 27 -7.252500 54.524502 -7.615000 0.154881 -0.035505 -0.987295 0 254 27 -8.927200 49.128502 -4.128200 -0.001669 -0.169906 0.985459 0 253 27 -14.977100 45.689201 -4.821000 -0.001669 -0.169906 0.985459 18 0 253 -15.636800 49.715099 -4.015700 -0.001669 -0.169906 0.985459 29 188 60 -9.508400 52.403099 -3.672700 -0.001669 -0.169906 0.985459 0 253 27 -1.435700 55.057400 -2.884500 0.215818 0.814400 0.538680 0 253 27 -3.773800 51.093601 -1.034300 0.215818 0.814400 0.538680 0 253 27 -6.624100 53.529800 -2.653700 0.215818 0.814400 0.538680 0 253 27 -7.252500 54.524502 -7.615000 0.215818 0.814400 0.538680 0 253 27 -2.321200 55.471001 -5.570800 0.276118 0.932071 0.234526 0 253 27 -1.435700 55.057400 -2.884500 0.276118 0.932071 0.234526 0 253 27 -7.252500 54.524502 -7.615000 0.276118 0.932071 0.234526 0 253 27 -2.209500 61.230499 -1.515000 0.942806 0.279456 0.181716 254 254 254 -2.484800 60.667999 -2.078300 0.942806 0.279456 0.181716 254 254 254 -2.505800 61.413601 -3.333900 0.942806 0.279456 0.181716 254 254 254 -2.484800 60.667999 -2.078300 0.998559 -0.051788 -0.014052 254 254 254 -2.361600 58.652599 -3.405400 0.998559 -0.051788 -0.014052 254 254 254 -2.505800 61.413601 -3.333900 0.998559 -0.051788 -0.014052 254 254 254 -2.209500 61.230499 -1.515000 0.107977 -0.909631 0.401138 254 68 73 -1.792100 61.563202 -0.648200 0.107977 -0.909631 0.401138 254 68 73 -1.340700 61.343498 -1.024900 0.107977 -0.909631 0.401138 254 68 73 -3.061600 3.537800 -3.461700 -0.234488 0.898953 0.369997 18 0 253 -1.553600 3.059500 -4.173500 -0.234488 0.898953 0.369997 18 0 253 -1.568700 1.981700 -0.627100 -0.234488 0.898953 0.369997 19 0 253 -3.735600 1.816900 0.228400 -0.234488 0.898953 0.369997 19 0 253 -0.626000 0.031700 -8.336200 -0.992053 0.072189 0.103052 0 254 27 -1.825200 -0.024100 0.601200 -0.992053 0.072189 0.103052 254 254 254 -1.568700 1.981700 -0.627100 -0.992053 0.072189 0.103052 254 254 254 -1.553600 3.059500 -4.173500 -0.992053 0.072189 0.103052 186 254 192 -1.825200 -0.024100 0.601200 0.002195 -0.999985 -0.005027 0 254 27 -0.626000 0.031700 -8.336200 0.002195 -0.999985 -0.005027 253 254 253 -1.712600 0.024900 -9.195700 0.002195 -0.999985 -0.005027 254 254 254 -3.769300 -0.009000 1.132900 0.002195 -0.999985 -0.005027 0 254 27 -1.712600 0.024900 -9.195700 -0.920325 0.042849 -0.388801 254 68 73 -0.626000 0.031700 -8.336200 -0.920325 0.042849 -0.388801 254 68 73 -1.239800 14.644800 -6.465300 -0.920325 0.042849 -0.388801 254 68 73 -1.456400 14.610600 -8.695100 -0.920325 0.042849 -0.388801 254 68 73 -1.568700 1.981700 -0.627100 -0.270273 0.452545 0.849798 19 0 253 -1.825200 -0.024100 0.601200 -0.270273 0.452545 0.849798 19 0 253 -3.769300 -0.009000 1.132900 -0.270273 0.452545 0.849798 19 0 253 -3.735600 1.816900 0.228400 -0.270273 0.452545 0.849798 19 0 253 -4.089400 2.633000 -5.031300 0.957442 -0.073711 -0.279054 18 0 253 -5.390300 1.568200 -1.670300 0.957442 -0.073711 -0.279054 18 0 253 -5.176800 -0.025000 -0.598300 0.957442 -0.073711 -0.279054 18 0 253 -3.252600 0.001600 -8.591000 0.957442 -0.073711 -0.279054 19 0 253 -3.769300 -0.009000 1.132900 0.738109 0.308147 0.600201 18 0 253 -5.176800 -0.025000 -0.598300 0.738109 0.308147 0.600201 18 0 253 -5.390300 1.568200 -1.670300 0.738109 0.308147 0.600201 18 0 253 -3.735600 1.816900 0.228400 0.738109 0.308147 0.600201 18 0 253 -5.390300 1.568200 -1.670300 0.560649 0.811720 0.163660 18 0 253 -4.089400 2.633000 -5.031300 0.560649 0.811720 0.163660 18 0 253 -3.061600 3.537800 -3.461700 0.560649 0.811720 0.163660 18 0 253 -3.735600 1.816900 0.228400 0.560649 0.811720 0.163660 18 0 253 -3.061600 3.537800 -3.461700 0.452521 -0.074303 0.888653 18 0 253 -4.089400 2.633000 -5.031300 0.452521 -0.074303 0.888653 18 0 253 -5.308800 13.910900 -3.738700 0.452521 -0.074303 0.888653 0 253 27 -1.766900 13.754900 -2.918700 0.452521 -0.074303 0.888653 0 253 27 -5.117200 15.490400 -9.679700 0.118623 -0.917754 -0.379021 0 253 27 -4.620900 14.945700 -8.516100 0.118623 -0.917754 -0.379021 0 253 27 -1.456400 14.610600 -8.695100 0.118623 -0.917754 -0.379021 0 253 27 -1.456400 14.610600 -8.695100 -0.751462 -0.656769 -0.062923 254 254 254 -1.239800 14.644800 -6.465300 -0.751462 -0.656769 -0.062923 254 254 254 -0.134100 16.169500 -9.174700 -0.751462 -0.656769 -0.062923 254 254 254 -5.426000 21.341299 -8.132600 0.959663 0.028025 -0.279753 15 21 230 -5.317800 22.936800 -8.016200 0.959663 0.028025 -0.279753 18 0 252 -6.824000 22.193899 -3.251500 0.959663 0.028025 -0.279753 3 179 89 -6.827700 20.858999 -3.044800 0.959663 0.028025 -0.279753 0 231 44 -0.845100 29.891001 -9.498900 0.127296 -0.127838 -0.983592 0 253 27 -5.595300 29.761600 -8.492500 0.127296 -0.127838 -0.983592 0 253 27 -5.317800 22.936800 -8.016200 0.127296 -0.127838 -0.983592 0 253 27 -0.835600 22.853901 -8.210700 0.127296 -0.127838 -0.983592 0 253 27 -1.957400 20.620800 -1.211500 0.345482 0.135420 0.928603 254 68 73 -6.827700 20.858999 -3.044800 0.345482 0.135420 0.928603 232 61 86 -6.824000 22.193899 -3.251500 0.345482 0.135420 0.928603 185 47 122 -2.189200 21.987900 -1.483700 0.345482 0.135420 0.928603 254 68 73 -0.605400 59.453602 0.006800 0.276378 -0.886938 0.370075 254 68 73 -0.226300 59.631802 0.717000 0.276378 -0.886938 0.370075 254 68 73 -0.000000 59.375900 0.272700 0.276378 -0.886938 0.370075 254 68 73 -21.936399 43.055199 -3.733600 0.245050 -0.199318 0.948801 19 0 253 -23.265499 44.290199 -3.614200 0.245050 -0.199318 0.948801 19 0 253 -23.323000 46.228001 -3.425200 0.245050 -0.199318 0.948801 19 0 251 -22.348700 46.932201 -2.822400 0.245050 -0.199318 0.948801 20 0 250 -22.105101 44.119598 -7.074000 0.680722 -0.210597 -0.701617 0 253 27 -23.337700 47.268200 -6.945000 0.680722 -0.210597 -0.701617 0 253 27 -23.881300 46.267799 -5.995500 0.680722 -0.210597 -0.701617 0 253 27 -23.273100 44.479099 -6.170500 0.680722 -0.210597 -0.701617 0 253 27 -22.348700 46.932201 -2.822400 0.710630 0.673907 0.202126 18 0 249 -23.323000 46.228001 -3.425200 0.710630 0.673907 0.202126 18 0 251 -23.881300 46.267799 -5.995500 0.710630 0.673907 0.202126 12 63 193 -23.337700 47.268200 -6.945000 0.710630 0.673907 0.202126 2 175 92 -21.936399 43.055199 -3.733600 0.575702 -0.803125 -0.153486 18 0 253 -22.105101 44.119598 -7.074000 0.575702 -0.803125 -0.153486 18 0 253 -23.273100 44.479099 -6.170500 0.575702 -0.803125 -0.153486 18 0 253 -23.265499 44.290199 -3.614200 0.575702 -0.803125 -0.153486 18 0 253 -23.323000 46.228001 -3.425200 -0.234519 0.052147 0.970712 19 0 251 -23.265499 44.290199 -3.614200 -0.234519 0.052147 0.970712 19 0 253 -24.446100 44.099098 -3.039500 -0.234519 0.052147 0.970712 19 0 253 -24.935400 45.742901 -3.288800 -0.234519 0.052147 0.970712 20 0 251 -23.273100 44.479099 -6.170500 0.051663 0.047611 -0.997529 0 253 27 -23.881300 46.267799 -5.995500 0.051663 0.047611 -0.997529 0 253 27 -25.982700 45.641201 -5.974700 0.051663 0.047611 -0.997529 0 253 27 -25.718901 44.407902 -5.989100 0.051663 0.047611 -0.997529 0 253 27 -23.881300 46.267799 -5.995500 0.283035 0.956157 0.075198 64 24 202 -23.323000 46.228001 -3.425200 0.283035 0.956157 0.075198 19 0 251 -24.935400 45.742901 -3.288800 0.283035 0.956157 0.075198 20 0 251 -25.982700 45.641201 -5.974700 0.283035 0.956157 0.075198 65 29 197 -23.265499 44.290199 -3.614200 -0.050680 -0.993534 -0.101596 0 251 27 -23.273100 44.479099 -6.170500 -0.050680 -0.993534 -0.101596 0 253 27 -25.718901 44.407902 -5.989100 -0.050680 -0.993534 -0.101596 0 253 27 -24.446100 44.099098 -3.039500 -0.050680 -0.993534 -0.101596 53 205 30 -3.798500 31.552500 -0.388900 0.303080 0.047081 0.951802 57 208 35 -4.685700 36.664101 -1.616400 0.303080 0.047081 0.951802 0 250 28 -0.000000 37.009800 0.550700 0.303080 0.047081 0.951802 172 124 55 -0.000000 31.552500 0.128500 0.303080 0.047081 0.951802 203 101 62 -27.058001 43.733101 -1.471100 0.612973 -0.035197 0.789319 19 0 253 -26.775499 43.007000 -1.492900 0.612973 -0.035197 0.789319 19 0 253 -27.637899 42.321201 -1.984400 0.612973 -0.035197 0.789319 19 0 253 -28.100901 44.177299 -2.470000 0.612973 -0.035197 0.789319 19 0 253 -27.102699 45.320202 -5.735100 0.288380 -0.175341 -0.941325 0 253 27 -26.246300 42.901402 -5.383600 0.288380 -0.175341 -0.941325 0 252 27 -25.718901 44.407902 -5.989100 0.288380 -0.175341 -0.941325 0 253 27 -25.982700 45.641201 -5.974700 0.288380 -0.175341 -0.941325 0 253 27 -24.935400 45.742901 -3.288800 0.215944 0.976143 0.022647 20 0 251 -26.753901 45.398300 -2.858600 0.215944 0.976143 0.022647 21 0 250 -27.102699 45.320202 -5.735100 0.215944 0.976143 0.022647 69 22 201 -25.982700 45.641201 -5.974700 0.215944 0.976143 0.022647 65 29 197 -24.446100 44.099098 -3.039500 -0.806467 -0.440747 -0.394147 254 254 254 -25.718901 44.407902 -5.989100 -0.806467 -0.440747 -0.394147 254 254 254 -26.246300 42.901402 -5.383600 -0.806467 -0.440747 -0.394147 254 254 254 -28.380600 42.330502 -3.056600 0.840529 -0.044209 0.539960 19 0 253 -28.697901 44.238201 -3.477500 0.840529 -0.044209 0.539960 20 0 252 -28.100901 44.177299 -2.470000 0.840529 -0.044209 0.539960 19 0 253 -27.637899 42.321201 -1.984400 0.840529 -0.044209 0.539960 19 0 253 -28.380600 42.330502 -3.056600 0.979149 -0.175223 -0.102788 19 0 253 -28.292801 42.543098 -4.446800 0.979149 -0.175223 -0.102788 19 0 253 -28.543800 44.178001 -4.651400 0.979149 -0.175223 -0.102788 20 3 248 -28.697901 44.238201 -3.477500 0.979149 -0.175223 -0.102788 20 0 252 -26.753901 45.398300 -2.858600 0.560189 0.737837 0.376544 20 0 250 -28.100901 44.177299 -2.470000 0.560189 0.737837 0.376544 19 0 253 -28.697901 44.238201 -3.477500 0.560189 0.737837 0.376544 20 0 252 -24.935400 45.742901 -3.288800 -0.484106 0.321222 0.813915 20 0 251 -24.446100 44.099098 -3.039500 -0.484106 0.321222 0.813915 19 0 253 -25.587200 43.557701 -2.038700 -0.484106 0.321222 0.813915 19 0 253 -26.117701 44.487900 -2.198700 -0.484106 0.321222 0.813915 19 0 253 -24.446100 44.099098 -3.039500 -0.765721 -0.642695 -0.024780 254 68 73 -26.246300 42.901402 -5.383600 -0.765721 -0.642695 -0.024780 254 68 73 -25.491899 42.827301 -2.370100 -0.765721 -0.642695 -0.024780 254 68 73 -25.587200 43.557701 -2.038700 -0.765721 -0.642695 -0.024780 254 68 73 -26.753901 45.398300 -2.858600 -0.068715 0.616533 0.784324 21 0 250 -24.935400 45.742901 -3.288800 -0.068715 0.616533 0.784324 20 0 251 -26.117701 44.487900 -2.198700 -0.068715 0.616533 0.784324 19 0 253 -0.000000 31.552500 0.128500 0.069913 -0.031462 0.997057 0 253 27 -0.000000 24.132099 -0.356700 0.069913 -0.031462 0.997057 0 253 27 -3.463700 23.872801 -0.356700 0.069913 -0.031462 0.997057 0 253 27 -3.798500 31.552500 -0.388900 0.069913 -0.031462 0.997057 0 253 27 -2.225300 60.301201 -1.334400 0.789816 -0.226827 0.569860 0 253 27 -0.793500 58.611801 -0.022400 0.789816 -0.226827 0.569860 0 253 27 -2.043500 58.694401 -1.722000 0.789816 -0.226827 0.569860 0 253 27 -0.793500 58.611801 -0.022400 0.800106 -0.097243 0.591924 0 253 27 -0.860300 57.339199 -0.345300 0.800106 -0.097243 0.591924 0 253 27 -2.071800 58.080299 -1.837600 0.800106 -0.097243 0.591924 0 253 27 -2.043500 58.694401 -1.722000 0.800106 -0.097243 0.591924 0 253 27 -2.071800 58.080299 -1.837600 0.594038 -0.791272 0.144939 254 68 73 -0.860300 57.339199 -0.345300 0.594038 -0.791272 0.144939 254 68 73 -0.509500 56.862801 -2.081200 0.594038 -0.791272 0.144939 254 68 73 -1.480400 57.287800 -3.167400 0.594038 -0.791272 0.144939 254 68 73 -0.179900 61.274700 0.058500 0.090663 0.188705 0.977840 0 254 27 -0.785400 61.539799 -0.048800 0.090663 0.188705 0.977840 0 254 27 -0.000000 61.912998 -0.048000 0.090663 0.188705 0.977840 0 254 27 -15.884600 46.520500 -7.855800 0.098387 0.080586 -0.991880 0 253 27 -14.885000 46.974701 -7.946000 0.098387 0.080586 -0.991880 0 253 27 -16.136200 50.023998 -7.546200 0.098387 0.080586 -0.991880 0 253 27 -17.208200 49.477699 -7.512200 0.098387 0.080586 -0.991880 0 253 27 -15.636800 49.715099 -4.015700 0.436830 0.889212 0.135946 1 215 59 -16.810101 49.139900 -3.928800 0.436830 0.889212 0.135946 5 158 110 -17.208200 49.477699 -7.512200 0.436830 0.889212 0.135946 0 227 47 -16.136200 50.023998 -7.546200 0.436830 0.889212 0.135946 0 244 34 -16.192200 44.960400 -4.877100 -0.435886 -0.826304 -0.356686 254 252 252 -14.977100 45.689201 -4.821000 -0.435886 -0.826304 -0.356686 254 202 204 -14.885000 46.974701 -7.946000 -0.435886 -0.826304 -0.356686 254 123 127 -15.884600 46.520500 -7.855800 -0.435886 -0.826304 -0.356686 254 212 213 -16.810101 49.139900 -3.928800 -0.116417 -0.190205 0.974818 35 133 112 -15.636800 49.715099 -4.015700 -0.116417 -0.190205 0.974818 25 190 59 -14.977100 45.689201 -4.821000 -0.116417 -0.190205 0.974818 18 0 253 -16.192200 44.960400 -4.877100 -0.116417 -0.190205 0.974818 18 0 253 -13.779500 47.417198 -7.715300 0.030432 0.115440 -0.992848 12 79 181 -8.756500 49.321098 -7.632900 0.030432 0.115440 -0.992848 0 250 29 -9.827700 52.989700 -7.188500 0.030432 0.115440 -0.992848 0 253 27 -14.989100 50.565300 -7.297200 0.030432 0.115440 -0.992848 0 249 29 -15.636800 49.715099 -4.015700 0.447311 0.883265 0.140554 1 215 59 -16.136200 50.023998 -7.546200 0.447311 0.883265 0.140554 0 244 34 -14.989100 50.565300 -7.297200 0.447311 0.883265 0.140554 0 249 29 -13.779500 47.417198 -7.715300 -0.409629 -0.847844 -0.336696 254 70 75 -14.885000 46.974701 -7.946000 -0.409629 -0.847844 -0.336696 254 123 127 -14.977100 45.689201 -4.821000 -0.409629 -0.847844 -0.336696 254 202 204 -1.239800 14.644800 -6.465300 -0.983473 -0.143727 0.110102 254 254 254 -1.766900 13.754900 -2.918700 -0.983473 -0.143727 0.110102 254 254 254 -1.716700 14.450400 -2.459200 -0.983473 -0.143727 0.110102 254 254 254 -26.117701 44.487900 -2.198700 -0.374471 0.258120 0.890587 19 0 253 -25.587200 43.557701 -2.038700 -0.374471 0.258120 0.890587 19 0 253 -26.775499 43.007000 -1.492900 -0.374471 0.258120 0.890587 19 0 253 -27.058001 43.733101 -1.471100 -0.374471 0.258120 0.890587 19 0 253 -25.587200 43.557701 -2.038700 -0.386633 -0.610879 0.690899 19 0 253 -25.491899 42.827301 -2.370100 -0.386633 -0.610879 0.690899 19 0 253 -27.637899 42.321201 -1.984400 -0.386633 -0.610879 0.690899 19 0 253 -26.775499 43.007000 -1.492900 -0.386633 -0.610879 0.690899 19 0 253 -26.117701 44.487900 -2.198700 0.202601 0.798645 0.566673 19 0 253 -27.058001 43.733101 -1.471100 0.202601 0.798645 0.566673 19 0 253 -28.100901 44.177299 -2.470000 0.202601 0.798645 0.566673 19 0 253 -8.184300 53.108700 -3.320400 0.347207 -0.172872 0.921717 254 68 73 -6.624100 53.529800 -2.653700 0.347207 -0.172872 0.921717 254 68 73 -7.813100 49.342701 -3.886900 0.347207 -0.172872 0.921717 254 68 73 -8.747800 53.770199 -7.353300 0.055764 0.062731 -0.996471 0 253 27 -9.827700 52.989700 -7.188500 0.055764 0.062731 -0.996471 0 253 27 -8.756500 49.321098 -7.632900 0.055764 0.062731 -0.996471 0 253 27 -6.775800 50.206501 -7.534500 0.055764 0.062731 -0.996471 0 253 27 -28.543800 44.178001 -4.651400 0.562493 0.826801 -0.001192 20 3 248 -27.102699 45.320202 -5.735100 0.562493 0.826801 -0.001192 12 64 193 -26.753901 45.398300 -2.858600 0.562493 0.826801 -0.001192 20 0 250 -28.697901 44.238201 -3.477500 0.562493 0.826801 -0.001192 20 0 252 -26.246300 42.901402 -5.383600 -0.106461 -0.983873 -0.143736 0 252 27 -28.292801 42.543098 -4.446800 -0.106461 -0.983873 -0.143736 87 180 37 -28.380600 42.330502 -3.056600 -0.106461 -0.983873 -0.143736 242 73 67 -28.100901 44.177299 -2.470000 0.192584 0.484112 0.853550 19 0 253 -26.753901 45.398300 -2.858600 0.192584 0.484112 0.853550 21 0 250 -26.117701 44.487900 -2.198700 0.192584 0.484112 0.853550 19 0 253 -1.712600 0.024900 -9.195700 -0.013475 -0.999909 -0.000374 19 0 253 -3.252600 0.001600 -8.591000 -0.013475 -0.999909 -0.000374 19 0 253 -5.176800 -0.025000 -0.598300 -0.013475 -0.999909 -0.000374 18 0 253 -3.769300 -0.009000 1.132900 -0.013475 -0.999909 -0.000374 18 0 253 -0.000000 61.912998 -0.048000 0.158526 0.331625 0.929997 0 254 27 -0.785400 61.539799 -0.048800 0.158526 0.331625 0.929997 0 254 27 -0.000000 62.775902 -0.355700 0.158526 0.331625 0.929997 0 254 27 -0.340300 31.400700 -9.928000 -0.943868 -0.327610 -0.042246 254 254 254 -0.845100 29.891001 -9.498900 -0.943868 -0.327610 -0.042246 254 254 254 -0.425600 30.069099 -1.507500 -0.943868 -0.327610 -0.042246 254 254 254 -0.509500 56.862801 -2.081200 0.000000 -0.045410 0.998968 254 127 129 -0.509500 56.862801 -2.081200 0.098448 -0.971038 0.217700 0 253 27 -0.860300 57.339199 -0.345300 0.098448 -0.971038 0.217700 0 253 27 -0.000000 57.320400 0.190300 0.098448 -0.971038 0.217700 0 253 27 -0.000000 56.862801 -2.081200 0.098448 -0.971038 0.217700 0 253 27 -5.598500 31.822901 -1.404300 0.881264 0.021588 0.472131 0 240 37 -6.824000 22.193899 -3.251500 0.881264 0.021588 0.472131 3 179 89 -7.453900 29.910801 -4.780100 0.881264 0.021588 0.472131 18 0 251 -6.824000 22.193899 -3.251500 0.921284 -0.108958 -0.373315 3 179 89 -5.317800 22.936800 -8.016200 0.921284 -0.108958 -0.373315 18 0 252 -5.595300 29.761600 -8.492500 0.921284 -0.108958 -0.373315 18 0 253 -7.453900 29.910801 -4.780100 0.921284 -0.108958 -0.373315 18 0 251 -3.798500 31.552500 -0.388900 0.401815 -0.146587 0.903912 0 253 27 -2.189200 21.987900 -1.483700 0.401815 -0.146587 0.903912 0 253 27 -6.824000 22.193899 -3.251500 0.401815 -0.146587 0.903912 3 179 89 -5.598500 31.822901 -1.404300 0.401815 -0.146587 0.903912 0 240 37 -0.340300 31.400700 -9.928000 0.230509 -0.107925 -0.967067 0 253 27 -4.970000 33.082802 -8.871900 0.230509 -0.107925 -0.967067 0 253 27 -5.595300 29.761600 -8.492500 0.230509 -0.107925 -0.967067 0 253 27 -0.845100 29.891001 -9.498900 0.230509 -0.107925 -0.967067 0 253 27 -0.835600 22.853901 -8.210700 -0.992236 -0.110106 0.057826 254 254 254 -2.189200 21.987900 -1.483700 -0.992236 -0.110106 0.057826 254 254 254 -0.425600 30.069099 -1.507500 -0.992236 -0.110106 0.057826 254 254 254 -0.845100 29.891001 -9.498900 -0.992236 -0.110106 0.057826 254 254 254 -2.162800 35.743500 -9.599900 0.324673 0.084802 -0.942017 0 253 27 -5.283200 35.952900 -7.814600 0.324673 0.084802 -0.942017 0 253 27 -4.970000 33.082802 -8.871900 0.324673 0.084802 -0.942017 0 253 27 -0.340300 31.400700 -9.928000 0.324673 0.084802 -0.942017 0 253 27 -5.283200 35.952900 -7.814600 0.889642 0.311183 -0.334218 18 1 249 -5.919200 37.619099 -4.570300 0.889642 0.311183 -0.334218 9 98 162 -6.542300 35.480598 -4.902800 0.889642 0.311183 -0.334218 15 32 221 -5.919200 37.619099 -4.570300 0.882631 0.186784 0.431364 9 98 162 -4.685700 36.664101 -1.616400 0.882631 0.186784 0.431364 0 250 28 -5.598500 31.822901 -1.404300 0.882631 0.186784 0.431364 0 240 37 -6.542300 35.480598 -4.902800 0.882631 0.186784 0.431364 15 32 221 -0.474100 61.294899 -0.607800 0.490764 0.255871 0.832875 254 68 73 -0.596000 60.268700 -0.255900 0.490764 0.255871 0.832875 254 68 73 -2.225300 60.301201 -1.334400 0.490764 0.255871 0.832875 254 68 73 -1.340700 61.343498 -1.024900 0.490764 0.255871 0.832875 254 68 73 -1.340700 61.343498 -1.024900 0.199083 -0.932669 0.300824 0 253 27 -1.792100 61.563202 -0.648200 0.199083 -0.932669 0.300824 0 253 27 -0.785400 61.539799 -0.048800 0.199083 -0.932669 0.300824 0 253 27 -0.474100 61.294899 -0.607800 0.199083 -0.932669 0.300824 0 253 27 -0.000000 45.235802 -8.516300 0.205813 0.023108 -0.978318 0 253 27 -5.495700 46.043098 -6.732400 0.205813 0.023108 -0.978318 0 252 27 -2.827600 38.171799 -8.088300 0.205813 0.023108 -0.978318 8 119 142 -0.000000 38.221600 -8.073300 0.205813 0.023108 -0.978318 0 240 38 -0.425600 30.069099 -1.507500 -0.290133 -0.060504 0.955072 254 254 254 -2.189200 21.987900 -1.483700 -0.290133 -0.060504 0.955072 254 254 254 -3.798500 31.552500 -0.388900 -0.290133 -0.060504 0.955072 254 254 254 -0.000000 31.547001 -9.939100 -0.348901 -0.925923 -0.144686 254 68 73 -0.340300 31.400700 -9.928000 -0.348901 -0.925923 -0.144686 254 68 73 -0.425600 30.069099 -1.507500 -0.348901 -0.925923 -0.144686 254 68 73 -0.000000 30.215401 -1.522000 -0.348901 -0.925923 -0.144686 254 68 73 -21.061199 44.183601 -7.611200 0.028361 0.039319 -0.998824 18 0 253 -15.884600 46.520500 -7.855800 0.028361 0.039319 -0.998824 17 5 246 -17.208200 49.477699 -7.512200 0.028361 0.039319 -0.998824 0 227 47 -22.585199 48.327702 -7.594400 0.028361 0.039319 -0.998824 0 239 38 -22.348700 46.932201 -2.822400 0.723103 0.652497 0.226650 18 0 249 -23.337700 47.268200 -6.945000 0.723103 0.652497 0.226650 2 175 92 -22.585199 48.327702 -7.594400 0.723103 0.652497 0.226650 0 239 38 -21.061199 44.183601 -7.611200 0.095048 -0.949863 -0.297868 0 253 27 -22.105101 44.119598 -7.074000 0.095048 -0.949863 -0.297868 0 253 27 -21.936399 43.055199 -3.733600 0.095048 -0.949863 -0.297868 0 253 27 -0.340300 31.400700 -9.928000 0.010374 0.075249 -0.997111 0 253 27 -0.000000 31.547001 -9.939100 0.010374 0.075249 -0.997111 0 253 27 -0.000000 35.795200 -9.599900 0.010374 0.075249 -0.997111 0 253 27 -2.162800 35.743500 -9.599900 0.010374 0.075249 -0.997111 0 253 27 -5.919200 37.619099 -4.570300 0.561685 0.544798 -0.622660 9 98 162 -5.283200 35.952900 -7.814600 0.561685 0.544798 -0.622660 18 1 249 -2.162800 35.743500 -9.599900 0.561685 0.544798 -0.622660 16 28 225 -2.827600 38.171799 -8.088300 0.561685 0.544798 -0.622660 8 119 142 -28.543800 44.178001 -4.651400 0.410462 -0.233070 -0.881589 77 187 34 -28.292801 42.543098 -4.446800 0.410462 -0.233070 -0.881589 87 180 37 -26.246300 42.901402 -5.383600 0.410462 -0.233070 -0.881589 0 252 27 -27.102699 45.320202 -5.735100 0.410462 -0.233070 -0.881589 0 253 27 -25.491899 42.827301 -2.370100 -0.201709 -0.968181 -0.148119 190 254 195 -28.380600 42.330502 -3.056600 -0.201709 -0.968181 -0.148119 242 254 242 -27.637899 42.321201 -1.984400 -0.201709 -0.968181 -0.148119 254 254 254 -26.246300 42.901402 -5.383600 -0.185319 -0.980147 -0.070494 0 254 27 -28.380600 42.330502 -3.056600 -0.185319 -0.980147 -0.070494 242 254 242 -25.491899 42.827301 -2.370100 -0.185319 -0.980147 -0.070494 190 254 195 -2.162800 35.743500 -9.599900 0.008224 0.529675 -0.848161 0 253 27 -0.000000 35.795200 -9.599900 0.008224 0.529675 -0.848161 0 253 27 -0.000000 38.221600 -8.073300 0.008224 0.529675 -0.848161 0 253 27 -2.827600 38.171799 -8.088300 0.008224 0.529675 -0.848161 0 253 27 -0.706900 62.538601 -0.289700 0.498102 0.211804 0.840853 0 253 27 -1.838200 62.255798 -0.802600 0.498102 0.211804 0.840853 0 253 27 -1.901400 63.532299 -1.247600 0.498102 0.211804 0.840853 0 253 27 -0.672300 63.485901 -0.421800 0.498102 0.211804 0.840853 0 253 27 -1.901400 63.532299 -1.247600 0.915374 0.111541 0.386845 0 253 27 -1.838200 62.255798 -0.802600 0.915374 0.111541 0.386845 0 253 27 -3.194200 60.597198 -3.460400 0.915374 0.111541 0.386845 0 253 27 -2.758700 63.532299 -3.348800 0.915374 0.111541 0.386845 0 253 27 -2.758700 63.532299 -3.348800 0.984906 0.142377 0.098436 0 253 27 -3.194200 60.597198 -3.460400 0.984906 0.142377 0.098436 0 253 27 -3.446000 60.597198 -5.980300 0.984906 0.142377 0.098436 0 253 27 -3.010600 63.532299 -5.868700 0.984906 0.142377 0.098436 0 253 27 -3.194200 60.597198 -3.460400 0.917633 0.222238 0.329485 0 253 27 -1.838200 62.255798 -0.802600 0.917633 0.222238 0.329485 0 253 27 -2.336800 60.597198 -1.072500 0.917633 0.222238 0.329485 0 253 27 -2.130500 53.628601 -1.359200 0.842435 0.033555 0.537753 0 253 27 -4.088800 54.879799 -3.460400 0.842435 0.033555 0.537753 0 253 27 -3.194200 60.597198 -3.460400 0.842435 0.033555 0.537753 0 253 27 -2.336800 60.597198 -1.072500 0.842435 0.033555 0.537753 0 253 27 -4.088800 54.879799 -3.460400 0.982155 0.156435 0.104398 0 253 27 -4.340700 55.234299 -6.210400 0.982155 0.156435 0.104398 0 254 27 -3.446000 60.597198 -5.980300 0.982155 0.156435 0.104398 0 253 27 -3.194200 60.597198 -3.460400 0.982155 0.156435 0.104398 0 253 27 -3.010600 63.532299 -5.868700 0.839145 0.204241 -0.504105 0 253 27 -3.446000 60.597198 -5.980300 0.839145 0.204241 -0.504105 0 253 27 -2.517200 60.597198 -7.879200 0.839145 0.204241 -0.504105 0 253 27 -1.932100 63.532299 -7.311200 0.839145 0.204241 -0.504105 0 253 27 -3.446000 60.597198 -5.980300 0.847590 0.127945 -0.514996 0 253 27 -4.340700 55.234299 -6.210400 0.847590 0.127945 -0.514996 0 254 27 -2.990300 54.496300 -8.246000 0.847590 0.127945 -0.514996 0 253 27 -2.517200 60.597198 -7.879200 0.847590 0.127945 -0.514996 0 253 27 -1.932100 63.532299 -7.311200 0.365116 0.222173 -0.904063 0 253 27 -2.517200 60.597198 -7.879200 0.365116 0.222173 -0.904063 0 253 27 -0.000000 60.597198 -8.812800 0.365116 0.222173 -0.904063 0 253 27 -0.000000 63.532299 -8.174500 0.365116 0.222173 -0.904063 0 253 27 -2.990300 54.496300 -8.246000 0.255106 0.035267 -0.966270 0 253 27 -0.000000 54.050800 -8.782700 0.255106 0.035267 -0.966270 0 253 27 -0.000000 60.597198 -8.812800 0.255106 0.035267 -0.966270 0 253 27 -2.517200 60.597198 -7.879200 0.255106 0.035267 -0.966270 0 253 27 -0.672300 63.485901 -0.421800 0.422112 0.618267 0.662999 0 253 27 -1.901400 63.532299 -1.247600 0.422112 0.618267 0.662999 0 253 27 -1.171400 65.057899 -2.205500 0.422112 0.618267 0.662999 0 253 27 -1.901400 63.532299 -1.247600 0.756752 0.608663 0.238446 0 253 27 -2.758700 63.532299 -3.348800 0.756752 0.608663 0.238446 0 253 27 -1.795600 65.057899 -4.806100 0.756752 0.608663 0.238446 0 253 27 -1.171400 65.057899 -2.205500 0.756752 0.608663 0.238446 0 253 27 -2.758700 63.532299 -3.348800 0.806293 0.585999 0.080601 0 253 27 -3.010600 63.532299 -5.868700 0.806293 0.585999 0.080601 0 253 27 -1.795600 65.057899 -4.806100 0.806293 0.585999 0.080601 0 253 27 -3.010600 63.532299 -5.868700 0.468822 0.765524 -0.440657 0 253 27 -1.932100 63.532299 -7.311200 0.468822 0.765524 -0.440657 0 254 27 -0.000000 65.057899 -6.421400 0.468822 0.765524 -0.440657 0 253 27 -1.795600 65.057899 -4.806100 0.468822 0.765524 -0.440657 0 253 27 -1.932100 63.532299 -7.311200 0.281463 0.723860 -0.629925 0 254 27 -0.000000 63.532299 -8.174500 0.281463 0.723860 -0.629925 0 253 27 -0.000000 65.057899 -6.421400 0.281463 0.723860 -0.629925 0 253 27 -1.171400 65.057899 -2.205500 0.296421 0.952404 0.071148 0 253 27 -1.795600 65.057899 -4.806100 0.296421 0.952404 0.071148 0 253 27 -0.000000 65.560898 -4.058400 0.296421 0.952404 0.071148 0 253 27 -1.795600 65.057899 -4.806100 0.184093 0.961370 -0.204641 0 254 27 -0.000000 65.057899 -6.421400 0.184093 0.961370 -0.204641 0 254 27 -0.000000 65.560898 -4.058400 0.184093 0.961370 -0.204641 0 254 27 -0.672300 63.485901 -0.421800 0.000000 0.750225 0.661183 0 254 27 -1.171400 65.057899 -2.205500 0.000000 0.750225 0.661183 0 254 27 --1.171400 65.057899 -2.205500 0.000000 0.750225 0.661183 0 254 27 --0.672300 63.485901 -0.421800 0.000000 0.750225 0.661183 0 254 27 -0.706900 62.538601 -0.289700 0.204667 0.142518 0.968401 0 254 27 -0.672300 63.485901 -0.421800 0.204667 0.142518 0.968401 0 254 27 -0.000000 62.538601 -0.140300 0.204667 0.142518 0.968401 0 254 27 -0.672300 63.485901 -0.421800 -0.000000 0.284850 0.958572 0 254 27 --0.672300 63.485901 -0.421800 -0.000000 0.284850 0.958572 0 254 27 -0.000000 62.538601 -0.140300 -0.000000 0.284850 0.958572 0 254 27 -2.130500 53.628601 -1.359200 -0.899990 0.017690 0.435552 0 253 27 -2.336800 60.597198 -1.072500 -0.899990 0.017690 0.435552 0 253 27 -1.393700 60.597198 -3.164700 -0.899990 0.017690 0.435552 0 253 27 -1.187300 53.628601 -3.164700 -0.899990 0.017690 0.435552 0 253 27 --0.706900 62.538601 -0.289700 -0.498102 0.211804 0.840853 0 254 27 --0.672300 63.485901 -0.421800 -0.498102 0.211804 0.840853 0 254 27 --1.901400 63.532299 -1.247600 -0.498102 0.211804 0.840853 0 254 27 --1.838200 62.255798 -0.802600 -0.498102 0.211804 0.840853 0 254 27 --1.901400 63.532299 -1.247600 -0.915374 0.111541 0.386845 0 254 27 --2.758700 63.532299 -3.348800 -0.915374 0.111541 0.386845 0 254 27 --3.194200 60.597198 -3.460400 -0.915374 0.111541 0.386845 0 254 27 --1.838200 62.255798 -0.802600 -0.915374 0.111541 0.386845 0 254 27 --2.758700 63.532299 -3.348800 -0.984906 0.142377 0.098436 0 254 27 --3.010600 63.532299 -5.868700 -0.984906 0.142377 0.098436 0 254 27 --3.446000 60.597198 -5.980300 -0.984906 0.142377 0.098436 0 254 27 --3.194200 60.597198 -3.460400 -0.984906 0.142377 0.098436 0 254 27 --3.194200 60.597198 -3.460400 -0.917633 0.222238 0.329485 0 254 27 --2.336800 60.597198 -1.072500 -0.917633 0.222238 0.329485 0 254 27 --1.838200 62.255798 -0.802600 -0.917633 0.222238 0.329485 0 254 27 --2.130500 53.628601 -1.359200 -0.842435 0.033555 0.537753 0 253 27 --2.336800 60.597198 -1.072500 -0.842435 0.033555 0.537753 0 254 27 --3.194200 60.597198 -3.460400 -0.842435 0.033555 0.537753 0 254 27 --4.088800 54.879799 -3.460400 -0.842435 0.033555 0.537753 0 253 27 --4.088800 54.879799 -3.460400 -0.982155 0.156435 0.104398 0 253 27 --3.194200 60.597198 -3.460400 -0.982155 0.156435 0.104398 0 253 27 --3.446000 60.597198 -5.980300 -0.982155 0.156435 0.104398 0 253 27 --4.340700 55.234299 -6.210400 -0.982155 0.156435 0.104398 0 254 27 --3.010600 63.532299 -5.868700 -0.839145 0.204241 -0.504105 0 254 27 --1.932100 63.532299 -7.311200 -0.839145 0.204241 -0.504105 0 254 27 --2.517200 60.597198 -7.879200 -0.839145 0.204241 -0.504105 0 254 27 --3.446000 60.597198 -5.980300 -0.839145 0.204241 -0.504105 0 254 27 --3.446000 60.597198 -5.980300 -0.847590 0.127945 -0.514996 0 254 27 --2.517200 60.597198 -7.879200 -0.847590 0.127945 -0.514996 0 254 27 --2.990300 54.496300 -8.246000 -0.847590 0.127945 -0.514996 0 254 27 --4.340700 55.234299 -6.210400 -0.847590 0.127945 -0.514996 0 254 27 --1.932100 63.532299 -7.311200 -0.365116 0.222173 -0.904063 0 254 27 -0.000000 63.532299 -8.174500 -0.365116 0.222173 -0.904063 0 254 27 -0.000000 60.597198 -8.812800 -0.365116 0.222173 -0.904063 0 254 27 --2.517200 60.597198 -7.879200 -0.365116 0.222173 -0.904063 0 254 27 --2.990300 54.496300 -8.246000 -0.255106 0.035267 -0.966270 0 254 27 --2.517200 60.597198 -7.879200 -0.255106 0.035267 -0.966270 0 254 27 -0.000000 60.597198 -8.812800 -0.255106 0.035267 -0.966270 0 254 27 -0.000000 54.050800 -8.782700 -0.255106 0.035267 -0.966270 0 254 27 --0.672300 63.485901 -0.421800 -0.422112 0.618267 0.662999 0 254 27 --1.171400 65.057899 -2.205500 -0.422112 0.618267 0.662999 0 254 27 --1.901400 63.532299 -1.247600 -0.422112 0.618267 0.662999 0 254 27 --1.901400 63.532299 -1.247600 -0.756752 0.608663 0.238446 0 254 27 --1.171400 65.057899 -2.205500 -0.756752 0.608663 0.238446 0 254 27 --1.795600 65.057899 -4.806100 -0.756752 0.608663 0.238446 0 254 27 --2.758700 63.532299 -3.348800 -0.756752 0.608663 0.238446 0 254 27 --2.758700 63.532299 -3.348800 -0.806293 0.585999 0.080601 0 254 27 --1.795600 65.057899 -4.806100 -0.806293 0.585999 0.080601 0 254 27 --3.010600 63.532299 -5.868700 -0.806293 0.585999 0.080601 0 254 27 --3.010600 63.532299 -5.868700 -0.468822 0.765524 -0.440657 0 254 27 --1.795600 65.057899 -4.806100 -0.468822 0.765524 -0.440657 0 254 27 -0.000000 65.057899 -6.421400 -0.468822 0.765524 -0.440657 0 254 27 --1.932100 63.532299 -7.311200 -0.468822 0.765524 -0.440657 0 254 27 --1.932100 63.532299 -7.311200 -0.281463 0.723860 -0.629925 0 254 27 -0.000000 65.057899 -6.421400 -0.281463 0.723860 -0.629925 0 254 27 -0.000000 63.532299 -8.174500 -0.281463 0.723860 -0.629925 0 254 27 --1.171400 65.057899 -2.205500 -0.296421 0.952404 0.071148 0 254 27 -0.000000 65.560898 -4.058400 -0.296421 0.952404 0.071148 0 254 27 --1.795600 65.057899 -4.806100 -0.296421 0.952404 0.071148 0 254 27 --1.795600 65.057899 -4.806100 -0.184093 0.961370 -0.204641 0 254 27 -0.000000 65.560898 -4.058400 -0.184093 0.961370 -0.204641 0 254 27 -0.000000 65.057899 -6.421400 -0.184093 0.961370 -0.204641 0 254 27 --1.171400 65.057899 -2.205500 0.000000 0.965072 0.261984 0 254 27 -1.171400 65.057899 -2.205500 0.000000 0.965072 0.261984 0 254 27 -0.000000 65.560898 -4.058400 0.000000 0.965072 0.261984 0 254 27 --0.706900 62.538601 -0.289700 -0.204667 0.142518 0.968401 0 254 27 -0.000000 62.538601 -0.140300 -0.204667 0.142518 0.968401 0 254 27 --0.672300 63.485901 -0.421800 -0.204667 0.142518 0.968401 0 254 27 --2.130500 53.628601 -1.359200 0.899990 0.017690 0.435552 164 133 56 --1.187300 53.628601 -3.164700 0.899990 0.017690 0.435552 209 100 64 --1.393700 60.597198 -3.164700 0.899990 0.017690 0.435552 254 254 254 --2.336800 60.597198 -1.072500 0.899990 0.017690 0.435552 254 254 254 -8.704300 24.905701 -6.036500 0.233777 0.158187 -0.959336 0 253 27 -7.984800 25.127701 -6.177400 0.233777 0.158187 -0.959336 0 253 27 -7.649900 27.558001 -5.856100 0.233777 0.158187 -0.959336 0 253 27 -8.503900 27.435900 -5.670300 0.233777 0.158187 -0.959336 0 253 27 -6.463600 36.223400 -3.704900 0.910800 0.108730 0.398273 9 100 160 -5.778000 35.994701 -1.773100 0.910800 0.108730 0.398273 0 231 44 -7.451900 27.210300 -3.504400 0.910800 0.108730 0.398273 18 2 248 -8.503900 27.435900 -5.670300 0.910800 0.108730 0.398273 18 0 253 -5.115000 35.782600 -2.051700 -0.272059 -0.232411 0.933793 0 241 37 -6.597900 27.332300 -3.690200 -0.272059 -0.232411 0.933793 16 16 234 -7.451900 27.210300 -3.504400 -0.272059 -0.232411 0.933793 18 2 248 -5.778000 35.994701 -1.773100 -0.272059 -0.232411 0.933793 0 231 44 -5.743400 36.019600 -3.995900 0.266707 0.266447 -0.926215 0 253 27 -6.463600 36.223400 -3.704900 0.266707 0.266447 -0.926215 0 253 27 -8.503900 27.435900 -5.670300 0.266707 0.266447 -0.926215 0 253 27 -7.649900 27.558001 -5.856100 0.266707 0.266447 -0.926215 0 253 27 -7.451900 27.210300 -3.504400 -0.285900 -0.782712 0.552832 21 0 248 -6.597900 27.332300 -3.690200 -0.285900 -0.782712 0.552832 35 1 237 -7.984800 25.127701 -6.177400 -0.285900 -0.782712 0.552832 19 0 253 -8.704300 24.905701 -6.036500 -0.285900 -0.782712 0.552832 19 0 253 -7.451900 27.210300 -3.504400 0.899158 0.007889 0.437552 18 2 248 -8.704300 24.905701 -6.036500 0.899158 0.007889 0.437552 18 0 253 -8.503900 27.435900 -5.670300 0.899158 0.007889 0.437552 18 0 253 -6.463600 36.223400 -3.704900 -0.293676 0.955783 0.015277 254 68 73 -5.743400 36.019600 -3.995900 -0.293676 0.955783 0.015277 254 68 73 -5.115000 35.782600 -2.051700 -0.293676 0.955783 0.015277 254 68 73 -5.778000 35.994701 -1.773100 -0.293676 0.955783 0.015277 254 68 73 -4.513000 55.007702 -5.909800 -0.189279 -0.709198 -0.679126 0 253 27 -4.291100 55.098900 -5.871800 -0.189279 -0.709198 -0.679126 0 253 27 -4.207800 55.799599 -6.651700 -0.189279 -0.709198 -0.679126 0 253 27 -4.871900 55.799599 -6.765400 -0.189279 -0.709198 -0.679126 0 253 27 -2.904000 62.455601 -5.700500 0.959060 0.270852 0.082723 0 253 27 -2.764700 62.455601 -4.128400 0.959060 0.270852 0.082723 0 253 27 -4.736600 55.799599 -5.153900 0.959060 0.270852 0.082723 0 253 27 -4.871900 55.799599 -6.765400 0.959060 0.270852 0.082723 0 253 27 -2.764700 62.455601 -4.128400 0.167860 -0.101350 0.980587 0 253 27 -4.072400 55.799599 -5.040200 0.167860 -0.101350 0.980587 0 253 27 -4.736600 55.799599 -5.153900 0.167860 -0.101350 0.980587 0 253 27 -2.904000 62.455601 -5.700500 -0.167781 0.107182 -0.979980 0 253 27 -4.871900 55.799599 -6.765400 -0.167781 0.107182 -0.979980 0 253 27 -4.207800 55.799599 -6.651700 -0.167781 0.107182 -0.979980 0 253 27 -4.736600 55.799599 -5.153900 0.042232 -0.727963 0.684314 254 68 73 -4.072400 55.799599 -5.040200 0.042232 -0.727963 0.684314 254 68 73 -4.291100 55.098900 -5.871800 0.042232 -0.727963 0.684314 254 68 73 -4.513000 55.007702 -5.909800 0.042232 -0.727963 0.684314 254 68 73 -4.736600 55.799599 -5.153900 0.937220 -0.339745 0.078688 0 253 27 -4.513000 55.007702 -5.909800 0.937220 -0.339745 0.078688 0 253 27 -4.871900 55.799599 -6.765400 0.937220 -0.339745 0.078688 0 253 27 -4 0 1 2 3 -4 4 5 6 7 -3 8 9 10 -4 11 12 13 14 -4 15 16 17 18 -4 19 20 21 22 -4 23 24 25 26 -4 27 28 29 30 -4 31 32 33 34 -4 35 36 37 38 -4 39 40 41 42 -4 43 44 45 46 -3 47 48 49 -4 50 51 52 53 -4 54 55 56 57 -4 58 59 60 61 -4 62 63 64 65 -4 66 67 68 69 -4 70 71 72 73 -4 74 75 76 77 -3 78 79 80 -4 81 82 83 84 -3 85 86 87 -4 88 89 90 91 -3 92 93 94 -4 95 96 97 98 -4 99 100 101 102 -4 103 104 105 106 -4 107 108 109 110 -4 111 112 113 114 -4 115 116 117 118 -4 119 120 121 122 -4 123 124 125 126 -4 127 128 129 130 -4 131 132 133 134 -4 135 136 137 138 -3 139 140 141 -3 142 143 144 -4 145 146 147 148 -4 149 150 151 152 -4 153 154 155 156 -3 157 158 159 -3 160 161 162 -4 163 164 165 166 -4 167 168 169 170 -4 171 172 173 174 -3 175 176 177 -4 178 179 180 181 -4 182 183 184 185 -3 186 187 188 -3 189 190 191 -4 192 193 194 195 -4 196 197 198 199 -4 200 201 202 203 -4 204 205 206 207 -3 208 209 210 -3 211 212 213 -3 214 215 216 -4 217 218 219 220 -4 221 222 223 224 -3 225 226 227 -4 228 229 230 231 -4 232 233 234 235 -3 236 237 238 -3 239 240 241 -3 242 243 244 -3 245 246 247 -4 248 249 250 251 -4 252 253 254 255 -4 256 257 258 259 -4 260 261 262 263 -4 264 265 266 267 -4 268 269 270 271 -4 272 273 274 275 -4 276 277 278 279 -4 280 281 282 283 -3 284 285 286 -3 287 288 289 -4 290 291 292 293 -4 294 295 296 297 -4 298 299 300 301 -3 302 303 304 -4 305 306 307 308 -4 309 310 311 312 -4 313 314 315 316 -4 317 318 319 320 -4 321 322 323 324 -4 325 326 327 328 -4 329 330 331 332 -4 333 334 335 336 -4 337 338 339 340 -4 341 342 343 344 -4 345 346 347 348 -4 349 350 351 352 -3 353 354 355 -4 356 357 358 359 -4 360 361 362 363 -3 364 365 366 -4 367 368 369 370 -4 371 372 373 374 -3 375 376 377 -4 378 379 380 381 -3 382 383 384 -4 385 386 387 388 -4 389 390 391 392 -3 393 394 395 -4 396 397 398 399 -4 400 401 402 403 -4 404 405 406 407 -4 408 409 410 411 -4 412 413 414 415 -3 416 417 418 -3 419 420 421 -3 422 423 424 -4 425 426 427 428 -4 429 430 431 432 -3 433 434 435 -3 436 437 438 -4 439 440 441 442 -4 443 444 445 446 -3 447 448 449 -3 450 451 452 -4 453 454 455 456 -3 457 458 459 -3 460 461 462 -3 463 464 465 -4 466 467 468 469 -3 470 471 472 -4 473 474 475 476 -4 477 478 479 480 -4 481 482 483 484 -4 485 486 487 488 -4 489 490 491 492 -3 493 494 495 -4 496 497 498 499 -4 500 501 502 503 -4 504 505 506 507 -4 508 509 510 511 -3 512 513 514 -4 515 516 517 518 -4 519 520 521 522 -3 523 524 525 -3 526 527 528 -3 529 530 531 -4 532 533 534 535 -4 536 537 538 539 -4 540 541 542 543 -4 544 545 546 547 -3 548 549 550 -3 551 552 553 -4 554 555 556 557 -3 558 559 560 -4 561 562 563 564 -4 565 566 567 568 -4 569 570 571 572 -3 573 574 575 -4 576 577 578 579 -4 580 581 582 583 -4 584 585 586 587 -4 588 589 590 591 -4 592 593 594 595 -4 596 597 598 599 -4 600 601 602 603 -4 604 605 606 607 -4 608 609 610 611 -3 612 613 614 -4 615 616 617 618 -4 619 620 621 622 -4 623 624 625 626 -4 627 628 629 630 -4 631 632 633 634 -4 635 636 637 638 -4 639 640 641 642 -3 643 644 645 -4 646 647 648 649 -3 650 651 652 -4 653 654 655 656 -3 657 658 659 -4 660 661 662 663 -4 664 665 666 667 -4 668 669 670 671 -4 672 673 674 675 -4 676 677 678 679 -4 680 681 682 683 -4 684 685 686 687 -4 688 689 690 691 -4 692 693 694 695 -4 696 697 698 699 -4 700 701 702 703 -3 704 705 706 -3 707 708 709 -4 710 711 712 713 -4 714 715 716 717 -4 718 719 720 721 -3 722 723 724 -3 725 726 727 -4 728 729 730 731 -4 732 733 734 735 -4 736 737 738 739 -3 740 741 742 -4 743 744 745 746 -4 747 748 749 750 -3 751 752 753 -3 754 755 756 -4 757 758 759 760 -4 761 762 763 764 -4 765 766 767 768 -4 769 770 771 772 -3 773 774 775 -3 776 777 778 -3 779 780 781 -4 782 783 784 785 -4 786 787 788 789 -3 790 791 792 -4 793 794 795 796 -4 797 798 799 800 -3 801 802 803 -3 804 805 806 -3 807 808 809 -3 810 811 812 -4 813 814 815 816 -4 817 818 819 820 -4 821 822 823 824 -4 825 826 827 828 -4 829 830 831 832 -4 833 834 835 836 -4 837 838 839 840 -4 841 842 843 844 -4 845 846 847 848 -3 849 850 851 -3 852 853 854 -4 855 856 857 858 -4 859 860 861 862 -4 863 864 865 866 -3 867 868 869 -4 870 871 872 873 -4 874 875 876 877 -4 878 879 880 881 -4 882 883 884 885 -4 886 887 888 889 -4 890 891 892 893 -4 894 895 896 897 -4 898 899 900 901 -4 902 903 904 905 -4 906 907 908 909 -4 910 911 912 913 -4 914 915 916 917 -3 918 919 920 -4 921 922 923 924 -4 925 926 927 928 -3 929 930 931 -4 932 933 934 935 -4 936 937 938 939 -3 940 941 942 -4 943 944 945 946 -3 947 948 949 -4 950 951 952 953 -4 954 955 956 957 -3 958 959 960 -4 961 962 963 964 -4 965 966 967 968 -4 969 970 971 972 -4 973 974 975 976 -4 977 978 979 980 -3 981 982 983 -3 984 985 986 -3 987 988 989 -4 990 991 992 993 -4 994 995 996 997 -3 998 999 1000 -3 1001 1002 1003 -4 1004 1005 1006 1007 -4 1008 1009 1010 1011 -3 1012 1013 1014 -3 1015 1016 1017 -4 1018 1019 1020 1021 -3 1022 1023 1024 -3 1025 1026 1027 -3 463 1028 464 -4 1029 1030 1031 1032 -3 1033 1034 1035 -4 1036 1037 1038 1039 -4 1040 1041 1042 1043 -4 1044 1045 1046 1047 -4 1048 1049 1050 1051 -4 1052 1053 1054 1055 -3 1056 1057 1058 -4 1059 1060 1061 1062 -4 1063 1064 1065 1066 -4 1067 1068 1069 1070 -4 1071 1072 1073 1074 -3 1075 1076 1077 -4 1078 1079 1080 1081 -4 1082 1083 1084 1085 -3 1086 1087 1088 -3 1089 1090 1091 -4 1092 1093 1094 1095 -4 1096 1097 1098 1099 -4 1100 1101 1102 1103 -3 1104 1105 1106 -3 1107 1108 1109 -4 1110 1111 1112 1113 -4 1114 1115 1116 1117 -4 1118 1119 1120 1121 -4 1122 1123 1124 1125 -3 1126 1127 1128 -4 1129 1130 1131 1132 -4 1133 1134 1135 1136 -4 1137 1138 1139 1140 -4 1141 1142 1143 1144 -4 1145 1146 1147 1148 -4 1149 1150 1151 1152 -3 1153 1154 1155 -4 1156 1157 1158 1159 -3 1160 1161 1162 -4 1163 1164 1165 1166 -3 1167 1168 1169 -3 1170 1171 1172 -3 1173 1174 1175 -4 1176 1177 1178 1179 -3 1180 1181 1182 -3 1183 1184 1185 -4 1186 1187 1188 1189 -4 1190 1191 1192 1193 -4 1194 1195 1196 1197 -4 1198 1199 1200 1201 -3 1202 1203 1204 -4 1205 1206 1207 1208 -4 1209 1210 1211 1212 -4 1213 1214 1215 1216 -4 1217 1218 1219 1220 -4 1221 1222 1223 1224 -4 1225 1226 1227 1228 -3 1229 1230 1231 -4 1232 1233 1234 1235 -3 1236 1237 1238 -4 1239 1240 1241 1242 -3 1243 1244 1245 -3 1246 1247 1248 -3 1249 1250 1251 -3 1252 1253 1254 -3 1255 1256 1257 -4 1258 1259 1260 1261 -4 1262 1263 1264 1265 -4 1266 1267 1268 1269 -4 1270 1271 1272 1273 -4 1274 1275 1276 1277 -4 1278 1279 1280 1281 -3 1282 1283 1284 -4 1285 1286 1287 1288 -4 1289 1290 1291 1292 -4 1293 1294 1295 1296 -3 1297 1298 1299 -3 1300 1301 1302 -4 1303 1304 1305 1306 -3 1307 1308 1309 diff --git a/src/tests/evas/meshes/ply/Normal_NoUVs_NoColors.ply b/src/tests/evas/meshes/ply/Normal_NoUVs_NoColors.ply deleted file mode 100644 index b3e1806738..0000000000 --- a/src/tests/evas/meshes/ply/Normal_NoUVs_NoColors.ply +++ /dev/null @@ -1,1679 +0,0 @@ -ply -format ascii 1.0 -comment Created by Blender 2.69 (sub 0) - www.blender.org, source file: '' -element vertex 1310 -property float x -property float y -property float z -property float nx -property float ny -property float nz -element face 356 -property list uchar uint vertex_indices -end_header --4.649800 14.945700 -8.785600 -0.021734 0.023193 -0.999495 --2.020300 14.610600 -8.278800 -0.021734 0.023193 -0.999495 --1.712600 0.024900 -9.195700 -0.021734 0.023193 -0.999495 --3.252600 0.001600 -8.591000 -0.021734 0.023193 -0.999495 --4.649800 14.945700 -8.785600 -0.983809 -0.091724 -0.153967 --3.252600 0.001600 -8.591000 -0.983809 -0.091724 -0.153967 --4.089400 2.633000 -5.031300 -0.983809 -0.091724 -0.153967 --5.308800 13.910900 -3.738700 -0.983809 -0.091724 -0.153967 --1.553600 3.059500 -4.173500 0.398905 -0.098999 0.911633 --1.766900 13.754900 -2.918700 0.398905 -0.098999 0.911633 --3.061600 3.537800 -3.461700 0.398905 -0.098999 0.911633 --1.553600 3.059500 -4.173500 0.977159 -0.002648 0.212493 --0.626000 0.031700 -8.336200 0.977159 -0.002648 0.212493 --0.971400 14.644800 -6.706400 0.977159 -0.002648 0.212493 --1.766900 13.754900 -2.918700 0.977159 -0.002648 0.212493 --5.495700 46.043098 -6.732400 -0.860977 -0.085411 -0.501422 --2.827600 38.171799 -8.088300 -0.860977 -0.085411 -0.501422 --5.919200 37.619099 -4.570300 -0.860977 -0.085411 -0.501422 --6.029500 46.188801 -3.956000 -0.860977 -0.085411 -0.501422 --4.685700 36.664101 -1.616400 -0.917535 -0.032092 0.396359 --4.298500 47.001099 -0.058900 -0.917535 -0.032092 0.396359 --6.029500 46.188801 -3.956000 -0.917535 -0.032092 0.396359 --5.919200 37.619099 -4.570300 -0.917535 -0.032092 0.396359 --6.775800 50.206501 -7.534500 -0.223809 0.028781 -0.974208 --7.252500 54.524502 -7.615000 -0.223809 0.028781 -0.974208 -0.000000 53.738098 -8.986800 -0.223809 0.028781 -0.974208 -0.000000 50.037800 -9.413700 -0.223809 0.028781 -0.974208 --7.252500 54.524502 -7.615000 -0.375359 0.901424 0.215731 --8.747800 53.770199 -7.353300 -0.375359 0.901424 0.215731 --8.184300 53.108700 -3.320400 -0.375359 0.901424 0.215731 --6.624100 53.529800 -2.653700 -0.375359 0.901424 0.215731 --9.827700 52.989700 -7.188500 -0.412168 0.895237 0.169320 --14.989100 50.565300 -7.297200 -0.412168 0.895237 0.169320 --15.636800 49.715099 -4.015700 -0.412168 0.895237 0.169320 --9.508400 52.403099 -3.672700 -0.412168 0.895237 0.169320 -0.000000 37.009800 0.550700 -0.339751 -0.089043 0.936291 -0.000000 47.287498 1.094200 -0.339751 -0.089043 0.936291 --4.298500 47.001099 -0.058900 -0.339751 -0.089043 0.936291 --4.685700 36.664101 -1.616400 -0.339751 -0.089043 0.936291 -0.000000 53.738098 -8.986800 -0.139268 0.841727 -0.521633 --7.252500 54.524502 -7.615000 -0.139268 0.841727 -0.521633 --2.321200 55.471001 -5.570800 -0.139268 0.841727 -0.521633 -0.000000 55.950600 -7.250100 -0.139268 0.841727 -0.521633 --6.624100 53.529800 -2.653700 -0.510018 -0.190129 0.838888 --7.813100 49.342701 -3.886900 -0.510018 -0.190129 0.838888 --6.029500 46.188801 -3.956000 -0.510018 -0.190129 0.838888 --3.773800 51.093601 -1.034300 -0.510018 -0.190129 0.838888 --6.029500 46.188801 -3.956000 -0.909885 0.202901 0.361857 --4.298500 47.001099 -0.058900 -0.909885 0.202901 0.361857 --3.773800 51.093601 -1.034300 -0.909885 0.202901 0.361857 -0.000000 50.880199 0.110000 -0.266804 0.255185 0.929352 --3.773800 51.093601 -1.034300 -0.266804 0.255185 0.929352 --4.298500 47.001099 -0.058900 -0.266804 0.255185 0.929352 -0.000000 47.287498 1.094200 -0.266804 0.255185 0.929352 --16.136200 50.023998 -7.546200 0.129075 0.179950 -0.975171 --14.989100 50.565300 -7.297200 0.129075 0.179950 -0.975171 --13.779500 47.417198 -7.715300 0.129075 0.179950 -0.975171 --14.885000 46.974701 -7.946000 0.129075 0.179950 -0.975171 --13.779500 47.417198 -7.715300 0.437873 -0.882573 -0.171264 --8.756500 49.321098 -7.632900 0.437873 -0.882573 -0.171264 --8.927200 49.128502 -4.128200 0.437873 -0.882573 -0.171264 --14.977100 45.689201 -4.821000 0.437873 -0.882573 -0.171264 --17.208200 49.477699 -7.512200 -0.268622 0.938905 0.215175 --22.585199 48.327702 -7.594400 -0.268622 0.938905 0.215175 --22.348700 46.932201 -2.822400 -0.268622 0.938905 0.215175 --16.810101 49.139900 -3.928800 -0.268622 0.938905 0.215175 --21.936399 43.055199 -3.733600 0.256926 -0.186034 0.948357 --16.192200 44.960400 -4.877100 0.256926 -0.186034 0.948357 --16.810101 49.139900 -3.928800 0.256926 -0.186034 0.948357 --22.348700 46.932201 -2.822400 0.256926 -0.186034 0.948357 --22.105101 44.119598 -7.074000 -0.471869 -0.161034 -0.866838 --23.337700 47.268200 -6.945000 -0.471869 -0.161034 -0.866838 --22.585199 48.327702 -7.594400 -0.471869 -0.161034 -0.866838 --21.061199 44.183601 -7.611200 -0.471869 -0.161034 -0.866838 --15.884600 46.520500 -7.855800 0.312108 -0.901546 -0.299673 --16.192200 44.960400 -4.877100 0.312108 -0.901546 -0.299673 --21.936399 43.055199 -3.733600 0.312108 -0.901546 -0.299673 --21.061199 44.183601 -7.611200 0.312108 -0.901546 -0.299673 --5.598500 31.822901 -1.405400 -0.899226 0.141575 0.413943 --7.174300 32.815300 -5.168000 -0.899226 0.141575 0.413943 --7.453900 29.910801 -4.782000 -0.899226 0.141575 0.413943 --4.970000 33.082802 -8.871300 -0.875321 0.068314 -0.478692 --5.595300 29.761600 -8.491100 -0.875321 0.068314 -0.478692 --7.453900 29.910801 -4.782000 -0.875321 0.068314 -0.478692 --7.174300 32.815300 -5.168000 -0.875321 0.068314 -0.478692 --6.827700 20.858999 -3.051400 -0.895608 -0.345701 -0.279959 --5.426000 21.341299 -8.131100 -0.895608 -0.345701 -0.279959 --6.194700 19.576300 -3.492500 -0.895608 -0.345701 -0.279959 --0.835600 22.853901 -8.203000 -0.044062 0.086408 -0.995285 --0.899900 21.410400 -8.342700 -0.044062 0.086408 -0.995285 --5.426000 21.341299 -8.131100 -0.044062 0.086408 -0.995285 --5.317800 22.936800 -8.014600 -0.044062 0.086408 -0.995285 --0.899900 21.410400 -8.342700 0.986890 0.053202 0.152371 --1.957400 20.620800 -1.217700 0.986890 0.053202 0.152371 --1.853000 19.164200 -1.385300 0.986890 0.053202 0.152371 --6.194700 19.576300 -3.492500 -0.393090 -0.299033 0.869517 --1.853000 19.164200 -1.385300 -0.393090 -0.299033 0.869517 --1.957400 20.620800 -1.217700 -0.393090 -0.299033 0.869517 --6.827700 20.858999 -3.051400 -0.393090 -0.299033 0.869517 --5.259600 15.490400 -9.599400 0.139442 0.106302 -0.984508 --5.426000 21.341299 -8.131100 0.139442 0.106302 -0.984508 --0.899900 21.410400 -8.342700 0.139442 0.106302 -0.984508 --0.294400 16.169500 -7.962700 0.139442 0.106302 -0.984508 --0.294400 16.169500 -7.962700 0.977002 0.117101 0.178197 --0.899900 21.410400 -8.342700 0.977002 0.117101 0.178197 --1.853000 19.164200 -1.385300 0.977002 0.117101 0.178197 --1.221800 14.450400 -2.004100 0.977002 0.117101 0.178197 --1.853000 19.164200 -1.385300 -0.395956 -0.119778 0.910424 --6.194700 19.576300 -3.492500 -0.395956 -0.119778 0.910424 --6.498700 14.643000 -4.000600 -0.395956 -0.119778 0.910424 --1.221800 14.450400 -2.004100 -0.395956 -0.119778 0.910424 --6.498700 14.643000 -4.000600 -0.982418 0.045709 -0.181012 --6.194700 19.576300 -3.492500 -0.982418 0.045709 -0.181012 --5.426000 21.341299 -8.131100 -0.982418 0.045709 -0.181012 --5.259600 15.490400 -9.599400 -0.982418 0.045709 -0.181012 --7.813100 49.342701 -3.886900 -0.881229 -0.394976 -0.259672 --6.775800 50.206501 -7.534500 -0.881229 -0.394976 -0.259672 --5.495700 46.043098 -6.732400 -0.881229 -0.394976 -0.259672 --6.029500 46.188801 -3.956000 -0.881229 -0.394976 -0.259672 --8.756500 49.321098 -7.632900 0.341557 -0.936397 -0.080618 --6.775800 50.206501 -7.534500 0.341557 -0.936397 -0.080618 --7.813100 49.342701 -3.886900 0.341557 -0.936397 -0.080618 --8.927200 49.128502 -4.128200 0.341557 -0.936397 -0.080618 --5.495700 46.043098 -6.732400 -0.295037 -0.218453 -0.930178 --6.775800 50.206501 -7.534500 -0.295037 -0.218453 -0.930178 -0.000000 50.037800 -9.413700 -0.295037 -0.218453 -0.930178 -0.000000 45.235802 -8.516300 -0.295037 -0.218453 -0.930178 --3.773800 51.093601 -1.034300 -0.217879 0.518058 0.827130 -0.000000 50.880199 0.110000 -0.217879 0.518058 0.827130 -0.000000 54.522099 -2.187600 -0.217879 0.518058 0.827130 --1.435700 55.057400 -2.884500 -0.217879 0.518058 0.827130 --0.163800 60.672798 0.405300 -0.878123 0.172158 0.446386 --0.596000 60.268700 -0.255900 -0.878123 0.172158 0.446386 --0.605400 59.453602 0.006800 -0.878123 0.172158 0.446386 --0.226300 59.631802 0.717000 -0.878123 0.172158 0.446386 -0.000000 59.375900 0.272700 -0.351825 0.003851 0.936058 --0.605400 59.453602 0.006800 -0.351825 0.003851 0.936058 --0.793500 58.611801 -0.022400 -0.351825 0.003851 0.936058 -0.000000 58.735298 0.237300 -0.351825 0.003851 0.936058 --1.340700 61.343498 -1.024900 -0.500896 0.173312 0.847978 --2.209500 61.230499 -1.515000 -0.500896 0.173312 0.847978 --2.225300 60.301201 -1.334400 -0.500896 0.173312 0.847978 --0.474100 61.294899 -0.607800 -0.419394 -0.893935 0.158081 --0.179900 61.274700 0.058500 -0.419394 -0.893935 0.158081 --0.785400 61.539799 -0.048800 -0.419394 -0.893935 0.158081 --0.163800 60.672798 0.405300 -0.879737 0.234636 0.413532 --0.179900 61.274700 0.058500 -0.879737 0.234636 0.413532 --0.474100 61.294899 -0.607800 -0.879737 0.234636 0.413532 --0.596000 60.268700 -0.255900 -0.879737 0.234636 0.413532 --0.785400 61.539799 -0.048800 -0.405349 0.400850 0.821591 -0.000000 62.775902 -0.355700 -0.405349 0.400850 0.821591 --1.901400 62.898899 -1.262500 -0.405349 0.400850 0.821591 --1.792100 61.563202 -0.648200 -0.405349 0.400850 0.821591 --1.901400 62.898899 -1.262500 -0.958885 0.139689 0.247034 --2.505800 61.413601 -3.333900 -0.958885 0.139689 0.247034 --2.209500 61.230499 -1.515000 -0.958885 0.139689 0.247034 --1.792100 61.563202 -0.648200 -0.958885 0.139689 0.247034 --2.071800 58.080299 -1.837600 -0.982605 0.010378 0.185418 --2.043500 58.694401 -1.722000 -0.982605 0.010378 0.185418 --2.361600 58.652599 -3.405400 -0.982605 0.010378 0.185418 --2.361600 58.652599 -3.405400 -0.835615 -0.547438 -0.045374 --1.480400 57.287800 -3.167400 -0.835615 -0.547438 -0.045374 --2.071800 58.080299 -1.837600 -0.835615 -0.547438 -0.045374 --2.361600 58.652599 -3.405400 -0.962379 -0.178153 0.205154 --2.043500 58.694401 -1.722000 -0.962379 -0.178153 0.205154 --2.225300 60.301201 -1.334400 -0.962379 -0.178153 0.205154 --2.484800 60.667999 -2.078300 -0.962379 -0.178153 0.205154 --0.596000 60.268700 -0.255900 -0.569338 0.180881 0.801958 --2.225300 60.301201 -1.334400 -0.569338 0.180881 0.801958 --0.793500 58.611801 -0.022400 -0.569338 0.180881 0.801958 --0.605400 59.453602 0.006800 -0.569338 0.180881 0.801958 --0.793500 58.611801 -0.022400 -0.424783 -0.113068 0.898207 --0.860300 57.339199 -0.345300 -0.424783 -0.113068 0.898207 -0.000000 57.320400 0.190300 -0.424783 -0.113068 0.898207 -0.000000 58.735298 0.237300 -0.424783 -0.113068 0.898207 --2.361600 58.652599 -3.405400 -0.801295 -0.555920 -0.221086 --1.507500 57.978802 -4.806700 -0.801295 -0.555920 -0.221086 --1.480400 57.287800 -3.167400 -0.801295 -0.555920 -0.221086 --1.480400 57.287800 -3.167400 -0.605736 -0.042761 0.794516 --1.435700 55.057400 -2.884500 -0.605736 -0.042761 0.794516 -0.000000 54.522099 -2.187600 -0.605736 -0.042761 0.794516 --0.509500 56.862801 -2.081200 -0.605736 -0.042761 0.794516 --1.435700 55.057400 -2.884500 -0.962522 0.132164 0.236820 --1.480400 57.287800 -3.167400 -0.962522 0.132164 0.236820 --1.507500 57.978802 -4.806700 -0.962522 0.132164 0.236820 --2.321200 55.471001 -5.570800 -0.962522 0.132164 0.236820 --5.259600 15.490400 -9.599400 0.329887 -0.177209 -0.927239 --0.294400 16.169500 -7.962700 0.329887 -0.177209 -0.927239 --2.020300 14.610600 -8.278800 0.329887 -0.177209 -0.927239 --0.294400 16.169500 -7.962700 0.923351 -0.382504 0.033356 --1.221800 14.450400 -2.004100 0.923351 -0.382504 0.033356 --0.971400 14.644800 -6.706400 0.923351 -0.382504 0.033356 --5.308800 13.910900 -3.738700 -0.281184 -0.501171 0.818391 --1.766900 13.754900 -2.918700 -0.281184 -0.501171 0.818391 --1.221800 14.450400 -2.004100 -0.281184 -0.501171 0.818391 --6.498700 14.643000 -4.000600 -0.281184 -0.501171 0.818391 --4.649800 14.945700 -8.785600 -0.465679 -0.853476 -0.233927 --5.308800 13.910900 -3.738700 -0.465679 -0.853476 -0.233927 --6.498700 14.643000 -4.000600 -0.465679 -0.853476 -0.233927 --5.259600 15.490400 -9.599400 -0.465679 -0.853476 -0.233927 --1.957400 20.620800 -1.217700 0.981627 0.066418 0.178877 --0.899900 21.410400 -8.342700 0.981627 0.066418 0.178877 --0.835600 22.853901 -8.203000 0.981627 0.066418 0.178877 --2.189200 21.987900 -1.481800 0.981627 0.066418 0.178877 --7.174300 32.815300 -5.168000 -0.882053 0.156893 -0.444261 --6.542300 35.480598 -4.902800 -0.882053 0.156893 -0.444261 --5.283200 35.952900 -7.814600 -0.882053 0.156893 -0.444261 --4.970000 33.082802 -8.871300 -0.882053 0.156893 -0.444261 --5.598500 31.822901 -1.405400 -0.892193 0.169920 0.418473 --6.542300 35.480598 -4.902800 -0.892193 0.169920 0.418473 --7.174300 32.815300 -5.168000 -0.892193 0.169920 0.418473 --4.685700 36.664101 -1.616400 -0.474113 0.127364 0.871203 --5.598500 31.822901 -1.405400 -0.474113 0.127364 0.871203 --3.798500 31.552500 -0.386300 -0.474113 0.127364 0.871203 --2.225300 60.301201 -1.334400 -0.926529 0.086891 0.366052 --2.209500 61.230499 -1.515000 -0.926529 0.086891 0.366052 --2.484800 60.667999 -2.078300 -0.926529 0.086891 0.366052 --8.927200 49.128502 -4.128200 -0.174303 -0.164506 0.970853 --7.813100 49.342701 -3.886900 -0.174303 -0.164506 0.970853 --8.184300 53.108700 -3.320400 -0.174303 -0.164506 0.970853 --9.508400 52.403099 -3.672700 -0.174303 -0.164506 0.970853 --8.184300 53.108700 -3.320400 -0.526523 0.826719 0.198265 --8.747800 53.770199 -7.353300 -0.526523 0.826719 0.198265 --9.827700 52.989700 -7.188500 -0.526523 0.826719 0.198265 --9.508400 52.403099 -3.672700 -0.526523 0.826719 0.198265 --8.747800 53.770199 -7.353300 -0.154881 -0.035505 -0.987295 --7.252500 54.524502 -7.615000 -0.154881 -0.035505 -0.987295 --6.775800 50.206501 -7.534500 -0.154881 -0.035505 -0.987295 --8.927200 49.128502 -4.128200 0.001669 -0.169906 0.985459 --9.508400 52.403099 -3.672700 0.001669 -0.169906 0.985459 --15.636800 49.715099 -4.015700 0.001669 -0.169906 0.985459 --14.977100 45.689201 -4.821000 0.001669 -0.169906 0.985459 --6.624100 53.529800 -2.653700 -0.215818 0.814400 0.538680 --3.773800 51.093601 -1.034300 -0.215818 0.814400 0.538680 --1.435700 55.057400 -2.884500 -0.215818 0.814400 0.538680 --7.252500 54.524502 -7.615000 -0.215818 0.814400 0.538680 --2.321200 55.471001 -5.570800 -0.276118 0.932071 0.234526 --7.252500 54.524502 -7.615000 -0.276118 0.932071 0.234526 --1.435700 55.057400 -2.884500 -0.276118 0.932071 0.234526 --2.209500 61.230499 -1.515000 -0.942806 0.279456 0.181716 --2.505800 61.413601 -3.333900 -0.942806 0.279456 0.181716 --2.484800 60.667999 -2.078300 -0.942806 0.279456 0.181716 --2.484800 60.667999 -2.078300 -0.998559 -0.051788 -0.014052 --2.505800 61.413601 -3.333900 -0.998559 -0.051788 -0.014052 --2.361600 58.652599 -3.405400 -0.998559 -0.051788 -0.014052 --2.209500 61.230499 -1.515000 -0.107977 -0.909631 0.401138 --1.340700 61.343498 -1.024900 -0.107977 -0.909631 0.401138 --1.792100 61.563202 -0.648200 -0.107977 -0.909631 0.401138 --3.061600 3.537800 -3.461700 0.234488 0.898953 0.369997 --3.735600 1.816900 0.228400 0.234488 0.898953 0.369997 --1.568700 1.981700 -0.627100 0.234488 0.898953 0.369997 --1.553600 3.059500 -4.173500 0.234488 0.898953 0.369997 --0.626000 0.031700 -8.336200 0.992053 0.072189 0.103052 --1.553600 3.059500 -4.173500 0.992053 0.072189 0.103052 --1.568700 1.981700 -0.627100 0.992053 0.072189 0.103052 --1.825200 -0.024100 0.601200 0.992053 0.072189 0.103052 --1.825200 -0.024100 0.601200 -0.002195 -0.999985 -0.005027 --3.769300 -0.009000 1.132900 -0.002195 -0.999985 -0.005027 --1.712600 0.024900 -9.195700 -0.002195 -0.999985 -0.005027 --0.626000 0.031700 -8.336200 -0.002195 -0.999985 -0.005027 --1.712600 0.024900 -9.195700 0.748722 0.074200 -0.658719 --2.020300 14.610600 -8.278800 0.748722 0.074200 -0.658719 --0.971400 14.644800 -6.706400 0.748722 0.074200 -0.658719 --0.626000 0.031700 -8.336200 0.748722 0.074200 -0.658719 --1.568700 1.981700 -0.627100 0.270273 0.452545 0.849798 --3.735600 1.816900 0.228400 0.270273 0.452545 0.849798 --3.769300 -0.009000 1.132900 0.270273 0.452545 0.849798 --1.825200 -0.024100 0.601200 0.270273 0.452545 0.849798 --4.089400 2.633000 -5.031300 -0.957442 -0.073711 -0.279054 --3.252600 0.001600 -8.591000 -0.957442 -0.073711 -0.279054 --5.176800 -0.025000 -0.598300 -0.957442 -0.073711 -0.279054 --5.390300 1.568200 -1.670300 -0.957442 -0.073711 -0.279054 --3.769300 -0.009000 1.132900 -0.738109 0.308147 0.600201 --3.735600 1.816900 0.228400 -0.738109 0.308147 0.600201 --5.390300 1.568200 -1.670300 -0.738109 0.308147 0.600201 --5.176800 -0.025000 -0.598300 -0.738109 0.308147 0.600201 --5.390300 1.568200 -1.670300 -0.560649 0.811720 0.163660 --3.735600 1.816900 0.228400 -0.560649 0.811720 0.163660 --3.061600 3.537800 -3.461700 -0.560649 0.811720 0.163660 --4.089400 2.633000 -5.031300 -0.560649 0.811720 0.163660 --3.061600 3.537800 -3.461700 -0.452521 -0.074303 0.888653 --1.766900 13.754900 -2.918700 -0.452521 -0.074303 0.888653 --5.308800 13.910900 -3.738700 -0.452521 -0.074303 0.888653 --4.089400 2.633000 -5.031300 -0.452521 -0.074303 0.888653 --2.020300 14.610600 -8.278800 0.001520 -0.830500 -0.557017 --4.649800 14.945700 -8.785600 0.001520 -0.830500 -0.557017 --5.259600 15.490400 -9.599400 0.001520 -0.830500 -0.557017 --2.020300 14.610600 -8.278800 0.649568 -0.634088 -0.419515 --0.294400 16.169500 -7.962700 0.649568 -0.634088 -0.419515 --0.971400 14.644800 -6.706400 0.649568 -0.634088 -0.419515 --5.426000 21.341299 -8.131100 -0.959570 0.028386 -0.280036 --6.827700 20.858999 -3.051400 -0.959570 0.028386 -0.280036 --6.824000 22.193899 -3.254300 -0.959570 0.028386 -0.280036 --5.317800 22.936800 -8.014600 -0.959570 0.028386 -0.280036 --0.845100 29.891001 -9.491500 -0.126028 -0.127868 -0.983751 --0.835600 22.853901 -8.203000 -0.126028 -0.127868 -0.983751 --5.317800 22.936800 -8.014600 -0.126028 -0.127868 -0.983751 --5.595300 29.761600 -8.491100 -0.126028 -0.127868 -0.983751 --1.957400 20.620800 -1.217700 -0.346283 0.131313 0.928895 --2.189200 21.987900 -1.481800 -0.346283 0.131313 0.928895 --6.824000 22.193899 -3.254300 -0.346283 0.131313 0.928895 --6.827700 20.858999 -3.051400 -0.346283 0.131313 0.928895 --0.605400 59.453602 0.006800 -0.276378 -0.886938 0.370075 -0.000000 59.375900 0.272700 -0.276378 -0.886938 0.370075 --0.226300 59.631802 0.717000 -0.276378 -0.886938 0.370075 --21.936399 43.055199 -3.733600 -0.245050 -0.199318 0.948801 --22.348700 46.932201 -2.822400 -0.245050 -0.199318 0.948801 --23.323000 46.228001 -3.425200 -0.245050 -0.199318 0.948801 --23.265499 44.290199 -3.614200 -0.245050 -0.199318 0.948801 --22.105101 44.119598 -7.074000 -0.680722 -0.210597 -0.701617 --23.273100 44.479099 -6.170500 -0.680722 -0.210597 -0.701617 --23.881300 46.267799 -5.995500 -0.680722 -0.210597 -0.701617 --23.337700 47.268200 -6.945000 -0.680722 -0.210597 -0.701617 --22.348700 46.932201 -2.822400 -0.710630 0.673907 0.202126 --23.337700 47.268200 -6.945000 -0.710630 0.673907 0.202126 --23.881300 46.267799 -5.995500 -0.710630 0.673907 0.202126 --23.323000 46.228001 -3.425200 -0.710630 0.673907 0.202126 --21.936399 43.055199 -3.733600 -0.575702 -0.803125 -0.153486 --23.265499 44.290199 -3.614200 -0.575702 -0.803125 -0.153486 --23.273100 44.479099 -6.170500 -0.575702 -0.803125 -0.153486 --22.105101 44.119598 -7.074000 -0.575702 -0.803125 -0.153486 --23.323000 46.228001 -3.425200 0.234519 0.052147 0.970712 --24.935400 45.742901 -3.288800 0.234519 0.052147 0.970712 --24.446100 44.099098 -3.039500 0.234519 0.052147 0.970712 --23.265499 44.290199 -3.614200 0.234519 0.052147 0.970712 --23.273100 44.479099 -6.170500 -0.051663 0.047611 -0.997529 --25.718901 44.407902 -5.989100 -0.051663 0.047611 -0.997529 --25.982700 45.641201 -5.974700 -0.051663 0.047611 -0.997529 --23.881300 46.267799 -5.995500 -0.051663 0.047611 -0.997529 --23.881300 46.267799 -5.995500 -0.283035 0.956157 0.075198 --25.982700 45.641201 -5.974700 -0.283035 0.956157 0.075198 --24.935400 45.742901 -3.288800 -0.283035 0.956157 0.075198 --23.323000 46.228001 -3.425200 -0.283035 0.956157 0.075198 --23.265499 44.290199 -3.614200 0.050680 -0.993534 -0.101596 --24.446100 44.099098 -3.039500 0.050680 -0.993534 -0.101596 --25.718901 44.407902 -5.989100 0.050680 -0.993534 -0.101596 --23.273100 44.479099 -6.170500 0.050680 -0.993534 -0.101596 --3.798500 31.552500 -0.386300 -0.302820 0.047342 0.951871 -0.000000 31.552500 0.128500 -0.302820 0.047342 0.951871 -0.000000 37.009800 0.550700 -0.302820 0.047342 0.951871 --4.685700 36.664101 -1.616400 -0.302820 0.047342 0.951871 --27.058001 43.733101 -1.471100 -0.612973 -0.035197 0.789319 --28.100901 44.177299 -2.470000 -0.612973 -0.035197 0.789319 --27.637899 42.321201 -1.984400 -0.612973 -0.035197 0.789319 --26.775499 43.007000 -1.492900 -0.612973 -0.035197 0.789319 --27.102699 45.320202 -5.735100 -0.288380 -0.175341 -0.941325 --25.982700 45.641201 -5.974700 -0.288380 -0.175341 -0.941325 --25.718901 44.407902 -5.989100 -0.288380 -0.175341 -0.941325 --26.246300 42.901402 -5.383600 -0.288380 -0.175341 -0.941325 --24.935400 45.742901 -3.288800 -0.215944 0.976143 0.022647 --25.982700 45.641201 -5.974700 -0.215944 0.976143 0.022647 --27.102699 45.320202 -5.735100 -0.215944 0.976143 0.022647 --26.753901 45.398300 -2.858600 -0.215944 0.976143 0.022647 --24.446100 44.099098 -3.039500 0.806467 -0.440747 -0.394147 --26.246300 42.901402 -5.383600 0.806467 -0.440747 -0.394147 --25.718901 44.407902 -5.989100 0.806467 -0.440747 -0.394147 --28.380600 42.330502 -3.056600 -0.840529 -0.044209 0.539960 --27.637899 42.321201 -1.984400 -0.840529 -0.044209 0.539960 --28.100901 44.177299 -2.470000 -0.840529 -0.044209 0.539960 --28.697901 44.238201 -3.477500 -0.840529 -0.044209 0.539960 --28.380600 42.330502 -3.056600 -0.979149 -0.175223 -0.102788 --28.697901 44.238201 -3.477500 -0.979149 -0.175223 -0.102788 --28.543800 44.178001 -4.651400 -0.979149 -0.175223 -0.102788 --28.292801 42.543098 -4.446800 -0.979149 -0.175223 -0.102788 --26.753901 45.398300 -2.858600 -0.560189 0.737837 0.376544 --28.697901 44.238201 -3.477500 -0.560189 0.737837 0.376544 --28.100901 44.177299 -2.470000 -0.560189 0.737837 0.376544 --24.935400 45.742901 -3.288800 0.484106 0.321222 0.813915 --26.117701 44.487900 -2.198700 0.484106 0.321222 0.813915 --25.587200 43.557701 -2.038700 0.484106 0.321222 0.813915 --24.446100 44.099098 -3.039500 0.484106 0.321222 0.813915 --24.446100 44.099098 -3.039500 0.765721 -0.642695 -0.024780 --25.587200 43.557701 -2.038700 0.765721 -0.642695 -0.024780 --25.491899 42.827301 -2.370100 0.765721 -0.642695 -0.024780 --26.246300 42.901402 -5.383600 0.765721 -0.642695 -0.024780 --26.753901 45.398300 -2.858600 0.068715 0.616533 0.784324 --26.117701 44.487900 -2.198700 0.068715 0.616533 0.784324 --24.935400 45.742901 -3.288800 0.068715 0.616533 0.784324 -0.000000 31.552500 0.128500 -0.069551 -0.031626 0.997077 --3.798500 31.552500 -0.386300 -0.069551 -0.031626 0.997077 --3.463700 23.872801 -0.356700 -0.069551 -0.031626 0.997077 -0.000000 24.132099 -0.356700 -0.069551 -0.031626 0.997077 --2.225300 60.301201 -1.334400 -0.789816 -0.226827 0.569860 --2.043500 58.694401 -1.722000 -0.789816 -0.226827 0.569860 --0.793500 58.611801 -0.022400 -0.789816 -0.226827 0.569860 --0.793500 58.611801 -0.022400 -0.800106 -0.097243 0.591924 --2.043500 58.694401 -1.722000 -0.800106 -0.097243 0.591924 --2.071800 58.080299 -1.837600 -0.800106 -0.097243 0.591924 --0.860300 57.339199 -0.345300 -0.800106 -0.097243 0.591924 --2.071800 58.080299 -1.837600 -0.594038 -0.791272 0.144939 --1.480400 57.287800 -3.167400 -0.594038 -0.791272 0.144939 --0.509500 56.862801 -2.081200 -0.594038 -0.791272 0.144939 --0.860300 57.339199 -0.345300 -0.594038 -0.791272 0.144939 --0.179900 61.274700 0.058500 -0.090663 0.188705 0.977840 -0.000000 61.912998 -0.048000 -0.090663 0.188705 0.977840 --0.785400 61.539799 -0.048800 -0.090663 0.188705 0.977840 --15.884600 46.520500 -7.855800 -0.098387 0.080586 -0.991880 --17.208200 49.477699 -7.512200 -0.098387 0.080586 -0.991880 --16.136200 50.023998 -7.546200 -0.098387 0.080586 -0.991880 --14.885000 46.974701 -7.946000 -0.098387 0.080586 -0.991880 --15.636800 49.715099 -4.015700 -0.436830 0.889212 0.135946 --16.136200 50.023998 -7.546200 -0.436830 0.889212 0.135946 --17.208200 49.477699 -7.512200 -0.436830 0.889212 0.135946 --16.810101 49.139900 -3.928800 -0.436830 0.889212 0.135946 --16.192200 44.960400 -4.877100 0.435886 -0.826304 -0.356686 --15.884600 46.520500 -7.855800 0.435886 -0.826304 -0.356686 --14.885000 46.974701 -7.946000 0.435886 -0.826304 -0.356686 --14.977100 45.689201 -4.821000 0.435886 -0.826304 -0.356686 --16.810101 49.139900 -3.928800 0.116417 -0.190205 0.974818 --16.192200 44.960400 -4.877100 0.116417 -0.190205 0.974818 --14.977100 45.689201 -4.821000 0.116417 -0.190205 0.974818 --15.636800 49.715099 -4.015700 0.116417 -0.190205 0.974818 --13.779500 47.417198 -7.715300 -0.030432 0.115440 -0.992848 --14.989100 50.565300 -7.297200 -0.030432 0.115440 -0.992848 --9.827700 52.989700 -7.188500 -0.030432 0.115440 -0.992848 --8.756500 49.321098 -7.632900 -0.030432 0.115440 -0.992848 --15.636800 49.715099 -4.015700 -0.447311 0.883265 0.140554 --14.989100 50.565300 -7.297200 -0.447311 0.883265 0.140554 --16.136200 50.023998 -7.546200 -0.447311 0.883265 0.140554 --13.779500 47.417198 -7.715300 0.409629 -0.847844 -0.336697 --14.977100 45.689201 -4.821000 0.409629 -0.847844 -0.336697 --14.885000 46.974701 -7.946000 0.409629 -0.847844 -0.336697 --0.971400 14.644800 -6.706400 0.777065 -0.629233 0.015366 --1.221800 14.450400 -2.004100 0.777065 -0.629233 0.015366 --1.766900 13.754900 -2.918700 0.777065 -0.629233 0.015366 --26.117701 44.487900 -2.198700 0.374471 0.258120 0.890587 --27.058001 43.733101 -1.471100 0.374471 0.258120 0.890587 --26.775499 43.007000 -1.492900 0.374471 0.258120 0.890587 --25.587200 43.557701 -2.038700 0.374471 0.258120 0.890587 --25.587200 43.557701 -2.038700 0.386633 -0.610879 0.690899 --26.775499 43.007000 -1.492900 0.386633 -0.610879 0.690899 --27.637899 42.321201 -1.984400 0.386633 -0.610879 0.690899 --25.491899 42.827301 -2.370100 0.386633 -0.610879 0.690899 --26.117701 44.487900 -2.198700 -0.202601 0.798645 0.566673 --28.100901 44.177299 -2.470000 -0.202601 0.798645 0.566673 --27.058001 43.733101 -1.471100 -0.202601 0.798645 0.566673 --8.184300 53.108700 -3.320400 -0.347207 -0.172872 0.921717 --7.813100 49.342701 -3.886900 -0.347207 -0.172872 0.921717 --6.624100 53.529800 -2.653700 -0.347207 -0.172872 0.921717 --8.747800 53.770199 -7.353300 -0.055764 0.062731 -0.996471 --6.775800 50.206501 -7.534500 -0.055764 0.062731 -0.996471 --8.756500 49.321098 -7.632900 -0.055764 0.062731 -0.996471 --9.827700 52.989700 -7.188500 -0.055764 0.062731 -0.996471 --28.543800 44.178001 -4.651400 -0.562493 0.826801 -0.001192 --28.697901 44.238201 -3.477500 -0.562493 0.826801 -0.001192 --26.753901 45.398300 -2.858600 -0.562493 0.826801 -0.001192 --27.102699 45.320202 -5.735100 -0.562493 0.826801 -0.001192 --26.246300 42.901402 -5.383600 0.106461 -0.983873 -0.143736 --28.380600 42.330502 -3.056600 0.106461 -0.983873 -0.143736 --28.292801 42.543098 -4.446800 0.106461 -0.983873 -0.143736 --28.100901 44.177299 -2.470000 -0.192584 0.484112 0.853550 --26.117701 44.487900 -2.198700 -0.192584 0.484112 0.853550 --26.753901 45.398300 -2.858600 -0.192584 0.484112 0.853550 --1.712600 0.024900 -9.195700 0.013475 -0.999909 -0.000374 --3.769300 -0.009000 1.132900 0.013475 -0.999909 -0.000374 --5.176800 -0.025000 -0.598300 0.013475 -0.999909 -0.000374 --3.252600 0.001600 -8.591000 0.013475 -0.999909 -0.000374 -0.000000 61.912998 -0.048000 -0.158526 0.331625 0.929997 -0.000000 62.775902 -0.355700 -0.158526 0.331625 0.929997 --0.785400 61.539799 -0.048800 -0.158526 0.331625 0.929997 --0.340300 31.400700 -9.922000 0.943854 -0.327649 -0.042263 --0.425600 30.069099 -1.503600 0.943854 -0.327649 -0.042263 --0.845100 29.891001 -9.491500 0.943854 -0.327649 -0.042263 -0.000000 54.522099 -2.187600 0.000000 -0.045410 0.998968 -0.000000 56.862801 -2.081200 0.000000 -0.045410 0.998968 --0.509500 56.862801 -2.081200 0.000000 -0.045410 0.998968 --0.509500 56.862801 -2.081200 -0.098448 -0.971038 0.217700 -0.000000 56.862801 -2.081200 -0.098448 -0.971038 0.217700 -0.000000 57.320400 0.190300 -0.098448 -0.971038 0.217700 --0.860300 57.339199 -0.345300 -0.098448 -0.971038 0.217700 --5.598500 31.822901 -1.405400 -0.881296 0.021519 0.472075 --7.453900 29.910801 -4.782000 -0.881296 0.021519 0.472075 --6.824000 22.193899 -3.254300 -0.881296 0.021519 0.472075 --6.824000 22.193899 -3.254300 -0.921164 -0.108973 -0.373607 --7.453900 29.910801 -4.782000 -0.921164 -0.108973 -0.373607 --5.595300 29.761600 -8.491100 -0.921164 -0.108973 -0.373607 --5.317800 22.936800 -8.014600 -0.921164 -0.108973 -0.373607 --3.798500 31.552500 -0.386300 -0.402805 -0.146650 0.903461 --5.598500 31.822901 -1.405400 -0.402805 -0.146650 0.903461 --6.824000 22.193899 -3.254300 -0.402805 -0.146650 0.903461 --2.189200 21.987900 -1.481800 -0.402805 -0.146650 0.903461 --0.340300 31.400700 -9.922000 -0.229486 -0.108632 -0.967231 --0.845100 29.891001 -9.491500 -0.229486 -0.108632 -0.967231 --5.595300 29.761600 -8.491100 -0.229486 -0.108632 -0.967231 --4.970000 33.082802 -8.871300 -0.229486 -0.108632 -0.967231 --0.835600 22.853901 -8.203000 0.992234 -0.110109 0.057862 --0.845100 29.891001 -9.491500 0.992234 -0.110109 0.057862 --0.425600 30.069099 -1.503600 0.992234 -0.110109 0.057862 --2.189200 21.987900 -1.481800 0.992234 -0.110109 0.057862 --2.162800 35.743500 -9.599900 -0.324262 0.084100 -0.942221 --0.340300 31.400700 -9.922000 -0.324262 0.084100 -0.942221 --4.970000 33.082802 -8.871300 -0.324262 0.084100 -0.942221 --5.283200 35.952900 -7.814600 -0.324262 0.084100 -0.942221 --5.283200 35.952900 -7.814600 -0.889642 0.311183 -0.334218 --6.542300 35.480598 -4.902800 -0.889642 0.311183 -0.334218 --5.919200 37.619099 -4.570300 -0.889642 0.311183 -0.334218 --5.919200 37.619099 -4.570300 -0.882633 0.186716 0.431389 --6.542300 35.480598 -4.902800 -0.882633 0.186716 0.431389 --5.598500 31.822901 -1.405400 -0.882633 0.186716 0.431389 --4.685700 36.664101 -1.616400 -0.882633 0.186716 0.431389 --0.474100 61.294899 -0.607800 -0.490764 0.255871 0.832875 --1.340700 61.343498 -1.024900 -0.490764 0.255871 0.832875 --2.225300 60.301201 -1.334400 -0.490764 0.255871 0.832875 --0.596000 60.268700 -0.255900 -0.490764 0.255871 0.832875 --1.340700 61.343498 -1.024900 -0.199083 -0.932669 0.300824 --0.474100 61.294899 -0.607800 -0.199083 -0.932669 0.300824 --0.785400 61.539799 -0.048800 -0.199083 -0.932669 0.300824 --1.792100 61.563202 -0.648200 -0.199083 -0.932669 0.300824 -0.000000 45.235802 -8.516300 -0.205813 0.023108 -0.978318 -0.000000 38.221600 -8.073300 -0.205813 0.023108 -0.978318 --2.827600 38.171799 -8.088300 -0.205813 0.023108 -0.978318 --5.495700 46.043098 -6.732400 -0.205813 0.023108 -0.978318 --0.425600 30.069099 -1.503600 0.289736 -0.060654 0.955183 --3.798500 31.552500 -0.386300 0.289736 -0.060654 0.955183 --2.189200 21.987900 -1.481800 0.289736 -0.060654 0.955183 -0.000000 31.547001 -9.939100 0.347255 -0.926523 -0.144807 -0.000000 30.215401 -1.522000 0.347255 -0.926523 -0.144807 --0.425600 30.069099 -1.503600 0.347255 -0.926523 -0.144807 --0.340300 31.400700 -9.922000 0.347255 -0.926523 -0.144807 --21.061199 44.183601 -7.611200 -0.028361 0.039319 -0.998824 --22.585199 48.327702 -7.594400 -0.028361 0.039319 -0.998824 --17.208200 49.477699 -7.512200 -0.028361 0.039319 -0.998824 --15.884600 46.520500 -7.855800 -0.028361 0.039319 -0.998824 --22.348700 46.932201 -2.822400 -0.723103 0.652497 0.226650 --22.585199 48.327702 -7.594400 -0.723103 0.652497 0.226650 --23.337700 47.268200 -6.945000 -0.723103 0.652497 0.226650 --21.061199 44.183601 -7.611200 -0.095048 -0.949863 -0.297868 --21.936399 43.055199 -3.733600 -0.095048 -0.949863 -0.297868 --22.105101 44.119598 -7.074000 -0.095048 -0.949863 -0.297868 -0.000000 59.375900 0.272700 0.000000 -0.866545 0.499100 -0.226300 59.631802 0.717000 0.000000 -0.866545 0.499100 --0.226300 59.631802 0.717000 0.000000 -0.866545 0.499100 --0.163800 60.672798 0.405300 0.000000 0.286842 0.957978 --0.226300 59.631802 0.717000 0.000000 0.286842 0.957978 -0.226300 59.631802 0.717000 0.000000 0.286842 0.957978 -0.163800 60.672798 0.405300 0.000000 0.286842 0.957978 --0.340300 31.400700 -9.922000 -0.012671 0.074070 -0.997173 --2.162800 35.743500 -9.599900 -0.012671 0.074070 -0.997173 -0.000000 35.795200 -9.599900 -0.012671 0.074070 -0.997173 -0.000000 31.547001 -9.939100 -0.012671 0.074070 -0.997173 --5.919200 37.619099 -4.570300 -0.561685 0.544798 -0.622660 --2.827600 38.171799 -8.088300 -0.561685 0.544798 -0.622660 --2.162800 35.743500 -9.599900 -0.561685 0.544798 -0.622660 --5.283200 35.952900 -7.814600 -0.561685 0.544798 -0.622660 --28.543800 44.178001 -4.651400 -0.410462 -0.233070 -0.881589 --27.102699 45.320202 -5.735100 -0.410462 -0.233070 -0.881589 --26.246300 42.901402 -5.383600 -0.410462 -0.233070 -0.881589 --28.292801 42.543098 -4.446800 -0.410462 -0.233070 -0.881589 --25.491899 42.827301 -2.370100 0.201709 -0.968181 -0.148119 --27.637899 42.321201 -1.984400 0.201709 -0.968181 -0.148119 --28.380600 42.330502 -3.056600 0.201709 -0.968181 -0.148119 --26.246300 42.901402 -5.383600 0.185319 -0.980147 -0.070494 --25.491899 42.827301 -2.370100 0.185319 -0.980147 -0.070494 --28.380600 42.330502 -3.056600 0.185319 -0.980147 -0.070494 --0.179900 61.274700 0.058500 0.000000 0.499235 0.866467 --0.163800 60.672798 0.405300 0.000000 0.499235 0.866467 -0.163800 60.672798 0.405300 0.000000 0.499235 0.866467 -0.179900 61.274700 0.058500 0.000000 0.499235 0.866467 -0.000000 61.912998 -0.048000 0.000000 0.164575 0.986365 --0.179900 61.274700 0.058500 0.000000 0.164575 0.986365 -0.179900 61.274700 0.058500 0.000000 0.164575 0.986365 --2.162800 35.743500 -9.599900 -0.008224 0.529675 -0.848161 --2.827600 38.171799 -8.088300 -0.008224 0.529675 -0.848161 -0.000000 38.221600 -8.073300 -0.008224 0.529675 -0.848161 -0.000000 35.795200 -9.599900 -0.008224 0.529675 -0.848161 -4.620900 14.945700 -8.516100 0.163464 0.013069 -0.986463 -3.252600 0.001600 -8.591000 0.163464 0.013069 -0.986463 -1.712600 0.024900 -9.195700 0.163464 0.013069 -0.986463 -1.456400 14.610600 -8.695100 0.163464 0.013069 -0.986463 -4.089400 2.633000 -5.031300 0.982688 -0.088487 -0.162770 -3.252600 0.001600 -8.591000 0.982688 -0.088487 -0.162770 -4.620900 14.945700 -8.516100 0.982688 -0.088487 -0.162770 -5.308800 13.910900 -3.738700 0.982688 -0.088487 -0.162770 -1.553600 3.059500 -4.173500 -0.398905 -0.098999 0.911633 -3.061600 3.537800 -3.461700 -0.398905 -0.098999 0.911633 -1.766900 13.754900 -2.918700 -0.398905 -0.098999 0.911633 -1.553600 3.059500 -4.173500 -0.983093 0.009545 0.182857 -1.766900 13.754900 -2.918700 -0.983093 0.009545 0.182857 -1.239800 14.644800 -6.465300 -0.983093 0.009545 0.182857 -0.626000 0.031700 -8.336200 -0.983093 0.009545 0.182857 -5.495700 46.043098 -6.732400 0.860977 -0.085411 -0.501422 -6.029500 46.188801 -3.956000 0.860977 -0.085411 -0.501422 -5.919200 37.619099 -4.570300 0.860977 -0.085411 -0.501422 -2.827600 38.171799 -8.088300 0.860977 -0.085411 -0.501422 -4.685700 36.664101 -1.616400 0.917535 -0.032092 0.396359 -5.919200 37.619099 -4.570300 0.917535 -0.032092 0.396359 -6.029500 46.188801 -3.956000 0.917535 -0.032092 0.396359 -4.298500 47.001099 -0.058900 0.917535 -0.032092 0.396359 -6.775800 50.206501 -7.534500 0.223809 0.028781 -0.974208 -0.000000 50.037800 -9.413700 0.223809 0.028781 -0.974208 -0.000000 53.738098 -8.986800 0.223809 0.028781 -0.974208 -7.252500 54.524502 -7.615000 0.223809 0.028781 -0.974208 -7.252500 54.524502 -7.615000 0.375359 0.901424 0.215731 -6.624100 53.529800 -2.653700 0.375359 0.901424 0.215731 -8.184300 53.108700 -3.320400 0.375359 0.901424 0.215731 -8.747800 53.770199 -7.353300 0.375359 0.901424 0.215731 -9.827700 52.989700 -7.188500 0.412168 0.895237 0.169320 -9.508400 52.403099 -3.672700 0.412168 0.895237 0.169320 -15.636800 49.715099 -4.015700 0.412168 0.895237 0.169320 -14.989100 50.565300 -7.297200 0.412168 0.895237 0.169320 -0.000000 37.009800 0.550700 0.339751 -0.089043 0.936291 -4.685700 36.664101 -1.616400 0.339751 -0.089043 0.936291 -4.298500 47.001099 -0.058900 0.339751 -0.089043 0.936291 -0.000000 47.287498 1.094200 0.339751 -0.089043 0.936291 -0.000000 53.738098 -8.986800 0.139268 0.841727 -0.521633 -0.000000 55.950600 -7.250100 0.139268 0.841727 -0.521633 -2.321200 55.471001 -5.570800 0.139268 0.841727 -0.521633 -7.252500 54.524502 -7.615000 0.139268 0.841727 -0.521633 -3.773800 51.093601 -1.034300 0.772400 -0.022870 0.634725 -4.298500 47.001099 -0.058900 0.772400 -0.022870 0.634725 -6.029500 46.188801 -3.956000 0.772400 -0.022870 0.634725 -6.624100 53.529800 -2.653700 0.772400 -0.022870 0.634725 -6.624100 53.529800 -2.653700 0.299992 -0.190133 0.934802 -6.029500 46.188801 -3.956000 0.299992 -0.190133 0.934802 -7.813100 49.342701 -3.886900 0.299992 -0.190133 0.934802 -0.000000 50.880199 0.110000 0.266804 0.255185 0.929352 -0.000000 47.287498 1.094200 0.266804 0.255185 0.929352 -4.298500 47.001099 -0.058900 0.266804 0.255185 0.929352 -3.773800 51.093601 -1.034300 0.266804 0.255185 0.929352 -16.136200 50.023998 -7.546200 -0.129075 0.179950 -0.975171 -14.885000 46.974701 -7.946000 -0.129075 0.179950 -0.975171 -13.779500 47.417198 -7.715300 -0.129075 0.179950 -0.975171 -14.989100 50.565300 -7.297200 -0.129075 0.179950 -0.975171 -13.779500 47.417198 -7.715300 -0.437873 -0.882573 -0.171264 -14.977100 45.689201 -4.821000 -0.437873 -0.882573 -0.171264 -8.927200 49.128502 -4.128200 -0.437873 -0.882573 -0.171264 -8.756500 49.321098 -7.632900 -0.437873 -0.882573 -0.171264 -17.208200 49.477699 -7.512200 0.268622 0.938905 0.215175 -16.810101 49.139900 -3.928800 0.268622 0.938905 0.215175 -22.348700 46.932201 -2.822400 0.268622 0.938905 0.215175 -22.585199 48.327702 -7.594400 0.268622 0.938905 0.215175 -21.936399 43.055199 -3.733600 -0.256926 -0.186034 0.948357 -22.348700 46.932201 -2.822400 -0.256926 -0.186034 0.948357 -16.810101 49.139900 -3.928800 -0.256926 -0.186034 0.948357 -16.192200 44.960400 -4.877100 -0.256926 -0.186034 0.948357 -22.105101 44.119598 -7.074000 0.471869 -0.161034 -0.866838 -21.061199 44.183601 -7.611200 0.471869 -0.161034 -0.866838 -22.585199 48.327702 -7.594400 0.471869 -0.161034 -0.866838 -23.337700 47.268200 -6.945000 0.471869 -0.161034 -0.866838 -15.884600 46.520500 -7.855800 -0.312108 -0.901546 -0.299673 -21.061199 44.183601 -7.611200 -0.312108 -0.901546 -0.299673 -21.936399 43.055199 -3.733600 -0.312108 -0.901546 -0.299673 -16.192200 44.960400 -4.877100 -0.312108 -0.901546 -0.299673 -5.598500 31.822901 -1.404300 0.899204 0.141743 0.413933 -7.453900 29.910801 -4.780100 0.899204 0.141743 0.413933 -7.174300 32.815300 -5.167300 0.899204 0.141743 0.413933 -4.970000 33.082802 -8.871900 0.875445 0.068330 -0.478463 -7.174300 32.815300 -5.167300 0.875445 0.068330 -0.478463 -7.453900 29.910801 -4.780100 0.875445 0.068330 -0.478463 -5.595300 29.761600 -8.492500 0.875445 0.068330 -0.478463 -6.827700 20.858999 -3.044800 0.895156 -0.347215 -0.279532 -6.194700 19.576300 -3.478600 0.895156 -0.347215 -0.279532 -5.426000 21.341299 -8.132600 0.895156 -0.347215 -0.279532 -0.835600 22.853901 -8.210700 0.045309 0.086115 -0.995254 -5.317800 22.936800 -8.016200 0.045309 0.086115 -0.995254 -5.426000 21.341299 -8.132600 0.045309 0.086115 -0.995254 -0.899900 21.410400 -8.349400 0.045309 0.086115 -0.995254 -0.899900 21.410400 -8.349400 -0.986876 0.054006 0.152183 -1.853000 19.164200 -1.371600 -0.986876 0.054006 0.152183 -1.957400 20.620800 -1.211500 -0.986876 0.054006 0.152183 -6.194700 19.576300 -3.478600 0.393316 -0.294694 0.870895 -6.827700 20.858999 -3.044800 0.393316 -0.294694 0.870895 -1.957400 20.620800 -1.211500 0.393316 -0.294694 0.870895 -1.853000 19.164200 -1.371600 0.393316 -0.294694 0.870895 -5.117200 15.490400 -9.679700 -0.013076 0.210350 -0.977539 -0.134100 16.169500 -9.174700 -0.013076 0.210350 -0.977539 -0.899900 21.410400 -8.349400 -0.013076 0.210350 -0.977539 -5.426000 21.341299 -8.132600 -0.013076 0.210350 -0.977539 -0.134100 16.169500 -9.174700 -0.979250 0.051054 0.196120 -1.716700 14.450400 -2.459200 -0.979250 0.051054 0.196120 -1.853000 19.164200 -1.371600 -0.979250 0.051054 0.196120 -0.899900 21.410400 -8.349400 -0.979250 0.051054 0.196120 -1.853000 19.164200 -1.371600 0.369977 -0.140579 0.918343 -1.716700 14.450400 -2.459200 0.369977 -0.140579 0.918343 -6.069200 14.643000 -3.762300 0.369977 -0.140579 0.918343 -6.194700 19.576300 -3.478600 0.369977 -0.140579 0.918343 -6.069200 14.643000 -3.762300 0.986467 -0.011966 -0.163524 -5.117200 15.490400 -9.679700 0.986467 -0.011966 -0.163524 -5.426000 21.341299 -8.132600 0.986467 -0.011966 -0.163524 -6.194700 19.576300 -3.478600 0.986467 -0.011966 -0.163524 -7.813100 49.342701 -3.886900 0.881229 -0.394976 -0.259672 -6.029500 46.188801 -3.956000 0.881229 -0.394976 -0.259672 -5.495700 46.043098 -6.732400 0.881229 -0.394976 -0.259672 -6.775800 50.206501 -7.534500 0.881229 -0.394976 -0.259672 -8.756500 49.321098 -7.632900 -0.341557 -0.936397 -0.080618 -8.927200 49.128502 -4.128200 -0.341557 -0.936397 -0.080618 -7.813100 49.342701 -3.886900 -0.341557 -0.936397 -0.080618 -6.775800 50.206501 -7.534500 -0.341557 -0.936397 -0.080618 -5.495700 46.043098 -6.732400 0.295037 -0.218453 -0.930178 -0.000000 45.235802 -8.516300 0.295037 -0.218453 -0.930178 -0.000000 50.037800 -9.413700 0.295037 -0.218453 -0.930178 -6.775800 50.206501 -7.534500 0.295037 -0.218453 -0.930178 -3.773800 51.093601 -1.034300 0.217879 0.518058 0.827130 -1.435700 55.057400 -2.884500 0.217879 0.518058 0.827130 -0.000000 54.522099 -2.187600 0.217879 0.518058 0.827130 -0.000000 50.880199 0.110000 0.217879 0.518058 0.827130 -0.163800 60.672798 0.405300 0.878123 0.172158 0.446386 -0.226300 59.631802 0.717000 0.878123 0.172158 0.446386 -0.605400 59.453602 0.006800 0.878123 0.172158 0.446386 -0.596000 60.268700 -0.255900 0.878123 0.172158 0.446386 -0.000000 59.375900 0.272700 0.351825 0.003851 0.936058 -0.000000 58.735298 0.237300 0.351825 0.003851 0.936058 -0.793500 58.611801 -0.022400 0.351825 0.003851 0.936058 -0.605400 59.453602 0.006800 0.351825 0.003851 0.936058 -1.340700 61.343498 -1.024900 0.500896 0.173312 0.847978 -2.225300 60.301201 -1.334400 0.500896 0.173312 0.847978 -2.209500 61.230499 -1.515000 0.500896 0.173312 0.847978 -0.474100 61.294899 -0.607800 0.419394 -0.893935 0.158081 -0.785400 61.539799 -0.048800 0.419394 -0.893935 0.158081 -0.179900 61.274700 0.058500 0.419394 -0.893935 0.158081 -0.163800 60.672798 0.405300 0.879737 0.234636 0.413532 -0.596000 60.268700 -0.255900 0.879737 0.234636 0.413532 -0.474100 61.294899 -0.607800 0.879737 0.234636 0.413532 -0.179900 61.274700 0.058500 0.879737 0.234636 0.413532 -0.785400 61.539799 -0.048800 0.405349 0.400850 0.821591 -1.792100 61.563202 -0.648200 0.405349 0.400850 0.821591 -1.901400 62.898899 -1.262500 0.405349 0.400850 0.821591 -0.000000 62.775902 -0.355700 0.405349 0.400850 0.821591 -1.901400 62.898899 -1.262500 0.958885 0.139689 0.247034 -1.792100 61.563202 -0.648200 0.958885 0.139689 0.247034 -2.209500 61.230499 -1.515000 0.958885 0.139689 0.247034 -2.505800 61.413601 -3.333900 0.958885 0.139689 0.247034 -2.071800 58.080299 -1.837600 0.982605 0.010378 0.185418 -2.361600 58.652599 -3.405400 0.982605 0.010378 0.185418 -2.043500 58.694401 -1.722000 0.982605 0.010378 0.185418 -2.361600 58.652599 -3.405400 0.835615 -0.547438 -0.045374 -2.071800 58.080299 -1.837600 0.835615 -0.547438 -0.045374 -1.480400 57.287800 -3.167400 0.835615 -0.547438 -0.045374 -2.361600 58.652599 -3.405400 0.962379 -0.178153 0.205154 -2.484800 60.667999 -2.078300 0.962379 -0.178153 0.205154 -2.225300 60.301201 -1.334400 0.962379 -0.178153 0.205154 -2.043500 58.694401 -1.722000 0.962379 -0.178153 0.205154 -0.596000 60.268700 -0.255900 0.569338 0.180881 0.801958 -0.605400 59.453602 0.006800 0.569338 0.180881 0.801958 -0.793500 58.611801 -0.022400 0.569338 0.180881 0.801958 -2.225300 60.301201 -1.334400 0.569338 0.180881 0.801958 -0.793500 58.611801 -0.022400 0.424783 -0.113068 0.898207 -0.000000 58.735298 0.237300 0.424783 -0.113068 0.898207 -0.000000 57.320400 0.190300 0.424783 -0.113068 0.898207 -0.860300 57.339199 -0.345300 0.424783 -0.113068 0.898207 -2.361600 58.652599 -3.405400 0.801295 -0.555920 -0.221086 -1.480400 57.287800 -3.167400 0.801295 -0.555920 -0.221086 -1.507500 57.978802 -4.806700 0.801295 -0.555920 -0.221086 -1.480400 57.287800 -3.167400 0.605736 -0.042761 0.794516 -0.509500 56.862801 -2.081200 0.605736 -0.042761 0.794516 -0.000000 54.522099 -2.187600 0.605736 -0.042761 0.794516 -1.435700 55.057400 -2.884500 0.605736 -0.042761 0.794516 -1.435700 55.057400 -2.884500 0.962522 0.132164 0.236820 -2.321200 55.471001 -5.570800 0.962522 0.132164 0.236820 -1.507500 57.978802 -4.806700 0.962522 0.132164 0.236820 -1.480400 57.287800 -3.167400 0.962522 0.132164 0.236820 -5.117200 15.490400 -9.679700 -0.146405 -0.402228 -0.903758 -1.456400 14.610600 -8.695100 -0.146405 -0.402228 -0.903758 -0.134100 16.169500 -9.174700 -0.146405 -0.402228 -0.903758 -0.134100 16.169500 -9.174700 -0.868940 -0.488451 0.079739 -1.239800 14.644800 -6.465300 -0.868940 -0.488451 0.079739 -1.716700 14.450400 -2.459200 -0.868940 -0.488451 0.079739 -5.308800 13.910900 -3.738700 0.254739 -0.396087 0.882170 -6.069200 14.643000 -3.762300 0.254739 -0.396087 0.882170 -1.716700 14.450400 -2.459200 0.254739 -0.396087 0.882170 -1.766900 13.754900 -2.918700 0.254739 -0.396087 0.882170 -4.620900 14.945700 -8.516100 0.580484 -0.782092 -0.226651 -5.117200 15.490400 -9.679700 0.580484 -0.782092 -0.226651 -6.069200 14.643000 -3.762300 0.580484 -0.782092 -0.226651 -5.308800 13.910900 -3.738700 0.580484 -0.782092 -0.226651 -1.957400 20.620800 -1.211500 -0.981620 0.066989 0.178702 -2.189200 21.987900 -1.483700 -0.981620 0.066989 0.178702 -0.835600 22.853901 -8.210700 -0.981620 0.066989 0.178702 -0.899900 21.410400 -8.349400 -0.981620 0.066989 0.178702 -7.174300 32.815300 -5.167300 0.882089 0.156872 -0.444196 -4.970000 33.082802 -8.871900 0.882089 0.156872 -0.444196 -5.283200 35.952900 -7.814600 0.882089 0.156872 -0.444196 -6.542300 35.480598 -4.902800 0.882089 0.156872 -0.444196 -5.598500 31.822901 -1.404300 0.892181 0.170029 0.418452 -7.174300 32.815300 -5.167300 0.892181 0.170029 0.418452 -6.542300 35.480598 -4.902800 0.892181 0.170029 0.418452 -4.685700 36.664101 -1.616400 0.472747 0.127337 0.871949 -3.798500 31.552500 -0.388900 0.472747 0.127337 0.871949 -5.598500 31.822901 -1.404300 0.472747 0.127337 0.871949 -2.225300 60.301201 -1.334400 0.926529 0.086891 0.366052 -2.484800 60.667999 -2.078300 0.926529 0.086891 0.366052 -2.209500 61.230499 -1.515000 0.926529 0.086891 0.366052 -8.927200 49.128502 -4.128200 0.174303 -0.164506 0.970853 -9.508400 52.403099 -3.672700 0.174303 -0.164506 0.970853 -8.184300 53.108700 -3.320400 0.174303 -0.164506 0.970853 -7.813100 49.342701 -3.886900 0.174303 -0.164506 0.970853 -8.184300 53.108700 -3.320400 0.526523 0.826719 0.198265 -9.508400 52.403099 -3.672700 0.526523 0.826719 0.198265 -9.827700 52.989700 -7.188500 0.526523 0.826719 0.198265 -8.747800 53.770199 -7.353300 0.526523 0.826719 0.198265 -8.747800 53.770199 -7.353300 0.154881 -0.035505 -0.987295 -6.775800 50.206501 -7.534500 0.154881 -0.035505 -0.987295 -7.252500 54.524502 -7.615000 0.154881 -0.035505 -0.987295 -8.927200 49.128502 -4.128200 -0.001669 -0.169906 0.985459 -14.977100 45.689201 -4.821000 -0.001669 -0.169906 0.985459 -15.636800 49.715099 -4.015700 -0.001669 -0.169906 0.985459 -9.508400 52.403099 -3.672700 -0.001669 -0.169906 0.985459 -1.435700 55.057400 -2.884500 0.215818 0.814400 0.538680 -3.773800 51.093601 -1.034300 0.215818 0.814400 0.538680 -6.624100 53.529800 -2.653700 0.215818 0.814400 0.538680 -7.252500 54.524502 -7.615000 0.215818 0.814400 0.538680 -2.321200 55.471001 -5.570800 0.276118 0.932071 0.234526 -1.435700 55.057400 -2.884500 0.276118 0.932071 0.234526 -7.252500 54.524502 -7.615000 0.276118 0.932071 0.234526 -2.209500 61.230499 -1.515000 0.942806 0.279456 0.181716 -2.484800 60.667999 -2.078300 0.942806 0.279456 0.181716 -2.505800 61.413601 -3.333900 0.942806 0.279456 0.181716 -2.484800 60.667999 -2.078300 0.998559 -0.051788 -0.014052 -2.361600 58.652599 -3.405400 0.998559 -0.051788 -0.014052 -2.505800 61.413601 -3.333900 0.998559 -0.051788 -0.014052 -2.209500 61.230499 -1.515000 0.107977 -0.909631 0.401138 -1.792100 61.563202 -0.648200 0.107977 -0.909631 0.401138 -1.340700 61.343498 -1.024900 0.107977 -0.909631 0.401138 -3.061600 3.537800 -3.461700 -0.234488 0.898953 0.369997 -1.553600 3.059500 -4.173500 -0.234488 0.898953 0.369997 -1.568700 1.981700 -0.627100 -0.234488 0.898953 0.369997 -3.735600 1.816900 0.228400 -0.234488 0.898953 0.369997 -0.626000 0.031700 -8.336200 -0.992053 0.072189 0.103052 -1.825200 -0.024100 0.601200 -0.992053 0.072189 0.103052 -1.568700 1.981700 -0.627100 -0.992053 0.072189 0.103052 -1.553600 3.059500 -4.173500 -0.992053 0.072189 0.103052 -1.825200 -0.024100 0.601200 0.002195 -0.999985 -0.005027 -0.626000 0.031700 -8.336200 0.002195 -0.999985 -0.005027 -1.712600 0.024900 -9.195700 0.002195 -0.999985 -0.005027 -3.769300 -0.009000 1.132900 0.002195 -0.999985 -0.005027 -1.712600 0.024900 -9.195700 -0.920325 0.042849 -0.388801 -0.626000 0.031700 -8.336200 -0.920325 0.042849 -0.388801 -1.239800 14.644800 -6.465300 -0.920325 0.042849 -0.388801 -1.456400 14.610600 -8.695100 -0.920325 0.042849 -0.388801 -1.568700 1.981700 -0.627100 -0.270273 0.452545 0.849798 -1.825200 -0.024100 0.601200 -0.270273 0.452545 0.849798 -3.769300 -0.009000 1.132900 -0.270273 0.452545 0.849798 -3.735600 1.816900 0.228400 -0.270273 0.452545 0.849798 -4.089400 2.633000 -5.031300 0.957442 -0.073711 -0.279054 -5.390300 1.568200 -1.670300 0.957442 -0.073711 -0.279054 -5.176800 -0.025000 -0.598300 0.957442 -0.073711 -0.279054 -3.252600 0.001600 -8.591000 0.957442 -0.073711 -0.279054 -3.769300 -0.009000 1.132900 0.738109 0.308147 0.600201 -5.176800 -0.025000 -0.598300 0.738109 0.308147 0.600201 -5.390300 1.568200 -1.670300 0.738109 0.308147 0.600201 -3.735600 1.816900 0.228400 0.738109 0.308147 0.600201 -5.390300 1.568200 -1.670300 0.560649 0.811720 0.163660 -4.089400 2.633000 -5.031300 0.560649 0.811720 0.163660 -3.061600 3.537800 -3.461700 0.560649 0.811720 0.163660 -3.735600 1.816900 0.228400 0.560649 0.811720 0.163660 -3.061600 3.537800 -3.461700 0.452521 -0.074303 0.888653 -4.089400 2.633000 -5.031300 0.452521 -0.074303 0.888653 -5.308800 13.910900 -3.738700 0.452521 -0.074303 0.888653 -1.766900 13.754900 -2.918700 0.452521 -0.074303 0.888653 -5.117200 15.490400 -9.679700 0.118623 -0.917754 -0.379021 -4.620900 14.945700 -8.516100 0.118623 -0.917754 -0.379021 -1.456400 14.610600 -8.695100 0.118623 -0.917754 -0.379021 -1.456400 14.610600 -8.695100 -0.751462 -0.656769 -0.062923 -1.239800 14.644800 -6.465300 -0.751462 -0.656769 -0.062923 -0.134100 16.169500 -9.174700 -0.751462 -0.656769 -0.062923 -5.426000 21.341299 -8.132600 0.959663 0.028025 -0.279753 -5.317800 22.936800 -8.016200 0.959663 0.028025 -0.279753 -6.824000 22.193899 -3.251500 0.959663 0.028025 -0.279753 -6.827700 20.858999 -3.044800 0.959663 0.028025 -0.279753 -0.845100 29.891001 -9.498900 0.127296 -0.127838 -0.983592 -5.595300 29.761600 -8.492500 0.127296 -0.127838 -0.983592 -5.317800 22.936800 -8.016200 0.127296 -0.127838 -0.983592 -0.835600 22.853901 -8.210700 0.127296 -0.127838 -0.983592 -1.957400 20.620800 -1.211500 0.345482 0.135420 0.928603 -6.827700 20.858999 -3.044800 0.345482 0.135420 0.928603 -6.824000 22.193899 -3.251500 0.345482 0.135420 0.928603 -2.189200 21.987900 -1.483700 0.345482 0.135420 0.928603 -0.605400 59.453602 0.006800 0.276378 -0.886938 0.370075 -0.226300 59.631802 0.717000 0.276378 -0.886938 0.370075 -0.000000 59.375900 0.272700 0.276378 -0.886938 0.370075 -21.936399 43.055199 -3.733600 0.245050 -0.199318 0.948801 -23.265499 44.290199 -3.614200 0.245050 -0.199318 0.948801 -23.323000 46.228001 -3.425200 0.245050 -0.199318 0.948801 -22.348700 46.932201 -2.822400 0.245050 -0.199318 0.948801 -22.105101 44.119598 -7.074000 0.680722 -0.210597 -0.701617 -23.337700 47.268200 -6.945000 0.680722 -0.210597 -0.701617 -23.881300 46.267799 -5.995500 0.680722 -0.210597 -0.701617 -23.273100 44.479099 -6.170500 0.680722 -0.210597 -0.701617 -22.348700 46.932201 -2.822400 0.710630 0.673907 0.202126 -23.323000 46.228001 -3.425200 0.710630 0.673907 0.202126 -23.881300 46.267799 -5.995500 0.710630 0.673907 0.202126 -23.337700 47.268200 -6.945000 0.710630 0.673907 0.202126 -21.936399 43.055199 -3.733600 0.575702 -0.803125 -0.153486 -22.105101 44.119598 -7.074000 0.575702 -0.803125 -0.153486 -23.273100 44.479099 -6.170500 0.575702 -0.803125 -0.153486 -23.265499 44.290199 -3.614200 0.575702 -0.803125 -0.153486 -23.323000 46.228001 -3.425200 -0.234519 0.052147 0.970712 -23.265499 44.290199 -3.614200 -0.234519 0.052147 0.970712 -24.446100 44.099098 -3.039500 -0.234519 0.052147 0.970712 -24.935400 45.742901 -3.288800 -0.234519 0.052147 0.970712 -23.273100 44.479099 -6.170500 0.051663 0.047611 -0.997529 -23.881300 46.267799 -5.995500 0.051663 0.047611 -0.997529 -25.982700 45.641201 -5.974700 0.051663 0.047611 -0.997529 -25.718901 44.407902 -5.989100 0.051663 0.047611 -0.997529 -23.881300 46.267799 -5.995500 0.283035 0.956157 0.075198 -23.323000 46.228001 -3.425200 0.283035 0.956157 0.075198 -24.935400 45.742901 -3.288800 0.283035 0.956157 0.075198 -25.982700 45.641201 -5.974700 0.283035 0.956157 0.075198 -23.265499 44.290199 -3.614200 -0.050680 -0.993534 -0.101596 -23.273100 44.479099 -6.170500 -0.050680 -0.993534 -0.101596 -25.718901 44.407902 -5.989100 -0.050680 -0.993534 -0.101596 -24.446100 44.099098 -3.039500 -0.050680 -0.993534 -0.101596 -3.798500 31.552500 -0.388900 0.303080 0.047081 0.951802 -4.685700 36.664101 -1.616400 0.303080 0.047081 0.951802 -0.000000 37.009800 0.550700 0.303080 0.047081 0.951802 -0.000000 31.552500 0.128500 0.303080 0.047081 0.951802 -27.058001 43.733101 -1.471100 0.612973 -0.035197 0.789319 -26.775499 43.007000 -1.492900 0.612973 -0.035197 0.789319 -27.637899 42.321201 -1.984400 0.612973 -0.035197 0.789319 -28.100901 44.177299 -2.470000 0.612973 -0.035197 0.789319 -27.102699 45.320202 -5.735100 0.288380 -0.175341 -0.941325 -26.246300 42.901402 -5.383600 0.288380 -0.175341 -0.941325 -25.718901 44.407902 -5.989100 0.288380 -0.175341 -0.941325 -25.982700 45.641201 -5.974700 0.288380 -0.175341 -0.941325 -24.935400 45.742901 -3.288800 0.215944 0.976143 0.022647 -26.753901 45.398300 -2.858600 0.215944 0.976143 0.022647 -27.102699 45.320202 -5.735100 0.215944 0.976143 0.022647 -25.982700 45.641201 -5.974700 0.215944 0.976143 0.022647 -24.446100 44.099098 -3.039500 -0.806467 -0.440747 -0.394147 -25.718901 44.407902 -5.989100 -0.806467 -0.440747 -0.394147 -26.246300 42.901402 -5.383600 -0.806467 -0.440747 -0.394147 -28.380600 42.330502 -3.056600 0.840529 -0.044209 0.539960 -28.697901 44.238201 -3.477500 0.840529 -0.044209 0.539960 -28.100901 44.177299 -2.470000 0.840529 -0.044209 0.539960 -27.637899 42.321201 -1.984400 0.840529 -0.044209 0.539960 -28.380600 42.330502 -3.056600 0.979149 -0.175223 -0.102788 -28.292801 42.543098 -4.446800 0.979149 -0.175223 -0.102788 -28.543800 44.178001 -4.651400 0.979149 -0.175223 -0.102788 -28.697901 44.238201 -3.477500 0.979149 -0.175223 -0.102788 -26.753901 45.398300 -2.858600 0.560189 0.737837 0.376544 -28.100901 44.177299 -2.470000 0.560189 0.737837 0.376544 -28.697901 44.238201 -3.477500 0.560189 0.737837 0.376544 -24.935400 45.742901 -3.288800 -0.484106 0.321222 0.813915 -24.446100 44.099098 -3.039500 -0.484106 0.321222 0.813915 -25.587200 43.557701 -2.038700 -0.484106 0.321222 0.813915 -26.117701 44.487900 -2.198700 -0.484106 0.321222 0.813915 -24.446100 44.099098 -3.039500 -0.765721 -0.642695 -0.024780 -26.246300 42.901402 -5.383600 -0.765721 -0.642695 -0.024780 -25.491899 42.827301 -2.370100 -0.765721 -0.642695 -0.024780 -25.587200 43.557701 -2.038700 -0.765721 -0.642695 -0.024780 -26.753901 45.398300 -2.858600 -0.068715 0.616533 0.784324 -24.935400 45.742901 -3.288800 -0.068715 0.616533 0.784324 -26.117701 44.487900 -2.198700 -0.068715 0.616533 0.784324 -0.000000 31.552500 0.128500 0.069913 -0.031462 0.997057 -0.000000 24.132099 -0.356700 0.069913 -0.031462 0.997057 -3.463700 23.872801 -0.356700 0.069913 -0.031462 0.997057 -3.798500 31.552500 -0.388900 0.069913 -0.031462 0.997057 -2.225300 60.301201 -1.334400 0.789816 -0.226827 0.569860 -0.793500 58.611801 -0.022400 0.789816 -0.226827 0.569860 -2.043500 58.694401 -1.722000 0.789816 -0.226827 0.569860 -0.793500 58.611801 -0.022400 0.800106 -0.097243 0.591924 -0.860300 57.339199 -0.345300 0.800106 -0.097243 0.591924 -2.071800 58.080299 -1.837600 0.800106 -0.097243 0.591924 -2.043500 58.694401 -1.722000 0.800106 -0.097243 0.591924 -2.071800 58.080299 -1.837600 0.594038 -0.791272 0.144939 -0.860300 57.339199 -0.345300 0.594038 -0.791272 0.144939 -0.509500 56.862801 -2.081200 0.594038 -0.791272 0.144939 -1.480400 57.287800 -3.167400 0.594038 -0.791272 0.144939 -0.179900 61.274700 0.058500 0.090663 0.188705 0.977840 -0.785400 61.539799 -0.048800 0.090663 0.188705 0.977840 -0.000000 61.912998 -0.048000 0.090663 0.188705 0.977840 -15.884600 46.520500 -7.855800 0.098387 0.080586 -0.991880 -14.885000 46.974701 -7.946000 0.098387 0.080586 -0.991880 -16.136200 50.023998 -7.546200 0.098387 0.080586 -0.991880 -17.208200 49.477699 -7.512200 0.098387 0.080586 -0.991880 -15.636800 49.715099 -4.015700 0.436830 0.889212 0.135946 -16.810101 49.139900 -3.928800 0.436830 0.889212 0.135946 -17.208200 49.477699 -7.512200 0.436830 0.889212 0.135946 -16.136200 50.023998 -7.546200 0.436830 0.889212 0.135946 -16.192200 44.960400 -4.877100 -0.435886 -0.826304 -0.356686 -14.977100 45.689201 -4.821000 -0.435886 -0.826304 -0.356686 -14.885000 46.974701 -7.946000 -0.435886 -0.826304 -0.356686 -15.884600 46.520500 -7.855800 -0.435886 -0.826304 -0.356686 -16.810101 49.139900 -3.928800 -0.116417 -0.190205 0.974818 -15.636800 49.715099 -4.015700 -0.116417 -0.190205 0.974818 -14.977100 45.689201 -4.821000 -0.116417 -0.190205 0.974818 -16.192200 44.960400 -4.877100 -0.116417 -0.190205 0.974818 -13.779500 47.417198 -7.715300 0.030432 0.115440 -0.992848 -8.756500 49.321098 -7.632900 0.030432 0.115440 -0.992848 -9.827700 52.989700 -7.188500 0.030432 0.115440 -0.992848 -14.989100 50.565300 -7.297200 0.030432 0.115440 -0.992848 -15.636800 49.715099 -4.015700 0.447311 0.883265 0.140554 -16.136200 50.023998 -7.546200 0.447311 0.883265 0.140554 -14.989100 50.565300 -7.297200 0.447311 0.883265 0.140554 -13.779500 47.417198 -7.715300 -0.409629 -0.847844 -0.336696 -14.885000 46.974701 -7.946000 -0.409629 -0.847844 -0.336696 -14.977100 45.689201 -4.821000 -0.409629 -0.847844 -0.336696 -1.239800 14.644800 -6.465300 -0.983473 -0.143727 0.110102 -1.766900 13.754900 -2.918700 -0.983473 -0.143727 0.110102 -1.716700 14.450400 -2.459200 -0.983473 -0.143727 0.110102 -26.117701 44.487900 -2.198700 -0.374471 0.258120 0.890587 -25.587200 43.557701 -2.038700 -0.374471 0.258120 0.890587 -26.775499 43.007000 -1.492900 -0.374471 0.258120 0.890587 -27.058001 43.733101 -1.471100 -0.374471 0.258120 0.890587 -25.587200 43.557701 -2.038700 -0.386633 -0.610879 0.690899 -25.491899 42.827301 -2.370100 -0.386633 -0.610879 0.690899 -27.637899 42.321201 -1.984400 -0.386633 -0.610879 0.690899 -26.775499 43.007000 -1.492900 -0.386633 -0.610879 0.690899 -26.117701 44.487900 -2.198700 0.202601 0.798645 0.566673 -27.058001 43.733101 -1.471100 0.202601 0.798645 0.566673 -28.100901 44.177299 -2.470000 0.202601 0.798645 0.566673 -8.184300 53.108700 -3.320400 0.347207 -0.172872 0.921717 -6.624100 53.529800 -2.653700 0.347207 -0.172872 0.921717 -7.813100 49.342701 -3.886900 0.347207 -0.172872 0.921717 -8.747800 53.770199 -7.353300 0.055764 0.062731 -0.996471 -9.827700 52.989700 -7.188500 0.055764 0.062731 -0.996471 -8.756500 49.321098 -7.632900 0.055764 0.062731 -0.996471 -6.775800 50.206501 -7.534500 0.055764 0.062731 -0.996471 -28.543800 44.178001 -4.651400 0.562493 0.826801 -0.001192 -27.102699 45.320202 -5.735100 0.562493 0.826801 -0.001192 -26.753901 45.398300 -2.858600 0.562493 0.826801 -0.001192 -28.697901 44.238201 -3.477500 0.562493 0.826801 -0.001192 -26.246300 42.901402 -5.383600 -0.106461 -0.983873 -0.143736 -28.292801 42.543098 -4.446800 -0.106461 -0.983873 -0.143736 -28.380600 42.330502 -3.056600 -0.106461 -0.983873 -0.143736 -28.100901 44.177299 -2.470000 0.192584 0.484112 0.853550 -26.753901 45.398300 -2.858600 0.192584 0.484112 0.853550 -26.117701 44.487900 -2.198700 0.192584 0.484112 0.853550 -1.712600 0.024900 -9.195700 -0.013475 -0.999909 -0.000374 -3.252600 0.001600 -8.591000 -0.013475 -0.999909 -0.000374 -5.176800 -0.025000 -0.598300 -0.013475 -0.999909 -0.000374 -3.769300 -0.009000 1.132900 -0.013475 -0.999909 -0.000374 -0.000000 61.912998 -0.048000 0.158526 0.331625 0.929997 -0.785400 61.539799 -0.048800 0.158526 0.331625 0.929997 -0.000000 62.775902 -0.355700 0.158526 0.331625 0.929997 -0.340300 31.400700 -9.928000 -0.943868 -0.327610 -0.042246 -0.845100 29.891001 -9.498900 -0.943868 -0.327610 -0.042246 -0.425600 30.069099 -1.507500 -0.943868 -0.327610 -0.042246 -0.509500 56.862801 -2.081200 0.000000 -0.045410 0.998968 -0.509500 56.862801 -2.081200 0.098448 -0.971038 0.217700 -0.860300 57.339199 -0.345300 0.098448 -0.971038 0.217700 -0.000000 57.320400 0.190300 0.098448 -0.971038 0.217700 -0.000000 56.862801 -2.081200 0.098448 -0.971038 0.217700 -5.598500 31.822901 -1.404300 0.881264 0.021588 0.472131 -6.824000 22.193899 -3.251500 0.881264 0.021588 0.472131 -7.453900 29.910801 -4.780100 0.881264 0.021588 0.472131 -6.824000 22.193899 -3.251500 0.921284 -0.108958 -0.373315 -5.317800 22.936800 -8.016200 0.921284 -0.108958 -0.373315 -5.595300 29.761600 -8.492500 0.921284 -0.108958 -0.373315 -7.453900 29.910801 -4.780100 0.921284 -0.108958 -0.373315 -3.798500 31.552500 -0.388900 0.401815 -0.146587 0.903912 -2.189200 21.987900 -1.483700 0.401815 -0.146587 0.903912 -6.824000 22.193899 -3.251500 0.401815 -0.146587 0.903912 -5.598500 31.822901 -1.404300 0.401815 -0.146587 0.903912 -0.340300 31.400700 -9.928000 0.230509 -0.107925 -0.967067 -4.970000 33.082802 -8.871900 0.230509 -0.107925 -0.967067 -5.595300 29.761600 -8.492500 0.230509 -0.107925 -0.967067 -0.845100 29.891001 -9.498900 0.230509 -0.107925 -0.967067 -0.835600 22.853901 -8.210700 -0.992236 -0.110106 0.057826 -2.189200 21.987900 -1.483700 -0.992236 -0.110106 0.057826 -0.425600 30.069099 -1.507500 -0.992236 -0.110106 0.057826 -0.845100 29.891001 -9.498900 -0.992236 -0.110106 0.057826 -2.162800 35.743500 -9.599900 0.324673 0.084802 -0.942017 -5.283200 35.952900 -7.814600 0.324673 0.084802 -0.942017 -4.970000 33.082802 -8.871900 0.324673 0.084802 -0.942017 -0.340300 31.400700 -9.928000 0.324673 0.084802 -0.942017 -5.283200 35.952900 -7.814600 0.889642 0.311183 -0.334218 -5.919200 37.619099 -4.570300 0.889642 0.311183 -0.334218 -6.542300 35.480598 -4.902800 0.889642 0.311183 -0.334218 -5.919200 37.619099 -4.570300 0.882631 0.186784 0.431364 -4.685700 36.664101 -1.616400 0.882631 0.186784 0.431364 -5.598500 31.822901 -1.404300 0.882631 0.186784 0.431364 -6.542300 35.480598 -4.902800 0.882631 0.186784 0.431364 -0.474100 61.294899 -0.607800 0.490764 0.255871 0.832875 -0.596000 60.268700 -0.255900 0.490764 0.255871 0.832875 -2.225300 60.301201 -1.334400 0.490764 0.255871 0.832875 -1.340700 61.343498 -1.024900 0.490764 0.255871 0.832875 -1.340700 61.343498 -1.024900 0.199083 -0.932669 0.300824 -1.792100 61.563202 -0.648200 0.199083 -0.932669 0.300824 -0.785400 61.539799 -0.048800 0.199083 -0.932669 0.300824 -0.474100 61.294899 -0.607800 0.199083 -0.932669 0.300824 -0.000000 45.235802 -8.516300 0.205813 0.023108 -0.978318 -5.495700 46.043098 -6.732400 0.205813 0.023108 -0.978318 -2.827600 38.171799 -8.088300 0.205813 0.023108 -0.978318 -0.000000 38.221600 -8.073300 0.205813 0.023108 -0.978318 -0.425600 30.069099 -1.507500 -0.290133 -0.060504 0.955072 -2.189200 21.987900 -1.483700 -0.290133 -0.060504 0.955072 -3.798500 31.552500 -0.388900 -0.290133 -0.060504 0.955072 -0.000000 31.547001 -9.939100 -0.348901 -0.925923 -0.144686 -0.340300 31.400700 -9.928000 -0.348901 -0.925923 -0.144686 -0.425600 30.069099 -1.507500 -0.348901 -0.925923 -0.144686 -0.000000 30.215401 -1.522000 -0.348901 -0.925923 -0.144686 -21.061199 44.183601 -7.611200 0.028361 0.039319 -0.998824 -15.884600 46.520500 -7.855800 0.028361 0.039319 -0.998824 -17.208200 49.477699 -7.512200 0.028361 0.039319 -0.998824 -22.585199 48.327702 -7.594400 0.028361 0.039319 -0.998824 -22.348700 46.932201 -2.822400 0.723103 0.652497 0.226650 -23.337700 47.268200 -6.945000 0.723103 0.652497 0.226650 -22.585199 48.327702 -7.594400 0.723103 0.652497 0.226650 -21.061199 44.183601 -7.611200 0.095048 -0.949863 -0.297868 -22.105101 44.119598 -7.074000 0.095048 -0.949863 -0.297868 -21.936399 43.055199 -3.733600 0.095048 -0.949863 -0.297868 -0.340300 31.400700 -9.928000 0.010374 0.075249 -0.997111 -0.000000 31.547001 -9.939100 0.010374 0.075249 -0.997111 -0.000000 35.795200 -9.599900 0.010374 0.075249 -0.997111 -2.162800 35.743500 -9.599900 0.010374 0.075249 -0.997111 -5.919200 37.619099 -4.570300 0.561685 0.544798 -0.622660 -5.283200 35.952900 -7.814600 0.561685 0.544798 -0.622660 -2.162800 35.743500 -9.599900 0.561685 0.544798 -0.622660 -2.827600 38.171799 -8.088300 0.561685 0.544798 -0.622660 -28.543800 44.178001 -4.651400 0.410462 -0.233070 -0.881589 -28.292801 42.543098 -4.446800 0.410462 -0.233070 -0.881589 -26.246300 42.901402 -5.383600 0.410462 -0.233070 -0.881589 -27.102699 45.320202 -5.735100 0.410462 -0.233070 -0.881589 -25.491899 42.827301 -2.370100 -0.201709 -0.968181 -0.148119 -28.380600 42.330502 -3.056600 -0.201709 -0.968181 -0.148119 -27.637899 42.321201 -1.984400 -0.201709 -0.968181 -0.148119 -26.246300 42.901402 -5.383600 -0.185319 -0.980147 -0.070494 -28.380600 42.330502 -3.056600 -0.185319 -0.980147 -0.070494 -25.491899 42.827301 -2.370100 -0.185319 -0.980147 -0.070494 -2.162800 35.743500 -9.599900 0.008224 0.529675 -0.848161 -0.000000 35.795200 -9.599900 0.008224 0.529675 -0.848161 -0.000000 38.221600 -8.073300 0.008224 0.529675 -0.848161 -2.827600 38.171799 -8.088300 0.008224 0.529675 -0.848161 -0.706900 62.538601 -0.289700 0.498102 0.211804 0.840853 -1.838200 62.255798 -0.802600 0.498102 0.211804 0.840853 -1.901400 63.532299 -1.247600 0.498102 0.211804 0.840853 -0.672300 63.485901 -0.421800 0.498102 0.211804 0.840853 -1.901400 63.532299 -1.247600 0.915374 0.111541 0.386845 -1.838200 62.255798 -0.802600 0.915374 0.111541 0.386845 -3.194200 60.597198 -3.460400 0.915374 0.111541 0.386845 -2.758700 63.532299 -3.348800 0.915374 0.111541 0.386845 -2.758700 63.532299 -3.348800 0.984906 0.142377 0.098436 -3.194200 60.597198 -3.460400 0.984906 0.142377 0.098436 -3.446000 60.597198 -5.980300 0.984906 0.142377 0.098436 -3.010600 63.532299 -5.868700 0.984906 0.142377 0.098436 -3.194200 60.597198 -3.460400 0.917633 0.222238 0.329485 -1.838200 62.255798 -0.802600 0.917633 0.222238 0.329485 -2.336800 60.597198 -1.072500 0.917633 0.222238 0.329485 -2.130500 53.628601 -1.359200 0.842435 0.033555 0.537753 -4.088800 54.879799 -3.460400 0.842435 0.033555 0.537753 -3.194200 60.597198 -3.460400 0.842435 0.033555 0.537753 -2.336800 60.597198 -1.072500 0.842435 0.033555 0.537753 -4.088800 54.879799 -3.460400 0.982155 0.156435 0.104398 -4.340700 55.234299 -6.210400 0.982155 0.156435 0.104398 -3.446000 60.597198 -5.980300 0.982155 0.156435 0.104398 -3.194200 60.597198 -3.460400 0.982155 0.156435 0.104398 -3.010600 63.532299 -5.868700 0.839145 0.204241 -0.504105 -3.446000 60.597198 -5.980300 0.839145 0.204241 -0.504105 -2.517200 60.597198 -7.879200 0.839145 0.204241 -0.504105 -1.932100 63.532299 -7.311200 0.839145 0.204241 -0.504105 -3.446000 60.597198 -5.980300 0.847590 0.127945 -0.514996 -4.340700 55.234299 -6.210400 0.847590 0.127945 -0.514996 -2.990300 54.496300 -8.246000 0.847590 0.127945 -0.514996 -2.517200 60.597198 -7.879200 0.847590 0.127945 -0.514996 -1.932100 63.532299 -7.311200 0.365116 0.222173 -0.904063 -2.517200 60.597198 -7.879200 0.365116 0.222173 -0.904063 -0.000000 60.597198 -8.812800 0.365116 0.222173 -0.904063 -0.000000 63.532299 -8.174500 0.365116 0.222173 -0.904063 -2.990300 54.496300 -8.246000 0.255106 0.035267 -0.966270 -0.000000 54.050800 -8.782700 0.255106 0.035267 -0.966270 -0.000000 60.597198 -8.812800 0.255106 0.035267 -0.966270 -2.517200 60.597198 -7.879200 0.255106 0.035267 -0.966270 -0.672300 63.485901 -0.421800 0.422112 0.618267 0.662999 -1.901400 63.532299 -1.247600 0.422112 0.618267 0.662999 -1.171400 65.057899 -2.205500 0.422112 0.618267 0.662999 -1.901400 63.532299 -1.247600 0.756752 0.608663 0.238446 -2.758700 63.532299 -3.348800 0.756752 0.608663 0.238446 -1.795600 65.057899 -4.806100 0.756752 0.608663 0.238446 -1.171400 65.057899 -2.205500 0.756752 0.608663 0.238446 -2.758700 63.532299 -3.348800 0.806293 0.585999 0.080601 -3.010600 63.532299 -5.868700 0.806293 0.585999 0.080601 -1.795600 65.057899 -4.806100 0.806293 0.585999 0.080601 -3.010600 63.532299 -5.868700 0.468822 0.765524 -0.440657 -1.932100 63.532299 -7.311200 0.468822 0.765524 -0.440657 -0.000000 65.057899 -6.421400 0.468822 0.765524 -0.440657 -1.795600 65.057899 -4.806100 0.468822 0.765524 -0.440657 -1.932100 63.532299 -7.311200 0.281463 0.723860 -0.629925 -0.000000 63.532299 -8.174500 0.281463 0.723860 -0.629925 -0.000000 65.057899 -6.421400 0.281463 0.723860 -0.629925 -1.171400 65.057899 -2.205500 0.296421 0.952404 0.071148 -1.795600 65.057899 -4.806100 0.296421 0.952404 0.071148 -0.000000 65.560898 -4.058400 0.296421 0.952404 0.071148 -1.795600 65.057899 -4.806100 0.184093 0.961370 -0.204641 -0.000000 65.057899 -6.421400 0.184093 0.961370 -0.204641 -0.000000 65.560898 -4.058400 0.184093 0.961370 -0.204641 -0.672300 63.485901 -0.421800 0.000000 0.750225 0.661183 -1.171400 65.057899 -2.205500 0.000000 0.750225 0.661183 --1.171400 65.057899 -2.205500 0.000000 0.750225 0.661183 --0.672300 63.485901 -0.421800 0.000000 0.750225 0.661183 -0.706900 62.538601 -0.289700 0.204667 0.142518 0.968401 -0.672300 63.485901 -0.421800 0.204667 0.142518 0.968401 -0.000000 62.538601 -0.140300 0.204667 0.142518 0.968401 -0.672300 63.485901 -0.421800 -0.000000 0.284850 0.958572 --0.672300 63.485901 -0.421800 -0.000000 0.284850 0.958572 -0.000000 62.538601 -0.140300 -0.000000 0.284850 0.958572 -2.130500 53.628601 -1.359200 -0.899990 0.017690 0.435552 -2.336800 60.597198 -1.072500 -0.899990 0.017690 0.435552 -1.393700 60.597198 -3.164700 -0.899990 0.017690 0.435552 -1.187300 53.628601 -3.164700 -0.899990 0.017690 0.435552 --0.706900 62.538601 -0.289700 -0.498102 0.211804 0.840853 --0.672300 63.485901 -0.421800 -0.498102 0.211804 0.840853 --1.901400 63.532299 -1.247600 -0.498102 0.211804 0.840853 --1.838200 62.255798 -0.802600 -0.498102 0.211804 0.840853 --1.901400 63.532299 -1.247600 -0.915374 0.111541 0.386845 --2.758700 63.532299 -3.348800 -0.915374 0.111541 0.386845 --3.194200 60.597198 -3.460400 -0.915374 0.111541 0.386845 --1.838200 62.255798 -0.802600 -0.915374 0.111541 0.386845 --2.758700 63.532299 -3.348800 -0.984906 0.142377 0.098436 --3.010600 63.532299 -5.868700 -0.984906 0.142377 0.098436 --3.446000 60.597198 -5.980300 -0.984906 0.142377 0.098436 --3.194200 60.597198 -3.460400 -0.984906 0.142377 0.098436 --3.194200 60.597198 -3.460400 -0.917633 0.222238 0.329485 --2.336800 60.597198 -1.072500 -0.917633 0.222238 0.329485 --1.838200 62.255798 -0.802600 -0.917633 0.222238 0.329485 --2.130500 53.628601 -1.359200 -0.842435 0.033555 0.537753 --2.336800 60.597198 -1.072500 -0.842435 0.033555 0.537753 --3.194200 60.597198 -3.460400 -0.842435 0.033555 0.537753 --4.088800 54.879799 -3.460400 -0.842435 0.033555 0.537753 --4.088800 54.879799 -3.460400 -0.982155 0.156435 0.104398 --3.194200 60.597198 -3.460400 -0.982155 0.156435 0.104398 --3.446000 60.597198 -5.980300 -0.982155 0.156435 0.104398 --4.340700 55.234299 -6.210400 -0.982155 0.156435 0.104398 --3.010600 63.532299 -5.868700 -0.839145 0.204241 -0.504105 --1.932100 63.532299 -7.311200 -0.839145 0.204241 -0.504105 --2.517200 60.597198 -7.879200 -0.839145 0.204241 -0.504105 --3.446000 60.597198 -5.980300 -0.839145 0.204241 -0.504105 --3.446000 60.597198 -5.980300 -0.847590 0.127945 -0.514996 --2.517200 60.597198 -7.879200 -0.847590 0.127945 -0.514996 --2.990300 54.496300 -8.246000 -0.847590 0.127945 -0.514996 --4.340700 55.234299 -6.210400 -0.847590 0.127945 -0.514996 --1.932100 63.532299 -7.311200 -0.365116 0.222173 -0.904063 -0.000000 63.532299 -8.174500 -0.365116 0.222173 -0.904063 -0.000000 60.597198 -8.812800 -0.365116 0.222173 -0.904063 --2.517200 60.597198 -7.879200 -0.365116 0.222173 -0.904063 --2.990300 54.496300 -8.246000 -0.255106 0.035267 -0.966270 --2.517200 60.597198 -7.879200 -0.255106 0.035267 -0.966270 -0.000000 60.597198 -8.812800 -0.255106 0.035267 -0.966270 -0.000000 54.050800 -8.782700 -0.255106 0.035267 -0.966270 --0.672300 63.485901 -0.421800 -0.422112 0.618267 0.662999 --1.171400 65.057899 -2.205500 -0.422112 0.618267 0.662999 --1.901400 63.532299 -1.247600 -0.422112 0.618267 0.662999 --1.901400 63.532299 -1.247600 -0.756752 0.608663 0.238446 --1.171400 65.057899 -2.205500 -0.756752 0.608663 0.238446 --1.795600 65.057899 -4.806100 -0.756752 0.608663 0.238446 --2.758700 63.532299 -3.348800 -0.756752 0.608663 0.238446 --2.758700 63.532299 -3.348800 -0.806293 0.585999 0.080601 --1.795600 65.057899 -4.806100 -0.806293 0.585999 0.080601 --3.010600 63.532299 -5.868700 -0.806293 0.585999 0.080601 --3.010600 63.532299 -5.868700 -0.468822 0.765524 -0.440657 --1.795600 65.057899 -4.806100 -0.468822 0.765524 -0.440657 -0.000000 65.057899 -6.421400 -0.468822 0.765524 -0.440657 --1.932100 63.532299 -7.311200 -0.468822 0.765524 -0.440657 --1.932100 63.532299 -7.311200 -0.281463 0.723860 -0.629925 -0.000000 65.057899 -6.421400 -0.281463 0.723860 -0.629925 -0.000000 63.532299 -8.174500 -0.281463 0.723860 -0.629925 --1.171400 65.057899 -2.205500 -0.296421 0.952404 0.071148 -0.000000 65.560898 -4.058400 -0.296421 0.952404 0.071148 --1.795600 65.057899 -4.806100 -0.296421 0.952404 0.071148 --1.795600 65.057899 -4.806100 -0.184093 0.961370 -0.204641 -0.000000 65.560898 -4.058400 -0.184093 0.961370 -0.204641 -0.000000 65.057899 -6.421400 -0.184093 0.961370 -0.204641 --1.171400 65.057899 -2.205500 0.000000 0.965072 0.261984 -1.171400 65.057899 -2.205500 0.000000 0.965072 0.261984 -0.000000 65.560898 -4.058400 0.000000 0.965072 0.261984 --0.706900 62.538601 -0.289700 -0.204667 0.142518 0.968401 -0.000000 62.538601 -0.140300 -0.204667 0.142518 0.968401 --0.672300 63.485901 -0.421800 -0.204667 0.142518 0.968401 --2.130500 53.628601 -1.359200 0.899990 0.017690 0.435552 --1.187300 53.628601 -3.164700 0.899990 0.017690 0.435552 --1.393700 60.597198 -3.164700 0.899990 0.017690 0.435552 --2.336800 60.597198 -1.072500 0.899990 0.017690 0.435552 -8.704300 24.905701 -6.036500 0.233777 0.158187 -0.959336 -7.984800 25.127701 -6.177400 0.233777 0.158187 -0.959336 -7.649900 27.558001 -5.856100 0.233777 0.158187 -0.959336 -8.503900 27.435900 -5.670300 0.233777 0.158187 -0.959336 -6.463600 36.223400 -3.704900 0.910800 0.108730 0.398273 -5.778000 35.994701 -1.773100 0.910800 0.108730 0.398273 -7.451900 27.210300 -3.504400 0.910800 0.108730 0.398273 -8.503900 27.435900 -5.670300 0.910800 0.108730 0.398273 -5.115000 35.782600 -2.051700 -0.272059 -0.232411 0.933793 -6.597900 27.332300 -3.690200 -0.272059 -0.232411 0.933793 -7.451900 27.210300 -3.504400 -0.272059 -0.232411 0.933793 -5.778000 35.994701 -1.773100 -0.272059 -0.232411 0.933793 -5.743400 36.019600 -3.995900 0.266707 0.266447 -0.926215 -6.463600 36.223400 -3.704900 0.266707 0.266447 -0.926215 -8.503900 27.435900 -5.670300 0.266707 0.266447 -0.926215 -7.649900 27.558001 -5.856100 0.266707 0.266447 -0.926215 -7.451900 27.210300 -3.504400 -0.285900 -0.782712 0.552832 -6.597900 27.332300 -3.690200 -0.285900 -0.782712 0.552832 -7.984800 25.127701 -6.177400 -0.285900 -0.782712 0.552832 -8.704300 24.905701 -6.036500 -0.285900 -0.782712 0.552832 -7.451900 27.210300 -3.504400 0.899158 0.007889 0.437552 -8.704300 24.905701 -6.036500 0.899158 0.007889 0.437552 -8.503900 27.435900 -5.670300 0.899158 0.007889 0.437552 -6.463600 36.223400 -3.704900 -0.293676 0.955783 0.015277 -5.743400 36.019600 -3.995900 -0.293676 0.955783 0.015277 -5.115000 35.782600 -2.051700 -0.293676 0.955783 0.015277 -5.778000 35.994701 -1.773100 -0.293676 0.955783 0.015277 -4.513000 55.007702 -5.909800 -0.189279 -0.709198 -0.679126 -4.291100 55.098900 -5.871800 -0.189279 -0.709198 -0.679126 -4.207800 55.799599 -6.651700 -0.189279 -0.709198 -0.679126 -4.871900 55.799599 -6.765400 -0.189279 -0.709198 -0.679126 -2.904000 62.455601 -5.700500 0.959060 0.270852 0.082723 -2.764700 62.455601 -4.128400 0.959060 0.270852 0.082723 -4.736600 55.799599 -5.153900 0.959060 0.270852 0.082723 -4.871900 55.799599 -6.765400 0.959060 0.270852 0.082723 -2.764700 62.455601 -4.128400 0.167860 -0.101350 0.980587 -4.072400 55.799599 -5.040200 0.167860 -0.101350 0.980587 -4.736600 55.799599 -5.153900 0.167860 -0.101350 0.980587 -2.904000 62.455601 -5.700500 -0.167781 0.107182 -0.979980 -4.871900 55.799599 -6.765400 -0.167781 0.107182 -0.979980 -4.207800 55.799599 -6.651700 -0.167781 0.107182 -0.979980 -4.736600 55.799599 -5.153900 0.042232 -0.727963 0.684314 -4.072400 55.799599 -5.040200 0.042232 -0.727963 0.684314 -4.291100 55.098900 -5.871800 0.042232 -0.727963 0.684314 -4.513000 55.007702 -5.909800 0.042232 -0.727963 0.684314 -4.736600 55.799599 -5.153900 0.937220 -0.339745 0.078688 -4.513000 55.007702 -5.909800 0.937220 -0.339745 0.078688 -4.871900 55.799599 -6.765400 0.937220 -0.339745 0.078688 -4 0 1 2 3 -4 4 5 6 7 -3 8 9 10 -4 11 12 13 14 -4 15 16 17 18 -4 19 20 21 22 -4 23 24 25 26 -4 27 28 29 30 -4 31 32 33 34 -4 35 36 37 38 -4 39 40 41 42 -4 43 44 45 46 -3 47 48 49 -4 50 51 52 53 -4 54 55 56 57 -4 58 59 60 61 -4 62 63 64 65 -4 66 67 68 69 -4 70 71 72 73 -4 74 75 76 77 -3 78 79 80 -4 81 82 83 84 -3 85 86 87 -4 88 89 90 91 -3 92 93 94 -4 95 96 97 98 -4 99 100 101 102 -4 103 104 105 106 -4 107 108 109 110 -4 111 112 113 114 -4 115 116 117 118 -4 119 120 121 122 -4 123 124 125 126 -4 127 128 129 130 -4 131 132 133 134 -4 135 136 137 138 -3 139 140 141 -3 142 143 144 -4 145 146 147 148 -4 149 150 151 152 -4 153 154 155 156 -3 157 158 159 -3 160 161 162 -4 163 164 165 166 -4 167 168 169 170 -4 171 172 173 174 -3 175 176 177 -4 178 179 180 181 -4 182 183 184 185 -3 186 187 188 -3 189 190 191 -4 192 193 194 195 -4 196 197 198 199 -4 200 201 202 203 -4 204 205 206 207 -3 208 209 210 -3 211 212 213 -3 214 215 216 -4 217 218 219 220 -4 221 222 223 224 -3 225 226 227 -4 228 229 230 231 -4 232 233 234 235 -3 236 237 238 -3 239 240 241 -3 242 243 244 -3 245 246 247 -4 248 249 250 251 -4 252 253 254 255 -4 256 257 258 259 -4 260 261 262 263 -4 264 265 266 267 -4 268 269 270 271 -4 272 273 274 275 -4 276 277 278 279 -4 280 281 282 283 -3 284 285 286 -3 287 288 289 -4 290 291 292 293 -4 294 295 296 297 -4 298 299 300 301 -3 302 303 304 -4 305 306 307 308 -4 309 310 311 312 -4 313 314 315 316 -4 317 318 319 320 -4 321 322 323 324 -4 325 326 327 328 -4 329 330 331 332 -4 333 334 335 336 -4 337 338 339 340 -4 341 342 343 344 -4 345 346 347 348 -4 349 350 351 352 -3 353 354 355 -4 356 357 358 359 -4 360 361 362 363 -3 364 365 366 -4 367 368 369 370 -4 371 372 373 374 -3 375 376 377 -4 378 379 380 381 -3 382 383 384 -4 385 386 387 388 -4 389 390 391 392 -3 393 394 395 -4 396 397 398 399 -4 400 401 402 403 -4 404 405 406 407 -4 408 409 410 411 -4 412 413 414 415 -3 416 417 418 -3 419 420 421 -3 422 423 424 -4 425 426 427 428 -4 429 430 431 432 -3 433 434 435 -3 436 437 438 -4 439 440 441 442 -4 443 444 445 446 -3 447 448 449 -3 450 451 452 -4 453 454 455 456 -3 457 458 459 -3 460 461 462 -3 463 464 465 -4 466 467 468 469 -3 470 471 472 -4 473 474 475 476 -4 477 478 479 480 -4 481 482 483 484 -4 485 486 487 488 -4 489 490 491 492 -3 493 494 495 -4 496 497 498 499 -4 500 501 502 503 -4 504 505 506 507 -4 508 509 510 511 -3 512 513 514 -4 515 516 517 518 -4 519 520 521 522 -3 523 524 525 -3 526 527 528 -3 529 530 531 -4 532 533 534 535 -4 536 537 538 539 -4 540 541 542 543 -4 544 545 546 547 -3 548 549 550 -3 551 552 553 -4 554 555 556 557 -3 558 559 560 -4 561 562 563 564 -4 565 566 567 568 -4 569 570 571 572 -3 573 574 575 -4 576 577 578 579 -4 580 581 582 583 -4 584 585 586 587 -4 588 589 590 591 -4 592 593 594 595 -4 596 597 598 599 -4 600 601 602 603 -4 604 605 606 607 -4 608 609 610 611 -3 612 613 614 -4 615 616 617 618 -4 619 620 621 622 -4 623 624 625 626 -4 627 628 629 630 -4 631 632 633 634 -4 635 636 637 638 -4 639 640 641 642 -3 643 644 645 -4 646 647 648 649 -3 650 651 652 -4 653 654 655 656 -3 657 658 659 -4 660 661 662 663 -4 664 665 666 667 -4 668 669 670 671 -4 672 673 674 675 -4 676 677 678 679 -4 680 681 682 683 -4 684 685 686 687 -4 688 689 690 691 -4 692 693 694 695 -4 696 697 698 699 -4 700 701 702 703 -3 704 705 706 -3 707 708 709 -4 710 711 712 713 -4 714 715 716 717 -4 718 719 720 721 -3 722 723 724 -3 725 726 727 -4 728 729 730 731 -4 732 733 734 735 -4 736 737 738 739 -3 740 741 742 -4 743 744 745 746 -4 747 748 749 750 -3 751 752 753 -3 754 755 756 -4 757 758 759 760 -4 761 762 763 764 -4 765 766 767 768 -4 769 770 771 772 -3 773 774 775 -3 776 777 778 -3 779 780 781 -4 782 783 784 785 -4 786 787 788 789 -3 790 791 792 -4 793 794 795 796 -4 797 798 799 800 -3 801 802 803 -3 804 805 806 -3 807 808 809 -3 810 811 812 -4 813 814 815 816 -4 817 818 819 820 -4 821 822 823 824 -4 825 826 827 828 -4 829 830 831 832 -4 833 834 835 836 -4 837 838 839 840 -4 841 842 843 844 -4 845 846 847 848 -3 849 850 851 -3 852 853 854 -4 855 856 857 858 -4 859 860 861 862 -4 863 864 865 866 -3 867 868 869 -4 870 871 872 873 -4 874 875 876 877 -4 878 879 880 881 -4 882 883 884 885 -4 886 887 888 889 -4 890 891 892 893 -4 894 895 896 897 -4 898 899 900 901 -4 902 903 904 905 -4 906 907 908 909 -4 910 911 912 913 -4 914 915 916 917 -3 918 919 920 -4 921 922 923 924 -4 925 926 927 928 -3 929 930 931 -4 932 933 934 935 -4 936 937 938 939 -3 940 941 942 -4 943 944 945 946 -3 947 948 949 -4 950 951 952 953 -4 954 955 956 957 -3 958 959 960 -4 961 962 963 964 -4 965 966 967 968 -4 969 970 971 972 -4 973 974 975 976 -4 977 978 979 980 -3 981 982 983 -3 984 985 986 -3 987 988 989 -4 990 991 992 993 -4 994 995 996 997 -3 998 999 1000 -3 1001 1002 1003 -4 1004 1005 1006 1007 -4 1008 1009 1010 1011 -3 1012 1013 1014 -3 1015 1016 1017 -4 1018 1019 1020 1021 -3 1022 1023 1024 -3 1025 1026 1027 -3 463 1028 464 -4 1029 1030 1031 1032 -3 1033 1034 1035 -4 1036 1037 1038 1039 -4 1040 1041 1042 1043 -4 1044 1045 1046 1047 -4 1048 1049 1050 1051 -4 1052 1053 1054 1055 -3 1056 1057 1058 -4 1059 1060 1061 1062 -4 1063 1064 1065 1066 -4 1067 1068 1069 1070 -4 1071 1072 1073 1074 -3 1075 1076 1077 -4 1078 1079 1080 1081 -4 1082 1083 1084 1085 -3 1086 1087 1088 -3 1089 1090 1091 -4 1092 1093 1094 1095 -4 1096 1097 1098 1099 -4 1100 1101 1102 1103 -3 1104 1105 1106 -3 1107 1108 1109 -4 1110 1111 1112 1113 -4 1114 1115 1116 1117 -4 1118 1119 1120 1121 -4 1122 1123 1124 1125 -3 1126 1127 1128 -4 1129 1130 1131 1132 -4 1133 1134 1135 1136 -4 1137 1138 1139 1140 -4 1141 1142 1143 1144 -4 1145 1146 1147 1148 -4 1149 1150 1151 1152 -3 1153 1154 1155 -4 1156 1157 1158 1159 -3 1160 1161 1162 -4 1163 1164 1165 1166 -3 1167 1168 1169 -3 1170 1171 1172 -3 1173 1174 1175 -4 1176 1177 1178 1179 -3 1180 1181 1182 -3 1183 1184 1185 -4 1186 1187 1188 1189 -4 1190 1191 1192 1193 -4 1194 1195 1196 1197 -4 1198 1199 1200 1201 -3 1202 1203 1204 -4 1205 1206 1207 1208 -4 1209 1210 1211 1212 -4 1213 1214 1215 1216 -4 1217 1218 1219 1220 -4 1221 1222 1223 1224 -4 1225 1226 1227 1228 -3 1229 1230 1231 -4 1232 1233 1234 1235 -3 1236 1237 1238 -4 1239 1240 1241 1242 -3 1243 1244 1245 -3 1246 1247 1248 -3 1249 1250 1251 -3 1252 1253 1254 -3 1255 1256 1257 -4 1258 1259 1260 1261 -4 1262 1263 1264 1265 -4 1266 1267 1268 1269 -4 1270 1271 1272 1273 -4 1274 1275 1276 1277 -4 1278 1279 1280 1281 -3 1282 1283 1284 -4 1285 1286 1287 1288 -4 1289 1290 1291 1292 -4 1293 1294 1295 1296 -3 1297 1298 1299 -3 1300 1301 1302 -4 1303 1304 1305 1306 -3 1307 1308 1309 diff --git a/src/tests/evas/meshes/ply/Normal_UVs_Colors.ply b/src/tests/evas/meshes/ply/Normal_UVs_Colors.ply deleted file mode 100644 index 797151afb1..0000000000 --- a/src/tests/evas/meshes/ply/Normal_UVs_Colors.ply +++ /dev/null @@ -1,1684 +0,0 @@ -ply -format ascii 1.0 -comment Created by Blender 2.69 (sub 0) - www.blender.org, source file: '' -element vertex 1310 -property float x -property float y -property float z -property float nx -property float ny -property float nz -property float s -property float t -property uchar red -property uchar green -property uchar blue -element face 356 -property list uchar uint vertex_indices -end_header --4.649800 14.945700 -8.785600 -0.021734 0.023193 -0.999495 0.094400 0.185800 0 253 27 --2.020300 14.610600 -8.278800 -0.021734 0.023193 -0.999495 0.060000 0.185800 0 253 27 --1.712600 0.024900 -9.195700 -0.021734 0.023193 -0.999495 0.089900 0.023200 254 68 73 --3.252600 0.001600 -8.591000 -0.021734 0.023193 -0.999495 0.107400 0.025300 254 68 73 --4.649800 14.945700 -8.785600 -0.983809 -0.091724 -0.153967 0.094400 0.185800 254 68 73 --3.252600 0.001600 -8.591000 -0.983809 -0.091724 -0.153967 0.107400 0.025300 254 88 92 --4.089400 2.633000 -5.031300 -0.983809 -0.091724 -0.153967 0.145000 0.057700 254 68 73 --5.308800 13.910900 -3.738700 -0.983809 -0.091724 -0.153967 0.154100 0.185800 254 68 73 --1.553600 3.059500 -4.173500 0.398905 -0.098999 0.911633 0.181500 0.058600 18 0 253 --1.766900 13.754900 -2.918700 0.398905 -0.098999 0.911633 0.193300 0.185800 0 254 27 --3.061600 3.537800 -3.461700 0.398905 -0.098999 0.911633 0.164000 0.067400 18 0 252 --1.553600 3.059500 -4.173500 0.977159 -0.002648 0.212493 0.181500 0.058600 18 0 253 --0.626000 0.031700 -8.336200 0.977159 -0.002648 0.212493 0.220100 0.017000 19 0 253 --0.971400 14.644800 -6.706400 0.977159 -0.002648 0.212493 0.225200 0.185800 27 229 30 --1.766900 13.754900 -2.918700 0.977159 -0.002648 0.212493 0.193300 0.185800 0 253 27 --5.495700 46.043098 -6.732400 -0.860977 -0.085411 -0.501422 0.139900 0.788400 254 254 254 --2.827600 38.171799 -8.088300 -0.860977 -0.085411 -0.501422 0.114500 0.661600 254 254 254 --5.919200 37.619099 -4.570300 -0.860977 -0.085411 -0.501422 0.183200 0.661600 254 254 254 --6.029500 46.188801 -3.956000 -0.860977 -0.085411 -0.501422 0.183300 0.792100 254 254 254 --4.685700 36.664101 -1.616400 -0.917535 -0.032092 0.396359 0.239100 0.661600 13 240 28 --4.298500 47.001099 -0.058900 -0.917535 -0.032092 0.396359 0.249300 0.802400 5 247 27 --6.029500 46.188801 -3.956000 -0.917535 -0.032092 0.396359 0.183300 0.792100 0 253 27 --5.919200 37.619099 -4.570300 -0.917535 -0.032092 0.396359 0.183200 0.661600 0 253 27 --6.775800 50.206501 -7.534500 -0.223809 0.028781 -0.974208 0.134100 0.852600 0 254 27 --7.252500 54.524502 -7.615000 -0.223809 0.028781 -0.974208 0.126100 0.913200 0 254 27 -0.000000 53.738098 -8.986800 -0.223809 0.028781 -0.974208 0.028100 0.877800 0 254 27 -0.000000 50.037800 -9.413700 -0.223809 0.028781 -0.974208 0.041800 0.827300 0 254 27 --7.252500 54.524502 -7.615000 -0.375359 0.901424 0.215731 0.812300 0.981700 0 253 27 --8.747800 53.770199 -7.353300 -0.375359 0.901424 0.215731 0.807700 0.944900 0 253 27 --8.184300 53.108700 -3.320400 -0.375359 0.901424 0.215731 0.746000 0.944900 0 253 27 --6.624100 53.529800 -2.653700 -0.375359 0.901424 0.215731 0.746000 0.986600 0 253 27 --9.827700 52.989700 -7.188500 -0.412168 0.895237 0.169320 0.805500 0.922700 0 253 27 --14.989100 50.565300 -7.297200 -0.412168 0.895237 0.169320 0.805300 0.834400 0 253 27 --15.636800 49.715099 -4.015700 -0.412168 0.895237 0.169320 0.746000 0.809400 0 253 27 --9.508400 52.403099 -3.672700 -0.412168 0.895237 0.169320 0.746000 0.922700 0 253 27 -0.000000 37.009800 0.550700 -0.339751 -0.089043 0.936291 0.310700 0.661600 172 124 55 -0.000000 47.287498 1.094200 -0.339751 -0.089043 0.936291 0.310700 0.805700 0 252 27 --4.298500 47.001099 -0.058900 -0.339751 -0.089043 0.936291 0.249300 0.802400 0 253 27 --4.685700 36.664101 -1.616400 -0.339751 -0.089043 0.936291 0.239100 0.661600 13 226 40 -0.000000 53.738098 -8.986800 -0.139268 0.841727 -0.521633 0.028100 0.877800 0 254 27 --7.252500 54.524502 -7.615000 -0.139268 0.841727 -0.521633 0.126100 0.913200 0 254 27 --2.321200 55.471001 -5.570800 -0.139268 0.841727 -0.521633 0.053700 0.941000 0 254 27 -0.000000 55.950600 -7.250100 -0.139268 0.841727 -0.521633 0.022400 0.916300 0 254 27 --6.624100 53.529800 -2.653700 -0.510018 -0.190129 0.838888 0.210200 0.900400 0 253 27 --7.813100 49.342701 -3.886900 -0.510018 -0.190129 0.838888 0.181000 0.844200 0 253 27 --6.029500 46.188801 -3.956000 -0.510018 -0.190129 0.838888 0.183300 0.792100 0 253 27 --3.773800 51.093601 -1.034300 -0.510018 -0.190129 0.838888 0.256600 0.864400 0 253 27 --6.029500 46.188801 -3.956000 -0.909885 0.202901 0.361857 0.183300 0.792100 0 253 27 --4.298500 47.001099 -0.058900 -0.909885 0.202901 0.361857 0.249300 0.802400 5 247 27 --3.773800 51.093601 -1.034300 -0.909885 0.202901 0.361857 0.256600 0.864400 0 253 27 -0.000000 50.880199 0.110000 -0.266804 0.255185 0.929352 0.310700 0.860500 0 253 27 --3.773800 51.093601 -1.034300 -0.266804 0.255185 0.929352 0.256600 0.864400 0 253 27 --4.298500 47.001099 -0.058900 -0.266804 0.255185 0.929352 0.249300 0.802400 0 253 27 -0.000000 47.287498 1.094200 -0.266804 0.255185 0.929352 0.310700 0.805700 0 252 27 --16.136200 50.023998 -7.546200 0.129075 0.179950 -0.975171 0.808600 0.809400 0 249 27 --14.989100 50.565300 -7.297200 0.129075 0.179950 -0.975171 0.805300 0.834400 0 252 27 --13.779500 47.417198 -7.715300 0.129075 0.179950 -0.975171 0.879500 0.834400 0 253 27 --14.885000 46.974701 -7.946000 0.129075 0.179950 -0.975171 0.879500 0.809400 0 251 27 --13.779500 47.417198 -7.715300 0.437873 -0.882573 -0.171264 0.626900 0.829400 0 253 27 --8.756500 49.321098 -7.632900 0.437873 -0.882573 -0.171264 0.626900 0.922700 0 253 27 --8.927200 49.128502 -4.128200 0.437873 -0.882573 -0.171264 0.688900 0.922700 0 253 27 --14.977100 45.689201 -4.821000 0.437873 -0.882573 -0.171264 0.680000 0.809400 0 248 31 --17.208200 49.477699 -7.512200 -0.268622 0.938905 0.215175 0.810800 0.788400 0 253 27 --22.585199 48.327702 -7.594400 -0.268622 0.938905 0.215175 0.812700 0.705100 0 253 27 --22.348700 46.932201 -2.822400 -0.268622 0.938905 0.215175 0.746000 0.680200 72 195 37 --16.810101 49.139900 -3.928800 -0.268622 0.938905 0.215175 0.746000 0.788400 0 253 27 --21.936399 43.055199 -3.733600 0.256926 -0.186034 0.948357 0.691800 0.680200 24 182 75 --16.192200 44.960400 -4.877100 0.256926 -0.186034 0.948357 0.677700 0.788400 0 236 42 --16.810101 49.139900 -3.928800 0.256926 -0.186034 0.948357 0.746000 0.788400 0 253 27 --22.348700 46.932201 -2.822400 0.256926 -0.186034 0.948357 0.746000 0.680200 72 195 37 --22.105101 44.119598 -7.074000 -0.471869 -0.161034 -0.866838 0.862200 0.680200 254 254 254 --23.337700 47.268200 -6.945000 -0.471869 -0.161034 -0.866838 0.809900 0.680200 254 254 254 --22.585199 48.327702 -7.594400 -0.471869 -0.161034 -0.866838 0.812700 0.705100 254 254 254 --21.061199 44.183601 -7.611200 -0.471869 -0.161034 -0.866838 0.879500 0.705100 254 254 254 --15.884600 46.520500 -7.855800 0.312108 -0.901546 -0.299673 0.626900 0.788400 0 250 27 --16.192200 44.960400 -4.877100 0.312108 -0.901546 -0.299673 0.677700 0.788400 0 253 27 --21.936399 43.055199 -3.733600 0.312108 -0.901546 -0.299673 0.691800 0.680200 0 253 27 --21.061199 44.183601 -7.611200 0.312108 -0.901546 -0.299673 0.626900 0.699700 52 208 31 --5.598500 31.822901 -1.405400 -0.899226 0.141575 0.413943 0.185400 0.436500 133 152 48 --7.174300 32.815300 -5.168000 -0.899226 0.141575 0.413943 0.136400 0.440500 0 253 27 --7.453900 29.910801 -4.782000 -0.899226 0.141575 0.413943 0.143900 0.408700 0 253 27 --4.970000 33.082802 -8.871300 -0.875321 0.068314 -0.478692 0.086900 0.436600 0 253 27 --5.595300 29.761600 -8.491100 -0.875321 0.068314 -0.478692 0.097300 0.399700 0 253 27 --7.453900 29.910801 -4.782000 -0.875321 0.068314 -0.478692 0.143900 0.408700 0 253 27 --7.174300 32.815300 -5.168000 -0.875321 0.068314 -0.478692 0.136400 0.440500 0 253 27 --6.827700 20.858999 -3.051400 -0.895608 -0.345701 -0.279959 0.166500 0.297500 254 254 254 --5.426000 21.341299 -8.131100 -0.895608 -0.345701 -0.279959 0.106600 0.297500 254 254 254 --6.194700 19.576300 -3.492500 -0.895608 -0.345701 -0.279959 0.163400 0.285600 254 254 254 --0.835600 22.853901 -8.203000 -0.044062 0.086408 -0.995285 0.053300 0.313700 0 253 27 --0.899900 21.410400 -8.342700 -0.044062 0.086408 -0.995285 0.054900 0.297500 0 253 27 --5.426000 21.341299 -8.131100 -0.044062 0.086408 -0.995285 0.106600 0.297500 0 253 27 --5.317800 22.936800 -8.014600 -0.044062 0.086408 -0.995285 0.105500 0.313700 0 253 27 --0.899900 21.410400 -8.342700 0.986890 0.053202 0.152371 0.307200 0.297500 219 57 99 --1.957400 20.620800 -1.217700 0.986890 0.053202 0.152371 0.224300 0.297500 254 68 73 --1.853000 19.164200 -1.385300 0.986890 0.053202 0.152371 0.221600 0.281000 254 68 73 --6.194700 19.576300 -3.492500 -0.393090 -0.299033 0.869517 0.163400 0.285600 114 254 128 --1.853000 19.164200 -1.385300 -0.393090 -0.299033 0.869517 0.221600 0.281000 242 254 242 --1.957400 20.620800 -1.217700 -0.393090 -0.299033 0.869517 0.224300 0.297500 242 254 242 --6.827700 20.858999 -3.051400 -0.393090 -0.299033 0.869517 0.166500 0.297500 168 254 177 --5.259600 15.490400 -9.599400 0.139442 0.106302 -0.984508 0.090700 0.228600 0 253 27 --5.426000 21.341299 -8.131100 0.139442 0.106302 -0.984508 0.106600 0.297500 0 253 27 --0.899900 21.410400 -8.342700 0.139442 0.106302 -0.984508 0.054900 0.297500 0 253 27 --0.294400 16.169500 -7.962700 0.139442 0.106302 -0.984508 0.039600 0.241800 0 253 27 --0.294400 16.169500 -7.962700 0.977002 0.117101 0.178197 0.282300 0.223700 0 253 27 --0.899900 21.410400 -8.342700 0.977002 0.117101 0.178197 0.307200 0.297500 1 216 59 --1.853000 19.164200 -1.385300 0.977002 0.117101 0.178197 0.221600 0.281000 0 253 27 --1.221800 14.450400 -2.004100 0.977002 0.117101 0.178197 0.220300 0.236900 0 253 27 --1.853000 19.164200 -1.385300 -0.395956 -0.119778 0.910424 0.221600 0.281000 254 254 254 --6.194700 19.576300 -3.492500 -0.395956 -0.119778 0.910424 0.163400 0.285600 254 254 254 --6.498700 14.643000 -4.000600 -0.395956 -0.119778 0.910424 0.151700 0.232900 91 254 108 --1.221800 14.450400 -2.004100 -0.395956 -0.119778 0.910424 0.220300 0.236900 0 254 27 --6.498700 14.643000 -4.000600 -0.982418 0.045709 -0.181012 0.151700 0.232900 254 254 254 --6.194700 19.576300 -3.492500 -0.982418 0.045709 -0.181012 0.163400 0.285600 254 254 254 --5.426000 21.341299 -8.131100 -0.982418 0.045709 -0.181012 0.106600 0.297500 254 254 254 --5.259600 15.490400 -9.599400 -0.982418 0.045709 -0.181012 0.090700 0.228600 254 254 254 --7.813100 49.342701 -3.886900 -0.881229 -0.394976 -0.259672 0.181000 0.844200 254 68 73 --6.775800 50.206501 -7.534500 -0.881229 -0.394976 -0.259672 0.134100 0.852600 254 68 73 --5.495700 46.043098 -6.732400 -0.881229 -0.394976 -0.259672 0.139900 0.788400 254 68 73 --6.029500 46.188801 -3.956000 -0.881229 -0.394976 -0.259672 0.183300 0.792100 254 68 73 --8.756500 49.321098 -7.632900 0.341557 -0.936397 -0.080618 0.626900 0.922700 0 254 27 --6.775800 50.206501 -7.534500 0.341557 -0.936397 -0.080618 0.626900 0.944900 0 254 27 --7.813100 49.342701 -3.886900 0.341557 -0.936397 -0.080618 0.686800 0.944900 0 254 27 --8.927200 49.128502 -4.128200 0.341557 -0.936397 -0.080618 0.688900 0.922700 0 254 27 --5.495700 46.043098 -6.732400 -0.295037 -0.218453 -0.930178 0.139900 0.788400 0 254 27 --6.775800 50.206501 -7.534500 -0.295037 -0.218453 -0.930178 0.134100 0.852600 0 254 27 -0.000000 50.037800 -9.413700 -0.295037 -0.218453 -0.930178 0.041800 0.827300 0 254 27 -0.000000 45.235802 -8.516300 -0.295037 -0.218453 -0.930178 0.061400 0.762800 0 254 27 --3.773800 51.093601 -1.034300 -0.217879 0.518058 0.827130 0.256600 0.864400 0 253 27 -0.000000 50.880199 0.110000 -0.217879 0.518058 0.827130 0.310700 0.860500 0 253 27 -0.000000 54.522099 -2.187600 -0.217879 0.518058 0.827130 0.310700 0.919600 0 253 27 --1.435700 55.057400 -2.884500 -0.217879 0.518058 0.827130 0.285800 0.931400 0 253 27 --0.163800 60.672798 0.405300 -0.878123 0.172158 0.446386 0.529100 0.200900 0 254 27 --0.596000 60.268700 -0.255900 -0.878123 0.172158 0.446386 0.502600 0.185300 0 254 27 --0.605400 59.453602 0.006800 -0.878123 0.172158 0.446386 0.508800 0.156900 0 254 27 --0.226300 59.631802 0.717000 -0.878123 0.172158 0.446386 0.529800 0.167300 0 254 27 -0.000000 59.375900 0.272700 -0.351825 0.003851 0.936058 0.533800 0.153800 0 254 27 --0.605400 59.453602 0.006800 -0.351825 0.003851 0.936058 0.508800 0.156900 0 254 27 --0.793500 58.611801 -0.022400 -0.351825 0.003851 0.936058 0.506200 0.129800 0 254 27 -0.000000 58.735298 0.237300 -0.351825 0.003851 0.936058 0.533800 0.134400 0 253 27 --1.340700 61.343498 -1.024900 -0.500896 0.173312 0.847978 0.467800 0.231800 254 254 254 --2.209500 61.230499 -1.515000 -0.500896 0.173312 0.847978 0.430900 0.227000 254 254 254 --2.225300 60.301201 -1.334400 -0.500896 0.173312 0.847978 0.434400 0.187400 254 254 254 --0.474100 61.294899 -0.607800 -0.419394 -0.893935 0.158081 0.499900 0.227200 254 254 254 --0.179900 61.274700 0.058500 -0.419394 -0.893935 0.158081 0.525600 0.223900 254 254 254 --0.785400 61.539799 -0.048800 -0.419394 -0.893935 0.158081 0.505500 0.247600 254 254 254 --0.163800 60.672798 0.405300 -0.879737 0.234636 0.413532 0.529100 0.200900 0 254 27 --0.179900 61.274700 0.058500 -0.879737 0.234636 0.413532 0.525600 0.223900 0 254 27 --0.474100 61.294899 -0.607800 -0.879737 0.234636 0.413532 0.499900 0.227200 0 254 27 --0.596000 60.268700 -0.255900 -0.879737 0.234636 0.413532 0.502600 0.185300 0 254 27 --0.785400 61.539799 -0.048800 -0.405349 0.400850 0.821591 0.505500 0.247600 0 254 27 -0.000000 62.775902 -0.355700 -0.405349 0.400850 0.821591 0.533900 0.286800 0 254 27 --1.901400 62.898899 -1.262500 -0.405349 0.400850 0.821591 0.451600 0.287500 0 254 27 --1.792100 61.563202 -0.648200 -0.405349 0.400850 0.821591 0.464300 0.250800 0 254 27 --1.901400 62.898899 -1.262500 -0.958885 0.139689 0.247034 0.451600 0.287500 254 254 254 --2.505800 61.413601 -3.333900 -0.958885 0.139689 0.247034 0.367200 0.240300 254 254 254 --2.209500 61.230499 -1.515000 -0.958885 0.139689 0.247034 0.430900 0.227000 254 254 254 --1.792100 61.563202 -0.648200 -0.958885 0.139689 0.247034 0.464300 0.250800 254 254 254 --2.071800 58.080299 -1.837600 -0.982605 0.010378 0.185418 0.435700 0.090000 254 254 254 --2.043500 58.694401 -1.722000 -0.982605 0.010378 0.185418 0.434700 0.119000 254 254 254 --2.361600 58.652599 -3.405400 -0.982605 0.010378 0.185418 0.376100 0.111600 254 254 254 --2.361600 58.652599 -3.405400 -0.835615 -0.547438 -0.045374 0.376100 0.111600 254 254 254 --1.480400 57.287800 -3.167400 -0.835615 -0.547438 -0.045374 0.388000 0.054100 254 254 254 --2.071800 58.080299 -1.837600 -0.835615 -0.547438 -0.045374 0.435700 0.090000 254 254 254 --2.361600 58.652599 -3.405400 -0.962379 -0.178153 0.205154 0.376100 0.111600 254 254 254 --2.043500 58.694401 -1.722000 -0.962379 -0.178153 0.205154 0.434700 0.119000 254 254 254 --2.225300 60.301201 -1.334400 -0.962379 -0.178153 0.205154 0.434400 0.187400 254 254 254 --2.484800 60.667999 -2.078300 -0.962379 -0.178153 0.205154 0.409600 0.193000 254 254 254 --0.596000 60.268700 -0.255900 -0.569338 0.180881 0.801958 0.502600 0.185300 0 254 27 --2.225300 60.301201 -1.334400 -0.569338 0.180881 0.801958 0.434400 0.187400 0 254 27 --0.793500 58.611801 -0.022400 -0.569338 0.180881 0.801958 0.506200 0.129800 0 254 27 --0.605400 59.453602 0.006800 -0.569338 0.180881 0.801958 0.508800 0.156900 0 254 27 --0.793500 58.611801 -0.022400 -0.424783 -0.113068 0.898207 0.506200 0.129800 0 254 27 --0.860300 57.339199 -0.345300 -0.424783 -0.113068 0.898207 0.507000 0.087800 0 253 27 -0.000000 57.320400 0.190300 -0.424783 -0.113068 0.898207 0.533800 0.095300 0 253 27 -0.000000 58.735298 0.237300 -0.424783 -0.113068 0.898207 0.533800 0.134400 0 253 27 --2.361600 58.652599 -3.405400 -0.801295 -0.555920 -0.221086 0.376100 0.111600 254 254 254 --1.507500 57.978802 -4.806700 -0.801295 -0.555920 -0.221086 0.327200 0.071700 254 254 254 --1.480400 57.287800 -3.167400 -0.801295 -0.555920 -0.221086 0.388000 0.054100 254 254 254 --1.480400 57.287800 -3.167400 -0.605736 -0.042761 0.794516 0.293600 0.962800 254 153 157 --1.435700 55.057400 -2.884500 -0.605736 -0.042761 0.794516 0.285800 0.931400 244 75 71 -0.000000 54.522099 -2.187600 -0.605736 -0.042761 0.794516 0.310700 0.919600 235 81 69 --0.509500 56.862801 -2.081200 -0.605736 -0.042761 0.794516 0.307800 0.953500 254 129 132 --1.435700 55.057400 -2.884500 -0.962522 0.132164 0.236820 0.285800 0.931400 254 68 73 --1.480400 57.287800 -3.167400 -0.962522 0.132164 0.236820 0.293600 0.962800 254 68 73 --1.507500 57.978802 -4.806700 -0.962522 0.132164 0.236820 0.269900 0.982500 254 68 73 --2.321200 55.471001 -5.570800 -0.962522 0.132164 0.236820 0.259500 0.968000 254 68 73 --5.259600 15.490400 -9.599400 0.329887 -0.177209 -0.927239 0.090700 0.228600 0 253 27 --0.294400 16.169500 -7.962700 0.329887 -0.177209 -0.927239 0.039600 0.241800 0 253 27 --2.020300 14.610600 -8.278800 0.329887 -0.177209 -0.927239 0.063600 0.221000 0 253 27 --0.294400 16.169500 -7.962700 0.923351 -0.382504 0.033356 0.282300 0.223700 157 130 53 --1.221800 14.450400 -2.004100 0.923351 -0.382504 0.033356 0.220300 0.236900 0 252 27 --0.971400 14.644800 -6.706400 0.923351 -0.382504 0.033356 0.253200 0.212300 27 229 30 --5.308800 13.910900 -3.738700 -0.281184 -0.501171 0.818391 0.168700 0.220700 23 254 48 --1.766900 13.754900 -2.918700 -0.281184 -0.501171 0.818391 0.216900 0.223600 0 254 27 --1.221800 14.450400 -2.004100 -0.281184 -0.501171 0.818391 0.220300 0.236900 0 254 27 --6.498700 14.643000 -4.000600 -0.281184 -0.501171 0.818391 0.151700 0.232900 91 254 108 --4.649800 14.945700 -8.785600 -0.465679 -0.853476 -0.233927 0.103500 0.222700 254 68 73 --5.308800 13.910900 -3.738700 -0.465679 -0.853476 -0.233927 0.168700 0.220700 254 68 73 --6.498700 14.643000 -4.000600 -0.465679 -0.853476 -0.233927 0.151700 0.232900 254 68 73 --5.259600 15.490400 -9.599400 -0.465679 -0.853476 -0.233927 0.090700 0.228600 254 68 73 --1.957400 20.620800 -1.217700 0.981627 0.066418 0.178877 0.224300 0.297500 0 253 27 --0.899900 21.410400 -8.342700 0.981627 0.066418 0.178877 0.307200 0.297500 1 216 59 --0.835600 22.853901 -8.203000 0.981627 0.066418 0.178877 0.306600 0.313700 2 205 69 --2.189200 21.987900 -1.481800 0.981627 0.066418 0.178877 0.225500 0.313700 0 253 27 --7.174300 32.815300 -5.168000 -0.882053 0.156893 -0.444261 0.136400 0.440500 0 253 27 --6.542300 35.480598 -4.902800 -0.882053 0.156893 -0.444261 0.133600 0.471500 0 253 27 --5.283200 35.952900 -7.814600 -0.882053 0.156893 -0.444261 0.094100 0.470900 0 254 27 --4.970000 33.082802 -8.871300 -0.882053 0.156893 -0.444261 0.086900 0.436600 0 253 27 --5.598500 31.822901 -1.405400 -0.892193 0.169920 0.418473 0.185400 0.436500 133 152 48 --6.542300 35.480598 -4.902800 -0.892193 0.169920 0.418473 0.133600 0.471500 0 253 27 --7.174300 32.815300 -5.168000 -0.892193 0.169920 0.418473 0.136400 0.440500 0 253 27 --4.685700 36.664101 -1.616400 -0.474113 0.127364 0.871203 0.239100 0.661600 13 226 40 --5.598500 31.822901 -1.405400 -0.474113 0.127364 0.871203 0.231500 0.582200 133 152 48 --3.798500 31.552500 -0.386300 -0.474113 0.127364 0.871203 0.257600 0.582200 211 97 63 --2.225300 60.301201 -1.334400 -0.926529 0.086891 0.366052 0.434400 0.187400 254 254 254 --2.209500 61.230499 -1.515000 -0.926529 0.086891 0.366052 0.430900 0.227000 254 254 254 --2.484800 60.667999 -2.078300 -0.926529 0.086891 0.366052 0.409600 0.193000 254 254 254 --8.927200 49.128502 -4.128200 -0.174303 -0.164506 0.970853 0.688900 0.922700 0 253 27 --7.813100 49.342701 -3.886900 -0.174303 -0.164506 0.970853 0.686800 0.944900 0 253 27 --8.184300 53.108700 -3.320400 -0.174303 -0.164506 0.970853 0.746000 0.944900 0 253 27 --9.508400 52.403099 -3.672700 -0.174303 -0.164506 0.970853 0.746000 0.922700 0 253 27 --8.184300 53.108700 -3.320400 -0.526523 0.826719 0.198265 0.746000 0.944900 0 253 27 --8.747800 53.770199 -7.353300 -0.526523 0.826719 0.198265 0.807700 0.944900 0 253 27 --9.827700 52.989700 -7.188500 -0.526523 0.826719 0.198265 0.805500 0.922700 0 253 27 --9.508400 52.403099 -3.672700 -0.526523 0.826719 0.198265 0.746000 0.922700 0 253 27 --8.747800 53.770199 -7.353300 -0.154881 -0.035505 -0.987295 0.807700 0.944900 0 254 27 --7.252500 54.524502 -7.615000 -0.154881 -0.035505 -0.987295 0.812300 0.981700 0 254 27 --6.775800 50.206501 -7.534500 -0.154881 -0.035505 -0.987295 0.879500 0.944900 0 254 27 --8.927200 49.128502 -4.128200 0.001669 -0.169906 0.985459 0.688900 0.922700 0 253 27 --9.508400 52.403099 -3.672700 0.001669 -0.169906 0.985459 0.746000 0.922700 0 253 27 --15.636800 49.715099 -4.015700 0.001669 -0.169906 0.985459 0.746000 0.809400 0 253 27 --14.977100 45.689201 -4.821000 0.001669 -0.169906 0.985459 0.680000 0.809400 0 248 31 --6.624100 53.529800 -2.653700 -0.215818 0.814400 0.538680 0.210200 0.900400 0 253 27 --3.773800 51.093601 -1.034300 -0.215818 0.814400 0.538680 0.256600 0.864400 0 253 27 --1.435700 55.057400 -2.884500 -0.215818 0.814400 0.538680 0.285800 0.931400 0 253 27 --7.252500 54.524502 -7.615000 -0.215818 0.814400 0.538680 0.180400 0.964800 0 253 27 --2.321200 55.471001 -5.570800 -0.276118 0.932071 0.234526 0.259500 0.968000 0 253 27 --7.252500 54.524502 -7.615000 -0.276118 0.932071 0.234526 0.180400 0.964800 0 253 27 --1.435700 55.057400 -2.884500 -0.276118 0.932071 0.234526 0.285800 0.931400 0 253 27 --2.209500 61.230499 -1.515000 -0.942806 0.279456 0.181716 0.430900 0.227000 254 254 254 --2.505800 61.413601 -3.333900 -0.942806 0.279456 0.181716 0.362700 0.212700 254 254 254 --2.484800 60.667999 -2.078300 -0.942806 0.279456 0.181716 0.409600 0.193000 254 254 254 --2.484800 60.667999 -2.078300 -0.998559 -0.051788 -0.014052 0.409600 0.193000 254 254 254 --2.505800 61.413601 -3.333900 -0.998559 -0.051788 -0.014052 0.362700 0.212700 254 254 254 --2.361600 58.652599 -3.405400 -0.998559 -0.051788 -0.014052 0.376100 0.111600 254 254 254 --2.209500 61.230499 -1.515000 -0.107977 -0.909631 0.401138 0.430900 0.227000 254 254 254 --1.340700 61.343498 -1.024900 -0.107977 -0.909631 0.401138 0.467800 0.231800 254 254 254 --1.792100 61.563202 -0.648200 -0.107977 -0.909631 0.401138 0.464300 0.250800 254 254 254 --3.061600 3.537800 -3.461700 0.234488 0.898953 0.369997 0.290200 0.071700 18 0 252 --3.735600 1.816900 0.228400 0.234488 0.898953 0.369997 0.290200 0.030700 18 0 253 --1.568700 1.981700 -0.627100 0.234488 0.898953 0.369997 0.308400 0.040400 18 0 253 --1.553600 3.059500 -4.173500 0.234488 0.898953 0.369997 0.310400 0.073900 18 0 253 --0.626000 0.031700 -8.336200 0.992053 0.072189 0.103052 0.345300 0.097200 18 0 253 --1.553600 3.059500 -4.173500 0.992053 0.072189 0.103052 0.310400 0.073900 18 0 253 --1.568700 1.981700 -0.627100 0.992053 0.072189 0.103052 0.308400 0.040400 18 0 253 --1.825200 -0.024100 0.601200 0.992053 0.072189 0.103052 0.313500 0.023800 18 0 253 --1.825200 -0.024100 0.601200 -0.002195 -0.999985 -0.005027 0.748300 0.055100 18 0 253 --3.769300 -0.009000 1.132900 -0.002195 -0.999985 -0.005027 0.765800 0.040900 18 0 253 --1.712600 0.024900 -9.195700 -0.002195 -0.999985 -0.005027 0.765100 0.147100 19 0 253 --0.626000 0.031700 -8.336200 -0.002195 -0.999985 -0.005027 0.751000 0.138000 19 0 253 --1.712600 0.024900 -9.195700 0.748722 0.074200 -0.658719 0.089900 0.023200 254 68 73 --2.020300 14.610600 -8.278800 0.748722 0.074200 -0.658719 0.060000 0.185800 0 253 27 --0.971400 14.644800 -6.706400 0.748722 0.074200 -0.658719 0.025900 0.185800 0 253 27 --0.626000 0.031700 -8.336200 0.748722 0.074200 -0.658719 0.075600 0.021500 254 68 73 --1.568700 1.981700 -0.627100 0.270273 0.452545 0.849798 0.308400 0.040400 18 0 253 --3.735600 1.816900 0.228400 0.270273 0.452545 0.849798 0.290200 0.030700 18 0 253 --3.769300 -0.009000 1.132900 0.270273 0.452545 0.849798 0.289700 0.012400 18 0 253 --1.825200 -0.024100 0.601200 0.270273 0.452545 0.849798 0.313500 0.023800 19 0 253 --4.089400 2.633000 -5.031300 -0.957442 -0.073711 -0.279054 0.275500 0.071900 188 254 194 --3.252600 0.001600 -8.591000 -0.957442 -0.073711 -0.279054 0.238500 0.103000 0 254 27 --5.176800 -0.025000 -0.598300 -0.957442 -0.073711 -0.279054 0.266200 0.023600 254 254 254 --5.390300 1.568200 -1.670300 -0.957442 -0.073711 -0.279054 0.274000 0.039600 254 254 254 --3.769300 -0.009000 1.132900 -0.738109 0.308147 0.600201 0.289700 0.012400 18 0 253 --3.735600 1.816900 0.228400 -0.738109 0.308147 0.600201 0.290200 0.030700 18 0 253 --5.390300 1.568200 -1.670300 -0.738109 0.308147 0.600201 0.274000 0.039600 18 0 253 --5.176800 -0.025000 -0.598300 -0.738109 0.308147 0.600201 0.266200 0.023600 18 0 253 --5.390300 1.568200 -1.670300 -0.560649 0.811720 0.163660 0.274000 0.039600 18 0 253 --3.735600 1.816900 0.228400 -0.560649 0.811720 0.163660 0.290200 0.030700 18 0 253 --3.061600 3.537800 -3.461700 -0.560649 0.811720 0.163660 0.290200 0.071700 18 0 252 --4.089400 2.633000 -5.031300 -0.560649 0.811720 0.163660 0.275500 0.071900 18 0 252 --3.061600 3.537800 -3.461700 -0.452521 -0.074303 0.888653 0.164000 0.067400 18 0 252 --1.766900 13.754900 -2.918700 -0.452521 -0.074303 0.888653 0.193300 0.185800 0 254 27 --5.308800 13.910900 -3.738700 -0.452521 -0.074303 0.888653 0.154100 0.185800 14 254 41 --4.089400 2.633000 -5.031300 -0.452521 -0.074303 0.888653 0.145000 0.057700 18 0 252 --2.020300 14.610600 -8.278800 0.001520 -0.830500 -0.557017 0.063600 0.221000 0 253 27 --4.649800 14.945700 -8.785600 0.001520 -0.830500 -0.557017 0.103500 0.222700 0 253 27 --5.259600 15.490400 -9.599400 0.001520 -0.830500 -0.557017 0.090700 0.228600 0 253 27 --2.020300 14.610600 -8.278800 0.649568 -0.634088 -0.419515 0.063600 0.221000 0 253 27 --0.294400 16.169500 -7.962700 0.649568 -0.634088 -0.419515 0.039600 0.241800 0 253 27 --0.971400 14.644800 -6.706400 0.649568 -0.634088 -0.419515 0.028400 0.216500 0 253 27 --5.426000 21.341299 -8.131100 -0.959570 0.028386 -0.280036 0.106600 0.297500 254 254 254 --6.827700 20.858999 -3.051400 -0.959570 0.028386 -0.280036 0.166500 0.297500 254 254 254 --6.824000 22.193899 -3.254300 -0.959570 0.028386 -0.280036 0.165700 0.313700 254 254 254 --5.317800 22.936800 -8.014600 -0.959570 0.028386 -0.280036 0.105500 0.313700 254 254 254 --0.845100 29.891001 -9.491500 -0.126028 -0.127868 -0.983751 0.041700 0.395800 0 253 27 --0.835600 22.853901 -8.203000 -0.126028 -0.127868 -0.983751 0.053300 0.313700 0 253 27 --5.317800 22.936800 -8.014600 -0.126028 -0.127868 -0.983751 0.105500 0.313700 0 253 27 --5.595300 29.761600 -8.491100 -0.126028 -0.127868 -0.983751 0.097300 0.399700 0 254 27 --1.957400 20.620800 -1.217700 -0.346283 0.131313 0.928895 0.224300 0.297500 242 254 242 --2.189200 21.987900 -1.481800 -0.346283 0.131313 0.928895 0.225500 0.313700 218 254 222 --6.824000 22.193899 -3.254300 -0.346283 0.131313 0.928895 0.165700 0.313700 99 254 117 --6.827700 20.858999 -3.051400 -0.346283 0.131313 0.928895 0.166500 0.297500 166 254 175 --0.605400 59.453602 0.006800 -0.276378 -0.886938 0.370075 0.508800 0.156900 254 254 254 -0.000000 59.375900 0.272700 -0.276378 -0.886938 0.370075 0.533800 0.153800 254 254 254 --0.226300 59.631802 0.717000 -0.276378 -0.886938 0.370075 0.529800 0.167300 254 254 254 --21.936399 43.055199 -3.733600 -0.245050 -0.199318 0.948801 0.691800 0.680200 24 182 75 --22.348700 46.932201 -2.822400 -0.245050 -0.199318 0.948801 0.746000 0.680200 72 195 37 --23.323000 46.228001 -3.425200 -0.245050 -0.199318 0.948801 0.746000 0.661900 26 230 29 --23.265499 44.290199 -3.614200 -0.245050 -0.199318 0.948801 0.710900 0.661900 37 214 37 --22.105101 44.119598 -7.074000 -0.680722 -0.210597 -0.701617 0.862200 0.680200 254 254 254 --23.273100 44.479099 -6.170500 -0.680722 -0.210597 -0.701617 0.835600 0.661900 254 254 254 --23.881300 46.267799 -5.995500 -0.680722 -0.210597 -0.701617 0.800900 0.661900 254 254 254 --23.337700 47.268200 -6.945000 -0.680722 -0.210597 -0.701617 0.809900 0.680200 254 254 254 --22.348700 46.932201 -2.822400 -0.710630 0.673907 0.202126 0.746000 0.680200 72 195 37 --23.337700 47.268200 -6.945000 -0.710630 0.673907 0.202126 0.809900 0.680200 0 254 27 --23.881300 46.267799 -5.995500 -0.710630 0.673907 0.202126 0.800900 0.661900 0 253 27 --23.323000 46.228001 -3.425200 -0.710630 0.673907 0.202126 0.746000 0.661900 26 230 29 --21.936399 43.055199 -3.733600 -0.575702 -0.803125 -0.153486 0.691800 0.680200 254 68 73 --23.265499 44.290199 -3.614200 -0.575702 -0.803125 -0.153486 0.710900 0.661900 254 68 73 --23.273100 44.479099 -6.170500 -0.575702 -0.803125 -0.153486 0.665900 0.661900 254 68 73 --22.105101 44.119598 -7.074000 -0.575702 -0.803125 -0.153486 0.641700 0.680200 254 68 73 --23.323000 46.228001 -3.425200 0.234519 0.052147 0.970712 0.746000 0.661900 26 230 29 --24.935400 45.742901 -3.288800 0.234519 0.052147 0.970712 0.746000 0.630500 80 189 39 --24.446100 44.099098 -3.039500 0.234519 0.052147 0.970712 0.723200 0.630500 144 136 53 --23.265499 44.290199 -3.614200 0.234519 0.052147 0.970712 0.710900 0.661900 37 214 37 --23.273100 44.479099 -6.170500 -0.051663 0.047611 -0.997529 0.835600 0.661900 16 254 41 --25.718901 44.407902 -5.989100 -0.051663 0.047611 -0.997529 0.812100 0.630500 47 254 71 --25.982700 45.641201 -5.974700 -0.051663 0.047611 -0.997529 0.796200 0.630500 53 254 75 --23.881300 46.267799 -5.995500 -0.051663 0.047611 -0.997529 0.800900 0.661900 23 254 48 --23.881300 46.267799 -5.995500 -0.283035 0.956157 0.075198 0.800900 0.661900 0 253 27 --25.982700 45.641201 -5.974700 -0.283035 0.956157 0.075198 0.796200 0.630500 0 253 27 --24.935400 45.742901 -3.288800 -0.283035 0.956157 0.075198 0.746000 0.630500 80 189 39 --23.323000 46.228001 -3.425200 -0.283035 0.956157 0.075198 0.746000 0.661900 26 230 29 --23.265499 44.290199 -3.614200 0.050680 -0.993534 -0.101596 0.710900 0.661900 0 254 27 --24.446100 44.099098 -3.039500 0.050680 -0.993534 -0.101596 0.723200 0.630500 0 254 27 --25.718901 44.407902 -5.989100 0.050680 -0.993534 -0.101596 0.677100 0.630500 47 254 71 --23.273100 44.479099 -6.170500 0.050680 -0.993534 -0.101596 0.665900 0.661900 16 254 41 --3.798500 31.552500 -0.386300 -0.302820 0.047342 0.951871 0.257600 0.582200 211 97 63 -0.000000 31.552500 0.128500 -0.302820 0.047342 0.951871 0.310700 0.582200 203 101 62 -0.000000 37.009800 0.550700 -0.302820 0.047342 0.951871 0.310700 0.661600 172 124 55 --4.685700 36.664101 -1.616400 -0.302820 0.047342 0.951871 0.239100 0.661600 13 226 40 --27.058001 43.733101 -1.471100 -0.612973 -0.035197 0.789319 0.783900 0.527900 254 68 73 --28.100901 44.177299 -2.470000 -0.612973 -0.035197 0.789319 0.756100 0.537200 231 80 64 --27.637899 42.321201 -1.984400 -0.612973 -0.035197 0.789319 0.780200 0.502700 254 68 73 --26.775499 43.007000 -1.492900 -0.612973 -0.035197 0.789319 0.799700 0.523000 254 68 73 --27.102699 45.320202 -5.735100 -0.288380 -0.175341 -0.941325 0.706300 0.587600 75 254 93 --25.982700 45.641201 -5.974700 -0.288380 -0.175341 -0.941325 0.701400 0.609900 53 254 75 --25.718901 44.407902 -5.989100 -0.288380 -0.175341 -0.941325 0.674700 0.592000 47 254 71 --26.246300 42.901402 -5.383600 -0.288380 -0.175341 -0.941325 0.663100 0.553800 20 254 46 --24.935400 45.742901 -3.288800 -0.215944 0.976143 0.022647 0.774000 0.616500 80 254 99 --25.982700 45.641201 -5.974700 -0.215944 0.976143 0.022647 0.701400 0.609900 0 254 27 --27.102699 45.320202 -5.735100 -0.215944 0.976143 0.022647 0.706300 0.587600 0 254 27 --26.753901 45.398300 -2.858600 -0.215944 0.976143 0.022647 0.766000 0.574200 163 254 174 --24.446100 44.099098 -3.039500 0.806467 -0.440747 -0.394147 0.815000 0.599300 0 249 30 --26.246300 42.901402 -5.383600 0.806467 -0.440747 -0.394147 0.880100 0.569900 19 213 43 --25.718901 44.407902 -5.989100 0.806467 -0.440747 -0.394147 0.885900 0.607200 46 208 34 --28.380600 42.330502 -3.056600 -0.840529 -0.044209 0.539960 0.741600 0.498200 254 68 73 --27.637899 42.321201 -1.984400 -0.840529 -0.044209 0.539960 0.780200 0.502700 254 68 73 --28.100901 44.177299 -2.470000 -0.840529 -0.044209 0.539960 0.756100 0.537200 254 68 73 --28.697901 44.238201 -3.477500 -0.840529 -0.044209 0.539960 0.737900 0.538900 254 68 73 --28.380600 42.330502 -3.056600 -0.979149 -0.175223 -0.102788 0.741600 0.498200 254 254 254 --28.697901 44.238201 -3.477500 -0.979149 -0.175223 -0.102788 0.737900 0.538900 254 254 254 --28.543800 44.178001 -4.651400 -0.979149 -0.175223 -0.102788 0.718600 0.545700 254 254 254 --28.292801 42.543098 -4.446800 -0.979149 -0.175223 -0.102788 0.704200 0.514300 254 254 254 --26.753901 45.398300 -2.858600 -0.560189 0.737837 0.376544 0.766000 0.574200 163 125 53 --28.697901 44.238201 -3.477500 -0.560189 0.737837 0.376544 0.737900 0.538900 97 175 41 --28.100901 44.177299 -2.470000 -0.560189 0.737837 0.376544 0.756100 0.537200 231 80 64 --24.935400 45.742901 -3.288800 0.484106 0.321222 0.813915 0.774000 0.616500 80 189 39 --26.117701 44.487900 -2.198700 0.484106 0.321222 0.813915 0.788200 0.565100 242 74 67 --25.587200 43.557701 -2.038700 0.484106 0.321222 0.813915 0.806300 0.556900 253 67 73 --24.446100 44.099098 -3.039500 0.484106 0.321222 0.813915 0.815000 0.599300 144 136 53 --24.446100 44.099098 -3.039500 0.765721 -0.642695 -0.024780 0.815000 0.599300 0 249 30 --25.587200 43.557701 -2.038700 0.765721 -0.642695 -0.024780 0.806300 0.556900 0 252 27 --25.491899 42.827301 -2.370100 0.765721 -0.642695 -0.024780 0.813300 0.554500 0 245 34 --26.246300 42.901402 -5.383600 0.765721 -0.642695 -0.024780 0.880100 0.569900 19 213 43 --26.753901 45.398300 -2.858600 0.068715 0.616533 0.784324 0.766000 0.574200 163 125 53 --26.117701 44.487900 -2.198700 0.068715 0.616533 0.784324 0.788200 0.565100 242 74 67 --24.935400 45.742901 -3.288800 0.068715 0.616533 0.784324 0.774000 0.616500 80 189 39 -0.000000 31.552500 0.128500 -0.069551 -0.031626 0.997077 0.310700 0.582200 203 101 62 --3.798500 31.552500 -0.386300 -0.069551 -0.031626 0.997077 0.257600 0.582200 211 97 63 --3.463700 23.872801 -0.356700 -0.069551 -0.031626 0.997077 0.261000 0.472800 254 68 73 -0.000000 24.132099 -0.356700 -0.069551 -0.031626 0.997077 0.310700 0.472800 243 74 70 --2.225300 60.301201 -1.334400 -0.789816 -0.226827 0.569860 0.434400 0.187400 254 254 254 --2.043500 58.694401 -1.722000 -0.789816 -0.226827 0.569860 0.434700 0.119000 254 247 247 --0.793500 58.611801 -0.022400 -0.789816 -0.226827 0.569860 0.506200 0.129800 254 246 246 --0.793500 58.611801 -0.022400 -0.800106 -0.097243 0.591924 0.506200 0.129800 254 246 246 --2.043500 58.694401 -1.722000 -0.800106 -0.097243 0.591924 0.434700 0.119000 254 247 247 --2.071800 58.080299 -1.837600 -0.800106 -0.097243 0.591924 0.435700 0.090000 254 224 225 --0.860300 57.339199 -0.345300 -0.800106 -0.097243 0.591924 0.507000 0.087800 254 172 174 --2.071800 58.080299 -1.837600 -0.594038 -0.791272 0.144939 0.435700 0.090000 254 224 225 --1.480400 57.287800 -3.167400 -0.594038 -0.791272 0.144939 0.435700 0.022900 254 153 157 --0.509500 56.862801 -2.081200 -0.594038 -0.791272 0.144939 0.497100 0.026700 254 129 132 --0.860300 57.339199 -0.345300 -0.594038 -0.791272 0.144939 0.507000 0.087800 254 172 174 --0.179900 61.274700 0.058500 -0.090663 0.188705 0.977840 0.525600 0.223900 0 254 27 -0.000000 61.912998 -0.048000 -0.090663 0.188705 0.977840 0.533800 0.254400 0 254 27 --0.785400 61.539799 -0.048800 -0.090663 0.188705 0.977840 0.505500 0.247600 0 254 27 --15.884600 46.520500 -7.855800 -0.098387 0.080586 -0.991880 0.879500 0.788400 0 250 27 --17.208200 49.477699 -7.512200 -0.098387 0.080586 -0.991880 0.810800 0.788400 6 242 27 --16.136200 50.023998 -7.546200 -0.098387 0.080586 -0.991880 0.808600 0.809400 0 249 27 --14.885000 46.974701 -7.946000 -0.098387 0.080586 -0.991880 0.879500 0.809400 0 251 27 --15.636800 49.715099 -4.015700 -0.436830 0.889212 0.135946 0.746000 0.809400 0 253 27 --16.136200 50.023998 -7.546200 -0.436830 0.889212 0.135946 0.808600 0.809400 0 253 27 --17.208200 49.477699 -7.512200 -0.436830 0.889212 0.135946 0.810800 0.788400 0 253 27 --16.810101 49.139900 -3.928800 -0.436830 0.889212 0.135946 0.746000 0.788400 0 253 27 --16.192200 44.960400 -4.877100 0.435886 -0.826304 -0.356686 0.677700 0.788400 0 236 42 --15.884600 46.520500 -7.855800 0.435886 -0.826304 -0.356686 0.626900 0.788400 0 253 27 --14.885000 46.974701 -7.946000 0.435886 -0.826304 -0.356686 0.626900 0.809400 0 253 27 --14.977100 45.689201 -4.821000 0.435886 -0.826304 -0.356686 0.680000 0.809400 0 248 31 --16.810101 49.139900 -3.928800 0.116417 -0.190205 0.974818 0.746000 0.788400 236 81 69 --16.192200 44.960400 -4.877100 0.116417 -0.190205 0.974818 0.677700 0.788400 200 90 77 --14.977100 45.689201 -4.821000 0.116417 -0.190205 0.974818 0.680000 0.809400 174 120 62 --15.636800 49.715099 -4.015700 0.116417 -0.190205 0.974818 0.746000 0.809400 218 94 66 --13.779500 47.417198 -7.715300 -0.030432 0.115440 -0.992848 0.879500 0.834400 0 253 27 --14.989100 50.565300 -7.297200 -0.030432 0.115440 -0.992848 0.805300 0.834400 0 252 27 --9.827700 52.989700 -7.188500 -0.030432 0.115440 -0.992848 0.805500 0.922700 0 253 27 --8.756500 49.321098 -7.632900 -0.030432 0.115440 -0.992848 0.879500 0.922700 0 253 27 --15.636800 49.715099 -4.015700 -0.447311 0.883265 0.140554 0.746000 0.809400 0 253 27 --14.989100 50.565300 -7.297200 -0.447311 0.883265 0.140554 0.805300 0.834400 0 253 27 --16.136200 50.023998 -7.546200 -0.447311 0.883265 0.140554 0.808600 0.809400 0 253 27 --13.779500 47.417198 -7.715300 0.409629 -0.847844 -0.336697 0.626900 0.829400 0 253 27 --14.977100 45.689201 -4.821000 0.409629 -0.847844 -0.336697 0.680000 0.809400 0 253 27 --14.885000 46.974701 -7.946000 0.409629 -0.847844 -0.336697 0.626900 0.809400 0 251 27 --0.971400 14.644800 -6.706400 0.777065 -0.629233 0.015366 0.253200 0.212300 27 229 30 --1.221800 14.450400 -2.004100 0.777065 -0.629233 0.015366 0.220300 0.236900 0 252 27 --1.766900 13.754900 -2.918700 0.777065 -0.629233 0.015366 0.216900 0.223600 0 253 27 --26.117701 44.487900 -2.198700 0.374471 0.258120 0.890587 0.788200 0.565100 242 74 67 --27.058001 43.733101 -1.471100 0.374471 0.258120 0.890587 0.783900 0.527900 254 68 73 --26.775499 43.007000 -1.492900 0.374471 0.258120 0.890587 0.799700 0.523000 254 68 73 --25.587200 43.557701 -2.038700 0.374471 0.258120 0.890587 0.806300 0.556900 253 67 73 --25.587200 43.557701 -2.038700 0.386633 -0.610879 0.690899 0.806300 0.556900 0 252 27 --26.775499 43.007000 -1.492900 0.386633 -0.610879 0.690899 0.799700 0.523000 0 253 27 --27.637899 42.321201 -1.984400 0.386633 -0.610879 0.690899 0.816200 0.507300 0 253 27 --25.491899 42.827301 -2.370100 0.386633 -0.610879 0.690899 0.813300 0.554500 0 245 34 --26.117701 44.487900 -2.198700 -0.202601 0.798645 0.566673 0.788200 0.565100 242 74 67 --28.100901 44.177299 -2.470000 -0.202601 0.798645 0.566673 0.756100 0.537200 231 80 64 --27.058001 43.733101 -1.471100 -0.202601 0.798645 0.566673 0.783900 0.527900 254 68 73 --8.184300 53.108700 -3.320400 -0.347207 -0.172872 0.921717 0.746000 0.944900 0 253 27 --7.813100 49.342701 -3.886900 -0.347207 -0.172872 0.921717 0.686800 0.944900 0 253 27 --6.624100 53.529800 -2.653700 -0.347207 -0.172872 0.921717 0.746000 0.986600 0 253 27 --8.747800 53.770199 -7.353300 -0.055764 0.062731 -0.996471 0.807700 0.944900 0 254 27 --6.775800 50.206501 -7.534500 -0.055764 0.062731 -0.996471 0.879500 0.944900 0 254 27 --8.756500 49.321098 -7.632900 -0.055764 0.062731 -0.996471 0.879500 0.922700 0 254 27 --9.827700 52.989700 -7.188500 -0.055764 0.062731 -0.996471 0.805500 0.922700 0 254 27 --28.543800 44.178001 -4.651400 -0.562493 0.826801 -0.001192 0.718600 0.545700 0 254 27 --28.697901 44.238201 -3.477500 -0.562493 0.826801 -0.001192 0.737900 0.538900 97 254 114 --26.753901 45.398300 -2.858600 -0.562493 0.826801 -0.001192 0.766000 0.574200 163 254 174 --27.102699 45.320202 -5.735100 -0.562493 0.826801 -0.001192 0.706300 0.587600 0 254 27 --26.246300 42.901402 -5.383600 0.106461 -0.983873 -0.143736 0.880100 0.569900 20 231 27 --28.380600 42.330502 -3.056600 0.106461 -0.983873 -0.143736 0.853500 0.507000 0 252 27 --28.292801 42.543098 -4.446800 0.106461 -0.983873 -0.143736 0.879400 0.523100 5 243 27 --28.100901 44.177299 -2.470000 -0.192584 0.484112 0.853550 0.756100 0.537200 231 80 64 --26.117701 44.487900 -2.198700 -0.192584 0.484112 0.853550 0.788200 0.565100 242 74 67 --26.753901 45.398300 -2.858600 -0.192584 0.484112 0.853550 0.766000 0.574200 163 125 53 --1.712600 0.024900 -9.195700 0.013475 -0.999909 -0.000374 0.765100 0.147100 254 254 254 --3.769300 -0.009000 1.132900 0.013475 -0.999909 -0.000374 0.765800 0.040900 0 254 27 --5.176800 -0.025000 -0.598300 0.013475 -0.999909 -0.000374 0.783900 0.050100 0 254 27 --3.252600 0.001600 -8.591000 0.013475 -0.999909 -0.000374 0.777900 0.139800 254 254 254 -0.000000 61.912998 -0.048000 -0.158526 0.331625 0.929997 0.533800 0.254400 0 254 27 -0.000000 62.775902 -0.355700 -0.158526 0.331625 0.929997 0.533900 0.286800 0 254 27 --0.785400 61.539799 -0.048800 -0.158526 0.331625 0.929997 0.505500 0.247600 0 254 27 --0.340300 31.400700 -9.922000 0.943854 -0.327649 -0.042263 0.348900 0.396000 0 253 27 --0.425600 30.069099 -1.503600 0.943854 -0.327649 -0.042263 0.251300 0.411900 0 253 27 --0.845100 29.891001 -9.491500 0.943854 -0.327649 -0.042263 0.339400 0.379800 0 253 27 -0.000000 54.522099 -2.187600 0.000000 -0.045410 0.998968 0.310700 0.919600 235 81 69 -0.000000 56.862801 -2.081200 0.000000 -0.045410 0.998968 0.310500 0.953100 254 127 130 --0.509500 56.862801 -2.081200 0.000000 -0.045410 0.998968 0.307800 0.953500 254 129 132 --0.509500 56.862801 -2.081200 -0.098448 -0.971038 0.217700 0.497100 0.026700 254 129 132 -0.000000 56.862801 -2.081200 -0.098448 -0.971038 0.217700 0.533800 0.019000 254 127 130 -0.000000 57.320400 0.190300 -0.098448 -0.971038 0.217700 0.533800 0.095300 254 190 192 --0.860300 57.339199 -0.345300 -0.098448 -0.971038 0.217700 0.507000 0.087800 254 172 174 --5.598500 31.822901 -1.405400 -0.881296 0.021519 0.472075 0.185400 0.436500 133 152 48 --7.453900 29.910801 -4.782000 -0.881296 0.021519 0.472075 0.143900 0.408700 0 253 27 --6.824000 22.193899 -3.254300 -0.881296 0.021519 0.472075 0.165700 0.313700 99 254 117 --6.824000 22.193899 -3.254300 -0.921164 -0.108973 -0.373607 0.165700 0.313700 254 68 73 --7.453900 29.910801 -4.782000 -0.921164 -0.108973 -0.373607 0.143900 0.408700 254 68 73 --5.595300 29.761600 -8.491100 -0.921164 -0.108973 -0.373607 0.097300 0.399700 254 68 73 --5.317800 22.936800 -8.014600 -0.921164 -0.108973 -0.373607 0.105500 0.313700 254 68 73 --3.798500 31.552500 -0.386300 -0.402805 -0.146650 0.903461 0.210900 0.433400 211 97 63 --5.598500 31.822901 -1.405400 -0.402805 -0.146650 0.903461 0.185400 0.436500 133 152 48 --6.824000 22.193899 -3.254300 -0.402805 -0.146650 0.903461 0.165700 0.313700 99 254 117 --2.189200 21.987900 -1.481800 -0.402805 -0.146650 0.903461 0.225500 0.313700 218 254 222 --0.340300 31.400700 -9.922000 -0.229486 -0.108632 -0.967231 0.033600 0.413900 0 253 27 --0.845100 29.891001 -9.491500 -0.229486 -0.108632 -0.967231 0.041700 0.395800 0 253 27 --5.595300 29.761600 -8.491100 -0.229486 -0.108632 -0.967231 0.097300 0.399700 0 254 27 --4.970000 33.082802 -8.871300 -0.229486 -0.108632 -0.967231 0.086900 0.436600 0 254 27 --0.835600 22.853901 -8.203000 0.992234 -0.110109 0.057862 0.306600 0.313700 2 205 69 --0.845100 29.891001 -9.491500 0.992234 -0.110109 0.057862 0.339400 0.379800 0 241 37 --0.425600 30.069099 -1.503600 0.992234 -0.110109 0.057862 0.251300 0.411900 0 253 27 --2.189200 21.987900 -1.481800 0.992234 -0.110109 0.057862 0.225500 0.313700 0 253 27 --2.162800 35.743500 -9.599900 -0.324262 0.084100 -0.942221 0.052600 0.465300 0 254 27 --0.340300 31.400700 -9.922000 -0.324262 0.084100 -0.942221 0.033600 0.413900 0 253 27 --4.970000 33.082802 -8.871300 -0.324262 0.084100 -0.942221 0.086900 0.436600 0 254 27 --5.283200 35.952900 -7.814600 -0.324262 0.084100 -0.942221 0.094100 0.470900 0 254 27 --5.283200 35.952900 -7.814600 -0.889642 0.311183 -0.334218 0.142000 0.631800 0 254 27 --6.542300 35.480598 -4.902800 -0.889642 0.311183 -0.334218 0.182300 0.631800 0 254 27 --5.919200 37.619099 -4.570300 -0.889642 0.311183 -0.334218 0.183200 0.661600 0 254 27 --5.919200 37.619099 -4.570300 -0.882633 0.186716 0.431389 0.183200 0.661600 0 253 27 --6.542300 35.480598 -4.902800 -0.882633 0.186716 0.431389 0.182300 0.631800 0 253 27 --5.598500 31.822901 -1.405400 -0.882633 0.186716 0.431389 0.231500 0.582200 133 152 48 --4.685700 36.664101 -1.616400 -0.882633 0.186716 0.431389 0.239100 0.661600 13 240 28 --0.474100 61.294899 -0.607800 -0.490764 0.255871 0.832875 0.499900 0.227200 0 254 27 --1.340700 61.343498 -1.024900 -0.490764 0.255871 0.832875 0.467800 0.231800 0 254 27 --2.225300 60.301201 -1.334400 -0.490764 0.255871 0.832875 0.434400 0.187400 0 254 27 --0.596000 60.268700 -0.255900 -0.490764 0.255871 0.832875 0.502600 0.185300 0 254 27 --1.340700 61.343498 -1.024900 -0.199083 -0.932669 0.300824 0.467800 0.231800 254 254 254 --0.474100 61.294899 -0.607800 -0.199083 -0.932669 0.300824 0.499900 0.227200 254 254 254 --0.785400 61.539799 -0.048800 -0.199083 -0.932669 0.300824 0.505500 0.247600 254 254 254 --1.792100 61.563202 -0.648200 -0.199083 -0.932669 0.300824 0.464300 0.250800 254 254 254 -0.000000 45.235802 -8.516300 -0.205813 0.023108 -0.978318 0.061400 0.762800 0 253 27 -0.000000 38.221600 -8.073300 -0.205813 0.023108 -0.978318 0.073200 0.661600 0 253 27 --2.827600 38.171799 -8.088300 -0.205813 0.023108 -0.978318 0.114500 0.661600 0 253 27 --5.495700 46.043098 -6.732400 -0.205813 0.023108 -0.978318 0.139900 0.788400 0 253 27 --0.425600 30.069099 -1.503600 0.289736 -0.060654 0.955183 0.251300 0.411900 254 254 254 --3.798500 31.552500 -0.386300 0.289736 -0.060654 0.955183 0.210900 0.433400 254 254 254 --2.189200 21.987900 -1.481800 0.289736 -0.060654 0.955183 0.225500 0.313700 254 254 254 -0.000000 31.547001 -9.939100 0.347255 -0.926523 -0.144807 0.349900 0.400200 254 68 73 -0.000000 30.215401 -1.522000 0.347255 -0.926523 -0.144807 0.252400 0.417000 254 68 73 --0.425600 30.069099 -1.503600 0.347255 -0.926523 -0.144807 0.251300 0.411900 254 68 73 --0.340300 31.400700 -9.922000 0.347255 -0.926523 -0.144807 0.348900 0.396000 254 68 73 --21.061199 44.183601 -7.611200 -0.028361 0.039319 -0.998824 0.879500 0.705100 52 208 31 --22.585199 48.327702 -7.594400 -0.028361 0.039319 -0.998824 0.812700 0.705100 104 170 42 --17.208200 49.477699 -7.512200 -0.028361 0.039319 -0.998824 0.810800 0.788400 6 242 27 --15.884600 46.520500 -7.855800 -0.028361 0.039319 -0.998824 0.879500 0.788400 0 250 27 --22.348700 46.932201 -2.822400 -0.723103 0.652497 0.226650 0.746000 0.680200 72 195 37 --22.585199 48.327702 -7.594400 -0.723103 0.652497 0.226650 0.812700 0.705100 0 253 27 --23.337700 47.268200 -6.945000 -0.723103 0.652497 0.226650 0.809900 0.680200 0 254 27 --21.061199 44.183601 -7.611200 -0.095048 -0.949863 -0.297868 0.626900 0.699700 52 208 31 --21.936399 43.055199 -3.733600 -0.095048 -0.949863 -0.297868 0.691800 0.680200 0 253 27 --22.105101 44.119598 -7.074000 -0.095048 -0.949863 -0.297868 0.641700 0.680200 30 225 27 -0.000000 59.375900 0.272700 0.000000 -0.866545 0.499100 0.533800 0.153800 254 254 254 -0.226300 59.631802 0.717000 0.000000 -0.866545 0.499100 0.537800 0.167300 254 254 254 --0.226300 59.631802 0.717000 0.000000 -0.866545 0.499100 0.529800 0.167300 254 254 254 --0.163800 60.672798 0.405300 0.000000 0.286842 0.957978 0.529100 0.200900 0 254 27 --0.226300 59.631802 0.717000 0.000000 0.286842 0.957978 0.529800 0.167300 0 254 27 -0.226300 59.631802 0.717000 0.000000 0.286842 0.957978 0.537800 0.167300 0 254 27 -0.163800 60.672798 0.405300 0.000000 0.286842 0.957978 0.538500 0.200900 0 254 27 --0.340300 31.400700 -9.922000 -0.012671 0.074070 -0.997173 0.033600 0.413900 0 253 27 --2.162800 35.743500 -9.599900 -0.012671 0.074070 -0.997173 0.052600 0.465300 0 253 27 -0.000000 35.795200 -9.599900 -0.012671 0.074070 -0.997173 0.027500 0.464800 0 253 27 -0.000000 31.547001 -9.939100 -0.012671 0.074070 -0.997173 0.029600 0.415400 0 253 27 --5.919200 37.619099 -4.570300 -0.561685 0.544798 -0.622660 0.183200 0.661600 0 254 27 --2.827600 38.171799 -8.088300 -0.561685 0.544798 -0.622660 0.114500 0.661600 0 254 27 --2.162800 35.743500 -9.599900 -0.561685 0.544798 -0.622660 0.096500 0.631800 0 254 27 --5.283200 35.952900 -7.814600 -0.561685 0.544798 -0.622660 0.142000 0.631800 0 254 27 --28.543800 44.178001 -4.651400 -0.410462 -0.233070 -0.881589 0.718600 0.545700 254 254 254 --27.102699 45.320202 -5.735100 -0.410462 -0.233070 -0.881589 0.706300 0.587600 254 254 254 --26.246300 42.901402 -5.383600 -0.410462 -0.233070 -0.881589 0.663100 0.553800 254 254 254 --28.292801 42.543098 -4.446800 -0.410462 -0.233070 -0.881589 0.704200 0.514300 254 254 254 --25.491899 42.827301 -2.370100 0.201709 -0.968181 -0.148119 0.813300 0.554500 0 254 27 --27.637899 42.321201 -1.984400 0.201709 -0.968181 -0.148119 0.816200 0.507300 0 254 27 --28.380600 42.330502 -3.056600 0.201709 -0.968181 -0.148119 0.853500 0.507000 0 254 27 --26.246300 42.901402 -5.383600 0.185319 -0.980147 -0.070494 0.880100 0.569900 20 231 27 --25.491899 42.827301 -2.370100 0.185319 -0.980147 -0.070494 0.813300 0.554500 0 253 27 --28.380600 42.330502 -3.056600 0.185319 -0.980147 -0.070494 0.853500 0.507000 0 252 27 --0.179900 61.274700 0.058500 0.000000 0.499235 0.866467 0.525600 0.223900 0 254 27 --0.163800 60.672798 0.405300 0.000000 0.499235 0.866467 0.529100 0.200900 0 254 27 -0.163800 60.672798 0.405300 0.000000 0.499235 0.866467 0.538500 0.200900 0 254 27 -0.179900 61.274700 0.058500 0.000000 0.499235 0.866467 0.542100 0.223900 0 254 27 -0.000000 61.912998 -0.048000 0.000000 0.164575 0.986365 0.533800 0.254400 0 254 27 --0.179900 61.274700 0.058500 0.000000 0.164575 0.986365 0.525600 0.223900 0 254 27 -0.179900 61.274700 0.058500 0.000000 0.164575 0.986365 0.542100 0.223900 0 254 27 --2.162800 35.743500 -9.599900 -0.008224 0.529675 -0.848161 0.096500 0.631800 0 253 27 --2.827600 38.171799 -8.088300 -0.008224 0.529675 -0.848161 0.114500 0.661600 0 253 27 -0.000000 38.221600 -8.073300 -0.008224 0.529675 -0.848161 0.073200 0.661600 0 253 27 -0.000000 35.795200 -9.599900 -0.008224 0.529675 -0.848161 0.068100 0.631800 0 253 27 -4.620900 14.945700 -8.516100 0.163464 0.013069 -0.986463 0.912200 0.175600 0 253 27 -3.252600 0.001600 -8.591000 0.163464 0.013069 -0.986463 0.909400 0.032900 235 80 66 -1.712600 0.024900 -9.195700 0.163464 0.013069 -0.986463 0.925400 0.031900 254 68 73 -1.456400 14.610600 -8.695100 0.163464 0.013069 -0.986463 0.943400 0.175600 0 253 27 -4.089400 2.633000 -5.031300 0.982688 -0.088487 -0.162770 0.873900 0.060000 18 0 253 -3.252600 0.001600 -8.591000 0.982688 -0.088487 -0.162770 0.909400 0.032900 19 0 253 -4.620900 14.945700 -8.516100 0.982688 -0.088487 -0.162770 0.912200 0.175600 0 247 31 -5.308800 13.910900 -3.738700 0.982688 -0.088487 -0.162770 0.859000 0.175600 0 253 27 -1.553600 3.059500 -4.173500 -0.398905 -0.098999 0.911633 0.841100 0.058900 18 0 253 -3.061600 3.537800 -3.461700 -0.398905 -0.098999 0.911633 0.856300 0.067800 18 0 253 -1.766900 13.754900 -2.918700 -0.398905 -0.098999 0.911633 0.824200 0.175600 0 254 27 -1.553600 3.059500 -4.173500 -0.983093 0.009545 0.182857 0.841100 0.058900 254 254 254 -1.766900 13.754900 -2.918700 -0.983093 0.009545 0.182857 0.824200 0.175600 254 254 254 -1.239800 14.644800 -6.465300 -0.983093 0.009545 0.182857 0.795300 0.175600 254 254 254 -0.626000 0.031700 -8.336200 -0.983093 0.009545 0.182857 0.808600 0.019600 254 254 254 -5.495700 46.043098 -6.732400 0.860977 -0.085411 -0.501422 0.140100 0.788400 0 252 27 -6.029500 46.188801 -3.956000 0.860977 -0.085411 -0.501422 0.183500 0.792100 0 253 27 -5.919200 37.619099 -4.570300 0.860977 -0.085411 -0.501422 0.183400 0.661600 9 98 162 -2.827600 38.171799 -8.088300 0.860977 -0.085411 -0.501422 0.114700 0.661600 8 119 142 -4.685700 36.664101 -1.616400 0.917535 -0.032092 0.396359 0.239300 0.661600 0 250 28 -5.919200 37.619099 -4.570300 0.917535 -0.032092 0.396359 0.183400 0.661600 9 98 162 -6.029500 46.188801 -3.956000 0.917535 -0.032092 0.396359 0.183500 0.792100 0 253 27 -4.298500 47.001099 -0.058900 0.917535 -0.032092 0.396359 0.249500 0.802400 0 253 27 -6.775800 50.206501 -7.534500 0.223809 0.028781 -0.974208 0.134300 0.852600 0 253 27 -0.000000 50.037800 -9.413700 0.223809 0.028781 -0.974208 0.042000 0.827300 0 253 27 -0.000000 53.738098 -8.986800 0.223809 0.028781 -0.974208 0.028300 0.877800 0 253 27 -7.252500 54.524502 -7.615000 0.223809 0.028781 -0.974208 0.126400 0.913200 0 254 27 -7.252500 54.524502 -7.615000 0.375359 0.901424 0.215731 0.533200 0.977800 0 254 27 -6.624100 53.529800 -2.653700 0.375359 0.901424 0.215731 0.469900 0.977800 0 253 27 -8.184300 53.108700 -3.320400 0.375359 0.901424 0.215731 0.469900 0.942000 0 253 27 -8.747800 53.770199 -7.353300 0.375359 0.901424 0.215731 0.528600 0.942000 0 253 27 -9.827700 52.989700 -7.188500 0.412168 0.895237 0.169320 0.526400 0.916400 0 253 27 -9.508400 52.403099 -3.672700 0.412168 0.895237 0.169320 0.469900 0.916400 0 253 27 -15.636800 49.715099 -4.015700 0.412168 0.895237 0.169320 0.469900 0.803100 1 215 59 -14.989100 50.565300 -7.297200 0.412168 0.895237 0.169320 0.526200 0.828100 0 249 29 -0.000000 37.009800 0.550700 0.339751 -0.089043 0.936291 0.310700 0.661600 0 253 27 -4.685700 36.664101 -1.616400 0.339751 -0.089043 0.936291 0.239300 0.661600 0 250 28 -4.298500 47.001099 -0.058900 0.339751 -0.089043 0.936291 0.249500 0.802400 0 253 27 -0.000000 47.287498 1.094200 0.339751 -0.089043 0.936291 0.310700 0.805700 0 253 27 -0.000000 53.738098 -8.986800 0.139268 0.841727 -0.521633 0.028300 0.877800 0 253 27 -0.000000 55.950600 -7.250100 0.139268 0.841727 -0.521633 0.022600 0.916300 0 253 27 -2.321200 55.471001 -5.570800 0.139268 0.841727 -0.521633 0.053900 0.941000 0 253 27 -7.252500 54.524502 -7.615000 0.139268 0.841727 -0.521633 0.126400 0.913200 0 254 27 -3.773800 51.093601 -1.034300 0.772400 -0.022870 0.634725 0.256800 0.864400 0 253 27 -4.298500 47.001099 -0.058900 0.772400 -0.022870 0.634725 0.249500 0.802400 0 253 27 -6.029500 46.188801 -3.956000 0.772400 -0.022870 0.634725 0.183500 0.792100 0 253 27 -6.624100 53.529800 -2.653700 0.772400 -0.022870 0.634725 0.210400 0.900400 0 253 27 -6.624100 53.529800 -2.653700 0.299992 -0.190133 0.934802 0.210400 0.900400 254 68 73 -6.029500 46.188801 -3.956000 0.299992 -0.190133 0.934802 0.183500 0.792100 254 68 73 -7.813100 49.342701 -3.886900 0.299992 -0.190133 0.934802 0.181200 0.844200 254 68 73 -0.000000 50.880199 0.110000 0.266804 0.255185 0.929352 0.310700 0.860500 0 253 27 -0.000000 47.287498 1.094200 0.266804 0.255185 0.929352 0.310700 0.805700 0 252 27 -4.298500 47.001099 -0.058900 0.266804 0.255185 0.929352 0.249500 0.802400 0 253 27 -3.773800 51.093601 -1.034300 0.266804 0.255185 0.929352 0.256800 0.864400 0 253 27 -16.136200 50.023998 -7.546200 -0.129075 0.179950 -0.975171 0.529500 0.803100 0 253 27 -14.885000 46.974701 -7.946000 -0.129075 0.179950 -0.975171 0.590800 0.803100 0 253 27 -13.779500 47.417198 -7.715300 -0.129075 0.179950 -0.975171 0.590800 0.828100 0 253 27 -14.989100 50.565300 -7.297200 -0.129075 0.179950 -0.975171 0.526200 0.828100 0 253 27 -13.779500 47.417198 -7.715300 -0.437873 -0.882573 -0.171264 0.347800 0.823100 0 253 27 -14.977100 45.689201 -4.821000 -0.437873 -0.882573 -0.171264 0.400900 0.803100 0 253 27 -8.927200 49.128502 -4.128200 -0.437873 -0.882573 -0.171264 0.409800 0.916400 0 253 27 -8.756500 49.321098 -7.632900 -0.437873 -0.882573 -0.171264 0.347800 0.916400 0 253 27 -17.208200 49.477699 -7.512200 0.268622 0.938905 0.215175 0.531700 0.782100 0 227 47 -16.810101 49.139900 -3.928800 0.268622 0.938905 0.215175 0.469900 0.782100 35 133 112 -22.348700 46.932201 -2.822400 0.268622 0.938905 0.215175 0.469900 0.674700 19 0 250 -22.585199 48.327702 -7.594400 0.268622 0.938905 0.215175 0.533600 0.698800 0 236 38 -21.936399 43.055199 -3.733600 -0.256926 -0.186034 0.948357 0.412700 0.674700 19 0 253 -22.348700 46.932201 -2.822400 -0.256926 -0.186034 0.948357 0.469900 0.674700 19 0 250 -16.810101 49.139900 -3.928800 -0.256926 -0.186034 0.948357 0.469900 0.782100 35 133 112 -16.192200 44.960400 -4.877100 -0.256926 -0.186034 0.948357 0.398600 0.782100 18 0 253 -22.105101 44.119598 -7.074000 0.471869 -0.161034 -0.866838 0.583100 0.674700 0 253 27 -21.061199 44.183601 -7.611200 0.471869 -0.161034 -0.866838 0.590800 0.698800 0 253 27 -22.585199 48.327702 -7.594400 0.471869 -0.161034 -0.866838 0.533600 0.698800 0 253 27 -23.337700 47.268200 -6.945000 0.471869 -0.161034 -0.866838 0.530800 0.674700 0 253 27 -15.884600 46.520500 -7.855800 -0.312108 -0.901546 -0.299673 0.347800 0.782100 0 253 27 -21.061199 44.183601 -7.611200 -0.312108 -0.901546 -0.299673 0.347800 0.693400 0 253 27 -21.936399 43.055199 -3.733600 -0.312108 -0.901546 -0.299673 0.412700 0.674700 0 253 27 -16.192200 44.960400 -4.877100 -0.312108 -0.901546 -0.299673 0.398600 0.782100 0 253 27 -5.598500 31.822901 -1.404300 0.899204 0.141743 0.413933 0.847900 0.413200 0 240 37 -7.453900 29.910801 -4.780100 0.899204 0.141743 0.413933 0.884800 0.385400 18 0 251 -7.174300 32.815300 -5.167300 0.899204 0.141743 0.413933 0.893300 0.414200 17 7 244 -4.970000 33.082802 -8.871900 0.875445 0.068330 -0.478463 0.938900 0.409500 18 0 252 -7.174300 32.815300 -5.167300 0.875445 0.068330 -0.478463 0.893300 0.414200 17 7 244 -7.453900 29.910801 -4.780100 0.875445 0.068330 -0.478463 0.884800 0.385400 18 0 251 -5.595300 29.761600 -8.492500 0.875445 0.068330 -0.478463 0.927500 0.375900 18 0 253 -6.827700 20.858999 -3.044800 0.895156 -0.347215 -0.279532 0.858900 0.286100 0 231 44 -6.194700 19.576300 -3.478600 0.895156 -0.347215 -0.279532 0.860200 0.277400 0 248 31 -5.426000 21.341299 -8.132600 0.895156 -0.347215 -0.279532 0.914200 0.282100 15 21 230 -0.835600 22.853901 -8.210700 0.045309 0.086115 -0.995254 0.964300 0.301600 0 253 27 -5.317800 22.936800 -8.016200 0.045309 0.086115 -0.995254 0.916400 0.301600 0 253 27 -5.426000 21.341299 -8.132600 0.045309 0.086115 -0.995254 0.914200 0.282100 0 253 27 -0.899900 21.410400 -8.349400 0.045309 0.086115 -0.995254 0.962800 0.286100 0 253 27 -0.899900 21.410400 -8.349400 -0.986876 0.054006 0.152183 0.726500 0.282100 254 254 254 -1.853000 19.164200 -1.371600 -0.986876 0.054006 0.152183 0.805100 0.274200 254 254 254 -1.957400 20.620800 -1.211500 -0.986876 0.054006 0.152183 0.804700 0.286100 254 254 254 -6.194700 19.576300 -3.478600 0.393316 -0.294694 0.870895 0.860200 0.277400 0 248 31 -6.827700 20.858999 -3.044800 0.393316 -0.294694 0.870895 0.858900 0.286100 0 231 44 -1.957400 20.620800 -1.211500 0.393316 -0.294694 0.870895 0.804700 0.286100 0 253 27 -1.853000 19.164200 -1.371600 0.393316 -0.294694 0.870895 0.805100 0.274200 0 253 27 -5.117200 15.490400 -9.679700 -0.013076 0.210350 -0.977539 0.917300 0.220800 0 253 27 -0.134100 16.169500 -9.174700 -0.013076 0.210350 -0.977539 0.969900 0.225300 0 253 27 -0.899900 21.410400 -8.349400 -0.013076 0.210350 -0.977539 0.962800 0.286100 0 253 27 -5.426000 21.341299 -8.132600 -0.013076 0.210350 -0.977539 0.914200 0.282100 0 253 27 -0.134100 16.169500 -9.174700 -0.979250 0.051054 0.196120 0.732600 0.207100 0 254 27 -1.716700 14.450400 -2.459200 -0.979250 0.051054 0.196120 0.808600 0.236100 0 254 27 -1.853000 19.164200 -1.371600 -0.979250 0.051054 0.196120 0.805100 0.274200 0 254 27 -0.899900 21.410400 -8.349400 -0.979250 0.051054 0.196120 0.726500 0.282100 0 254 27 -1.853000 19.164200 -1.371600 0.369977 -0.140579 0.918343 0.805100 0.274200 0 253 27 -1.716700 14.450400 -2.459200 0.369977 -0.140579 0.918343 0.808600 0.236100 0 253 27 -6.069200 14.643000 -3.762300 0.369977 -0.140579 0.918343 0.859400 0.227800 0 253 27 -6.194700 19.576300 -3.478600 0.369977 -0.140579 0.918343 0.860200 0.277400 0 248 31 -6.069200 14.643000 -3.762300 0.986467 -0.011966 -0.163524 0.859400 0.227800 0 253 27 -5.117200 15.490400 -9.679700 0.986467 -0.011966 -0.163524 0.917300 0.220800 2 202 70 -5.426000 21.341299 -8.132600 0.986467 -0.011966 -0.163524 0.914200 0.282100 15 21 230 -6.194700 19.576300 -3.478600 0.986467 -0.011966 -0.163524 0.860200 0.277400 0 248 31 -7.813100 49.342701 -3.886900 0.881229 -0.394976 -0.259672 0.181200 0.844200 0 253 27 -6.029500 46.188801 -3.956000 0.881229 -0.394976 -0.259672 0.183500 0.792100 0 253 27 -5.495700 46.043098 -6.732400 0.881229 -0.394976 -0.259672 0.140100 0.788400 0 252 27 -6.775800 50.206501 -7.534500 0.881229 -0.394976 -0.259672 0.134300 0.852600 0 253 27 -8.756500 49.321098 -7.632900 -0.341557 -0.936397 -0.080618 0.347800 0.916400 254 68 73 -8.927200 49.128502 -4.128200 -0.341557 -0.936397 -0.080618 0.409800 0.916400 254 68 73 -7.813100 49.342701 -3.886900 -0.341557 -0.936397 -0.080618 0.407700 0.942000 254 68 73 -6.775800 50.206501 -7.534500 -0.341557 -0.936397 -0.080618 0.347800 0.942000 254 68 73 -5.495700 46.043098 -6.732400 0.295037 -0.218453 -0.930178 0.140100 0.788400 0 253 27 -0.000000 45.235802 -8.516300 0.295037 -0.218453 -0.930178 0.061600 0.762900 0 253 27 -0.000000 50.037800 -9.413700 0.295037 -0.218453 -0.930178 0.042000 0.827300 0 253 27 -6.775800 50.206501 -7.534500 0.295037 -0.218453 -0.930178 0.134300 0.852600 0 253 27 -3.773800 51.093601 -1.034300 0.217879 0.518058 0.827130 0.256800 0.864400 0 253 27 -1.435700 55.057400 -2.884500 0.217879 0.518058 0.827130 0.286000 0.931400 0 253 27 -0.000000 54.522099 -2.187600 0.217879 0.518058 0.827130 0.310700 0.919600 0 253 27 -0.000000 50.880199 0.110000 0.217879 0.518058 0.827130 0.310700 0.860500 0 253 27 -0.163800 60.672798 0.405300 0.878123 0.172158 0.446386 0.538500 0.200900 0 253 27 -0.226300 59.631802 0.717000 0.878123 0.172158 0.446386 0.537800 0.167300 0 253 27 -0.605400 59.453602 0.006800 0.878123 0.172158 0.446386 0.558900 0.156900 0 253 27 -0.596000 60.268700 -0.255900 0.878123 0.172158 0.446386 0.565100 0.185300 0 253 27 -0.000000 59.375900 0.272700 0.351825 0.003851 0.936058 0.533800 0.153800 0 253 27 -0.000000 58.735298 0.237300 0.351825 0.003851 0.936058 0.533800 0.134400 0 253 27 -0.793500 58.611801 -0.022400 0.351825 0.003851 0.936058 0.561500 0.129800 0 253 27 -0.605400 59.453602 0.006800 0.351825 0.003851 0.936058 0.558900 0.156900 0 253 27 -1.340700 61.343498 -1.024900 0.500896 0.173312 0.847978 0.599900 0.231700 254 254 254 -2.225300 60.301201 -1.334400 0.500896 0.173312 0.847978 0.633200 0.187400 254 254 254 -2.209500 61.230499 -1.515000 0.500896 0.173312 0.847978 0.636800 0.228100 254 254 254 -0.474100 61.294899 -0.607800 0.419394 -0.893935 0.158081 0.567800 0.227200 0 253 27 -0.785400 61.539799 -0.048800 0.419394 -0.893935 0.158081 0.562200 0.247600 0 253 27 -0.179900 61.274700 0.058500 0.419394 -0.893935 0.158081 0.542100 0.223900 0 253 27 -0.163800 60.672798 0.405300 0.879737 0.234636 0.413532 0.538500 0.200900 0 253 27 -0.596000 60.268700 -0.255900 0.879737 0.234636 0.413532 0.565100 0.185300 0 253 27 -0.474100 61.294899 -0.607800 0.879737 0.234636 0.413532 0.567800 0.227200 0 253 27 -0.179900 61.274700 0.058500 0.879737 0.234636 0.413532 0.542100 0.223900 0 253 27 -0.785400 61.539799 -0.048800 0.405349 0.400850 0.821591 0.562200 0.247600 0 253 27 -1.792100 61.563202 -0.648200 0.405349 0.400850 0.821591 0.603400 0.250800 0 253 27 -1.901400 62.898899 -1.262500 0.405349 0.400850 0.821591 0.616100 0.287500 0 253 27 -0.000000 62.775902 -0.355700 0.405349 0.400850 0.821591 0.533900 0.286800 0 253 27 -1.901400 62.898899 -1.262500 0.958885 0.139689 0.247034 0.616100 0.287500 254 73 78 -1.792100 61.563202 -0.648200 0.958885 0.139689 0.247034 0.603400 0.250800 254 68 73 -2.209500 61.230499 -1.515000 0.958885 0.139689 0.247034 0.636800 0.228100 254 68 73 -2.505800 61.413601 -3.333900 0.958885 0.139689 0.247034 0.700500 0.240200 254 68 73 -2.071800 58.080299 -1.837600 0.982605 0.010378 0.185418 0.632000 0.089900 254 254 254 -2.361600 58.652599 -3.405400 0.982605 0.010378 0.185418 0.691600 0.111600 254 254 254 -2.043500 58.694401 -1.722000 0.982605 0.010378 0.185418 0.633000 0.119000 254 254 254 -2.361600 58.652599 -3.405400 0.835615 -0.547438 -0.045374 0.691600 0.111600 254 254 254 -2.071800 58.080299 -1.837600 0.835615 -0.547438 -0.045374 0.632000 0.089900 254 254 254 -1.480400 57.287800 -3.167400 0.835615 -0.547438 -0.045374 0.679600 0.054000 254 254 254 -2.361600 58.652599 -3.405400 0.962379 -0.178153 0.205154 0.691600 0.111600 254 254 254 -2.484800 60.667999 -2.078300 0.962379 -0.178153 0.205154 0.658100 0.193000 254 254 254 -2.225300 60.301201 -1.334400 0.962379 -0.178153 0.205154 0.633200 0.187400 254 254 254 -2.043500 58.694401 -1.722000 0.962379 -0.178153 0.205154 0.633000 0.119000 254 254 254 -0.596000 60.268700 -0.255900 0.569338 0.180881 0.801958 0.565100 0.185300 0 253 27 -0.605400 59.453602 0.006800 0.569338 0.180881 0.801958 0.558900 0.156900 0 253 27 -0.793500 58.611801 -0.022400 0.569338 0.180881 0.801958 0.561500 0.129800 0 253 27 -2.225300 60.301201 -1.334400 0.569338 0.180881 0.801958 0.633200 0.187400 0 253 27 -0.793500 58.611801 -0.022400 0.424783 -0.113068 0.898207 0.561500 0.129800 254 68 73 -0.000000 58.735298 0.237300 0.424783 -0.113068 0.898207 0.533800 0.134400 254 68 73 -0.000000 57.320400 0.190300 0.424783 -0.113068 0.898207 0.533800 0.095300 254 68 73 -0.860300 57.339199 -0.345300 0.424783 -0.113068 0.898207 0.560600 0.087800 254 68 73 -2.361600 58.652599 -3.405400 0.801295 -0.555920 -0.221086 0.691600 0.111600 254 254 254 -1.480400 57.287800 -3.167400 0.801295 -0.555920 -0.221086 0.679600 0.054000 254 254 254 -1.507500 57.978802 -4.806700 0.801295 -0.555920 -0.221086 0.740400 0.071600 254 254 254 -1.480400 57.287800 -3.167400 0.605736 -0.042761 0.794516 0.293800 0.962800 0 253 27 -0.509500 56.862801 -2.081200 0.605736 -0.042761 0.794516 0.308000 0.953500 0 253 27 -0.000000 54.522099 -2.187600 0.605736 -0.042761 0.794516 0.310700 0.919600 0 253 27 -1.435700 55.057400 -2.884500 0.605736 -0.042761 0.794516 0.286000 0.931400 0 254 27 -1.435700 55.057400 -2.884500 0.962522 0.132164 0.236820 0.286000 0.931400 254 68 73 -2.321200 55.471001 -5.570800 0.962522 0.132164 0.236820 0.259700 0.968000 254 68 73 -1.507500 57.978802 -4.806700 0.962522 0.132164 0.236820 0.270100 0.982500 254 68 73 -1.480400 57.287800 -3.167400 0.962522 0.132164 0.236820 0.293800 0.962800 254 68 73 -5.117200 15.490400 -9.679700 -0.146405 -0.402228 -0.903758 0.917300 0.220800 0 253 27 -1.456400 14.610600 -8.695100 -0.146405 -0.402228 -0.903758 0.949700 0.207500 0 253 27 -0.134100 16.169500 -9.174700 -0.146405 -0.402228 -0.903758 0.969900 0.225300 0 253 27 -0.134100 16.169500 -9.174700 -0.868940 -0.488451 0.079739 0.732600 0.207100 254 254 254 -1.239800 14.644800 -6.465300 -0.868940 -0.488451 0.079739 0.774100 0.204900 254 254 254 -1.716700 14.450400 -2.459200 -0.868940 -0.488451 0.079739 0.808600 0.236100 254 254 254 -5.308800 13.910900 -3.738700 0.254739 -0.396087 0.882170 0.855000 0.218100 0 253 27 -6.069200 14.643000 -3.762300 0.254739 -0.396087 0.882170 0.859400 0.227800 0 253 27 -1.716700 14.450400 -2.459200 0.254739 -0.396087 0.882170 0.808600 0.236100 0 253 27 -1.766900 13.754900 -2.918700 0.254739 -0.396087 0.882170 0.809900 0.215800 0 253 27 -4.620900 14.945700 -8.516100 0.580484 -0.782092 -0.226651 0.914400 0.215300 0 247 31 -5.117200 15.490400 -9.679700 0.580484 -0.782092 -0.226651 0.917300 0.220800 2 205 68 -6.069200 14.643000 -3.762300 0.580484 -0.782092 -0.226651 0.859400 0.227800 0 253 27 -5.308800 13.910900 -3.738700 0.580484 -0.782092 -0.226651 0.855000 0.218100 0 253 27 -1.957400 20.620800 -1.211500 -0.981620 0.066989 0.178702 0.804700 0.286100 254 254 254 -2.189200 21.987900 -1.483700 -0.981620 0.066989 0.178702 0.804500 0.301600 254 254 254 -0.835600 22.853901 -8.210700 -0.981620 0.066989 0.178702 0.728900 0.301600 254 254 254 -0.899900 21.410400 -8.349400 -0.981620 0.066989 0.178702 0.726500 0.282100 254 254 254 -7.174300 32.815300 -5.167300 0.882089 0.156872 -0.444196 0.893300 0.414200 17 7 244 -4.970000 33.082802 -8.871900 0.882089 0.156872 -0.444196 0.938900 0.409500 18 0 252 -5.283200 35.952900 -7.814600 0.882089 0.156872 -0.444196 0.933900 0.441300 18 1 249 -6.542300 35.480598 -4.902800 0.882089 0.156872 -0.444196 0.897200 0.442800 15 32 221 -5.598500 31.822901 -1.404300 0.892181 0.170029 0.418452 0.847900 0.413200 0 240 37 -7.174300 32.815300 -5.167300 0.892181 0.170029 0.418452 0.893300 0.414200 17 7 244 -6.542300 35.480598 -4.902800 0.892181 0.170029 0.418452 0.897200 0.442800 15 32 221 -4.685700 36.664101 -1.616400 0.472747 0.127337 0.871949 0.239300 0.661600 0 250 28 -3.798500 31.552500 -0.388900 0.472747 0.127337 0.871949 0.257800 0.582200 0 253 27 -5.598500 31.822901 -1.404300 0.472747 0.127337 0.871949 0.231700 0.582200 0 240 37 -2.225300 60.301201 -1.334400 0.926529 0.086891 0.366052 0.633200 0.187400 254 254 254 -2.484800 60.667999 -2.078300 0.926529 0.086891 0.366052 0.658100 0.193000 254 254 254 -2.209500 61.230499 -1.515000 0.926529 0.086891 0.366052 0.636800 0.228100 254 254 254 -8.927200 49.128502 -4.128200 0.174303 -0.164506 0.970853 0.409800 0.916400 254 68 73 -9.508400 52.403099 -3.672700 0.174303 -0.164506 0.970853 0.469900 0.916400 254 68 73 -8.184300 53.108700 -3.320400 0.174303 -0.164506 0.970853 0.469900 0.942000 254 68 73 -7.813100 49.342701 -3.886900 0.174303 -0.164506 0.970853 0.407700 0.942000 254 68 73 -8.184300 53.108700 -3.320400 0.526523 0.826719 0.198265 0.469900 0.942000 0 253 27 -9.508400 52.403099 -3.672700 0.526523 0.826719 0.198265 0.469900 0.916400 0 253 27 -9.827700 52.989700 -7.188500 0.526523 0.826719 0.198265 0.526400 0.916400 0 253 27 -8.747800 53.770199 -7.353300 0.526523 0.826719 0.198265 0.528600 0.942000 0 253 27 -8.747800 53.770199 -7.353300 0.154881 -0.035505 -0.987295 0.528600 0.942000 0 253 27 -6.775800 50.206501 -7.534500 0.154881 -0.035505 -0.987295 0.590800 0.942000 0 253 27 -7.252500 54.524502 -7.615000 0.154881 -0.035505 -0.987295 0.533200 0.977800 0 254 27 -8.927200 49.128502 -4.128200 -0.001669 -0.169906 0.985459 0.409800 0.916400 0 253 27 -14.977100 45.689201 -4.821000 -0.001669 -0.169906 0.985459 0.400900 0.803100 18 0 253 -15.636800 49.715099 -4.015700 -0.001669 -0.169906 0.985459 0.469900 0.803100 29 188 60 -9.508400 52.403099 -3.672700 -0.001669 -0.169906 0.985459 0.469900 0.916400 0 253 27 -1.435700 55.057400 -2.884500 0.215818 0.814400 0.538680 0.286000 0.931400 0 253 27 -3.773800 51.093601 -1.034300 0.215818 0.814400 0.538680 0.256800 0.864400 0 253 27 -6.624100 53.529800 -2.653700 0.215818 0.814400 0.538680 0.210400 0.900400 0 253 27 -7.252500 54.524502 -7.615000 0.215818 0.814400 0.538680 0.180600 0.964800 0 253 27 -2.321200 55.471001 -5.570800 0.276118 0.932071 0.234526 0.259700 0.968000 0 253 27 -1.435700 55.057400 -2.884500 0.276118 0.932071 0.234526 0.286000 0.931400 0 253 27 -7.252500 54.524502 -7.615000 0.276118 0.932071 0.234526 0.180600 0.964800 0 253 27 -2.209500 61.230499 -1.515000 0.942806 0.279456 0.181716 0.636800 0.228100 254 254 254 -2.484800 60.667999 -2.078300 0.942806 0.279456 0.181716 0.658100 0.193000 254 254 254 -2.505800 61.413601 -3.333900 0.942806 0.279456 0.181716 0.704900 0.212700 254 254 254 -2.484800 60.667999 -2.078300 0.998559 -0.051788 -0.014052 0.658100 0.193000 254 254 254 -2.361600 58.652599 -3.405400 0.998559 -0.051788 -0.014052 0.691600 0.111600 254 254 254 -2.505800 61.413601 -3.333900 0.998559 -0.051788 -0.014052 0.704900 0.212700 254 254 254 -2.209500 61.230499 -1.515000 0.107977 -0.909631 0.401138 0.636800 0.228100 254 68 73 -1.792100 61.563202 -0.648200 0.107977 -0.909631 0.401138 0.603400 0.250800 254 68 73 -1.340700 61.343498 -1.024900 0.107977 -0.909631 0.401138 0.599900 0.231700 254 68 73 -3.061600 3.537800 -3.461700 -0.234488 0.898953 0.369997 0.290200 0.071700 18 0 253 -1.553600 3.059500 -4.173500 -0.234488 0.898953 0.369997 0.275500 0.071900 18 0 253 -1.568700 1.981700 -0.627100 -0.234488 0.898953 0.369997 0.274000 0.039600 19 0 253 -3.735600 1.816900 0.228400 -0.234488 0.898953 0.369997 0.290200 0.030700 19 0 253 -0.626000 0.031700 -8.336200 -0.992053 0.072189 0.103052 0.238500 0.103000 0 254 27 -1.825200 -0.024100 0.601200 -0.992053 0.072189 0.103052 0.266200 0.023600 254 254 254 -1.568700 1.981700 -0.627100 -0.992053 0.072189 0.103052 0.274000 0.039600 254 254 254 -1.553600 3.059500 -4.173500 -0.992053 0.072189 0.103052 0.275500 0.071900 186 254 192 -1.825200 -0.024100 0.601200 0.002195 -0.999985 -0.005027 0.783900 0.050100 0 254 27 -0.626000 0.031700 -8.336200 0.002195 -0.999985 -0.005027 0.777900 0.139800 253 254 253 -1.712600 0.024900 -9.195700 0.002195 -0.999985 -0.005027 0.765100 0.147100 254 254 254 -3.769300 -0.009000 1.132900 0.002195 -0.999985 -0.005027 0.765800 0.040900 0 254 27 -1.712600 0.024900 -9.195700 -0.920325 0.042849 -0.388801 0.925400 0.031900 254 68 73 -0.626000 0.031700 -8.336200 -0.920325 0.042849 -0.388801 0.938600 0.031200 254 68 73 -1.239800 14.644800 -6.465300 -0.920325 0.042849 -0.388801 0.974400 0.175600 254 68 73 -1.456400 14.610600 -8.695100 -0.920325 0.042849 -0.388801 0.943400 0.175600 254 68 73 -1.568700 1.981700 -0.627100 -0.270273 0.452545 0.849798 0.274000 0.039600 19 0 253 -1.825200 -0.024100 0.601200 -0.270273 0.452545 0.849798 0.266200 0.023600 19 0 253 -3.769300 -0.009000 1.132900 -0.270273 0.452545 0.849798 0.289700 0.012400 19 0 253 -3.735600 1.816900 0.228400 -0.270273 0.452545 0.849798 0.290200 0.030700 19 0 253 -4.089400 2.633000 -5.031300 0.957442 -0.073711 -0.279054 0.310400 0.073900 18 0 253 -5.390300 1.568200 -1.670300 0.957442 -0.073711 -0.279054 0.308400 0.040400 18 0 253 -5.176800 -0.025000 -0.598300 0.957442 -0.073711 -0.279054 0.313500 0.023800 18 0 253 -3.252600 0.001600 -8.591000 0.957442 -0.073711 -0.279054 0.345300 0.097200 19 0 253 -3.769300 -0.009000 1.132900 0.738109 0.308147 0.600201 0.289700 0.012400 18 0 253 -5.176800 -0.025000 -0.598300 0.738109 0.308147 0.600201 0.313500 0.023800 18 0 253 -5.390300 1.568200 -1.670300 0.738109 0.308147 0.600201 0.308400 0.040400 18 0 253 -3.735600 1.816900 0.228400 0.738109 0.308147 0.600201 0.290200 0.030700 18 0 253 -5.390300 1.568200 -1.670300 0.560649 0.811720 0.163660 0.308400 0.040400 18 0 253 -4.089400 2.633000 -5.031300 0.560649 0.811720 0.163660 0.310400 0.073900 18 0 253 -3.061600 3.537800 -3.461700 0.560649 0.811720 0.163660 0.290200 0.071700 18 0 253 -3.735600 1.816900 0.228400 0.560649 0.811720 0.163660 0.290200 0.030700 18 0 253 -3.061600 3.537800 -3.461700 0.452521 -0.074303 0.888653 0.856300 0.067800 18 0 253 -4.089400 2.633000 -5.031300 0.452521 -0.074303 0.888653 0.873900 0.060000 18 0 253 -5.308800 13.910900 -3.738700 0.452521 -0.074303 0.888653 0.859000 0.175600 0 253 27 -1.766900 13.754900 -2.918700 0.452521 -0.074303 0.888653 0.824200 0.175600 0 253 27 -5.117200 15.490400 -9.679700 0.118623 -0.917754 -0.379021 0.917300 0.220800 0 253 27 -4.620900 14.945700 -8.516100 0.118623 -0.917754 -0.379021 0.914400 0.215300 0 253 27 -1.456400 14.610600 -8.695100 0.118623 -0.917754 -0.379021 0.949700 0.207500 0 253 27 -1.456400 14.610600 -8.695100 -0.751462 -0.656769 -0.062923 0.746600 0.183800 254 254 254 -1.239800 14.644800 -6.465300 -0.751462 -0.656769 -0.062923 0.774100 0.204900 254 254 254 -0.134100 16.169500 -9.174700 -0.751462 -0.656769 -0.062923 0.732600 0.207100 254 254 254 -5.426000 21.341299 -8.132600 0.959663 0.028025 -0.279753 0.914200 0.282100 15 21 230 -5.317800 22.936800 -8.016200 0.959663 0.028025 -0.279753 0.916400 0.301600 18 0 252 -6.824000 22.193899 -3.251500 0.959663 0.028025 -0.279753 0.860400 0.301600 3 179 89 -6.827700 20.858999 -3.044800 0.959663 0.028025 -0.279753 0.858900 0.286100 0 231 44 -0.845100 29.891001 -9.498900 0.127296 -0.127838 -0.983592 0.978500 0.369500 0 253 27 -5.595300 29.761600 -8.492500 0.127296 -0.127838 -0.983592 0.927500 0.375900 0 253 27 -5.317800 22.936800 -8.016200 0.127296 -0.127838 -0.983592 0.916400 0.301600 0 253 27 -0.835600 22.853901 -8.210700 0.127296 -0.127838 -0.983592 0.964300 0.301600 0 253 27 -1.957400 20.620800 -1.211500 0.345482 0.135420 0.928603 0.804700 0.286100 254 68 73 -6.827700 20.858999 -3.044800 0.345482 0.135420 0.928603 0.858900 0.286100 232 61 86 -6.824000 22.193899 -3.251500 0.345482 0.135420 0.928603 0.860400 0.301600 185 47 122 -2.189200 21.987900 -1.483700 0.345482 0.135420 0.928603 0.804500 0.301600 254 68 73 -0.605400 59.453602 0.006800 0.276378 -0.886938 0.370075 0.558900 0.156900 254 68 73 -0.226300 59.631802 0.717000 0.276378 -0.886938 0.370075 0.537800 0.167300 254 68 73 -0.000000 59.375900 0.272700 0.276378 -0.886938 0.370075 0.533800 0.153800 254 68 73 -21.936399 43.055199 -3.733600 0.245050 -0.199318 0.948801 0.412700 0.674700 19 0 253 -23.265499 44.290199 -3.614200 0.245050 -0.199318 0.948801 0.431800 0.655600 19 0 253 -23.323000 46.228001 -3.425200 0.245050 -0.199318 0.948801 0.469900 0.655600 19 0 251 -22.348700 46.932201 -2.822400 0.245050 -0.199318 0.948801 0.469900 0.674700 20 0 250 -22.105101 44.119598 -7.074000 0.680722 -0.210597 -0.701617 0.583100 0.674700 0 253 27 -23.337700 47.268200 -6.945000 0.680722 -0.210597 -0.701617 0.530800 0.674700 0 253 27 -23.881300 46.267799 -5.995500 0.680722 -0.210597 -0.701617 0.521800 0.655600 0 253 27 -23.273100 44.479099 -6.170500 0.680722 -0.210597 -0.701617 0.556600 0.655600 0 253 27 -22.348700 46.932201 -2.822400 0.710630 0.673907 0.202126 0.469900 0.674700 18 0 249 -23.323000 46.228001 -3.425200 0.710630 0.673907 0.202126 0.469900 0.655600 18 0 251 -23.881300 46.267799 -5.995500 0.710630 0.673907 0.202126 0.521800 0.655600 12 63 193 -23.337700 47.268200 -6.945000 0.710630 0.673907 0.202126 0.530800 0.674700 2 175 92 -21.936399 43.055199 -3.733600 0.575702 -0.803125 -0.153486 0.412700 0.674700 18 0 253 -22.105101 44.119598 -7.074000 0.575702 -0.803125 -0.153486 0.362600 0.674700 18 0 253 -23.273100 44.479099 -6.170500 0.575702 -0.803125 -0.153486 0.386800 0.655600 18 0 253 -23.265499 44.290199 -3.614200 0.575702 -0.803125 -0.153486 0.431800 0.655600 18 0 253 -23.323000 46.228001 -3.425200 -0.234519 0.052147 0.970712 0.469900 0.655600 19 0 251 -23.265499 44.290199 -3.614200 -0.234519 0.052147 0.970712 0.431800 0.655600 19 0 253 -24.446100 44.099098 -3.039500 -0.234519 0.052147 0.970712 0.444100 0.624200 19 0 253 -24.935400 45.742901 -3.288800 -0.234519 0.052147 0.970712 0.469900 0.624200 20 0 251 -23.273100 44.479099 -6.170500 0.051663 0.047611 -0.997529 0.556600 0.655600 0 253 27 -23.881300 46.267799 -5.995500 0.051663 0.047611 -0.997529 0.521800 0.655600 0 253 27 -25.982700 45.641201 -5.974700 0.051663 0.047611 -0.997529 0.517100 0.624200 0 253 27 -25.718901 44.407902 -5.989100 0.051663 0.047611 -0.997529 0.533000 0.624200 0 253 27 -23.881300 46.267799 -5.995500 0.283035 0.956157 0.075198 0.521800 0.655600 64 24 202 -23.323000 46.228001 -3.425200 0.283035 0.956157 0.075198 0.469900 0.655600 19 0 251 -24.935400 45.742901 -3.288800 0.283035 0.956157 0.075198 0.469900 0.624200 20 0 251 -25.982700 45.641201 -5.974700 0.283035 0.956157 0.075198 0.517100 0.624200 65 29 197 -23.265499 44.290199 -3.614200 -0.050680 -0.993534 -0.101596 0.431800 0.655600 0 251 27 -23.273100 44.479099 -6.170500 -0.050680 -0.993534 -0.101596 0.386800 0.655600 0 253 27 -25.718901 44.407902 -5.989100 -0.050680 -0.993534 -0.101596 0.398000 0.624200 0 253 27 -24.446100 44.099098 -3.039500 -0.050680 -0.993534 -0.101596 0.444100 0.624200 53 205 30 -3.798500 31.552500 -0.388900 0.303080 0.047081 0.951802 0.257800 0.582200 57 208 35 -4.685700 36.664101 -1.616400 0.303080 0.047081 0.951802 0.239300 0.661600 0 250 28 -0.000000 37.009800 0.550700 0.303080 0.047081 0.951802 0.310700 0.661600 172 124 55 -0.000000 31.552500 0.128500 0.303080 0.047081 0.951802 0.310700 0.582200 203 101 62 -27.058001 43.733101 -1.471100 0.612973 -0.035197 0.789319 0.783900 0.527900 19 0 253 -26.775499 43.007000 -1.492900 0.612973 -0.035197 0.789319 0.799700 0.523000 19 0 253 -27.637899 42.321201 -1.984400 0.612973 -0.035197 0.789319 0.780200 0.502700 19 0 253 -28.100901 44.177299 -2.470000 0.612973 -0.035197 0.789319 0.756100 0.537200 19 0 253 -27.102699 45.320202 -5.735100 0.288380 -0.175341 -0.941325 0.706300 0.587600 0 253 27 -26.246300 42.901402 -5.383600 0.288380 -0.175341 -0.941325 0.663100 0.553800 0 252 27 -25.718901 44.407902 -5.989100 0.288380 -0.175341 -0.941325 0.674700 0.592000 0 253 27 -25.982700 45.641201 -5.974700 0.288380 -0.175341 -0.941325 0.701400 0.609900 0 253 27 -24.935400 45.742901 -3.288800 0.215944 0.976143 0.022647 0.774000 0.616500 20 0 251 -26.753901 45.398300 -2.858600 0.215944 0.976143 0.022647 0.766000 0.574200 21 0 250 -27.102699 45.320202 -5.735100 0.215944 0.976143 0.022647 0.706300 0.587600 69 22 201 -25.982700 45.641201 -5.974700 0.215944 0.976143 0.022647 0.701400 0.609900 65 29 197 -24.446100 44.099098 -3.039500 -0.806467 -0.440747 -0.394147 0.815000 0.599300 254 254 254 -25.718901 44.407902 -5.989100 -0.806467 -0.440747 -0.394147 0.885900 0.607200 254 254 254 -26.246300 42.901402 -5.383600 -0.806467 -0.440747 -0.394147 0.880100 0.569900 254 254 254 -28.380600 42.330502 -3.056600 0.840529 -0.044209 0.539960 0.741600 0.498200 19 0 253 -28.697901 44.238201 -3.477500 0.840529 -0.044209 0.539960 0.737900 0.538900 20 0 252 -28.100901 44.177299 -2.470000 0.840529 -0.044209 0.539960 0.756100 0.537200 19 0 253 -27.637899 42.321201 -1.984400 0.840529 -0.044209 0.539960 0.780200 0.502700 19 0 253 -28.380600 42.330502 -3.056600 0.979149 -0.175223 -0.102788 0.741600 0.498200 19 0 253 -28.292801 42.543098 -4.446800 0.979149 -0.175223 -0.102788 0.704200 0.514300 19 0 253 -28.543800 44.178001 -4.651400 0.979149 -0.175223 -0.102788 0.718600 0.545700 20 3 248 -28.697901 44.238201 -3.477500 0.979149 -0.175223 -0.102788 0.737900 0.538900 20 0 252 -26.753901 45.398300 -2.858600 0.560189 0.737837 0.376544 0.766000 0.574200 20 0 250 -28.100901 44.177299 -2.470000 0.560189 0.737837 0.376544 0.756100 0.537200 19 0 253 -28.697901 44.238201 -3.477500 0.560189 0.737837 0.376544 0.737900 0.538900 20 0 252 -24.935400 45.742901 -3.288800 -0.484106 0.321222 0.813915 0.774000 0.616500 20 0 251 -24.446100 44.099098 -3.039500 -0.484106 0.321222 0.813915 0.815000 0.599300 19 0 253 -25.587200 43.557701 -2.038700 -0.484106 0.321222 0.813915 0.806300 0.556900 19 0 253 -26.117701 44.487900 -2.198700 -0.484106 0.321222 0.813915 0.788200 0.565100 19 0 253 -24.446100 44.099098 -3.039500 -0.765721 -0.642695 -0.024780 0.815000 0.599300 254 68 73 -26.246300 42.901402 -5.383600 -0.765721 -0.642695 -0.024780 0.880100 0.569900 254 68 73 -25.491899 42.827301 -2.370100 -0.765721 -0.642695 -0.024780 0.813300 0.554500 254 68 73 -25.587200 43.557701 -2.038700 -0.765721 -0.642695 -0.024780 0.806300 0.556900 254 68 73 -26.753901 45.398300 -2.858600 -0.068715 0.616533 0.784324 0.766000 0.574200 21 0 250 -24.935400 45.742901 -3.288800 -0.068715 0.616533 0.784324 0.774000 0.616500 20 0 251 -26.117701 44.487900 -2.198700 -0.068715 0.616533 0.784324 0.788200 0.565100 19 0 253 -0.000000 31.552500 0.128500 0.069913 -0.031462 0.997057 0.310700 0.582200 0 253 27 -0.000000 24.132099 -0.356700 0.069913 -0.031462 0.997057 0.310700 0.472800 0 253 27 -3.463700 23.872801 -0.356700 0.069913 -0.031462 0.997057 0.261200 0.472800 0 253 27 -3.798500 31.552500 -0.388900 0.069913 -0.031462 0.997057 0.257800 0.582200 0 253 27 -2.225300 60.301201 -1.334400 0.789816 -0.226827 0.569860 0.633200 0.187400 0 253 27 -0.793500 58.611801 -0.022400 0.789816 -0.226827 0.569860 0.561500 0.129800 0 253 27 -2.043500 58.694401 -1.722000 0.789816 -0.226827 0.569860 0.633000 0.119000 0 253 27 -0.793500 58.611801 -0.022400 0.800106 -0.097243 0.591924 0.561500 0.129800 0 253 27 -0.860300 57.339199 -0.345300 0.800106 -0.097243 0.591924 0.560600 0.087800 0 253 27 -2.071800 58.080299 -1.837600 0.800106 -0.097243 0.591924 0.632000 0.089900 0 253 27 -2.043500 58.694401 -1.722000 0.800106 -0.097243 0.591924 0.633000 0.119000 0 253 27 -2.071800 58.080299 -1.837600 0.594038 -0.791272 0.144939 0.632000 0.089900 254 68 73 -0.860300 57.339199 -0.345300 0.594038 -0.791272 0.144939 0.560600 0.087800 254 68 73 -0.509500 56.862801 -2.081200 0.594038 -0.791272 0.144939 0.570500 0.026600 254 68 73 -1.480400 57.287800 -3.167400 0.594038 -0.791272 0.144939 0.631900 0.022800 254 68 73 -0.179900 61.274700 0.058500 0.090663 0.188705 0.977840 0.542100 0.223900 0 254 27 -0.785400 61.539799 -0.048800 0.090663 0.188705 0.977840 0.562200 0.247600 0 254 27 -0.000000 61.912998 -0.048000 0.090663 0.188705 0.977840 0.533800 0.254400 0 254 27 -15.884600 46.520500 -7.855800 0.098387 0.080586 -0.991880 0.590800 0.782100 0 253 27 -14.885000 46.974701 -7.946000 0.098387 0.080586 -0.991880 0.590800 0.803100 0 253 27 -16.136200 50.023998 -7.546200 0.098387 0.080586 -0.991880 0.529500 0.803100 0 253 27 -17.208200 49.477699 -7.512200 0.098387 0.080586 -0.991880 0.531700 0.782100 0 253 27 -15.636800 49.715099 -4.015700 0.436830 0.889212 0.135946 0.469900 0.803100 1 215 59 -16.810101 49.139900 -3.928800 0.436830 0.889212 0.135946 0.469900 0.782100 5 158 110 -17.208200 49.477699 -7.512200 0.436830 0.889212 0.135946 0.531700 0.782100 0 227 47 -16.136200 50.023998 -7.546200 0.436830 0.889212 0.135946 0.529500 0.803100 0 244 34 -16.192200 44.960400 -4.877100 -0.435886 -0.826304 -0.356686 0.398600 0.782100 254 252 252 -14.977100 45.689201 -4.821000 -0.435886 -0.826304 -0.356686 0.400900 0.803100 254 202 204 -14.885000 46.974701 -7.946000 -0.435886 -0.826304 -0.356686 0.347800 0.803100 254 123 127 -15.884600 46.520500 -7.855800 -0.435886 -0.826304 -0.356686 0.347800 0.782100 254 212 213 -16.810101 49.139900 -3.928800 -0.116417 -0.190205 0.974818 0.469900 0.782100 35 133 112 -15.636800 49.715099 -4.015700 -0.116417 -0.190205 0.974818 0.469900 0.803100 25 190 59 -14.977100 45.689201 -4.821000 -0.116417 -0.190205 0.974818 0.400900 0.803100 18 0 253 -16.192200 44.960400 -4.877100 -0.116417 -0.190205 0.974818 0.398600 0.782100 18 0 253 -13.779500 47.417198 -7.715300 0.030432 0.115440 -0.992848 0.590800 0.828100 12 79 181 -8.756500 49.321098 -7.632900 0.030432 0.115440 -0.992848 0.590800 0.916400 0 250 29 -9.827700 52.989700 -7.188500 0.030432 0.115440 -0.992848 0.526400 0.916400 0 253 27 -14.989100 50.565300 -7.297200 0.030432 0.115440 -0.992848 0.526200 0.828100 0 249 29 -15.636800 49.715099 -4.015700 0.447311 0.883265 0.140554 0.469900 0.803100 1 215 59 -16.136200 50.023998 -7.546200 0.447311 0.883265 0.140554 0.529500 0.803100 0 244 34 -14.989100 50.565300 -7.297200 0.447311 0.883265 0.140554 0.526200 0.828100 0 249 29 -13.779500 47.417198 -7.715300 -0.409629 -0.847844 -0.336696 0.347800 0.823100 254 70 75 -14.885000 46.974701 -7.946000 -0.409629 -0.847844 -0.336696 0.347800 0.803100 254 123 127 -14.977100 45.689201 -4.821000 -0.409629 -0.847844 -0.336696 0.400900 0.803100 254 202 204 -1.239800 14.644800 -6.465300 -0.983473 -0.143727 0.110102 0.774100 0.204900 254 254 254 -1.766900 13.754900 -2.918700 -0.983473 -0.143727 0.110102 0.809900 0.215800 254 254 254 -1.716700 14.450400 -2.459200 -0.983473 -0.143727 0.110102 0.808600 0.236100 254 254 254 -26.117701 44.487900 -2.198700 -0.374471 0.258120 0.890587 0.788200 0.565100 19 0 253 -25.587200 43.557701 -2.038700 -0.374471 0.258120 0.890587 0.806300 0.556900 19 0 253 -26.775499 43.007000 -1.492900 -0.374471 0.258120 0.890587 0.799700 0.523000 19 0 253 -27.058001 43.733101 -1.471100 -0.374471 0.258120 0.890587 0.783900 0.527900 19 0 253 -25.587200 43.557701 -2.038700 -0.386633 -0.610879 0.690899 0.806300 0.556900 19 0 253 -25.491899 42.827301 -2.370100 -0.386633 -0.610879 0.690899 0.813300 0.554500 19 0 253 -27.637899 42.321201 -1.984400 -0.386633 -0.610879 0.690899 0.816200 0.507300 19 0 253 -26.775499 43.007000 -1.492900 -0.386633 -0.610879 0.690899 0.799700 0.523000 19 0 253 -26.117701 44.487900 -2.198700 0.202601 0.798645 0.566673 0.788200 0.565100 19 0 253 -27.058001 43.733101 -1.471100 0.202601 0.798645 0.566673 0.783900 0.527900 19 0 253 -28.100901 44.177299 -2.470000 0.202601 0.798645 0.566673 0.756100 0.537200 19 0 253 -8.184300 53.108700 -3.320400 0.347207 -0.172872 0.921717 0.469900 0.942000 254 68 73 -6.624100 53.529800 -2.653700 0.347207 -0.172872 0.921717 0.469900 0.977800 254 68 73 -7.813100 49.342701 -3.886900 0.347207 -0.172872 0.921717 0.407700 0.942000 254 68 73 -8.747800 53.770199 -7.353300 0.055764 0.062731 -0.996471 0.528600 0.942000 0 253 27 -9.827700 52.989700 -7.188500 0.055764 0.062731 -0.996471 0.526400 0.916400 0 253 27 -8.756500 49.321098 -7.632900 0.055764 0.062731 -0.996471 0.590800 0.916400 0 253 27 -6.775800 50.206501 -7.534500 0.055764 0.062731 -0.996471 0.590800 0.942000 0 253 27 -28.543800 44.178001 -4.651400 0.562493 0.826801 -0.001192 0.718600 0.545700 20 3 248 -27.102699 45.320202 -5.735100 0.562493 0.826801 -0.001192 0.706300 0.587600 12 64 193 -26.753901 45.398300 -2.858600 0.562493 0.826801 -0.001192 0.766000 0.574200 20 0 250 -28.697901 44.238201 -3.477500 0.562493 0.826801 -0.001192 0.737900 0.538900 20 0 252 -26.246300 42.901402 -5.383600 -0.106461 -0.983873 -0.143736 0.880100 0.569900 0 252 27 -28.292801 42.543098 -4.446800 -0.106461 -0.983873 -0.143736 0.879400 0.523100 87 180 37 -28.380600 42.330502 -3.056600 -0.106461 -0.983873 -0.143736 0.853500 0.507000 242 73 67 -28.100901 44.177299 -2.470000 0.192584 0.484112 0.853550 0.756100 0.537200 19 0 253 -26.753901 45.398300 -2.858600 0.192584 0.484112 0.853550 0.766000 0.574200 21 0 250 -26.117701 44.487900 -2.198700 0.192584 0.484112 0.853550 0.788200 0.565100 19 0 253 -1.712600 0.024900 -9.195700 -0.013475 -0.999909 -0.000374 0.765100 0.147100 19 0 253 -3.252600 0.001600 -8.591000 -0.013475 -0.999909 -0.000374 0.751000 0.138000 19 0 253 -5.176800 -0.025000 -0.598300 -0.013475 -0.999909 -0.000374 0.748300 0.055100 18 0 253 -3.769300 -0.009000 1.132900 -0.013475 -0.999909 -0.000374 0.765800 0.040900 18 0 253 -0.000000 61.912998 -0.048000 0.158526 0.331625 0.929997 0.533800 0.254400 0 254 27 -0.785400 61.539799 -0.048800 0.158526 0.331625 0.929997 0.562200 0.247600 0 254 27 -0.000000 62.775902 -0.355700 0.158526 0.331625 0.929997 0.533900 0.286800 0 254 27 -0.340300 31.400700 -9.928000 -0.943868 -0.327610 -0.042246 0.694900 0.384200 254 254 254 -0.845100 29.891001 -9.498900 -0.943868 -0.327610 -0.042246 0.702700 0.368200 254 254 254 -0.425600 30.069099 -1.507500 -0.943868 -0.327610 -0.042246 0.785600 0.393300 254 254 254 -0.509500 56.862801 -2.081200 0.000000 -0.045410 0.998968 0.308000 0.953500 254 127 129 -0.509500 56.862801 -2.081200 0.098448 -0.971038 0.217700 0.570500 0.026600 0 253 27 -0.860300 57.339199 -0.345300 0.098448 -0.971038 0.217700 0.560600 0.087800 0 253 27 -0.000000 57.320400 0.190300 0.098448 -0.971038 0.217700 0.533800 0.095300 0 253 27 -0.000000 56.862801 -2.081200 0.098448 -0.971038 0.217700 0.533800 0.019000 0 253 27 -5.598500 31.822901 -1.404300 0.881264 0.021588 0.472131 0.847900 0.413200 0 240 37 -6.824000 22.193899 -3.251500 0.881264 0.021588 0.472131 0.860400 0.301600 3 179 89 -7.453900 29.910801 -4.780100 0.881264 0.021588 0.472131 0.884800 0.385400 18 0 251 -6.824000 22.193899 -3.251500 0.921284 -0.108958 -0.373315 0.860400 0.301600 3 179 89 -5.317800 22.936800 -8.016200 0.921284 -0.108958 -0.373315 0.916400 0.301600 18 0 252 -5.595300 29.761600 -8.492500 0.921284 -0.108958 -0.373315 0.927500 0.375900 18 0 253 -7.453900 29.910801 -4.780100 0.921284 -0.108958 -0.373315 0.884800 0.385400 18 0 251 -3.798500 31.552500 -0.388900 0.401815 -0.146587 0.903912 0.824000 0.411400 0 253 27 -2.189200 21.987900 -1.483700 0.401815 -0.146587 0.903912 0.804500 0.301600 0 253 27 -6.824000 22.193899 -3.251500 0.401815 -0.146587 0.903912 0.860400 0.301600 3 179 89 -5.598500 31.822901 -1.404300 0.401815 -0.146587 0.903912 0.847900 0.413200 0 240 37 -0.340300 31.400700 -9.928000 0.230509 -0.107925 -0.967067 0.986800 0.385200 0 253 27 -4.970000 33.082802 -8.871900 0.230509 -0.107925 -0.967067 0.938900 0.409500 0 253 27 -5.595300 29.761600 -8.492500 0.230509 -0.107925 -0.967067 0.927500 0.375900 0 253 27 -0.845100 29.891001 -9.498900 0.230509 -0.107925 -0.967067 0.978500 0.369500 0 253 27 -0.835600 22.853901 -8.210700 -0.992236 -0.110106 0.057826 0.728900 0.301600 254 254 254 -2.189200 21.987900 -1.483700 -0.992236 -0.110106 0.057826 0.804500 0.301600 254 254 254 -0.425600 30.069099 -1.507500 -0.992236 -0.110106 0.057826 0.785600 0.393300 254 254 254 -0.845100 29.891001 -9.498900 -0.992236 -0.110106 0.057826 0.702700 0.368200 254 254 254 -2.162800 35.743500 -9.599900 0.324673 0.084802 -0.942017 0.972400 0.433600 0 253 27 -5.283200 35.952900 -7.814600 0.324673 0.084802 -0.942017 0.933900 0.441300 0 253 27 -4.970000 33.082802 -8.871900 0.324673 0.084802 -0.942017 0.938900 0.409500 0 253 27 -0.340300 31.400700 -9.928000 0.324673 0.084802 -0.942017 0.986800 0.385200 0 253 27 -5.283200 35.952900 -7.814600 0.889642 0.311183 -0.334218 0.142200 0.631800 18 1 249 -5.919200 37.619099 -4.570300 0.889642 0.311183 -0.334218 0.183400 0.661600 9 98 162 -6.542300 35.480598 -4.902800 0.889642 0.311183 -0.334218 0.182500 0.631800 15 32 221 -5.919200 37.619099 -4.570300 0.882631 0.186784 0.431364 0.183400 0.661600 9 98 162 -4.685700 36.664101 -1.616400 0.882631 0.186784 0.431364 0.239300 0.661600 0 250 28 -5.598500 31.822901 -1.404300 0.882631 0.186784 0.431364 0.231700 0.582200 0 240 37 -6.542300 35.480598 -4.902800 0.882631 0.186784 0.431364 0.182500 0.631800 15 32 221 -0.474100 61.294899 -0.607800 0.490764 0.255871 0.832875 0.567800 0.227200 254 68 73 -0.596000 60.268700 -0.255900 0.490764 0.255871 0.832875 0.565100 0.185300 254 68 73 -2.225300 60.301201 -1.334400 0.490764 0.255871 0.832875 0.633200 0.187400 254 68 73 -1.340700 61.343498 -1.024900 0.490764 0.255871 0.832875 0.599900 0.231700 254 68 73 -1.340700 61.343498 -1.024900 0.199083 -0.932669 0.300824 0.599900 0.231700 0 253 27 -1.792100 61.563202 -0.648200 0.199083 -0.932669 0.300824 0.603400 0.250800 0 253 27 -0.785400 61.539799 -0.048800 0.199083 -0.932669 0.300824 0.562200 0.247600 0 253 27 -0.474100 61.294899 -0.607800 0.199083 -0.932669 0.300824 0.567800 0.227200 0 253 27 -0.000000 45.235802 -8.516300 0.205813 0.023108 -0.978318 0.061600 0.762900 0 253 27 -5.495700 46.043098 -6.732400 0.205813 0.023108 -0.978318 0.140100 0.788400 0 252 27 -2.827600 38.171799 -8.088300 0.205813 0.023108 -0.978318 0.114700 0.661600 8 119 142 -0.000000 38.221600 -8.073300 0.205813 0.023108 -0.978318 0.073400 0.661600 0 240 38 -0.425600 30.069099 -1.507500 -0.290133 -0.060504 0.955072 0.785600 0.393300 254 254 254 -2.189200 21.987900 -1.483700 -0.290133 -0.060504 0.955072 0.804500 0.301600 254 254 254 -3.798500 31.552500 -0.388900 -0.290133 -0.060504 0.955072 0.824000 0.411400 254 254 254 -0.000000 31.547001 -9.939100 -0.348901 -0.925923 -0.144686 0.694200 0.388200 254 68 73 -0.340300 31.400700 -9.928000 -0.348901 -0.925923 -0.144686 0.694900 0.384200 254 68 73 -0.425600 30.069099 -1.507500 -0.348901 -0.925923 -0.144686 0.785600 0.393300 254 68 73 -0.000000 30.215401 -1.522000 -0.348901 -0.925923 -0.144686 0.785000 0.398100 254 68 73 -21.061199 44.183601 -7.611200 0.028361 0.039319 -0.998824 0.590800 0.698800 18 0 253 -15.884600 46.520500 -7.855800 0.028361 0.039319 -0.998824 0.590800 0.782100 17 5 246 -17.208200 49.477699 -7.512200 0.028361 0.039319 -0.998824 0.531700 0.782100 0 227 47 -22.585199 48.327702 -7.594400 0.028361 0.039319 -0.998824 0.533600 0.698800 0 239 38 -22.348700 46.932201 -2.822400 0.723103 0.652497 0.226650 0.469900 0.674700 18 0 249 -23.337700 47.268200 -6.945000 0.723103 0.652497 0.226650 0.530800 0.674700 2 175 92 -22.585199 48.327702 -7.594400 0.723103 0.652497 0.226650 0.533600 0.698800 0 239 38 -21.061199 44.183601 -7.611200 0.095048 -0.949863 -0.297868 0.347800 0.693400 0 253 27 -22.105101 44.119598 -7.074000 0.095048 -0.949863 -0.297868 0.362600 0.674700 0 253 27 -21.936399 43.055199 -3.733600 0.095048 -0.949863 -0.297868 0.412700 0.674700 0 253 27 -0.340300 31.400700 -9.928000 0.010374 0.075249 -0.997111 0.986800 0.385200 0 253 27 -0.000000 31.547001 -9.939100 0.010374 0.075249 -0.997111 0.990600 0.386300 0 253 27 -0.000000 35.795200 -9.599900 0.010374 0.075249 -0.997111 0.995500 0.431600 0 253 27 -2.162800 35.743500 -9.599900 0.010374 0.075249 -0.997111 0.972400 0.433600 0 253 27 -5.919200 37.619099 -4.570300 0.561685 0.544798 -0.622660 0.183400 0.661600 9 98 162 -5.283200 35.952900 -7.814600 0.561685 0.544798 -0.622660 0.142200 0.631800 18 1 249 -2.162800 35.743500 -9.599900 0.561685 0.544798 -0.622660 0.096700 0.631800 16 28 225 -2.827600 38.171799 -8.088300 0.561685 0.544798 -0.622660 0.114700 0.661600 8 119 142 -28.543800 44.178001 -4.651400 0.410462 -0.233070 -0.881589 0.718600 0.545700 77 187 34 -28.292801 42.543098 -4.446800 0.410462 -0.233070 -0.881589 0.704200 0.514300 87 180 37 -26.246300 42.901402 -5.383600 0.410462 -0.233070 -0.881589 0.663100 0.553800 0 252 27 -27.102699 45.320202 -5.735100 0.410462 -0.233070 -0.881589 0.706300 0.587600 0 253 27 -25.491899 42.827301 -2.370100 -0.201709 -0.968181 -0.148119 0.813300 0.554500 190 254 195 -28.380600 42.330502 -3.056600 -0.201709 -0.968181 -0.148119 0.853500 0.507000 242 254 242 -27.637899 42.321201 -1.984400 -0.201709 -0.968181 -0.148119 0.816200 0.507300 254 254 254 -26.246300 42.901402 -5.383600 -0.185319 -0.980147 -0.070494 0.880100 0.569900 0 254 27 -28.380600 42.330502 -3.056600 -0.185319 -0.980147 -0.070494 0.853500 0.507000 242 254 242 -25.491899 42.827301 -2.370100 -0.185319 -0.980147 -0.070494 0.813300 0.554500 190 254 195 -2.162800 35.743500 -9.599900 0.008224 0.529675 -0.848161 0.096700 0.631800 0 253 27 -0.000000 35.795200 -9.599900 0.008224 0.529675 -0.848161 0.068300 0.631800 0 253 27 -0.000000 38.221600 -8.073300 0.008224 0.529675 -0.848161 0.073400 0.661600 0 253 27 -2.827600 38.171799 -8.088300 0.008224 0.529675 -0.848161 0.114700 0.661600 0 253 27 -0.706900 62.538601 -0.289700 0.498102 0.211804 0.840853 0.409100 0.538600 0 253 27 -1.838200 62.255798 -0.802600 0.498102 0.211804 0.840853 0.430000 0.507000 0 253 27 -1.901400 63.532299 -1.247600 0.498102 0.211804 0.840853 0.451500 0.531400 0 253 27 -0.672300 63.485901 -0.421800 0.498102 0.211804 0.840853 0.426300 0.552700 0 253 27 -1.901400 63.532299 -1.247600 0.915374 0.111541 0.386845 0.451500 0.531400 0 253 27 -1.838200 62.255798 -0.802600 0.915374 0.111541 0.386845 0.430000 0.507000 0 253 27 -3.194200 60.597198 -3.460400 0.915374 0.111541 0.386845 0.492000 0.451400 0 253 27 -2.758700 63.532299 -3.348800 0.915374 0.111541 0.386845 0.499700 0.518700 0 253 27 -2.758700 63.532299 -3.348800 0.984906 0.142377 0.098436 0.499700 0.518700 0 253 27 -3.194200 60.597198 -3.460400 0.984906 0.142377 0.098436 0.492000 0.451400 0 253 27 -3.446000 60.597198 -5.980300 0.984906 0.142377 0.098436 0.552100 0.445900 0 253 27 -3.010600 63.532299 -5.868700 0.984906 0.142377 0.098436 0.554200 0.511800 0 253 27 -3.194200 60.597198 -3.460400 0.917633 0.222238 0.329485 0.492000 0.451400 0 253 27 -1.838200 62.255798 -0.802600 0.917633 0.222238 0.329485 0.430000 0.507000 0 253 27 -2.336800 60.597198 -1.072500 0.917633 0.222238 0.329485 0.434100 0.460700 0 253 27 -2.130500 53.628601 -1.359200 0.842435 0.033555 0.537753 0.416700 0.297200 0 253 27 -4.088800 54.879799 -3.460400 0.842435 0.033555 0.537753 0.486800 0.316000 0 253 27 -3.194200 60.597198 -3.460400 0.842435 0.033555 0.537753 0.492000 0.451400 0 253 27 -2.336800 60.597198 -1.072500 0.842435 0.033555 0.537753 0.434100 0.460700 0 253 27 -4.088800 54.879799 -3.460400 0.982155 0.156435 0.104398 0.486800 0.316000 0 253 27 -4.340700 55.234299 -6.210400 0.982155 0.156435 0.104398 0.542400 0.331500 0 254 27 -3.446000 60.597198 -5.980300 0.982155 0.156435 0.104398 0.552100 0.445900 0 253 27 -3.194200 60.597198 -3.460400 0.982155 0.156435 0.104398 0.492000 0.451400 0 253 27 -3.010600 63.532299 -5.868700 0.839145 0.204241 -0.504105 0.554200 0.511800 0 253 27 -3.446000 60.597198 -5.980300 0.839145 0.204241 -0.504105 0.552100 0.445900 0 253 27 -2.517200 60.597198 -7.879200 0.839145 0.204241 -0.504105 0.601000 0.450200 0 253 27 -1.932100 63.532299 -7.311200 0.839145 0.204241 -0.504105 0.591100 0.519300 0 253 27 -3.446000 60.597198 -5.980300 0.847590 0.127945 -0.514996 0.552100 0.445900 0 253 27 -4.340700 55.234299 -6.210400 0.847590 0.127945 -0.514996 0.542400 0.331500 0 254 27 -2.990300 54.496300 -8.246000 0.847590 0.127945 -0.514996 0.608400 0.297700 0 253 27 -2.517200 60.597198 -7.879200 0.847590 0.127945 -0.514996 0.601000 0.450200 0 253 27 -1.932100 63.532299 -7.311200 0.365116 0.222173 -0.904063 0.591100 0.519300 0 253 27 -2.517200 60.597198 -7.879200 0.365116 0.222173 -0.904063 0.601000 0.450200 0 253 27 -0.000000 60.597198 -8.812800 0.365116 0.222173 -0.904063 0.661800 0.464200 0 253 27 -0.000000 63.532299 -8.174500 0.365116 0.222173 -0.904063 0.634800 0.537700 0 253 27 -2.990300 54.496300 -8.246000 0.255106 0.035267 -0.966270 0.608400 0.297700 0 253 27 -0.000000 54.050800 -8.782700 0.255106 0.035267 -0.966270 0.682300 0.308600 0 253 27 -0.000000 60.597198 -8.812800 0.255106 0.035267 -0.966270 0.661800 0.464200 0 253 27 -2.517200 60.597198 -7.879200 0.255106 0.035267 -0.966270 0.601000 0.450200 0 253 27 -0.672300 63.485901 -0.421800 0.422112 0.618267 0.662999 0.426300 0.552700 0 253 27 -1.901400 63.532299 -1.247600 0.422112 0.618267 0.662999 0.451500 0.531400 0 253 27 -1.171400 65.057899 -2.205500 0.422112 0.618267 0.662999 0.482000 0.564300 0 253 27 -1.901400 63.532299 -1.247600 0.756752 0.608663 0.238446 0.451500 0.531400 0 253 27 -2.758700 63.532299 -3.348800 0.756752 0.608663 0.238446 0.499700 0.518700 0 253 27 -1.795600 65.057899 -4.806100 0.756752 0.608663 0.238446 0.538600 0.556700 0 253 27 -1.171400 65.057899 -2.205500 0.756752 0.608663 0.238446 0.482000 0.564300 0 253 27 -2.758700 63.532299 -3.348800 0.806293 0.585999 0.080601 0.499700 0.518700 0 253 27 -3.010600 63.532299 -5.868700 0.806293 0.585999 0.080601 0.554200 0.511800 0 253 27 -1.795600 65.057899 -4.806100 0.806293 0.585999 0.080601 0.538600 0.556700 0 253 27 -3.010600 63.532299 -5.868700 0.468822 0.765524 -0.440657 0.554200 0.511800 0 253 27 -1.932100 63.532299 -7.311200 0.468822 0.765524 -0.440657 0.591100 0.519300 0 254 27 -0.000000 65.057899 -6.421400 0.468822 0.765524 -0.440657 0.588900 0.582100 0 253 27 -1.795600 65.057899 -4.806100 0.468822 0.765524 -0.440657 0.538600 0.556700 0 253 27 -1.932100 63.532299 -7.311200 0.281463 0.723860 -0.629925 0.591100 0.519300 0 254 27 -0.000000 63.532299 -8.174500 0.281463 0.723860 -0.629925 0.634800 0.537700 0 253 27 -0.000000 65.057899 -6.421400 0.281463 0.723860 -0.629925 0.588900 0.582100 0 253 27 -1.171400 65.057899 -2.205500 0.296421 0.952404 0.071148 0.482000 0.564300 0 253 27 -1.795600 65.057899 -4.806100 0.296421 0.952404 0.071148 0.538600 0.556700 0 253 27 -0.000000 65.560898 -4.058400 0.296421 0.952404 0.071148 0.523700 0.603300 0 253 27 -1.795600 65.057899 -4.806100 0.184093 0.961370 -0.204641 0.538600 0.556700 0 254 27 -0.000000 65.057899 -6.421400 0.184093 0.961370 -0.204641 0.588900 0.582100 0 254 27 -0.000000 65.560898 -4.058400 0.184093 0.961370 -0.204641 0.523700 0.603300 0 254 27 -0.672300 63.485901 -0.421800 0.000000 0.750225 0.661183 0.426300 0.552700 0 254 27 -1.171400 65.057899 -2.205500 0.000000 0.750225 0.661183 0.482000 0.564300 0 254 27 --1.171400 65.057899 -2.205500 0.000000 0.750225 0.661183 0.466700 0.607600 0 254 27 --0.672300 63.485901 -0.421800 0.000000 0.750225 0.661183 0.416100 0.581700 0 254 27 -0.706900 62.538601 -0.289700 0.204667 0.142518 0.968401 0.409100 0.538600 0 254 27 -0.672300 63.485901 -0.421800 0.204667 0.142518 0.968401 0.426300 0.552700 0 254 27 -0.000000 62.538601 -0.140300 0.204667 0.142518 0.968401 0.398200 0.559100 0 254 27 -0.672300 63.485901 -0.421800 -0.000000 0.284850 0.958572 0.426300 0.552700 0 254 27 --0.672300 63.485901 -0.421800 -0.000000 0.284850 0.958572 0.416100 0.581700 0 254 27 -0.000000 62.538601 -0.140300 -0.000000 0.284850 0.958572 0.398200 0.559100 0 254 27 -2.130500 53.628601 -1.359200 -0.899990 0.017690 0.435552 0.416700 0.297200 0 253 27 -2.336800 60.597198 -1.072500 -0.899990 0.017690 0.435552 0.434100 0.460700 0 253 27 -1.393700 60.597198 -3.164700 -0.899990 0.017690 0.435552 0.380300 0.463400 0 253 27 -1.187300 53.628601 -3.164700 -0.899990 0.017690 0.435552 0.369000 0.300200 0 253 27 --0.706900 62.538601 -0.289700 -0.498102 0.211804 0.840853 0.409100 0.538600 0 254 27 --0.672300 63.485901 -0.421800 -0.498102 0.211804 0.840853 0.426300 0.552800 0 254 27 --1.901400 63.532299 -1.247600 -0.498102 0.211804 0.840853 0.451500 0.531500 0 254 27 --1.838200 62.255798 -0.802600 -0.498102 0.211804 0.840853 0.430000 0.507100 0 254 27 --1.901400 63.532299 -1.247600 -0.915374 0.111541 0.386845 0.451500 0.531500 0 254 27 --2.758700 63.532299 -3.348800 -0.915374 0.111541 0.386845 0.499700 0.518800 0 254 27 --3.194200 60.597198 -3.460400 -0.915374 0.111541 0.386845 0.492000 0.451500 0 254 27 --1.838200 62.255798 -0.802600 -0.915374 0.111541 0.386845 0.430000 0.507100 0 254 27 --2.758700 63.532299 -3.348800 -0.984906 0.142377 0.098436 0.499700 0.518800 0 254 27 --3.010600 63.532299 -5.868700 -0.984906 0.142377 0.098436 0.554200 0.511900 0 254 27 --3.446000 60.597198 -5.980300 -0.984906 0.142377 0.098436 0.552100 0.445900 0 254 27 --3.194200 60.597198 -3.460400 -0.984906 0.142377 0.098436 0.492000 0.451500 0 254 27 --3.194200 60.597198 -3.460400 -0.917633 0.222238 0.329485 0.492000 0.451500 0 254 27 --2.336800 60.597198 -1.072500 -0.917633 0.222238 0.329485 0.434000 0.460800 0 254 27 --1.838200 62.255798 -0.802600 -0.917633 0.222238 0.329485 0.430000 0.507100 0 254 27 --2.130500 53.628601 -1.359200 -0.842435 0.033555 0.537753 0.416600 0.297300 0 253 27 --2.336800 60.597198 -1.072500 -0.842435 0.033555 0.537753 0.434000 0.460800 0 254 27 --3.194200 60.597198 -3.460400 -0.842435 0.033555 0.537753 0.492000 0.451500 0 254 27 --4.088800 54.879799 -3.460400 -0.842435 0.033555 0.537753 0.486700 0.316100 0 253 27 --4.088800 54.879799 -3.460400 -0.982155 0.156435 0.104398 0.486700 0.316100 0 253 27 --3.194200 60.597198 -3.460400 -0.982155 0.156435 0.104398 0.492000 0.451500 0 253 27 --3.446000 60.597198 -5.980300 -0.982155 0.156435 0.104398 0.552100 0.445900 0 253 27 --4.340700 55.234299 -6.210400 -0.982155 0.156435 0.104398 0.542400 0.331500 0 254 27 --3.010600 63.532299 -5.868700 -0.839145 0.204241 -0.504105 0.554200 0.511900 0 254 27 --1.932100 63.532299 -7.311200 -0.839145 0.204241 -0.504105 0.591100 0.519300 0 254 27 --2.517200 60.597198 -7.879200 -0.839145 0.204241 -0.504105 0.601000 0.450300 0 254 27 --3.446000 60.597198 -5.980300 -0.839145 0.204241 -0.504105 0.552100 0.445900 0 254 27 --3.446000 60.597198 -5.980300 -0.847590 0.127945 -0.514996 0.552100 0.445900 0 254 27 --2.517200 60.597198 -7.879200 -0.847590 0.127945 -0.514996 0.601000 0.450300 0 254 27 --2.990300 54.496300 -8.246000 -0.847590 0.127945 -0.514996 0.608300 0.297700 0 254 27 --4.340700 55.234299 -6.210400 -0.847590 0.127945 -0.514996 0.542400 0.331500 0 254 27 --1.932100 63.532299 -7.311200 -0.365116 0.222173 -0.904063 0.591100 0.519300 0 254 27 -0.000000 63.532299 -8.174500 -0.365116 0.222173 -0.904063 0.634800 0.537700 0 254 27 -0.000000 60.597198 -8.812800 -0.365116 0.222173 -0.904063 0.661800 0.464200 0 254 27 --2.517200 60.597198 -7.879200 -0.365116 0.222173 -0.904063 0.601000 0.450300 0 254 27 --2.990300 54.496300 -8.246000 -0.255106 0.035267 -0.966270 0.608300 0.297700 0 254 27 --2.517200 60.597198 -7.879200 -0.255106 0.035267 -0.966270 0.601000 0.450300 0 254 27 -0.000000 60.597198 -8.812800 -0.255106 0.035267 -0.966270 0.661800 0.464200 0 254 27 -0.000000 54.050800 -8.782700 -0.255106 0.035267 -0.966270 0.682300 0.308600 0 254 27 --0.672300 63.485901 -0.421800 -0.422112 0.618267 0.662999 0.426300 0.552800 0 254 27 --1.171400 65.057899 -2.205500 -0.422112 0.618267 0.662999 0.482000 0.564400 0 254 27 --1.901400 63.532299 -1.247600 -0.422112 0.618267 0.662999 0.451500 0.531500 0 254 27 --1.901400 63.532299 -1.247600 -0.756752 0.608663 0.238446 0.451500 0.531500 0 254 27 --1.171400 65.057899 -2.205500 -0.756752 0.608663 0.238446 0.482000 0.564400 0 254 27 --1.795600 65.057899 -4.806100 -0.756752 0.608663 0.238446 0.538600 0.556700 0 254 27 --2.758700 63.532299 -3.348800 -0.756752 0.608663 0.238446 0.499700 0.518800 0 254 27 --2.758700 63.532299 -3.348800 -0.806293 0.585999 0.080601 0.499700 0.518800 0 254 27 --1.795600 65.057899 -4.806100 -0.806293 0.585999 0.080601 0.538600 0.556700 0 254 27 --3.010600 63.532299 -5.868700 -0.806293 0.585999 0.080601 0.554200 0.511900 0 254 27 --3.010600 63.532299 -5.868700 -0.468822 0.765524 -0.440657 0.554200 0.511900 0 254 27 --1.795600 65.057899 -4.806100 -0.468822 0.765524 -0.440657 0.538600 0.556700 0 254 27 -0.000000 65.057899 -6.421400 -0.468822 0.765524 -0.440657 0.589000 0.582100 0 254 27 --1.932100 63.532299 -7.311200 -0.468822 0.765524 -0.440657 0.591100 0.519300 0 254 27 --1.932100 63.532299 -7.311200 -0.281463 0.723860 -0.629925 0.591100 0.519300 0 254 27 -0.000000 65.057899 -6.421400 -0.281463 0.723860 -0.629925 0.589000 0.582100 0 254 27 -0.000000 63.532299 -8.174500 -0.281463 0.723860 -0.629925 0.634800 0.537700 0 254 27 --1.171400 65.057899 -2.205500 -0.296421 0.952404 0.071148 0.482000 0.564400 0 254 27 -0.000000 65.560898 -4.058400 -0.296421 0.952404 0.071148 0.523700 0.603400 0 254 27 --1.795600 65.057899 -4.806100 -0.296421 0.952404 0.071148 0.538600 0.556700 0 254 27 --1.795600 65.057899 -4.806100 -0.184093 0.961370 -0.204641 0.538600 0.556700 0 254 27 -0.000000 65.560898 -4.058400 -0.184093 0.961370 -0.204641 0.523700 0.603400 0 254 27 -0.000000 65.057899 -6.421400 -0.184093 0.961370 -0.204641 0.589000 0.582100 0 254 27 --1.171400 65.057899 -2.205500 0.000000 0.965072 0.261984 0.466700 0.607600 0 254 27 -1.171400 65.057899 -2.205500 0.000000 0.965072 0.261984 0.482000 0.564300 0 254 27 -0.000000 65.560898 -4.058400 0.000000 0.965072 0.261984 0.523700 0.603300 0 254 27 --0.706900 62.538601 -0.289700 -0.204667 0.142518 0.968401 0.409100 0.538600 0 254 27 -0.000000 62.538601 -0.140300 -0.204667 0.142518 0.968401 0.398200 0.559200 0 254 27 --0.672300 63.485901 -0.421800 -0.204667 0.142518 0.968401 0.426300 0.552800 0 254 27 --2.130500 53.628601 -1.359200 0.899990 0.017690 0.435552 0.416600 0.297300 164 133 56 --1.187300 53.628601 -3.164700 0.899990 0.017690 0.435552 0.369000 0.300300 209 100 64 --1.393700 60.597198 -3.164700 0.899990 0.017690 0.435552 0.380200 0.463500 254 254 254 --2.336800 60.597198 -1.072500 0.899990 0.017690 0.435552 0.434000 0.460800 254 254 254 -8.704300 24.905701 -6.036500 0.233777 0.158187 -0.959336 0.967100 0.466200 0 253 27 -7.984800 25.127701 -6.177400 0.233777 0.158187 -0.959336 0.966400 0.464600 0 253 27 -7.649900 27.558001 -5.856100 0.233777 0.158187 -0.959336 0.993500 0.506600 0 253 27 -8.503900 27.435900 -5.670300 0.233777 0.158187 -0.959336 0.976600 0.507100 0 253 27 -6.463600 36.223400 -3.704900 0.910800 0.108730 0.398273 0.962000 0.710700 9 100 160 -5.778000 35.994701 -1.773100 0.910800 0.108730 0.398273 0.922200 0.717000 0 231 44 -7.451900 27.210300 -3.504400 0.910800 0.108730 0.398273 0.930000 0.516400 18 2 248 -8.503900 27.435900 -5.670300 0.910800 0.108730 0.398273 0.976600 0.507100 18 0 253 -5.115000 35.782600 -2.051700 -0.272059 -0.232411 0.933793 0.916000 0.725700 0 241 37 -6.597900 27.332300 -3.690200 -0.272059 -0.232411 0.933793 0.913000 0.515500 16 16 234 -7.451900 27.210300 -3.504400 -0.272059 -0.232411 0.933793 0.930000 0.516400 18 2 248 -5.778000 35.994701 -1.773100 -0.272059 -0.232411 0.933793 0.922200 0.717000 0 231 44 -5.743400 36.019600 -3.995900 0.266707 0.266447 -0.926215 0.971100 0.718900 0 253 27 -6.463600 36.223400 -3.704900 0.266707 0.266447 -0.926215 0.962000 0.710700 0 253 27 -8.503900 27.435900 -5.670300 0.266707 0.266447 -0.926215 0.976600 0.507100 0 253 27 -7.649900 27.558001 -5.856100 0.266707 0.266447 -0.926215 0.993500 0.506600 0 253 27 -7.451900 27.210300 -3.504400 -0.285900 -0.782712 0.552832 0.930000 0.516400 21 0 248 -6.597900 27.332300 -3.690200 -0.285900 -0.782712 0.552832 0.913000 0.515500 35 1 237 -7.984800 25.127701 -6.177400 -0.285900 -0.782712 0.552832 0.966400 0.464600 19 0 253 -8.704300 24.905701 -6.036500 -0.285900 -0.782712 0.552832 0.967100 0.466200 19 0 253 -7.451900 27.210300 -3.504400 0.899158 0.007889 0.437552 0.930000 0.516400 18 2 248 -8.704300 24.905701 -6.036500 0.899158 0.007889 0.437552 0.967100 0.466200 18 0 253 -8.503900 27.435900 -5.670300 0.899158 0.007889 0.437552 0.976600 0.507100 18 0 253 -6.463600 36.223400 -3.704900 -0.293676 0.955783 0.015277 0.962000 0.710700 254 68 73 -5.743400 36.019600 -3.995900 -0.293676 0.955783 0.015277 0.971100 0.718900 254 68 73 -5.115000 35.782600 -2.051700 -0.293676 0.955783 0.015277 0.916000 0.725700 254 68 73 -5.778000 35.994701 -1.773100 -0.293676 0.955783 0.015277 0.922200 0.717000 254 68 73 -4.513000 55.007702 -5.909800 -0.189279 -0.709198 -0.679126 0.935300 0.759300 0 253 27 -4.291100 55.098900 -5.871800 -0.189279 -0.709198 -0.679126 0.932300 0.755300 0 253 27 -4.207800 55.799599 -6.651700 -0.189279 -0.709198 -0.679126 0.967500 0.768900 0 253 27 -4.871900 55.799599 -6.765400 -0.189279 -0.709198 -0.679126 0.957200 0.775300 0 253 27 -2.904000 62.455601 -5.700500 0.959060 0.270852 0.082723 0.954300 0.968000 0 253 27 -2.764700 62.455601 -4.128400 0.959060 0.270852 0.082723 0.909900 0.975800 0 253 27 -4.736600 55.799599 -5.153900 0.959060 0.270852 0.082723 0.919700 0.781300 0 253 27 -4.871900 55.799599 -6.765400 0.959060 0.270852 0.082723 0.957200 0.775300 0 253 27 -2.764700 62.455601 -4.128400 0.167860 -0.101350 0.980587 0.909900 0.975800 0 253 27 -4.072400 55.799599 -5.040200 0.167860 -0.101350 0.980587 0.904100 0.777700 0 253 27 -4.736600 55.799599 -5.153900 0.167860 -0.101350 0.980587 0.919700 0.781300 0 253 27 -2.904000 62.455601 -5.700500 -0.167781 0.107182 -0.979980 0.954300 0.968000 0 253 27 -4.871900 55.799599 -6.765400 -0.167781 0.107182 -0.979980 0.957200 0.775300 0 253 27 -4.207800 55.799599 -6.651700 -0.167781 0.107182 -0.979980 0.967500 0.768900 0 253 27 -4.736600 55.799599 -5.153900 0.042232 -0.727963 0.684314 0.919700 0.781300 254 68 73 -4.072400 55.799599 -5.040200 0.042232 -0.727963 0.684314 0.904100 0.777700 254 68 73 -4.291100 55.098900 -5.871800 0.042232 -0.727963 0.684314 0.932300 0.755300 254 68 73 -4.513000 55.007702 -5.909800 0.042232 -0.727963 0.684314 0.935300 0.759300 254 68 73 -4.736600 55.799599 -5.153900 0.937220 -0.339745 0.078688 0.919700 0.781300 0 253 27 -4.513000 55.007702 -5.909800 0.937220 -0.339745 0.078688 0.935300 0.759300 0 253 27 -4.871900 55.799599 -6.765400 0.937220 -0.339745 0.078688 0.957200 0.775300 0 253 27 -4 0 1 2 3 -4 4 5 6 7 -3 8 9 10 -4 11 12 13 14 -4 15 16 17 18 -4 19 20 21 22 -4 23 24 25 26 -4 27 28 29 30 -4 31 32 33 34 -4 35 36 37 38 -4 39 40 41 42 -4 43 44 45 46 -3 47 48 49 -4 50 51 52 53 -4 54 55 56 57 -4 58 59 60 61 -4 62 63 64 65 -4 66 67 68 69 -4 70 71 72 73 -4 74 75 76 77 -3 78 79 80 -4 81 82 83 84 -3 85 86 87 -4 88 89 90 91 -3 92 93 94 -4 95 96 97 98 -4 99 100 101 102 -4 103 104 105 106 -4 107 108 109 110 -4 111 112 113 114 -4 115 116 117 118 -4 119 120 121 122 -4 123 124 125 126 -4 127 128 129 130 -4 131 132 133 134 -4 135 136 137 138 -3 139 140 141 -3 142 143 144 -4 145 146 147 148 -4 149 150 151 152 -4 153 154 155 156 -3 157 158 159 -3 160 161 162 -4 163 164 165 166 -4 167 168 169 170 -4 171 172 173 174 -3 175 176 177 -4 178 179 180 181 -4 182 183 184 185 -3 186 187 188 -3 189 190 191 -4 192 193 194 195 -4 196 197 198 199 -4 200 201 202 203 -4 204 205 206 207 -3 208 209 210 -3 211 212 213 -3 214 215 216 -4 217 218 219 220 -4 221 222 223 224 -3 225 226 227 -4 228 229 230 231 -4 232 233 234 235 -3 236 237 238 -3 239 240 241 -3 242 243 244 -3 245 246 247 -4 248 249 250 251 -4 252 253 254 255 -4 256 257 258 259 -4 260 261 262 263 -4 264 265 266 267 -4 268 269 270 271 -4 272 273 274 275 -4 276 277 278 279 -4 280 281 282 283 -3 284 285 286 -3 287 288 289 -4 290 291 292 293 -4 294 295 296 297 -4 298 299 300 301 -3 302 303 304 -4 305 306 307 308 -4 309 310 311 312 -4 313 314 315 316 -4 317 318 319 320 -4 321 322 323 324 -4 325 326 327 328 -4 329 330 331 332 -4 333 334 335 336 -4 337 338 339 340 -4 341 342 343 344 -4 345 346 347 348 -4 349 350 351 352 -3 353 354 355 -4 356 357 358 359 -4 360 361 362 363 -3 364 365 366 -4 367 368 369 370 -4 371 372 373 374 -3 375 376 377 -4 378 379 380 381 -3 382 383 384 -4 385 386 387 388 -4 389 390 391 392 -3 393 394 395 -4 396 397 398 399 -4 400 401 402 403 -4 404 405 406 407 -4 408 409 410 411 -4 412 413 414 415 -3 416 417 418 -3 419 420 421 -3 422 423 424 -4 425 426 427 428 -4 429 430 431 432 -3 433 434 435 -3 436 437 438 -4 439 440 441 442 -4 443 444 445 446 -3 447 448 449 -3 450 451 452 -4 453 454 455 456 -3 457 458 459 -3 460 461 462 -3 463 464 465 -4 466 467 468 469 -3 470 471 472 -4 473 474 475 476 -4 477 478 479 480 -4 481 482 483 484 -4 485 486 487 488 -4 489 490 491 492 -3 493 494 495 -4 496 497 498 499 -4 500 501 502 503 -4 504 505 506 507 -4 508 509 510 511 -3 512 513 514 -4 515 516 517 518 -4 519 520 521 522 -3 523 524 525 -3 526 527 528 -3 529 530 531 -4 532 533 534 535 -4 536 537 538 539 -4 540 541 542 543 -4 544 545 546 547 -3 548 549 550 -3 551 552 553 -4 554 555 556 557 -3 558 559 560 -4 561 562 563 564 -4 565 566 567 568 -4 569 570 571 572 -3 573 574 575 -4 576 577 578 579 -4 580 581 582 583 -4 584 585 586 587 -4 588 589 590 591 -4 592 593 594 595 -4 596 597 598 599 -4 600 601 602 603 -4 604 605 606 607 -4 608 609 610 611 -3 612 613 614 -4 615 616 617 618 -4 619 620 621 622 -4 623 624 625 626 -4 627 628 629 630 -4 631 632 633 634 -4 635 636 637 638 -4 639 640 641 642 -3 643 644 645 -4 646 647 648 649 -3 650 651 652 -4 653 654 655 656 -3 657 658 659 -4 660 661 662 663 -4 664 665 666 667 -4 668 669 670 671 -4 672 673 674 675 -4 676 677 678 679 -4 680 681 682 683 -4 684 685 686 687 -4 688 689 690 691 -4 692 693 694 695 -4 696 697 698 699 -4 700 701 702 703 -3 704 705 706 -3 707 708 709 -4 710 711 712 713 -4 714 715 716 717 -4 718 719 720 721 -3 722 723 724 -3 725 726 727 -4 728 729 730 731 -4 732 733 734 735 -4 736 737 738 739 -3 740 741 742 -4 743 744 745 746 -4 747 748 749 750 -3 751 752 753 -3 754 755 756 -4 757 758 759 760 -4 761 762 763 764 -4 765 766 767 768 -4 769 770 771 772 -3 773 774 775 -3 776 777 778 -3 779 780 781 -4 782 783 784 785 -4 786 787 788 789 -3 790 791 792 -4 793 794 795 796 -4 797 798 799 800 -3 801 802 803 -3 804 805 806 -3 807 808 809 -3 810 811 812 -4 813 814 815 816 -4 817 818 819 820 -4 821 822 823 824 -4 825 826 827 828 -4 829 830 831 832 -4 833 834 835 836 -4 837 838 839 840 -4 841 842 843 844 -4 845 846 847 848 -3 849 850 851 -3 852 853 854 -4 855 856 857 858 -4 859 860 861 862 -4 863 864 865 866 -3 867 868 869 -4 870 871 872 873 -4 874 875 876 877 -4 878 879 880 881 -4 882 883 884 885 -4 886 887 888 889 -4 890 891 892 893 -4 894 895 896 897 -4 898 899 900 901 -4 902 903 904 905 -4 906 907 908 909 -4 910 911 912 913 -4 914 915 916 917 -3 918 919 920 -4 921 922 923 924 -4 925 926 927 928 -3 929 930 931 -4 932 933 934 935 -4 936 937 938 939 -3 940 941 942 -4 943 944 945 946 -3 947 948 949 -4 950 951 952 953 -4 954 955 956 957 -3 958 959 960 -4 961 962 963 964 -4 965 966 967 968 -4 969 970 971 972 -4 973 974 975 976 -4 977 978 979 980 -3 981 982 983 -3 984 985 986 -3 987 988 989 -4 990 991 992 993 -4 994 995 996 997 -3 998 999 1000 -3 1001 1002 1003 -4 1004 1005 1006 1007 -4 1008 1009 1010 1011 -3 1012 1013 1014 -3 1015 1016 1017 -4 1018 1019 1020 1021 -3 1022 1023 1024 -3 1025 1026 1027 -3 463 1028 464 -4 1029 1030 1031 1032 -3 1033 1034 1035 -4 1036 1037 1038 1039 -4 1040 1041 1042 1043 -4 1044 1045 1046 1047 -4 1048 1049 1050 1051 -4 1052 1053 1054 1055 -3 1056 1057 1058 -4 1059 1060 1061 1062 -4 1063 1064 1065 1066 -4 1067 1068 1069 1070 -4 1071 1072 1073 1074 -3 1075 1076 1077 -4 1078 1079 1080 1081 -4 1082 1083 1084 1085 -3 1086 1087 1088 -3 1089 1090 1091 -4 1092 1093 1094 1095 -4 1096 1097 1098 1099 -4 1100 1101 1102 1103 -3 1104 1105 1106 -3 1107 1108 1109 -4 1110 1111 1112 1113 -4 1114 1115 1116 1117 -4 1118 1119 1120 1121 -4 1122 1123 1124 1125 -3 1126 1127 1128 -4 1129 1130 1131 1132 -4 1133 1134 1135 1136 -4 1137 1138 1139 1140 -4 1141 1142 1143 1144 -4 1145 1146 1147 1148 -4 1149 1150 1151 1152 -3 1153 1154 1155 -4 1156 1157 1158 1159 -3 1160 1161 1162 -4 1163 1164 1165 1166 -3 1167 1168 1169 -3 1170 1171 1172 -3 1173 1174 1175 -4 1176 1177 1178 1179 -3 1180 1181 1182 -3 1183 1184 1185 -4 1186 1187 1188 1189 -4 1190 1191 1192 1193 -4 1194 1195 1196 1197 -4 1198 1199 1200 1201 -3 1202 1203 1204 -4 1205 1206 1207 1208 -4 1209 1210 1211 1212 -4 1213 1214 1215 1216 -4 1217 1218 1219 1220 -4 1221 1222 1223 1224 -4 1225 1226 1227 1228 -3 1229 1230 1231 -4 1232 1233 1234 1235 -3 1236 1237 1238 -4 1239 1240 1241 1242 -3 1243 1244 1245 -3 1246 1247 1248 -3 1249 1250 1251 -3 1252 1253 1254 -3 1255 1256 1257 -4 1258 1259 1260 1261 -4 1262 1263 1264 1265 -4 1266 1267 1268 1269 -4 1270 1271 1272 1273 -4 1274 1275 1276 1277 -4 1278 1279 1280 1281 -3 1282 1283 1284 -4 1285 1286 1287 1288 -4 1289 1290 1291 1292 -4 1293 1294 1295 1296 -3 1297 1298 1299 -3 1300 1301 1302 -4 1303 1304 1305 1306 -3 1307 1308 1309 diff --git a/src/tests/evas/meshes/ply/Normal_UVs_NoColors.ply b/src/tests/evas/meshes/ply/Normal_UVs_NoColors.ply deleted file mode 100644 index 5622bee27d..0000000000 --- a/src/tests/evas/meshes/ply/Normal_UVs_NoColors.ply +++ /dev/null @@ -1,1681 +0,0 @@ -ply -format ascii 1.0 -comment Created by Blender 2.69 (sub 0) - www.blender.org, source file: '' -element vertex 1310 -property float x -property float y -property float z -property float nx -property float ny -property float nz -property float s -property float t -element face 356 -property list uchar uint vertex_indices -end_header --4.649800 14.945700 -8.785600 -0.021734 0.023193 -0.999495 0.094400 0.185800 --2.020300 14.610600 -8.278800 -0.021734 0.023193 -0.999495 0.060000 0.185800 --1.712600 0.024900 -9.195700 -0.021734 0.023193 -0.999495 0.089900 0.023200 --3.252600 0.001600 -8.591000 -0.021734 0.023193 -0.999495 0.107400 0.025300 --4.649800 14.945700 -8.785600 -0.983809 -0.091724 -0.153967 0.094400 0.185800 --3.252600 0.001600 -8.591000 -0.983809 -0.091724 -0.153967 0.107400 0.025300 --4.089400 2.633000 -5.031300 -0.983809 -0.091724 -0.153967 0.145000 0.057700 --5.308800 13.910900 -3.738700 -0.983809 -0.091724 -0.153967 0.154100 0.185800 --1.553600 3.059500 -4.173500 0.398905 -0.098999 0.911633 0.181500 0.058600 --1.766900 13.754900 -2.918700 0.398905 -0.098999 0.911633 0.193300 0.185800 --3.061600 3.537800 -3.461700 0.398905 -0.098999 0.911633 0.164000 0.067400 --1.553600 3.059500 -4.173500 0.977159 -0.002648 0.212493 0.181500 0.058600 --0.626000 0.031700 -8.336200 0.977159 -0.002648 0.212493 0.220100 0.017000 --0.971400 14.644800 -6.706400 0.977159 -0.002648 0.212493 0.225200 0.185800 --1.766900 13.754900 -2.918700 0.977159 -0.002648 0.212493 0.193300 0.185800 --5.495700 46.043098 -6.732400 -0.860977 -0.085411 -0.501422 0.139900 0.788400 --2.827600 38.171799 -8.088300 -0.860977 -0.085411 -0.501422 0.114500 0.661600 --5.919200 37.619099 -4.570300 -0.860977 -0.085411 -0.501422 0.183200 0.661600 --6.029500 46.188801 -3.956000 -0.860977 -0.085411 -0.501422 0.183300 0.792100 --4.685700 36.664101 -1.616400 -0.917535 -0.032092 0.396359 0.239100 0.661600 --4.298500 47.001099 -0.058900 -0.917535 -0.032092 0.396359 0.249300 0.802400 --6.029500 46.188801 -3.956000 -0.917535 -0.032092 0.396359 0.183300 0.792100 --5.919200 37.619099 -4.570300 -0.917535 -0.032092 0.396359 0.183200 0.661600 --6.775800 50.206501 -7.534500 -0.223809 0.028781 -0.974208 0.134100 0.852600 --7.252500 54.524502 -7.615000 -0.223809 0.028781 -0.974208 0.126100 0.913200 -0.000000 53.738098 -8.986800 -0.223809 0.028781 -0.974208 0.028100 0.877800 -0.000000 50.037800 -9.413700 -0.223809 0.028781 -0.974208 0.041800 0.827300 --7.252500 54.524502 -7.615000 -0.375359 0.901424 0.215731 0.812300 0.981700 --8.747800 53.770199 -7.353300 -0.375359 0.901424 0.215731 0.807700 0.944900 --8.184300 53.108700 -3.320400 -0.375359 0.901424 0.215731 0.746000 0.944900 --6.624100 53.529800 -2.653700 -0.375359 0.901424 0.215731 0.746000 0.986600 --9.827700 52.989700 -7.188500 -0.412168 0.895237 0.169320 0.805500 0.922700 --14.989100 50.565300 -7.297200 -0.412168 0.895237 0.169320 0.805300 0.834400 --15.636800 49.715099 -4.015700 -0.412168 0.895237 0.169320 0.746000 0.809400 --9.508400 52.403099 -3.672700 -0.412168 0.895237 0.169320 0.746000 0.922700 -0.000000 37.009800 0.550700 -0.339751 -0.089043 0.936291 0.310700 0.661600 -0.000000 47.287498 1.094200 -0.339751 -0.089043 0.936291 0.310700 0.805700 --4.298500 47.001099 -0.058900 -0.339751 -0.089043 0.936291 0.249300 0.802400 --4.685700 36.664101 -1.616400 -0.339751 -0.089043 0.936291 0.239100 0.661600 -0.000000 53.738098 -8.986800 -0.139268 0.841727 -0.521633 0.028100 0.877800 --7.252500 54.524502 -7.615000 -0.139268 0.841727 -0.521633 0.126100 0.913200 --2.321200 55.471001 -5.570800 -0.139268 0.841727 -0.521633 0.053700 0.941000 -0.000000 55.950600 -7.250100 -0.139268 0.841727 -0.521633 0.022400 0.916300 --6.624100 53.529800 -2.653700 -0.510018 -0.190129 0.838888 0.210200 0.900400 --7.813100 49.342701 -3.886900 -0.510018 -0.190129 0.838888 0.181000 0.844200 --6.029500 46.188801 -3.956000 -0.510018 -0.190129 0.838888 0.183300 0.792100 --3.773800 51.093601 -1.034300 -0.510018 -0.190129 0.838888 0.256600 0.864400 --6.029500 46.188801 -3.956000 -0.909885 0.202901 0.361857 0.183300 0.792100 --4.298500 47.001099 -0.058900 -0.909885 0.202901 0.361857 0.249300 0.802400 --3.773800 51.093601 -1.034300 -0.909885 0.202901 0.361857 0.256600 0.864400 -0.000000 50.880199 0.110000 -0.266804 0.255185 0.929352 0.310700 0.860500 --3.773800 51.093601 -1.034300 -0.266804 0.255185 0.929352 0.256600 0.864400 --4.298500 47.001099 -0.058900 -0.266804 0.255185 0.929352 0.249300 0.802400 -0.000000 47.287498 1.094200 -0.266804 0.255185 0.929352 0.310700 0.805700 --16.136200 50.023998 -7.546200 0.129075 0.179950 -0.975171 0.808600 0.809400 --14.989100 50.565300 -7.297200 0.129075 0.179950 -0.975171 0.805300 0.834400 --13.779500 47.417198 -7.715300 0.129075 0.179950 -0.975171 0.879500 0.834400 --14.885000 46.974701 -7.946000 0.129075 0.179950 -0.975171 0.879500 0.809400 --13.779500 47.417198 -7.715300 0.437873 -0.882573 -0.171264 0.626900 0.829400 --8.756500 49.321098 -7.632900 0.437873 -0.882573 -0.171264 0.626900 0.922700 --8.927200 49.128502 -4.128200 0.437873 -0.882573 -0.171264 0.688900 0.922700 --14.977100 45.689201 -4.821000 0.437873 -0.882573 -0.171264 0.680000 0.809400 --17.208200 49.477699 -7.512200 -0.268622 0.938905 0.215175 0.810800 0.788400 --22.585199 48.327702 -7.594400 -0.268622 0.938905 0.215175 0.812700 0.705100 --22.348700 46.932201 -2.822400 -0.268622 0.938905 0.215175 0.746000 0.680200 --16.810101 49.139900 -3.928800 -0.268622 0.938905 0.215175 0.746000 0.788400 --21.936399 43.055199 -3.733600 0.256926 -0.186034 0.948357 0.691800 0.680200 --16.192200 44.960400 -4.877100 0.256926 -0.186034 0.948357 0.677700 0.788400 --16.810101 49.139900 -3.928800 0.256926 -0.186034 0.948357 0.746000 0.788400 --22.348700 46.932201 -2.822400 0.256926 -0.186034 0.948357 0.746000 0.680200 --22.105101 44.119598 -7.074000 -0.471869 -0.161034 -0.866838 0.862200 0.680200 --23.337700 47.268200 -6.945000 -0.471869 -0.161034 -0.866838 0.809900 0.680200 --22.585199 48.327702 -7.594400 -0.471869 -0.161034 -0.866838 0.812700 0.705100 --21.061199 44.183601 -7.611200 -0.471869 -0.161034 -0.866838 0.879500 0.705100 --15.884600 46.520500 -7.855800 0.312108 -0.901546 -0.299673 0.626900 0.788400 --16.192200 44.960400 -4.877100 0.312108 -0.901546 -0.299673 0.677700 0.788400 --21.936399 43.055199 -3.733600 0.312108 -0.901546 -0.299673 0.691800 0.680200 --21.061199 44.183601 -7.611200 0.312108 -0.901546 -0.299673 0.626900 0.699700 --5.598500 31.822901 -1.405400 -0.899226 0.141575 0.413943 0.185400 0.436500 --7.174300 32.815300 -5.168000 -0.899226 0.141575 0.413943 0.136400 0.440500 --7.453900 29.910801 -4.782000 -0.899226 0.141575 0.413943 0.143900 0.408700 --4.970000 33.082802 -8.871300 -0.875321 0.068314 -0.478692 0.086900 0.436600 --5.595300 29.761600 -8.491100 -0.875321 0.068314 -0.478692 0.097300 0.399700 --7.453900 29.910801 -4.782000 -0.875321 0.068314 -0.478692 0.143900 0.408700 --7.174300 32.815300 -5.168000 -0.875321 0.068314 -0.478692 0.136400 0.440500 --6.827700 20.858999 -3.051400 -0.895608 -0.345701 -0.279959 0.166500 0.297500 --5.426000 21.341299 -8.131100 -0.895608 -0.345701 -0.279959 0.106600 0.297500 --6.194700 19.576300 -3.492500 -0.895608 -0.345701 -0.279959 0.163400 0.285600 --0.835600 22.853901 -8.203000 -0.044062 0.086408 -0.995285 0.053300 0.313700 --0.899900 21.410400 -8.342700 -0.044062 0.086408 -0.995285 0.054900 0.297500 --5.426000 21.341299 -8.131100 -0.044062 0.086408 -0.995285 0.106600 0.297500 --5.317800 22.936800 -8.014600 -0.044062 0.086408 -0.995285 0.105500 0.313700 --0.899900 21.410400 -8.342700 0.986890 0.053202 0.152371 0.307200 0.297500 --1.957400 20.620800 -1.217700 0.986890 0.053202 0.152371 0.224300 0.297500 --1.853000 19.164200 -1.385300 0.986890 0.053202 0.152371 0.221600 0.281000 --6.194700 19.576300 -3.492500 -0.393090 -0.299033 0.869517 0.163400 0.285600 --1.853000 19.164200 -1.385300 -0.393090 -0.299033 0.869517 0.221600 0.281000 --1.957400 20.620800 -1.217700 -0.393090 -0.299033 0.869517 0.224300 0.297500 --6.827700 20.858999 -3.051400 -0.393090 -0.299033 0.869517 0.166500 0.297500 --5.259600 15.490400 -9.599400 0.139442 0.106302 -0.984508 0.090700 0.228600 --5.426000 21.341299 -8.131100 0.139442 0.106302 -0.984508 0.106600 0.297500 --0.899900 21.410400 -8.342700 0.139442 0.106302 -0.984508 0.054900 0.297500 --0.294400 16.169500 -7.962700 0.139442 0.106302 -0.984508 0.039600 0.241800 --0.294400 16.169500 -7.962700 0.977002 0.117101 0.178197 0.282300 0.223700 --0.899900 21.410400 -8.342700 0.977002 0.117101 0.178197 0.307200 0.297500 --1.853000 19.164200 -1.385300 0.977002 0.117101 0.178197 0.221600 0.281000 --1.221800 14.450400 -2.004100 0.977002 0.117101 0.178197 0.220300 0.236900 --1.853000 19.164200 -1.385300 -0.395956 -0.119778 0.910424 0.221600 0.281000 --6.194700 19.576300 -3.492500 -0.395956 -0.119778 0.910424 0.163400 0.285600 --6.498700 14.643000 -4.000600 -0.395956 -0.119778 0.910424 0.151700 0.232900 --1.221800 14.450400 -2.004100 -0.395956 -0.119778 0.910424 0.220300 0.236900 --6.498700 14.643000 -4.000600 -0.982418 0.045709 -0.181012 0.151700 0.232900 --6.194700 19.576300 -3.492500 -0.982418 0.045709 -0.181012 0.163400 0.285600 --5.426000 21.341299 -8.131100 -0.982418 0.045709 -0.181012 0.106600 0.297500 --5.259600 15.490400 -9.599400 -0.982418 0.045709 -0.181012 0.090700 0.228600 --7.813100 49.342701 -3.886900 -0.881229 -0.394976 -0.259672 0.181000 0.844200 --6.775800 50.206501 -7.534500 -0.881229 -0.394976 -0.259672 0.134100 0.852600 --5.495700 46.043098 -6.732400 -0.881229 -0.394976 -0.259672 0.139900 0.788400 --6.029500 46.188801 -3.956000 -0.881229 -0.394976 -0.259672 0.183300 0.792100 --8.756500 49.321098 -7.632900 0.341557 -0.936397 -0.080618 0.626900 0.922700 --6.775800 50.206501 -7.534500 0.341557 -0.936397 -0.080618 0.626900 0.944900 --7.813100 49.342701 -3.886900 0.341557 -0.936397 -0.080618 0.686800 0.944900 --8.927200 49.128502 -4.128200 0.341557 -0.936397 -0.080618 0.688900 0.922700 --5.495700 46.043098 -6.732400 -0.295037 -0.218453 -0.930178 0.139900 0.788400 --6.775800 50.206501 -7.534500 -0.295037 -0.218453 -0.930178 0.134100 0.852600 -0.000000 50.037800 -9.413700 -0.295037 -0.218453 -0.930178 0.041800 0.827300 -0.000000 45.235802 -8.516300 -0.295037 -0.218453 -0.930178 0.061400 0.762800 --3.773800 51.093601 -1.034300 -0.217879 0.518058 0.827130 0.256600 0.864400 -0.000000 50.880199 0.110000 -0.217879 0.518058 0.827130 0.310700 0.860500 -0.000000 54.522099 -2.187600 -0.217879 0.518058 0.827130 0.310700 0.919600 --1.435700 55.057400 -2.884500 -0.217879 0.518058 0.827130 0.285800 0.931400 --0.163800 60.672798 0.405300 -0.878123 0.172158 0.446386 0.529100 0.200900 --0.596000 60.268700 -0.255900 -0.878123 0.172158 0.446386 0.502600 0.185300 --0.605400 59.453602 0.006800 -0.878123 0.172158 0.446386 0.508800 0.156900 --0.226300 59.631802 0.717000 -0.878123 0.172158 0.446386 0.529800 0.167300 -0.000000 59.375900 0.272700 -0.351825 0.003851 0.936058 0.533800 0.153800 --0.605400 59.453602 0.006800 -0.351825 0.003851 0.936058 0.508800 0.156900 --0.793500 58.611801 -0.022400 -0.351825 0.003851 0.936058 0.506200 0.129800 -0.000000 58.735298 0.237300 -0.351825 0.003851 0.936058 0.533800 0.134400 --1.340700 61.343498 -1.024900 -0.500896 0.173312 0.847978 0.467800 0.231800 --2.209500 61.230499 -1.515000 -0.500896 0.173312 0.847978 0.430900 0.227000 --2.225300 60.301201 -1.334400 -0.500896 0.173312 0.847978 0.434400 0.187400 --0.474100 61.294899 -0.607800 -0.419394 -0.893935 0.158081 0.499900 0.227200 --0.179900 61.274700 0.058500 -0.419394 -0.893935 0.158081 0.525600 0.223900 --0.785400 61.539799 -0.048800 -0.419394 -0.893935 0.158081 0.505500 0.247600 --0.163800 60.672798 0.405300 -0.879737 0.234636 0.413532 0.529100 0.200900 --0.179900 61.274700 0.058500 -0.879737 0.234636 0.413532 0.525600 0.223900 --0.474100 61.294899 -0.607800 -0.879737 0.234636 0.413532 0.499900 0.227200 --0.596000 60.268700 -0.255900 -0.879737 0.234636 0.413532 0.502600 0.185300 --0.785400 61.539799 -0.048800 -0.405349 0.400850 0.821591 0.505500 0.247600 -0.000000 62.775902 -0.355700 -0.405349 0.400850 0.821591 0.533900 0.286800 --1.901400 62.898899 -1.262500 -0.405349 0.400850 0.821591 0.451600 0.287500 --1.792100 61.563202 -0.648200 -0.405349 0.400850 0.821591 0.464300 0.250800 --1.901400 62.898899 -1.262500 -0.958885 0.139689 0.247034 0.451600 0.287500 --2.505800 61.413601 -3.333900 -0.958885 0.139689 0.247034 0.367200 0.240300 --2.209500 61.230499 -1.515000 -0.958885 0.139689 0.247034 0.430900 0.227000 --1.792100 61.563202 -0.648200 -0.958885 0.139689 0.247034 0.464300 0.250800 --2.071800 58.080299 -1.837600 -0.982605 0.010378 0.185418 0.435700 0.090000 --2.043500 58.694401 -1.722000 -0.982605 0.010378 0.185418 0.434700 0.119000 --2.361600 58.652599 -3.405400 -0.982605 0.010378 0.185418 0.376100 0.111600 --2.361600 58.652599 -3.405400 -0.835615 -0.547438 -0.045374 0.376100 0.111600 --1.480400 57.287800 -3.167400 -0.835615 -0.547438 -0.045374 0.388000 0.054100 --2.071800 58.080299 -1.837600 -0.835615 -0.547438 -0.045374 0.435700 0.090000 --2.361600 58.652599 -3.405400 -0.962379 -0.178153 0.205154 0.376100 0.111600 --2.043500 58.694401 -1.722000 -0.962379 -0.178153 0.205154 0.434700 0.119000 --2.225300 60.301201 -1.334400 -0.962379 -0.178153 0.205154 0.434400 0.187400 --2.484800 60.667999 -2.078300 -0.962379 -0.178153 0.205154 0.409600 0.193000 --0.596000 60.268700 -0.255900 -0.569338 0.180881 0.801958 0.502600 0.185300 --2.225300 60.301201 -1.334400 -0.569338 0.180881 0.801958 0.434400 0.187400 --0.793500 58.611801 -0.022400 -0.569338 0.180881 0.801958 0.506200 0.129800 --0.605400 59.453602 0.006800 -0.569338 0.180881 0.801958 0.508800 0.156900 --0.793500 58.611801 -0.022400 -0.424783 -0.113068 0.898207 0.506200 0.129800 --0.860300 57.339199 -0.345300 -0.424783 -0.113068 0.898207 0.507000 0.087800 -0.000000 57.320400 0.190300 -0.424783 -0.113068 0.898207 0.533800 0.095300 -0.000000 58.735298 0.237300 -0.424783 -0.113068 0.898207 0.533800 0.134400 --2.361600 58.652599 -3.405400 -0.801295 -0.555920 -0.221086 0.376100 0.111600 --1.507500 57.978802 -4.806700 -0.801295 -0.555920 -0.221086 0.327200 0.071700 --1.480400 57.287800 -3.167400 -0.801295 -0.555920 -0.221086 0.388000 0.054100 --1.480400 57.287800 -3.167400 -0.605736 -0.042761 0.794516 0.293600 0.962800 --1.435700 55.057400 -2.884500 -0.605736 -0.042761 0.794516 0.285800 0.931400 -0.000000 54.522099 -2.187600 -0.605736 -0.042761 0.794516 0.310700 0.919600 --0.509500 56.862801 -2.081200 -0.605736 -0.042761 0.794516 0.307800 0.953500 --1.435700 55.057400 -2.884500 -0.962522 0.132164 0.236820 0.285800 0.931400 --1.480400 57.287800 -3.167400 -0.962522 0.132164 0.236820 0.293600 0.962800 --1.507500 57.978802 -4.806700 -0.962522 0.132164 0.236820 0.269900 0.982500 --2.321200 55.471001 -5.570800 -0.962522 0.132164 0.236820 0.259500 0.968000 --5.259600 15.490400 -9.599400 0.329887 -0.177209 -0.927239 0.090700 0.228600 --0.294400 16.169500 -7.962700 0.329887 -0.177209 -0.927239 0.039600 0.241800 --2.020300 14.610600 -8.278800 0.329887 -0.177209 -0.927239 0.063600 0.221000 --0.294400 16.169500 -7.962700 0.923351 -0.382504 0.033356 0.282300 0.223700 --1.221800 14.450400 -2.004100 0.923351 -0.382504 0.033356 0.220300 0.236900 --0.971400 14.644800 -6.706400 0.923351 -0.382504 0.033356 0.253200 0.212300 --5.308800 13.910900 -3.738700 -0.281184 -0.501171 0.818391 0.168700 0.220700 --1.766900 13.754900 -2.918700 -0.281184 -0.501171 0.818391 0.216900 0.223600 --1.221800 14.450400 -2.004100 -0.281184 -0.501171 0.818391 0.220300 0.236900 --6.498700 14.643000 -4.000600 -0.281184 -0.501171 0.818391 0.151700 0.232900 --4.649800 14.945700 -8.785600 -0.465679 -0.853476 -0.233927 0.103500 0.222700 --5.308800 13.910900 -3.738700 -0.465679 -0.853476 -0.233927 0.168700 0.220700 --6.498700 14.643000 -4.000600 -0.465679 -0.853476 -0.233927 0.151700 0.232900 --5.259600 15.490400 -9.599400 -0.465679 -0.853476 -0.233927 0.090700 0.228600 --1.957400 20.620800 -1.217700 0.981627 0.066418 0.178877 0.224300 0.297500 --0.899900 21.410400 -8.342700 0.981627 0.066418 0.178877 0.307200 0.297500 --0.835600 22.853901 -8.203000 0.981627 0.066418 0.178877 0.306600 0.313700 --2.189200 21.987900 -1.481800 0.981627 0.066418 0.178877 0.225500 0.313700 --7.174300 32.815300 -5.168000 -0.882053 0.156893 -0.444261 0.136400 0.440500 --6.542300 35.480598 -4.902800 -0.882053 0.156893 -0.444261 0.133600 0.471500 --5.283200 35.952900 -7.814600 -0.882053 0.156893 -0.444261 0.094100 0.470900 --4.970000 33.082802 -8.871300 -0.882053 0.156893 -0.444261 0.086900 0.436600 --5.598500 31.822901 -1.405400 -0.892193 0.169920 0.418473 0.185400 0.436500 --6.542300 35.480598 -4.902800 -0.892193 0.169920 0.418473 0.133600 0.471500 --7.174300 32.815300 -5.168000 -0.892193 0.169920 0.418473 0.136400 0.440500 --4.685700 36.664101 -1.616400 -0.474113 0.127364 0.871203 0.239100 0.661600 --5.598500 31.822901 -1.405400 -0.474113 0.127364 0.871203 0.231500 0.582200 --3.798500 31.552500 -0.386300 -0.474113 0.127364 0.871203 0.257600 0.582200 --2.225300 60.301201 -1.334400 -0.926529 0.086891 0.366052 0.434400 0.187400 --2.209500 61.230499 -1.515000 -0.926529 0.086891 0.366052 0.430900 0.227000 --2.484800 60.667999 -2.078300 -0.926529 0.086891 0.366052 0.409600 0.193000 --8.927200 49.128502 -4.128200 -0.174303 -0.164506 0.970853 0.688900 0.922700 --7.813100 49.342701 -3.886900 -0.174303 -0.164506 0.970853 0.686800 0.944900 --8.184300 53.108700 -3.320400 -0.174303 -0.164506 0.970853 0.746000 0.944900 --9.508400 52.403099 -3.672700 -0.174303 -0.164506 0.970853 0.746000 0.922700 --8.184300 53.108700 -3.320400 -0.526523 0.826719 0.198265 0.746000 0.944900 --8.747800 53.770199 -7.353300 -0.526523 0.826719 0.198265 0.807700 0.944900 --9.827700 52.989700 -7.188500 -0.526523 0.826719 0.198265 0.805500 0.922700 --9.508400 52.403099 -3.672700 -0.526523 0.826719 0.198265 0.746000 0.922700 --8.747800 53.770199 -7.353300 -0.154881 -0.035505 -0.987295 0.807700 0.944900 --7.252500 54.524502 -7.615000 -0.154881 -0.035505 -0.987295 0.812300 0.981700 --6.775800 50.206501 -7.534500 -0.154881 -0.035505 -0.987295 0.879500 0.944900 --8.927200 49.128502 -4.128200 0.001669 -0.169906 0.985459 0.688900 0.922700 --9.508400 52.403099 -3.672700 0.001669 -0.169906 0.985459 0.746000 0.922700 --15.636800 49.715099 -4.015700 0.001669 -0.169906 0.985459 0.746000 0.809400 --14.977100 45.689201 -4.821000 0.001669 -0.169906 0.985459 0.680000 0.809400 --6.624100 53.529800 -2.653700 -0.215818 0.814400 0.538680 0.210200 0.900400 --3.773800 51.093601 -1.034300 -0.215818 0.814400 0.538680 0.256600 0.864400 --1.435700 55.057400 -2.884500 -0.215818 0.814400 0.538680 0.285800 0.931400 --7.252500 54.524502 -7.615000 -0.215818 0.814400 0.538680 0.180400 0.964800 --2.321200 55.471001 -5.570800 -0.276118 0.932071 0.234526 0.259500 0.968000 --7.252500 54.524502 -7.615000 -0.276118 0.932071 0.234526 0.180400 0.964800 --1.435700 55.057400 -2.884500 -0.276118 0.932071 0.234526 0.285800 0.931400 --2.209500 61.230499 -1.515000 -0.942806 0.279456 0.181716 0.430900 0.227000 --2.505800 61.413601 -3.333900 -0.942806 0.279456 0.181716 0.362700 0.212700 --2.484800 60.667999 -2.078300 -0.942806 0.279456 0.181716 0.409600 0.193000 --2.484800 60.667999 -2.078300 -0.998559 -0.051788 -0.014052 0.409600 0.193000 --2.505800 61.413601 -3.333900 -0.998559 -0.051788 -0.014052 0.362700 0.212700 --2.361600 58.652599 -3.405400 -0.998559 -0.051788 -0.014052 0.376100 0.111600 --2.209500 61.230499 -1.515000 -0.107977 -0.909631 0.401138 0.430900 0.227000 --1.340700 61.343498 -1.024900 -0.107977 -0.909631 0.401138 0.467800 0.231800 --1.792100 61.563202 -0.648200 -0.107977 -0.909631 0.401138 0.464300 0.250800 --3.061600 3.537800 -3.461700 0.234488 0.898953 0.369997 0.290200 0.071700 --3.735600 1.816900 0.228400 0.234488 0.898953 0.369997 0.290200 0.030700 --1.568700 1.981700 -0.627100 0.234488 0.898953 0.369997 0.308400 0.040400 --1.553600 3.059500 -4.173500 0.234488 0.898953 0.369997 0.310400 0.073900 --0.626000 0.031700 -8.336200 0.992053 0.072189 0.103052 0.345300 0.097200 --1.553600 3.059500 -4.173500 0.992053 0.072189 0.103052 0.310400 0.073900 --1.568700 1.981700 -0.627100 0.992053 0.072189 0.103052 0.308400 0.040400 --1.825200 -0.024100 0.601200 0.992053 0.072189 0.103052 0.313500 0.023800 --1.825200 -0.024100 0.601200 -0.002195 -0.999985 -0.005027 0.748300 0.055100 --3.769300 -0.009000 1.132900 -0.002195 -0.999985 -0.005027 0.765800 0.040900 --1.712600 0.024900 -9.195700 -0.002195 -0.999985 -0.005027 0.765100 0.147100 --0.626000 0.031700 -8.336200 -0.002195 -0.999985 -0.005027 0.751000 0.138000 --1.712600 0.024900 -9.195700 0.748722 0.074200 -0.658719 0.089900 0.023200 --2.020300 14.610600 -8.278800 0.748722 0.074200 -0.658719 0.060000 0.185800 --0.971400 14.644800 -6.706400 0.748722 0.074200 -0.658719 0.025900 0.185800 --0.626000 0.031700 -8.336200 0.748722 0.074200 -0.658719 0.075600 0.021500 --1.568700 1.981700 -0.627100 0.270273 0.452545 0.849798 0.308400 0.040400 --3.735600 1.816900 0.228400 0.270273 0.452545 0.849798 0.290200 0.030700 --3.769300 -0.009000 1.132900 0.270273 0.452545 0.849798 0.289700 0.012400 --1.825200 -0.024100 0.601200 0.270273 0.452545 0.849798 0.313500 0.023800 --4.089400 2.633000 -5.031300 -0.957442 -0.073711 -0.279054 0.275500 0.071900 --3.252600 0.001600 -8.591000 -0.957442 -0.073711 -0.279054 0.238500 0.103000 --5.176800 -0.025000 -0.598300 -0.957442 -0.073711 -0.279054 0.266200 0.023600 --5.390300 1.568200 -1.670300 -0.957442 -0.073711 -0.279054 0.274000 0.039600 --3.769300 -0.009000 1.132900 -0.738109 0.308147 0.600201 0.289700 0.012400 --3.735600 1.816900 0.228400 -0.738109 0.308147 0.600201 0.290200 0.030700 --5.390300 1.568200 -1.670300 -0.738109 0.308147 0.600201 0.274000 0.039600 --5.176800 -0.025000 -0.598300 -0.738109 0.308147 0.600201 0.266200 0.023600 --5.390300 1.568200 -1.670300 -0.560649 0.811720 0.163660 0.274000 0.039600 --3.735600 1.816900 0.228400 -0.560649 0.811720 0.163660 0.290200 0.030700 --3.061600 3.537800 -3.461700 -0.560649 0.811720 0.163660 0.290200 0.071700 --4.089400 2.633000 -5.031300 -0.560649 0.811720 0.163660 0.275500 0.071900 --3.061600 3.537800 -3.461700 -0.452521 -0.074303 0.888653 0.164000 0.067400 --1.766900 13.754900 -2.918700 -0.452521 -0.074303 0.888653 0.193300 0.185800 --5.308800 13.910900 -3.738700 -0.452521 -0.074303 0.888653 0.154100 0.185800 --4.089400 2.633000 -5.031300 -0.452521 -0.074303 0.888653 0.145000 0.057700 --2.020300 14.610600 -8.278800 0.001520 -0.830500 -0.557017 0.063600 0.221000 --4.649800 14.945700 -8.785600 0.001520 -0.830500 -0.557017 0.103500 0.222700 --5.259600 15.490400 -9.599400 0.001520 -0.830500 -0.557017 0.090700 0.228600 --2.020300 14.610600 -8.278800 0.649568 -0.634088 -0.419515 0.063600 0.221000 --0.294400 16.169500 -7.962700 0.649568 -0.634088 -0.419515 0.039600 0.241800 --0.971400 14.644800 -6.706400 0.649568 -0.634088 -0.419515 0.028400 0.216500 --5.426000 21.341299 -8.131100 -0.959570 0.028386 -0.280036 0.106600 0.297500 --6.827700 20.858999 -3.051400 -0.959570 0.028386 -0.280036 0.166500 0.297500 --6.824000 22.193899 -3.254300 -0.959570 0.028386 -0.280036 0.165700 0.313700 --5.317800 22.936800 -8.014600 -0.959570 0.028386 -0.280036 0.105500 0.313700 --0.845100 29.891001 -9.491500 -0.126028 -0.127868 -0.983751 0.041700 0.395800 --0.835600 22.853901 -8.203000 -0.126028 -0.127868 -0.983751 0.053300 0.313700 --5.317800 22.936800 -8.014600 -0.126028 -0.127868 -0.983751 0.105500 0.313700 --5.595300 29.761600 -8.491100 -0.126028 -0.127868 -0.983751 0.097300 0.399700 --1.957400 20.620800 -1.217700 -0.346283 0.131313 0.928895 0.224300 0.297500 --2.189200 21.987900 -1.481800 -0.346283 0.131313 0.928895 0.225500 0.313700 --6.824000 22.193899 -3.254300 -0.346283 0.131313 0.928895 0.165700 0.313700 --6.827700 20.858999 -3.051400 -0.346283 0.131313 0.928895 0.166500 0.297500 --0.605400 59.453602 0.006800 -0.276378 -0.886938 0.370075 0.508800 0.156900 -0.000000 59.375900 0.272700 -0.276378 -0.886938 0.370075 0.533800 0.153800 --0.226300 59.631802 0.717000 -0.276378 -0.886938 0.370075 0.529800 0.167300 --21.936399 43.055199 -3.733600 -0.245050 -0.199318 0.948801 0.691800 0.680200 --22.348700 46.932201 -2.822400 -0.245050 -0.199318 0.948801 0.746000 0.680200 --23.323000 46.228001 -3.425200 -0.245050 -0.199318 0.948801 0.746000 0.661900 --23.265499 44.290199 -3.614200 -0.245050 -0.199318 0.948801 0.710900 0.661900 --22.105101 44.119598 -7.074000 -0.680722 -0.210597 -0.701617 0.862200 0.680200 --23.273100 44.479099 -6.170500 -0.680722 -0.210597 -0.701617 0.835600 0.661900 --23.881300 46.267799 -5.995500 -0.680722 -0.210597 -0.701617 0.800900 0.661900 --23.337700 47.268200 -6.945000 -0.680722 -0.210597 -0.701617 0.809900 0.680200 --22.348700 46.932201 -2.822400 -0.710630 0.673907 0.202126 0.746000 0.680200 --23.337700 47.268200 -6.945000 -0.710630 0.673907 0.202126 0.809900 0.680200 --23.881300 46.267799 -5.995500 -0.710630 0.673907 0.202126 0.800900 0.661900 --23.323000 46.228001 -3.425200 -0.710630 0.673907 0.202126 0.746000 0.661900 --21.936399 43.055199 -3.733600 -0.575702 -0.803125 -0.153486 0.691800 0.680200 --23.265499 44.290199 -3.614200 -0.575702 -0.803125 -0.153486 0.710900 0.661900 --23.273100 44.479099 -6.170500 -0.575702 -0.803125 -0.153486 0.665900 0.661900 --22.105101 44.119598 -7.074000 -0.575702 -0.803125 -0.153486 0.641700 0.680200 --23.323000 46.228001 -3.425200 0.234519 0.052147 0.970712 0.746000 0.661900 --24.935400 45.742901 -3.288800 0.234519 0.052147 0.970712 0.746000 0.630500 --24.446100 44.099098 -3.039500 0.234519 0.052147 0.970712 0.723200 0.630500 --23.265499 44.290199 -3.614200 0.234519 0.052147 0.970712 0.710900 0.661900 --23.273100 44.479099 -6.170500 -0.051663 0.047611 -0.997529 0.835600 0.661900 --25.718901 44.407902 -5.989100 -0.051663 0.047611 -0.997529 0.812100 0.630500 --25.982700 45.641201 -5.974700 -0.051663 0.047611 -0.997529 0.796200 0.630500 --23.881300 46.267799 -5.995500 -0.051663 0.047611 -0.997529 0.800900 0.661900 --23.881300 46.267799 -5.995500 -0.283035 0.956157 0.075198 0.800900 0.661900 --25.982700 45.641201 -5.974700 -0.283035 0.956157 0.075198 0.796200 0.630500 --24.935400 45.742901 -3.288800 -0.283035 0.956157 0.075198 0.746000 0.630500 --23.323000 46.228001 -3.425200 -0.283035 0.956157 0.075198 0.746000 0.661900 --23.265499 44.290199 -3.614200 0.050680 -0.993534 -0.101596 0.710900 0.661900 --24.446100 44.099098 -3.039500 0.050680 -0.993534 -0.101596 0.723200 0.630500 --25.718901 44.407902 -5.989100 0.050680 -0.993534 -0.101596 0.677100 0.630500 --23.273100 44.479099 -6.170500 0.050680 -0.993534 -0.101596 0.665900 0.661900 --3.798500 31.552500 -0.386300 -0.302820 0.047342 0.951871 0.257600 0.582200 -0.000000 31.552500 0.128500 -0.302820 0.047342 0.951871 0.310700 0.582200 -0.000000 37.009800 0.550700 -0.302820 0.047342 0.951871 0.310700 0.661600 --4.685700 36.664101 -1.616400 -0.302820 0.047342 0.951871 0.239100 0.661600 --27.058001 43.733101 -1.471100 -0.612973 -0.035197 0.789319 0.783900 0.527900 --28.100901 44.177299 -2.470000 -0.612973 -0.035197 0.789319 0.756100 0.537200 --27.637899 42.321201 -1.984400 -0.612973 -0.035197 0.789319 0.780200 0.502700 --26.775499 43.007000 -1.492900 -0.612973 -0.035197 0.789319 0.799700 0.523000 --27.102699 45.320202 -5.735100 -0.288380 -0.175341 -0.941325 0.706300 0.587600 --25.982700 45.641201 -5.974700 -0.288380 -0.175341 -0.941325 0.701400 0.609900 --25.718901 44.407902 -5.989100 -0.288380 -0.175341 -0.941325 0.674700 0.592000 --26.246300 42.901402 -5.383600 -0.288380 -0.175341 -0.941325 0.663100 0.553800 --24.935400 45.742901 -3.288800 -0.215944 0.976143 0.022647 0.774000 0.616500 --25.982700 45.641201 -5.974700 -0.215944 0.976143 0.022647 0.701400 0.609900 --27.102699 45.320202 -5.735100 -0.215944 0.976143 0.022647 0.706300 0.587600 --26.753901 45.398300 -2.858600 -0.215944 0.976143 0.022647 0.766000 0.574200 --24.446100 44.099098 -3.039500 0.806467 -0.440747 -0.394147 0.815000 0.599300 --26.246300 42.901402 -5.383600 0.806467 -0.440747 -0.394147 0.880100 0.569900 --25.718901 44.407902 -5.989100 0.806467 -0.440747 -0.394147 0.885900 0.607200 --28.380600 42.330502 -3.056600 -0.840529 -0.044209 0.539960 0.741600 0.498200 --27.637899 42.321201 -1.984400 -0.840529 -0.044209 0.539960 0.780200 0.502700 --28.100901 44.177299 -2.470000 -0.840529 -0.044209 0.539960 0.756100 0.537200 --28.697901 44.238201 -3.477500 -0.840529 -0.044209 0.539960 0.737900 0.538900 --28.380600 42.330502 -3.056600 -0.979149 -0.175223 -0.102788 0.741600 0.498200 --28.697901 44.238201 -3.477500 -0.979149 -0.175223 -0.102788 0.737900 0.538900 --28.543800 44.178001 -4.651400 -0.979149 -0.175223 -0.102788 0.718600 0.545700 --28.292801 42.543098 -4.446800 -0.979149 -0.175223 -0.102788 0.704200 0.514300 --26.753901 45.398300 -2.858600 -0.560189 0.737837 0.376544 0.766000 0.574200 --28.697901 44.238201 -3.477500 -0.560189 0.737837 0.376544 0.737900 0.538900 --28.100901 44.177299 -2.470000 -0.560189 0.737837 0.376544 0.756100 0.537200 --24.935400 45.742901 -3.288800 0.484106 0.321222 0.813915 0.774000 0.616500 --26.117701 44.487900 -2.198700 0.484106 0.321222 0.813915 0.788200 0.565100 --25.587200 43.557701 -2.038700 0.484106 0.321222 0.813915 0.806300 0.556900 --24.446100 44.099098 -3.039500 0.484106 0.321222 0.813915 0.815000 0.599300 --24.446100 44.099098 -3.039500 0.765721 -0.642695 -0.024780 0.815000 0.599300 --25.587200 43.557701 -2.038700 0.765721 -0.642695 -0.024780 0.806300 0.556900 --25.491899 42.827301 -2.370100 0.765721 -0.642695 -0.024780 0.813300 0.554500 --26.246300 42.901402 -5.383600 0.765721 -0.642695 -0.024780 0.880100 0.569900 --26.753901 45.398300 -2.858600 0.068715 0.616533 0.784324 0.766000 0.574200 --26.117701 44.487900 -2.198700 0.068715 0.616533 0.784324 0.788200 0.565100 --24.935400 45.742901 -3.288800 0.068715 0.616533 0.784324 0.774000 0.616500 -0.000000 31.552500 0.128500 -0.069551 -0.031626 0.997077 0.310700 0.582200 --3.798500 31.552500 -0.386300 -0.069551 -0.031626 0.997077 0.257600 0.582200 --3.463700 23.872801 -0.356700 -0.069551 -0.031626 0.997077 0.261000 0.472800 -0.000000 24.132099 -0.356700 -0.069551 -0.031626 0.997077 0.310700 0.472800 --2.225300 60.301201 -1.334400 -0.789816 -0.226827 0.569860 0.434400 0.187400 --2.043500 58.694401 -1.722000 -0.789816 -0.226827 0.569860 0.434700 0.119000 --0.793500 58.611801 -0.022400 -0.789816 -0.226827 0.569860 0.506200 0.129800 --0.793500 58.611801 -0.022400 -0.800106 -0.097243 0.591924 0.506200 0.129800 --2.043500 58.694401 -1.722000 -0.800106 -0.097243 0.591924 0.434700 0.119000 --2.071800 58.080299 -1.837600 -0.800106 -0.097243 0.591924 0.435700 0.090000 --0.860300 57.339199 -0.345300 -0.800106 -0.097243 0.591924 0.507000 0.087800 --2.071800 58.080299 -1.837600 -0.594038 -0.791272 0.144939 0.435700 0.090000 --1.480400 57.287800 -3.167400 -0.594038 -0.791272 0.144939 0.435700 0.022900 --0.509500 56.862801 -2.081200 -0.594038 -0.791272 0.144939 0.497100 0.026700 --0.860300 57.339199 -0.345300 -0.594038 -0.791272 0.144939 0.507000 0.087800 --0.179900 61.274700 0.058500 -0.090663 0.188705 0.977840 0.525600 0.223900 -0.000000 61.912998 -0.048000 -0.090663 0.188705 0.977840 0.533800 0.254400 --0.785400 61.539799 -0.048800 -0.090663 0.188705 0.977840 0.505500 0.247600 --15.884600 46.520500 -7.855800 -0.098387 0.080586 -0.991880 0.879500 0.788400 --17.208200 49.477699 -7.512200 -0.098387 0.080586 -0.991880 0.810800 0.788400 --16.136200 50.023998 -7.546200 -0.098387 0.080586 -0.991880 0.808600 0.809400 --14.885000 46.974701 -7.946000 -0.098387 0.080586 -0.991880 0.879500 0.809400 --15.636800 49.715099 -4.015700 -0.436830 0.889212 0.135946 0.746000 0.809400 --16.136200 50.023998 -7.546200 -0.436830 0.889212 0.135946 0.808600 0.809400 --17.208200 49.477699 -7.512200 -0.436830 0.889212 0.135946 0.810800 0.788400 --16.810101 49.139900 -3.928800 -0.436830 0.889212 0.135946 0.746000 0.788400 --16.192200 44.960400 -4.877100 0.435886 -0.826304 -0.356686 0.677700 0.788400 --15.884600 46.520500 -7.855800 0.435886 -0.826304 -0.356686 0.626900 0.788400 --14.885000 46.974701 -7.946000 0.435886 -0.826304 -0.356686 0.626900 0.809400 --14.977100 45.689201 -4.821000 0.435886 -0.826304 -0.356686 0.680000 0.809400 --16.810101 49.139900 -3.928800 0.116417 -0.190205 0.974818 0.746000 0.788400 --16.192200 44.960400 -4.877100 0.116417 -0.190205 0.974818 0.677700 0.788400 --14.977100 45.689201 -4.821000 0.116417 -0.190205 0.974818 0.680000 0.809400 --15.636800 49.715099 -4.015700 0.116417 -0.190205 0.974818 0.746000 0.809400 --13.779500 47.417198 -7.715300 -0.030432 0.115440 -0.992848 0.879500 0.834400 --14.989100 50.565300 -7.297200 -0.030432 0.115440 -0.992848 0.805300 0.834400 --9.827700 52.989700 -7.188500 -0.030432 0.115440 -0.992848 0.805500 0.922700 --8.756500 49.321098 -7.632900 -0.030432 0.115440 -0.992848 0.879500 0.922700 --15.636800 49.715099 -4.015700 -0.447311 0.883265 0.140554 0.746000 0.809400 --14.989100 50.565300 -7.297200 -0.447311 0.883265 0.140554 0.805300 0.834400 --16.136200 50.023998 -7.546200 -0.447311 0.883265 0.140554 0.808600 0.809400 --13.779500 47.417198 -7.715300 0.409629 -0.847844 -0.336697 0.626900 0.829400 --14.977100 45.689201 -4.821000 0.409629 -0.847844 -0.336697 0.680000 0.809400 --14.885000 46.974701 -7.946000 0.409629 -0.847844 -0.336697 0.626900 0.809400 --0.971400 14.644800 -6.706400 0.777065 -0.629233 0.015366 0.253200 0.212300 --1.221800 14.450400 -2.004100 0.777065 -0.629233 0.015366 0.220300 0.236900 --1.766900 13.754900 -2.918700 0.777065 -0.629233 0.015366 0.216900 0.223600 --26.117701 44.487900 -2.198700 0.374471 0.258120 0.890587 0.788200 0.565100 --27.058001 43.733101 -1.471100 0.374471 0.258120 0.890587 0.783900 0.527900 --26.775499 43.007000 -1.492900 0.374471 0.258120 0.890587 0.799700 0.523000 --25.587200 43.557701 -2.038700 0.374471 0.258120 0.890587 0.806300 0.556900 --25.587200 43.557701 -2.038700 0.386633 -0.610879 0.690899 0.806300 0.556900 --26.775499 43.007000 -1.492900 0.386633 -0.610879 0.690899 0.799700 0.523000 --27.637899 42.321201 -1.984400 0.386633 -0.610879 0.690899 0.816200 0.507300 --25.491899 42.827301 -2.370100 0.386633 -0.610879 0.690899 0.813300 0.554500 --26.117701 44.487900 -2.198700 -0.202601 0.798645 0.566673 0.788200 0.565100 --28.100901 44.177299 -2.470000 -0.202601 0.798645 0.566673 0.756100 0.537200 --27.058001 43.733101 -1.471100 -0.202601 0.798645 0.566673 0.783900 0.527900 --8.184300 53.108700 -3.320400 -0.347207 -0.172872 0.921717 0.746000 0.944900 --7.813100 49.342701 -3.886900 -0.347207 -0.172872 0.921717 0.686800 0.944900 --6.624100 53.529800 -2.653700 -0.347207 -0.172872 0.921717 0.746000 0.986600 --8.747800 53.770199 -7.353300 -0.055764 0.062731 -0.996471 0.807700 0.944900 --6.775800 50.206501 -7.534500 -0.055764 0.062731 -0.996471 0.879500 0.944900 --8.756500 49.321098 -7.632900 -0.055764 0.062731 -0.996471 0.879500 0.922700 --9.827700 52.989700 -7.188500 -0.055764 0.062731 -0.996471 0.805500 0.922700 --28.543800 44.178001 -4.651400 -0.562493 0.826801 -0.001192 0.718600 0.545700 --28.697901 44.238201 -3.477500 -0.562493 0.826801 -0.001192 0.737900 0.538900 --26.753901 45.398300 -2.858600 -0.562493 0.826801 -0.001192 0.766000 0.574200 --27.102699 45.320202 -5.735100 -0.562493 0.826801 -0.001192 0.706300 0.587600 --26.246300 42.901402 -5.383600 0.106461 -0.983873 -0.143736 0.880100 0.569900 --28.380600 42.330502 -3.056600 0.106461 -0.983873 -0.143736 0.853500 0.507000 --28.292801 42.543098 -4.446800 0.106461 -0.983873 -0.143736 0.879400 0.523100 --28.100901 44.177299 -2.470000 -0.192584 0.484112 0.853550 0.756100 0.537200 --26.117701 44.487900 -2.198700 -0.192584 0.484112 0.853550 0.788200 0.565100 --26.753901 45.398300 -2.858600 -0.192584 0.484112 0.853550 0.766000 0.574200 --1.712600 0.024900 -9.195700 0.013475 -0.999909 -0.000374 0.765100 0.147100 --3.769300 -0.009000 1.132900 0.013475 -0.999909 -0.000374 0.765800 0.040900 --5.176800 -0.025000 -0.598300 0.013475 -0.999909 -0.000374 0.783900 0.050100 --3.252600 0.001600 -8.591000 0.013475 -0.999909 -0.000374 0.777900 0.139800 -0.000000 61.912998 -0.048000 -0.158526 0.331625 0.929997 0.533800 0.254400 -0.000000 62.775902 -0.355700 -0.158526 0.331625 0.929997 0.533900 0.286800 --0.785400 61.539799 -0.048800 -0.158526 0.331625 0.929997 0.505500 0.247600 --0.340300 31.400700 -9.922000 0.943854 -0.327649 -0.042263 0.348900 0.396000 --0.425600 30.069099 -1.503600 0.943854 -0.327649 -0.042263 0.251300 0.411900 --0.845100 29.891001 -9.491500 0.943854 -0.327649 -0.042263 0.339400 0.379800 -0.000000 54.522099 -2.187600 0.000000 -0.045410 0.998968 0.310700 0.919600 -0.000000 56.862801 -2.081200 0.000000 -0.045410 0.998968 0.310500 0.953100 --0.509500 56.862801 -2.081200 0.000000 -0.045410 0.998968 0.307800 0.953500 --0.509500 56.862801 -2.081200 -0.098448 -0.971038 0.217700 0.497100 0.026700 -0.000000 56.862801 -2.081200 -0.098448 -0.971038 0.217700 0.533800 0.019000 -0.000000 57.320400 0.190300 -0.098448 -0.971038 0.217700 0.533800 0.095300 --0.860300 57.339199 -0.345300 -0.098448 -0.971038 0.217700 0.507000 0.087800 --5.598500 31.822901 -1.405400 -0.881296 0.021519 0.472075 0.185400 0.436500 --7.453900 29.910801 -4.782000 -0.881296 0.021519 0.472075 0.143900 0.408700 --6.824000 22.193899 -3.254300 -0.881296 0.021519 0.472075 0.165700 0.313700 --6.824000 22.193899 -3.254300 -0.921164 -0.108973 -0.373607 0.165700 0.313700 --7.453900 29.910801 -4.782000 -0.921164 -0.108973 -0.373607 0.143900 0.408700 --5.595300 29.761600 -8.491100 -0.921164 -0.108973 -0.373607 0.097300 0.399700 --5.317800 22.936800 -8.014600 -0.921164 -0.108973 -0.373607 0.105500 0.313700 --3.798500 31.552500 -0.386300 -0.402805 -0.146650 0.903461 0.210900 0.433400 --5.598500 31.822901 -1.405400 -0.402805 -0.146650 0.903461 0.185400 0.436500 --6.824000 22.193899 -3.254300 -0.402805 -0.146650 0.903461 0.165700 0.313700 --2.189200 21.987900 -1.481800 -0.402805 -0.146650 0.903461 0.225500 0.313700 --0.340300 31.400700 -9.922000 -0.229486 -0.108632 -0.967231 0.033600 0.413900 --0.845100 29.891001 -9.491500 -0.229486 -0.108632 -0.967231 0.041700 0.395800 --5.595300 29.761600 -8.491100 -0.229486 -0.108632 -0.967231 0.097300 0.399700 --4.970000 33.082802 -8.871300 -0.229486 -0.108632 -0.967231 0.086900 0.436600 --0.835600 22.853901 -8.203000 0.992234 -0.110109 0.057862 0.306600 0.313700 --0.845100 29.891001 -9.491500 0.992234 -0.110109 0.057862 0.339400 0.379800 --0.425600 30.069099 -1.503600 0.992234 -0.110109 0.057862 0.251300 0.411900 --2.189200 21.987900 -1.481800 0.992234 -0.110109 0.057862 0.225500 0.313700 --2.162800 35.743500 -9.599900 -0.324262 0.084100 -0.942221 0.052600 0.465300 --0.340300 31.400700 -9.922000 -0.324262 0.084100 -0.942221 0.033600 0.413900 --4.970000 33.082802 -8.871300 -0.324262 0.084100 -0.942221 0.086900 0.436600 --5.283200 35.952900 -7.814600 -0.324262 0.084100 -0.942221 0.094100 0.470900 --5.283200 35.952900 -7.814600 -0.889642 0.311183 -0.334218 0.142000 0.631800 --6.542300 35.480598 -4.902800 -0.889642 0.311183 -0.334218 0.182300 0.631800 --5.919200 37.619099 -4.570300 -0.889642 0.311183 -0.334218 0.183200 0.661600 --5.919200 37.619099 -4.570300 -0.882633 0.186716 0.431389 0.183200 0.661600 --6.542300 35.480598 -4.902800 -0.882633 0.186716 0.431389 0.182300 0.631800 --5.598500 31.822901 -1.405400 -0.882633 0.186716 0.431389 0.231500 0.582200 --4.685700 36.664101 -1.616400 -0.882633 0.186716 0.431389 0.239100 0.661600 --0.474100 61.294899 -0.607800 -0.490764 0.255871 0.832875 0.499900 0.227200 --1.340700 61.343498 -1.024900 -0.490764 0.255871 0.832875 0.467800 0.231800 --2.225300 60.301201 -1.334400 -0.490764 0.255871 0.832875 0.434400 0.187400 --0.596000 60.268700 -0.255900 -0.490764 0.255871 0.832875 0.502600 0.185300 --1.340700 61.343498 -1.024900 -0.199083 -0.932669 0.300824 0.467800 0.231800 --0.474100 61.294899 -0.607800 -0.199083 -0.932669 0.300824 0.499900 0.227200 --0.785400 61.539799 -0.048800 -0.199083 -0.932669 0.300824 0.505500 0.247600 --1.792100 61.563202 -0.648200 -0.199083 -0.932669 0.300824 0.464300 0.250800 -0.000000 45.235802 -8.516300 -0.205813 0.023108 -0.978318 0.061400 0.762800 -0.000000 38.221600 -8.073300 -0.205813 0.023108 -0.978318 0.073200 0.661600 --2.827600 38.171799 -8.088300 -0.205813 0.023108 -0.978318 0.114500 0.661600 --5.495700 46.043098 -6.732400 -0.205813 0.023108 -0.978318 0.139900 0.788400 --0.425600 30.069099 -1.503600 0.289736 -0.060654 0.955183 0.251300 0.411900 --3.798500 31.552500 -0.386300 0.289736 -0.060654 0.955183 0.210900 0.433400 --2.189200 21.987900 -1.481800 0.289736 -0.060654 0.955183 0.225500 0.313700 -0.000000 31.547001 -9.939100 0.347255 -0.926523 -0.144807 0.349900 0.400200 -0.000000 30.215401 -1.522000 0.347255 -0.926523 -0.144807 0.252400 0.417000 --0.425600 30.069099 -1.503600 0.347255 -0.926523 -0.144807 0.251300 0.411900 --0.340300 31.400700 -9.922000 0.347255 -0.926523 -0.144807 0.348900 0.396000 --21.061199 44.183601 -7.611200 -0.028361 0.039319 -0.998824 0.879500 0.705100 --22.585199 48.327702 -7.594400 -0.028361 0.039319 -0.998824 0.812700 0.705100 --17.208200 49.477699 -7.512200 -0.028361 0.039319 -0.998824 0.810800 0.788400 --15.884600 46.520500 -7.855800 -0.028361 0.039319 -0.998824 0.879500 0.788400 --22.348700 46.932201 -2.822400 -0.723103 0.652497 0.226650 0.746000 0.680200 --22.585199 48.327702 -7.594400 -0.723103 0.652497 0.226650 0.812700 0.705100 --23.337700 47.268200 -6.945000 -0.723103 0.652497 0.226650 0.809900 0.680200 --21.061199 44.183601 -7.611200 -0.095048 -0.949863 -0.297868 0.626900 0.699700 --21.936399 43.055199 -3.733600 -0.095048 -0.949863 -0.297868 0.691800 0.680200 --22.105101 44.119598 -7.074000 -0.095048 -0.949863 -0.297868 0.641700 0.680200 -0.000000 59.375900 0.272700 0.000000 -0.866545 0.499100 0.533800 0.153800 -0.226300 59.631802 0.717000 0.000000 -0.866545 0.499100 0.537800 0.167300 --0.226300 59.631802 0.717000 0.000000 -0.866545 0.499100 0.529800 0.167300 --0.163800 60.672798 0.405300 0.000000 0.286842 0.957978 0.529100 0.200900 --0.226300 59.631802 0.717000 0.000000 0.286842 0.957978 0.529800 0.167300 -0.226300 59.631802 0.717000 0.000000 0.286842 0.957978 0.537800 0.167300 -0.163800 60.672798 0.405300 0.000000 0.286842 0.957978 0.538500 0.200900 --0.340300 31.400700 -9.922000 -0.012671 0.074070 -0.997173 0.033600 0.413900 --2.162800 35.743500 -9.599900 -0.012671 0.074070 -0.997173 0.052600 0.465300 -0.000000 35.795200 -9.599900 -0.012671 0.074070 -0.997173 0.027500 0.464800 -0.000000 31.547001 -9.939100 -0.012671 0.074070 -0.997173 0.029600 0.415400 --5.919200 37.619099 -4.570300 -0.561685 0.544798 -0.622660 0.183200 0.661600 --2.827600 38.171799 -8.088300 -0.561685 0.544798 -0.622660 0.114500 0.661600 --2.162800 35.743500 -9.599900 -0.561685 0.544798 -0.622660 0.096500 0.631800 --5.283200 35.952900 -7.814600 -0.561685 0.544798 -0.622660 0.142000 0.631800 --28.543800 44.178001 -4.651400 -0.410462 -0.233070 -0.881589 0.718600 0.545700 --27.102699 45.320202 -5.735100 -0.410462 -0.233070 -0.881589 0.706300 0.587600 --26.246300 42.901402 -5.383600 -0.410462 -0.233070 -0.881589 0.663100 0.553800 --28.292801 42.543098 -4.446800 -0.410462 -0.233070 -0.881589 0.704200 0.514300 --25.491899 42.827301 -2.370100 0.201709 -0.968181 -0.148119 0.813300 0.554500 --27.637899 42.321201 -1.984400 0.201709 -0.968181 -0.148119 0.816200 0.507300 --28.380600 42.330502 -3.056600 0.201709 -0.968181 -0.148119 0.853500 0.507000 --26.246300 42.901402 -5.383600 0.185319 -0.980147 -0.070494 0.880100 0.569900 --25.491899 42.827301 -2.370100 0.185319 -0.980147 -0.070494 0.813300 0.554500 --28.380600 42.330502 -3.056600 0.185319 -0.980147 -0.070494 0.853500 0.507000 --0.179900 61.274700 0.058500 0.000000 0.499235 0.866467 0.525600 0.223900 --0.163800 60.672798 0.405300 0.000000 0.499235 0.866467 0.529100 0.200900 -0.163800 60.672798 0.405300 0.000000 0.499235 0.866467 0.538500 0.200900 -0.179900 61.274700 0.058500 0.000000 0.499235 0.866467 0.542100 0.223900 -0.000000 61.912998 -0.048000 0.000000 0.164575 0.986365 0.533800 0.254400 --0.179900 61.274700 0.058500 0.000000 0.164575 0.986365 0.525600 0.223900 -0.179900 61.274700 0.058500 0.000000 0.164575 0.986365 0.542100 0.223900 --2.162800 35.743500 -9.599900 -0.008224 0.529675 -0.848161 0.096500 0.631800 --2.827600 38.171799 -8.088300 -0.008224 0.529675 -0.848161 0.114500 0.661600 -0.000000 38.221600 -8.073300 -0.008224 0.529675 -0.848161 0.073200 0.661600 -0.000000 35.795200 -9.599900 -0.008224 0.529675 -0.848161 0.068100 0.631800 -4.620900 14.945700 -8.516100 0.163464 0.013069 -0.986463 0.912200 0.175600 -3.252600 0.001600 -8.591000 0.163464 0.013069 -0.986463 0.909400 0.032900 -1.712600 0.024900 -9.195700 0.163464 0.013069 -0.986463 0.925400 0.031900 -1.456400 14.610600 -8.695100 0.163464 0.013069 -0.986463 0.943400 0.175600 -4.089400 2.633000 -5.031300 0.982688 -0.088487 -0.162770 0.873900 0.060000 -3.252600 0.001600 -8.591000 0.982688 -0.088487 -0.162770 0.909400 0.032900 -4.620900 14.945700 -8.516100 0.982688 -0.088487 -0.162770 0.912200 0.175600 -5.308800 13.910900 -3.738700 0.982688 -0.088487 -0.162770 0.859000 0.175600 -1.553600 3.059500 -4.173500 -0.398905 -0.098999 0.911633 0.841100 0.058900 -3.061600 3.537800 -3.461700 -0.398905 -0.098999 0.911633 0.856300 0.067800 -1.766900 13.754900 -2.918700 -0.398905 -0.098999 0.911633 0.824200 0.175600 -1.553600 3.059500 -4.173500 -0.983093 0.009545 0.182857 0.841100 0.058900 -1.766900 13.754900 -2.918700 -0.983093 0.009545 0.182857 0.824200 0.175600 -1.239800 14.644800 -6.465300 -0.983093 0.009545 0.182857 0.795300 0.175600 -0.626000 0.031700 -8.336200 -0.983093 0.009545 0.182857 0.808600 0.019600 -5.495700 46.043098 -6.732400 0.860977 -0.085411 -0.501422 0.140100 0.788400 -6.029500 46.188801 -3.956000 0.860977 -0.085411 -0.501422 0.183500 0.792100 -5.919200 37.619099 -4.570300 0.860977 -0.085411 -0.501422 0.183400 0.661600 -2.827600 38.171799 -8.088300 0.860977 -0.085411 -0.501422 0.114700 0.661600 -4.685700 36.664101 -1.616400 0.917535 -0.032092 0.396359 0.239300 0.661600 -5.919200 37.619099 -4.570300 0.917535 -0.032092 0.396359 0.183400 0.661600 -6.029500 46.188801 -3.956000 0.917535 -0.032092 0.396359 0.183500 0.792100 -4.298500 47.001099 -0.058900 0.917535 -0.032092 0.396359 0.249500 0.802400 -6.775800 50.206501 -7.534500 0.223809 0.028781 -0.974208 0.134300 0.852600 -0.000000 50.037800 -9.413700 0.223809 0.028781 -0.974208 0.042000 0.827300 -0.000000 53.738098 -8.986800 0.223809 0.028781 -0.974208 0.028300 0.877800 -7.252500 54.524502 -7.615000 0.223809 0.028781 -0.974208 0.126400 0.913200 -7.252500 54.524502 -7.615000 0.375359 0.901424 0.215731 0.533200 0.977800 -6.624100 53.529800 -2.653700 0.375359 0.901424 0.215731 0.469900 0.977800 -8.184300 53.108700 -3.320400 0.375359 0.901424 0.215731 0.469900 0.942000 -8.747800 53.770199 -7.353300 0.375359 0.901424 0.215731 0.528600 0.942000 -9.827700 52.989700 -7.188500 0.412168 0.895237 0.169320 0.526400 0.916400 -9.508400 52.403099 -3.672700 0.412168 0.895237 0.169320 0.469900 0.916400 -15.636800 49.715099 -4.015700 0.412168 0.895237 0.169320 0.469900 0.803100 -14.989100 50.565300 -7.297200 0.412168 0.895237 0.169320 0.526200 0.828100 -0.000000 37.009800 0.550700 0.339751 -0.089043 0.936291 0.310700 0.661600 -4.685700 36.664101 -1.616400 0.339751 -0.089043 0.936291 0.239300 0.661600 -4.298500 47.001099 -0.058900 0.339751 -0.089043 0.936291 0.249500 0.802400 -0.000000 47.287498 1.094200 0.339751 -0.089043 0.936291 0.310700 0.805700 -0.000000 53.738098 -8.986800 0.139268 0.841727 -0.521633 0.028300 0.877800 -0.000000 55.950600 -7.250100 0.139268 0.841727 -0.521633 0.022600 0.916300 -2.321200 55.471001 -5.570800 0.139268 0.841727 -0.521633 0.053900 0.941000 -7.252500 54.524502 -7.615000 0.139268 0.841727 -0.521633 0.126400 0.913200 -3.773800 51.093601 -1.034300 0.772400 -0.022870 0.634725 0.256800 0.864400 -4.298500 47.001099 -0.058900 0.772400 -0.022870 0.634725 0.249500 0.802400 -6.029500 46.188801 -3.956000 0.772400 -0.022870 0.634725 0.183500 0.792100 -6.624100 53.529800 -2.653700 0.772400 -0.022870 0.634725 0.210400 0.900400 -6.624100 53.529800 -2.653700 0.299992 -0.190133 0.934802 0.210400 0.900400 -6.029500 46.188801 -3.956000 0.299992 -0.190133 0.934802 0.183500 0.792100 -7.813100 49.342701 -3.886900 0.299992 -0.190133 0.934802 0.181200 0.844200 -0.000000 50.880199 0.110000 0.266804 0.255185 0.929352 0.310700 0.860500 -0.000000 47.287498 1.094200 0.266804 0.255185 0.929352 0.310700 0.805700 -4.298500 47.001099 -0.058900 0.266804 0.255185 0.929352 0.249500 0.802400 -3.773800 51.093601 -1.034300 0.266804 0.255185 0.929352 0.256800 0.864400 -16.136200 50.023998 -7.546200 -0.129075 0.179950 -0.975171 0.529500 0.803100 -14.885000 46.974701 -7.946000 -0.129075 0.179950 -0.975171 0.590800 0.803100 -13.779500 47.417198 -7.715300 -0.129075 0.179950 -0.975171 0.590800 0.828100 -14.989100 50.565300 -7.297200 -0.129075 0.179950 -0.975171 0.526200 0.828100 -13.779500 47.417198 -7.715300 -0.437873 -0.882573 -0.171264 0.347800 0.823100 -14.977100 45.689201 -4.821000 -0.437873 -0.882573 -0.171264 0.400900 0.803100 -8.927200 49.128502 -4.128200 -0.437873 -0.882573 -0.171264 0.409800 0.916400 -8.756500 49.321098 -7.632900 -0.437873 -0.882573 -0.171264 0.347800 0.916400 -17.208200 49.477699 -7.512200 0.268622 0.938905 0.215175 0.531700 0.782100 -16.810101 49.139900 -3.928800 0.268622 0.938905 0.215175 0.469900 0.782100 -22.348700 46.932201 -2.822400 0.268622 0.938905 0.215175 0.469900 0.674700 -22.585199 48.327702 -7.594400 0.268622 0.938905 0.215175 0.533600 0.698800 -21.936399 43.055199 -3.733600 -0.256926 -0.186034 0.948357 0.412700 0.674700 -22.348700 46.932201 -2.822400 -0.256926 -0.186034 0.948357 0.469900 0.674700 -16.810101 49.139900 -3.928800 -0.256926 -0.186034 0.948357 0.469900 0.782100 -16.192200 44.960400 -4.877100 -0.256926 -0.186034 0.948357 0.398600 0.782100 -22.105101 44.119598 -7.074000 0.471869 -0.161034 -0.866838 0.583100 0.674700 -21.061199 44.183601 -7.611200 0.471869 -0.161034 -0.866838 0.590800 0.698800 -22.585199 48.327702 -7.594400 0.471869 -0.161034 -0.866838 0.533600 0.698800 -23.337700 47.268200 -6.945000 0.471869 -0.161034 -0.866838 0.530800 0.674700 -15.884600 46.520500 -7.855800 -0.312108 -0.901546 -0.299673 0.347800 0.782100 -21.061199 44.183601 -7.611200 -0.312108 -0.901546 -0.299673 0.347800 0.693400 -21.936399 43.055199 -3.733600 -0.312108 -0.901546 -0.299673 0.412700 0.674700 -16.192200 44.960400 -4.877100 -0.312108 -0.901546 -0.299673 0.398600 0.782100 -5.598500 31.822901 -1.404300 0.899204 0.141743 0.413933 0.847900 0.413200 -7.453900 29.910801 -4.780100 0.899204 0.141743 0.413933 0.884800 0.385400 -7.174300 32.815300 -5.167300 0.899204 0.141743 0.413933 0.893300 0.414200 -4.970000 33.082802 -8.871900 0.875445 0.068330 -0.478463 0.938900 0.409500 -7.174300 32.815300 -5.167300 0.875445 0.068330 -0.478463 0.893300 0.414200 -7.453900 29.910801 -4.780100 0.875445 0.068330 -0.478463 0.884800 0.385400 -5.595300 29.761600 -8.492500 0.875445 0.068330 -0.478463 0.927500 0.375900 -6.827700 20.858999 -3.044800 0.895156 -0.347215 -0.279532 0.858900 0.286100 -6.194700 19.576300 -3.478600 0.895156 -0.347215 -0.279532 0.860200 0.277400 -5.426000 21.341299 -8.132600 0.895156 -0.347215 -0.279532 0.914200 0.282100 -0.835600 22.853901 -8.210700 0.045309 0.086115 -0.995254 0.964300 0.301600 -5.317800 22.936800 -8.016200 0.045309 0.086115 -0.995254 0.916400 0.301600 -5.426000 21.341299 -8.132600 0.045309 0.086115 -0.995254 0.914200 0.282100 -0.899900 21.410400 -8.349400 0.045309 0.086115 -0.995254 0.962800 0.286100 -0.899900 21.410400 -8.349400 -0.986876 0.054006 0.152183 0.726500 0.282100 -1.853000 19.164200 -1.371600 -0.986876 0.054006 0.152183 0.805100 0.274200 -1.957400 20.620800 -1.211500 -0.986876 0.054006 0.152183 0.804700 0.286100 -6.194700 19.576300 -3.478600 0.393316 -0.294694 0.870895 0.860200 0.277400 -6.827700 20.858999 -3.044800 0.393316 -0.294694 0.870895 0.858900 0.286100 -1.957400 20.620800 -1.211500 0.393316 -0.294694 0.870895 0.804700 0.286100 -1.853000 19.164200 -1.371600 0.393316 -0.294694 0.870895 0.805100 0.274200 -5.117200 15.490400 -9.679700 -0.013076 0.210350 -0.977539 0.917300 0.220800 -0.134100 16.169500 -9.174700 -0.013076 0.210350 -0.977539 0.969900 0.225300 -0.899900 21.410400 -8.349400 -0.013076 0.210350 -0.977539 0.962800 0.286100 -5.426000 21.341299 -8.132600 -0.013076 0.210350 -0.977539 0.914200 0.282100 -0.134100 16.169500 -9.174700 -0.979250 0.051054 0.196120 0.732600 0.207100 -1.716700 14.450400 -2.459200 -0.979250 0.051054 0.196120 0.808600 0.236100 -1.853000 19.164200 -1.371600 -0.979250 0.051054 0.196120 0.805100 0.274200 -0.899900 21.410400 -8.349400 -0.979250 0.051054 0.196120 0.726500 0.282100 -1.853000 19.164200 -1.371600 0.369977 -0.140579 0.918343 0.805100 0.274200 -1.716700 14.450400 -2.459200 0.369977 -0.140579 0.918343 0.808600 0.236100 -6.069200 14.643000 -3.762300 0.369977 -0.140579 0.918343 0.859400 0.227800 -6.194700 19.576300 -3.478600 0.369977 -0.140579 0.918343 0.860200 0.277400 -6.069200 14.643000 -3.762300 0.986467 -0.011966 -0.163524 0.859400 0.227800 -5.117200 15.490400 -9.679700 0.986467 -0.011966 -0.163524 0.917300 0.220800 -5.426000 21.341299 -8.132600 0.986467 -0.011966 -0.163524 0.914200 0.282100 -6.194700 19.576300 -3.478600 0.986467 -0.011966 -0.163524 0.860200 0.277400 -7.813100 49.342701 -3.886900 0.881229 -0.394976 -0.259672 0.181200 0.844200 -6.029500 46.188801 -3.956000 0.881229 -0.394976 -0.259672 0.183500 0.792100 -5.495700 46.043098 -6.732400 0.881229 -0.394976 -0.259672 0.140100 0.788400 -6.775800 50.206501 -7.534500 0.881229 -0.394976 -0.259672 0.134300 0.852600 -8.756500 49.321098 -7.632900 -0.341557 -0.936397 -0.080618 0.347800 0.916400 -8.927200 49.128502 -4.128200 -0.341557 -0.936397 -0.080618 0.409800 0.916400 -7.813100 49.342701 -3.886900 -0.341557 -0.936397 -0.080618 0.407700 0.942000 -6.775800 50.206501 -7.534500 -0.341557 -0.936397 -0.080618 0.347800 0.942000 -5.495700 46.043098 -6.732400 0.295037 -0.218453 -0.930178 0.140100 0.788400 -0.000000 45.235802 -8.516300 0.295037 -0.218453 -0.930178 0.061600 0.762900 -0.000000 50.037800 -9.413700 0.295037 -0.218453 -0.930178 0.042000 0.827300 -6.775800 50.206501 -7.534500 0.295037 -0.218453 -0.930178 0.134300 0.852600 -3.773800 51.093601 -1.034300 0.217879 0.518058 0.827130 0.256800 0.864400 -1.435700 55.057400 -2.884500 0.217879 0.518058 0.827130 0.286000 0.931400 -0.000000 54.522099 -2.187600 0.217879 0.518058 0.827130 0.310700 0.919600 -0.000000 50.880199 0.110000 0.217879 0.518058 0.827130 0.310700 0.860500 -0.163800 60.672798 0.405300 0.878123 0.172158 0.446386 0.538500 0.200900 -0.226300 59.631802 0.717000 0.878123 0.172158 0.446386 0.537800 0.167300 -0.605400 59.453602 0.006800 0.878123 0.172158 0.446386 0.558900 0.156900 -0.596000 60.268700 -0.255900 0.878123 0.172158 0.446386 0.565100 0.185300 -0.000000 59.375900 0.272700 0.351825 0.003851 0.936058 0.533800 0.153800 -0.000000 58.735298 0.237300 0.351825 0.003851 0.936058 0.533800 0.134400 -0.793500 58.611801 -0.022400 0.351825 0.003851 0.936058 0.561500 0.129800 -0.605400 59.453602 0.006800 0.351825 0.003851 0.936058 0.558900 0.156900 -1.340700 61.343498 -1.024900 0.500896 0.173312 0.847978 0.599900 0.231700 -2.225300 60.301201 -1.334400 0.500896 0.173312 0.847978 0.633200 0.187400 -2.209500 61.230499 -1.515000 0.500896 0.173312 0.847978 0.636800 0.228100 -0.474100 61.294899 -0.607800 0.419394 -0.893935 0.158081 0.567800 0.227200 -0.785400 61.539799 -0.048800 0.419394 -0.893935 0.158081 0.562200 0.247600 -0.179900 61.274700 0.058500 0.419394 -0.893935 0.158081 0.542100 0.223900 -0.163800 60.672798 0.405300 0.879737 0.234636 0.413532 0.538500 0.200900 -0.596000 60.268700 -0.255900 0.879737 0.234636 0.413532 0.565100 0.185300 -0.474100 61.294899 -0.607800 0.879737 0.234636 0.413532 0.567800 0.227200 -0.179900 61.274700 0.058500 0.879737 0.234636 0.413532 0.542100 0.223900 -0.785400 61.539799 -0.048800 0.405349 0.400850 0.821591 0.562200 0.247600 -1.792100 61.563202 -0.648200 0.405349 0.400850 0.821591 0.603400 0.250800 -1.901400 62.898899 -1.262500 0.405349 0.400850 0.821591 0.616100 0.287500 -0.000000 62.775902 -0.355700 0.405349 0.400850 0.821591 0.533900 0.286800 -1.901400 62.898899 -1.262500 0.958885 0.139689 0.247034 0.616100 0.287500 -1.792100 61.563202 -0.648200 0.958885 0.139689 0.247034 0.603400 0.250800 -2.209500 61.230499 -1.515000 0.958885 0.139689 0.247034 0.636800 0.228100 -2.505800 61.413601 -3.333900 0.958885 0.139689 0.247034 0.700500 0.240200 -2.071800 58.080299 -1.837600 0.982605 0.010378 0.185418 0.632000 0.089900 -2.361600 58.652599 -3.405400 0.982605 0.010378 0.185418 0.691600 0.111600 -2.043500 58.694401 -1.722000 0.982605 0.010378 0.185418 0.633000 0.119000 -2.361600 58.652599 -3.405400 0.835615 -0.547438 -0.045374 0.691600 0.111600 -2.071800 58.080299 -1.837600 0.835615 -0.547438 -0.045374 0.632000 0.089900 -1.480400 57.287800 -3.167400 0.835615 -0.547438 -0.045374 0.679600 0.054000 -2.361600 58.652599 -3.405400 0.962379 -0.178153 0.205154 0.691600 0.111600 -2.484800 60.667999 -2.078300 0.962379 -0.178153 0.205154 0.658100 0.193000 -2.225300 60.301201 -1.334400 0.962379 -0.178153 0.205154 0.633200 0.187400 -2.043500 58.694401 -1.722000 0.962379 -0.178153 0.205154 0.633000 0.119000 -0.596000 60.268700 -0.255900 0.569338 0.180881 0.801958 0.565100 0.185300 -0.605400 59.453602 0.006800 0.569338 0.180881 0.801958 0.558900 0.156900 -0.793500 58.611801 -0.022400 0.569338 0.180881 0.801958 0.561500 0.129800 -2.225300 60.301201 -1.334400 0.569338 0.180881 0.801958 0.633200 0.187400 -0.793500 58.611801 -0.022400 0.424783 -0.113068 0.898207 0.561500 0.129800 -0.000000 58.735298 0.237300 0.424783 -0.113068 0.898207 0.533800 0.134400 -0.000000 57.320400 0.190300 0.424783 -0.113068 0.898207 0.533800 0.095300 -0.860300 57.339199 -0.345300 0.424783 -0.113068 0.898207 0.560600 0.087800 -2.361600 58.652599 -3.405400 0.801295 -0.555920 -0.221086 0.691600 0.111600 -1.480400 57.287800 -3.167400 0.801295 -0.555920 -0.221086 0.679600 0.054000 -1.507500 57.978802 -4.806700 0.801295 -0.555920 -0.221086 0.740400 0.071600 -1.480400 57.287800 -3.167400 0.605736 -0.042761 0.794516 0.293800 0.962800 -0.509500 56.862801 -2.081200 0.605736 -0.042761 0.794516 0.308000 0.953500 -0.000000 54.522099 -2.187600 0.605736 -0.042761 0.794516 0.310700 0.919600 -1.435700 55.057400 -2.884500 0.605736 -0.042761 0.794516 0.286000 0.931400 -1.435700 55.057400 -2.884500 0.962522 0.132164 0.236820 0.286000 0.931400 -2.321200 55.471001 -5.570800 0.962522 0.132164 0.236820 0.259700 0.968000 -1.507500 57.978802 -4.806700 0.962522 0.132164 0.236820 0.270100 0.982500 -1.480400 57.287800 -3.167400 0.962522 0.132164 0.236820 0.293800 0.962800 -5.117200 15.490400 -9.679700 -0.146405 -0.402228 -0.903758 0.917300 0.220800 -1.456400 14.610600 -8.695100 -0.146405 -0.402228 -0.903758 0.949700 0.207500 -0.134100 16.169500 -9.174700 -0.146405 -0.402228 -0.903758 0.969900 0.225300 -0.134100 16.169500 -9.174700 -0.868940 -0.488451 0.079739 0.732600 0.207100 -1.239800 14.644800 -6.465300 -0.868940 -0.488451 0.079739 0.774100 0.204900 -1.716700 14.450400 -2.459200 -0.868940 -0.488451 0.079739 0.808600 0.236100 -5.308800 13.910900 -3.738700 0.254739 -0.396087 0.882170 0.855000 0.218100 -6.069200 14.643000 -3.762300 0.254739 -0.396087 0.882170 0.859400 0.227800 -1.716700 14.450400 -2.459200 0.254739 -0.396087 0.882170 0.808600 0.236100 -1.766900 13.754900 -2.918700 0.254739 -0.396087 0.882170 0.809900 0.215800 -4.620900 14.945700 -8.516100 0.580484 -0.782092 -0.226651 0.914400 0.215300 -5.117200 15.490400 -9.679700 0.580484 -0.782092 -0.226651 0.917300 0.220800 -6.069200 14.643000 -3.762300 0.580484 -0.782092 -0.226651 0.859400 0.227800 -5.308800 13.910900 -3.738700 0.580484 -0.782092 -0.226651 0.855000 0.218100 -1.957400 20.620800 -1.211500 -0.981620 0.066989 0.178702 0.804700 0.286100 -2.189200 21.987900 -1.483700 -0.981620 0.066989 0.178702 0.804500 0.301600 -0.835600 22.853901 -8.210700 -0.981620 0.066989 0.178702 0.728900 0.301600 -0.899900 21.410400 -8.349400 -0.981620 0.066989 0.178702 0.726500 0.282100 -7.174300 32.815300 -5.167300 0.882089 0.156872 -0.444196 0.893300 0.414200 -4.970000 33.082802 -8.871900 0.882089 0.156872 -0.444196 0.938900 0.409500 -5.283200 35.952900 -7.814600 0.882089 0.156872 -0.444196 0.933900 0.441300 -6.542300 35.480598 -4.902800 0.882089 0.156872 -0.444196 0.897200 0.442800 -5.598500 31.822901 -1.404300 0.892181 0.170029 0.418452 0.847900 0.413200 -7.174300 32.815300 -5.167300 0.892181 0.170029 0.418452 0.893300 0.414200 -6.542300 35.480598 -4.902800 0.892181 0.170029 0.418452 0.897200 0.442800 -4.685700 36.664101 -1.616400 0.472747 0.127337 0.871949 0.239300 0.661600 -3.798500 31.552500 -0.388900 0.472747 0.127337 0.871949 0.257800 0.582200 -5.598500 31.822901 -1.404300 0.472747 0.127337 0.871949 0.231700 0.582200 -2.225300 60.301201 -1.334400 0.926529 0.086891 0.366052 0.633200 0.187400 -2.484800 60.667999 -2.078300 0.926529 0.086891 0.366052 0.658100 0.193000 -2.209500 61.230499 -1.515000 0.926529 0.086891 0.366052 0.636800 0.228100 -8.927200 49.128502 -4.128200 0.174303 -0.164506 0.970853 0.409800 0.916400 -9.508400 52.403099 -3.672700 0.174303 -0.164506 0.970853 0.469900 0.916400 -8.184300 53.108700 -3.320400 0.174303 -0.164506 0.970853 0.469900 0.942000 -7.813100 49.342701 -3.886900 0.174303 -0.164506 0.970853 0.407700 0.942000 -8.184300 53.108700 -3.320400 0.526523 0.826719 0.198265 0.469900 0.942000 -9.508400 52.403099 -3.672700 0.526523 0.826719 0.198265 0.469900 0.916400 -9.827700 52.989700 -7.188500 0.526523 0.826719 0.198265 0.526400 0.916400 -8.747800 53.770199 -7.353300 0.526523 0.826719 0.198265 0.528600 0.942000 -8.747800 53.770199 -7.353300 0.154881 -0.035505 -0.987295 0.528600 0.942000 -6.775800 50.206501 -7.534500 0.154881 -0.035505 -0.987295 0.590800 0.942000 -7.252500 54.524502 -7.615000 0.154881 -0.035505 -0.987295 0.533200 0.977800 -8.927200 49.128502 -4.128200 -0.001669 -0.169906 0.985459 0.409800 0.916400 -14.977100 45.689201 -4.821000 -0.001669 -0.169906 0.985459 0.400900 0.803100 -15.636800 49.715099 -4.015700 -0.001669 -0.169906 0.985459 0.469900 0.803100 -9.508400 52.403099 -3.672700 -0.001669 -0.169906 0.985459 0.469900 0.916400 -1.435700 55.057400 -2.884500 0.215818 0.814400 0.538680 0.286000 0.931400 -3.773800 51.093601 -1.034300 0.215818 0.814400 0.538680 0.256800 0.864400 -6.624100 53.529800 -2.653700 0.215818 0.814400 0.538680 0.210400 0.900400 -7.252500 54.524502 -7.615000 0.215818 0.814400 0.538680 0.180600 0.964800 -2.321200 55.471001 -5.570800 0.276118 0.932071 0.234526 0.259700 0.968000 -1.435700 55.057400 -2.884500 0.276118 0.932071 0.234526 0.286000 0.931400 -7.252500 54.524502 -7.615000 0.276118 0.932071 0.234526 0.180600 0.964800 -2.209500 61.230499 -1.515000 0.942806 0.279456 0.181716 0.636800 0.228100 -2.484800 60.667999 -2.078300 0.942806 0.279456 0.181716 0.658100 0.193000 -2.505800 61.413601 -3.333900 0.942806 0.279456 0.181716 0.704900 0.212700 -2.484800 60.667999 -2.078300 0.998559 -0.051788 -0.014052 0.658100 0.193000 -2.361600 58.652599 -3.405400 0.998559 -0.051788 -0.014052 0.691600 0.111600 -2.505800 61.413601 -3.333900 0.998559 -0.051788 -0.014052 0.704900 0.212700 -2.209500 61.230499 -1.515000 0.107977 -0.909631 0.401138 0.636800 0.228100 -1.792100 61.563202 -0.648200 0.107977 -0.909631 0.401138 0.603400 0.250800 -1.340700 61.343498 -1.024900 0.107977 -0.909631 0.401138 0.599900 0.231700 -3.061600 3.537800 -3.461700 -0.234488 0.898953 0.369997 0.290200 0.071700 -1.553600 3.059500 -4.173500 -0.234488 0.898953 0.369997 0.275500 0.071900 -1.568700 1.981700 -0.627100 -0.234488 0.898953 0.369997 0.274000 0.039600 -3.735600 1.816900 0.228400 -0.234488 0.898953 0.369997 0.290200 0.030700 -0.626000 0.031700 -8.336200 -0.992053 0.072189 0.103052 0.238500 0.103000 -1.825200 -0.024100 0.601200 -0.992053 0.072189 0.103052 0.266200 0.023600 -1.568700 1.981700 -0.627100 -0.992053 0.072189 0.103052 0.274000 0.039600 -1.553600 3.059500 -4.173500 -0.992053 0.072189 0.103052 0.275500 0.071900 -1.825200 -0.024100 0.601200 0.002195 -0.999985 -0.005027 0.783900 0.050100 -0.626000 0.031700 -8.336200 0.002195 -0.999985 -0.005027 0.777900 0.139800 -1.712600 0.024900 -9.195700 0.002195 -0.999985 -0.005027 0.765100 0.147100 -3.769300 -0.009000 1.132900 0.002195 -0.999985 -0.005027 0.765800 0.040900 -1.712600 0.024900 -9.195700 -0.920325 0.042849 -0.388801 0.925400 0.031900 -0.626000 0.031700 -8.336200 -0.920325 0.042849 -0.388801 0.938600 0.031200 -1.239800 14.644800 -6.465300 -0.920325 0.042849 -0.388801 0.974400 0.175600 -1.456400 14.610600 -8.695100 -0.920325 0.042849 -0.388801 0.943400 0.175600 -1.568700 1.981700 -0.627100 -0.270273 0.452545 0.849798 0.274000 0.039600 -1.825200 -0.024100 0.601200 -0.270273 0.452545 0.849798 0.266200 0.023600 -3.769300 -0.009000 1.132900 -0.270273 0.452545 0.849798 0.289700 0.012400 -3.735600 1.816900 0.228400 -0.270273 0.452545 0.849798 0.290200 0.030700 -4.089400 2.633000 -5.031300 0.957442 -0.073711 -0.279054 0.310400 0.073900 -5.390300 1.568200 -1.670300 0.957442 -0.073711 -0.279054 0.308400 0.040400 -5.176800 -0.025000 -0.598300 0.957442 -0.073711 -0.279054 0.313500 0.023800 -3.252600 0.001600 -8.591000 0.957442 -0.073711 -0.279054 0.345300 0.097200 -3.769300 -0.009000 1.132900 0.738109 0.308147 0.600201 0.289700 0.012400 -5.176800 -0.025000 -0.598300 0.738109 0.308147 0.600201 0.313500 0.023800 -5.390300 1.568200 -1.670300 0.738109 0.308147 0.600201 0.308400 0.040400 -3.735600 1.816900 0.228400 0.738109 0.308147 0.600201 0.290200 0.030700 -5.390300 1.568200 -1.670300 0.560649 0.811720 0.163660 0.308400 0.040400 -4.089400 2.633000 -5.031300 0.560649 0.811720 0.163660 0.310400 0.073900 -3.061600 3.537800 -3.461700 0.560649 0.811720 0.163660 0.290200 0.071700 -3.735600 1.816900 0.228400 0.560649 0.811720 0.163660 0.290200 0.030700 -3.061600 3.537800 -3.461700 0.452521 -0.074303 0.888653 0.856300 0.067800 -4.089400 2.633000 -5.031300 0.452521 -0.074303 0.888653 0.873900 0.060000 -5.308800 13.910900 -3.738700 0.452521 -0.074303 0.888653 0.859000 0.175600 -1.766900 13.754900 -2.918700 0.452521 -0.074303 0.888653 0.824200 0.175600 -5.117200 15.490400 -9.679700 0.118623 -0.917754 -0.379021 0.917300 0.220800 -4.620900 14.945700 -8.516100 0.118623 -0.917754 -0.379021 0.914400 0.215300 -1.456400 14.610600 -8.695100 0.118623 -0.917754 -0.379021 0.949700 0.207500 -1.456400 14.610600 -8.695100 -0.751462 -0.656769 -0.062923 0.746600 0.183800 -1.239800 14.644800 -6.465300 -0.751462 -0.656769 -0.062923 0.774100 0.204900 -0.134100 16.169500 -9.174700 -0.751462 -0.656769 -0.062923 0.732600 0.207100 -5.426000 21.341299 -8.132600 0.959663 0.028025 -0.279753 0.914200 0.282100 -5.317800 22.936800 -8.016200 0.959663 0.028025 -0.279753 0.916400 0.301600 -6.824000 22.193899 -3.251500 0.959663 0.028025 -0.279753 0.860400 0.301600 -6.827700 20.858999 -3.044800 0.959663 0.028025 -0.279753 0.858900 0.286100 -0.845100 29.891001 -9.498900 0.127296 -0.127838 -0.983592 0.978500 0.369500 -5.595300 29.761600 -8.492500 0.127296 -0.127838 -0.983592 0.927500 0.375900 -5.317800 22.936800 -8.016200 0.127296 -0.127838 -0.983592 0.916400 0.301600 -0.835600 22.853901 -8.210700 0.127296 -0.127838 -0.983592 0.964300 0.301600 -1.957400 20.620800 -1.211500 0.345482 0.135420 0.928603 0.804700 0.286100 -6.827700 20.858999 -3.044800 0.345482 0.135420 0.928603 0.858900 0.286100 -6.824000 22.193899 -3.251500 0.345482 0.135420 0.928603 0.860400 0.301600 -2.189200 21.987900 -1.483700 0.345482 0.135420 0.928603 0.804500 0.301600 -0.605400 59.453602 0.006800 0.276378 -0.886938 0.370075 0.558900 0.156900 -0.226300 59.631802 0.717000 0.276378 -0.886938 0.370075 0.537800 0.167300 -0.000000 59.375900 0.272700 0.276378 -0.886938 0.370075 0.533800 0.153800 -21.936399 43.055199 -3.733600 0.245050 -0.199318 0.948801 0.412700 0.674700 -23.265499 44.290199 -3.614200 0.245050 -0.199318 0.948801 0.431800 0.655600 -23.323000 46.228001 -3.425200 0.245050 -0.199318 0.948801 0.469900 0.655600 -22.348700 46.932201 -2.822400 0.245050 -0.199318 0.948801 0.469900 0.674700 -22.105101 44.119598 -7.074000 0.680722 -0.210597 -0.701617 0.583100 0.674700 -23.337700 47.268200 -6.945000 0.680722 -0.210597 -0.701617 0.530800 0.674700 -23.881300 46.267799 -5.995500 0.680722 -0.210597 -0.701617 0.521800 0.655600 -23.273100 44.479099 -6.170500 0.680722 -0.210597 -0.701617 0.556600 0.655600 -22.348700 46.932201 -2.822400 0.710630 0.673907 0.202126 0.469900 0.674700 -23.323000 46.228001 -3.425200 0.710630 0.673907 0.202126 0.469900 0.655600 -23.881300 46.267799 -5.995500 0.710630 0.673907 0.202126 0.521800 0.655600 -23.337700 47.268200 -6.945000 0.710630 0.673907 0.202126 0.530800 0.674700 -21.936399 43.055199 -3.733600 0.575702 -0.803125 -0.153486 0.412700 0.674700 -22.105101 44.119598 -7.074000 0.575702 -0.803125 -0.153486 0.362600 0.674700 -23.273100 44.479099 -6.170500 0.575702 -0.803125 -0.153486 0.386800 0.655600 -23.265499 44.290199 -3.614200 0.575702 -0.803125 -0.153486 0.431800 0.655600 -23.323000 46.228001 -3.425200 -0.234519 0.052147 0.970712 0.469900 0.655600 -23.265499 44.290199 -3.614200 -0.234519 0.052147 0.970712 0.431800 0.655600 -24.446100 44.099098 -3.039500 -0.234519 0.052147 0.970712 0.444100 0.624200 -24.935400 45.742901 -3.288800 -0.234519 0.052147 0.970712 0.469900 0.624200 -23.273100 44.479099 -6.170500 0.051663 0.047611 -0.997529 0.556600 0.655600 -23.881300 46.267799 -5.995500 0.051663 0.047611 -0.997529 0.521800 0.655600 -25.982700 45.641201 -5.974700 0.051663 0.047611 -0.997529 0.517100 0.624200 -25.718901 44.407902 -5.989100 0.051663 0.047611 -0.997529 0.533000 0.624200 -23.881300 46.267799 -5.995500 0.283035 0.956157 0.075198 0.521800 0.655600 -23.323000 46.228001 -3.425200 0.283035 0.956157 0.075198 0.469900 0.655600 -24.935400 45.742901 -3.288800 0.283035 0.956157 0.075198 0.469900 0.624200 -25.982700 45.641201 -5.974700 0.283035 0.956157 0.075198 0.517100 0.624200 -23.265499 44.290199 -3.614200 -0.050680 -0.993534 -0.101596 0.431800 0.655600 -23.273100 44.479099 -6.170500 -0.050680 -0.993534 -0.101596 0.386800 0.655600 -25.718901 44.407902 -5.989100 -0.050680 -0.993534 -0.101596 0.398000 0.624200 -24.446100 44.099098 -3.039500 -0.050680 -0.993534 -0.101596 0.444100 0.624200 -3.798500 31.552500 -0.388900 0.303080 0.047081 0.951802 0.257800 0.582200 -4.685700 36.664101 -1.616400 0.303080 0.047081 0.951802 0.239300 0.661600 -0.000000 37.009800 0.550700 0.303080 0.047081 0.951802 0.310700 0.661600 -0.000000 31.552500 0.128500 0.303080 0.047081 0.951802 0.310700 0.582200 -27.058001 43.733101 -1.471100 0.612973 -0.035197 0.789319 0.783900 0.527900 -26.775499 43.007000 -1.492900 0.612973 -0.035197 0.789319 0.799700 0.523000 -27.637899 42.321201 -1.984400 0.612973 -0.035197 0.789319 0.780200 0.502700 -28.100901 44.177299 -2.470000 0.612973 -0.035197 0.789319 0.756100 0.537200 -27.102699 45.320202 -5.735100 0.288380 -0.175341 -0.941325 0.706300 0.587600 -26.246300 42.901402 -5.383600 0.288380 -0.175341 -0.941325 0.663100 0.553800 -25.718901 44.407902 -5.989100 0.288380 -0.175341 -0.941325 0.674700 0.592000 -25.982700 45.641201 -5.974700 0.288380 -0.175341 -0.941325 0.701400 0.609900 -24.935400 45.742901 -3.288800 0.215944 0.976143 0.022647 0.774000 0.616500 -26.753901 45.398300 -2.858600 0.215944 0.976143 0.022647 0.766000 0.574200 -27.102699 45.320202 -5.735100 0.215944 0.976143 0.022647 0.706300 0.587600 -25.982700 45.641201 -5.974700 0.215944 0.976143 0.022647 0.701400 0.609900 -24.446100 44.099098 -3.039500 -0.806467 -0.440747 -0.394147 0.815000 0.599300 -25.718901 44.407902 -5.989100 -0.806467 -0.440747 -0.394147 0.885900 0.607200 -26.246300 42.901402 -5.383600 -0.806467 -0.440747 -0.394147 0.880100 0.569900 -28.380600 42.330502 -3.056600 0.840529 -0.044209 0.539960 0.741600 0.498200 -28.697901 44.238201 -3.477500 0.840529 -0.044209 0.539960 0.737900 0.538900 -28.100901 44.177299 -2.470000 0.840529 -0.044209 0.539960 0.756100 0.537200 -27.637899 42.321201 -1.984400 0.840529 -0.044209 0.539960 0.780200 0.502700 -28.380600 42.330502 -3.056600 0.979149 -0.175223 -0.102788 0.741600 0.498200 -28.292801 42.543098 -4.446800 0.979149 -0.175223 -0.102788 0.704200 0.514300 -28.543800 44.178001 -4.651400 0.979149 -0.175223 -0.102788 0.718600 0.545700 -28.697901 44.238201 -3.477500 0.979149 -0.175223 -0.102788 0.737900 0.538900 -26.753901 45.398300 -2.858600 0.560189 0.737837 0.376544 0.766000 0.574200 -28.100901 44.177299 -2.470000 0.560189 0.737837 0.376544 0.756100 0.537200 -28.697901 44.238201 -3.477500 0.560189 0.737837 0.376544 0.737900 0.538900 -24.935400 45.742901 -3.288800 -0.484106 0.321222 0.813915 0.774000 0.616500 -24.446100 44.099098 -3.039500 -0.484106 0.321222 0.813915 0.815000 0.599300 -25.587200 43.557701 -2.038700 -0.484106 0.321222 0.813915 0.806300 0.556900 -26.117701 44.487900 -2.198700 -0.484106 0.321222 0.813915 0.788200 0.565100 -24.446100 44.099098 -3.039500 -0.765721 -0.642695 -0.024780 0.815000 0.599300 -26.246300 42.901402 -5.383600 -0.765721 -0.642695 -0.024780 0.880100 0.569900 -25.491899 42.827301 -2.370100 -0.765721 -0.642695 -0.024780 0.813300 0.554500 -25.587200 43.557701 -2.038700 -0.765721 -0.642695 -0.024780 0.806300 0.556900 -26.753901 45.398300 -2.858600 -0.068715 0.616533 0.784324 0.766000 0.574200 -24.935400 45.742901 -3.288800 -0.068715 0.616533 0.784324 0.774000 0.616500 -26.117701 44.487900 -2.198700 -0.068715 0.616533 0.784324 0.788200 0.565100 -0.000000 31.552500 0.128500 0.069913 -0.031462 0.997057 0.310700 0.582200 -0.000000 24.132099 -0.356700 0.069913 -0.031462 0.997057 0.310700 0.472800 -3.463700 23.872801 -0.356700 0.069913 -0.031462 0.997057 0.261200 0.472800 -3.798500 31.552500 -0.388900 0.069913 -0.031462 0.997057 0.257800 0.582200 -2.225300 60.301201 -1.334400 0.789816 -0.226827 0.569860 0.633200 0.187400 -0.793500 58.611801 -0.022400 0.789816 -0.226827 0.569860 0.561500 0.129800 -2.043500 58.694401 -1.722000 0.789816 -0.226827 0.569860 0.633000 0.119000 -0.793500 58.611801 -0.022400 0.800106 -0.097243 0.591924 0.561500 0.129800 -0.860300 57.339199 -0.345300 0.800106 -0.097243 0.591924 0.560600 0.087800 -2.071800 58.080299 -1.837600 0.800106 -0.097243 0.591924 0.632000 0.089900 -2.043500 58.694401 -1.722000 0.800106 -0.097243 0.591924 0.633000 0.119000 -2.071800 58.080299 -1.837600 0.594038 -0.791272 0.144939 0.632000 0.089900 -0.860300 57.339199 -0.345300 0.594038 -0.791272 0.144939 0.560600 0.087800 -0.509500 56.862801 -2.081200 0.594038 -0.791272 0.144939 0.570500 0.026600 -1.480400 57.287800 -3.167400 0.594038 -0.791272 0.144939 0.631900 0.022800 -0.179900 61.274700 0.058500 0.090663 0.188705 0.977840 0.542100 0.223900 -0.785400 61.539799 -0.048800 0.090663 0.188705 0.977840 0.562200 0.247600 -0.000000 61.912998 -0.048000 0.090663 0.188705 0.977840 0.533800 0.254400 -15.884600 46.520500 -7.855800 0.098387 0.080586 -0.991880 0.590800 0.782100 -14.885000 46.974701 -7.946000 0.098387 0.080586 -0.991880 0.590800 0.803100 -16.136200 50.023998 -7.546200 0.098387 0.080586 -0.991880 0.529500 0.803100 -17.208200 49.477699 -7.512200 0.098387 0.080586 -0.991880 0.531700 0.782100 -15.636800 49.715099 -4.015700 0.436830 0.889212 0.135946 0.469900 0.803100 -16.810101 49.139900 -3.928800 0.436830 0.889212 0.135946 0.469900 0.782100 -17.208200 49.477699 -7.512200 0.436830 0.889212 0.135946 0.531700 0.782100 -16.136200 50.023998 -7.546200 0.436830 0.889212 0.135946 0.529500 0.803100 -16.192200 44.960400 -4.877100 -0.435886 -0.826304 -0.356686 0.398600 0.782100 -14.977100 45.689201 -4.821000 -0.435886 -0.826304 -0.356686 0.400900 0.803100 -14.885000 46.974701 -7.946000 -0.435886 -0.826304 -0.356686 0.347800 0.803100 -15.884600 46.520500 -7.855800 -0.435886 -0.826304 -0.356686 0.347800 0.782100 -16.810101 49.139900 -3.928800 -0.116417 -0.190205 0.974818 0.469900 0.782100 -15.636800 49.715099 -4.015700 -0.116417 -0.190205 0.974818 0.469900 0.803100 -14.977100 45.689201 -4.821000 -0.116417 -0.190205 0.974818 0.400900 0.803100 -16.192200 44.960400 -4.877100 -0.116417 -0.190205 0.974818 0.398600 0.782100 -13.779500 47.417198 -7.715300 0.030432 0.115440 -0.992848 0.590800 0.828100 -8.756500 49.321098 -7.632900 0.030432 0.115440 -0.992848 0.590800 0.916400 -9.827700 52.989700 -7.188500 0.030432 0.115440 -0.992848 0.526400 0.916400 -14.989100 50.565300 -7.297200 0.030432 0.115440 -0.992848 0.526200 0.828100 -15.636800 49.715099 -4.015700 0.447311 0.883265 0.140554 0.469900 0.803100 -16.136200 50.023998 -7.546200 0.447311 0.883265 0.140554 0.529500 0.803100 -14.989100 50.565300 -7.297200 0.447311 0.883265 0.140554 0.526200 0.828100 -13.779500 47.417198 -7.715300 -0.409629 -0.847844 -0.336696 0.347800 0.823100 -14.885000 46.974701 -7.946000 -0.409629 -0.847844 -0.336696 0.347800 0.803100 -14.977100 45.689201 -4.821000 -0.409629 -0.847844 -0.336696 0.400900 0.803100 -1.239800 14.644800 -6.465300 -0.983473 -0.143727 0.110102 0.774100 0.204900 -1.766900 13.754900 -2.918700 -0.983473 -0.143727 0.110102 0.809900 0.215800 -1.716700 14.450400 -2.459200 -0.983473 -0.143727 0.110102 0.808600 0.236100 -26.117701 44.487900 -2.198700 -0.374471 0.258120 0.890587 0.788200 0.565100 -25.587200 43.557701 -2.038700 -0.374471 0.258120 0.890587 0.806300 0.556900 -26.775499 43.007000 -1.492900 -0.374471 0.258120 0.890587 0.799700 0.523000 -27.058001 43.733101 -1.471100 -0.374471 0.258120 0.890587 0.783900 0.527900 -25.587200 43.557701 -2.038700 -0.386633 -0.610879 0.690899 0.806300 0.556900 -25.491899 42.827301 -2.370100 -0.386633 -0.610879 0.690899 0.813300 0.554500 -27.637899 42.321201 -1.984400 -0.386633 -0.610879 0.690899 0.816200 0.507300 -26.775499 43.007000 -1.492900 -0.386633 -0.610879 0.690899 0.799700 0.523000 -26.117701 44.487900 -2.198700 0.202601 0.798645 0.566673 0.788200 0.565100 -27.058001 43.733101 -1.471100 0.202601 0.798645 0.566673 0.783900 0.527900 -28.100901 44.177299 -2.470000 0.202601 0.798645 0.566673 0.756100 0.537200 -8.184300 53.108700 -3.320400 0.347207 -0.172872 0.921717 0.469900 0.942000 -6.624100 53.529800 -2.653700 0.347207 -0.172872 0.921717 0.469900 0.977800 -7.813100 49.342701 -3.886900 0.347207 -0.172872 0.921717 0.407700 0.942000 -8.747800 53.770199 -7.353300 0.055764 0.062731 -0.996471 0.528600 0.942000 -9.827700 52.989700 -7.188500 0.055764 0.062731 -0.996471 0.526400 0.916400 -8.756500 49.321098 -7.632900 0.055764 0.062731 -0.996471 0.590800 0.916400 -6.775800 50.206501 -7.534500 0.055764 0.062731 -0.996471 0.590800 0.942000 -28.543800 44.178001 -4.651400 0.562493 0.826801 -0.001192 0.718600 0.545700 -27.102699 45.320202 -5.735100 0.562493 0.826801 -0.001192 0.706300 0.587600 -26.753901 45.398300 -2.858600 0.562493 0.826801 -0.001192 0.766000 0.574200 -28.697901 44.238201 -3.477500 0.562493 0.826801 -0.001192 0.737900 0.538900 -26.246300 42.901402 -5.383600 -0.106461 -0.983873 -0.143736 0.880100 0.569900 -28.292801 42.543098 -4.446800 -0.106461 -0.983873 -0.143736 0.879400 0.523100 -28.380600 42.330502 -3.056600 -0.106461 -0.983873 -0.143736 0.853500 0.507000 -28.100901 44.177299 -2.470000 0.192584 0.484112 0.853550 0.756100 0.537200 -26.753901 45.398300 -2.858600 0.192584 0.484112 0.853550 0.766000 0.574200 -26.117701 44.487900 -2.198700 0.192584 0.484112 0.853550 0.788200 0.565100 -1.712600 0.024900 -9.195700 -0.013475 -0.999909 -0.000374 0.765100 0.147100 -3.252600 0.001600 -8.591000 -0.013475 -0.999909 -0.000374 0.751000 0.138000 -5.176800 -0.025000 -0.598300 -0.013475 -0.999909 -0.000374 0.748300 0.055100 -3.769300 -0.009000 1.132900 -0.013475 -0.999909 -0.000374 0.765800 0.040900 -0.000000 61.912998 -0.048000 0.158526 0.331625 0.929997 0.533800 0.254400 -0.785400 61.539799 -0.048800 0.158526 0.331625 0.929997 0.562200 0.247600 -0.000000 62.775902 -0.355700 0.158526 0.331625 0.929997 0.533900 0.286800 -0.340300 31.400700 -9.928000 -0.943868 -0.327610 -0.042246 0.694900 0.384200 -0.845100 29.891001 -9.498900 -0.943868 -0.327610 -0.042246 0.702700 0.368200 -0.425600 30.069099 -1.507500 -0.943868 -0.327610 -0.042246 0.785600 0.393300 -0.509500 56.862801 -2.081200 0.000000 -0.045410 0.998968 0.308000 0.953500 -0.509500 56.862801 -2.081200 0.098448 -0.971038 0.217700 0.570500 0.026600 -0.860300 57.339199 -0.345300 0.098448 -0.971038 0.217700 0.560600 0.087800 -0.000000 57.320400 0.190300 0.098448 -0.971038 0.217700 0.533800 0.095300 -0.000000 56.862801 -2.081200 0.098448 -0.971038 0.217700 0.533800 0.019000 -5.598500 31.822901 -1.404300 0.881264 0.021588 0.472131 0.847900 0.413200 -6.824000 22.193899 -3.251500 0.881264 0.021588 0.472131 0.860400 0.301600 -7.453900 29.910801 -4.780100 0.881264 0.021588 0.472131 0.884800 0.385400 -6.824000 22.193899 -3.251500 0.921284 -0.108958 -0.373315 0.860400 0.301600 -5.317800 22.936800 -8.016200 0.921284 -0.108958 -0.373315 0.916400 0.301600 -5.595300 29.761600 -8.492500 0.921284 -0.108958 -0.373315 0.927500 0.375900 -7.453900 29.910801 -4.780100 0.921284 -0.108958 -0.373315 0.884800 0.385400 -3.798500 31.552500 -0.388900 0.401815 -0.146587 0.903912 0.824000 0.411400 -2.189200 21.987900 -1.483700 0.401815 -0.146587 0.903912 0.804500 0.301600 -6.824000 22.193899 -3.251500 0.401815 -0.146587 0.903912 0.860400 0.301600 -5.598500 31.822901 -1.404300 0.401815 -0.146587 0.903912 0.847900 0.413200 -0.340300 31.400700 -9.928000 0.230509 -0.107925 -0.967067 0.986800 0.385200 -4.970000 33.082802 -8.871900 0.230509 -0.107925 -0.967067 0.938900 0.409500 -5.595300 29.761600 -8.492500 0.230509 -0.107925 -0.967067 0.927500 0.375900 -0.845100 29.891001 -9.498900 0.230509 -0.107925 -0.967067 0.978500 0.369500 -0.835600 22.853901 -8.210700 -0.992236 -0.110106 0.057826 0.728900 0.301600 -2.189200 21.987900 -1.483700 -0.992236 -0.110106 0.057826 0.804500 0.301600 -0.425600 30.069099 -1.507500 -0.992236 -0.110106 0.057826 0.785600 0.393300 -0.845100 29.891001 -9.498900 -0.992236 -0.110106 0.057826 0.702700 0.368200 -2.162800 35.743500 -9.599900 0.324673 0.084802 -0.942017 0.972400 0.433600 -5.283200 35.952900 -7.814600 0.324673 0.084802 -0.942017 0.933900 0.441300 -4.970000 33.082802 -8.871900 0.324673 0.084802 -0.942017 0.938900 0.409500 -0.340300 31.400700 -9.928000 0.324673 0.084802 -0.942017 0.986800 0.385200 -5.283200 35.952900 -7.814600 0.889642 0.311183 -0.334218 0.142200 0.631800 -5.919200 37.619099 -4.570300 0.889642 0.311183 -0.334218 0.183400 0.661600 -6.542300 35.480598 -4.902800 0.889642 0.311183 -0.334218 0.182500 0.631800 -5.919200 37.619099 -4.570300 0.882631 0.186784 0.431364 0.183400 0.661600 -4.685700 36.664101 -1.616400 0.882631 0.186784 0.431364 0.239300 0.661600 -5.598500 31.822901 -1.404300 0.882631 0.186784 0.431364 0.231700 0.582200 -6.542300 35.480598 -4.902800 0.882631 0.186784 0.431364 0.182500 0.631800 -0.474100 61.294899 -0.607800 0.490764 0.255871 0.832875 0.567800 0.227200 -0.596000 60.268700 -0.255900 0.490764 0.255871 0.832875 0.565100 0.185300 -2.225300 60.301201 -1.334400 0.490764 0.255871 0.832875 0.633200 0.187400 -1.340700 61.343498 -1.024900 0.490764 0.255871 0.832875 0.599900 0.231700 -1.340700 61.343498 -1.024900 0.199083 -0.932669 0.300824 0.599900 0.231700 -1.792100 61.563202 -0.648200 0.199083 -0.932669 0.300824 0.603400 0.250800 -0.785400 61.539799 -0.048800 0.199083 -0.932669 0.300824 0.562200 0.247600 -0.474100 61.294899 -0.607800 0.199083 -0.932669 0.300824 0.567800 0.227200 -0.000000 45.235802 -8.516300 0.205813 0.023108 -0.978318 0.061600 0.762900 -5.495700 46.043098 -6.732400 0.205813 0.023108 -0.978318 0.140100 0.788400 -2.827600 38.171799 -8.088300 0.205813 0.023108 -0.978318 0.114700 0.661600 -0.000000 38.221600 -8.073300 0.205813 0.023108 -0.978318 0.073400 0.661600 -0.425600 30.069099 -1.507500 -0.290133 -0.060504 0.955072 0.785600 0.393300 -2.189200 21.987900 -1.483700 -0.290133 -0.060504 0.955072 0.804500 0.301600 -3.798500 31.552500 -0.388900 -0.290133 -0.060504 0.955072 0.824000 0.411400 -0.000000 31.547001 -9.939100 -0.348901 -0.925923 -0.144686 0.694200 0.388200 -0.340300 31.400700 -9.928000 -0.348901 -0.925923 -0.144686 0.694900 0.384200 -0.425600 30.069099 -1.507500 -0.348901 -0.925923 -0.144686 0.785600 0.393300 -0.000000 30.215401 -1.522000 -0.348901 -0.925923 -0.144686 0.785000 0.398100 -21.061199 44.183601 -7.611200 0.028361 0.039319 -0.998824 0.590800 0.698800 -15.884600 46.520500 -7.855800 0.028361 0.039319 -0.998824 0.590800 0.782100 -17.208200 49.477699 -7.512200 0.028361 0.039319 -0.998824 0.531700 0.782100 -22.585199 48.327702 -7.594400 0.028361 0.039319 -0.998824 0.533600 0.698800 -22.348700 46.932201 -2.822400 0.723103 0.652497 0.226650 0.469900 0.674700 -23.337700 47.268200 -6.945000 0.723103 0.652497 0.226650 0.530800 0.674700 -22.585199 48.327702 -7.594400 0.723103 0.652497 0.226650 0.533600 0.698800 -21.061199 44.183601 -7.611200 0.095048 -0.949863 -0.297868 0.347800 0.693400 -22.105101 44.119598 -7.074000 0.095048 -0.949863 -0.297868 0.362600 0.674700 -21.936399 43.055199 -3.733600 0.095048 -0.949863 -0.297868 0.412700 0.674700 -0.340300 31.400700 -9.928000 0.010374 0.075249 -0.997111 0.986800 0.385200 -0.000000 31.547001 -9.939100 0.010374 0.075249 -0.997111 0.990600 0.386300 -0.000000 35.795200 -9.599900 0.010374 0.075249 -0.997111 0.995500 0.431600 -2.162800 35.743500 -9.599900 0.010374 0.075249 -0.997111 0.972400 0.433600 -5.919200 37.619099 -4.570300 0.561685 0.544798 -0.622660 0.183400 0.661600 -5.283200 35.952900 -7.814600 0.561685 0.544798 -0.622660 0.142200 0.631800 -2.162800 35.743500 -9.599900 0.561685 0.544798 -0.622660 0.096700 0.631800 -2.827600 38.171799 -8.088300 0.561685 0.544798 -0.622660 0.114700 0.661600 -28.543800 44.178001 -4.651400 0.410462 -0.233070 -0.881589 0.718600 0.545700 -28.292801 42.543098 -4.446800 0.410462 -0.233070 -0.881589 0.704200 0.514300 -26.246300 42.901402 -5.383600 0.410462 -0.233070 -0.881589 0.663100 0.553800 -27.102699 45.320202 -5.735100 0.410462 -0.233070 -0.881589 0.706300 0.587600 -25.491899 42.827301 -2.370100 -0.201709 -0.968181 -0.148119 0.813300 0.554500 -28.380600 42.330502 -3.056600 -0.201709 -0.968181 -0.148119 0.853500 0.507000 -27.637899 42.321201 -1.984400 -0.201709 -0.968181 -0.148119 0.816200 0.507300 -26.246300 42.901402 -5.383600 -0.185319 -0.980147 -0.070494 0.880100 0.569900 -28.380600 42.330502 -3.056600 -0.185319 -0.980147 -0.070494 0.853500 0.507000 -25.491899 42.827301 -2.370100 -0.185319 -0.980147 -0.070494 0.813300 0.554500 -2.162800 35.743500 -9.599900 0.008224 0.529675 -0.848161 0.096700 0.631800 -0.000000 35.795200 -9.599900 0.008224 0.529675 -0.848161 0.068300 0.631800 -0.000000 38.221600 -8.073300 0.008224 0.529675 -0.848161 0.073400 0.661600 -2.827600 38.171799 -8.088300 0.008224 0.529675 -0.848161 0.114700 0.661600 -0.706900 62.538601 -0.289700 0.498102 0.211804 0.840853 0.409100 0.538600 -1.838200 62.255798 -0.802600 0.498102 0.211804 0.840853 0.430000 0.507000 -1.901400 63.532299 -1.247600 0.498102 0.211804 0.840853 0.451500 0.531400 -0.672300 63.485901 -0.421800 0.498102 0.211804 0.840853 0.426300 0.552700 -1.901400 63.532299 -1.247600 0.915374 0.111541 0.386845 0.451500 0.531400 -1.838200 62.255798 -0.802600 0.915374 0.111541 0.386845 0.430000 0.507000 -3.194200 60.597198 -3.460400 0.915374 0.111541 0.386845 0.492000 0.451400 -2.758700 63.532299 -3.348800 0.915374 0.111541 0.386845 0.499700 0.518700 -2.758700 63.532299 -3.348800 0.984906 0.142377 0.098436 0.499700 0.518700 -3.194200 60.597198 -3.460400 0.984906 0.142377 0.098436 0.492000 0.451400 -3.446000 60.597198 -5.980300 0.984906 0.142377 0.098436 0.552100 0.445900 -3.010600 63.532299 -5.868700 0.984906 0.142377 0.098436 0.554200 0.511800 -3.194200 60.597198 -3.460400 0.917633 0.222238 0.329485 0.492000 0.451400 -1.838200 62.255798 -0.802600 0.917633 0.222238 0.329485 0.430000 0.507000 -2.336800 60.597198 -1.072500 0.917633 0.222238 0.329485 0.434100 0.460700 -2.130500 53.628601 -1.359200 0.842435 0.033555 0.537753 0.416700 0.297200 -4.088800 54.879799 -3.460400 0.842435 0.033555 0.537753 0.486800 0.316000 -3.194200 60.597198 -3.460400 0.842435 0.033555 0.537753 0.492000 0.451400 -2.336800 60.597198 -1.072500 0.842435 0.033555 0.537753 0.434100 0.460700 -4.088800 54.879799 -3.460400 0.982155 0.156435 0.104398 0.486800 0.316000 -4.340700 55.234299 -6.210400 0.982155 0.156435 0.104398 0.542400 0.331500 -3.446000 60.597198 -5.980300 0.982155 0.156435 0.104398 0.552100 0.445900 -3.194200 60.597198 -3.460400 0.982155 0.156435 0.104398 0.492000 0.451400 -3.010600 63.532299 -5.868700 0.839145 0.204241 -0.504105 0.554200 0.511800 -3.446000 60.597198 -5.980300 0.839145 0.204241 -0.504105 0.552100 0.445900 -2.517200 60.597198 -7.879200 0.839145 0.204241 -0.504105 0.601000 0.450200 -1.932100 63.532299 -7.311200 0.839145 0.204241 -0.504105 0.591100 0.519300 -3.446000 60.597198 -5.980300 0.847590 0.127945 -0.514996 0.552100 0.445900 -4.340700 55.234299 -6.210400 0.847590 0.127945 -0.514996 0.542400 0.331500 -2.990300 54.496300 -8.246000 0.847590 0.127945 -0.514996 0.608400 0.297700 -2.517200 60.597198 -7.879200 0.847590 0.127945 -0.514996 0.601000 0.450200 -1.932100 63.532299 -7.311200 0.365116 0.222173 -0.904063 0.591100 0.519300 -2.517200 60.597198 -7.879200 0.365116 0.222173 -0.904063 0.601000 0.450200 -0.000000 60.597198 -8.812800 0.365116 0.222173 -0.904063 0.661800 0.464200 -0.000000 63.532299 -8.174500 0.365116 0.222173 -0.904063 0.634800 0.537700 -2.990300 54.496300 -8.246000 0.255106 0.035267 -0.966270 0.608400 0.297700 -0.000000 54.050800 -8.782700 0.255106 0.035267 -0.966270 0.682300 0.308600 -0.000000 60.597198 -8.812800 0.255106 0.035267 -0.966270 0.661800 0.464200 -2.517200 60.597198 -7.879200 0.255106 0.035267 -0.966270 0.601000 0.450200 -0.672300 63.485901 -0.421800 0.422112 0.618267 0.662999 0.426300 0.552700 -1.901400 63.532299 -1.247600 0.422112 0.618267 0.662999 0.451500 0.531400 -1.171400 65.057899 -2.205500 0.422112 0.618267 0.662999 0.482000 0.564300 -1.901400 63.532299 -1.247600 0.756752 0.608663 0.238446 0.451500 0.531400 -2.758700 63.532299 -3.348800 0.756752 0.608663 0.238446 0.499700 0.518700 -1.795600 65.057899 -4.806100 0.756752 0.608663 0.238446 0.538600 0.556700 -1.171400 65.057899 -2.205500 0.756752 0.608663 0.238446 0.482000 0.564300 -2.758700 63.532299 -3.348800 0.806293 0.585999 0.080601 0.499700 0.518700 -3.010600 63.532299 -5.868700 0.806293 0.585999 0.080601 0.554200 0.511800 -1.795600 65.057899 -4.806100 0.806293 0.585999 0.080601 0.538600 0.556700 -3.010600 63.532299 -5.868700 0.468822 0.765524 -0.440657 0.554200 0.511800 -1.932100 63.532299 -7.311200 0.468822 0.765524 -0.440657 0.591100 0.519300 -0.000000 65.057899 -6.421400 0.468822 0.765524 -0.440657 0.588900 0.582100 -1.795600 65.057899 -4.806100 0.468822 0.765524 -0.440657 0.538600 0.556700 -1.932100 63.532299 -7.311200 0.281463 0.723860 -0.629925 0.591100 0.519300 -0.000000 63.532299 -8.174500 0.281463 0.723860 -0.629925 0.634800 0.537700 -0.000000 65.057899 -6.421400 0.281463 0.723860 -0.629925 0.588900 0.582100 -1.171400 65.057899 -2.205500 0.296421 0.952404 0.071148 0.482000 0.564300 -1.795600 65.057899 -4.806100 0.296421 0.952404 0.071148 0.538600 0.556700 -0.000000 65.560898 -4.058400 0.296421 0.952404 0.071148 0.523700 0.603300 -1.795600 65.057899 -4.806100 0.184093 0.961370 -0.204641 0.538600 0.556700 -0.000000 65.057899 -6.421400 0.184093 0.961370 -0.204641 0.588900 0.582100 -0.000000 65.560898 -4.058400 0.184093 0.961370 -0.204641 0.523700 0.603300 -0.672300 63.485901 -0.421800 0.000000 0.750225 0.661183 0.426300 0.552700 -1.171400 65.057899 -2.205500 0.000000 0.750225 0.661183 0.482000 0.564300 --1.171400 65.057899 -2.205500 0.000000 0.750225 0.661183 0.466700 0.607600 --0.672300 63.485901 -0.421800 0.000000 0.750225 0.661183 0.416100 0.581700 -0.706900 62.538601 -0.289700 0.204667 0.142518 0.968401 0.409100 0.538600 -0.672300 63.485901 -0.421800 0.204667 0.142518 0.968401 0.426300 0.552700 -0.000000 62.538601 -0.140300 0.204667 0.142518 0.968401 0.398200 0.559100 -0.672300 63.485901 -0.421800 -0.000000 0.284850 0.958572 0.426300 0.552700 --0.672300 63.485901 -0.421800 -0.000000 0.284850 0.958572 0.416100 0.581700 -0.000000 62.538601 -0.140300 -0.000000 0.284850 0.958572 0.398200 0.559100 -2.130500 53.628601 -1.359200 -0.899990 0.017690 0.435552 0.416700 0.297200 -2.336800 60.597198 -1.072500 -0.899990 0.017690 0.435552 0.434100 0.460700 -1.393700 60.597198 -3.164700 -0.899990 0.017690 0.435552 0.380300 0.463400 -1.187300 53.628601 -3.164700 -0.899990 0.017690 0.435552 0.369000 0.300200 --0.706900 62.538601 -0.289700 -0.498102 0.211804 0.840853 0.409100 0.538600 --0.672300 63.485901 -0.421800 -0.498102 0.211804 0.840853 0.426300 0.552800 --1.901400 63.532299 -1.247600 -0.498102 0.211804 0.840853 0.451500 0.531500 --1.838200 62.255798 -0.802600 -0.498102 0.211804 0.840853 0.430000 0.507100 --1.901400 63.532299 -1.247600 -0.915374 0.111541 0.386845 0.451500 0.531500 --2.758700 63.532299 -3.348800 -0.915374 0.111541 0.386845 0.499700 0.518800 --3.194200 60.597198 -3.460400 -0.915374 0.111541 0.386845 0.492000 0.451500 --1.838200 62.255798 -0.802600 -0.915374 0.111541 0.386845 0.430000 0.507100 --2.758700 63.532299 -3.348800 -0.984906 0.142377 0.098436 0.499700 0.518800 --3.010600 63.532299 -5.868700 -0.984906 0.142377 0.098436 0.554200 0.511900 --3.446000 60.597198 -5.980300 -0.984906 0.142377 0.098436 0.552100 0.445900 --3.194200 60.597198 -3.460400 -0.984906 0.142377 0.098436 0.492000 0.451500 --3.194200 60.597198 -3.460400 -0.917633 0.222238 0.329485 0.492000 0.451500 --2.336800 60.597198 -1.072500 -0.917633 0.222238 0.329485 0.434000 0.460800 --1.838200 62.255798 -0.802600 -0.917633 0.222238 0.329485 0.430000 0.507100 --2.130500 53.628601 -1.359200 -0.842435 0.033555 0.537753 0.416600 0.297300 --2.336800 60.597198 -1.072500 -0.842435 0.033555 0.537753 0.434000 0.460800 --3.194200 60.597198 -3.460400 -0.842435 0.033555 0.537753 0.492000 0.451500 --4.088800 54.879799 -3.460400 -0.842435 0.033555 0.537753 0.486700 0.316100 --4.088800 54.879799 -3.460400 -0.982155 0.156435 0.104398 0.486700 0.316100 --3.194200 60.597198 -3.460400 -0.982155 0.156435 0.104398 0.492000 0.451500 --3.446000 60.597198 -5.980300 -0.982155 0.156435 0.104398 0.552100 0.445900 --4.340700 55.234299 -6.210400 -0.982155 0.156435 0.104398 0.542400 0.331500 --3.010600 63.532299 -5.868700 -0.839145 0.204241 -0.504105 0.554200 0.511900 --1.932100 63.532299 -7.311200 -0.839145 0.204241 -0.504105 0.591100 0.519300 --2.517200 60.597198 -7.879200 -0.839145 0.204241 -0.504105 0.601000 0.450300 --3.446000 60.597198 -5.980300 -0.839145 0.204241 -0.504105 0.552100 0.445900 --3.446000 60.597198 -5.980300 -0.847590 0.127945 -0.514996 0.552100 0.445900 --2.517200 60.597198 -7.879200 -0.847590 0.127945 -0.514996 0.601000 0.450300 --2.990300 54.496300 -8.246000 -0.847590 0.127945 -0.514996 0.608300 0.297700 --4.340700 55.234299 -6.210400 -0.847590 0.127945 -0.514996 0.542400 0.331500 --1.932100 63.532299 -7.311200 -0.365116 0.222173 -0.904063 0.591100 0.519300 -0.000000 63.532299 -8.174500 -0.365116 0.222173 -0.904063 0.634800 0.537700 -0.000000 60.597198 -8.812800 -0.365116 0.222173 -0.904063 0.661800 0.464200 --2.517200 60.597198 -7.879200 -0.365116 0.222173 -0.904063 0.601000 0.450300 --2.990300 54.496300 -8.246000 -0.255106 0.035267 -0.966270 0.608300 0.297700 --2.517200 60.597198 -7.879200 -0.255106 0.035267 -0.966270 0.601000 0.450300 -0.000000 60.597198 -8.812800 -0.255106 0.035267 -0.966270 0.661800 0.464200 -0.000000 54.050800 -8.782700 -0.255106 0.035267 -0.966270 0.682300 0.308600 --0.672300 63.485901 -0.421800 -0.422112 0.618267 0.662999 0.426300 0.552800 --1.171400 65.057899 -2.205500 -0.422112 0.618267 0.662999 0.482000 0.564400 --1.901400 63.532299 -1.247600 -0.422112 0.618267 0.662999 0.451500 0.531500 --1.901400 63.532299 -1.247600 -0.756752 0.608663 0.238446 0.451500 0.531500 --1.171400 65.057899 -2.205500 -0.756752 0.608663 0.238446 0.482000 0.564400 --1.795600 65.057899 -4.806100 -0.756752 0.608663 0.238446 0.538600 0.556700 --2.758700 63.532299 -3.348800 -0.756752 0.608663 0.238446 0.499700 0.518800 --2.758700 63.532299 -3.348800 -0.806293 0.585999 0.080601 0.499700 0.518800 --1.795600 65.057899 -4.806100 -0.806293 0.585999 0.080601 0.538600 0.556700 --3.010600 63.532299 -5.868700 -0.806293 0.585999 0.080601 0.554200 0.511900 --3.010600 63.532299 -5.868700 -0.468822 0.765524 -0.440657 0.554200 0.511900 --1.795600 65.057899 -4.806100 -0.468822 0.765524 -0.440657 0.538600 0.556700 -0.000000 65.057899 -6.421400 -0.468822 0.765524 -0.440657 0.589000 0.582100 --1.932100 63.532299 -7.311200 -0.468822 0.765524 -0.440657 0.591100 0.519300 --1.932100 63.532299 -7.311200 -0.281463 0.723860 -0.629925 0.591100 0.519300 -0.000000 65.057899 -6.421400 -0.281463 0.723860 -0.629925 0.589000 0.582100 -0.000000 63.532299 -8.174500 -0.281463 0.723860 -0.629925 0.634800 0.537700 --1.171400 65.057899 -2.205500 -0.296421 0.952404 0.071148 0.482000 0.564400 -0.000000 65.560898 -4.058400 -0.296421 0.952404 0.071148 0.523700 0.603400 --1.795600 65.057899 -4.806100 -0.296421 0.952404 0.071148 0.538600 0.556700 --1.795600 65.057899 -4.806100 -0.184093 0.961370 -0.204641 0.538600 0.556700 -0.000000 65.560898 -4.058400 -0.184093 0.961370 -0.204641 0.523700 0.603400 -0.000000 65.057899 -6.421400 -0.184093 0.961370 -0.204641 0.589000 0.582100 --1.171400 65.057899 -2.205500 0.000000 0.965072 0.261984 0.466700 0.607600 -1.171400 65.057899 -2.205500 0.000000 0.965072 0.261984 0.482000 0.564300 -0.000000 65.560898 -4.058400 0.000000 0.965072 0.261984 0.523700 0.603300 --0.706900 62.538601 -0.289700 -0.204667 0.142518 0.968401 0.409100 0.538600 -0.000000 62.538601 -0.140300 -0.204667 0.142518 0.968401 0.398200 0.559200 --0.672300 63.485901 -0.421800 -0.204667 0.142518 0.968401 0.426300 0.552800 --2.130500 53.628601 -1.359200 0.899990 0.017690 0.435552 0.416600 0.297300 --1.187300 53.628601 -3.164700 0.899990 0.017690 0.435552 0.369000 0.300300 --1.393700 60.597198 -3.164700 0.899990 0.017690 0.435552 0.380200 0.463500 --2.336800 60.597198 -1.072500 0.899990 0.017690 0.435552 0.434000 0.460800 -8.704300 24.905701 -6.036500 0.233777 0.158187 -0.959336 0.967100 0.466200 -7.984800 25.127701 -6.177400 0.233777 0.158187 -0.959336 0.966400 0.464600 -7.649900 27.558001 -5.856100 0.233777 0.158187 -0.959336 0.993500 0.506600 -8.503900 27.435900 -5.670300 0.233777 0.158187 -0.959336 0.976600 0.507100 -6.463600 36.223400 -3.704900 0.910800 0.108730 0.398273 0.962000 0.710700 -5.778000 35.994701 -1.773100 0.910800 0.108730 0.398273 0.922200 0.717000 -7.451900 27.210300 -3.504400 0.910800 0.108730 0.398273 0.930000 0.516400 -8.503900 27.435900 -5.670300 0.910800 0.108730 0.398273 0.976600 0.507100 -5.115000 35.782600 -2.051700 -0.272059 -0.232411 0.933793 0.916000 0.725700 -6.597900 27.332300 -3.690200 -0.272059 -0.232411 0.933793 0.913000 0.515500 -7.451900 27.210300 -3.504400 -0.272059 -0.232411 0.933793 0.930000 0.516400 -5.778000 35.994701 -1.773100 -0.272059 -0.232411 0.933793 0.922200 0.717000 -5.743400 36.019600 -3.995900 0.266707 0.266447 -0.926215 0.971100 0.718900 -6.463600 36.223400 -3.704900 0.266707 0.266447 -0.926215 0.962000 0.710700 -8.503900 27.435900 -5.670300 0.266707 0.266447 -0.926215 0.976600 0.507100 -7.649900 27.558001 -5.856100 0.266707 0.266447 -0.926215 0.993500 0.506600 -7.451900 27.210300 -3.504400 -0.285900 -0.782712 0.552832 0.930000 0.516400 -6.597900 27.332300 -3.690200 -0.285900 -0.782712 0.552832 0.913000 0.515500 -7.984800 25.127701 -6.177400 -0.285900 -0.782712 0.552832 0.966400 0.464600 -8.704300 24.905701 -6.036500 -0.285900 -0.782712 0.552832 0.967100 0.466200 -7.451900 27.210300 -3.504400 0.899158 0.007889 0.437552 0.930000 0.516400 -8.704300 24.905701 -6.036500 0.899158 0.007889 0.437552 0.967100 0.466200 -8.503900 27.435900 -5.670300 0.899158 0.007889 0.437552 0.976600 0.507100 -6.463600 36.223400 -3.704900 -0.293676 0.955783 0.015277 0.962000 0.710700 -5.743400 36.019600 -3.995900 -0.293676 0.955783 0.015277 0.971100 0.718900 -5.115000 35.782600 -2.051700 -0.293676 0.955783 0.015277 0.916000 0.725700 -5.778000 35.994701 -1.773100 -0.293676 0.955783 0.015277 0.922200 0.717000 -4.513000 55.007702 -5.909800 -0.189279 -0.709198 -0.679126 0.935300 0.759300 -4.291100 55.098900 -5.871800 -0.189279 -0.709198 -0.679126 0.932300 0.755300 -4.207800 55.799599 -6.651700 -0.189279 -0.709198 -0.679126 0.967500 0.768900 -4.871900 55.799599 -6.765400 -0.189279 -0.709198 -0.679126 0.957200 0.775300 -2.904000 62.455601 -5.700500 0.959060 0.270852 0.082723 0.954300 0.968000 -2.764700 62.455601 -4.128400 0.959060 0.270852 0.082723 0.909900 0.975800 -4.736600 55.799599 -5.153900 0.959060 0.270852 0.082723 0.919700 0.781300 -4.871900 55.799599 -6.765400 0.959060 0.270852 0.082723 0.957200 0.775300 -2.764700 62.455601 -4.128400 0.167860 -0.101350 0.980587 0.909900 0.975800 -4.072400 55.799599 -5.040200 0.167860 -0.101350 0.980587 0.904100 0.777700 -4.736600 55.799599 -5.153900 0.167860 -0.101350 0.980587 0.919700 0.781300 -2.904000 62.455601 -5.700500 -0.167781 0.107182 -0.979980 0.954300 0.968000 -4.871900 55.799599 -6.765400 -0.167781 0.107182 -0.979980 0.957200 0.775300 -4.207800 55.799599 -6.651700 -0.167781 0.107182 -0.979980 0.967500 0.768900 -4.736600 55.799599 -5.153900 0.042232 -0.727963 0.684314 0.919700 0.781300 -4.072400 55.799599 -5.040200 0.042232 -0.727963 0.684314 0.904100 0.777700 -4.291100 55.098900 -5.871800 0.042232 -0.727963 0.684314 0.932300 0.755300 -4.513000 55.007702 -5.909800 0.042232 -0.727963 0.684314 0.935300 0.759300 -4.736600 55.799599 -5.153900 0.937220 -0.339745 0.078688 0.919700 0.781300 -4.513000 55.007702 -5.909800 0.937220 -0.339745 0.078688 0.935300 0.759300 -4.871900 55.799599 -6.765400 0.937220 -0.339745 0.078688 0.957200 0.775300 -4 0 1 2 3 -4 4 5 6 7 -3 8 9 10 -4 11 12 13 14 -4 15 16 17 18 -4 19 20 21 22 -4 23 24 25 26 -4 27 28 29 30 -4 31 32 33 34 -4 35 36 37 38 -4 39 40 41 42 -4 43 44 45 46 -3 47 48 49 -4 50 51 52 53 -4 54 55 56 57 -4 58 59 60 61 -4 62 63 64 65 -4 66 67 68 69 -4 70 71 72 73 -4 74 75 76 77 -3 78 79 80 -4 81 82 83 84 -3 85 86 87 -4 88 89 90 91 -3 92 93 94 -4 95 96 97 98 -4 99 100 101 102 -4 103 104 105 106 -4 107 108 109 110 -4 111 112 113 114 -4 115 116 117 118 -4 119 120 121 122 -4 123 124 125 126 -4 127 128 129 130 -4 131 132 133 134 -4 135 136 137 138 -3 139 140 141 -3 142 143 144 -4 145 146 147 148 -4 149 150 151 152 -4 153 154 155 156 -3 157 158 159 -3 160 161 162 -4 163 164 165 166 -4 167 168 169 170 -4 171 172 173 174 -3 175 176 177 -4 178 179 180 181 -4 182 183 184 185 -3 186 187 188 -3 189 190 191 -4 192 193 194 195 -4 196 197 198 199 -4 200 201 202 203 -4 204 205 206 207 -3 208 209 210 -3 211 212 213 -3 214 215 216 -4 217 218 219 220 -4 221 222 223 224 -3 225 226 227 -4 228 229 230 231 -4 232 233 234 235 -3 236 237 238 -3 239 240 241 -3 242 243 244 -3 245 246 247 -4 248 249 250 251 -4 252 253 254 255 -4 256 257 258 259 -4 260 261 262 263 -4 264 265 266 267 -4 268 269 270 271 -4 272 273 274 275 -4 276 277 278 279 -4 280 281 282 283 -3 284 285 286 -3 287 288 289 -4 290 291 292 293 -4 294 295 296 297 -4 298 299 300 301 -3 302 303 304 -4 305 306 307 308 -4 309 310 311 312 -4 313 314 315 316 -4 317 318 319 320 -4 321 322 323 324 -4 325 326 327 328 -4 329 330 331 332 -4 333 334 335 336 -4 337 338 339 340 -4 341 342 343 344 -4 345 346 347 348 -4 349 350 351 352 -3 353 354 355 -4 356 357 358 359 -4 360 361 362 363 -3 364 365 366 -4 367 368 369 370 -4 371 372 373 374 -3 375 376 377 -4 378 379 380 381 -3 382 383 384 -4 385 386 387 388 -4 389 390 391 392 -3 393 394 395 -4 396 397 398 399 -4 400 401 402 403 -4 404 405 406 407 -4 408 409 410 411 -4 412 413 414 415 -3 416 417 418 -3 419 420 421 -3 422 423 424 -4 425 426 427 428 -4 429 430 431 432 -3 433 434 435 -3 436 437 438 -4 439 440 441 442 -4 443 444 445 446 -3 447 448 449 -3 450 451 452 -4 453 454 455 456 -3 457 458 459 -3 460 461 462 -3 463 464 465 -4 466 467 468 469 -3 470 471 472 -4 473 474 475 476 -4 477 478 479 480 -4 481 482 483 484 -4 485 486 487 488 -4 489 490 491 492 -3 493 494 495 -4 496 497 498 499 -4 500 501 502 503 -4 504 505 506 507 -4 508 509 510 511 -3 512 513 514 -4 515 516 517 518 -4 519 520 521 522 -3 523 524 525 -3 526 527 528 -3 529 530 531 -4 532 533 534 535 -4 536 537 538 539 -4 540 541 542 543 -4 544 545 546 547 -3 548 549 550 -3 551 552 553 -4 554 555 556 557 -3 558 559 560 -4 561 562 563 564 -4 565 566 567 568 -4 569 570 571 572 -3 573 574 575 -4 576 577 578 579 -4 580 581 582 583 -4 584 585 586 587 -4 588 589 590 591 -4 592 593 594 595 -4 596 597 598 599 -4 600 601 602 603 -4 604 605 606 607 -4 608 609 610 611 -3 612 613 614 -4 615 616 617 618 -4 619 620 621 622 -4 623 624 625 626 -4 627 628 629 630 -4 631 632 633 634 -4 635 636 637 638 -4 639 640 641 642 -3 643 644 645 -4 646 647 648 649 -3 650 651 652 -4 653 654 655 656 -3 657 658 659 -4 660 661 662 663 -4 664 665 666 667 -4 668 669 670 671 -4 672 673 674 675 -4 676 677 678 679 -4 680 681 682 683 -4 684 685 686 687 -4 688 689 690 691 -4 692 693 694 695 -4 696 697 698 699 -4 700 701 702 703 -3 704 705 706 -3 707 708 709 -4 710 711 712 713 -4 714 715 716 717 -4 718 719 720 721 -3 722 723 724 -3 725 726 727 -4 728 729 730 731 -4 732 733 734 735 -4 736 737 738 739 -3 740 741 742 -4 743 744 745 746 -4 747 748 749 750 -3 751 752 753 -3 754 755 756 -4 757 758 759 760 -4 761 762 763 764 -4 765 766 767 768 -4 769 770 771 772 -3 773 774 775 -3 776 777 778 -3 779 780 781 -4 782 783 784 785 -4 786 787 788 789 -3 790 791 792 -4 793 794 795 796 -4 797 798 799 800 -3 801 802 803 -3 804 805 806 -3 807 808 809 -3 810 811 812 -4 813 814 815 816 -4 817 818 819 820 -4 821 822 823 824 -4 825 826 827 828 -4 829 830 831 832 -4 833 834 835 836 -4 837 838 839 840 -4 841 842 843 844 -4 845 846 847 848 -3 849 850 851 -3 852 853 854 -4 855 856 857 858 -4 859 860 861 862 -4 863 864 865 866 -3 867 868 869 -4 870 871 872 873 -4 874 875 876 877 -4 878 879 880 881 -4 882 883 884 885 -4 886 887 888 889 -4 890 891 892 893 -4 894 895 896 897 -4 898 899 900 901 -4 902 903 904 905 -4 906 907 908 909 -4 910 911 912 913 -4 914 915 916 917 -3 918 919 920 -4 921 922 923 924 -4 925 926 927 928 -3 929 930 931 -4 932 933 934 935 -4 936 937 938 939 -3 940 941 942 -4 943 944 945 946 -3 947 948 949 -4 950 951 952 953 -4 954 955 956 957 -3 958 959 960 -4 961 962 963 964 -4 965 966 967 968 -4 969 970 971 972 -4 973 974 975 976 -4 977 978 979 980 -3 981 982 983 -3 984 985 986 -3 987 988 989 -4 990 991 992 993 -4 994 995 996 997 -3 998 999 1000 -3 1001 1002 1003 -4 1004 1005 1006 1007 -4 1008 1009 1010 1011 -3 1012 1013 1014 -3 1015 1016 1017 -4 1018 1019 1020 1021 -3 1022 1023 1024 -3 1025 1026 1027 -3 463 1028 464 -4 1029 1030 1031 1032 -3 1033 1034 1035 -4 1036 1037 1038 1039 -4 1040 1041 1042 1043 -4 1044 1045 1046 1047 -4 1048 1049 1050 1051 -4 1052 1053 1054 1055 -3 1056 1057 1058 -4 1059 1060 1061 1062 -4 1063 1064 1065 1066 -4 1067 1068 1069 1070 -4 1071 1072 1073 1074 -3 1075 1076 1077 -4 1078 1079 1080 1081 -4 1082 1083 1084 1085 -3 1086 1087 1088 -3 1089 1090 1091 -4 1092 1093 1094 1095 -4 1096 1097 1098 1099 -4 1100 1101 1102 1103 -3 1104 1105 1106 -3 1107 1108 1109 -4 1110 1111 1112 1113 -4 1114 1115 1116 1117 -4 1118 1119 1120 1121 -4 1122 1123 1124 1125 -3 1126 1127 1128 -4 1129 1130 1131 1132 -4 1133 1134 1135 1136 -4 1137 1138 1139 1140 -4 1141 1142 1143 1144 -4 1145 1146 1147 1148 -4 1149 1150 1151 1152 -3 1153 1154 1155 -4 1156 1157 1158 1159 -3 1160 1161 1162 -4 1163 1164 1165 1166 -3 1167 1168 1169 -3 1170 1171 1172 -3 1173 1174 1175 -4 1176 1177 1178 1179 -3 1180 1181 1182 -3 1183 1184 1185 -4 1186 1187 1188 1189 -4 1190 1191 1192 1193 -4 1194 1195 1196 1197 -4 1198 1199 1200 1201 -3 1202 1203 1204 -4 1205 1206 1207 1208 -4 1209 1210 1211 1212 -4 1213 1214 1215 1216 -4 1217 1218 1219 1220 -4 1221 1222 1223 1224 -4 1225 1226 1227 1228 -3 1229 1230 1231 -4 1232 1233 1234 1235 -3 1236 1237 1238 -4 1239 1240 1241 1242 -3 1243 1244 1245 -3 1246 1247 1248 -3 1249 1250 1251 -3 1252 1253 1254 -3 1255 1256 1257 -4 1258 1259 1260 1261 -4 1262 1263 1264 1265 -4 1266 1267 1268 1269 -4 1270 1271 1272 1273 -4 1274 1275 1276 1277 -4 1278 1279 1280 1281 -3 1282 1283 1284 -4 1285 1286 1287 1288 -4 1289 1290 1291 1292 -4 1293 1294 1295 1296 -3 1297 1298 1299 -3 1300 1301 1302 -4 1303 1304 1305 1306 -3 1307 1308 1309 diff --git a/src/tests/evas/meson.build b/src/tests/evas/meson.build index d89d602507..bee736035f 100644 --- a/src/tests/evas/meson.build +++ b/src/tests/evas/meson.build @@ -11,10 +11,8 @@ evas_suite_src = [ 'evas_test_render_engines.c', 'evas_test_filters.c', 'evas_test_image.c', - 'evas_test_mesh.c', 'evas_test_mask.c', 'evas_test_evasgl.c', - 'evas_test_matrix.c', 'evas_test_focus.c', 'evas_test_events.c', 'evas_tests_helpers.h', @@ -27,7 +25,7 @@ evas_suite_src = [ evas_suite = executable('evas_suite', evas_suite_src, - dependencies: [evas_bin, evas, ecore_evas, dl, check], + dependencies: [evas_bin, evas, ecore_evas, dl, check, evas_ext_none_static_deps, eet], #external deps needed here since tests do include internal headers include_directories: include_directories(join_paths('..', '..', 'modules', 'evas', 'engines', 'buffer')), c_args : [ '-DTESTS_BUILD_DIR="'+meson.current_build_dir()+'"', @@ -35,5 +33,6 @@ evas_suite = executable('evas_suite', ) test('evas-suite', evas_suite, - env : test_env + env : test_env, + timeout: 60, ) diff --git a/src/tests/evil/evil_test_stdlib.c b/src/tests/evil/evil_test_stdlib.c index c9f09813ef..57afb94fbd 100644 --- a/src/tests/evil/evil_test_stdlib.c +++ b/src/tests/evil/evil_test_stdlib.c @@ -169,86 +169,6 @@ EFL_START_TEST(evil_stdlib_unsetenv) } EFL_END_TEST -EFL_START_TEST(evil_stdlib_mkdtemp) -{ - char template[] = "file_XXXXXX"; - char *res; - - res = mkdtemp(template); - fail_if(res == NULL); - - fail_if(rmdir(res) < 0); -} -EFL_END_TEST - -EFL_START_TEST(evil_stdlib_mkdtemp_fail) -{ - char template[] = "file_XXX"; - char *res; - - res = mkdtemp(template); - fail_if(res != NULL); -} -EFL_END_TEST - -EFL_START_TEST(evil_stdlib_mkstemp) -{ - char template[] = "file_XXXXXX"; - int fd; - - fd = mkstemp(template); - fail_if(fd < 0); - - fail_if(close(fd) == -1); - - fail_if(unlink(template) == -1); -} -EFL_END_TEST - -EFL_START_TEST(evil_stdlib_mkstemp_fail) -{ - char template[] = "file_XXX"; - int fd; - - fd = mkstemp(template); - fail_if(fd >= 0); -} -EFL_END_TEST - -EFL_START_TEST(evil_stdlib_mkstemps) -{ - char template[] = "file_XXXXXX.ext"; - int fd; - - fd = mkstemps(template, 4); - fail_if(fd < 0); - - fail_if(close(fd) == -1); - - fail_if(unlink(template) == -1); -} -EFL_END_TEST - -EFL_START_TEST(evil_stdlib_mkstemps_fail_1) -{ - char template[] = "file_XXX.ext"; - int fd; - - fd = mkstemps(template, 4); - fail_if(fd >= 0); -} -EFL_END_TEST - -EFL_START_TEST(evil_stdlib_mkstemps_fail_2) -{ - char template[] = "file_XXX"; - int fd; - - fd = mkstemps(template, 4); - fail_if(fd >= 0); -} -EFL_END_TEST - EFL_START_TEST(evil_stdlib_realpath_1) { char buf[PATH_MAX]; @@ -302,14 +222,6 @@ void evil_test_stdlib(TCase *tc) tcase_add_test(tc, evil_stdlib_getenv_two_swapped); tcase_add_test(tc, evil_stdlib_unsetenv); - tcase_add_test(tc, evil_stdlib_mkdtemp); - tcase_add_test(tc, evil_stdlib_mkdtemp_fail); - tcase_add_test(tc, evil_stdlib_mkstemp); - tcase_add_test(tc, evil_stdlib_mkstemp_fail); - tcase_add_test(tc, evil_stdlib_mkstemps); - tcase_add_test(tc, evil_stdlib_mkstemps_fail_1); - tcase_add_test(tc, evil_stdlib_mkstemps_fail_2); - tcase_add_test(tc, evil_stdlib_realpath_1); tcase_add_test(tc, evil_stdlib_realpath_2); tcase_add_test(tc, evil_stdlib_realpath_3); |