From: mquinson Date: Mon, 4 Oct 2010 08:12:47 +0000 (+0000) Subject: merge X-Git-Tag: v3_5~492 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/ff1eebe3071b50372f9bf3048eeec04c610d2788 merge git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8332 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/examples/msg/masterslave/masterslave_bypass.c b/examples/msg/masterslave/masterslave_bypass.c index 1e3c543642..b437ca9a78 100644 --- a/examples/msg/masterslave/masterslave_bypass.c +++ b/examples/msg/masterslave/masterslave_bypass.c @@ -76,9 +76,9 @@ static int surf_parse_bypass_platform(void) SURFXML_BUFFER_SET(route_dst, "host B"); SURFXML_START_TAG(route); DEBUG0(" "); - SURFXML_BUFFER_SET(link_c_ctn_id, "LinkA"); - SURFXML_START_TAG(link_c_ctn); - SURFXML_END_TAG(link_c_ctn); + SURFXML_BUFFER_SET(link_ctn_id, "LinkA"); + SURFXML_START_TAG(link_ctn); + SURFXML_END_TAG(link_ctn); DEBUG0(""); SURFXML_END_TAG(route); diff --git a/include/surf/simgrid_dtd.h b/include/surf/simgrid_dtd.h index 92def21912..6bce938273 100644 --- a/include/surf/simgrid_dtd.h +++ b/include/surf/simgrid_dtd.h @@ -1,5 +1,5 @@ /* XML processor/application API for src/surf/simgrid.dtd. - * Generated 2010/09/21 16:29:31. + * Generated 2010/10/01 22:34:15. * * This program was generated with the FleXML XML processor generator. * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved. @@ -55,8 +55,8 @@ XBT_PUBLIC(void ) STag_surfxml_trace(void); XBT_PUBLIC(void ) ETag_surfxml_trace(void); XBT_PUBLIC(void ) STag_surfxml_random(void); XBT_PUBLIC(void ) ETag_surfxml_random(void); -XBT_PUBLIC(void ) STag_surfxml_trace_c_connect(void); -XBT_PUBLIC(void ) ETag_surfxml_trace_c_connect(void); +XBT_PUBLIC(void ) STag_surfxml_trace_connect(void); +XBT_PUBLIC(void ) ETag_surfxml_trace_connect(void); XBT_PUBLIC(void ) STag_surfxml_AS(void); XBT_PUBLIC(void ) ETag_surfxml_AS(void); XBT_PUBLIC(void ) STag_surfxml_host(void); @@ -71,8 +71,8 @@ XBT_PUBLIC(void ) STag_surfxml_route(void); XBT_PUBLIC(void ) ETag_surfxml_route(void); XBT_PUBLIC(void ) STag_surfxml_ASroute(void); XBT_PUBLIC(void ) ETag_surfxml_ASroute(void); -XBT_PUBLIC(void ) STag_surfxml_link_c_ctn(void); -XBT_PUBLIC(void ) ETag_surfxml_link_c_ctn(void); +XBT_PUBLIC(void ) STag_surfxml_link_ctn(void); +XBT_PUBLIC(void ) ETag_surfxml_link_ctn(void); XBT_PUBLIC(void ) STag_surfxml_bypassRoute(void); XBT_PUBLIC(void ) ETag_surfxml_bypassRoute(void); XBT_PUBLIC(void ) STag_surfxml_process(void); @@ -86,6 +86,8 @@ XBT_PUBLIC(void ) ETag_surfxml_prop(void); typedef enum { AU_surfxml_random_generator, A_surfxml_random_generator_DRAND48,A_surfxml_random_generator_RAND } AT_surfxml_random_generator; typedef int AT_surfxml_ASroute_gw_dst; #define AU_surfxml_ASroute_gw_dst NULL +typedef int AT_surfxml_trace_connect_element; +#define AU_surfxml_trace_connect_element NULL typedef int AT_surfxml_prop_id; #define AU_surfxml_prop_id NULL typedef int AT_surfxml_host_interference_recv; @@ -120,12 +122,12 @@ typedef int AT_surfxml_trace_file; typedef enum { AU_surfxml_link_sharing_policy, A_surfxml_link_sharing_policy_SHARED,A_surfxml_link_sharing_policy_FATPIPE } AT_surfxml_link_sharing_policy; typedef int AT_surfxml_random_min; #define AU_surfxml_random_min NULL +typedef int AT_surfxml_link_ctn_id; +#define AU_surfxml_link_ctn_id NULL typedef int AT_surfxml_process_kill_time; #define AU_surfxml_process_kill_time NULL typedef int AT_surfxml_cluster_bb_bw; #define AU_surfxml_cluster_bb_bw NULL -typedef int AT_surfxml_trace_c_connect_element; -#define AU_surfxml_trace_c_connect_element NULL typedef int AT_surfxml_argument_value; #define AU_surfxml_argument_value NULL typedef enum { AU_surfxml_link_state, A_surfxml_link_state_ON,A_surfxml_link_state_OFF } AT_surfxml_link_state; @@ -143,6 +145,7 @@ typedef int AT_surfxml_cluster_bb_lat; #define AU_surfxml_cluster_bb_lat NULL typedef int AT_surfxml_link_latency; #define AU_surfxml_link_latency NULL +typedef enum { AU_surfxml_trace_connect_kind, A_surfxml_trace_connect_kind_HOST_AVAIL,A_surfxml_trace_connect_kind_POWER,A_surfxml_trace_connect_kind_LINK_AVAIL,A_surfxml_trace_connect_kind_BANDWIDTH,A_surfxml_trace_connect_kind_LATENCY } AT_surfxml_trace_connect_kind; typedef int AT_surfxml_platform_xmlns_c_link; #define AU_surfxml_platform_xmlns_c_link NULL typedef int AT_surfxml_link_bandwidth_file; @@ -169,14 +172,14 @@ typedef int AT_surfxml_ASroute_dst; #define AU_surfxml_ASroute_dst NULL typedef int AT_surfxml_link_state_file; #define AU_surfxml_link_state_file NULL +typedef int AT_surfxml_trace_connect_trace; +#define AU_surfxml_trace_connect_trace NULL typedef int AT_surfxml_cluster_power; #define AU_surfxml_cluster_power NULL typedef int AT_surfxml_process_function; #define AU_surfxml_process_function NULL typedef int AT_surfxml_host_max_outgoing_rate; #define AU_surfxml_host_max_outgoing_rate NULL -typedef int AT_surfxml_link_c_ctn_id; -#define AU_surfxml_link_c_ctn_id NULL typedef int AT_surfxml_bypassRoute_dst; #define AU_surfxml_bypassRoute_dst NULL typedef int AT_surfxml_host_availability; @@ -187,15 +190,12 @@ typedef int AT_surfxml_route_src; #define AU_surfxml_route_src NULL typedef int AT_surfxml_bypassRoute_gw_dst; #define AU_surfxml_bypassRoute_gw_dst NULL -typedef int AT_surfxml_trace_c_connect_trace; -#define AU_surfxml_trace_c_connect_trace NULL typedef int AT_surfxml_trace_id; #define AU_surfxml_trace_id NULL typedef int AT_surfxml_cluster_radical; #define AU_surfxml_cluster_radical NULL typedef int AT_surfxml_random_std_deviation; #define AU_surfxml_random_std_deviation NULL -typedef enum { AU_surfxml_trace_c_connect_kind, A_surfxml_trace_c_connect_kind_HOST_AVAIL,A_surfxml_trace_c_connect_kind_POWER,A_surfxml_trace_c_connect_kind_LINK_AVAIL,A_surfxml_trace_c_connect_kind_BANDWIDTH,A_surfxml_trace_c_connect_kind_LATENCY } AT_surfxml_trace_c_connect_kind; typedef int AT_surfxml_bypassRoute_gw_src; #define AU_surfxml_bypassRoute_gw_src NULL typedef int AT_surfxml_host_state_file; @@ -215,6 +215,8 @@ XBT_PUBLIC_DATA(AT_surfxml_random_generator ) AX_surfxml_random_generator; #define A_surfxml_random_generator AX_surfxml_random_generator XBT_PUBLIC_DATA(AT_surfxml_ASroute_gw_dst ) AX_surfxml_ASroute_gw_dst; #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst) +XBT_PUBLIC_DATA(AT_surfxml_trace_connect_element ) AX_surfxml_trace_connect_element; +#define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element) XBT_PUBLIC_DATA(AT_surfxml_prop_id ) AX_surfxml_prop_id; #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id) XBT_PUBLIC_DATA(AT_surfxml_host_interference_recv ) AX_surfxml_host_interference_recv; @@ -251,12 +253,12 @@ XBT_PUBLIC_DATA(AT_surfxml_link_sharing_policy ) AX_surfxml_link_sharing_policy; #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy XBT_PUBLIC_DATA(AT_surfxml_random_min ) AX_surfxml_random_min; #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min) +XBT_PUBLIC_DATA(AT_surfxml_link_ctn_id ) AX_surfxml_link_ctn_id; +#define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id) XBT_PUBLIC_DATA(AT_surfxml_process_kill_time ) AX_surfxml_process_kill_time; #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time) XBT_PUBLIC_DATA(AT_surfxml_cluster_bb_bw ) AX_surfxml_cluster_bb_bw; #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw) -XBT_PUBLIC_DATA(AT_surfxml_trace_c_connect_element ) AX_surfxml_trace_c_connect_element; -#define A_surfxml_trace_c_connect_element (surfxml_bufferstack + AX_surfxml_trace_c_connect_element) XBT_PUBLIC_DATA(AT_surfxml_argument_value ) AX_surfxml_argument_value; #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value) XBT_PUBLIC_DATA(AT_surfxml_link_state ) AX_surfxml_link_state; @@ -275,6 +277,8 @@ XBT_PUBLIC_DATA(AT_surfxml_cluster_bb_lat ) AX_surfxml_cluster_bb_lat; #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat) XBT_PUBLIC_DATA(AT_surfxml_link_latency ) AX_surfxml_link_latency; #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency) +XBT_PUBLIC_DATA(AT_surfxml_trace_connect_kind ) AX_surfxml_trace_connect_kind; +#define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind XBT_PUBLIC_DATA(AT_surfxml_platform_xmlns_c_link ) AX_surfxml_platform_xmlns_c_link; #define A_surfxml_platform_xmlns_c_link (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_link) XBT_PUBLIC_DATA(AT_surfxml_link_bandwidth_file ) AX_surfxml_link_bandwidth_file; @@ -301,14 +305,14 @@ XBT_PUBLIC_DATA(AT_surfxml_ASroute_dst ) AX_surfxml_ASroute_dst; #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst) XBT_PUBLIC_DATA(AT_surfxml_link_state_file ) AX_surfxml_link_state_file; #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file) +XBT_PUBLIC_DATA(AT_surfxml_trace_connect_trace ) AX_surfxml_trace_connect_trace; +#define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace) XBT_PUBLIC_DATA(AT_surfxml_cluster_power ) AX_surfxml_cluster_power; #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power) XBT_PUBLIC_DATA(AT_surfxml_process_function ) AX_surfxml_process_function; #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function) XBT_PUBLIC_DATA(AT_surfxml_host_max_outgoing_rate ) AX_surfxml_host_max_outgoing_rate; #define A_surfxml_host_max_outgoing_rate (surfxml_bufferstack + AX_surfxml_host_max_outgoing_rate) -XBT_PUBLIC_DATA(AT_surfxml_link_c_ctn_id ) AX_surfxml_link_c_ctn_id; -#define A_surfxml_link_c_ctn_id (surfxml_bufferstack + AX_surfxml_link_c_ctn_id) XBT_PUBLIC_DATA(AT_surfxml_bypassRoute_dst ) AX_surfxml_bypassRoute_dst; #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst) XBT_PUBLIC_DATA(AT_surfxml_host_availability ) AX_surfxml_host_availability; @@ -319,16 +323,12 @@ XBT_PUBLIC_DATA(AT_surfxml_route_src ) AX_surfxml_route_src; #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src) XBT_PUBLIC_DATA(AT_surfxml_bypassRoute_gw_dst ) AX_surfxml_bypassRoute_gw_dst; #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst) -XBT_PUBLIC_DATA(AT_surfxml_trace_c_connect_trace ) AX_surfxml_trace_c_connect_trace; -#define A_surfxml_trace_c_connect_trace (surfxml_bufferstack + AX_surfxml_trace_c_connect_trace) XBT_PUBLIC_DATA(AT_surfxml_trace_id ) AX_surfxml_trace_id; #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id) XBT_PUBLIC_DATA(AT_surfxml_cluster_radical ) AX_surfxml_cluster_radical; #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical) XBT_PUBLIC_DATA(AT_surfxml_random_std_deviation ) AX_surfxml_random_std_deviation; #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation) -XBT_PUBLIC_DATA(AT_surfxml_trace_c_connect_kind ) AX_surfxml_trace_c_connect_kind; -#define A_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind XBT_PUBLIC_DATA(AT_surfxml_bypassRoute_gw_src ) AX_surfxml_bypassRoute_gw_src; #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src) XBT_PUBLIC_DATA(AT_surfxml_host_state_file ) AX_surfxml_host_state_file; diff --git a/include/surf/surfxml_parse.h b/include/surf/surfxml_parse.h index 2246add4a9..07cf3535c2 100644 --- a/include/surf/surfxml_parse.h +++ b/include/surf/surfxml_parse.h @@ -25,8 +25,8 @@ XBT_PUBLIC_DATA(xbt_dynar_t) STag_surfxml_link_cb_list; XBT_PUBLIC_DATA(xbt_dynar_t) ETag_surfxml_link_cb_list; XBT_PUBLIC_DATA(xbt_dynar_t) STag_surfxml_route_cb_list; XBT_PUBLIC_DATA(xbt_dynar_t) ETag_surfxml_route_cb_list; -XBT_PUBLIC_DATA(xbt_dynar_t) STag_surfxml_link_c_ctn_cb_list; -XBT_PUBLIC_DATA(xbt_dynar_t) ETag_surfxml_link_c_ctn_cb_list; +XBT_PUBLIC_DATA(xbt_dynar_t) STag_surfxml_link_ctn_cb_list; +XBT_PUBLIC_DATA(xbt_dynar_t) ETag_surfxml_link_ctn_cb_list; XBT_PUBLIC_DATA(xbt_dynar_t) STag_surfxml_process_cb_list; XBT_PUBLIC_DATA(xbt_dynar_t) ETag_surfxml_process_cb_list; XBT_PUBLIC_DATA(xbt_dynar_t) STag_surfxml_argument_cb_list; @@ -35,8 +35,8 @@ XBT_PUBLIC_DATA(xbt_dynar_t) STag_surfxml_prop_cb_list; XBT_PUBLIC_DATA(xbt_dynar_t) ETag_surfxml_prop_cb_list; XBT_PUBLIC_DATA(xbt_dynar_t) STag_surfxml_trace_cb_list; XBT_PUBLIC_DATA(xbt_dynar_t) ETag_surfxml_trace_cb_list; -XBT_PUBLIC_DATA(xbt_dynar_t) STag_surfxml_trace_c_connect_cb_list; -XBT_PUBLIC_DATA(xbt_dynar_t) ETag_surfxml_trace_c_connect_cb_list; +XBT_PUBLIC_DATA(xbt_dynar_t) STag_surfxml_trace_connect_cb_list; +XBT_PUBLIC_DATA(xbt_dynar_t) ETag_surfxml_trace_connect_cb_list; XBT_PUBLIC_DATA(xbt_dynar_t) STag_surfxml_random_cb_list; XBT_PUBLIC_DATA(xbt_dynar_t) ETag_surfxml_random_cb_list; XBT_PUBLIC_DATA(xbt_dynar_t) STag_surfxml_AS_cb_list; diff --git a/include/xbt/graphxml.h b/include/xbt/graphxml.h index 340b9ab0ff..c06d64cc32 100644 --- a/include/xbt/graphxml.h +++ b/include/xbt/graphxml.h @@ -1,5 +1,5 @@ /* XML processor/application API for src/xbt/graphxml.dtd. - * Generated 2010/06/17 19:11:52. + * Generated 2010/10/01 22:34:15. * * This program was generated with the FleXML XML processor generator. * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved. diff --git a/src/simdag/dax_dtd.c b/src/simdag/dax_dtd.c index c7d5d926f9..bfb91afa34 100644 --- a/src/simdag/dax_dtd.c +++ b/src/simdag/dax_dtd.c @@ -1255,8 +1255,8 @@ int dax__flex_debug = 0; #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *dax_text; -/* Validating XML processor for /home/navarrop/Developments/simgrid/src/simdag/dax.dtd. - * Generated 2010/06/17 19:11:52. +/* Validating XML processor for /home/mquinson/Code/simgrid/src/simdag/dax.dtd. + * Generated 2010/10/01 22:34:14. * * This program was generated with the FleXML XML processor generator. * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved. diff --git a/src/simdag/dax_dtd.h b/src/simdag/dax_dtd.h index 0f0b95ff71..24a63f3791 100644 --- a/src/simdag/dax_dtd.h +++ b/src/simdag/dax_dtd.h @@ -1,5 +1,5 @@ /* XML processor/application API for src/simdag/dax.dtd. - * Generated 2010/06/17 19:11:52. + * Generated 2010/10/01 22:34:16. * * This program was generated with the FleXML XML processor generator. * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved. diff --git a/src/simdag/dax_dtd.l b/src/simdag/dax_dtd.l index 0f79b9e8b4..6602574d3b 100644 --- a/src/simdag/dax_dtd.l +++ b/src/simdag/dax_dtd.l @@ -1,5 +1,5 @@ -/* Validating XML processor for simdag/dax.dtd. - * Generated 2010/04/09 23:31:36. +/* Validating XML processor for /home/mquinson/Code/simgrid/src/simdag/dax.dtd. + * Generated 2010/10/01 22:34:14. * * This program was generated with the FleXML XML processor generator. * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved. diff --git a/src/surf/simgrid.dtd b/src/surf/simgrid.dtd index 241ae06626..f6fb5970f8 100644 --- a/src/surf/simgrid.dtd +++ b/src/surf/simgrid.dtd @@ -1,5 +1,5 @@ - + @@ -17,10 +17,10 @@ - - - - + + + + @@ -63,20 +63,20 @@ - + - + - - + + - + diff --git a/src/surf/simgrid_dtd.c b/src/surf/simgrid_dtd.c index 8573e8f33f..fc24f74eca 100644 --- a/src/surf/simgrid_dtd.c +++ b/src/surf/simgrid_dtd.c @@ -682,213 +682,213 @@ static yyconst flex_int16_t yy_base[2043] = 1480, 1534, 1314, 1318, 1588, 1651, 1321, 1324, 1374, 1377, 1381, 1384, 1387, 1437, 1714, 1777, 1440, 1444, 1447, 1450, 1500, 1503, 1507, 1510, 1840, 1906, 1513, 1554, 1972, 2038, - 1557, 1561, 0, 0, 4569, 6479, 6479, 95, 100, 29, - 41, 6479, 155, 51, 6479, 6479, 4548, 6479, 6479, 4537, - 6479, 4548, 4548, 1564, 6479, 6479, 6479, 6479, 4541, 4537, - - 4495, 241, 6479, 158, 4509, 0, 142, 6479, 4478, 4469, - 6479, 162, 2100, 210, 388, 207, 4503, 108, 6479, 329, - 4494, 0, 146, 6479, 4454, 4454, 4451, 369, 4453, 6479, - 389, 4475, 0, 244, 6479, 4434, 4434, 453, 4417, 6479, - 451, 11, 31, 4464, 6479, 513, 4455, 0, 306, 6479, - 4417, 4417, 4408, 6479, 570, 428, 6479, 574, 4443, 0, - 308, 6479, 4396, 4385, 6479, 577, 1564, 203, 30, 92, - 4420, 13, 201, 228, 1561, 261, 372, 4422, 6479, 634, - 4410, 0, 491, 6479, 4362, 189, 4381, 4358, 4352, 4352, - 6479, 638, 109, 4393, 6479, 641, 4374, 0, 492, 6479, - - 197, 4343, 4335, 93, 4334, 4310, 6479, 701, 685, 6479, - 705, 4354, 0, 561, 6479, 4323, 6479, 771, 1136, 6479, - 774, 4343, 0, 562, 6479, 4316, 4308, 4310, 80, 6479, - 890, 309, 4338, 6479, 893, 4325, 0, 625, 6479, 4281, - 4272, 6479, 979, 492, 506, 4321, 6479, 982, 4311, 0, - 626, 6479, 4260, 4255, 4257, 6479, 985, 682, 4306, 6479, - 1157, 4296, 0, 758, 6479, 4266, 6479, 1160, 1199, 6479, - 1220, 4293, 0, 1262, 6479, 4238, 4233, 4236, 6479, 1223, - 978, 4278, 6479, 1278, 4269, 0, 1263, 6479, 4218, 4222, - 4225, 4214, 6479, 1283, 1336, 4264, 4256, 6479, 1286, 4241, - - 0, 1325, 6479, 4214, 6479, 1341, 1326, 6479, 1347, 4238, - 0, 1332, 6479, 4195, 4197, 6479, 1405, 1389, 1409, 746, - 4173, 6479, 4229, 4218, 6479, 6479, 6479, 1458, 242, 4172, - 4171, 4163, 4190, 4153, 6479, 0, 4145, 4143, 4138, 4158, - 4132, 4122, 4133, 4126, 4126, 327, 397, 4107, 4108, 4108, - 639, 460, 4101, 4082, 641, 4074, 703, 987, 4066, 6479, - 0, 4071, 1564, 4054, 526, 4051, 4089, 6479, 0, 4049, - 1631, 4038, 4058, 4045, 4045, 4031, 813, 6479, 0, 4026, - 4016, 4027, 4003, 6479, 0, 1671, 3998, 4024, 4007, 3974, - 1041, 4003, 1042, 6479, 0, 3994, 1674, 3974, 3968, 3968, - - 3987, 3953, 3965, 6479, 0, 3971, 1677, 1680, 3947, 3943, - 3950, 3950, 3936, 3937, 6479, 0, 1683, 3906, 6479, 0, - 3892, 1734, 3885, 3898, 3897, 3885, 6479, 0, 3867, 3882, - 3866, 3873, 6479, 0, 3857, 3873, 3869, 3879, 6479, 0, - 1737, 3843, 6479, 0, 3834, 3851, 3843, 3843, 6479, 0, - 3830, 3823, 3829, 3837, 3822, 3818, 6479, 0, 3812, 3820, - 6479, 0, 1740, 3806, 3800, 3839, 3847, 1380, 3792, 6479, - 1461, 0, 3787, 3787, 3827, 3825, 3782, 6479, 3793, 3761, - 3764, 1743, 1746, 1639, 3765, 3756, 3749, 3742, 3745, 3751, - 3736, 3732, 3724, 3741, 3716, 3719, 3713, 3706, 1642, 3704, - - 3700, 3690, 3707, 3686, 3704, 3698, 1797, 1578, 3662, 3689, - 1802, 1805, 6479, 3662, 1808, 1703, 1815, 3642, 1860, 3649, - 1811, 1883, 3634, 3634, 3629, 3628, 1868, 1871, 1874, 1892, - 3602, 1928, 1932, 1771, 3605, 1835, 3609, 1935, 1938, 3612, - 3615, 3598, 3583, 3599, 1992, 2001, 577, 1995, 1953, 1998, - 1962, 2004, 3590, 3582, 3578, 3579, 2007, 2016, 2059, 2026, - 2063, 2066, 3566, 2071, 2085, 3564, 3550, 3547, 2093, 2096, - 2099, 2104, 2107, 2129, 3551, 2126, 2132, 2135, 2138, 2163, - 2166, 2169, 2187, 2190, 2194, 2200, 2212, 2218, 2221, 3551, - 3533, 3540, 3532, 2225, 2230, 3540, 3526, 2233, 2244, 2252, - - 2256, 3524, 2264, 2271, 3555, 6479, 6479, 854, 3517, 6479, - 3555, 3553, 3505, 6479, 6479, 3503, 3501, 3497, 3487, 2274, - 2277, 6479, 2283, 1645, 3489, 3482, 3499, 3481, 3478, 3475, - 3465, 40, 3478, 3455, 3468, 3447, 3455, 141, 3435, 1758, - 3435, 3436, 3412, 3427, 3409, 3414, 2296, 2305, 6479, 6479, - 2315, 3435, 2318, 2321, 6479, 2324, 3396, 2333, 6479, 6479, - 2328, 2346, 2354, 2357, 2360, 3408, 2375, 2378, 6479, 2381, - 327, 3405, 2384, 3403, 2387, 2390, 6479, 2402, 2409, 6479, - 6479, 3398, 2417, 2421, 6479, 2424, 3391, 3366, 3345, 2427, - 6479, 6479, 3338, 3339, 3329, 3340, 3332, 2443, 2447, 6479, - - 2450, 3313, 3333, 2453, 6479, 6479, 2462, 6479, 6479, 2470, - 2473, 3311, 3317, 3319, 3308, 2481, 2484, 6479, 2488, 2491, - 6479, 6479, 2503, 2507, 6479, 2512, 3294, 2515, 6479, 6479, - 3300, 3302, 3301, 2526, 2531, 6479, 2534, 2537, 2541, 2555, - 2558, 2566, 2569, 6479, 2576, 3293, 2579, 2591, 3276, 3276, - 2599, 2602, 2610, 2613, 6479, 2617, 2620, 6479, 6479, 2632, - 2636, 6479, 2640, 2643, 2655, 3267, 3262, 2646, 2664, 2651, - 2672, 6479, 2679, 3257, 2682, 3274, 3254, 2685, 2691, 6479, - 2700, 3251, 3265, 2704, 2710, 6479, 2713, 2719, 6479, 6479, - 3250, 2732, 2738, 6479, 2741, 861, 2746, 6479, 6479, 3282, - - 3277, 3240, 3223, 3265, 2751, 3214, 3221, 3210, 3208, 1768, - 2760, 3210, 3210, 1878, 3195, 3202, 3198, 2766, 2770, 3193, - 3191, 3172, 3174, 3172, 3170, 3169, 3167, 2775, 2778, 3163, - 3188, 2786, 3163, 2789, 6479, 6479, 2799, 2805, 2817, 6479, - 6479, 3153, 2825, 2828, 3144, 2833, 2837, 2845, 2851, 3142, - 2855, 6479, 3127, 3127, 3138, 3131, 3106, 2858, 2863, 3117, - 2866, 2876, 2881, 2885, 6479, 6479, 2894, 2899, 2902, 2907, - 2913, 2920, 3111, 3112, 3101, 2925, 2932, 2947, 6479, 6479, - 2955, 6479, 6479, 2935, 2969, 2977, 6479, 6479, 3091, 3104, - 2986, 6479, 6479, 2994, 2999, 3002, 6479, 6479, 3087, 3101, - - 3014, 6479, 6479, 3022, 3086, 3025, 3028, 3075, 3092, 3036, - 3074, 3043, 3046, 3055, 3061, 656, 3103, 3067, 6479, 3102, - 6479, 6479, 3057, 3052, 815, 3073, 3033, 3042, 3028, 3036, - 2939, 3076, 3037, 3024, 3019, 3086, 3016, 3092, 3096, 3099, - 3102, 3009, 3105, 3017, 3004, 3111, 3116, 3123, 3126, 3132, - 6479, 6479, 3006, 3016, 3141, 2988, 3144, 6479, 6479, 2985, - 3154, 3160, 2979, 3166, 2048, 2176, 3174, 3177, 3185, 2989, - 2972, 2972, 2986, 2972, 2957, 3192, 3195, 3204, 3212, 2964, - 2959, 3222, 3225, 3228, 3236, 3243, 3247, 3255, 3261, 3264, - 3267, 3273, 2963, 2941, 2957, 3282, 3286, 2956, 3294, 3300, - - 2952, 3303, 3306, 3309, 3324, 3330, 3333, 3339, 2935, 3351, - 6479, 6479, 2939, 2927, 3343, 2932, 3362, 3366, 3374, 3380, - 3383, 3393, 1443, 8, 730, 6479, 2916, 3401, 2923, 2915, - 3404, 2919, 2910, 2929, 2903, 2899, 2900, 2897, 3407, 3412, - 3415, 3419, 2906, 2884, 3423, 3426, 2884, 3430, 3433, 2884, - 2883, 2903, 3436, 2861, 2865, 3439, 3442, 2892, 2877, 190, - 2872, 2871, 2857, 730, 2855, 3445, 6479, 6479, 3462, 3465, - 2831, 2839, 2819, 2810, 2811, 3468, 6479, 6479, 3477, 2821, - 2816, 2796, 3485, 3488, 6479, 3491, 6479, 6479, 3499, 3503, - 3511, 6479, 6479, 3519, 3522, 3530, 3533, 3537, 3551, 3554, - - 2780, 3557, 2797, 3560, 2803, 2798, 2771, 3575, 6479, 3578, - 2760, 3581, 3584, 3601, 3604, 3615, 3619, 3622, 3625, 3634, - 3640, 3648, 2764, 2760, 2762, 3652, 2755, 3655, 6479, 6479, - 3667, 3671, 6479, 6479, 3679, 6479, 878, 1016, 360, 2755, - 3682, 3686, 2752, 2740, 3694, 3700, 2740, 2740, 3703, 2739, - 2739, 3706, 3716, 3719, 2726, 3722, 3725, 3728, 3731, 2724, - 2721, 2717, 3734, 6479, 2695, 2710, 3737, 3740, 3743, 2717, - 2709, 2707, 2704, 2696, 2698, 2693, 2690, 2693, 2685, 3758, - 3761, 3764, 3772, 2660, 2662, 2660, 2650, 1013, 1063, 2644, - 3779, 3782, 3790, 6479, 6479, 3798, 6479, 6479, 3806, 3809, - - 3817, 6479, 6479, 3825, 3828, 2644, 3831, 3834, 2645, 2631, - 1117, 1180, 2634, 3849, 6479, 2622, 3852, 6479, 6479, 3861, - 6479, 6479, 3869, 3872, 3875, 6479, 6479, 3891, 6479, 6479, - 3900, 3903, 2628, 2620, 3906, 2608, 3909, 3912, 241, 1394, - 3921, 3936, 6479, 6479, 2614, 2599, 3931, 3944, 3950, 2586, - 3953, 3956, 3959, 3962, 2574, 3968, 3971, 2573, 2564, 6479, - 3974, 2563, 3977, 6479, 3980, 6479, 6479, 2600, 2571, 2583, - 2576, 2573, 2566, 2551, 2562, 2556, 2559, 3988, 3992, 6479, - 6479, 4000, 2519, 2522, 2517, 2512, 2538, 2557, 2528, 2543, - 2498, 4003, 6479, 6479, 4011, 6479, 6479, 4019, 4022, 6479, - - 4025, 4028, 6479, 6479, 2488, 2467, 2495, 2497, 2472, 2472, - 2430, 4046, 4049, 4052, 4055, 4058, 4062, 4076, 2408, 4079, - 4082, 4085, 4088, 852, 990, 4094, 4098, 2392, 4109, 4116, - 2376, 4119, 4122, 2380, 2377, 2348, 4128, 4131, 2346, 2356, - 2322, 2276, 2248, 2252, 2247, 2238, 61, 198, 289, 4139, - 383, 409, 437, 452, 553, 6479, 551, 6479, 4142, 4148, - 6479, 4151, 4154, 549, 556, 567, 620, 6479, 655, 6479, - 4162, 4169, 4172, 6479, 4175, 4180, 4184, 6479, 6479, 4199, - 4202, 4210, 4213, 6479, 4217, 4220, 1074, 1098, 1122, 4223, - 4228, 4244, 4247, 6479, 638, 676, 707, 4250, 4253, 1168, + 1557, 1561, 0, 0, 4578, 6475, 6475, 95, 100, 29, + 41, 6475, 155, 51, 6475, 6475, 4565, 6475, 6475, 4553, + 6475, 4564, 4562, 1564, 6475, 6475, 6475, 6475, 4550, 4550, + + 4504, 241, 6475, 158, 4527, 0, 142, 6475, 4491, 4479, + 6475, 162, 2100, 210, 388, 207, 4523, 108, 6475, 329, + 4505, 0, 146, 6475, 4470, 4473, 4461, 369, 4466, 6475, + 389, 4484, 0, 244, 6475, 4449, 4448, 453, 4429, 6475, + 451, 11, 31, 4479, 6475, 513, 4460, 0, 306, 6475, + 4423, 4423, 4410, 6475, 570, 428, 6475, 574, 4451, 0, + 308, 6475, 4420, 4408, 6475, 577, 1564, 203, 30, 92, + 4444, 13, 201, 228, 1561, 261, 372, 4447, 6475, 634, + 4421, 0, 491, 6475, 4374, 189, 4392, 4371, 4362, 4370, + 6475, 638, 109, 4411, 6475, 641, 4393, 0, 492, 6475, + + 197, 4363, 4356, 93, 4355, 4325, 6475, 701, 685, 6475, + 705, 4368, 0, 561, 6475, 4328, 6475, 771, 1136, 6475, + 774, 4356, 0, 562, 6475, 4325, 4321, 4322, 80, 6475, + 890, 309, 4347, 6475, 893, 4338, 0, 625, 6475, 4290, + 4290, 6475, 979, 492, 506, 4334, 6475, 982, 4321, 0, + 626, 6475, 4277, 4263, 4267, 6475, 985, 682, 4315, 6475, + 1157, 4299, 0, 758, 6475, 4269, 6475, 1160, 1199, 6475, + 1220, 4295, 0, 1262, 6475, 4251, 4245, 4249, 6475, 1223, + 978, 4297, 6475, 1278, 4277, 0, 1263, 6475, 4231, 4235, + 4232, 4221, 6475, 1283, 1336, 4267, 4265, 6475, 1286, 4255, + + 0, 1325, 6475, 4228, 6475, 1341, 1326, 6475, 1347, 4252, + 0, 1332, 6475, 4215, 4211, 6475, 1405, 1389, 1409, 746, + 4188, 6475, 4244, 4220, 6475, 6475, 6475, 1458, 242, 4175, + 4173, 4170, 4214, 4176, 6475, 0, 4169, 4168, 4146, 4167, + 4141, 4126, 4138, 4133, 4136, 327, 397, 4125, 4126, 4127, + 639, 460, 4138, 4109, 641, 4101, 703, 987, 4096, 6475, + 0, 4079, 1564, 4072, 526, 4068, 4104, 6475, 0, 4065, + 1631, 4044, 4065, 4047, 4054, 4040, 813, 6475, 0, 4050, + 4041, 4044, 4025, 6475, 0, 1671, 4007, 4048, 4031, 3994, + 1041, 4021, 1042, 6475, 0, 3996, 1674, 3977, 3971, 3970, + + 3990, 3968, 3979, 6475, 0, 3986, 1677, 1680, 3965, 3948, + 3964, 3963, 3956, 3958, 6475, 0, 1683, 3934, 6475, 0, + 3937, 1734, 3919, 3935, 3918, 3890, 6475, 0, 3881, 3892, + 3877, 3883, 6475, 0, 3863, 3881, 3876, 3901, 6475, 0, + 1737, 3861, 6475, 0, 3850, 3868, 3849, 3848, 6475, 0, + 3836, 3829, 3831, 3840, 3824, 3820, 6475, 0, 3825, 3833, + 6475, 0, 1740, 3822, 3816, 3844, 3852, 1380, 3801, 6475, + 1461, 0, 3796, 3796, 3836, 3828, 3784, 6475, 3796, 3777, + 3780, 1743, 1746, 1639, 3785, 3775, 3755, 3755, 3755, 3766, + 3751, 3743, 3734, 3747, 3728, 3728, 3726, 3718, 1642, 3710, + + 3715, 3703, 3721, 3700, 3708, 3701, 1797, 1578, 3695, 3723, + 1802, 1805, 6475, 3696, 1808, 1703, 1815, 3686, 1860, 3667, + 1811, 1883, 3650, 3651, 3647, 3642, 1868, 1871, 1874, 1892, + 3625, 1928, 1932, 1771, 3627, 1835, 3620, 1935, 1938, 3622, + 3617, 3611, 3595, 3612, 1992, 2001, 577, 1995, 1953, 1998, + 1962, 2004, 3606, 3593, 3589, 3590, 2007, 2016, 2059, 2026, + 2063, 2066, 3587, 2071, 2085, 3579, 3566, 3562, 2093, 2096, + 2099, 2104, 2107, 2129, 3553, 2126, 2132, 2135, 2138, 2163, + 2166, 2169, 2187, 2190, 2194, 2200, 2212, 2218, 2221, 3562, + 3544, 3551, 3543, 2225, 2230, 3543, 3528, 2233, 2244, 2252, + + 2256, 3527, 2264, 2271, 3570, 6475, 6475, 854, 3532, 6475, + 3570, 3568, 3508, 6475, 6475, 3505, 3504, 3512, 3501, 2274, + 2277, 6475, 2283, 1645, 3504, 3496, 3501, 3483, 3480, 3488, + 3477, 40, 3491, 3474, 3478, 3461, 3468, 141, 3451, 1758, + 3451, 3463, 3443, 3457, 3440, 3454, 2296, 2305, 6475, 6475, + 2315, 3471, 2318, 2321, 6475, 2324, 3433, 2333, 6475, 6475, + 2328, 2346, 2354, 2357, 2360, 3440, 2375, 2378, 6475, 2381, + 327, 3436, 2384, 3425, 2387, 2390, 6475, 2402, 2409, 6475, + 6475, 3414, 2417, 2421, 6475, 2424, 3407, 3419, 3407, 2427, + 6475, 6475, 3390, 3390, 3386, 3395, 3388, 2443, 2447, 6475, + + 2450, 3375, 3386, 2453, 6475, 6475, 2462, 6475, 6475, 2470, + 2473, 3359, 3356, 3361, 3350, 2481, 2484, 6475, 2488, 2491, + 6475, 6475, 2503, 2507, 6475, 2512, 3336, 2515, 6475, 6475, + 3328, 3330, 3329, 2526, 2531, 6475, 2534, 2537, 2541, 2555, + 2558, 2566, 2569, 6475, 2576, 3323, 2579, 2591, 3313, 3303, + 2599, 2602, 2610, 2613, 6475, 2617, 2620, 6475, 6475, 2632, + 2636, 6475, 2640, 2643, 2655, 3300, 3299, 2646, 2664, 2651, + 2672, 6475, 2679, 3296, 2682, 3313, 3293, 2685, 2691, 6475, + 2700, 3290, 3292, 2704, 2710, 6475, 2713, 2719, 6475, 6475, + 3289, 2732, 2738, 6475, 2741, 861, 2746, 6475, 6475, 3320, + + 3312, 3273, 3264, 3305, 2751, 3255, 3256, 3246, 3244, 1768, + 2760, 3236, 3236, 1878, 3224, 3226, 3225, 2766, 2771, 3219, + 3201, 3186, 3189, 3197, 3195, 3183, 3180, 2774, 2777, 3180, + 3205, 2786, 3173, 2792, 6475, 6475, 2800, 2805, 2818, 6475, + 6475, 3164, 2826, 2829, 3155, 2833, 2836, 2845, 2851, 3153, + 2854, 6475, 3141, 3136, 3152, 3145, 3123, 2857, 2863, 3138, + 2866, 2875, 2881, 2886, 6475, 6475, 2894, 2899, 2902, 2907, + 2913, 2920, 3129, 3133, 3122, 2925, 2932, 2947, 6475, 6475, + 2955, 6475, 6475, 2935, 2969, 2976, 6475, 6475, 3114, 3122, + 2986, 6475, 6475, 2998, 3001, 3004, 6475, 6475, 3105, 3119, + + 3013, 6475, 6475, 3021, 3107, 3024, 3027, 3095, 3113, 3035, + 3099, 3042, 3045, 3049, 3056, 656, 3135, 3067, 6475, 3133, + 6475, 6475, 3089, 3089, 815, 3060, 3078, 3090, 3076, 3082, + 2939, 2994, 3083, 3070, 3065, 3070, 3069, 3075, 3082, 3086, + 3089, 3061, 3092, 3073, 3064, 3095, 3098, 3101, 3104, 3116, + 6475, 6475, 3061, 3070, 3110, 3018, 3132, 6475, 6475, 3015, + 3142, 3148, 3011, 3162, 2048, 2176, 3170, 3173, 3182, 3014, + 2990, 2987, 2995, 2990, 2971, 3188, 3191, 3201, 3206, 2983, + 2978, 3214, 3219, 3222, 3233, 3237, 3240, 3251, 3255, 3258, + 3261, 3264, 2971, 2943, 2959, 3269, 3276, 2958, 3287, 3290, + + 2946, 3293, 3296, 3299, 3302, 3314, 3324, 3328, 2934, 3332, + 6475, 6475, 2937, 2922, 3342, 2933, 3347, 3350, 3365, 3368, + 3371, 3379, 1443, 8, 730, 6475, 2919, 3386, 2923, 2915, + 3391, 2919, 2910, 2929, 2903, 2899, 2900, 2897, 3394, 3398, + 3404, 3410, 2906, 2884, 3413, 3416, 2884, 3421, 3424, 2884, + 2883, 2903, 3427, 2861, 2865, 3431, 3434, 2892, 2877, 190, + 2872, 2871, 2856, 730, 2852, 3437, 6475, 6475, 3452, 3455, + 2831, 2843, 2819, 2810, 2811, 3458, 6475, 6475, 3467, 2827, + 2816, 2796, 3475, 3478, 6475, 3481, 6475, 6475, 3489, 3497, + 3507, 6475, 6475, 3515, 3518, 3526, 3529, 3533, 3547, 3550, + + 2780, 3553, 2798, 3556, 2806, 2791, 2771, 3571, 6475, 3574, + 2759, 3577, 3580, 3597, 3600, 3611, 3615, 3618, 3621, 3630, + 3636, 3644, 2760, 2760, 2759, 3648, 2754, 3651, 6475, 6475, + 3663, 3667, 6475, 6475, 3675, 6475, 878, 1016, 360, 2753, + 3678, 3682, 2741, 2732, 3690, 3696, 2728, 2732, 3699, 2729, + 2728, 3702, 3712, 3715, 2725, 3718, 3721, 3724, 3727, 2723, + 2718, 2717, 3730, 6475, 2695, 2710, 3733, 3736, 3739, 2717, + 2709, 2707, 2704, 2696, 2698, 2693, 2690, 2693, 2685, 3754, + 3757, 3760, 3768, 2660, 2662, 2660, 2650, 1013, 1063, 2644, + 3775, 3778, 3786, 6475, 6475, 3794, 6475, 6475, 3802, 3805, + + 3813, 6475, 6475, 3821, 3824, 2644, 3827, 3830, 2645, 2631, + 1117, 1180, 2634, 3845, 6475, 2622, 3848, 6475, 6475, 3857, + 6475, 6475, 3865, 3868, 3871, 6475, 6475, 3887, 6475, 6475, + 3896, 3899, 2628, 2620, 3902, 2608, 3905, 3908, 241, 1394, + 3917, 3932, 6475, 6475, 2614, 2599, 3927, 3940, 3946, 2586, + 3949, 3952, 3955, 3958, 2574, 3964, 3967, 2573, 2564, 6475, + 3970, 2563, 3973, 6475, 3976, 6475, 6475, 2600, 2571, 2583, + 2576, 2573, 2566, 2551, 2562, 2556, 2559, 3984, 3988, 6475, + 6475, 3996, 2519, 2522, 2517, 2512, 2538, 2557, 2528, 2543, + 2498, 3999, 6475, 6475, 4007, 6475, 6475, 4015, 4018, 6475, + + 4021, 4024, 6475, 6475, 2488, 2467, 2495, 2497, 2472, 2472, + 2430, 4042, 4045, 4048, 4051, 4054, 4058, 4072, 2408, 4075, + 4078, 4081, 4084, 852, 990, 4090, 4094, 2392, 4105, 4112, + 2376, 4115, 4118, 2380, 2377, 2348, 4124, 4127, 2346, 2356, + 2322, 2276, 2248, 2252, 2247, 2238, 61, 198, 289, 4135, + 383, 409, 437, 452, 553, 6475, 551, 6475, 4138, 4144, + 6475, 4147, 4150, 549, 556, 567, 620, 6475, 655, 6475, + 4158, 4165, 4168, 6475, 4171, 4176, 4180, 6475, 6475, 4195, + 4198, 4206, 4209, 6475, 4213, 4216, 1074, 1098, 1122, 4219, + 4224, 4240, 4243, 6475, 638, 676, 707, 4246, 4249, 1168, 1219, 700, 752, 761, 856, 881, 986, 963, 1000, 1017, - 1021, 1067, 4262, 1045, 1029, 1104, 1103, 6479, 6479, 4268, - 4271, 4282, 6479, 6479, 1161, 1167, 1164, 6479, 6479, 4290, - 4293, 4301, 6479, 4304, 4308, 6479, 6479, 4323, 4326, 4334, - 6479, 1287, 1450, 1512, 4337, 6479, 6479, 4345, 4349, 4357, - 1222, 1226, 4363, 4367, 1238, 1256, 1282, 1319, 1294, 1345, - 1353, 1362, 1376, 6479, 1408, 1405, 1414, 1419, 6479, 4375, - 4381, 4384, 1419, 1422, 4387, 6479, 6479, 1421, 4395, 1448, - 4398, 6479, 6479, 4406, 4409, 6479, 6479, 1510, 1584, 4417, - 4429, 6479, 6479, 4420, 1455, 1456, 4437, 6479, 6479, 1500, - - 1493, 1507, 1499, 4445, 1511, 1540, 1563, 1563, 1573, 1591, - 1606, 1596, 4448, 4451, 4455, 4463, 1568, 1559, 1562, 1577, - 4458, 4476, 1560, 4484, 1647, 4487, 4490, 4496, 4509, 4515, - 1596, 1613, 1605, 1663, 4518, 4521, 1660, 1661, 6479, 1662, - 1668, 1678, 6479, 1680, 4529, 4532, 6479, 6479, 1657, 1663, - 1680, 1705, 4540, 4544, 6479, 6479, 4552, 4558, 6479, 1734, - 4561, 4564, 4583, 4603, 4647, 4572, 4592, 1727, 1749, 1739, - 1759, 4623, 6479, 6479, 1770, 1771, 1791, 1815, 1794, 1797, - 4596, 1779, 1788, 1798, 1801, 4615, 4633, 4641, 4667, 1884, - 4675, 1947, 1880, 4695, 4739, 1852, 6479, 1854, 6479, 6479, - - 1863, 1884, 6479, 1883, 1890, 4685, 6479, 1852, 1839, 1873, - 1878, 4715, 6479, 6479, 4723, 1931, 1986, 1931, 2073, 1940, - 1937, 2013, 1936, 4690, 1948, 2010, 6479, 6479, 6479, 6479, - 4731, 4750, 4759, 4762, 2009, 2005, 2015, 2025, 4768, 2058, - 2055, 2076, 4771, 2108, 2106, 4782, 4790, 4803, 4806, 4814, - 4821, 2055, 4832, 4835, 2080, 2098, 2085, 2104, 4843, 2123, - 6479, 6479, 4846, 6479, 6479, 4855, 6479, 6479, 4863, 6479, - 6479, 2094, 4871, 6479, 6479, 2116, 2118, 2121, 2122, 2164, - 6479, 2113, 2133, 2148, 2146, 2151, 2162, 2113, 2144, 2161, - 2151, 2184, 2191, 4880, 2191, 2212, 2200, 2230, 2231, 4883, - - 4886, 2234, 6479, 2233, 6479, 2249, 4894, 6479, 6479, 6479, - 6479, 4902, 4905, 2232, 2241, 2292, 2345, 2296, 2351, 2250, + 1021, 1067, 4258, 1045, 1029, 1104, 1103, 6475, 6475, 4264, + 4267, 4278, 6475, 6475, 1161, 1167, 1164, 6475, 6475, 4286, + 4289, 4297, 6475, 4300, 4304, 6475, 6475, 4319, 4322, 4330, + 6475, 1287, 1450, 1512, 4333, 6475, 6475, 4341, 4345, 4353, + 1222, 1226, 4359, 4363, 1238, 1256, 1282, 1319, 1294, 1345, + 1353, 1362, 1376, 6475, 1408, 1405, 1414, 1419, 6475, 4371, + 4377, 4380, 1419, 1422, 4383, 6475, 6475, 1421, 4391, 1448, + 4394, 6475, 6475, 4402, 4405, 6475, 6475, 1510, 1584, 4413, + 4425, 6475, 6475, 4416, 1455, 1456, 4433, 6475, 6475, 1500, + + 1493, 1507, 1499, 4441, 1511, 1540, 1563, 1563, 1573, 1591, + 1606, 1596, 4444, 4447, 4451, 4459, 1568, 1559, 1562, 1577, + 4454, 4472, 1560, 4480, 1647, 4483, 4486, 4492, 4505, 4511, + 1596, 1613, 1605, 1663, 4514, 4517, 1660, 1661, 6475, 1662, + 1668, 1678, 6475, 1680, 4525, 4528, 6475, 6475, 1657, 1663, + 1680, 1705, 4536, 4540, 6475, 6475, 4548, 4554, 6475, 1734, + 4557, 4560, 4579, 4599, 4643, 4568, 4588, 1727, 1749, 1739, + 1759, 4619, 6475, 6475, 1770, 1771, 1791, 1815, 1794, 1797, + 4592, 1779, 1788, 1798, 1801, 4611, 4629, 4637, 4663, 1884, + 4671, 1947, 1880, 4691, 4735, 1852, 6475, 1854, 6475, 6475, + + 1863, 1884, 6475, 1883, 1890, 4681, 6475, 1852, 1839, 1873, + 1878, 4711, 6475, 6475, 4719, 1931, 1986, 1931, 2073, 1940, + 1937, 2013, 1936, 4686, 1948, 2010, 6475, 6475, 6475, 6475, + 4727, 4746, 4755, 4758, 2009, 2005, 2015, 2025, 4764, 2058, + 2055, 2076, 4767, 2108, 2106, 4778, 4786, 4799, 4802, 4810, + 4817, 2055, 4828, 4831, 2080, 2098, 2085, 2104, 4839, 2123, + 6475, 6475, 4842, 6475, 6475, 4851, 6475, 6475, 4859, 6475, + 6475, 2094, 4867, 6475, 6475, 2116, 2118, 2121, 2122, 2164, + 6475, 2113, 2133, 2148, 2146, 2151, 2162, 2113, 2144, 2161, + 2151, 2184, 2191, 4876, 2191, 2212, 2200, 2230, 2231, 4879, + + 4882, 2234, 6475, 2233, 6475, 2249, 4890, 6475, 6475, 6475, + 6475, 4898, 4901, 2232, 2241, 2292, 2345, 2296, 2351, 2250, 2293, 2281, 2334, 2348, 2355, 2223, 2394, 2285, 2449, 2412, - 2476, 2352, 2414, 2482, 2500, 2492, 2331, 4913, 4916, 6479, - 6479, 4936, 4945, 4954, 4963, 4972, 4981, 4990, 4999, 5008, - 5017, 5026, 5035, 5044, 5053, 5062, 5071, 5080, 5089, 5098, - 5107, 5116, 5125, 5134, 5143, 5152, 5161, 5170, 5179, 5188, - 5197, 5206, 5215, 5224, 5233, 5242, 5251, 5258, 5265, 5272, - 5279, 5286, 5293, 5300, 5307, 5314, 5321, 5328, 5335, 5342, - 5349, 5356, 5363, 5372, 5377, 5382, 5387, 5392, 5397, 5402, - - 5407, 5412, 5417, 5422, 5429, 5434, 5441, 5446, 5453, 5458, - 5465, 5470, 5477, 5482, 5489, 5494, 5503, 5509, 5516, 5524, - 5531, 5539, 5546, 5554, 5561, 5569, 5576, 5584, 5591, 5599, - 5606, 5614, 5622, 5629, 5637, 5645, 5653, 5661, 5669, 5677, - 5685, 5693, 5700, 5708, 5715, 5723, 5730, 5738, 5747, 5753, - 5760, 5768, 5776, 5784, 5791, 5799, 5806, 5814, 5821, 5829, - 5836, 5844, 5851, 5859, 5867, 5874, 5882, 5890, 5897, 5905, - 5913, 5920, 5928, 5935, 5943, 5950, 5958, 5965, 5973, 5982, - 5991, 5998, 6006, 6013, 6021, 6028, 6036, 6043, 6051, 6058, - 6065, 6073, 6081, 6089, 6097, 6104, 6112, 6120, 6127, 6135, - - 6143, 6150, 6158, 6165, 6173, 6181, 6189, 6197, 6205, 6214, - 6223, 6230, 6238, 6245, 6253, 6260, 6268, 6275, 6283, 6290, - 6297, 6305, 6313, 6321, 6329, 6336, 6344, 6352, 6360, 6368, - 6376, 6384, 6392, 6399, 6407, 6415, 6424, 6433, 6442, 6451, - 6460, 6469 + 2476, 2352, 2414, 2482, 2500, 2492, 2331, 4909, 4912, 6475, + 6475, 4932, 4941, 4950, 4959, 4968, 4977, 4986, 4995, 5004, + 5013, 5022, 5031, 5040, 5049, 5058, 5067, 5076, 5085, 5094, + 5103, 5112, 5121, 5130, 5139, 5148, 5157, 5166, 5175, 5184, + 5193, 5202, 5211, 5220, 5229, 5238, 5247, 5254, 5261, 5268, + 5275, 5282, 5289, 5296, 5303, 5310, 5317, 5324, 5331, 5338, + 5345, 5352, 5359, 5368, 5373, 5378, 5383, 5388, 5393, 5398, + + 5403, 5408, 5413, 5418, 5425, 5430, 5437, 5442, 5449, 5454, + 5461, 5466, 5473, 5478, 5485, 5490, 5499, 5505, 5512, 5520, + 5527, 5535, 5542, 5550, 5557, 5565, 5572, 5580, 5587, 5595, + 5602, 5610, 5618, 5625, 5633, 5641, 5649, 5657, 5665, 5673, + 5681, 5689, 5696, 5704, 5711, 5719, 5726, 5734, 5743, 5749, + 5756, 5764, 5772, 5780, 5787, 5795, 5802, 5810, 5817, 5825, + 5832, 5840, 5847, 5855, 5863, 5870, 5878, 5886, 5893, 5901, + 5909, 5916, 5924, 5931, 5939, 5946, 5954, 5961, 5969, 5978, + 5987, 5994, 6002, 6009, 6017, 6024, 6032, 6039, 6047, 6054, + 6061, 6069, 6077, 6085, 6093, 6100, 6108, 6116, 6123, 6131, + + 6139, 6146, 6154, 6161, 6169, 6177, 6185, 6193, 6201, 6210, + 6219, 6226, 6234, 6241, 6249, 6256, 6264, 6271, 6279, 6286, + 6293, 6301, 6309, 6317, 6325, 6332, 6340, 6348, 6356, 6364, + 6372, 6380, 6388, 6395, 6403, 6411, 6420, 6429, 6438, 6447, + 6456, 6465 } ; static yyconst flex_int16_t yy_def[2043] = @@ -1120,7 +1120,7 @@ static yyconst flex_int16_t yy_def[2043] = 1841, 1841 } ; -static yyconst flex_int16_t yy_nxt[6549] = +static yyconst flex_int16_t yy_nxt[6545] = { 0, 1841, 178, 179, 178, 178, 179, 178, 178, 179, 178, 178, 179, 178, 183, 179, 183, 189, 180, 186, 189, @@ -1426,20 +1426,20 @@ static yyconst flex_int16_t yy_nxt[6549] = 892, 892, 892, 892, 892, 1370, 1369, 1018, 1018, 1018, 1368, 894, 720, 720, 720, 1362, 1361, 894, 1010, 1360, 894, 1032, 1032, 1032, 1013, 1019, 1020, 1040, 1040, 1040, - 722, 1041, 1041, 1041, 1359, 1033, 928, 928, 928, 1050, - 1050, 1050, 1358, 1051, 1355, 1033, 1052, 753, 753, 753, - 934, 934, 934, 929, 935, 1353, 1352, 936, 1350, 1015, - - 937, 937, 937, 1349, 1346, 755, 1057, 1057, 1057, 1345, - 1058, 1341, 1336, 1059, 1026, 1334, 1333, 938, 939, 939, - 939, 1332, 940, 1316, 1313, 941, 767, 767, 767, 1062, - 1062, 1062, 1312, 1055, 946, 946, 946, 1311, 1064, 1064, - 1064, 1310, 1065, 1306, 769, 1066, 1067, 1067, 1067, 1290, - 1289, 947, 775, 775, 775, 1288, 951, 951, 951, 1076, - 1076, 1076, 1287, 1068, 1078, 1078, 1078, 798, 798, 798, - 777, 1286, 1285, 1061, 952, 1284, 1077, 1083, 1083, 1083, - 1283, 1079, 1841, 1841, 1841, 800, 964, 964, 964, 1279, - 965, 1276, 1275, 966, 1084, 1086, 1086, 1086, 1069, 1841, + 722, 1359, 1041, 1041, 1041, 928, 928, 928, 1050, 1050, + 1050, 1358, 1051, 1355, 1353, 1052, 1352, 753, 753, 753, + 1350, 1349, 929, 934, 934, 934, 1346, 935, 1345, 1015, + + 936, 937, 937, 937, 1033, 755, 1057, 1057, 1057, 1341, + 1058, 1336, 1334, 1059, 1026, 1033, 1333, 1332, 938, 939, + 939, 939, 1316, 940, 1313, 1312, 941, 767, 767, 767, + 1062, 1062, 1062, 1055, 946, 946, 946, 1064, 1064, 1064, + 1311, 1065, 1310, 1306, 1066, 769, 1067, 1067, 1067, 1290, + 1289, 947, 775, 775, 775, 951, 951, 951, 1076, 1076, + 1076, 1288, 1287, 1068, 1078, 1078, 1078, 798, 798, 798, + 777, 1286, 1285, 952, 1061, 1077, 1083, 1083, 1083, 1284, + 1283, 1079, 1841, 1841, 1841, 800, 1279, 964, 964, 964, + 1276, 965, 1275, 1084, 966, 1086, 1086, 1086, 1069, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1274, 1080, 1841, 1841, 1841, 1271, 1087, 1270, 816, 816, 816, 1841, 1266, 1265, @@ -1448,392 +1448,392 @@ static yyconst flex_int16_t yy_nxt[6549] = 1031, 1031, 1031, 1097, 1085, 1258, 1256, 1089, 978, 978, 978, 836, 979, 1255, 844, 980, 981, 981, 981, 1252, 982, 1251, 1250, 983, 1249, 1248, 1088, 1247, 1246, 1098, - 1041, 1041, 1041, 1244, 1090, 1091, 1243, 1240, 986, 986, - 986, 1227, 987, 1092, 1101, 988, 1099, 991, 991, 991, - 1225, 992, 1224, 1223, 993, 853, 853, 853, 1100, 1211, - - 860, 860, 860, 996, 996, 996, 1207, 997, 1203, 1202, - 998, 1201, 1183, 855, 1182, 1001, 1001, 1001, 862, 1002, - 1175, 1174, 1003, 870, 870, 870, 1006, 1006, 1006, 1110, - 1110, 1110, 1173, 1111, 1172, 1171, 1112, 878, 878, 878, - 1170, 872, 1157, 1007, 1117, 1117, 1117, 884, 884, 884, - 1155, 1154, 1104, 1105, 1152, 880, 1120, 1120, 1120, 1151, - 1148, 1118, 892, 892, 892, 886, 1147, 1108, 1018, 1018, - 1018, 1144, 1139, 1121, 720, 720, 720, 1032, 1032, 1032, - 894, 1138, 1137, 1115, 1136, 1135, 1019, 1036, 1036, 1036, - 1134, 1133, 722, 1140, 1140, 1140, 1132, 1142, 1142, 1142, - - 1040, 1040, 1040, 1041, 1041, 1041, 1145, 1145, 1145, 1128, - 1119, 1143, 1140, 1140, 1140, 1127, 1124, 1149, 1149, 1149, - 1122, 1126, 1019, 1131, 1145, 1145, 1145, 1149, 1149, 1149, - 1116, 1143, 1125, 1050, 1050, 1050, 1114, 1051, 1113, 1109, - 1052, 1150, 753, 753, 753, 1057, 1057, 1057, 1107, 1058, - 1106, 1103, 1059, 1141, 1102, 767, 767, 767, 1095, 1094, - 755, 1062, 1062, 1062, 1093, 1081, 1146, 1064, 1064, 1064, - 1075, 1065, 1146, 769, 1066, 1067, 1067, 1067, 1166, 1166, - 1166, 1074, 1167, 1073, 1141, 1168, 775, 775, 775, 1072, - 1153, 1071, 1068, 1076, 1076, 1076, 1176, 1176, 1176, 1070, - - 1177, 1063, 1060, 1178, 777, 1078, 1078, 1078, 1056, 1054, - 1077, 1053, 1156, 1179, 1179, 1179, 1049, 1180, 1048, 1047, - 1181, 1046, 1079, 1184, 1184, 1184, 1083, 1083, 1083, 1186, - 1186, 1186, 1045, 1187, 1169, 1044, 1188, 1189, 1189, 1189, - 1043, 1185, 1042, 1084, 1086, 1086, 1086, 1039, 1191, 1191, - 1191, 1038, 1192, 1037, 1190, 1193, 1194, 1194, 1194, 1035, - 1034, 1087, 1841, 1841, 1841, 1197, 1197, 1197, 816, 816, - 816, 1030, 1029, 1195, 823, 823, 823, 1028, 1027, 1841, - 1025, 1024, 1198, 1096, 1096, 1096, 818, 1204, 1204, 1204, - 1023, 1205, 825, 1022, 1206, 1208, 1208, 1208, 1021, 1014, - - 1097, 842, 842, 842, 1212, 1212, 1212, 1214, 1214, 1214, - 853, 853, 853, 1209, 1012, 1011, 1196, 1009, 1008, 844, - 1005, 1213, 1200, 1000, 1215, 860, 860, 860, 855, 999, - 1199, 1218, 1218, 1218, 1220, 1220, 1220, 990, 989, 1217, - 870, 870, 870, 862, 878, 878, 878, 985, 1219, 1210, - 976, 1221, 1110, 1110, 1110, 975, 1111, 974, 872, 1112, - 973, 970, 880, 1117, 1117, 1117, 969, 1228, 1228, 1228, - 968, 1229, 967, 1216, 1230, 884, 884, 884, 963, 962, - 1118, 1120, 1120, 1120, 1232, 1232, 1232, 960, 1233, 959, - 958, 1234, 1226, 886, 1235, 1235, 1235, 957, 1121, 956, - - 955, 1222, 1241, 1241, 1241, 720, 720, 720, 1253, 1253, - 1253, 954, 1236, 1140, 1140, 1140, 1254, 1254, 1254, 1242, - 1142, 1142, 1142, 722, 1145, 1145, 1145, 1257, 1257, 1257, - 1231, 1259, 1259, 1259, 1149, 1149, 1149, 1263, 1263, 1263, - 767, 767, 767, 1268, 1268, 1268, 1166, 1166, 1166, 953, - 1167, 950, 948, 1168, 945, 1264, 942, 933, 769, 931, - 1269, 927, 1245, 775, 775, 775, 1281, 1281, 1281, 1176, - 1176, 1176, 926, 1177, 925, 924, 1178, 1280, 1179, 1179, - 1179, 777, 1180, 1282, 923, 1181, 1291, 1291, 1291, 1184, - 1184, 1184, 1186, 1186, 1186, 1267, 1187, 922, 921, 1188, - - 1189, 1189, 1189, 1292, 1293, 1293, 1293, 1185, 1294, 919, - 918, 1295, 1191, 1191, 1191, 917, 1192, 1190, 916, 1193, - 1194, 1194, 1194, 1296, 1296, 1296, 915, 1297, 912, 911, - 1298, 1299, 1299, 1299, 1197, 1197, 1197, 1195, 1301, 1301, - 1301, 910, 1302, 909, 908, 1303, 907, 906, 1300, 904, - 903, 1198, 816, 816, 816, 823, 823, 823, 1307, 1307, - 1307, 1204, 1204, 1204, 902, 1205, 901, 900, 1206, 899, - 818, 898, 897, 825, 706, 1308, 1208, 1208, 1208, 1314, - 1314, 1314, 1212, 1212, 1212, 1317, 1317, 1317, 891, 1318, - 883, 882, 1319, 877, 1209, 876, 875, 1315, 874, 1213, - - 1304, 1309, 1214, 1214, 1214, 1320, 1320, 1320, 846, 1321, - 833, 832, 1322, 831, 827, 1305, 853, 853, 853, 1215, - 860, 860, 860, 1218, 1218, 1218, 1325, 1325, 1325, 815, - 1326, 814, 813, 1327, 855, 1220, 1220, 1220, 862, 812, - 1219, 1328, 1328, 1328, 797, 1329, 796, 795, 1330, 870, - 870, 870, 1221, 878, 878, 878, 1228, 1228, 1228, 794, - 1229, 793, 789, 1230, 788, 782, 1324, 872, 884, 884, - 884, 880, 1232, 1232, 1232, 774, 1233, 773, 1323, 1234, - 1235, 1235, 1235, 1241, 1241, 1241, 886, 1342, 1342, 1342, - 772, 1343, 771, 766, 1344, 720, 720, 720, 1236, 763, - - 1242, 1348, 1348, 1348, 1351, 1351, 1351, 1354, 1354, 1354, - 1331, 757, 752, 722, 1335, 751, 1337, 1253, 1253, 1253, - 1254, 1254, 1254, 1356, 1356, 1356, 1257, 1257, 1257, 1357, - 1357, 1357, 1259, 1259, 1259, 1263, 1263, 1263, 1363, 1363, - 1363, 1268, 1268, 1268, 1365, 1365, 1365, 747, 1366, 746, - 745, 1367, 744, 1264, 743, 1347, 1364, 742, 1269, 775, - 775, 775, 1281, 1281, 1281, 1379, 1379, 1379, 741, 1380, - 739, 738, 1381, 1382, 1382, 1382, 737, 777, 736, 1282, - 1291, 1291, 1291, 1392, 1392, 1392, 735, 1393, 734, 733, - 1394, 1293, 1293, 1293, 732, 1294, 731, 1292, 1295, 1296, - - 1296, 1296, 730, 1297, 729, 1378, 1298, 1299, 1299, 1299, - 1395, 1395, 1395, 728, 1396, 727, 726, 1397, 1301, 1301, - 1301, 719, 1302, 718, 1300, 1303, 816, 816, 816, 1399, - 1399, 1399, 1307, 1307, 1307, 1402, 1402, 1402, 717, 1403, - 716, 715, 1404, 714, 818, 713, 712, 1400, 709, 1308, - 1314, 1314, 1314, 1317, 1317, 1317, 707, 1318, 706, 704, - 1319, 702, 1320, 1320, 1320, 699, 1321, 697, 1315, 1322, - 853, 853, 853, 860, 860, 860, 1325, 1325, 1325, 696, - 1326, 695, 693, 1327, 692, 691, 1398, 690, 855, 689, - 687, 862, 1328, 1328, 1328, 686, 1329, 685, 684, 1330, - - 680, 870, 870, 870, 1416, 1416, 1416, 878, 878, 878, - 884, 884, 884, 1423, 1423, 1423, 678, 677, 1413, 872, - 676, 1417, 1426, 1426, 1426, 880, 675, 674, 886, 672, - 671, 706, 720, 720, 720, 1414, 1415, 1342, 1342, 1342, - 670, 1343, 668, 667, 1344, 1348, 1348, 1348, 666, 663, - 722, 1430, 1430, 1430, 1351, 1351, 1351, 1432, 1432, 1432, - 1433, 1433, 1433, 1354, 1354, 1354, 1422, 662, 1420, 1356, - 1356, 1356, 1357, 1357, 1357, 1437, 1437, 1437, 1363, 1363, - 1363, 1365, 1365, 1365, 658, 1366, 656, 1429, 1367, 775, - 775, 775, 1438, 1379, 1379, 1379, 1364, 1380, 655, 654, - - 1381, 1382, 1382, 1382, 1392, 1392, 1392, 777, 1393, 653, - 652, 1394, 1395, 1395, 1395, 647, 1396, 646, 644, 1397, - 1460, 1460, 1460, 1399, 1399, 1399, 1462, 1462, 1462, 1402, - 1402, 1402, 643, 1403, 642, 641, 1404, 640, 1461, 637, - 636, 1400, 635, 1463, 634, 633, 1450, 1472, 1472, 1472, - 1473, 1473, 1473, 860, 860, 860, 870, 870, 870, 1416, - 1416, 1416, 631, 1477, 1477, 1477, 628, 1478, 1474, 1464, - 1479, 862, 626, 625, 872, 624, 1417, 1480, 1480, 1480, - 1483, 1483, 1483, 1485, 1485, 1485, 884, 884, 884, 1423, - 1423, 1423, 622, 620, 1481, 1426, 1426, 1426, 1484, 1490, - - 1490, 1490, 619, 618, 886, 617, 614, 706, 613, 1475, - 1493, 1493, 1493, 1476, 612, 609, 1491, 1430, 1430, 1430, - 1432, 1432, 1432, 1433, 1433, 1433, 606, 605, 1494, 1437, - 1437, 1437, 1499, 1499, 1499, 603, 1500, 600, 599, 1501, - 775, 775, 775, 1520, 1520, 1520, 1438, 1487, 1486, 1460, - 1460, 1460, 1462, 1462, 1462, 1522, 1522, 1522, 777, 1523, - 1521, 596, 1524, 1530, 1530, 1530, 595, 1461, 594, 1463, - 1472, 1472, 1472, 1473, 1473, 1473, 1532, 1532, 1532, 589, - 1531, 870, 870, 870, 588, 1477, 1477, 1477, 587, 1478, - 586, 1474, 1479, 585, 1533, 584, 1513, 583, 581, 872, - - 1480, 1480, 1480, 1535, 1535, 1535, 580, 1536, 579, 578, - 1537, 1538, 1538, 1538, 1483, 1483, 1483, 1481, 1485, 1485, - 1485, 1540, 1540, 1540, 1490, 1490, 1490, 577, 1539, 1545, - 1545, 1545, 1484, 1546, 576, 575, 1547, 570, 567, 1541, - 569, 1491, 564, 563, 1534, 1548, 1548, 1548, 1493, 1493, - 1493, 1553, 1553, 1553, 1499, 1499, 1499, 561, 1500, 559, - 557, 1501, 1549, 775, 775, 775, 1494, 555, 1554, 1520, - 1520, 1520, 1575, 1575, 1575, 1841, 1576, 554, 553, 1577, - 552, 777, 551, 1522, 1522, 1522, 1521, 1523, 549, 548, - 1524, 1530, 1530, 1530, 1581, 1581, 1581, 547, 1582, 546, - - 545, 1583, 1532, 1532, 1532, 870, 870, 870, 1531, 1535, - 1535, 1535, 543, 1536, 541, 539, 1537, 538, 537, 1570, - 1533, 536, 535, 872, 1538, 1538, 1538, 1585, 1585, 1585, - 533, 1586, 531, 530, 1587, 1540, 1540, 1540, 1545, 1545, - 1545, 1539, 1546, 529, 527, 1547, 1548, 1548, 1548, 526, - 1591, 1591, 1591, 1541, 1592, 523, 522, 1593, 1594, 1594, - 1594, 521, 519, 1549, 1553, 1553, 1553, 1584, 1597, 1597, - 1597, 517, 1598, 515, 513, 1599, 775, 775, 775, 512, - 509, 1554, 1614, 1614, 1614, 1615, 1615, 1615, 1575, 1575, - 1575, 508, 1576, 504, 777, 1577, 1621, 1621, 1621, 1581, - - 1581, 1581, 1616, 1582, 503, 502, 1583, 870, 870, 870, - 1585, 1585, 1585, 1622, 1586, 501, 500, 1587, 1627, 1627, - 1627, 1594, 1594, 1594, 1613, 872, 499, 496, 1617, 494, - 1591, 1591, 1591, 488, 1592, 1628, 1019, 1593, 1597, 1597, - 1597, 453, 1598, 487, 486, 1599, 1635, 1635, 1635, 775, - 775, 775, 1614, 1614, 1614, 1624, 1615, 1615, 1615, 1621, - 1621, 1621, 484, 1636, 1646, 1646, 1646, 777, 1647, 482, - 481, 1648, 480, 1616, 478, 476, 1622, 1654, 1654, 1654, - 475, 1655, 471, 470, 1656, 1658, 1658, 1658, 1661, 1661, - 1661, 1627, 1627, 1627, 468, 1645, 467, 1663, 1663, 1663, - - 464, 1664, 463, 1659, 1665, 1662, 1019, 462, 1628, 1019, - 1666, 1666, 1666, 460, 1841, 1019, 1667, 1667, 1667, 1635, - 1635, 1635, 1672, 1672, 1672, 438, 1673, 437, 435, 1674, - 775, 775, 775, 1646, 1646, 1646, 1636, 1647, 433, 427, - 1648, 1686, 1686, 1686, 426, 1654, 1654, 1654, 777, 1655, - 427, 426, 1656, 1688, 1688, 1688, 425, 424, 1687, 1658, - 1658, 1658, 1661, 1661, 1661, 1691, 1691, 1691, 1841, 1692, - 1689, 1841, 1693, 1666, 1666, 1666, 1841, 1659, 1841, 1662, - 1019, 1841, 1841, 1019, 1663, 1663, 1663, 1841, 1664, 1841, - 1841, 1665, 1681, 1667, 1667, 1667, 1841, 1706, 1706, 1706, - - 1841, 1841, 1019, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1841, 1841, 1017, 1707, 1686, 1686, 1686, 1017, - 1017, 1017, 1019, 1017, 1672, 1672, 1672, 1841, 1673, 1841, - 1841, 1674, 1841, 1687, 1712, 1712, 1712, 1841, 1713, 1841, - 1841, 1714, 1688, 1688, 1688, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1841, 1841, 1017, 1689, - 1841, 1841, 1841, 1017, 1017, 1017, 1019, 1017, 1715, 1715, - 1715, 1841, 1716, 1841, 1841, 1717, 1691, 1691, 1691, 1841, - 1692, 1841, 1841, 1693, 1841, 1841, 1706, 1706, 1706, 1017, - 1017, 1743, 1743, 1743, 1019, 1017, 1017, 1017, 1017, 1017, - - 1724, 1017, 1017, 1017, 1707, 1841, 1017, 1841, 1841, 1019, - 1020, 1017, 1017, 1017, 1019, 1017, 1712, 1712, 1712, 1841, - 1713, 1841, 1841, 1714, 1715, 1715, 1715, 1841, 1716, 1841, - 1841, 1717, 1746, 1746, 1746, 1841, 1841, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1724, 1841, 1747, - 1017, 1748, 1748, 1748, 1841, 1017, 1017, 1017, 1019, 1017, - 1750, 1750, 1750, 1753, 1753, 1753, 1841, 1841, 1749, 1759, - 1759, 1759, 1743, 1743, 1743, 1841, 1841, 1751, 1841, 1841, - 1754, 1017, 1017, 1746, 1746, 1746, 1841, 706, 1841, 1841, - 1019, 1763, 1763, 1763, 1841, 1764, 1841, 1841, 1765, 1841, - - 1747, 1841, 1841, 1752, 1748, 1748, 1748, 1766, 1766, 1766, - 1841, 1767, 1841, 1841, 1768, 1750, 1750, 1750, 1841, 1841, - 1124, 1749, 1769, 1769, 1769, 1841, 1770, 1841, 1841, 1771, - 1841, 1841, 1751, 1753, 1753, 1753, 1773, 1773, 1773, 1841, - 1774, 1841, 1841, 1775, 1759, 1759, 1759, 1763, 1763, 1763, - 1754, 1764, 1841, 1841, 1765, 1841, 1766, 1766, 1766, 1841, - 1767, 1841, 706, 1768, 1769, 1769, 1769, 1841, 1770, 1841, - 1841, 1771, 1773, 1773, 1773, 1841, 1774, 1841, 1841, 1775, - 1780, 1800, 1800, 1800, 1800, 1800, 1800, 1807, 1807, 1807, - 1841, 1808, 1841, 1841, 1809, 1807, 1807, 1807, 1801, 1808, - - 1841, 1801, 1809, 1813, 1813, 1813, 1813, 1813, 1813, 1841, - 1814, 1841, 1841, 1815, 1839, 1839, 1839, 1839, 1839, 1839, - 1841, 706, 1841, 1841, 706, 1841, 1841, 1841, 1841, 1841, - 1841, 1841, 1840, 1841, 1841, 1840, 176, 176, 176, 176, - 176, 176, 176, 176, 176, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 182, 182, 182, 182, 182, 182, - 182, 182, 182, 185, 185, 185, 185, 185, 185, 185, - 185, 185, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 206, - - 206, 206, 206, 206, 206, 206, 206, 206, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 260, 260, 260, 260, 260, 260, 260, 260, - 260, 265, 265, 265, 265, 265, 265, 265, 265, 265, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 307, - 307, 307, 307, 307, 307, 307, 307, 307, 313, 313, - - 313, 313, 313, 313, 313, 313, 313, 317, 317, 317, - 317, 317, 317, 317, 317, 317, 323, 323, 323, 323, - 323, 323, 323, 323, 323, 330, 330, 330, 330, 330, - 330, 330, 330, 330, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 342, 342, 342, 342, 342, 342, 342, - 342, 342, 350, 350, 350, 350, 350, 350, 350, 350, - 350, 356, 356, 356, 356, 356, 356, 356, 356, 356, - 363, 363, 363, 363, 363, 363, 363, 363, 363, 367, - 367, 367, 367, 367, 367, 367, 367, 367, 373, 373, - 373, 373, 373, 373, 373, 373, 373, 379, 379, 379, - - 379, 379, 379, 379, 379, 379, 386, 386, 386, 386, - 386, 386, 386, 386, 386, 393, 393, 393, 393, 393, - 393, 393, 393, 393, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 405, 405, 405, 405, 405, 405, 405, - 405, 405, 411, 411, 411, 411, 411, 411, 411, 411, - 411, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 436, 436, 436, 1841, 1841, 1841, 436, 461, 461, 461, - 1841, 1841, 1841, 461, 469, 469, 469, 1841, 1841, 1841, - 469, 479, 479, 479, 1841, 1841, 1841, 479, 485, 485, - 485, 1841, 1841, 1841, 485, 495, 495, 495, 1841, 1841, + 1041, 1041, 1041, 1244, 1090, 1091, 1243, 986, 986, 986, + 1240, 987, 1227, 1092, 988, 1225, 1099, 991, 991, 991, + 1224, 992, 1223, 1211, 993, 1032, 1032, 1032, 1100, 853, + + 853, 853, 860, 860, 860, 996, 996, 996, 1207, 997, + 1203, 1202, 998, 1101, 1001, 1001, 1001, 855, 1002, 1201, + 862, 1003, 870, 870, 870, 1006, 1006, 1006, 1110, 1110, + 1110, 1183, 1111, 1182, 1175, 1112, 878, 878, 878, 1174, + 872, 1173, 1007, 1117, 1117, 1117, 884, 884, 884, 1172, + 1120, 1120, 1120, 1171, 880, 1105, 1104, 892, 892, 892, + 1118, 720, 720, 720, 886, 1170, 1108, 1121, 1018, 1018, + 1018, 1036, 1036, 1036, 1157, 894, 1140, 1140, 1140, 722, + 1155, 1154, 1115, 1142, 1142, 1142, 1019, 1040, 1040, 1040, + 1041, 1041, 1041, 1145, 1145, 1145, 1140, 1140, 1140, 1149, + + 1149, 1149, 1145, 1145, 1145, 1149, 1149, 1149, 1152, 1119, + 1131, 753, 753, 753, 1151, 1122, 1124, 1050, 1050, 1050, + 1148, 1051, 1147, 1144, 1052, 1139, 1143, 1138, 1137, 755, + 1136, 1135, 1125, 1057, 1057, 1057, 1141, 1058, 1134, 1133, + 1059, 1132, 1143, 767, 767, 767, 1128, 1127, 1150, 1062, + 1062, 1062, 1126, 1146, 1019, 1116, 1146, 1114, 1113, 1153, + 1109, 769, 1141, 1064, 1064, 1064, 1107, 1065, 1106, 1103, + 1066, 1067, 1067, 1067, 1166, 1166, 1166, 1102, 1167, 1095, + 1094, 1168, 1093, 775, 775, 775, 1081, 1075, 1068, 1076, + 1076, 1076, 1176, 1176, 1176, 1074, 1177, 1073, 1072, 1178, + + 1156, 777, 1078, 1078, 1078, 1071, 1077, 1179, 1179, 1179, + 1070, 1180, 1063, 1060, 1181, 1184, 1184, 1184, 1056, 1079, + 1083, 1083, 1083, 1186, 1186, 1186, 1054, 1187, 1053, 1049, + 1188, 1169, 1048, 1185, 1189, 1189, 1189, 1084, 1086, 1086, + 1086, 1191, 1191, 1191, 1047, 1192, 1046, 1045, 1193, 1044, + 1043, 1190, 1194, 1194, 1194, 1087, 1841, 1841, 1841, 1197, + 1197, 1197, 816, 816, 816, 823, 823, 823, 1042, 1195, + 1096, 1096, 1096, 1841, 1039, 1038, 1198, 1204, 1204, 1204, + 818, 1205, 1037, 825, 1206, 1035, 1034, 1097, 1208, 1208, + 1208, 842, 842, 842, 1212, 1212, 1212, 1214, 1214, 1214, + + 853, 853, 853, 860, 860, 860, 1209, 1030, 1029, 844, + 1196, 1213, 1028, 1200, 1215, 1218, 1218, 1218, 855, 1027, + 1025, 862, 1024, 1023, 1199, 1220, 1220, 1220, 1022, 870, + 870, 870, 1219, 1110, 1110, 1110, 1021, 1111, 1014, 1210, + 1112, 1012, 1221, 878, 878, 878, 1217, 872, 1117, 1117, + 1117, 1228, 1228, 1228, 1011, 1229, 1009, 1008, 1230, 1005, + 1000, 880, 999, 1216, 990, 1118, 884, 884, 884, 1120, + 1120, 1120, 1232, 1232, 1232, 989, 1233, 985, 976, 1234, + 1235, 1235, 1235, 975, 886, 974, 1121, 1241, 1241, 1241, + 1222, 1226, 720, 720, 720, 1253, 1253, 1253, 1236, 1140, + + 1140, 1140, 973, 970, 1242, 1254, 1254, 1254, 969, 968, + 722, 1142, 1142, 1142, 1145, 1145, 1145, 1257, 1257, 1257, + 967, 1231, 1259, 1259, 1259, 1149, 1149, 1149, 1263, 1263, + 1263, 963, 767, 767, 767, 1268, 1268, 1268, 1166, 1166, + 1166, 962, 1167, 960, 959, 1168, 1264, 958, 957, 1245, + 769, 956, 1269, 775, 775, 775, 1281, 1281, 1281, 1176, + 1176, 1176, 955, 1177, 954, 953, 1178, 950, 1179, 1179, + 1179, 777, 1180, 1282, 948, 1181, 1291, 1291, 1291, 1184, + 1184, 1184, 1186, 1186, 1186, 945, 1187, 1267, 942, 1188, + 1189, 1189, 1189, 1292, 933, 931, 1280, 1185, 1293, 1293, + + 1293, 927, 1294, 926, 925, 1295, 924, 1190, 1191, 1191, + 1191, 923, 1192, 922, 921, 1193, 1194, 1194, 1194, 1296, + 1296, 1296, 919, 1297, 918, 917, 1298, 1299, 1299, 1299, + 1197, 1197, 1197, 1195, 1301, 1301, 1301, 916, 1302, 915, + 912, 1303, 911, 910, 1300, 909, 908, 1198, 816, 816, + 816, 823, 823, 823, 1307, 1307, 1307, 1204, 1204, 1204, + 907, 1205, 906, 904, 1206, 903, 818, 902, 901, 825, + 900, 1308, 1208, 1208, 1208, 1314, 1314, 1314, 1212, 1212, + 1212, 1317, 1317, 1317, 899, 1318, 898, 897, 1319, 706, + 1209, 891, 883, 1315, 882, 1213, 1304, 1309, 1214, 1214, + + 1214, 1320, 1320, 1320, 877, 1321, 876, 875, 1322, 874, + 846, 1305, 853, 853, 853, 1215, 860, 860, 860, 1218, + 1218, 1218, 1325, 1325, 1325, 833, 1326, 832, 831, 1327, + 855, 1220, 1220, 1220, 862, 827, 1219, 1328, 1328, 1328, + 815, 1329, 814, 813, 1330, 870, 870, 870, 1221, 878, + 878, 878, 1228, 1228, 1228, 812, 1229, 797, 796, 1230, + 795, 794, 1324, 872, 884, 884, 884, 880, 1232, 1232, + 1232, 793, 1233, 789, 1323, 1234, 1235, 1235, 1235, 1241, + 1241, 1241, 886, 1342, 1342, 1342, 788, 1343, 782, 774, + 1344, 720, 720, 720, 1236, 773, 1242, 1348, 1348, 1348, + + 1351, 1351, 1351, 1354, 1354, 1354, 1331, 772, 771, 722, + 1335, 766, 1337, 1253, 1253, 1253, 1254, 1254, 1254, 1356, + 1356, 1356, 1257, 1257, 1257, 1357, 1357, 1357, 1259, 1259, + 1259, 1263, 1263, 1263, 1363, 1363, 1363, 1268, 1268, 1268, + 1365, 1365, 1365, 763, 1366, 757, 752, 1367, 751, 1264, + 747, 1347, 1364, 746, 1269, 775, 775, 775, 1281, 1281, + 1281, 1379, 1379, 1379, 745, 1380, 744, 743, 1381, 1382, + 1382, 1382, 742, 777, 741, 1282, 1291, 1291, 1291, 1392, + 1392, 1392, 739, 1393, 738, 737, 1394, 1293, 1293, 1293, + 736, 1294, 735, 1292, 1295, 1296, 1296, 1296, 734, 1297, + + 733, 1378, 1298, 1299, 1299, 1299, 1395, 1395, 1395, 732, + 1396, 731, 730, 1397, 1301, 1301, 1301, 729, 1302, 728, + 1300, 1303, 816, 816, 816, 1399, 1399, 1399, 1307, 1307, + 1307, 1402, 1402, 1402, 727, 1403, 726, 719, 1404, 718, + 818, 717, 716, 1400, 715, 1308, 1314, 1314, 1314, 1317, + 1317, 1317, 714, 1318, 713, 712, 1319, 709, 1320, 1320, + 1320, 707, 1321, 706, 1315, 1322, 853, 853, 853, 860, + 860, 860, 1325, 1325, 1325, 704, 1326, 702, 699, 1327, + 697, 696, 1398, 695, 855, 693, 692, 862, 1328, 1328, + 1328, 691, 1329, 690, 689, 1330, 687, 870, 870, 870, + + 1416, 1416, 1416, 878, 878, 878, 884, 884, 884, 1423, + 1423, 1423, 686, 685, 1413, 872, 684, 1417, 1426, 1426, + 1426, 880, 680, 678, 886, 677, 676, 706, 720, 720, + 720, 1414, 1415, 1342, 1342, 1342, 675, 1343, 674, 672, + 1344, 1348, 1348, 1348, 671, 670, 722, 1430, 1430, 1430, + 1351, 1351, 1351, 1432, 1432, 1432, 1433, 1433, 1433, 1354, + 1354, 1354, 1422, 668, 1420, 1356, 1356, 1356, 1357, 1357, + 1357, 1437, 1437, 1437, 1363, 1363, 1363, 1365, 1365, 1365, + 667, 1366, 666, 1429, 1367, 775, 775, 775, 1438, 1379, + 1379, 1379, 1364, 1380, 663, 662, 1381, 1382, 1382, 1382, + + 1392, 1392, 1392, 777, 1393, 658, 656, 1394, 1395, 1395, + 1395, 655, 1396, 654, 653, 1397, 1460, 1460, 1460, 1399, + 1399, 1399, 1462, 1462, 1462, 1402, 1402, 1402, 652, 1403, + 647, 646, 1404, 644, 1461, 643, 642, 1400, 641, 1463, + 640, 637, 1450, 1472, 1472, 1472, 1473, 1473, 1473, 860, + 860, 860, 870, 870, 870, 1416, 1416, 1416, 636, 1477, + 1477, 1477, 635, 1478, 1474, 1464, 1479, 862, 634, 633, + 872, 631, 1417, 1480, 1480, 1480, 1483, 1483, 1483, 1485, + 1485, 1485, 884, 884, 884, 1423, 1423, 1423, 628, 626, + 1481, 1426, 1426, 1426, 1484, 1490, 1490, 1490, 625, 624, + + 886, 622, 620, 706, 619, 1475, 1493, 1493, 1493, 1476, + 618, 617, 1491, 1430, 1430, 1430, 1432, 1432, 1432, 1433, + 1433, 1433, 614, 613, 1494, 1437, 1437, 1437, 1499, 1499, + 1499, 612, 1500, 609, 606, 1501, 775, 775, 775, 1520, + 1520, 1520, 1438, 1487, 1486, 1460, 1460, 1460, 1462, 1462, + 1462, 1522, 1522, 1522, 777, 1523, 1521, 605, 1524, 1530, + 1530, 1530, 603, 1461, 600, 1463, 1472, 1472, 1472, 1473, + 1473, 1473, 1532, 1532, 1532, 599, 1531, 870, 870, 870, + 596, 1477, 1477, 1477, 595, 1478, 594, 1474, 1479, 589, + 1533, 588, 1513, 587, 586, 872, 1480, 1480, 1480, 1535, + + 1535, 1535, 585, 1536, 584, 583, 1537, 1538, 1538, 1538, + 1483, 1483, 1483, 1481, 1485, 1485, 1485, 1540, 1540, 1540, + 1490, 1490, 1490, 581, 1539, 1545, 1545, 1545, 1484, 1546, + 580, 579, 1547, 578, 577, 1541, 576, 1491, 575, 570, + 1534, 1548, 1548, 1548, 1493, 1493, 1493, 1553, 1553, 1553, + 1499, 1499, 1499, 567, 1500, 569, 564, 1501, 1549, 775, + 775, 775, 1494, 563, 1554, 1520, 1520, 1520, 1575, 1575, + 1575, 561, 1576, 559, 557, 1577, 555, 777, 1841, 1522, + 1522, 1522, 1521, 1523, 554, 553, 1524, 1530, 1530, 1530, + 1581, 1581, 1581, 552, 1582, 551, 549, 1583, 1532, 1532, + + 1532, 870, 870, 870, 1531, 1535, 1535, 1535, 548, 1536, + 547, 546, 1537, 545, 543, 1570, 1533, 541, 539, 872, + 1538, 1538, 1538, 1585, 1585, 1585, 538, 1586, 537, 536, + 1587, 1540, 1540, 1540, 1545, 1545, 1545, 1539, 1546, 535, + 533, 1547, 1548, 1548, 1548, 531, 1591, 1591, 1591, 1541, + 1592, 530, 529, 1593, 1594, 1594, 1594, 527, 526, 1549, + 1553, 1553, 1553, 1584, 1597, 1597, 1597, 523, 1598, 522, + 521, 1599, 775, 775, 775, 519, 517, 1554, 1614, 1614, + 1614, 1615, 1615, 1615, 1575, 1575, 1575, 515, 1576, 513, + 777, 1577, 1621, 1621, 1621, 1581, 1581, 1581, 1616, 1582, + + 512, 509, 1583, 870, 870, 870, 1585, 1585, 1585, 1622, + 1586, 508, 504, 1587, 1627, 1627, 1627, 1594, 1594, 1594, + 1613, 872, 503, 502, 1617, 501, 1591, 1591, 1591, 500, + 1592, 1628, 1019, 1593, 1597, 1597, 1597, 499, 1598, 496, + 494, 1599, 1635, 1635, 1635, 775, 775, 775, 1614, 1614, + 1614, 1624, 1615, 1615, 1615, 1621, 1621, 1621, 488, 1636, + 1646, 1646, 1646, 777, 1647, 453, 487, 1648, 486, 1616, + 484, 482, 1622, 1654, 1654, 1654, 481, 1655, 480, 478, + 1656, 1658, 1658, 1658, 1661, 1661, 1661, 1627, 1627, 1627, + 476, 1645, 475, 1663, 1663, 1663, 471, 1664, 470, 1659, + + 1665, 1662, 1019, 468, 1628, 1019, 1666, 1666, 1666, 467, + 464, 1019, 1667, 1667, 1667, 1635, 1635, 1635, 1672, 1672, + 1672, 463, 1673, 462, 460, 1674, 775, 775, 775, 1646, + 1646, 1646, 1636, 1647, 1841, 438, 1648, 1686, 1686, 1686, + 437, 1654, 1654, 1654, 777, 1655, 435, 433, 1656, 1688, + 1688, 1688, 427, 426, 1687, 1658, 1658, 1658, 1661, 1661, + 1661, 1691, 1691, 1691, 427, 1692, 1689, 426, 1693, 1666, + 1666, 1666, 425, 1659, 424, 1662, 1019, 1841, 1841, 1019, + 1663, 1663, 1663, 1841, 1664, 1841, 1841, 1665, 1681, 1667, + 1667, 1667, 1841, 1706, 1706, 1706, 1841, 1841, 1019, 1017, + + 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1841, 1841, + 1017, 1707, 1686, 1686, 1686, 1017, 1017, 1017, 1019, 1017, + 1672, 1672, 1672, 1841, 1673, 1841, 1841, 1674, 1841, 1687, + 1712, 1712, 1712, 1841, 1713, 1841, 1841, 1714, 1688, 1688, + 1688, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, + 1017, 1017, 1841, 1841, 1017, 1689, 1841, 1841, 1841, 1017, + 1017, 1017, 1019, 1017, 1715, 1715, 1715, 1841, 1716, 1841, + 1841, 1717, 1691, 1691, 1691, 1841, 1692, 1841, 1841, 1693, + 1841, 1841, 1706, 1706, 1706, 1017, 1017, 1743, 1743, 1743, + 1019, 1017, 1017, 1017, 1017, 1017, 1724, 1017, 1017, 1017, + + 1707, 1841, 1017, 1841, 1841, 1019, 1020, 1017, 1017, 1017, + 1019, 1017, 1712, 1712, 1712, 1841, 1713, 1841, 1841, 1714, + 1715, 1715, 1715, 1841, 1716, 1841, 1841, 1717, 1746, 1746, + 1746, 1841, 1841, 1017, 1017, 1017, 1017, 1017, 1017, 1017, + 1017, 1017, 1017, 1724, 1841, 1747, 1017, 1748, 1748, 1748, + 1841, 1017, 1017, 1017, 1019, 1017, 1750, 1750, 1750, 1753, + 1753, 1753, 1841, 1841, 1749, 1759, 1759, 1759, 1743, 1743, + 1743, 1841, 1841, 1751, 1841, 1841, 1754, 1017, 1017, 1746, + 1746, 1746, 1841, 706, 1841, 1841, 1019, 1763, 1763, 1763, + 1841, 1764, 1841, 1841, 1765, 1841, 1747, 1841, 1841, 1752, + + 1748, 1748, 1748, 1766, 1766, 1766, 1841, 1767, 1841, 1841, + 1768, 1750, 1750, 1750, 1841, 1841, 1124, 1749, 1769, 1769, + 1769, 1841, 1770, 1841, 1841, 1771, 1841, 1841, 1751, 1753, + 1753, 1753, 1773, 1773, 1773, 1841, 1774, 1841, 1841, 1775, + 1759, 1759, 1759, 1763, 1763, 1763, 1754, 1764, 1841, 1841, + 1765, 1841, 1766, 1766, 1766, 1841, 1767, 1841, 706, 1768, + 1769, 1769, 1769, 1841, 1770, 1841, 1841, 1771, 1773, 1773, + 1773, 1841, 1774, 1841, 1841, 1775, 1780, 1800, 1800, 1800, + 1800, 1800, 1800, 1807, 1807, 1807, 1841, 1808, 1841, 1841, + 1809, 1807, 1807, 1807, 1801, 1808, 1841, 1801, 1809, 1813, + + 1813, 1813, 1813, 1813, 1813, 1841, 1814, 1841, 1841, 1815, + 1839, 1839, 1839, 1839, 1839, 1839, 1841, 706, 1841, 1841, + 706, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1840, 1841, + 1841, 1840, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 177, 177, 177, 177, 177, 177, 177, 177, 177, + 182, 182, 182, 182, 182, 182, 182, 182, 182, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 188, 188, + 188, 188, 188, 188, 188, 188, 188, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 198, 198, 198, 198, + 198, 198, 198, 198, 198, 206, 206, 206, 206, 206, + + 206, 206, 206, 206, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 260, 260, + 260, 260, 260, 260, 260, 260, 260, 265, 265, 265, + 265, 265, 265, 265, 265, 265, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 307, 307, 307, 307, 307, + 307, 307, 307, 307, 313, 313, 313, 313, 313, 313, + + 313, 313, 313, 317, 317, 317, 317, 317, 317, 317, + 317, 317, 323, 323, 323, 323, 323, 323, 323, 323, + 323, 330, 330, 330, 330, 330, 330, 330, 330, 330, + 337, 337, 337, 337, 337, 337, 337, 337, 337, 342, + 342, 342, 342, 342, 342, 342, 342, 342, 350, 350, + 350, 350, 350, 350, 350, 350, 350, 356, 356, 356, + 356, 356, 356, 356, 356, 356, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 367, 367, 367, 367, 367, + 367, 367, 367, 367, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 379, 379, 379, 379, 379, 379, 379, + + 379, 379, 386, 386, 386, 386, 386, 386, 386, 386, + 386, 393, 393, 393, 393, 393, 393, 393, 393, 393, + 401, 401, 401, 401, 401, 401, 401, 401, 401, 405, + 405, 405, 405, 405, 405, 405, 405, 405, 411, 411, + 411, 411, 411, 411, 411, 411, 411, 416, 416, 416, + 416, 416, 416, 416, 416, 416, 436, 436, 436, 1841, + 1841, 1841, 436, 461, 461, 461, 1841, 1841, 1841, 461, + 469, 469, 469, 1841, 1841, 1841, 469, 479, 479, 479, + 1841, 1841, 1841, 479, 485, 485, 485, 1841, 1841, 1841, + 485, 495, 495, 495, 1841, 1841, 1841, 495, 505, 505, + + 505, 1841, 1841, 1841, 505, 516, 516, 516, 1841, 1841, + 1841, 516, 520, 520, 520, 1841, 1841, 1841, 520, 528, + 528, 528, 1841, 1841, 1841, 528, 534, 534, 534, 1841, + 1841, 1841, 534, 540, 540, 540, 1841, 1841, 1841, 540, + 544, 544, 544, 1841, 1841, 1841, 544, 550, 550, 550, + 1841, 1841, 1841, 550, 558, 558, 558, 1841, 1841, 1841, + 558, 562, 562, 562, 1841, 1841, 1841, 562, 566, 566, + 566, 566, 566, 566, 566, 1841, 566, 582, 1841, 1841, + 1841, 582, 611, 1841, 1841, 1841, 611, 621, 1841, 1841, + 1841, 621, 627, 1841, 1841, 1841, 627, 632, 1841, 1841, + + 1841, 632, 645, 1841, 1841, 1841, 645, 657, 1841, 1841, + 1841, 657, 661, 1841, 1841, 1841, 661, 669, 1841, 1841, + 1841, 669, 673, 1841, 1841, 1841, 673, 534, 534, 534, + 1841, 1841, 1841, 534, 679, 1841, 1841, 1841, 679, 540, + 540, 540, 1841, 1841, 1841, 540, 683, 1841, 1841, 1841, + 683, 544, 544, 544, 1841, 1841, 1841, 544, 688, 1841, + 1841, 1841, 688, 550, 550, 550, 1841, 1841, 1841, 550, + 694, 1841, 1841, 1841, 694, 558, 558, 558, 1841, 1841, + 1841, 558, 698, 1841, 1841, 1841, 698, 562, 562, 562, + 1841, 1841, 1841, 562, 703, 1841, 1841, 1841, 703, 705, + + 705, 705, 705, 705, 705, 705, 705, 705, 711, 1841, + 1841, 1841, 1841, 711, 436, 436, 436, 1841, 1841, 1841, + 436, 721, 721, 721, 721, 1841, 1841, 721, 721, 461, + 461, 461, 1841, 1841, 1841, 461, 754, 754, 754, 754, + 1841, 1841, 754, 754, 469, 469, 469, 1841, 1841, 1841, + 469, 768, 768, 768, 768, 1841, 1841, 768, 768, 479, + 479, 479, 1841, 1841, 1841, 479, 776, 776, 776, 776, + 1841, 1841, 776, 776, 485, 485, 485, 1841, 1841, 1841, + 485, 784, 784, 784, 784, 1841, 1841, 784, 784, 495, + 495, 495, 1841, 1841, 1841, 495, 799, 799, 799, 799, - 1841, 495, 505, 505, 505, 1841, 1841, 1841, 505, 516, - 516, 516, 1841, 1841, 1841, 516, 520, 520, 520, 1841, - 1841, 1841, 520, 528, 528, 528, 1841, 1841, 1841, 528, - 534, 534, 534, 1841, 1841, 1841, 534, 540, 540, 540, - 1841, 1841, 1841, 540, 544, 544, 544, 1841, 1841, 1841, - 544, 550, 550, 550, 1841, 1841, 1841, 550, 558, 558, - 558, 1841, 1841, 1841, 558, 562, 562, 562, 1841, 1841, - 1841, 562, 566, 566, 566, 566, 566, 566, 566, 1841, - 566, 582, 1841, 1841, 1841, 582, 611, 1841, 1841, 1841, - 611, 621, 1841, 1841, 1841, 621, 627, 1841, 1841, 1841, - - 627, 632, 1841, 1841, 1841, 632, 645, 1841, 1841, 1841, - 645, 657, 1841, 1841, 1841, 657, 661, 1841, 1841, 1841, - 661, 669, 1841, 1841, 1841, 669, 673, 1841, 1841, 1841, - 673, 534, 534, 534, 1841, 1841, 1841, 534, 679, 1841, - 1841, 1841, 679, 540, 540, 540, 1841, 1841, 1841, 540, - 683, 1841, 1841, 1841, 683, 544, 544, 544, 1841, 1841, - 1841, 544, 688, 1841, 1841, 1841, 688, 550, 550, 550, - 1841, 1841, 1841, 550, 694, 1841, 1841, 1841, 694, 558, - 558, 558, 1841, 1841, 1841, 558, 698, 1841, 1841, 1841, - 698, 562, 562, 562, 1841, 1841, 1841, 562, 703, 1841, - - 1841, 1841, 703, 705, 705, 705, 705, 705, 705, 705, - 705, 705, 711, 1841, 1841, 1841, 1841, 711, 436, 436, + 1841, 1841, 799, 799, 505, 505, 505, 1841, 1841, 1841, + 505, 817, 817, 817, 817, 1841, 1841, 817, 817, 824, + 824, 824, 824, 1841, 1841, 824, 824, 520, 520, 520, + 1841, 1841, 1841, 520, 835, 835, 835, 835, 1841, 1841, + 835, 835, 528, 528, 528, 528, 1841, 528, 1841, 528, + 843, 843, 843, 843, 1841, 1841, 843, 843, 534, 534, + 534, 534, 1841, 534, 1841, 534, 854, 854, 854, 854, + 1841, 1841, 854, 854, 861, 861, 861, 861, 1841, 1841, + 861, 861, 544, 544, 544, 544, 1841, 544, 1841, 544, + 871, 871, 871, 871, 1841, 1841, 871, 871, 550, 550, + + 550, 1841, 1841, 1841, 550, 879, 879, 879, 879, 1841, + 1841, 879, 879, 558, 558, 558, 1841, 1841, 1841, 558, + 885, 885, 885, 885, 1841, 1841, 885, 885, 562, 562, + 562, 1841, 1841, 1841, 562, 893, 893, 893, 893, 1841, + 1841, 893, 893, 705, 705, 705, 705, 705, 705, 705, + 705, 705, 711, 1841, 711, 1841, 1841, 711, 436, 436, + 436, 1841, 1841, 1841, 436, 721, 721, 721, 721, 1841, + 1841, 721, 721, 461, 461, 461, 461, 1841, 461, 1841, + 461, 754, 754, 754, 754, 1841, 1841, 754, 754, 469, + 469, 469, 1841, 1841, 1841, 469, 768, 768, 768, 768, + + 1841, 1841, 768, 768, 479, 479, 479, 1841, 1841, 1841, + 479, 776, 776, 776, 776, 1841, 1841, 776, 776, 485, + 485, 485, 1841, 1841, 1841, 485, 784, 784, 784, 784, + 1841, 1841, 784, 784, 495, 495, 495, 1841, 1841, 1841, + 495, 799, 799, 799, 799, 1841, 1841, 799, 799, 505, + 505, 505, 1841, 1841, 1841, 505, 817, 817, 817, 817, + 1841, 1841, 817, 817, 824, 824, 824, 824, 1841, 1841, + 824, 824, 520, 520, 520, 1841, 1841, 1841, 520, 835, + 835, 835, 835, 1841, 1841, 835, 835, 843, 843, 843, + 843, 1841, 1841, 843, 843, 534, 534, 534, 1841, 1841, + + 1841, 534, 854, 854, 854, 854, 1841, 1841, 854, 854, + 861, 861, 861, 861, 1841, 1841, 861, 861, 544, 544, + 544, 1841, 1841, 1841, 544, 871, 871, 871, 871, 1841, + 1841, 871, 871, 550, 550, 550, 1841, 1841, 1841, 550, + 879, 879, 879, 879, 1841, 1841, 879, 879, 558, 558, + 558, 1841, 1841, 1841, 558, 885, 885, 885, 885, 1841, + 1841, 885, 885, 562, 562, 562, 1841, 1841, 1841, 562, + 893, 893, 893, 893, 1841, 1841, 893, 893, 705, 705, + 705, 705, 705, 705, 705, 705, 705, 1017, 1017, 1017, + 1017, 1017, 1017, 1017, 1017, 1017, 436, 436, 436, 1841, + + 1841, 1841, 436, 721, 721, 721, 721, 1841, 1841, 721, + 721, 461, 461, 461, 1841, 1841, 1841, 461, 754, 754, + 754, 754, 1841, 1841, 754, 754, 469, 469, 469, 1841, + 1841, 1841, 469, 768, 768, 768, 768, 1841, 1841, 768, + 768, 479, 479, 479, 1841, 1841, 1841, 479, 776, 776, + 776, 776, 1841, 1841, 776, 776, 485, 485, 485, 1841, + 1841, 1841, 485, 495, 495, 495, 1841, 1841, 1841, 495, + 799, 799, 799, 799, 1841, 1841, 799, 799, 505, 505, + 505, 505, 1841, 505, 1841, 505, 817, 817, 817, 817, + 1841, 1841, 817, 817, 824, 824, 824, 824, 1841, 1841, + + 824, 824, 520, 520, 520, 1841, 1841, 1841, 520, 835, + 835, 835, 835, 1841, 1841, 835, 835, 843, 843, 843, + 843, 1841, 1841, 843, 843, 534, 534, 534, 1841, 1841, + 1841, 534, 854, 854, 854, 854, 1841, 1841, 854, 854, + 861, 861, 861, 861, 1841, 1841, 861, 861, 544, 544, + 544, 1841, 1841, 1841, 544, 871, 871, 871, 871, 1841, + 1841, 871, 871, 550, 550, 550, 1841, 1841, 1841, 550, + 879, 879, 879, 879, 1841, 1841, 879, 879, 558, 558, + 558, 558, 1841, 558, 1841, 558, 885, 885, 885, 885, + 1841, 1841, 885, 885, 562, 562, 562, 562, 1841, 562, + + 1841, 562, 893, 893, 893, 893, 1841, 1841, 893, 893, + 705, 705, 705, 705, 705, 705, 705, 705, 705, 1017, + 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 436, 436, 436, 1841, 1841, 1841, 436, 721, 721, 721, 721, 1841, 1841, 721, 721, 461, 461, 461, 1841, 1841, 1841, 461, 754, 754, 754, 754, 1841, 1841, 754, 754, 469, 469, 469, 1841, 1841, 1841, 469, 768, 768, 768, 768, 1841, 1841, 768, 768, 479, 479, 479, 1841, 1841, 1841, 479, 776, 776, 776, 776, 1841, 1841, 776, 776, 485, 485, - 485, 1841, 1841, 1841, 485, 784, 784, 784, 784, 1841, - 1841, 784, 784, 495, 495, 495, 1841, 1841, 1841, 495, + 485, 1841, 1841, 1841, 485, 495, 495, 495, 1841, 1841, - 799, 799, 799, 799, 1841, 1841, 799, 799, 505, 505, - 505, 1841, 1841, 1841, 505, 817, 817, 817, 817, 1841, - 1841, 817, 817, 824, 824, 824, 824, 1841, 1841, 824, - 824, 520, 520, 520, 1841, 1841, 1841, 520, 835, 835, - 835, 835, 1841, 1841, 835, 835, 528, 528, 528, 528, - 1841, 528, 1841, 528, 843, 843, 843, 843, 1841, 1841, - 843, 843, 534, 534, 534, 534, 1841, 534, 1841, 534, - 854, 854, 854, 854, 1841, 1841, 854, 854, 861, 861, - 861, 861, 1841, 1841, 861, 861, 544, 544, 544, 544, - 1841, 544, 1841, 544, 871, 871, 871, 871, 1841, 1841, - - 871, 871, 550, 550, 550, 1841, 1841, 1841, 550, 879, - 879, 879, 879, 1841, 1841, 879, 879, 558, 558, 558, - 1841, 1841, 1841, 558, 885, 885, 885, 885, 1841, 1841, - 885, 885, 562, 562, 562, 1841, 1841, 1841, 562, 893, - 893, 893, 893, 1841, 1841, 893, 893, 705, 705, 705, - 705, 705, 705, 705, 705, 705, 711, 1841, 711, 1841, - 1841, 711, 436, 436, 436, 1841, 1841, 1841, 436, 721, - 721, 721, 721, 1841, 1841, 721, 721, 461, 461, 461, - 461, 1841, 461, 1841, 461, 754, 754, 754, 754, 1841, - 1841, 754, 754, 469, 469, 469, 1841, 1841, 1841, 469, - - 768, 768, 768, 768, 1841, 1841, 768, 768, 479, 479, - 479, 1841, 1841, 1841, 479, 776, 776, 776, 776, 1841, - 1841, 776, 776, 485, 485, 485, 1841, 1841, 1841, 485, - 784, 784, 784, 784, 1841, 1841, 784, 784, 495, 495, - 495, 1841, 1841, 1841, 495, 799, 799, 799, 799, 1841, - 1841, 799, 799, 505, 505, 505, 1841, 1841, 1841, 505, - 817, 817, 817, 817, 1841, 1841, 817, 817, 824, 824, - 824, 824, 1841, 1841, 824, 824, 520, 520, 520, 1841, - 1841, 1841, 520, 835, 835, 835, 835, 1841, 1841, 835, - 835, 843, 843, 843, 843, 1841, 1841, 843, 843, 534, - - 534, 534, 1841, 1841, 1841, 534, 854, 854, 854, 854, - 1841, 1841, 854, 854, 861, 861, 861, 861, 1841, 1841, - 861, 861, 544, 544, 544, 1841, 1841, 1841, 544, 871, + 1841, 495, 799, 799, 799, 799, 1841, 1841, 799, 799, + 505, 505, 505, 505, 1841, 505, 1841, 505, 817, 817, + 817, 817, 1841, 1841, 817, 817, 824, 824, 824, 824, + 1841, 1841, 824, 824, 520, 520, 520, 1841, 1841, 1841, + 520, 835, 835, 835, 835, 1841, 1841, 835, 835, 843, + 843, 843, 843, 1841, 1841, 843, 843, 534, 534, 534, + 534, 1841, 534, 1841, 534, 854, 854, 854, 854, 1841, + 1841, 854, 854, 861, 861, 861, 861, 1841, 1841, 861, + 861, 544, 544, 544, 544, 1841, 544, 1841, 544, 871, 871, 871, 871, 1841, 1841, 871, 871, 550, 550, 550, - 1841, 1841, 1841, 550, 879, 879, 879, 879, 1841, 1841, - 879, 879, 558, 558, 558, 1841, 1841, 1841, 558, 885, - 885, 885, 885, 1841, 1841, 885, 885, 562, 562, 562, - 1841, 1841, 1841, 562, 893, 893, 893, 893, 1841, 1841, - 893, 893, 705, 705, 705, 705, 705, 705, 705, 705, - 705, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - - 436, 436, 436, 1841, 1841, 1841, 436, 721, 721, 721, - 721, 1841, 1841, 721, 721, 461, 461, 461, 1841, 1841, - 1841, 461, 754, 754, 754, 754, 1841, 1841, 754, 754, - 469, 469, 469, 1841, 1841, 1841, 469, 768, 768, 768, - 768, 1841, 1841, 768, 768, 479, 479, 479, 1841, 1841, - 1841, 479, 776, 776, 776, 776, 1841, 1841, 776, 776, - 485, 485, 485, 1841, 1841, 1841, 485, 495, 495, 495, - 1841, 1841, 1841, 495, 799, 799, 799, 799, 1841, 1841, - 799, 799, 505, 505, 505, 505, 1841, 505, 1841, 505, - 817, 817, 817, 817, 1841, 1841, 817, 817, 824, 824, - - 824, 824, 1841, 1841, 824, 824, 520, 520, 520, 1841, - 1841, 1841, 520, 835, 835, 835, 835, 1841, 1841, 835, - 835, 843, 843, 843, 843, 1841, 1841, 843, 843, 534, - 534, 534, 1841, 1841, 1841, 534, 854, 854, 854, 854, - 1841, 1841, 854, 854, 861, 861, 861, 861, 1841, 1841, - 861, 861, 544, 544, 544, 1841, 1841, 1841, 544, 871, - 871, 871, 871, 1841, 1841, 871, 871, 550, 550, 550, - 1841, 1841, 1841, 550, 879, 879, 879, 879, 1841, 1841, - 879, 879, 558, 558, 558, 558, 1841, 558, 1841, 558, - 885, 885, 885, 885, 1841, 1841, 885, 885, 562, 562, - - 562, 562, 1841, 562, 1841, 562, 893, 893, 893, 893, - 1841, 1841, 893, 893, 705, 705, 705, 705, 705, 705, - 705, 705, 705, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 436, 436, 436, 1841, 1841, 1841, 436, 721, - 721, 721, 721, 1841, 1841, 721, 721, 461, 461, 461, - 1841, 1841, 1841, 461, 754, 754, 754, 754, 1841, 1841, - 754, 754, 469, 469, 469, 1841, 1841, 1841, 469, 768, - 768, 768, 768, 1841, 1841, 768, 768, 479, 479, 479, - 1841, 1841, 1841, 479, 776, 776, 776, 776, 1841, 1841, - 776, 776, 485, 485, 485, 1841, 1841, 1841, 485, 495, - 495, 495, 1841, 1841, 1841, 495, 799, 799, 799, 799, - 1841, 1841, 799, 799, 505, 505, 505, 505, 1841, 505, - 1841, 505, 817, 817, 817, 817, 1841, 1841, 817, 817, - 824, 824, 824, 824, 1841, 1841, 824, 824, 520, 520, - 520, 1841, 1841, 1841, 520, 835, 835, 835, 835, 1841, - 1841, 835, 835, 843, 843, 843, 843, 1841, 1841, 843, - 843, 534, 534, 534, 534, 1841, 534, 1841, 534, 854, - 854, 854, 854, 1841, 1841, 854, 854, 861, 861, 861, - 861, 1841, 1841, 861, 861, 544, 544, 544, 544, 1841, - 544, 1841, 544, 871, 871, 871, 871, 1841, 1841, 871, - - 871, 550, 550, 550, 1841, 1841, 1841, 550, 879, 879, - 879, 879, 1841, 1841, 879, 879, 885, 885, 885, 885, - 1841, 1841, 885, 885, 1694, 1694, 1694, 1694, 1694, 1694, - 1694, 1694, 1694, 1695, 1695, 1695, 1695, 1695, 1695, 1695, - 1695, 1695, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, - 1719, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, - 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1742, - 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 175, 1841, + 1841, 1841, 1841, 550, 879, 879, 879, 879, 1841, 1841, + 879, 879, 885, 885, 885, 885, 1841, 1841, 885, 885, + 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1695, + 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1719, 1719, + 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1722, 1722, 1722, + 1722, 1722, 1722, 1722, 1722, 1722, 1740, 1740, 1740, 1740, + 1740, 1740, 1740, 1740, 1740, 1742, 1742, 1742, 1742, 1742, + 1742, 1742, 1742, 1742, 175, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, @@ -1841,10 +1841,10 @@ static yyconst flex_int16_t yy_nxt[6549] = 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, - 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841 + 1841, 1841, 1841, 1841 } ; -static yyconst flex_int16_t yy_chk[6549] = +static yyconst flex_int16_t yy_chk[6545] = { 0, 0, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 11, 3, 9, 12, @@ -2150,20 +2150,20 @@ static yyconst flex_int16_t yy_chk[6549] = 893, 893, 895, 895, 895, 1272, 1271, 897, 897, 897, 1270, 892, 905, 905, 905, 1266, 1265, 893, 881, 1262, 895, 911, 911, 911, 887, 897, 897, 918, 918, 918, - 905, 919, 919, 919, 1261, 911, 928, 928, 928, 929, - 929, 929, 1260, 929, 1255, 919, 929, 932, 932, 932, - 934, 934, 934, 928, 934, 1251, 1250, 934, 1248, 895, - - 937, 937, 937, 1247, 1244, 932, 938, 938, 938, 1243, - 938, 1240, 1227, 938, 905, 1225, 1224, 937, 939, 939, - 939, 1223, 939, 1211, 1207, 939, 943, 943, 943, 944, - 944, 944, 1206, 932, 946, 946, 946, 1205, 947, 947, - 947, 1203, 947, 1201, 943, 947, 948, 948, 948, 1182, - 1181, 946, 949, 949, 949, 1180, 951, 951, 951, 958, - 958, 958, 1175, 948, 959, 959, 959, 961, 961, 961, - 949, 1174, 1173, 943, 951, 1172, 958, 962, 962, 962, - 1171, 959, 963, 963, 963, 961, 964, 964, 964, 1165, - 964, 1163, 1162, 964, 962, 967, 967, 967, 949, 963, + 905, 1261, 919, 919, 919, 928, 928, 928, 929, 929, + 929, 1260, 929, 1255, 1251, 929, 1250, 932, 932, 932, + 1248, 1247, 928, 934, 934, 934, 1244, 934, 1243, 895, + + 934, 937, 937, 937, 911, 932, 938, 938, 938, 1240, + 938, 1227, 1225, 938, 905, 919, 1224, 1223, 937, 939, + 939, 939, 1211, 939, 1207, 1206, 939, 943, 943, 943, + 944, 944, 944, 932, 946, 946, 946, 947, 947, 947, + 1205, 947, 1203, 1201, 947, 943, 948, 948, 948, 1182, + 1181, 946, 949, 949, 949, 951, 951, 951, 958, 958, + 958, 1180, 1175, 948, 959, 959, 959, 961, 961, 961, + 949, 1174, 1173, 951, 943, 958, 962, 962, 962, 1172, + 1171, 959, 963, 963, 963, 961, 1165, 964, 964, 964, + 1163, 964, 1162, 962, 964, 967, 967, 967, 949, 963, 968, 968, 968, 969, 969, 969, 1161, 959, 970, 970, 970, 1159, 967, 1158, 971, 971, 971, 968, 1155, 1154, @@ -2172,392 +2172,392 @@ static yyconst flex_int16_t yy_chk[6549] = 1031, 1031, 1031, 976, 963, 1147, 1144, 969, 978, 978, 978, 977, 978, 1143, 984, 978, 981, 981, 981, 1138, 981, 1137, 1136, 981, 1135, 1134, 968, 1133, 1132, 976, - 985, 985, 985, 1130, 970, 971, 1129, 1127, 986, 986, - 986, 1116, 986, 972, 985, 986, 977, 991, 991, 991, - 1114, 991, 1113, 1109, 991, 994, 994, 994, 984, 1101, - - 995, 995, 995, 996, 996, 996, 1098, 996, 1095, 1094, - 996, 1093, 1081, 994, 1080, 1001, 1001, 1001, 995, 1001, - 1075, 1074, 1001, 1004, 1004, 1004, 1006, 1006, 1006, 1007, - 1007, 1007, 1073, 1007, 1072, 1071, 1007, 1010, 1010, 1010, - 1070, 1004, 1063, 1006, 1012, 1012, 1012, 1013, 1013, 1013, - 1060, 1056, 994, 995, 1054, 1010, 1014, 1014, 1014, 1053, - 1045, 1012, 1015, 1015, 1015, 1013, 1044, 1004, 1018, 1018, - 1018, 1042, 1037, 1014, 1026, 1026, 1026, 1032, 1032, 1032, - 1015, 1035, 1034, 1010, 1033, 1030, 1018, 1036, 1036, 1036, - 1029, 1028, 1026, 1038, 1038, 1038, 1027, 1039, 1039, 1039, - - 1040, 1040, 1040, 1041, 1041, 1041, 1043, 1043, 1043, 1024, - 1013, 1039, 1046, 1046, 1046, 1023, 1018, 1047, 1047, 1047, - 1015, 1020, 1017, 1026, 1048, 1048, 1048, 1049, 1049, 1049, - 1011, 1047, 1018, 1050, 1050, 1050, 1009, 1050, 1008, 1005, - 1050, 1049, 1055, 1055, 1055, 1057, 1057, 1057, 1000, 1057, - 999, 990, 1057, 1038, 989, 1061, 1061, 1061, 975, 974, - 1055, 1062, 1062, 1062, 973, 960, 1043, 1064, 1064, 1064, - 957, 1064, 1046, 1061, 1064, 1067, 1067, 1067, 1068, 1068, - 1068, 956, 1068, 955, 1048, 1068, 1069, 1069, 1069, 954, - 1055, 953, 1067, 1076, 1076, 1076, 1077, 1077, 1077, 950, - - 1077, 945, 942, 1077, 1069, 1078, 1078, 1078, 933, 931, - 1076, 930, 1061, 1079, 1079, 1079, 927, 1079, 926, 925, - 1079, 924, 1078, 1082, 1082, 1082, 1083, 1083, 1083, 1084, - 1084, 1084, 923, 1084, 1069, 922, 1084, 1085, 1085, 1085, - 921, 1082, 920, 1083, 1086, 1086, 1086, 917, 1087, 1087, - 1087, 916, 1087, 915, 1085, 1087, 1088, 1088, 1088, 913, - 912, 1086, 1089, 1089, 1089, 1090, 1090, 1090, 1091, 1091, - 1091, 909, 908, 1088, 1092, 1092, 1092, 907, 906, 1089, - 904, 903, 1090, 1096, 1096, 1096, 1091, 1097, 1097, 1097, - 902, 1097, 1092, 901, 1097, 1099, 1099, 1099, 900, 891, - - 1096, 1100, 1100, 1100, 1102, 1102, 1102, 1103, 1103, 1103, - 1104, 1104, 1104, 1099, 883, 882, 1089, 877, 876, 1100, - 874, 1102, 1092, 867, 1103, 1105, 1105, 1105, 1104, 866, - 1091, 1106, 1106, 1106, 1107, 1107, 1107, 850, 849, 1105, - 1108, 1108, 1108, 1105, 1115, 1115, 1115, 846, 1106, 1100, - 833, 1107, 1110, 1110, 1110, 832, 1110, 831, 1108, 1110, - 827, 815, 1115, 1117, 1117, 1117, 814, 1118, 1118, 1118, - 813, 1118, 812, 1104, 1118, 1119, 1119, 1119, 803, 802, - 1117, 1120, 1120, 1120, 1121, 1121, 1121, 797, 1121, 796, - 795, 1121, 1115, 1119, 1122, 1122, 1122, 794, 1120, 793, - - 789, 1108, 1128, 1128, 1128, 1131, 1131, 1131, 1139, 1139, - 1139, 788, 1122, 1140, 1140, 1140, 1141, 1141, 1141, 1128, - 1142, 1142, 1142, 1131, 1145, 1145, 1145, 1146, 1146, 1146, - 1119, 1148, 1148, 1148, 1149, 1149, 1149, 1153, 1153, 1153, - 1156, 1156, 1156, 1157, 1157, 1157, 1166, 1166, 1166, 787, - 1166, 782, 774, 1166, 772, 1153, 766, 757, 1156, 752, - 1157, 746, 1131, 1169, 1169, 1169, 1170, 1170, 1170, 1176, - 1176, 1176, 745, 1176, 744, 743, 1176, 1169, 1179, 1179, - 1179, 1169, 1179, 1170, 742, 1179, 1183, 1183, 1183, 1184, - 1184, 1184, 1186, 1186, 1186, 1156, 1186, 741, 739, 1186, - - 1189, 1189, 1189, 1183, 1190, 1190, 1190, 1184, 1190, 737, - 736, 1190, 1191, 1191, 1191, 735, 1191, 1189, 734, 1191, - 1194, 1194, 1194, 1195, 1195, 1195, 733, 1195, 731, 730, - 1195, 1196, 1196, 1196, 1197, 1197, 1197, 1194, 1198, 1198, - 1198, 729, 1198, 728, 727, 1198, 726, 725, 1196, 719, - 718, 1197, 1199, 1199, 1199, 1200, 1200, 1200, 1202, 1202, - 1202, 1204, 1204, 1204, 717, 1204, 716, 713, 1204, 712, - 1199, 711, 709, 1200, 705, 1202, 1208, 1208, 1208, 1210, - 1210, 1210, 1212, 1212, 1212, 1213, 1213, 1213, 702, 1213, - 697, 696, 1213, 693, 1208, 692, 691, 1210, 690, 1212, - - 1199, 1202, 1214, 1214, 1214, 1215, 1215, 1215, 675, 1215, - 668, 667, 1215, 666, 663, 1200, 1216, 1216, 1216, 1214, - 1217, 1217, 1217, 1218, 1218, 1218, 1219, 1219, 1219, 656, - 1219, 655, 654, 1219, 1216, 1220, 1220, 1220, 1217, 653, - 1218, 1221, 1221, 1221, 644, 1221, 643, 642, 1221, 1222, - 1222, 1222, 1220, 1226, 1226, 1226, 1228, 1228, 1228, 641, - 1228, 640, 637, 1228, 635, 631, 1217, 1222, 1231, 1231, - 1231, 1226, 1232, 1232, 1232, 626, 1232, 625, 1216, 1232, - 1235, 1235, 1235, 1241, 1241, 1241, 1231, 1242, 1242, 1242, - 624, 1242, 623, 620, 1242, 1245, 1245, 1245, 1235, 618, - - 1241, 1246, 1246, 1246, 1249, 1249, 1249, 1252, 1252, 1252, - 1222, 614, 610, 1245, 1226, 609, 1231, 1253, 1253, 1253, - 1254, 1254, 1254, 1256, 1256, 1256, 1257, 1257, 1257, 1258, - 1258, 1258, 1259, 1259, 1259, 1263, 1263, 1263, 1267, 1267, - 1267, 1268, 1268, 1268, 1269, 1269, 1269, 606, 1269, 605, - 604, 1269, 603, 1263, 602, 1245, 1267, 601, 1268, 1280, - 1280, 1280, 1281, 1281, 1281, 1282, 1282, 1282, 600, 1282, - 598, 597, 1282, 1283, 1283, 1283, 596, 1280, 595, 1281, - 1291, 1291, 1291, 1292, 1292, 1292, 594, 1292, 593, 592, - 1292, 1293, 1293, 1293, 591, 1293, 590, 1291, 1293, 1296, - - 1296, 1296, 589, 1296, 588, 1280, 1296, 1299, 1299, 1299, - 1300, 1300, 1300, 587, 1300, 586, 585, 1300, 1301, 1301, - 1301, 581, 1301, 580, 1299, 1301, 1304, 1304, 1304, 1305, - 1305, 1305, 1307, 1307, 1307, 1308, 1308, 1308, 579, 1308, - 577, 576, 1308, 575, 1304, 574, 573, 1305, 569, 1307, - 1314, 1314, 1314, 1317, 1317, 1317, 567, 1317, 566, 565, - 1317, 564, 1320, 1320, 1320, 560, 1320, 559, 1314, 1320, - 1323, 1323, 1323, 1324, 1324, 1324, 1325, 1325, 1325, 556, - 1325, 555, 554, 1325, 553, 552, 1304, 551, 1323, 548, - 547, 1324, 1328, 1328, 1328, 546, 1328, 545, 542, 1328, - - 538, 1331, 1331, 1331, 1332, 1332, 1332, 1335, 1335, 1335, - 1337, 1337, 1337, 1338, 1338, 1338, 537, 536, 1323, 1331, - 535, 1332, 1341, 1341, 1341, 1335, 532, 531, 1337, 530, - 529, 1338, 1347, 1347, 1347, 1324, 1331, 1342, 1342, 1342, - 526, 1342, 525, 524, 1342, 1348, 1348, 1348, 523, 521, - 1347, 1349, 1349, 1349, 1351, 1351, 1351, 1352, 1352, 1352, - 1353, 1353, 1353, 1354, 1354, 1354, 1337, 518, 1335, 1356, - 1356, 1356, 1357, 1357, 1357, 1361, 1361, 1361, 1363, 1363, - 1363, 1365, 1365, 1365, 514, 1365, 513, 1347, 1365, 1378, - 1378, 1378, 1361, 1379, 1379, 1379, 1363, 1379, 512, 511, - - 1379, 1382, 1382, 1382, 1392, 1392, 1392, 1378, 1392, 510, - 509, 1392, 1395, 1395, 1395, 506, 1395, 503, 502, 1395, - 1398, 1398, 1398, 1399, 1399, 1399, 1401, 1401, 1401, 1402, - 1402, 1402, 501, 1402, 500, 499, 1402, 498, 1398, 496, - 492, 1399, 490, 1401, 489, 488, 1378, 1412, 1412, 1412, - 1413, 1413, 1413, 1414, 1414, 1414, 1415, 1415, 1415, 1416, - 1416, 1416, 487, 1417, 1417, 1417, 483, 1417, 1413, 1401, - 1417, 1414, 482, 481, 1415, 480, 1416, 1418, 1418, 1418, - 1420, 1420, 1420, 1421, 1421, 1421, 1422, 1422, 1422, 1423, - 1423, 1423, 476, 475, 1418, 1426, 1426, 1426, 1420, 1427, - - 1427, 1427, 474, 473, 1422, 472, 470, 1423, 467, 1414, - 1429, 1429, 1429, 1415, 466, 464, 1427, 1430, 1430, 1430, - 1432, 1432, 1432, 1433, 1433, 1433, 462, 459, 1429, 1437, - 1437, 1437, 1438, 1438, 1438, 456, 1438, 454, 453, 1438, - 1450, 1450, 1450, 1459, 1459, 1459, 1437, 1423, 1422, 1460, - 1460, 1460, 1462, 1462, 1462, 1463, 1463, 1463, 1450, 1463, - 1459, 450, 1463, 1471, 1471, 1471, 449, 1460, 448, 1462, - 1472, 1472, 1472, 1473, 1473, 1473, 1475, 1475, 1475, 445, - 1471, 1476, 1476, 1476, 444, 1477, 1477, 1477, 443, 1477, - 442, 1473, 1477, 441, 1475, 440, 1450, 439, 438, 1476, - - 1480, 1480, 1480, 1481, 1481, 1481, 437, 1481, 434, 433, - 1481, 1482, 1482, 1482, 1483, 1483, 1483, 1480, 1485, 1485, - 1485, 1486, 1486, 1486, 1490, 1490, 1490, 432, 1482, 1491, - 1491, 1491, 1483, 1491, 431, 430, 1491, 424, 423, 1486, - 421, 1490, 415, 414, 1476, 1492, 1492, 1492, 1493, 1493, - 1493, 1498, 1498, 1498, 1499, 1499, 1499, 410, 1499, 404, - 400, 1499, 1492, 1513, 1513, 1513, 1493, 397, 1498, 1520, - 1520, 1520, 1521, 1521, 1521, 396, 1521, 392, 391, 1521, - 390, 1513, 389, 1522, 1522, 1522, 1520, 1522, 385, 382, - 1522, 1530, 1530, 1530, 1531, 1531, 1531, 378, 1531, 377, - - 376, 1531, 1532, 1532, 1532, 1534, 1534, 1534, 1530, 1535, - 1535, 1535, 372, 1535, 366, 362, 1535, 359, 355, 1513, - 1532, 354, 353, 1534, 1538, 1538, 1538, 1539, 1539, 1539, - 349, 1539, 346, 341, 1539, 1540, 1540, 1540, 1545, 1545, - 1545, 1538, 1545, 340, 336, 1545, 1548, 1548, 1548, 333, - 1549, 1549, 1549, 1540, 1549, 328, 327, 1549, 1550, 1550, - 1550, 326, 322, 1548, 1553, 1553, 1553, 1534, 1554, 1554, - 1554, 316, 1554, 312, 306, 1554, 1570, 1570, 1570, 305, - 303, 1553, 1571, 1571, 1571, 1572, 1572, 1572, 1575, 1575, - 1575, 302, 1575, 297, 1570, 1575, 1579, 1579, 1579, 1581, - - 1581, 1581, 1572, 1581, 294, 290, 1581, 1584, 1584, 1584, - 1585, 1585, 1585, 1579, 1585, 289, 288, 1585, 1590, 1590, - 1590, 1594, 1594, 1594, 1570, 1584, 287, 285, 1572, 281, - 1591, 1591, 1591, 278, 1591, 1590, 1590, 1591, 1597, 1597, - 1597, 271, 1597, 264, 263, 1597, 1604, 1604, 1604, 1613, - 1613, 1613, 1614, 1614, 1614, 1584, 1615, 1615, 1615, 1621, - 1621, 1621, 259, 1604, 1616, 1616, 1616, 1613, 1616, 253, - 252, 1616, 251, 1615, 247, 244, 1621, 1622, 1622, 1622, - 239, 1622, 237, 236, 1622, 1624, 1624, 1624, 1626, 1626, - 1626, 1627, 1627, 1627, 232, 1613, 229, 1628, 1628, 1628, - - 227, 1628, 226, 1624, 1628, 1626, 1626, 225, 1627, 1627, - 1629, 1629, 1629, 221, 217, 1628, 1630, 1630, 1630, 1635, - 1635, 1635, 1636, 1636, 1636, 210, 1636, 209, 205, 1636, - 1645, 1645, 1645, 1646, 1646, 1646, 1635, 1646, 201, 200, - 1646, 1653, 1653, 1653, 199, 1654, 1654, 1654, 1645, 1654, - 193, 192, 1654, 1657, 1657, 1657, 190, 187, 1653, 1658, - 1658, 1658, 1661, 1661, 1661, 1662, 1662, 1662, 175, 1662, - 1657, 0, 1662, 1666, 1666, 1666, 0, 1658, 0, 1661, - 1661, 0, 0, 1662, 1663, 1663, 1663, 0, 1663, 0, - 0, 1663, 1645, 1667, 1667, 1667, 0, 1681, 1681, 1681, - - 0, 0, 1663, 1664, 1664, 1664, 1664, 1664, 1664, 1664, - 1664, 1664, 0, 0, 1664, 1681, 1686, 1686, 1686, 1664, - 1664, 1664, 1664, 1664, 1672, 1672, 1672, 0, 1672, 0, - 0, 1672, 0, 1686, 1687, 1687, 1687, 0, 1687, 0, - 0, 1687, 1688, 1688, 1688, 1664, 1664, 1665, 1665, 1665, - 1665, 1665, 1665, 1665, 1665, 1665, 0, 0, 1665, 1688, - 0, 0, 0, 1665, 1665, 1665, 1665, 1665, 1689, 1689, - 1689, 0, 1689, 0, 0, 1689, 1691, 1691, 1691, 0, - 1691, 0, 0, 1691, 0, 0, 1706, 1706, 1706, 1665, - 1665, 1724, 1724, 1724, 1691, 1694, 1694, 1694, 1694, 1694, - - 1694, 1694, 1694, 1694, 1706, 0, 1694, 0, 0, 1724, - 1724, 1694, 1694, 1694, 1694, 1694, 1712, 1712, 1712, 0, - 1712, 0, 0, 1712, 1715, 1715, 1715, 0, 1715, 0, - 0, 1715, 1731, 1731, 1731, 0, 0, 1694, 1694, 1695, - 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 0, 1731, - 1695, 1732, 1732, 1732, 0, 1695, 1695, 1695, 1695, 1695, - 1733, 1733, 1733, 1734, 1734, 1734, 0, 0, 1732, 1739, - 1739, 1739, 1743, 1743, 1743, 0, 0, 1733, 0, 0, - 1734, 1695, 1695, 1746, 1746, 1746, 0, 1739, 0, 0, - 1743, 1747, 1747, 1747, 0, 1747, 0, 0, 1747, 0, - - 1746, 0, 0, 1733, 1748, 1748, 1748, 1749, 1749, 1749, - 0, 1749, 0, 0, 1749, 1750, 1750, 1750, 0, 0, - 1743, 1748, 1751, 1751, 1751, 0, 1751, 0, 0, 1751, - 0, 0, 1750, 1753, 1753, 1753, 1754, 1754, 1754, 0, - 1754, 0, 0, 1754, 1759, 1759, 1759, 1763, 1763, 1763, - 1753, 1763, 0, 0, 1763, 0, 1766, 1766, 1766, 0, - 1766, 0, 1759, 1766, 1769, 1769, 1769, 0, 1769, 0, - 0, 1769, 1773, 1773, 1773, 0, 1773, 0, 0, 1773, - 1759, 1794, 1794, 1794, 1800, 1800, 1800, 1801, 1801, 1801, - 0, 1801, 0, 0, 1801, 1807, 1807, 1807, 1794, 1807, - - 0, 1800, 1807, 1812, 1812, 1812, 1813, 1813, 1813, 0, - 1813, 0, 0, 1813, 1838, 1838, 1838, 1839, 1839, 1839, - 0, 1812, 0, 0, 1813, 0, 0, 0, 0, 0, - 0, 0, 1838, 0, 0, 1839, 1842, 1842, 1842, 1842, - 1842, 1842, 1842, 1842, 1842, 1843, 1843, 1843, 1843, 1843, - 1843, 1843, 1843, 1843, 1844, 1844, 1844, 1844, 1844, 1844, - 1844, 1844, 1844, 1845, 1845, 1845, 1845, 1845, 1845, 1845, - 1845, 1845, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, - 1846, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, - 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1849, - - 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1850, 1850, - 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1851, 1851, 1851, - 1851, 1851, 1851, 1851, 1851, 1851, 1852, 1852, 1852, 1852, - 1852, 1852, 1852, 1852, 1852, 1853, 1853, 1853, 1853, 1853, - 1853, 1853, 1853, 1853, 1854, 1854, 1854, 1854, 1854, 1854, - 1854, 1854, 1854, 1855, 1855, 1855, 1855, 1855, 1855, 1855, - 1855, 1855, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, - 1856, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, - 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1859, - 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1860, 1860, - - 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1861, 1861, 1861, - 1861, 1861, 1861, 1861, 1861, 1861, 1862, 1862, 1862, 1862, - 1862, 1862, 1862, 1862, 1862, 1863, 1863, 1863, 1863, 1863, - 1863, 1863, 1863, 1863, 1864, 1864, 1864, 1864, 1864, 1864, - 1864, 1864, 1864, 1865, 1865, 1865, 1865, 1865, 1865, 1865, - 1865, 1865, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, - 1866, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, - 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1869, - 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1870, 1870, - 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1871, 1871, 1871, - - 1871, 1871, 1871, 1871, 1871, 1871, 1872, 1872, 1872, 1872, - 1872, 1872, 1872, 1872, 1872, 1873, 1873, 1873, 1873, 1873, - 1873, 1873, 1873, 1873, 1874, 1874, 1874, 1874, 1874, 1874, - 1874, 1874, 1874, 1875, 1875, 1875, 1875, 1875, 1875, 1875, - 1875, 1875, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, - 1876, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, - 1878, 1878, 1878, 0, 0, 0, 1878, 1879, 1879, 1879, - 0, 0, 0, 1879, 1880, 1880, 1880, 0, 0, 0, - 1880, 1881, 1881, 1881, 0, 0, 0, 1881, 1882, 1882, - 1882, 0, 0, 0, 1882, 1883, 1883, 1883, 0, 0, - - 0, 1883, 1884, 1884, 1884, 0, 0, 0, 1884, 1885, - 1885, 1885, 0, 0, 0, 1885, 1886, 1886, 1886, 0, - 0, 0, 1886, 1887, 1887, 1887, 0, 0, 0, 1887, - 1888, 1888, 1888, 0, 0, 0, 1888, 1889, 1889, 1889, - 0, 0, 0, 1889, 1890, 1890, 1890, 0, 0, 0, - 1890, 1891, 1891, 1891, 0, 0, 0, 1891, 1892, 1892, - 1892, 0, 0, 0, 1892, 1893, 1893, 1893, 0, 0, - 0, 1893, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 0, - 1894, 1895, 0, 0, 0, 1895, 1896, 0, 0, 0, - 1896, 1897, 0, 0, 0, 1897, 1898, 0, 0, 0, - - 1898, 1899, 0, 0, 0, 1899, 1900, 0, 0, 0, - 1900, 1901, 0, 0, 0, 1901, 1902, 0, 0, 0, - 1902, 1903, 0, 0, 0, 1903, 1904, 0, 0, 0, - 1904, 1905, 1905, 1905, 0, 0, 0, 1905, 1906, 0, - 0, 0, 1906, 1907, 1907, 1907, 0, 0, 0, 1907, - 1908, 0, 0, 0, 1908, 1909, 1909, 1909, 0, 0, - 0, 1909, 1910, 0, 0, 0, 1910, 1911, 1911, 1911, - 0, 0, 0, 1911, 1912, 0, 0, 0, 1912, 1913, - 1913, 1913, 0, 0, 0, 1913, 1914, 0, 0, 0, - 1914, 1915, 1915, 1915, 0, 0, 0, 1915, 1916, 0, - - 0, 0, 1916, 1917, 1917, 1917, 1917, 1917, 1917, 1917, - 1917, 1917, 1918, 0, 0, 0, 0, 1918, 1919, 1919, - 1919, 0, 0, 0, 1919, 1920, 1920, 1920, 1920, 0, - 0, 1920, 1920, 1921, 1921, 1921, 0, 0, 0, 1921, - 1922, 1922, 1922, 1922, 0, 0, 1922, 1922, 1923, 1923, - 1923, 0, 0, 0, 1923, 1924, 1924, 1924, 1924, 0, - 0, 1924, 1924, 1925, 1925, 1925, 0, 0, 0, 1925, - 1926, 1926, 1926, 1926, 0, 0, 1926, 1926, 1927, 1927, - 1927, 0, 0, 0, 1927, 1928, 1928, 1928, 1928, 0, - 0, 1928, 1928, 1929, 1929, 1929, 0, 0, 0, 1929, - - 1930, 1930, 1930, 1930, 0, 0, 1930, 1930, 1931, 1931, - 1931, 0, 0, 0, 1931, 1932, 1932, 1932, 1932, 0, - 0, 1932, 1932, 1933, 1933, 1933, 1933, 0, 0, 1933, - 1933, 1934, 1934, 1934, 0, 0, 0, 1934, 1935, 1935, - 1935, 1935, 0, 0, 1935, 1935, 1936, 1936, 1936, 1936, - 0, 1936, 0, 1936, 1937, 1937, 1937, 1937, 0, 0, - 1937, 1937, 1938, 1938, 1938, 1938, 0, 1938, 0, 1938, - 1939, 1939, 1939, 1939, 0, 0, 1939, 1939, 1940, 1940, - 1940, 1940, 0, 0, 1940, 1940, 1941, 1941, 1941, 1941, - 0, 1941, 0, 1941, 1942, 1942, 1942, 1942, 0, 0, - - 1942, 1942, 1943, 1943, 1943, 0, 0, 0, 1943, 1944, - 1944, 1944, 1944, 0, 0, 1944, 1944, 1945, 1945, 1945, - 0, 0, 0, 1945, 1946, 1946, 1946, 1946, 0, 0, - 1946, 1946, 1947, 1947, 1947, 0, 0, 0, 1947, 1948, - 1948, 1948, 1948, 0, 0, 1948, 1948, 1949, 1949, 1949, - 1949, 1949, 1949, 1949, 1949, 1949, 1950, 0, 1950, 0, - 0, 1950, 1951, 1951, 1951, 0, 0, 0, 1951, 1952, - 1952, 1952, 1952, 0, 0, 1952, 1952, 1953, 1953, 1953, - 1953, 0, 1953, 0, 1953, 1954, 1954, 1954, 1954, 0, - 0, 1954, 1954, 1955, 1955, 1955, 0, 0, 0, 1955, - - 1956, 1956, 1956, 1956, 0, 0, 1956, 1956, 1957, 1957, - 1957, 0, 0, 0, 1957, 1958, 1958, 1958, 1958, 0, - 0, 1958, 1958, 1959, 1959, 1959, 0, 0, 0, 1959, - 1960, 1960, 1960, 1960, 0, 0, 1960, 1960, 1961, 1961, - 1961, 0, 0, 0, 1961, 1962, 1962, 1962, 1962, 0, - 0, 1962, 1962, 1963, 1963, 1963, 0, 0, 0, 1963, - 1964, 1964, 1964, 1964, 0, 0, 1964, 1964, 1965, 1965, - 1965, 1965, 0, 0, 1965, 1965, 1966, 1966, 1966, 0, - 0, 0, 1966, 1967, 1967, 1967, 1967, 0, 0, 1967, - 1967, 1968, 1968, 1968, 1968, 0, 0, 1968, 1968, 1969, - - 1969, 1969, 0, 0, 0, 1969, 1970, 1970, 1970, 1970, - 0, 0, 1970, 1970, 1971, 1971, 1971, 1971, 0, 0, - 1971, 1971, 1972, 1972, 1972, 0, 0, 0, 1972, 1973, - 1973, 1973, 1973, 0, 0, 1973, 1973, 1974, 1974, 1974, - 0, 0, 0, 1974, 1975, 1975, 1975, 1975, 0, 0, - 1975, 1975, 1976, 1976, 1976, 0, 0, 0, 1976, 1977, - 1977, 1977, 1977, 0, 0, 1977, 1977, 1978, 1978, 1978, - 0, 0, 0, 1978, 1979, 1979, 1979, 1979, 0, 0, - 1979, 1979, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, - - 1982, 1982, 1982, 0, 0, 0, 1982, 1983, 1983, 1983, - 1983, 0, 0, 1983, 1983, 1984, 1984, 1984, 0, 0, - 0, 1984, 1985, 1985, 1985, 1985, 0, 0, 1985, 1985, - 1986, 1986, 1986, 0, 0, 0, 1986, 1987, 1987, 1987, - 1987, 0, 0, 1987, 1987, 1988, 1988, 1988, 0, 0, - 0, 1988, 1989, 1989, 1989, 1989, 0, 0, 1989, 1989, - 1990, 1990, 1990, 0, 0, 0, 1990, 1991, 1991, 1991, - 0, 0, 0, 1991, 1992, 1992, 1992, 1992, 0, 0, - 1992, 1992, 1993, 1993, 1993, 1993, 0, 1993, 0, 1993, - 1994, 1994, 1994, 1994, 0, 0, 1994, 1994, 1995, 1995, - - 1995, 1995, 0, 0, 1995, 1995, 1996, 1996, 1996, 0, - 0, 0, 1996, 1997, 1997, 1997, 1997, 0, 0, 1997, - 1997, 1998, 1998, 1998, 1998, 0, 0, 1998, 1998, 1999, - 1999, 1999, 0, 0, 0, 1999, 2000, 2000, 2000, 2000, - 0, 0, 2000, 2000, 2001, 2001, 2001, 2001, 0, 0, - 2001, 2001, 2002, 2002, 2002, 0, 0, 0, 2002, 2003, - 2003, 2003, 2003, 0, 0, 2003, 2003, 2004, 2004, 2004, - 0, 0, 0, 2004, 2005, 2005, 2005, 2005, 0, 0, - 2005, 2005, 2006, 2006, 2006, 2006, 0, 2006, 0, 2006, - 2007, 2007, 2007, 2007, 0, 0, 2007, 2007, 2008, 2008, - - 2008, 2008, 0, 2008, 0, 2008, 2009, 2009, 2009, 2009, - 0, 0, 2009, 2009, 2010, 2010, 2010, 2010, 2010, 2010, - 2010, 2010, 2010, 2011, 2011, 2011, 2011, 2011, 2011, 2011, - 2011, 2011, 2012, 2012, 2012, 0, 0, 0, 2012, 2013, - 2013, 2013, 2013, 0, 0, 2013, 2013, 2014, 2014, 2014, - 0, 0, 0, 2014, 2015, 2015, 2015, 2015, 0, 0, - 2015, 2015, 2016, 2016, 2016, 0, 0, 0, 2016, 2017, - 2017, 2017, 2017, 0, 0, 2017, 2017, 2018, 2018, 2018, - 0, 0, 0, 2018, 2019, 2019, 2019, 2019, 0, 0, - 2019, 2019, 2020, 2020, 2020, 0, 0, 0, 2020, 2021, - - 2021, 2021, 0, 0, 0, 2021, 2022, 2022, 2022, 2022, - 0, 0, 2022, 2022, 2023, 2023, 2023, 2023, 0, 2023, - 0, 2023, 2024, 2024, 2024, 2024, 0, 0, 2024, 2024, - 2025, 2025, 2025, 2025, 0, 0, 2025, 2025, 2026, 2026, - 2026, 0, 0, 0, 2026, 2027, 2027, 2027, 2027, 0, - 0, 2027, 2027, 2028, 2028, 2028, 2028, 0, 0, 2028, - 2028, 2029, 2029, 2029, 2029, 0, 2029, 0, 2029, 2030, - 2030, 2030, 2030, 0, 0, 2030, 2030, 2031, 2031, 2031, - 2031, 0, 0, 2031, 2031, 2032, 2032, 2032, 2032, 0, - 2032, 0, 2032, 2033, 2033, 2033, 2033, 0, 0, 2033, - - 2033, 2034, 2034, 2034, 0, 0, 0, 2034, 2035, 2035, - 2035, 2035, 0, 0, 2035, 2035, 2036, 2036, 2036, 2036, - 0, 0, 2036, 2036, 2037, 2037, 2037, 2037, 2037, 2037, - 2037, 2037, 2037, 2038, 2038, 2038, 2038, 2038, 2038, 2038, - 2038, 2038, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, - 2039, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, - 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2042, - 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 1841, 1841, + 985, 985, 985, 1130, 970, 971, 1129, 986, 986, 986, + 1127, 986, 1116, 972, 986, 1114, 977, 991, 991, 991, + 1113, 991, 1109, 1101, 991, 1032, 1032, 1032, 984, 994, + + 994, 994, 995, 995, 995, 996, 996, 996, 1098, 996, + 1095, 1094, 996, 985, 1001, 1001, 1001, 994, 1001, 1093, + 995, 1001, 1004, 1004, 1004, 1006, 1006, 1006, 1007, 1007, + 1007, 1081, 1007, 1080, 1075, 1007, 1010, 1010, 1010, 1074, + 1004, 1073, 1006, 1012, 1012, 1012, 1013, 1013, 1013, 1072, + 1014, 1014, 1014, 1071, 1010, 995, 994, 1015, 1015, 1015, + 1012, 1026, 1026, 1026, 1013, 1070, 1004, 1014, 1018, 1018, + 1018, 1036, 1036, 1036, 1063, 1015, 1038, 1038, 1038, 1026, + 1060, 1056, 1010, 1039, 1039, 1039, 1018, 1040, 1040, 1040, + 1041, 1041, 1041, 1043, 1043, 1043, 1046, 1046, 1046, 1047, + + 1047, 1047, 1048, 1048, 1048, 1049, 1049, 1049, 1054, 1013, + 1026, 1055, 1055, 1055, 1053, 1015, 1018, 1050, 1050, 1050, + 1045, 1050, 1044, 1042, 1050, 1037, 1039, 1035, 1034, 1055, + 1033, 1030, 1018, 1057, 1057, 1057, 1038, 1057, 1029, 1028, + 1057, 1027, 1047, 1061, 1061, 1061, 1024, 1023, 1049, 1062, + 1062, 1062, 1020, 1043, 1017, 1011, 1046, 1009, 1008, 1055, + 1005, 1061, 1048, 1064, 1064, 1064, 1000, 1064, 999, 990, + 1064, 1067, 1067, 1067, 1068, 1068, 1068, 989, 1068, 975, + 974, 1068, 973, 1069, 1069, 1069, 960, 957, 1067, 1076, + 1076, 1076, 1077, 1077, 1077, 956, 1077, 955, 954, 1077, + + 1061, 1069, 1078, 1078, 1078, 953, 1076, 1079, 1079, 1079, + 950, 1079, 945, 942, 1079, 1082, 1082, 1082, 933, 1078, + 1083, 1083, 1083, 1084, 1084, 1084, 931, 1084, 930, 927, + 1084, 1069, 926, 1082, 1085, 1085, 1085, 1083, 1086, 1086, + 1086, 1087, 1087, 1087, 925, 1087, 924, 923, 1087, 922, + 921, 1085, 1088, 1088, 1088, 1086, 1089, 1089, 1089, 1090, + 1090, 1090, 1091, 1091, 1091, 1092, 1092, 1092, 920, 1088, + 1096, 1096, 1096, 1089, 917, 916, 1090, 1097, 1097, 1097, + 1091, 1097, 915, 1092, 1097, 913, 912, 1096, 1099, 1099, + 1099, 1100, 1100, 1100, 1102, 1102, 1102, 1103, 1103, 1103, + + 1104, 1104, 1104, 1105, 1105, 1105, 1099, 909, 908, 1100, + 1089, 1102, 907, 1092, 1103, 1106, 1106, 1106, 1104, 906, + 904, 1105, 903, 902, 1091, 1107, 1107, 1107, 901, 1108, + 1108, 1108, 1106, 1110, 1110, 1110, 900, 1110, 891, 1100, + 1110, 883, 1107, 1115, 1115, 1115, 1105, 1108, 1117, 1117, + 1117, 1118, 1118, 1118, 882, 1118, 877, 876, 1118, 874, + 867, 1115, 866, 1104, 850, 1117, 1119, 1119, 1119, 1120, + 1120, 1120, 1121, 1121, 1121, 849, 1121, 846, 833, 1121, + 1122, 1122, 1122, 832, 1119, 831, 1120, 1128, 1128, 1128, + 1108, 1115, 1131, 1131, 1131, 1139, 1139, 1139, 1122, 1140, + + 1140, 1140, 827, 815, 1128, 1141, 1141, 1141, 814, 813, + 1131, 1142, 1142, 1142, 1145, 1145, 1145, 1146, 1146, 1146, + 812, 1119, 1148, 1148, 1148, 1149, 1149, 1149, 1153, 1153, + 1153, 803, 1156, 1156, 1156, 1157, 1157, 1157, 1166, 1166, + 1166, 802, 1166, 797, 796, 1166, 1153, 795, 794, 1131, + 1156, 793, 1157, 1169, 1169, 1169, 1170, 1170, 1170, 1176, + 1176, 1176, 789, 1176, 788, 787, 1176, 782, 1179, 1179, + 1179, 1169, 1179, 1170, 774, 1179, 1183, 1183, 1183, 1184, + 1184, 1184, 1186, 1186, 1186, 772, 1186, 1156, 766, 1186, + 1189, 1189, 1189, 1183, 757, 752, 1169, 1184, 1190, 1190, + + 1190, 746, 1190, 745, 744, 1190, 743, 1189, 1191, 1191, + 1191, 742, 1191, 741, 739, 1191, 1194, 1194, 1194, 1195, + 1195, 1195, 737, 1195, 736, 735, 1195, 1196, 1196, 1196, + 1197, 1197, 1197, 1194, 1198, 1198, 1198, 734, 1198, 733, + 731, 1198, 730, 729, 1196, 728, 727, 1197, 1199, 1199, + 1199, 1200, 1200, 1200, 1202, 1202, 1202, 1204, 1204, 1204, + 726, 1204, 725, 719, 1204, 718, 1199, 717, 716, 1200, + 713, 1202, 1208, 1208, 1208, 1210, 1210, 1210, 1212, 1212, + 1212, 1213, 1213, 1213, 712, 1213, 711, 709, 1213, 705, + 1208, 702, 697, 1210, 696, 1212, 1199, 1202, 1214, 1214, + + 1214, 1215, 1215, 1215, 693, 1215, 692, 691, 1215, 690, + 675, 1200, 1216, 1216, 1216, 1214, 1217, 1217, 1217, 1218, + 1218, 1218, 1219, 1219, 1219, 668, 1219, 667, 666, 1219, + 1216, 1220, 1220, 1220, 1217, 663, 1218, 1221, 1221, 1221, + 656, 1221, 655, 654, 1221, 1222, 1222, 1222, 1220, 1226, + 1226, 1226, 1228, 1228, 1228, 653, 1228, 644, 643, 1228, + 642, 641, 1217, 1222, 1231, 1231, 1231, 1226, 1232, 1232, + 1232, 640, 1232, 637, 1216, 1232, 1235, 1235, 1235, 1241, + 1241, 1241, 1231, 1242, 1242, 1242, 635, 1242, 631, 626, + 1242, 1245, 1245, 1245, 1235, 625, 1241, 1246, 1246, 1246, + + 1249, 1249, 1249, 1252, 1252, 1252, 1222, 624, 623, 1245, + 1226, 620, 1231, 1253, 1253, 1253, 1254, 1254, 1254, 1256, + 1256, 1256, 1257, 1257, 1257, 1258, 1258, 1258, 1259, 1259, + 1259, 1263, 1263, 1263, 1267, 1267, 1267, 1268, 1268, 1268, + 1269, 1269, 1269, 618, 1269, 614, 610, 1269, 609, 1263, + 606, 1245, 1267, 605, 1268, 1280, 1280, 1280, 1281, 1281, + 1281, 1282, 1282, 1282, 604, 1282, 603, 602, 1282, 1283, + 1283, 1283, 601, 1280, 600, 1281, 1291, 1291, 1291, 1292, + 1292, 1292, 598, 1292, 597, 596, 1292, 1293, 1293, 1293, + 595, 1293, 594, 1291, 1293, 1296, 1296, 1296, 593, 1296, + + 592, 1280, 1296, 1299, 1299, 1299, 1300, 1300, 1300, 591, + 1300, 590, 589, 1300, 1301, 1301, 1301, 588, 1301, 587, + 1299, 1301, 1304, 1304, 1304, 1305, 1305, 1305, 1307, 1307, + 1307, 1308, 1308, 1308, 586, 1308, 585, 581, 1308, 580, + 1304, 579, 577, 1305, 576, 1307, 1314, 1314, 1314, 1317, + 1317, 1317, 575, 1317, 574, 573, 1317, 569, 1320, 1320, + 1320, 567, 1320, 566, 1314, 1320, 1323, 1323, 1323, 1324, + 1324, 1324, 1325, 1325, 1325, 565, 1325, 564, 560, 1325, + 559, 556, 1304, 555, 1323, 554, 553, 1324, 1328, 1328, + 1328, 552, 1328, 551, 548, 1328, 547, 1331, 1331, 1331, + + 1332, 1332, 1332, 1335, 1335, 1335, 1337, 1337, 1337, 1338, + 1338, 1338, 546, 545, 1323, 1331, 542, 1332, 1341, 1341, + 1341, 1335, 538, 537, 1337, 536, 535, 1338, 1347, 1347, + 1347, 1324, 1331, 1342, 1342, 1342, 532, 1342, 531, 530, + 1342, 1348, 1348, 1348, 529, 526, 1347, 1349, 1349, 1349, + 1351, 1351, 1351, 1352, 1352, 1352, 1353, 1353, 1353, 1354, + 1354, 1354, 1337, 525, 1335, 1356, 1356, 1356, 1357, 1357, + 1357, 1361, 1361, 1361, 1363, 1363, 1363, 1365, 1365, 1365, + 524, 1365, 523, 1347, 1365, 1378, 1378, 1378, 1361, 1379, + 1379, 1379, 1363, 1379, 521, 518, 1379, 1382, 1382, 1382, + + 1392, 1392, 1392, 1378, 1392, 514, 513, 1392, 1395, 1395, + 1395, 512, 1395, 511, 510, 1395, 1398, 1398, 1398, 1399, + 1399, 1399, 1401, 1401, 1401, 1402, 1402, 1402, 509, 1402, + 506, 503, 1402, 502, 1398, 501, 500, 1399, 499, 1401, + 498, 496, 1378, 1412, 1412, 1412, 1413, 1413, 1413, 1414, + 1414, 1414, 1415, 1415, 1415, 1416, 1416, 1416, 492, 1417, + 1417, 1417, 490, 1417, 1413, 1401, 1417, 1414, 489, 488, + 1415, 487, 1416, 1418, 1418, 1418, 1420, 1420, 1420, 1421, + 1421, 1421, 1422, 1422, 1422, 1423, 1423, 1423, 483, 482, + 1418, 1426, 1426, 1426, 1420, 1427, 1427, 1427, 481, 480, + + 1422, 476, 475, 1423, 474, 1414, 1429, 1429, 1429, 1415, + 473, 472, 1427, 1430, 1430, 1430, 1432, 1432, 1432, 1433, + 1433, 1433, 470, 467, 1429, 1437, 1437, 1437, 1438, 1438, + 1438, 466, 1438, 464, 462, 1438, 1450, 1450, 1450, 1459, + 1459, 1459, 1437, 1423, 1422, 1460, 1460, 1460, 1462, 1462, + 1462, 1463, 1463, 1463, 1450, 1463, 1459, 459, 1463, 1471, + 1471, 1471, 456, 1460, 454, 1462, 1472, 1472, 1472, 1473, + 1473, 1473, 1475, 1475, 1475, 453, 1471, 1476, 1476, 1476, + 450, 1477, 1477, 1477, 449, 1477, 448, 1473, 1477, 445, + 1475, 444, 1450, 443, 442, 1476, 1480, 1480, 1480, 1481, + + 1481, 1481, 441, 1481, 440, 439, 1481, 1482, 1482, 1482, + 1483, 1483, 1483, 1480, 1485, 1485, 1485, 1486, 1486, 1486, + 1490, 1490, 1490, 438, 1482, 1491, 1491, 1491, 1483, 1491, + 437, 434, 1491, 433, 432, 1486, 431, 1490, 430, 424, + 1476, 1492, 1492, 1492, 1493, 1493, 1493, 1498, 1498, 1498, + 1499, 1499, 1499, 423, 1499, 421, 415, 1499, 1492, 1513, + 1513, 1513, 1493, 414, 1498, 1520, 1520, 1520, 1521, 1521, + 1521, 410, 1521, 404, 400, 1521, 397, 1513, 396, 1522, + 1522, 1522, 1520, 1522, 392, 391, 1522, 1530, 1530, 1530, + 1531, 1531, 1531, 390, 1531, 389, 385, 1531, 1532, 1532, + + 1532, 1534, 1534, 1534, 1530, 1535, 1535, 1535, 382, 1535, + 378, 377, 1535, 376, 372, 1513, 1532, 366, 362, 1534, + 1538, 1538, 1538, 1539, 1539, 1539, 359, 1539, 355, 354, + 1539, 1540, 1540, 1540, 1545, 1545, 1545, 1538, 1545, 353, + 349, 1545, 1548, 1548, 1548, 346, 1549, 1549, 1549, 1540, + 1549, 341, 340, 1549, 1550, 1550, 1550, 336, 333, 1548, + 1553, 1553, 1553, 1534, 1554, 1554, 1554, 328, 1554, 327, + 326, 1554, 1570, 1570, 1570, 322, 316, 1553, 1571, 1571, + 1571, 1572, 1572, 1572, 1575, 1575, 1575, 312, 1575, 306, + 1570, 1575, 1579, 1579, 1579, 1581, 1581, 1581, 1572, 1581, + + 305, 303, 1581, 1584, 1584, 1584, 1585, 1585, 1585, 1579, + 1585, 302, 297, 1585, 1590, 1590, 1590, 1594, 1594, 1594, + 1570, 1584, 294, 290, 1572, 289, 1591, 1591, 1591, 288, + 1591, 1590, 1590, 1591, 1597, 1597, 1597, 287, 1597, 285, + 281, 1597, 1604, 1604, 1604, 1613, 1613, 1613, 1614, 1614, + 1614, 1584, 1615, 1615, 1615, 1621, 1621, 1621, 278, 1604, + 1616, 1616, 1616, 1613, 1616, 271, 264, 1616, 263, 1615, + 259, 253, 1621, 1622, 1622, 1622, 252, 1622, 251, 247, + 1622, 1624, 1624, 1624, 1626, 1626, 1626, 1627, 1627, 1627, + 244, 1613, 239, 1628, 1628, 1628, 237, 1628, 236, 1624, + + 1628, 1626, 1626, 232, 1627, 1627, 1629, 1629, 1629, 229, + 227, 1628, 1630, 1630, 1630, 1635, 1635, 1635, 1636, 1636, + 1636, 226, 1636, 225, 221, 1636, 1645, 1645, 1645, 1646, + 1646, 1646, 1635, 1646, 217, 210, 1646, 1653, 1653, 1653, + 209, 1654, 1654, 1654, 1645, 1654, 205, 201, 1654, 1657, + 1657, 1657, 200, 199, 1653, 1658, 1658, 1658, 1661, 1661, + 1661, 1662, 1662, 1662, 193, 1662, 1657, 192, 1662, 1666, + 1666, 1666, 190, 1658, 187, 1661, 1661, 175, 0, 1662, + 1663, 1663, 1663, 0, 1663, 0, 0, 1663, 1645, 1667, + 1667, 1667, 0, 1681, 1681, 1681, 0, 0, 1663, 1664, + + 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 0, 0, + 1664, 1681, 1686, 1686, 1686, 1664, 1664, 1664, 1664, 1664, + 1672, 1672, 1672, 0, 1672, 0, 0, 1672, 0, 1686, + 1687, 1687, 1687, 0, 1687, 0, 0, 1687, 1688, 1688, + 1688, 1664, 1664, 1665, 1665, 1665, 1665, 1665, 1665, 1665, + 1665, 1665, 0, 0, 1665, 1688, 0, 0, 0, 1665, + 1665, 1665, 1665, 1665, 1689, 1689, 1689, 0, 1689, 0, + 0, 1689, 1691, 1691, 1691, 0, 1691, 0, 0, 1691, + 0, 0, 1706, 1706, 1706, 1665, 1665, 1724, 1724, 1724, + 1691, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, + + 1706, 0, 1694, 0, 0, 1724, 1724, 1694, 1694, 1694, + 1694, 1694, 1712, 1712, 1712, 0, 1712, 0, 0, 1712, + 1715, 1715, 1715, 0, 1715, 0, 0, 1715, 1731, 1731, + 1731, 0, 0, 1694, 1694, 1695, 1695, 1695, 1695, 1695, + 1695, 1695, 1695, 1695, 0, 1731, 1695, 1732, 1732, 1732, + 0, 1695, 1695, 1695, 1695, 1695, 1733, 1733, 1733, 1734, + 1734, 1734, 0, 0, 1732, 1739, 1739, 1739, 1743, 1743, + 1743, 0, 0, 1733, 0, 0, 1734, 1695, 1695, 1746, + 1746, 1746, 0, 1739, 0, 0, 1743, 1747, 1747, 1747, + 0, 1747, 0, 0, 1747, 0, 1746, 0, 0, 1733, + + 1748, 1748, 1748, 1749, 1749, 1749, 0, 1749, 0, 0, + 1749, 1750, 1750, 1750, 0, 0, 1743, 1748, 1751, 1751, + 1751, 0, 1751, 0, 0, 1751, 0, 0, 1750, 1753, + 1753, 1753, 1754, 1754, 1754, 0, 1754, 0, 0, 1754, + 1759, 1759, 1759, 1763, 1763, 1763, 1753, 1763, 0, 0, + 1763, 0, 1766, 1766, 1766, 0, 1766, 0, 1759, 1766, + 1769, 1769, 1769, 0, 1769, 0, 0, 1769, 1773, 1773, + 1773, 0, 1773, 0, 0, 1773, 1759, 1794, 1794, 1794, + 1800, 1800, 1800, 1801, 1801, 1801, 0, 1801, 0, 0, + 1801, 1807, 1807, 1807, 1794, 1807, 0, 1800, 1807, 1812, + + 1812, 1812, 1813, 1813, 1813, 0, 1813, 0, 0, 1813, + 1838, 1838, 1838, 1839, 1839, 1839, 0, 1812, 0, 0, + 1813, 0, 0, 0, 0, 0, 0, 0, 1838, 0, + 0, 1839, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, + 1842, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, + 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1845, + 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1846, 1846, + 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1847, 1847, 1847, + 1847, 1847, 1847, 1847, 1847, 1847, 1848, 1848, 1848, 1848, + 1848, 1848, 1848, 1848, 1848, 1849, 1849, 1849, 1849, 1849, + + 1849, 1849, 1849, 1849, 1850, 1850, 1850, 1850, 1850, 1850, + 1850, 1850, 1850, 1851, 1851, 1851, 1851, 1851, 1851, 1851, + 1851, 1851, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, + 1852, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, + 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1855, + 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1856, 1856, + 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1857, 1857, 1857, + 1857, 1857, 1857, 1857, 1857, 1857, 1858, 1858, 1858, 1858, + 1858, 1858, 1858, 1858, 1858, 1859, 1859, 1859, 1859, 1859, + 1859, 1859, 1859, 1859, 1860, 1860, 1860, 1860, 1860, 1860, + + 1860, 1860, 1860, 1861, 1861, 1861, 1861, 1861, 1861, 1861, + 1861, 1861, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, + 1862, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, + 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1865, + 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1866, 1866, + 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1867, 1867, 1867, + 1867, 1867, 1867, 1867, 1867, 1867, 1868, 1868, 1868, 1868, + 1868, 1868, 1868, 1868, 1868, 1869, 1869, 1869, 1869, 1869, + 1869, 1869, 1869, 1869, 1870, 1870, 1870, 1870, 1870, 1870, + 1870, 1870, 1870, 1871, 1871, 1871, 1871, 1871, 1871, 1871, + + 1871, 1871, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + 1872, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, + 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1875, + 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1876, 1876, + 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1877, 1877, 1877, + 1877, 1877, 1877, 1877, 1877, 1877, 1878, 1878, 1878, 0, + 0, 0, 1878, 1879, 1879, 1879, 0, 0, 0, 1879, + 1880, 1880, 1880, 0, 0, 0, 1880, 1881, 1881, 1881, + 0, 0, 0, 1881, 1882, 1882, 1882, 0, 0, 0, + 1882, 1883, 1883, 1883, 0, 0, 0, 1883, 1884, 1884, + + 1884, 0, 0, 0, 1884, 1885, 1885, 1885, 0, 0, + 0, 1885, 1886, 1886, 1886, 0, 0, 0, 1886, 1887, + 1887, 1887, 0, 0, 0, 1887, 1888, 1888, 1888, 0, + 0, 0, 1888, 1889, 1889, 1889, 0, 0, 0, 1889, + 1890, 1890, 1890, 0, 0, 0, 1890, 1891, 1891, 1891, + 0, 0, 0, 1891, 1892, 1892, 1892, 0, 0, 0, + 1892, 1893, 1893, 1893, 0, 0, 0, 1893, 1894, 1894, + 1894, 1894, 1894, 1894, 1894, 0, 1894, 1895, 0, 0, + 0, 1895, 1896, 0, 0, 0, 1896, 1897, 0, 0, + 0, 1897, 1898, 0, 0, 0, 1898, 1899, 0, 0, + + 0, 1899, 1900, 0, 0, 0, 1900, 1901, 0, 0, + 0, 1901, 1902, 0, 0, 0, 1902, 1903, 0, 0, + 0, 1903, 1904, 0, 0, 0, 1904, 1905, 1905, 1905, + 0, 0, 0, 1905, 1906, 0, 0, 0, 1906, 1907, + 1907, 1907, 0, 0, 0, 1907, 1908, 0, 0, 0, + 1908, 1909, 1909, 1909, 0, 0, 0, 1909, 1910, 0, + 0, 0, 1910, 1911, 1911, 1911, 0, 0, 0, 1911, + 1912, 0, 0, 0, 1912, 1913, 1913, 1913, 0, 0, + 0, 1913, 1914, 0, 0, 0, 1914, 1915, 1915, 1915, + 0, 0, 0, 1915, 1916, 0, 0, 0, 1916, 1917, + + 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1918, 0, + 0, 0, 0, 1918, 1919, 1919, 1919, 0, 0, 0, + 1919, 1920, 1920, 1920, 1920, 0, 0, 1920, 1920, 1921, + 1921, 1921, 0, 0, 0, 1921, 1922, 1922, 1922, 1922, + 0, 0, 1922, 1922, 1923, 1923, 1923, 0, 0, 0, + 1923, 1924, 1924, 1924, 1924, 0, 0, 1924, 1924, 1925, + 1925, 1925, 0, 0, 0, 1925, 1926, 1926, 1926, 1926, + 0, 0, 1926, 1926, 1927, 1927, 1927, 0, 0, 0, + 1927, 1928, 1928, 1928, 1928, 0, 0, 1928, 1928, 1929, + 1929, 1929, 0, 0, 0, 1929, 1930, 1930, 1930, 1930, + + 0, 0, 1930, 1930, 1931, 1931, 1931, 0, 0, 0, + 1931, 1932, 1932, 1932, 1932, 0, 0, 1932, 1932, 1933, + 1933, 1933, 1933, 0, 0, 1933, 1933, 1934, 1934, 1934, + 0, 0, 0, 1934, 1935, 1935, 1935, 1935, 0, 0, + 1935, 1935, 1936, 1936, 1936, 1936, 0, 1936, 0, 1936, + 1937, 1937, 1937, 1937, 0, 0, 1937, 1937, 1938, 1938, + 1938, 1938, 0, 1938, 0, 1938, 1939, 1939, 1939, 1939, + 0, 0, 1939, 1939, 1940, 1940, 1940, 1940, 0, 0, + 1940, 1940, 1941, 1941, 1941, 1941, 0, 1941, 0, 1941, + 1942, 1942, 1942, 1942, 0, 0, 1942, 1942, 1943, 1943, + + 1943, 0, 0, 0, 1943, 1944, 1944, 1944, 1944, 0, + 0, 1944, 1944, 1945, 1945, 1945, 0, 0, 0, 1945, + 1946, 1946, 1946, 1946, 0, 0, 1946, 1946, 1947, 1947, + 1947, 0, 0, 0, 1947, 1948, 1948, 1948, 1948, 0, + 0, 1948, 1948, 1949, 1949, 1949, 1949, 1949, 1949, 1949, + 1949, 1949, 1950, 0, 1950, 0, 0, 1950, 1951, 1951, + 1951, 0, 0, 0, 1951, 1952, 1952, 1952, 1952, 0, + 0, 1952, 1952, 1953, 1953, 1953, 1953, 0, 1953, 0, + 1953, 1954, 1954, 1954, 1954, 0, 0, 1954, 1954, 1955, + 1955, 1955, 0, 0, 0, 1955, 1956, 1956, 1956, 1956, + + 0, 0, 1956, 1956, 1957, 1957, 1957, 0, 0, 0, + 1957, 1958, 1958, 1958, 1958, 0, 0, 1958, 1958, 1959, + 1959, 1959, 0, 0, 0, 1959, 1960, 1960, 1960, 1960, + 0, 0, 1960, 1960, 1961, 1961, 1961, 0, 0, 0, + 1961, 1962, 1962, 1962, 1962, 0, 0, 1962, 1962, 1963, + 1963, 1963, 0, 0, 0, 1963, 1964, 1964, 1964, 1964, + 0, 0, 1964, 1964, 1965, 1965, 1965, 1965, 0, 0, + 1965, 1965, 1966, 1966, 1966, 0, 0, 0, 1966, 1967, + 1967, 1967, 1967, 0, 0, 1967, 1967, 1968, 1968, 1968, + 1968, 0, 0, 1968, 1968, 1969, 1969, 1969, 0, 0, + + 0, 1969, 1970, 1970, 1970, 1970, 0, 0, 1970, 1970, + 1971, 1971, 1971, 1971, 0, 0, 1971, 1971, 1972, 1972, + 1972, 0, 0, 0, 1972, 1973, 1973, 1973, 1973, 0, + 0, 1973, 1973, 1974, 1974, 1974, 0, 0, 0, 1974, + 1975, 1975, 1975, 1975, 0, 0, 1975, 1975, 1976, 1976, + 1976, 0, 0, 0, 1976, 1977, 1977, 1977, 1977, 0, + 0, 1977, 1977, 1978, 1978, 1978, 0, 0, 0, 1978, + 1979, 1979, 1979, 1979, 0, 0, 1979, 1979, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1981, 1981, 1981, + 1981, 1981, 1981, 1981, 1981, 1981, 1982, 1982, 1982, 0, + + 0, 0, 1982, 1983, 1983, 1983, 1983, 0, 0, 1983, + 1983, 1984, 1984, 1984, 0, 0, 0, 1984, 1985, 1985, + 1985, 1985, 0, 0, 1985, 1985, 1986, 1986, 1986, 0, + 0, 0, 1986, 1987, 1987, 1987, 1987, 0, 0, 1987, + 1987, 1988, 1988, 1988, 0, 0, 0, 1988, 1989, 1989, + 1989, 1989, 0, 0, 1989, 1989, 1990, 1990, 1990, 0, + 0, 0, 1990, 1991, 1991, 1991, 0, 0, 0, 1991, + 1992, 1992, 1992, 1992, 0, 0, 1992, 1992, 1993, 1993, + 1993, 1993, 0, 1993, 0, 1993, 1994, 1994, 1994, 1994, + 0, 0, 1994, 1994, 1995, 1995, 1995, 1995, 0, 0, + + 1995, 1995, 1996, 1996, 1996, 0, 0, 0, 1996, 1997, + 1997, 1997, 1997, 0, 0, 1997, 1997, 1998, 1998, 1998, + 1998, 0, 0, 1998, 1998, 1999, 1999, 1999, 0, 0, + 0, 1999, 2000, 2000, 2000, 2000, 0, 0, 2000, 2000, + 2001, 2001, 2001, 2001, 0, 0, 2001, 2001, 2002, 2002, + 2002, 0, 0, 0, 2002, 2003, 2003, 2003, 2003, 0, + 0, 2003, 2003, 2004, 2004, 2004, 0, 0, 0, 2004, + 2005, 2005, 2005, 2005, 0, 0, 2005, 2005, 2006, 2006, + 2006, 2006, 0, 2006, 0, 2006, 2007, 2007, 2007, 2007, + 0, 0, 2007, 2007, 2008, 2008, 2008, 2008, 0, 2008, + + 0, 2008, 2009, 2009, 2009, 2009, 0, 0, 2009, 2009, + 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2011, + 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2012, 2012, + 2012, 0, 0, 0, 2012, 2013, 2013, 2013, 2013, 0, + 0, 2013, 2013, 2014, 2014, 2014, 0, 0, 0, 2014, + 2015, 2015, 2015, 2015, 0, 0, 2015, 2015, 2016, 2016, + 2016, 0, 0, 0, 2016, 2017, 2017, 2017, 2017, 0, + 0, 2017, 2017, 2018, 2018, 2018, 0, 0, 0, 2018, + 2019, 2019, 2019, 2019, 0, 0, 2019, 2019, 2020, 2020, + 2020, 0, 0, 0, 2020, 2021, 2021, 2021, 0, 0, + + 0, 2021, 2022, 2022, 2022, 2022, 0, 0, 2022, 2022, + 2023, 2023, 2023, 2023, 0, 2023, 0, 2023, 2024, 2024, + 2024, 2024, 0, 0, 2024, 2024, 2025, 2025, 2025, 2025, + 0, 0, 2025, 2025, 2026, 2026, 2026, 0, 0, 0, + 2026, 2027, 2027, 2027, 2027, 0, 0, 2027, 2027, 2028, + 2028, 2028, 2028, 0, 0, 2028, 2028, 2029, 2029, 2029, + 2029, 0, 2029, 0, 2029, 2030, 2030, 2030, 2030, 0, + 0, 2030, 2030, 2031, 2031, 2031, 2031, 0, 0, 2031, + 2031, 2032, 2032, 2032, 2032, 0, 2032, 0, 2032, 2033, + 2033, 2033, 2033, 0, 0, 2033, 2033, 2034, 2034, 2034, + + 0, 0, 0, 2034, 2035, 2035, 2035, 2035, 0, 0, + 2035, 2035, 2036, 2036, 2036, 2036, 0, 0, 2036, 2036, + 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2038, + 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2039, 2039, + 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2040, 2040, 2040, + 2040, 2040, 2040, 2040, 2040, 2040, 2041, 2041, 2041, 2041, + 2041, 2041, 2041, 2041, 2041, 2042, 2042, 2042, 2042, 2042, + 2042, 2042, 2042, 2042, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, @@ -2565,7 +2565,7 @@ static yyconst flex_int16_t yy_chk[6549] = 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, - 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841 + 1841, 1841, 1841, 1841 } ; /* Table of booleans, true if rule could match eol. */ @@ -2604,7 +2604,7 @@ int surf_parse__flex_debug = 0; #define YY_RESTORE_YY_MORE_OFFSET char *surf_parse_text; /* Validating XML processor for src/surf/simgrid.dtd. - * Generated 2010/09/22 15:07:51. + * Generated 2010/10/01 22:34:13. * * This program was generated with the FleXML XML processor generator. * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved. @@ -2693,6 +2693,8 @@ AT_surfxml_random_generator AX_surfxml_random_generator; #define A_surfxml_random_generator AX_surfxml_random_generator AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst; #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst) +AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element; +#define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element) AT_surfxml_prop_id AX_surfxml_prop_id; #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id) AT_surfxml_host_interference_recv AX_surfxml_host_interference_recv; @@ -2729,12 +2731,12 @@ AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy; #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy AT_surfxml_random_min AX_surfxml_random_min; #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min) +AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id; +#define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id) AT_surfxml_process_kill_time AX_surfxml_process_kill_time; #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time) AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw; #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw) -AT_surfxml_trace_c_connect_element AX_surfxml_trace_c_connect_element; -#define A_surfxml_trace_c_connect_element (surfxml_bufferstack + AX_surfxml_trace_c_connect_element) AT_surfxml_argument_value AX_surfxml_argument_value; #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value) AT_surfxml_link_state AX_surfxml_link_state; @@ -2753,6 +2755,8 @@ AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat; #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat) AT_surfxml_link_latency AX_surfxml_link_latency; #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency) +AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind; +#define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind AT_surfxml_platform_xmlns_c_link AX_surfxml_platform_xmlns_c_link; #define A_surfxml_platform_xmlns_c_link (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_link) AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file; @@ -2779,14 +2783,14 @@ AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst; #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst) AT_surfxml_link_state_file AX_surfxml_link_state_file; #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file) +AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace; +#define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace) AT_surfxml_cluster_power AX_surfxml_cluster_power; #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power) AT_surfxml_process_function AX_surfxml_process_function; #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function) AT_surfxml_host_max_outgoing_rate AX_surfxml_host_max_outgoing_rate; #define A_surfxml_host_max_outgoing_rate (surfxml_bufferstack + AX_surfxml_host_max_outgoing_rate) -AT_surfxml_link_c_ctn_id AX_surfxml_link_c_ctn_id; -#define A_surfxml_link_c_ctn_id (surfxml_bufferstack + AX_surfxml_link_c_ctn_id) AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst; #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst) AT_surfxml_host_availability AX_surfxml_host_availability; @@ -2797,16 +2801,12 @@ AT_surfxml_route_src AX_surfxml_route_src; #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src) AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst; #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst) -AT_surfxml_trace_c_connect_trace AX_surfxml_trace_c_connect_trace; -#define A_surfxml_trace_c_connect_trace (surfxml_bufferstack + AX_surfxml_trace_c_connect_trace) AT_surfxml_trace_id AX_surfxml_trace_id; #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id) AT_surfxml_cluster_radical AX_surfxml_cluster_radical; #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical) AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation; #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation) -AT_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind; -#define A_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src; #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src) AT_surfxml_host_state_file AX_surfxml_host_state_file; @@ -2983,8 +2983,8 @@ const char* *surfxml_statenames=NULL; #define S_surfxml_random_1 25 #define S_surfxml_random_2 26 #define E_surfxml_random 27 -#define AL_surfxml_trace_c_connect 28 -#define E_surfxml_trace_c_connect 29 +#define AL_surfxml_trace_connect 28 +#define E_surfxml_trace_connect 29 #define AL_surfxml_AS 30 #define S_surfxml_AS 31 #define S_surfxml_AS_1 32 @@ -3025,8 +3025,8 @@ const char* *surfxml_statenames=NULL; #define S_surfxml_ASroute_1 67 #define S_surfxml_ASroute_2 68 #define E_surfxml_ASroute 69 -#define AL_surfxml_link_c_ctn 70 -#define E_surfxml_link_c_ctn 71 +#define AL_surfxml_link_ctn 70 +#define E_surfxml_link_ctn 71 #define AL_surfxml_bypassRoute 72 #define S_surfxml_bypassRoute 73 #define S_surfxml_bypassRoute_1 74 @@ -3299,8 +3299,8 @@ YY_DECL surfxml_statenames[S_surfxml_random_1] = "random"; surfxml_statenames[S_surfxml_random_2] = "random"; surfxml_statenames[E_surfxml_random] = "random"; - surfxml_statenames[AL_surfxml_trace_c_connect] = NULL; - surfxml_statenames[E_surfxml_trace_c_connect] = "trace:connect"; + surfxml_statenames[AL_surfxml_trace_connect] = NULL; + surfxml_statenames[E_surfxml_trace_connect] = "trace_connect"; surfxml_statenames[AL_surfxml_AS] = NULL; surfxml_statenames[S_surfxml_AS] = "AS"; surfxml_statenames[S_surfxml_AS_1] = "AS"; @@ -3341,8 +3341,8 @@ YY_DECL surfxml_statenames[S_surfxml_ASroute_1] = "ASroute"; surfxml_statenames[S_surfxml_ASroute_2] = "ASroute"; surfxml_statenames[E_surfxml_ASroute] = "ASroute"; - surfxml_statenames[AL_surfxml_link_c_ctn] = NULL; - surfxml_statenames[E_surfxml_link_c_ctn] = "link:ctn"; + surfxml_statenames[AL_surfxml_link_ctn] = NULL; + surfxml_statenames[E_surfxml_link_ctn] = "link_ctn"; surfxml_statenames[AL_surfxml_bypassRoute] = NULL; surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute"; surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute"; @@ -3418,7 +3418,7 @@ yy_match: yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 6479 ); + while ( yy_base[yy_current_state] != 6475 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -3888,16 +3888,16 @@ FAIL("Premature EOF: `' expected."); case 68: /* rule 68 can match eol */ YY_RULE_SETUP -FAIL("Starting tag is not allowed here."); +FAIL("Starting tag is not allowed here."); YY_BREAK case 69: /* rule 69 can match eol */ YY_RULE_SETUP { - AX_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_HOST_AVAIL; - AX_surfxml_trace_c_connect_trace = 0; - AX_surfxml_trace_c_connect_element = 0; - ENTER(AL_surfxml_trace_c_connect); pushbuffer(0); + AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL; + AX_surfxml_trace_connect_trace = 0; + AX_surfxml_trace_connect_element = 0; + ENTER(AL_surfxml_trace_connect); pushbuffer(0); } YY_BREAK @@ -3906,70 +3906,70 @@ case 70: case 71: /* rule 71 can match eol */ YY_RULE_SETUP -A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_HOST_AVAIL; +A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL; YY_BREAK case 72: /* rule 72 can match eol */ case 73: /* rule 73 can match eol */ YY_RULE_SETUP -A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_POWER; +A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER; YY_BREAK case 74: /* rule 74 can match eol */ case 75: /* rule 75 can match eol */ YY_RULE_SETUP -A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_LINK_AVAIL; +A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL; YY_BREAK case 76: /* rule 76 can match eol */ case 77: /* rule 77 can match eol */ YY_RULE_SETUP -A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_BANDWIDTH; +A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH; YY_BREAK case 78: /* rule 78 can match eol */ case 79: /* rule 79 can match eol */ YY_RULE_SETUP -A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_LATENCY; +A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY; YY_BREAK case 80: /* rule 80 can match eol */ YY_RULE_SETUP -ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_trace); +ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_trace); YY_BREAK case 81: /* rule 81 can match eol */ YY_RULE_SETUP -ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_trace); +ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_trace); YY_BREAK case 82: /* rule 82 can match eol */ YY_RULE_SETUP -ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_element); +ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_element); YY_BREAK case 83: /* rule 83 can match eol */ YY_RULE_SETUP -ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_element); +ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_element); YY_BREAK case 84: YY_RULE_SETUP { - if (!AX_surfxml_trace_c_connect_trace) FAIL("Required attribute `trace' not set for `trace:connect' element."); - if (!AX_surfxml_trace_c_connect_element) FAIL("Required attribute `element' not set for `trace:connect' element."); - LEAVE; STag_surfxml_trace_c_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_c_connect); + if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element."); + if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element."); + LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect); } YY_BREAK case 85: YY_RULE_SETUP { - if (!AX_surfxml_trace_c_connect_trace) FAIL("Required attribute `trace' not set for `trace:connect' element."); - if (!AX_surfxml_trace_c_connect_element) FAIL("Required attribute `element' not set for `trace:connect' element."); - LEAVE; STag_surfxml_trace_c_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_c_connect(); popbuffer(); /* attribute */ + if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element."); + if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element."); + LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */ switch (YY_START) { case S_surfxml_platform_5: SET(S_surfxml_platform_6); break; case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break; @@ -3979,14 +3979,14 @@ YY_RULE_SETUP YY_BREAK case 86: YY_RULE_SETUP -FAIL("Unexpected character `%c' in attribute list of trace:connect element.", surf_parse_text[0]); +FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]); YY_BREAK case 87: YY_RULE_SETUP -FAIL("Bad attribute `%s' in `trace:connect' element start tag.",surf_parse_text); +FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text); YY_BREAK -case YY_STATE_EOF(AL_surfxml_trace_c_connect): -FAIL("EOF in attribute list of `trace:connect' element."); +case YY_STATE_EOF(AL_surfxml_trace_connect): +FAIL("EOF in attribute list of `trace_connect' element."); YY_BREAK case 88: @@ -3994,7 +3994,7 @@ case 88: YY_RULE_SETUP { LEAVE; - ETag_surfxml_trace_c_connect(); + ETag_surfxml_trace_connect(); popbuffer(); /* attribute */ switch (YY_START) { case S_surfxml_platform_5: SET(S_surfxml_platform_6); break; @@ -4006,14 +4006,14 @@ YY_RULE_SETUP case 89: /* rule 89 can match eol */ YY_RULE_SETUP -FAIL("Unexpected end-tag `%s': `' expected.",surf_parse_text); +FAIL("Unexpected end-tag `%s': `' expected.",surf_parse_text); YY_BREAK case 90: YY_RULE_SETUP -FAIL("Unexpected character `%c': `' expected.",surf_parse_text[0]); +FAIL("Unexpected character `%c': `' expected.",surf_parse_text[0]); YY_BREAK -case YY_STATE_EOF(E_surfxml_trace_c_connect): -FAIL("Premature EOF: `' expected."); +case YY_STATE_EOF(E_surfxml_trace_connect): +FAIL("Premature EOF: `' expected."); YY_BREAK case 91: @@ -4972,39 +4972,39 @@ FAIL("Premature EOF: `' expected."); case 234: /* rule 234 can match eol */ YY_RULE_SETUP -FAIL("Starting tag is not allowed here."); +FAIL("Starting tag is not allowed here."); YY_BREAK case 235: /* rule 235 can match eol */ YY_RULE_SETUP { - AX_surfxml_link_c_ctn_id = 0; - ENTER(AL_surfxml_link_c_ctn); pushbuffer(0); + AX_surfxml_link_ctn_id = 0; + ENTER(AL_surfxml_link_ctn); pushbuffer(0); } YY_BREAK case 236: /* rule 236 can match eol */ YY_RULE_SETUP -ENTER(VALUE1); BUFFERSET(AX_surfxml_link_c_ctn_id); +ENTER(VALUE1); BUFFERSET(AX_surfxml_link_ctn_id); YY_BREAK case 237: /* rule 237 can match eol */ YY_RULE_SETUP -ENTER(VALUE2); BUFFERSET(AX_surfxml_link_c_ctn_id); +ENTER(VALUE2); BUFFERSET(AX_surfxml_link_ctn_id); YY_BREAK case 238: YY_RULE_SETUP { - if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element."); - LEAVE; STag_surfxml_link_c_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_c_ctn); + if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element."); + LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn); } YY_BREAK case 239: YY_RULE_SETUP { - if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element."); - LEAVE; STag_surfxml_link_c_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_c_ctn(); popbuffer(); /* attribute */ + if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element."); + LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */ switch (YY_START) { case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break; case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break; @@ -5014,14 +5014,14 @@ YY_RULE_SETUP YY_BREAK case 240: YY_RULE_SETUP -FAIL("Unexpected character `%c' in attribute list of link:ctn element.", surf_parse_text[0]); +FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]); YY_BREAK case 241: YY_RULE_SETUP -FAIL("Bad attribute `%s' in `link:ctn' element start tag.",surf_parse_text); +FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text); YY_BREAK -case YY_STATE_EOF(AL_surfxml_link_c_ctn): -FAIL("EOF in attribute list of `link:ctn' element."); +case YY_STATE_EOF(AL_surfxml_link_ctn): +FAIL("EOF in attribute list of `link_ctn' element."); YY_BREAK case 242: @@ -5029,7 +5029,7 @@ case 242: YY_RULE_SETUP { LEAVE; - ETag_surfxml_link_c_ctn(); + ETag_surfxml_link_ctn(); popbuffer(); /* attribute */ switch (YY_START) { case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break; @@ -5041,14 +5041,14 @@ YY_RULE_SETUP case 243: /* rule 243 can match eol */ YY_RULE_SETUP -FAIL("Unexpected end-tag `%s': `' expected.",surf_parse_text); +FAIL("Unexpected end-tag `%s': `' expected.",surf_parse_text); YY_BREAK case 244: YY_RULE_SETUP -FAIL("Unexpected character `%c': `' expected.",surf_parse_text[0]); +FAIL("Unexpected character `%c': `' expected.",surf_parse_text[0]); YY_BREAK -case YY_STATE_EOF(E_surfxml_link_c_ctn): -FAIL("Premature EOF: `' expected."); +case YY_STATE_EOF(E_surfxml_link_ctn): +FAIL("Premature EOF: `' expected."); YY_BREAK case 245: diff --git a/src/surf/simgrid_dtd.l b/src/surf/simgrid_dtd.l index 1e20dc3b78..6a81690547 100644 --- a/src/surf/simgrid_dtd.l +++ b/src/surf/simgrid_dtd.l @@ -1,5 +1,5 @@ -/* Validating XML processor for /home/mquinson/Code/simgrid/src/surf/simgrid.dtd. - * Generated 2010/04/14 12:16:24. +/* Validating XML processor for src/surf/simgrid.dtd. + * Generated 2010/10/01 22:34:13. * * This program was generated with the FleXML XML processor generator. * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved. @@ -88,14 +88,16 @@ extern char *surfxml_bufferstack; #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix) AT_surfxml_random_generator AX_surfxml_random_generator; #define A_surfxml_random_generator AX_surfxml_random_generator +AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst; +#define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst) +AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element; +#define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element) AT_surfxml_prop_id AX_surfxml_prop_id; #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id) AT_surfxml_host_interference_recv AX_surfxml_host_interference_recv; #define A_surfxml_host_interference_recv (surfxml_bufferstack + AX_surfxml_host_interference_recv) AT_surfxml_host_id AX_surfxml_host_id; #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id) -AT_surfxml_set_id AX_surfxml_set_id; -#define A_surfxml_set_id (surfxml_bufferstack + AX_surfxml_set_id) AT_surfxml_link_latency_file AX_surfxml_link_latency_file; #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file) AT_surfxml_host_state AX_surfxml_host_state; @@ -104,10 +106,8 @@ AT_surfxml_host_interference_send_recv AX_surfxml_host_interference_send_recv; #define A_surfxml_host_interference_send_recv (surfxml_bufferstack + AX_surfxml_host_interference_send_recv) AT_surfxml_host_interference_send AX_surfxml_host_interference_send; #define A_surfxml_host_interference_send (surfxml_bufferstack + AX_surfxml_host_interference_send) -AT_surfxml_set_suffix AX_surfxml_set_suffix; -#define A_surfxml_set_suffix (surfxml_bufferstack + AX_surfxml_set_suffix) -AT_surfxml_route_impact_on_dst AX_surfxml_route_impact_on_dst; -#define A_surfxml_route_impact_on_dst (surfxml_bufferstack + AX_surfxml_route_impact_on_dst) +AT_surfxml_AS_id AX_surfxml_AS_id; +#define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id) AT_surfxml_host_power AX_surfxml_host_power; #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power) AT_surfxml_router_id AX_surfxml_router_id; @@ -118,28 +118,30 @@ AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix; #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix) AT_surfxml_platform_xmlns_c_route AX_surfxml_platform_xmlns_c_route; #define A_surfxml_platform_xmlns_c_route (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_route) +AT_surfxml_ASroute_src AX_surfxml_ASroute_src; +#define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src) AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix; #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix) AT_surfxml_trace_file AX_surfxml_trace_file; #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file) -AT_surfxml_route_action AX_surfxml_route_action; -#define A_surfxml_route_action AX_surfxml_route_action AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy; #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy AT_surfxml_random_min AX_surfxml_random_min; #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min) +AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id; +#define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id) AT_surfxml_process_kill_time AX_surfxml_process_kill_time; #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time) AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw; #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw) -AT_surfxml_trace_c_connect_element AX_surfxml_trace_c_connect_element; -#define A_surfxml_trace_c_connect_element (surfxml_bufferstack + AX_surfxml_trace_c_connect_element) AT_surfxml_argument_value AX_surfxml_argument_value; #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value) AT_surfxml_link_state AX_surfxml_link_state; #define A_surfxml_link_state AX_surfxml_link_state -AT_surfxml_route_impact_on_src AX_surfxml_route_impact_on_src; -#define A_surfxml_route_impact_on_src (surfxml_bufferstack + AX_surfxml_route_impact_on_src) +AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src; +#define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src) +AT_surfxml_AS_routing AX_surfxml_AS_routing; +#define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing) AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth; #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth) AT_surfxml_cluster_id AX_surfxml_cluster_id; @@ -150,6 +152,8 @@ AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat; #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat) AT_surfxml_link_latency AX_surfxml_link_latency; #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency) +AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind; +#define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind AT_surfxml_platform_xmlns_c_link AX_surfxml_platform_xmlns_c_link; #define A_surfxml_platform_xmlns_c_link (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_link) AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file; @@ -158,8 +162,6 @@ AT_surfxml_host_vivaldi AX_surfxml_host_vivaldi; #define A_surfxml_host_vivaldi (surfxml_bufferstack + AX_surfxml_host_vivaldi) AT_surfxml_random_id AX_surfxml_random_id; #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id) -AT_surfxml_set_radical AX_surfxml_set_radical; -#define A_surfxml_set_radical (surfxml_bufferstack + AX_surfxml_set_radical) AT_surfxml_random_max AX_surfxml_random_max; #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max) AT_surfxml_link_id AX_surfxml_link_id; @@ -172,52 +174,40 @@ AT_surfxml_cluster_lat AX_surfxml_cluster_lat; #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat) AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity; #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity) -AT_surfxml_foreach_set_id AX_surfxml_foreach_set_id; -#define A_surfxml_foreach_set_id (surfxml_bufferstack + AX_surfxml_foreach_set_id) -AT_surfxml_route_impact_on_dst_with_other_send AX_surfxml_route_impact_on_dst_with_other_send; -#define A_surfxml_route_impact_on_dst_with_other_send (surfxml_bufferstack + AX_surfxml_route_impact_on_dst_with_other_send) AT_surfxml_prop_value AX_surfxml_prop_value; #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value) -AT_surfxml_route_impact_on_src_with_other_recv AX_surfxml_route_impact_on_src_with_other_recv; -#define A_surfxml_route_impact_on_src_with_other_recv (surfxml_bufferstack + AX_surfxml_route_impact_on_src_with_other_recv) +AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst; +#define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst) AT_surfxml_link_state_file AX_surfxml_link_state_file; #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file) -AT_surfxml_set_prefix AX_surfxml_set_prefix; -#define A_surfxml_set_prefix (surfxml_bufferstack + AX_surfxml_set_prefix) +AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace; +#define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace) AT_surfxml_cluster_power AX_surfxml_cluster_power; #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power) AT_surfxml_process_function AX_surfxml_process_function; #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function) AT_surfxml_host_max_outgoing_rate AX_surfxml_host_max_outgoing_rate; #define A_surfxml_host_max_outgoing_rate (surfxml_bufferstack + AX_surfxml_host_max_outgoing_rate) -AT_surfxml_link_c_ctn_id AX_surfxml_link_c_ctn_id; -#define A_surfxml_link_c_ctn_id (surfxml_bufferstack + AX_surfxml_link_c_ctn_id) +AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst; +#define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst) AT_surfxml_host_availability AX_surfxml_host_availability; #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability) +AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src; +#define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src) AT_surfxml_route_src AX_surfxml_route_src; #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src) -AT_surfxml_route_c_multi_src AX_surfxml_route_c_multi_src; -#define A_surfxml_route_c_multi_src (surfxml_bufferstack + AX_surfxml_route_c_multi_src) -AT_surfxml_route_c_multi_action AX_surfxml_route_c_multi_action; -#define A_surfxml_route_c_multi_action AX_surfxml_route_c_multi_action -AT_surfxml_trace_c_connect_trace AX_surfxml_trace_c_connect_trace; -#define A_surfxml_trace_c_connect_trace (surfxml_bufferstack + AX_surfxml_trace_c_connect_trace) +AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst; +#define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst) AT_surfxml_trace_id AX_surfxml_trace_id; #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id) AT_surfxml_cluster_radical AX_surfxml_cluster_radical; #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical) -AT_surfxml_include_file AX_surfxml_include_file; -#define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file) AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation; #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation) -AT_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind; -#define A_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind -AT_surfxml_route_c_multi_dst AX_surfxml_route_c_multi_dst; -#define A_surfxml_route_c_multi_dst (surfxml_bufferstack + AX_surfxml_route_c_multi_dst) +AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src; +#define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src) AT_surfxml_host_state_file AX_surfxml_host_state_file; #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file) -AT_surfxml_route_c_multi_symmetric AX_surfxml_route_c_multi_symmetric; -#define A_surfxml_route_c_multi_symmetric AX_surfxml_route_c_multi_symmetric AT_surfxml_route_dst AX_surfxml_route_dst; #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst) AT_surfxml_cluster_bw AX_surfxml_cluster_bw; @@ -385,23 +375,22 @@ Literal \'[^'']*\'|\"[^""]*\" * IMPOSSIBLE dummy to permit disabling rules; must be last */ %x PROLOG DOCTYPE EPILOG INCOMMENT INPI VALUE1 VALUE2 CDATA -%x ROOT_surfxml_platform AL_surfxml_platform S_surfxml_platform S_surfxml_platform_1 S_surfxml_platform_2 S_surfxml_platform_3 S_surfxml_platform_4 S_surfxml_platform_5 E_surfxml_platform -%x AL_surfxml_include E_surfxml_include +%x ROOT_surfxml_platform AL_surfxml_platform S_surfxml_platform S_surfxml_platform_1 S_surfxml_platform_2 S_surfxml_platform_3 S_surfxml_platform_4 S_surfxml_platform_5 S_surfxml_platform_6 S_surfxml_platform_7 S_surfxml_platform_8 E_surfxml_platform %x AL_surfxml_trace IN_trace %x AL_surfxml_random S_surfxml_random S_surfxml_random_1 S_surfxml_random_2 E_surfxml_random -%x AL_surfxml_trace_c_connect E_surfxml_trace_c_connect -%x AL_surfxml_set E_surfxml_set -%x AL_surfxml_foreach S_surfxml_foreach S_surfxml_foreach_1 E_surfxml_foreach +%x AL_surfxml_trace_connect E_surfxml_trace_connect +%x AL_surfxml_AS S_surfxml_AS S_surfxml_AS_1 S_surfxml_AS_2 S_surfxml_AS_3 S_surfxml_AS_4 S_surfxml_AS_5 S_surfxml_AS_6 S_surfxml_AS_7 S_surfxml_AS_8 S_surfxml_AS_9 S_surfxml_AS_10 S_surfxml_AS_11 S_surfxml_AS_12 S_surfxml_AS_13 E_surfxml_AS %x AL_surfxml_host S_surfxml_host S_surfxml_host_1 S_surfxml_host_2 E_surfxml_host -%x AL_surfxml_prop E_surfxml_prop %x AL_surfxml_cluster E_surfxml_cluster %x AL_surfxml_router E_surfxml_router %x AL_surfxml_link S_surfxml_link S_surfxml_link_1 S_surfxml_link_2 E_surfxml_link -%x AL_surfxml_route_c_multi S_surfxml_route_c_multi S_surfxml_route_c_multi_1 S_surfxml_route_c_multi_2 E_surfxml_route_c_multi %x AL_surfxml_route S_surfxml_route S_surfxml_route_1 S_surfxml_route_2 E_surfxml_route -%x AL_surfxml_link_c_ctn E_surfxml_link_c_ctn +%x AL_surfxml_ASroute S_surfxml_ASroute S_surfxml_ASroute_1 S_surfxml_ASroute_2 E_surfxml_ASroute +%x AL_surfxml_link_ctn E_surfxml_link_ctn +%x AL_surfxml_bypassRoute S_surfxml_bypassRoute S_surfxml_bypassRoute_1 S_surfxml_bypassRoute_2 E_surfxml_bypassRoute %x AL_surfxml_process S_surfxml_process S_surfxml_process_1 S_surfxml_process_2 E_surfxml_process %x AL_surfxml_argument E_surfxml_argument +%x AL_surfxml_prop E_surfxml_prop %x IMPOSSIBLE %{ @@ -441,10 +430,6 @@ const char* *surfxml_statenames=NULL; surfxml_bufferliteral('\0', &bnext, "-1.0"); surfxml_bufferliteral('\0', &bnext, "0 0 0"); surfxml_bufferliteral('\0', &bnext, "0.0"); - surfxml_bufferliteral('\0', &bnext, "0.0"); - surfxml_bufferliteral('\0', &bnext, "0.0"); - surfxml_bufferliteral('\0', &bnext, "0.0"); - surfxml_bufferliteral('\0', &bnext, "0.0"); surfxml_bufferliteral('\0', &bnext, "-1.0"); surfxml_bufferliteral('\0', &bnext, "-1.0"); if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*)); @@ -464,9 +449,10 @@ const char* *surfxml_statenames=NULL; surfxml_statenames[S_surfxml_platform_3] = "platform"; surfxml_statenames[S_surfxml_platform_4] = "platform"; surfxml_statenames[S_surfxml_platform_5] = "platform"; + surfxml_statenames[S_surfxml_platform_6] = "platform"; + surfxml_statenames[S_surfxml_platform_7] = "platform"; + surfxml_statenames[S_surfxml_platform_8] = "platform"; surfxml_statenames[E_surfxml_platform] = "platform"; - surfxml_statenames[AL_surfxml_include] = NULL; - surfxml_statenames[E_surfxml_include] = "include"; surfxml_statenames[AL_surfxml_trace] = NULL; surfxml_statenames[IN_trace] = "trace"; surfxml_statenames[AL_surfxml_random] = NULL; @@ -474,21 +460,29 @@ const char* *surfxml_statenames=NULL; surfxml_statenames[S_surfxml_random_1] = "random"; surfxml_statenames[S_surfxml_random_2] = "random"; surfxml_statenames[E_surfxml_random] = "random"; - surfxml_statenames[AL_surfxml_trace_c_connect] = NULL; - surfxml_statenames[E_surfxml_trace_c_connect] = "trace:connect"; - surfxml_statenames[AL_surfxml_set] = NULL; - surfxml_statenames[E_surfxml_set] = "set"; - surfxml_statenames[AL_surfxml_foreach] = NULL; - surfxml_statenames[S_surfxml_foreach] = "foreach"; - surfxml_statenames[S_surfxml_foreach_1] = "foreach"; - surfxml_statenames[E_surfxml_foreach] = "foreach"; + surfxml_statenames[AL_surfxml_trace_connect] = NULL; + surfxml_statenames[E_surfxml_trace_connect] = "trace_connect"; + surfxml_statenames[AL_surfxml_AS] = NULL; + surfxml_statenames[S_surfxml_AS] = "AS"; + surfxml_statenames[S_surfxml_AS_1] = "AS"; + surfxml_statenames[S_surfxml_AS_2] = "AS"; + surfxml_statenames[S_surfxml_AS_3] = "AS"; + surfxml_statenames[S_surfxml_AS_4] = "AS"; + surfxml_statenames[S_surfxml_AS_5] = "AS"; + surfxml_statenames[S_surfxml_AS_6] = "AS"; + surfxml_statenames[S_surfxml_AS_7] = "AS"; + surfxml_statenames[S_surfxml_AS_8] = "AS"; + surfxml_statenames[S_surfxml_AS_9] = "AS"; + surfxml_statenames[S_surfxml_AS_10] = "AS"; + surfxml_statenames[S_surfxml_AS_11] = "AS"; + surfxml_statenames[S_surfxml_AS_12] = "AS"; + surfxml_statenames[S_surfxml_AS_13] = "AS"; + surfxml_statenames[E_surfxml_AS] = "AS"; surfxml_statenames[AL_surfxml_host] = NULL; surfxml_statenames[S_surfxml_host] = "host"; surfxml_statenames[S_surfxml_host_1] = "host"; surfxml_statenames[S_surfxml_host_2] = "host"; surfxml_statenames[E_surfxml_host] = "host"; - surfxml_statenames[AL_surfxml_prop] = NULL; - surfxml_statenames[E_surfxml_prop] = "prop"; surfxml_statenames[AL_surfxml_cluster] = NULL; surfxml_statenames[E_surfxml_cluster] = "cluster"; surfxml_statenames[AL_surfxml_router] = NULL; @@ -498,18 +492,23 @@ const char* *surfxml_statenames=NULL; surfxml_statenames[S_surfxml_link_1] = "link"; surfxml_statenames[S_surfxml_link_2] = "link"; surfxml_statenames[E_surfxml_link] = "link"; - surfxml_statenames[AL_surfxml_route_c_multi] = NULL; - surfxml_statenames[S_surfxml_route_c_multi] = "route:multi"; - surfxml_statenames[S_surfxml_route_c_multi_1] = "route:multi"; - surfxml_statenames[S_surfxml_route_c_multi_2] = "route:multi"; - surfxml_statenames[E_surfxml_route_c_multi] = "route:multi"; surfxml_statenames[AL_surfxml_route] = NULL; surfxml_statenames[S_surfxml_route] = "route"; surfxml_statenames[S_surfxml_route_1] = "route"; surfxml_statenames[S_surfxml_route_2] = "route"; surfxml_statenames[E_surfxml_route] = "route"; - surfxml_statenames[AL_surfxml_link_c_ctn] = NULL; - surfxml_statenames[E_surfxml_link_c_ctn] = "link:ctn"; + surfxml_statenames[AL_surfxml_ASroute] = NULL; + surfxml_statenames[S_surfxml_ASroute] = "ASroute"; + surfxml_statenames[S_surfxml_ASroute_1] = "ASroute"; + surfxml_statenames[S_surfxml_ASroute_2] = "ASroute"; + surfxml_statenames[E_surfxml_ASroute] = "ASroute"; + surfxml_statenames[AL_surfxml_link_ctn] = NULL; + surfxml_statenames[E_surfxml_link_ctn] = "link_ctn"; + surfxml_statenames[AL_surfxml_bypassRoute] = NULL; + surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute"; + surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute"; + surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute"; + surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute"; surfxml_statenames[AL_surfxml_process] = NULL; surfxml_statenames[S_surfxml_process] = "process"; surfxml_statenames[S_surfxml_process_1] = "process"; @@ -517,11 +516,13 @@ const char* *surfxml_statenames=NULL; surfxml_statenames[E_surfxml_process] = "process"; surfxml_statenames[AL_surfxml_argument] = NULL; surfxml_statenames[E_surfxml_argument] = "argument"; + surfxml_statenames[AL_surfxml_prop] = NULL; + surfxml_statenames[E_surfxml_prop] = "prop"; } /* COMMENTS and PIs: handled uniformly for efficiency. */ -{ +{ " */ -" is not allowed here."); +" is not allowed here."); "> FAIL("EOF in attribute list of `platform' element."); } -{ +{ "" { LEAVE; ETag_surfxml_platform(); @@ -608,52 +609,9 @@ const char* *surfxml_statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); - -"{ - "file"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_include_file); - "file"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_include_file); - - ">" { - if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element."); - LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(E_surfxml_include); - } - "/>" { - if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element."); - LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */ - switch (YY_START) { - case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break; - case S_surfxml_platform_2: SET(S_surfxml_platform_3); break; - } - } - . FAIL("Unexpected character `%c' in attribute list of include element.", yytext[0]); - {Name} FAIL("Bad attribute `%s' in `include' element start tag.",yytext); - <> FAIL("EOF in attribute list of `include' element."); -} - -{ - "" { - LEAVE; - ETag_surfxml_include(); - popbuffer(); /* attribute */ - switch (YY_START) { - case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break; - case S_surfxml_platform_2: SET(S_surfxml_platform_3); break; - } - } - "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); - . FAIL("Unexpected character `%c': `' expected.",yytext[0]); - <> FAIL("Premature EOF: `' expected."); -} - -" is not allowed here."); +" is not allowed here."); -""" FAIL("Unexpected end-tag `%s': `' expected.",yytext); <> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); -""" FAIL("Unexpected end-tag `%s': `' expected.",yytext); @@ -774,164 +736,123 @@ const char* *surfxml_statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); -""{ +{ "kind"{Eq}"'HOST_AVAIL'" | - "kind"{Eq}"\"HOST_AVAIL\"" A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_HOST_AVAIL; + "kind"{Eq}"\"HOST_AVAIL\"" A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL; "kind"{Eq}"'POWER'" | - "kind"{Eq}"\"POWER\"" A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_POWER; + "kind"{Eq}"\"POWER\"" A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER; "kind"{Eq}"'LINK_AVAIL'" | - "kind"{Eq}"\"LINK_AVAIL\"" A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_LINK_AVAIL; + "kind"{Eq}"\"LINK_AVAIL\"" A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL; "kind"{Eq}"'BANDWIDTH'" | - "kind"{Eq}"\"BANDWIDTH\"" A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_BANDWIDTH; + "kind"{Eq}"\"BANDWIDTH\"" A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH; "kind"{Eq}"'LATENCY'" | - "kind"{Eq}"\"LATENCY\"" A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_LATENCY; + "kind"{Eq}"\"LATENCY\"" A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY; - "trace"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_trace); - "trace"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_trace); + "trace"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_trace); + "trace"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_trace); - "element"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_element); - "element"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_element); + "element"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_element); + "element"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_element); ">" { - if (!AX_surfxml_trace_c_connect_trace) FAIL("Required attribute `trace' not set for `trace:connect' element."); - if (!AX_surfxml_trace_c_connect_element) FAIL("Required attribute `element' not set for `trace:connect' element."); - LEAVE; STag_surfxml_trace_c_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_c_connect); + if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element."); + if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element."); + LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect); } "/>" { - if (!AX_surfxml_trace_c_connect_trace) FAIL("Required attribute `trace' not set for `trace:connect' element."); - if (!AX_surfxml_trace_c_connect_element) FAIL("Required attribute `element' not set for `trace:connect' element."); - LEAVE; STag_surfxml_trace_c_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_c_connect(); popbuffer(); /* attribute */ + if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element."); + if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element."); + LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */ switch (YY_START) { - case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break; + case S_surfxml_platform_5: SET(S_surfxml_platform_6); break; + case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break; case S_surfxml_platform_2: SET(S_surfxml_platform_3); break; } } - . FAIL("Unexpected character `%c' in attribute list of trace:connect element.", yytext[0]); - {Name} FAIL("Bad attribute `%s' in `trace:connect' element start tag.",yytext); - <> FAIL("EOF in attribute list of `trace:connect' element."); + . FAIL("Unexpected character `%c' in attribute list of trace_connect element.", yytext[0]); + {Name} FAIL("Bad attribute `%s' in `trace_connect' element start tag.",yytext); + <> FAIL("EOF in attribute list of `trace_connect' element."); } -{ - "" { +{ + "" { LEAVE; - ETag_surfxml_trace_c_connect(); + ETag_surfxml_trace_connect(); popbuffer(); /* attribute */ switch (YY_START) { - case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break; + case S_surfxml_platform_5: SET(S_surfxml_platform_6); break; + case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break; case S_surfxml_platform_2: SET(S_surfxml_platform_3); break; } } - "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); - . FAIL("Unexpected character `%c': `' expected.",yytext[0]); - <> FAIL("Premature EOF: `' expected."); + "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); + . FAIL("Unexpected character `%c': `' expected.",yytext[0]); + <> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); -""{ - "id"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_set_id); - "id"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_set_id); +{ + "id"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id); + "id"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id); - "prefix"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_set_prefix); - "prefix"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_set_prefix); - - "suffix"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_set_suffix); - "suffix"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_set_suffix); - - "radical"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_set_radical); - "radical"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_set_radical); + "routing"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing); + "routing"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing); ">" { - if (!AX_surfxml_set_id) FAIL("Required attribute `id' not set for `set' element."); - if (!AX_surfxml_set_prefix) FAIL("Required attribute `prefix' not set for `set' element."); - if (!AX_surfxml_set_suffix) FAIL("Required attribute `suffix' not set for `set' element."); - if (!AX_surfxml_set_radical) FAIL("Required attribute `radical' not set for `set' element."); - LEAVE; STag_surfxml_set();surfxml_pcdata_ix = 0; ENTER(E_surfxml_set); + if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element."); + if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element."); + LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS); } "/>" { - if (!AX_surfxml_set_id) FAIL("Required attribute `id' not set for `set' element."); - if (!AX_surfxml_set_prefix) FAIL("Required attribute `prefix' not set for `set' element."); - if (!AX_surfxml_set_suffix) FAIL("Required attribute `suffix' not set for `set' element."); - if (!AX_surfxml_set_radical) FAIL("Required attribute `radical' not set for `set' element."); - LEAVE; STag_surfxml_set(); surfxml_pcdata_ix = 0; ETag_surfxml_set(); popbuffer(); /* attribute */ - switch (YY_START) { - case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break; - } - } - . FAIL("Unexpected character `%c' in attribute list of set element.", yytext[0]); - {Name} FAIL("Bad attribute `%s' in `set' element start tag.",yytext); - <> FAIL("EOF in attribute list of `set' element."); -} - -{ - "" { - LEAVE; - ETag_surfxml_set(); - popbuffer(); /* attribute */ + if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element."); + if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element."); + LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */ switch (YY_START) { - case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break; - } - } - "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); - . FAIL("Unexpected character `%c': `' expected.",yytext[0]); - <> FAIL("Premature EOF: `' expected."); -} - -" is not allowed here."); - -"{ - "set_id"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_foreach_set_id); - "set_id"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_foreach_set_id); - - ">" { - if (!AX_surfxml_foreach_set_id) FAIL("Required attribute `set_id' not set for `foreach' element."); - LEAVE; STag_surfxml_foreach();surfxml_pcdata_ix = 0; ENTER(S_surfxml_foreach); } - "/>" FAIL("`foreach' element cannot be empty."); - . FAIL("Unexpected character `%c' in attribute list of foreach element.", yytext[0]); - {Name} FAIL("Bad attribute `%s' in `foreach' element start tag.",yytext); - <> FAIL("EOF in attribute list of `foreach' element."); + . FAIL("Unexpected character `%c' in attribute list of AS element.", yytext[0]); + {Name} FAIL("Bad attribute `%s' in `AS' element start tag.",yytext); + <> FAIL("EOF in attribute list of `AS' element."); } -{ - "" { +{ + "" { LEAVE; - ETag_surfxml_foreach(); + ETag_surfxml_AS(); popbuffer(); /* attribute */ switch (YY_START) { - case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break; + case S_surfxml_AS_2: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_3); break; + case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break; + case S_surfxml_platform_2: SET(S_surfxml_platform_3); break; } } - "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); - . FAIL("Unexpected character `%c': `' expected.",yytext[0]); - <> FAIL("Premature EOF: `' expected."); + "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); + . FAIL("Unexpected character `%c': `' expected.",yytext[0]); + <> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); -""" FAIL("Unexpected end-tag `%s': `' expected.",yytext); @@ -1016,62 +937,9 @@ const char* *surfxml_statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); -"{ - "id"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id); - "id"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id); - - "value"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value); - "value"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value); - - ">" { - if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element."); - if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element."); - LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop); - } - "/>" { - if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element."); - if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element."); - LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */ - switch (YY_START) { - case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break; - case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break; - case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break; - case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break; - } - } - . FAIL("Unexpected character `%c' in attribute list of prop element.", yytext[0]); - {Name} FAIL("Bad attribute `%s' in `prop' element start tag.",yytext); - <> FAIL("EOF in attribute list of `prop' element."); -} - -{ - "" { - LEAVE; - ETag_surfxml_prop(); - popbuffer(); /* attribute */ - switch (YY_START) { - case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break; - case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break; - case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break; - case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break; - } - } - "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); - . FAIL("Unexpected character `%c': `' expected.",yytext[0]); - <> FAIL("Premature EOF: `' expected."); -} - -" is not allowed here."); - -""" FAIL("Unexpected end-tag `%s': `' expected.",yytext); @@ -1158,9 +1030,9 @@ const char* *surfxml_statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); -""" FAIL("Unexpected end-tag `%s': `' expected.",yytext); @@ -1199,9 +1073,9 @@ const char* *surfxml_statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); -""> FAIL("EOF in attribute list of `link' element."); } -{ +{ "" { LEAVE; ETag_surfxml_link(); popbuffer(); /* attribute */ switch (YY_START) { - case S_surfxml_foreach: case S_surfxml_foreach_1: SET(E_surfxml_foreach); break; - case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break; + case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break; + case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break; + case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break; } } "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); @@ -1276,70 +1152,11 @@ const char* *surfxml_statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); - -"{ - "src"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_route_c_multi_src); - "src"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_route_c_multi_src); - - "dst"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_route_c_multi_dst); - "dst"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_route_c_multi_dst); - - "action"{Eq}"'POSTPEND'" | - "action"{Eq}"\"POSTPEND\"" A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_POSTPEND; - "action"{Eq}"'PREPEND'" | - "action"{Eq}"\"PREPEND\"" A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_PREPEND; - "action"{Eq}"'OVERRIDE'" | - "action"{Eq}"\"OVERRIDE\"" A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_OVERRIDE; - - "symmetric"{Eq}"'YES'" | - "symmetric"{Eq}"\"YES\"" A_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_YES; - "symmetric"{Eq}"'NO'" | - "symmetric"{Eq}"\"NO\"" A_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_NO; - - ">" { - if (!AX_surfxml_route_c_multi_src) FAIL("Required attribute `src' not set for `route:multi' element."); - if (!AX_surfxml_route_c_multi_dst) FAIL("Required attribute `dst' not set for `route:multi' element."); - LEAVE; STag_surfxml_route_c_multi();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route_c_multi); - } - "/>" FAIL("`route:multi' element cannot be empty."); - . FAIL("Unexpected character `%c' in attribute list of route:multi element.", yytext[0]); - {Name} FAIL("Bad attribute `%s' in `route:multi' element start tag.",yytext); - <> FAIL("EOF in attribute list of `route:multi' element."); -} - -{ - "" { - LEAVE; - ETag_surfxml_route_c_multi(); - popbuffer(); /* attribute */ - switch (YY_START) { - case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break; - } - } - "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); - . FAIL("Unexpected character `%c': `' expected.",yytext[0]); - <> FAIL("Premature EOF: `' expected."); -} - -" is not allowed here."); +" is not allowed here."); -""" { if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element."); if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element."); @@ -1379,7 +1177,8 @@ const char* *surfxml_statenames=NULL; if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element."); LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */ switch (YY_START) { - case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break; + case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break; + case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break; } } . FAIL("Unexpected character `%c' in attribute list of route element.", yytext[0]); @@ -1393,7 +1192,8 @@ const char* *surfxml_statenames=NULL; ETag_surfxml_route(); popbuffer(); /* attribute */ switch (YY_START) { - case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break; + case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break; + case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break; } } "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); @@ -1401,56 +1201,176 @@ const char* *surfxml_statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); + +"{ + "src"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src); + "src"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src); + + "dst"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst); + "dst"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst); + + "gw_src"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src); + "gw_src"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src); + + "gw_dst"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst); + "gw_dst"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst); + + ">" { + if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element."); + if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element."); + if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element."); + if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element."); + LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute); + } + "/>" { + if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element."); + if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element."); + if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element."); + if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element."); + LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */ + switch (YY_START) { + case S_surfxml_AS_1: case S_surfxml_AS_6: case S_surfxml_AS_5: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_6); break; + } + } + . FAIL("Unexpected character `%c' in attribute list of ASroute element.", yytext[0]); + {Name} FAIL("Bad attribute `%s' in `ASroute' element start tag.",yytext); + <> FAIL("EOF in attribute list of `ASroute' element."); +} + +{ + "" { + LEAVE; + ETag_surfxml_ASroute(); + popbuffer(); /* attribute */ + switch (YY_START) { + case S_surfxml_AS_1: case S_surfxml_AS_6: case S_surfxml_AS_5: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_6); break; + } + } + "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); + . FAIL("Unexpected character `%c': `' expected.",yytext[0]); + <> FAIL("Premature EOF: `' expected."); +} + +" is not allowed here."); -""{ - "id"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_link_c_ctn_id); - "id"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_link_c_ctn_id); +{ + "id"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_link_ctn_id); + "id"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_link_ctn_id); ">" { - if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element."); - LEAVE; STag_surfxml_link_c_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_c_ctn); + if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element."); + LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn); } "/>" { - if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element."); - LEAVE; STag_surfxml_link_c_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_c_ctn(); popbuffer(); /* attribute */ + if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element."); + LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */ switch (YY_START) { + case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break; case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break; - case S_surfxml_route_c_multi_2: case S_surfxml_route_c_multi_1: case S_surfxml_route_c_multi: SET(S_surfxml_route_c_multi_2); break; + case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break; } } - . FAIL("Unexpected character `%c' in attribute list of link:ctn element.", yytext[0]); - {Name} FAIL("Bad attribute `%s' in `link:ctn' element start tag.",yytext); - <> FAIL("EOF in attribute list of `link:ctn' element."); + . FAIL("Unexpected character `%c' in attribute list of link_ctn element.", yytext[0]); + {Name} FAIL("Bad attribute `%s' in `link_ctn' element start tag.",yytext); + <> FAIL("EOF in attribute list of `link_ctn' element."); } -{ - "" { +{ + "" { LEAVE; - ETag_surfxml_link_c_ctn(); + ETag_surfxml_link_ctn(); popbuffer(); /* attribute */ switch (YY_START) { + case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break; case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break; - case S_surfxml_route_c_multi_2: case S_surfxml_route_c_multi_1: case S_surfxml_route_c_multi: SET(S_surfxml_route_c_multi_2); break; + case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break; } } - "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); - . FAIL("Unexpected character `%c': `' expected.",yytext[0]); - <> FAIL("Premature EOF: `' expected."); + "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); + . FAIL("Unexpected character `%c': `' expected.",yytext[0]); + <> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); + +"{ + "src"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src); + "src"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src); -"" { + if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element."); + if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element."); + if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element."); + if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element."); + LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute); + } + "/>" { + if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element."); + if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element."); + if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element."); + if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element."); + LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */ + switch (YY_START) { + case S_surfxml_AS_1: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: SET(S_surfxml_AS_8); break; + } + } + . FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", yytext[0]); + {Name} FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",yytext); + <> FAIL("EOF in attribute list of `bypassRoute' element."); +} + +{ + "" { + LEAVE; + ETag_surfxml_bypassRoute(); + popbuffer(); /* attribute */ + switch (YY_START) { + case S_surfxml_AS_1: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: SET(S_surfxml_AS_8); break; + } + } + "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); + . FAIL("Unexpected character `%c': `' expected.",yytext[0]); + <> FAIL("Premature EOF: `' expected."); +} + +" is not allowed here."); + +"> FAIL("EOF in attribute list of `process' element."); } -{ +{ "" { LEAVE; ETag_surfxml_process(); popbuffer(); /* attribute */ switch (YY_START) { - case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break; + case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break; } } "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); @@ -1499,7 +1419,7 @@ const char* *surfxml_statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); "> FAIL("Premature EOF: `' expected."); } + /* + * */ + +" is not allowed here."); + +"{ + "id"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id); + "id"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id); + + "value"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value); + "value"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value); + + ">" { + if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element."); + if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element."); + LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop); + } + "/>" { + if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element."); + if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element."); + LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */ + switch (YY_START) { + case S_surfxml_random_2: case S_surfxml_random: case S_surfxml_random_1: SET(S_surfxml_random_2); break; + case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break; + case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break; + case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break; + } + } + . FAIL("Unexpected character `%c' in attribute list of prop element.", yytext[0]); + {Name} FAIL("Bad attribute `%s' in `prop' element start tag.",yytext); + <> FAIL("EOF in attribute list of `prop' element."); +} + +{ + "" { + LEAVE; + ETag_surfxml_prop(); + popbuffer(); /* attribute */ + switch (YY_START) { + case S_surfxml_random_2: case S_surfxml_random: case S_surfxml_random_1: SET(S_surfxml_random_2); break; + case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break; + case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break; + case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break; + } + } + "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); + . FAIL("Unexpected character `%c': `' expected.",yytext[0]); + <> FAIL("Premature EOF: `' expected."); +} + /* EPILOG: after the root element. */ { diff --git a/src/surf/surf_routing.c b/src/surf/surf_routing.c index c5fabbb46f..4682d0656f 100644 --- a/src/surf/surf_routing.c +++ b/src/surf/surf_routing.c @@ -218,7 +218,7 @@ static void parse_S_bypassRoute_new_and_endpoints(void) { /** * \brief Set a new link on the actual list of link for a route or ASroute */ -static void parse_E_link_c_ctn_new_elem(char *link_id) { +static void parse_E_link_ctn_new_elem(char *link_id) { char *val; val = xbt_strdup(link_id); xbt_dynar_push(link_list, &val); @@ -707,7 +707,7 @@ void routing_model_create(size_t size_of_links, void* loopback) { surfxml_add_callback(STag_surfxml_ASroute_cb_list, &parse_S_ASroute_new_and_endpoints); surfxml_add_callback(STag_surfxml_bypassRoute_cb_list, &parse_S_bypassRoute_new_and_endpoints); - surfxml_add_callback(ETag_surfxml_link_c_ctn_cb_list, &parse_E_link_c_ctn_new_elem_XML); + surfxml_add_callback(ETag_surfxml_link_ctn_cb_list, &parse_E_link_ctn_new_elem_XML); surfxml_add_callback(ETag_surfxml_route_cb_list, &parse_E_route_store_route); surfxml_add_callback(ETag_surfxml_ASroute_cb_list, &parse_E_ASroute_store_route); @@ -2460,19 +2460,19 @@ static void routing_full_parse_Scluster(void) SURFXML_START_TAG(route); DEBUG1("",cluster_id); - SURFXML_BUFFER_SET(link_c_ctn_id, bprintf("%s_link_$1src",cluster_id)); - SURFXML_START_TAG(link_c_ctn); - SURFXML_END_TAG(link_c_ctn); + SURFXML_BUFFER_SET(link_ctn_id, bprintf("%s_link_$1src",cluster_id)); + SURFXML_START_TAG(link_ctn); + SURFXML_END_TAG(link_ctn); DEBUG1("",cluster_id); - SURFXML_BUFFER_SET(link_c_ctn_id, bprintf("%s_backbone",cluster_id)); - SURFXML_START_TAG(link_c_ctn); - SURFXML_END_TAG(link_c_ctn); + SURFXML_BUFFER_SET(link_ctn_id, bprintf("%s_backbone",cluster_id)); + SURFXML_START_TAG(link_ctn); + SURFXML_END_TAG(link_ctn); DEBUG1("",cluster_id); - SURFXML_BUFFER_SET(link_c_ctn_id, bprintf("%s_link_$1dst",cluster_id)); - SURFXML_START_TAG(link_c_ctn); - SURFXML_END_TAG(link_c_ctn); + SURFXML_BUFFER_SET(link_ctn_id, bprintf("%s_link_$1dst",cluster_id)); + SURFXML_START_TAG(link_ctn); + SURFXML_END_TAG(link_ctn); DEBUG0(""); SURFXML_END_TAG(route); diff --git a/src/surf/surfxml_parse.c b/src/surf/surfxml_parse.c index d3bb5a88b0..53db2901e8 100644 --- a/src/surf/surfxml_parse.c +++ b/src/surf/surfxml_parse.c @@ -66,8 +66,8 @@ xbt_dynar_t STag_surfxml_link_cb_list = NULL; xbt_dynar_t ETag_surfxml_link_cb_list = NULL; xbt_dynar_t STag_surfxml_route_cb_list = NULL; xbt_dynar_t ETag_surfxml_route_cb_list = NULL; -xbt_dynar_t STag_surfxml_link_c_ctn_cb_list = NULL; -xbt_dynar_t ETag_surfxml_link_c_ctn_cb_list = NULL; +xbt_dynar_t STag_surfxml_link_ctn_cb_list = NULL; +xbt_dynar_t ETag_surfxml_link_ctn_cb_list = NULL; xbt_dynar_t STag_surfxml_process_cb_list = NULL; xbt_dynar_t ETag_surfxml_process_cb_list = NULL; xbt_dynar_t STag_surfxml_argument_cb_list = NULL; @@ -78,8 +78,8 @@ xbt_dynar_t STag_surfxml_cluster_cb_list = NULL; xbt_dynar_t ETag_surfxml_cluster_cb_list = NULL; xbt_dynar_t STag_surfxml_trace_cb_list = NULL; xbt_dynar_t ETag_surfxml_trace_cb_list = NULL; -xbt_dynar_t STag_surfxml_trace_c_connect_cb_list = NULL; -xbt_dynar_t ETag_surfxml_trace_c_connect_cb_list = NULL; +xbt_dynar_t STag_surfxml_trace_connect_cb_list = NULL; +xbt_dynar_t ETag_surfxml_trace_connect_cb_list = NULL; xbt_dynar_t STag_surfxml_random_cb_list = NULL; xbt_dynar_t ETag_surfxml_random_cb_list = NULL; xbt_dynar_t STag_surfxml_AS_cb_list = NULL; @@ -103,7 +103,7 @@ static void surf_parse_error(char *msg); static void parse_Stag_trace(void); static void parse_Etag_trace(void); -static void parse_Stag_trace_c_connect(void); +static void parse_Stag_trace_connect(void); static void init_randomness(void); static void add_randomness(void); @@ -120,8 +120,8 @@ void surf_parse_free_callbacks(void) xbt_dynar_free(&ETag_surfxml_link_cb_list); xbt_dynar_free(&STag_surfxml_route_cb_list); xbt_dynar_free(&ETag_surfxml_route_cb_list); - xbt_dynar_free(&STag_surfxml_link_c_ctn_cb_list); - xbt_dynar_free(&ETag_surfxml_link_c_ctn_cb_list); + xbt_dynar_free(&STag_surfxml_link_ctn_cb_list); + xbt_dynar_free(&ETag_surfxml_link_ctn_cb_list); xbt_dynar_free(&STag_surfxml_process_cb_list); xbt_dynar_free(&ETag_surfxml_process_cb_list); xbt_dynar_free(&STag_surfxml_argument_cb_list); @@ -130,8 +130,8 @@ void surf_parse_free_callbacks(void) xbt_dynar_free(&ETag_surfxml_prop_cb_list); xbt_dynar_free(&STag_surfxml_trace_cb_list); xbt_dynar_free(&ETag_surfxml_trace_cb_list); - xbt_dynar_free(&STag_surfxml_trace_c_connect_cb_list); - xbt_dynar_free(&ETag_surfxml_trace_c_connect_cb_list); + xbt_dynar_free(&STag_surfxml_trace_connect_cb_list); + xbt_dynar_free(&ETag_surfxml_trace_connect_cb_list); xbt_dynar_free(&STag_surfxml_random_cb_list); xbt_dynar_free(&ETag_surfxml_random_cb_list); xbt_dynar_free(&STag_surfxml_AS_cb_list); @@ -157,8 +157,8 @@ void surf_parse_reset_parser(void) ETag_surfxml_link_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); STag_surfxml_route_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); ETag_surfxml_route_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); - STag_surfxml_link_c_ctn_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); - ETag_surfxml_link_c_ctn_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); + STag_surfxml_link_ctn_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); + ETag_surfxml_link_ctn_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); STag_surfxml_process_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); ETag_surfxml_process_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); STag_surfxml_argument_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); @@ -167,8 +167,8 @@ void surf_parse_reset_parser(void) ETag_surfxml_prop_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); STag_surfxml_trace_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); ETag_surfxml_trace_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); - STag_surfxml_trace_c_connect_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); - ETag_surfxml_trace_c_connect_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); + STag_surfxml_trace_connect_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); + ETag_surfxml_trace_connect_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); STag_surfxml_random_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); ETag_surfxml_random_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); STag_surfxml_AS_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); @@ -220,12 +220,12 @@ parse_method(S,host); parse_method(E,host); parse_method(S,router); parse_method(E,router); parse_method(S,link); parse_method(E,link); parse_method(S,route); parse_method(E,route); -parse_method(S,link_c_ctn); parse_method(E,link_c_ctn); +parse_method(S,link_ctn); parse_method(E,link_ctn); parse_method(S,process); parse_method(E,process); parse_method(S,argument); parse_method(E,argument); parse_method(S,prop); parse_method(E,prop); parse_method(S,trace); parse_method(E,trace); -parse_method(S,trace_c_connect); parse_method(E,trace_c_connect); +parse_method(S,trace_connect); parse_method(E,trace_connect); parse_method(S,random); parse_method(E,random); parse_method(S,AS); parse_method(E,AS); parse_method(S,ASroute); parse_method(E,ASroute); @@ -340,7 +340,7 @@ static void init_data(void) surfxml_add_callback(STag_surfxml_prop_cb_list, &parse_properties); surfxml_add_callback(STag_surfxml_trace_cb_list, &parse_Stag_trace); surfxml_add_callback(ETag_surfxml_trace_cb_list, &parse_Etag_trace); - surfxml_add_callback(STag_surfxml_trace_c_connect_cb_list, &parse_Stag_trace_c_connect); + surfxml_add_callback(STag_surfxml_trace_connect_cb_list, &parse_Stag_trace_connect); } static void free_data(void) @@ -412,42 +412,42 @@ static void parse_Etag_trace(void) xbt_dict_set(traces_set_list, trace_id, (void *) trace, NULL); } -static void parse_Stag_trace_c_connect(void) +static void parse_Stag_trace_connect(void) { xbt_assert2(xbt_dict_get_or_null - (traces_set_list, A_surfxml_trace_c_connect_trace), + (traces_set_list, A_surfxml_trace_connect_trace), "Cannot connect trace %s to %s: trace unknown", - A_surfxml_trace_c_connect_trace, - A_surfxml_trace_c_connect_element); + A_surfxml_trace_connect_trace, + A_surfxml_trace_connect_element); - switch (A_surfxml_trace_c_connect_kind) { - case A_surfxml_trace_c_connect_kind_HOST_AVAIL: + switch (A_surfxml_trace_connect_kind) { + case A_surfxml_trace_connect_kind_HOST_AVAIL: xbt_dict_set(trace_connect_list_host_avail, - A_surfxml_trace_c_connect_trace, - xbt_strdup(A_surfxml_trace_c_connect_element), free); + A_surfxml_trace_connect_trace, + xbt_strdup(A_surfxml_trace_connect_element), free); break; - case A_surfxml_trace_c_connect_kind_POWER: - xbt_dict_set(trace_connect_list_power, A_surfxml_trace_c_connect_trace, - xbt_strdup(A_surfxml_trace_c_connect_element), free); + case A_surfxml_trace_connect_kind_POWER: + xbt_dict_set(trace_connect_list_power, A_surfxml_trace_connect_trace, + xbt_strdup(A_surfxml_trace_connect_element), free); break; - case A_surfxml_trace_c_connect_kind_LINK_AVAIL: + case A_surfxml_trace_connect_kind_LINK_AVAIL: xbt_dict_set(trace_connect_list_link_avail, - A_surfxml_trace_c_connect_trace, - xbt_strdup(A_surfxml_trace_c_connect_element), free); + A_surfxml_trace_connect_trace, + xbt_strdup(A_surfxml_trace_connect_element), free); break; - case A_surfxml_trace_c_connect_kind_BANDWIDTH: + case A_surfxml_trace_connect_kind_BANDWIDTH: xbt_dict_set(trace_connect_list_bandwidth, - A_surfxml_trace_c_connect_trace, - xbt_strdup(A_surfxml_trace_c_connect_element), free); + A_surfxml_trace_connect_trace, + xbt_strdup(A_surfxml_trace_connect_element), free); break; - case A_surfxml_trace_c_connect_kind_LATENCY: - xbt_dict_set(trace_connect_list_latency, A_surfxml_trace_c_connect_trace, - xbt_strdup(A_surfxml_trace_c_connect_element), free); + case A_surfxml_trace_connect_kind_LATENCY: + xbt_dict_set(trace_connect_list_latency, A_surfxml_trace_connect_trace, + xbt_strdup(A_surfxml_trace_connect_element), free); break; default: xbt_die(bprintf("Cannot connect trace %s to %s: kind of trace unknown", - A_surfxml_trace_c_connect_trace, - A_surfxml_trace_c_connect_element)); + A_surfxml_trace_connect_trace, + A_surfxml_trace_connect_element)); } } diff --git a/src/xbt/graphxml.c b/src/xbt/graphxml.c index a85b673bbc..18b7e5cb52 100644 --- a/src/xbt/graphxml.c +++ b/src/xbt/graphxml.c @@ -1054,7 +1054,7 @@ int xbt_graph_parse__flex_debug = 0; #define YY_RESTORE_YY_MORE_OFFSET char *xbt_graph_parse_text; /* Validating XML processor for src/xbt/graphxml.dtd. - * Generated 2010/06/17 19:11:52. + * Generated 2010/10/01 22:34:14. * * This program was generated with the FleXML XML processor generator. * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved. diff --git a/src/xbt/graphxml.l b/src/xbt/graphxml.l index 5c3becc9a8..f716dc5b0f 100644 --- a/src/xbt/graphxml.l +++ b/src/xbt/graphxml.l @@ -1,5 +1,5 @@ -/* Validating XML processor for /home/mquinson/Code/simgrid/src/xbt/graphxml.dtd. - * Generated 2010/04/06 12:44:26. +/* Validating XML processor for src/xbt/graphxml.dtd. + * Generated 2010/10/01 22:34:14. * * This program was generated with the FleXML XML processor generator. * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.