This is the mail archive of the gdb-patches@sourceware.cygnus.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RFA: Adapt testsuite for use with 16-bit hosts



2000-04-26  Jim Blandy  <jimb@redhat.com>

	Adapt tests to work properly on 16-bit targets.
	* gdb.base/exprs.exp ("print unsigned short == (~0)"): Don't
	assume that shorts are smaller than ints.  On a 16-bit machine,
	this isn't true. 
	("print unsigned char == (~0)"): Add test that verifies that ~0,
	an int, is not equal to ~0 stored in an unsigned char.  This tests
	the same thing that the previous test meant to, but works on
	16-bit machines, too.
	("print unsigned char != (~0)"): Same test, complemented.
	* gdb.base/long_long.exp ("p/a oct"): Don't assume that addresses
	are 32 bits long.  Expect to see only the bottom sixteen bits.
	* gdb.base/maint.exp ("maint print type"): Tolerate both 2- and
	4-byte ints.
	* gdb.base/remote.c (random_data): Make random_data only 40k, to
	work properly on machines which put their stack at 0xC000.  Split
	it into two 20k arrays, so that they can be indexed by 16-bit
	ints; otherwise, GCC complains that the arrays have negative
	sizes.
	(random_data2): New array, for the second half of the data.
	(main): Print out the final elements of both random_data and
	random_data2.
	* gdb.base/return.exp ("return from func3"): If this works, report
	it as a pass; don't just silently continue.  Credit where credit
	is due.
	("next over call to func3"): Account for the fact that the return
	command may not always return us to the line containing the call
	to func3.
	
Index: gdb/testsuite/gdb.base/exprs.exp
===================================================================
RCS file: /cvs/cvsfiles/devo/gdb/testsuite/gdb.base/exprs.exp,v
retrieving revision 1.18
diff -c -r1.18 exprs.exp
*** gdb/testsuite/gdb.base/exprs.exp	1999/06/25 23:46:18	1.18
--- gdb/testsuite/gdb.base/exprs.exp	2000/04/27 22:20:57
***************
*** 100,110 ****
  # FIXME:  gdb mishandles the cast (unsigned char) on the i960, so I've
  # set up an expected failure for this case.
  setup_xfail "i960-*-*" 1821
! test_expr "set variable v_unsigned_char=~0" "print v_unsigned_char == 0" "\\$\[0-9\]* = $false"  "print v_unsigned_char == ~0" "\\$\[0-9\]* = $false"  "print v_unsigned_char == (unsigned char)~0" "\\$\[0-9\]* = $true"  "print unsigned char == (~0)"
  # FIXME:  gdb mishandles the cast (unsigned char) on the i960, so I've
  # set up an expected failure for this case.
  setup_xfail "i960-*-*" 1821
! test_expr "set variable v_unsigned_char=~0" "print v_unsigned_char != 0" "\\$\[0-9\]* = $true"  "print v_unsigned_char != (unsigned char)~0" "\\$\[0-9\]* = $false"  "print unsigned char != (~0)"
  test_expr "set variable v_unsigned_char=~0" "print v_unsigned_char < 0" "\\$\[0-9\]* = $false"  "print v_unsigned_char < 127" "\\$\[0-9\]* = $false"  "print unsigned char < (~0)"
  test_expr "set variable v_unsigned_char=~0" "print v_unsigned_char > 0" "\\$\[0-9\]* = $true"  "print v_unsigned_char > 127" "\\$\[0-9\]* = $true"  "print unsigned char > (~0)"
  #
--- 100,110 ----
  # FIXME:  gdb mishandles the cast (unsigned char) on the i960, so I've
  # set up an expected failure for this case.
  setup_xfail "i960-*-*" 1821
! test_expr "set variable v_unsigned_char=~0" "print v_unsigned_char == 0" "\\$\[0-9\]* = $false"  "print v_unsigned_char == ~0" "\\$\[0-9\]* = $false"  "print v_unsigned_char == (unsigned char)~0" "\\$\[0-9\]* = $true" "print v_unsigned_char == ~0" "\\$\[0-9\]* = $false"  "print unsigned char == (~0)"
  # FIXME:  gdb mishandles the cast (unsigned char) on the i960, so I've
  # set up an expected failure for this case.
  setup_xfail "i960-*-*" 1821
! test_expr "set variable v_unsigned_char=~0" "print v_unsigned_char != 0" "\\$\[0-9\]* = $true"  "print v_unsigned_char != (unsigned char)~0" "\\$\[0-9\]* = $false"  "print v_unsigned_char != ~0" "\\$\[0-9\]* = $true" "print unsigned char != (~0)"
  test_expr "set variable v_unsigned_char=~0" "print v_unsigned_char < 0" "\\$\[0-9\]* = $false"  "print v_unsigned_char < 127" "\\$\[0-9\]* = $false"  "print unsigned char < (~0)"
  test_expr "set variable v_unsigned_char=~0" "print v_unsigned_char > 0" "\\$\[0-9\]* = $true"  "print v_unsigned_char > 127" "\\$\[0-9\]* = $true"  "print unsigned char > (~0)"
  #
***************
*** 139,145 ****
  test_expr "set variable v_unsigned_short=0x7FFF" "print v_unsigned_short < 0" "\\$\[0-9\]* = $false"  "print v_unsigned_short < 0x7FFF" "\\$\[0-9\]* = $false"  "print unsigned short <"
  test_expr "set variable v_unsigned_short=0x7FFF" "print v_unsigned_short > 0" "\\$\[0-9\]* = $true"  "print v_unsigned_short > 0x7FFF" "\\$\[0-9\]* = $false"  "print unsigned short >"
  # make short a minus
! test_expr "set variable v_unsigned_short=~0" "print v_unsigned_short == 0" "\\$\[0-9\]* = $false"  "print v_unsigned_short == ~0" "\\$\[0-9\]* = $false"  "print v_unsigned_short == (unsigned short)~0" "\\$\[0-9\]* = $true"  "print unsigned short == (~0)"
  test_expr "set variable v_unsigned_short=~0" "print v_unsigned_short != 0" "\\$\[0-9\]* = $true"  "print v_unsigned_short != (unsigned short)~0" "\\$\[0-9\]* = $false"  "print unsigned short != (~0)"
  test_expr "set variable v_unsigned_short=~0" "print v_unsigned_short < 0" "\\$\[0-9\]* = $false"  "print v_unsigned_short < 0x7FFF" "\\$\[0-9\]* = $false"  "print unsigned short < (~0)"
  test_expr "set variable v_unsigned_short=~0" "print v_unsigned_short > 0" "\\$\[0-9\]* = $true"  "print v_unsigned_short > 0x7FFF" "\\$\[0-9\]* = $true"  "print unsigned short > (~0)"
--- 139,145 ----
  test_expr "set variable v_unsigned_short=0x7FFF" "print v_unsigned_short < 0" "\\$\[0-9\]* = $false"  "print v_unsigned_short < 0x7FFF" "\\$\[0-9\]* = $false"  "print unsigned short <"
  test_expr "set variable v_unsigned_short=0x7FFF" "print v_unsigned_short > 0" "\\$\[0-9\]* = $true"  "print v_unsigned_short > 0x7FFF" "\\$\[0-9\]* = $false"  "print unsigned short >"
  # make short a minus
! test_expr "set variable v_unsigned_short=~0" "print v_unsigned_short == 0" "\\$\[0-9\]* = $false"  "print sizeof (v_unsigned_short) < sizeof (~0) && v_unsigned_short == ~0" "\\$\[0-9\]* = $false"  "print v_unsigned_short == (unsigned short)~0" "\\$\[0-9\]* = $true"  "print unsigned short == (~0)"
  test_expr "set variable v_unsigned_short=~0" "print v_unsigned_short != 0" "\\$\[0-9\]* = $true"  "print v_unsigned_short != (unsigned short)~0" "\\$\[0-9\]* = $false"  "print unsigned short != (~0)"
  test_expr "set variable v_unsigned_short=~0" "print v_unsigned_short < 0" "\\$\[0-9\]* = $false"  "print v_unsigned_short < 0x7FFF" "\\$\[0-9\]* = $false"  "print unsigned short < (~0)"
  test_expr "set variable v_unsigned_short=~0" "print v_unsigned_short > 0" "\\$\[0-9\]* = $true"  "print v_unsigned_short > 0x7FFF" "\\$\[0-9\]* = $true"  "print unsigned short > (~0)"
Index: gdb/testsuite/gdb.base/long_long.exp
===================================================================
RCS file: /cvs/cvsfiles/devo/gdb/testsuite/gdb.base/long_long.exp,v
retrieving revision 1.9
diff -c -r1.9 long_long.exp
*** gdb/testsuite/gdb.base/long_long.exp	2000/03/14 06:47:51	1.9
--- gdb/testsuite/gdb.base/long_long.exp	2000/04/27 22:20:57
***************
*** 116,122 ****
  gdb_test "p/u oct" ".*12046818088235383159.*"
  gdb_test "p/o oct" ".*.*"
  gdb_test "p/t oct" ".*1010011100101110111001010011100101110111000001010011100101110111.*"
! gdb_test "p/a oct" ".*0x.*77053977.*"
  gdb_test "p/c oct" ".*'w'.*"
  
  if { $sizeof_double == 8 } {
--- 116,122 ----
  gdb_test "p/u oct" ".*12046818088235383159.*"
  gdb_test "p/o oct" ".*.*"
  gdb_test "p/t oct" ".*1010011100101110111001010011100101110111000001010011100101110111.*"
! gdb_test "p/a oct" ".*0x.*3977.*"
  gdb_test "p/c oct" ".*'w'.*"
  
  if { $sizeof_double == 8 } {
Index: gdb/testsuite/gdb.base/maint.exp
===================================================================
RCS file: /cvs/cvsfiles/devo/gdb/testsuite/gdb.base/maint.exp,v
retrieving revision 1.6
diff -c -r1.6 maint.exp
*** gdb/testsuite/gdb.base/maint.exp	1999/08/11 02:14:52	1.6
--- gdb/testsuite/gdb.base/maint.exp	2000/04/27 22:20:58
***************
*** 343,349 ****
  
  send_gdb "maint print type argc\n"
  gdb_expect  {
!         -re "type node $hex\r\nname .int. \\($hex\\)\r\ncode $hex \\(TYPE_CODE_INT\\)\r\nlength 4\r\nobjfile $hex\r\ntarget_type $hex\r\npointer_type $hex\r\nreference_type $hex\r\nflags $hex\r\nnfields 0 $hex\r\nvptr_basetype $hex\r\nvptr_fieldno -1\r\ntype_specific $hex\r\n$gdb_prompt $"\
                          { pass "maint print type" }
          -re ".*$gdb_prompt $"       { fail "maint print type" }
          timeout         { fail "(timeout) maint print type" }
--- 343,349 ----
  
  send_gdb "maint print type argc\n"
  gdb_expect  {
!         -re "type node $hex\r\nname .int. \\($hex\\)\r\ncode $hex \\(TYPE_CODE_INT\\)\r\nlength \[24\]\r\nobjfile $hex\r\ntarget_type $hex\r\npointer_type $hex\r\nreference_type $hex\r\nflags $hex\r\nnfields 0 $hex\r\nvptr_basetype $hex\r\nvptr_fieldno -1\r\ntype_specific $hex\r\n$gdb_prompt $"\
                          { pass "maint print type" }
          -re ".*$gdb_prompt $"       { fail "maint print type" }
          timeout         { fail "(timeout) maint print type" }
Index: gdb/testsuite/gdb.base/remote.c
===================================================================
RCS file: /cvs/cvsfiles/devo/gdb/testsuite/gdb.base/remote.c,v
retrieving revision 1.2
diff -c -r1.2 remote.c
*** gdb/testsuite/gdb.base/remote.c	1999/12/04 05:56:45	1.2
--- gdb/testsuite/gdb.base/remote.c	2000/04/27 22:21:04
***************
*** 23,34 ****
  
  */
  
! /* Use a character buffer to avoid byte order problems. 48k is
!    chosen so that the buffer required at least 3 16k packets but
!    targets often have no more than 64k of data. */
! /* If you change this data, you will also have to change the checks
!    for the data in remote.c */
! unsigned char random_data[3 * 2048 * 8] = {
    60,  74, 216,  38, 149,  49, 207,  44,
   124,  38,  93, 125, 232,  67, 228,  56,
   161, 146,  85,  26, 128, 145, 218,  10,
--- 23,36 ----
  
  */
  
! /* Use a character buffer to avoid byte order problems. 40k is chosen
!    so that the buffer required at least 3 16k packets but targets
!    often have no more than 64k of data.  The array is split into two
!    20k arrays, so that the index can fit in an int on 16-bit machines.
! 
!    If you change this data, you will also have to change the checks
!    for the data in remote.c  */
! unsigned char random_data[2560 * 8] = {
    60,  74, 216,  38, 149,  49, 207,  44,
   124,  38,  93, 125, 232,  67, 228,  56,
   161, 146,  85,  26, 128, 145, 218,  10,
***************
*** 2588,3106 ****
   223,  46,  80, 190, 119,  97, 123, 218,
   203,  20, 197, 177,  21, 208, 194, 233,
     3,  85,  42, 155, 201, 142,  85,  38,
!   98, 102, 249, 156, 143, 154, 177,  31,
!   45,  87, 155, 143,  25,  79,  15,  63,
!  207,  23, 101, 231, 132, 210,  56, 245,
!   25,  19,  10,  49,  87,  30, 160,  39,
!  243,  81,  19,  47,  90, 138,   4, 228,
!   18,  99,  33, 153, 251, 118,  81,  28,
!   48, 246, 168, 189, 142,  80,  57,  61,
!  146, 188,  87,  33, 175,   4,  43, 142,
!  244, 238, 138,  25, 180, 101, 132, 178,
!   10, 165,  53,  79, 158, 174, 238, 190,
!  213,  58,  34, 167, 121, 178, 167, 193,
!  213, 224,  17, 105, 136,  40,  79,  67,
!  149, 168, 215,  50, 189, 193, 165, 184,
!   27,  61, 215, 210,  73, 154, 183, 232,
!  223, 135,  69, 212,  37,  95, 156,  46,
!  235,  67, 100,  19,  24,  67, 210, 199,
!  181,  63,  89,  13, 115, 247, 170, 180,
!   90, 143, 223, 126,  45,  27, 218, 175,
!  234,  13, 180,  46, 224, 136,  74,  31,
!    0,  17, 122,   3,  43, 123, 190,  84,
!  253, 213,   7, 196, 134,  44, 228, 255,
!   61,  20, 231,  48, 203, 130, 106,  74,
!  209,  23, 236,  17, 112,  12,  59,  38,
!  105, 206, 226, 250,  62,  16, 215, 141,
!  204,  38,  52, 167, 159,  74, 254,  89,
!  232, 200,  70, 115, 142, 104,  24,   2,
!   15, 196, 242, 210,  91, 165, 197, 197,
!  215,  82,  85, 128, 251, 186,  14,  11,
!  224, 232, 172,  50,  95,  67,  67, 128,
!  149, 125, 173, 121, 251, 102, 177, 130,
!  154, 134, 152,   8,  21,  81, 119, 225,
!  176, 146, 141, 203, 220, 180,  65,  14,
!   52, 105,  17, 176, 251, 249,  82,  59,
!    4,  74, 189,  76, 181, 205, 208, 224,
!  164, 150, 105, 196, 106,  47, 245, 204,
!   30, 115, 243, 239, 169, 184, 195, 164,
!  140,  57, 108, 203,  14,  82, 211, 104,
!  230, 147,  13,   9, 111,  32, 163,  62,
!  197,  93, 102, 124, 205,  68,  38, 214,
!  105, 246, 194, 158,  83, 148, 162, 215,
!   64,  81,   2, 253, 247,  74, 134, 138,
!  212, 146, 222, 148,  97,  50,  19, 183,
!   78, 184, 125, 231,  23,  12, 216, 247,
!  106,  94,  78, 247, 175, 115,  24, 164,
!  222,  74,  22,  37, 119,  74, 179, 153,
!   45,  58,  67, 179, 212, 120, 183, 124,
!  218,  64, 188, 137, 206, 245, 204,  53,
!   44, 238, 141, 224, 116,  23, 239,  47,
!  129, 132, 130, 122, 197,  75, 214, 171,
!   61,  27, 176,  17,  68,  87,  15,  94,
!   22, 147, 123, 147, 159, 120, 112, 219,
!   57, 135, 127,  47, 163, 187,  96,  62,
!  136, 158, 196,  59, 134,  57, 211,   1,
!   59, 127,  51,   7, 128,  55, 179, 141,
!  206, 139,  21, 228, 217, 166, 220,   8,
!  247, 132, 101, 218, 242, 225,  17, 146,
!   23, 154,  20, 217,  37, 251, 166, 228,
!    0, 176, 194,   6,  94, 110, 204, 227,
!  119, 243, 134,  37, 158,  14, 233,  35,
!  171,  43,  90, 253, 184,  24,  86, 223,
!  126,  66, 126,   4,  62,  18,  19,  79,
!  207,   2,   9, 137, 193, 116,   2, 209,
!   92, 114,  86,  48, 214, 178, 187, 178,
!   55, 156, 119, 105,  74,  91, 238,   6,
!  160, 181, 143, 180, 176,  87,  59,  60,
!  236, 174, 181,  19, 130,  78,  50, 169,
!  156,  35,  72, 231, 245, 223,   3, 174,
!  217,  51,  49, 234,   2,  89,  57, 184,
!  251, 121, 126, 189, 207, 227,  50,   1,
!    3,  13, 151,  88, 205, 207, 160, 253,
!  111, 198, 246, 205, 128,  59, 238,  38,
!  195,  58, 163, 238,  73,  56,  62, 223,
!  148,  35, 216, 137, 224,  28,  89,  69,
!  244, 169, 189,  63, 142, 192, 106,   7,
!   42, 115,  90,  80,  48,  51, 225, 187,
!  239,  32,  10,  13, 102, 160,  89,  84,
!  206,  77,  10, 218, 189, 240, 242, 246,
!    3, 155, 244, 193, 145,  50,  48, 159,
!  102,  92,  42, 170, 230, 213, 251, 190,
!  249, 157, 139, 213,  14,  76,  44, 192,
!  228, 189,  70,  39,  68, 157, 227, 215,
!  128,  62, 125,  12, 204,  55,  63, 105,
!  221,  56, 136, 184, 236, 205, 136, 120,
!  152, 163, 176,  23, 183,  16, 101,  51,
!  129, 139, 101,  35,  19,   5, 252,   0,
!  155, 143,  81, 227,  21,  69, 229,  75,
!  168, 210, 125, 100,  57,  52, 243, 236,
!  137,  21, 235, 249,  69, 113,  50,  23,
!  212,  27,  67, 135,  37,   8, 223,  96,
!  158,  28,  40, 245,  44, 107, 213, 179,
!  235, 115,  44,  24, 230, 111, 231, 128,
!   35, 211, 235, 163, 180,  25,  77, 206,
!   89, 191, 227, 247, 252, 249, 249, 148,
!   36, 118,  89, 111, 181, 154, 230, 143,
!   98, 224,  68, 125, 178, 165, 146,  28,
!   49,  28,  21,  91, 205,   0,  23, 236,
!    7,  74, 210, 247,   0, 224,  64, 223,
!  251,  35,  24,  69, 177, 134,  57,  36,
!  152, 197, 222, 197,  52,  28, 156, 192,
!  148, 127,  34, 214, 240,  61,  11, 101,
!   37,   8, 255, 252, 245, 238, 131, 168,
!   30, 120, 231, 156,  55,  30, 173,  16,
!  240,  52, 178, 100,  10, 156, 184, 234,
!    6,  28, 120,  69,  70,  93,  73,  81,
!  155, 110, 102, 102,  71, 135, 102,  98,
!  133, 157, 227, 148,  27,  85, 121,  18,
!  216, 182, 123, 176, 204, 105,  42, 190,
!   61,  96,  54,  38, 100, 112, 214, 251,
!    4,   4,   0, 246, 229, 105,  17,  48,
!  168, 144,  44, 100, 130,  48,  65,  49,
!  102,  24, 124, 134,  35, 219, 198, 204,
!  233,  97, 167, 237,  75, 148, 229, 129,
!  239,  86, 189,   4, 139, 242,  84, 218,
!  120,  91, 239,  10,  95, 217, 236, 196,
!  123, 247, 167, 116, 222,   8, 198,   4,
!  100, 155, 194,  38, 150, 108, 104, 108,
!  112, 113, 104,  77, 183, 200, 249, 162,
!   50,  95, 195,  70, 118, 183, 233,  79,
!  103, 228, 107, 142, 105,  47, 252, 230,
!   72, 239, 221,  40, 189, 163,  37,  21,
!  107,  40,  44, 184, 171, 255, 217,  82,
!  173, 157, 168,   8, 226, 207, 147,  15,
!    6, 174,  35,   1,  10, 208, 212,  57,
!  212, 150, 189,  83, 192,  40, 149,   5,
!  119, 223,  45, 228, 173, 167,  73, 123,
!  218, 157, 227,  90,  18, 252,  75, 179,
!  151,   2, 145, 251,  42,  39,  14,  86,
!   70,  36,  77,  10, 174, 211, 232,  84,
!  124, 169,  97,  12,  12, 230,  56, 230,
!  131,  43,  52,  22, 229, 121, 137, 143,
!   62,  97,  99, 109,  62,  19,  76,  33,
!  183, 116, 200, 137, 178,  71,  77, 196,
!  164, 210, 182, 100,  11,  85, 208, 171,
!   73,  45, 135, 154, 150, 226, 149,  45,
!   48, 193, 188, 231,  15,  29, 115, 186,
!  222,  43,  54, 228, 184, 161, 245, 113,
!   27, 124, 137, 149, 123, 180, 154,  30,
!   74, 126, 149, 122, 244, 125,  13,  75,
!  173,  16, 126, 188, 207,  27,  60, 244,
!  105,  50, 187, 109, 181,   2, 199, 108,
!   62, 245,  90, 101, 187, 139,  55, 128,
!  173,  52, 207, 101,  71, 221,  10,  58,
!  252, 184, 159, 174, 204,  64, 250, 217,
!    4,  59,  32, 216, 121, 111, 225, 252,
!  120,   1, 151,  19, 199,  98, 128, 203,
!   73, 222,  89,  77, 202, 216,  35, 209,
!  226,  96,  28, 236,   8,  69,  57, 163,
!  213, 145, 254, 179, 182, 126, 234,  40,
!   30, 120, 222, 153,  36,  91, 220, 137,
!  189, 141, 242,  58,  23,  34,  93,  89,
!   17, 177,  96,  45, 109, 104,  65,  70,
!  129, 161, 122, 243,  98,  67,  64, 184,
!  186,  82, 101,  45, 144,  17, 220,  37,
!    4,  93, 170, 117,  77, 113,  66,  37,
!  133, 162, 142, 150, 219,  21, 184, 142,
!   31,  30, 210, 136,   6, 241,  25,  55,
!  176, 142,  39,  76, 168, 132,  13, 203,
!   88,  75, 133, 157, 191,  29, 118, 136,
!   58, 155, 200,  53, 158, 223,  37, 167,
!   72, 194, 182,  25,  93, 157,  86,  17,
!   99, 201, 246, 134, 151, 116, 153, 157,
!  251, 166,  27, 105, 219,  30,  67, 200,
!  107, 249, 144, 108, 129,  58, 201, 232,
!    6, 216,  97, 103,  88, 114, 170,  90,
!  232,  16,  92,   4, 136, 149,  97, 185,
!    4, 138,  40, 232,   5, 124,   4,  63,
!  218, 162, 216, 118,  86, 124,  35, 108,
!   47, 230, 255,  93, 250,  81,  98, 197,
!  142, 133,  12, 164,  24, 178,  79,  75,
!  241,  13, 118,  82, 112, 179, 124, 231,
!  225, 113, 222,  96, 155, 100,  76,  83,
!   43, 140, 244,  77, 192, 107, 197, 174,
!  190,  27,  31, 168,  62, 159,  88,  93,
!  232,  16, 248, 253, 121, 126, 189, 151,
!   58,  19, 137, 223,  92, 127, 235,  27,
!    1,   0,  93,  88, 169,  12, 210,  96,
!  230, 242, 151, 175,  97, 177, 252, 237,
!  250, 113, 196,  52, 232, 100,  76,  45,
!  159, 125, 221, 121, 221,  41, 125, 168,
!   53,  42, 120,  56, 163, 105,  23, 214,
!  242,  17, 186, 248, 151, 240,  77,  54,
!   70,  62,  60, 182,  52, 242, 138, 197,
!  216,  98,  66, 158,  29,   9,  36,  37,
!   38, 132, 221, 135, 147, 101, 198, 173,
!  159,  54, 230,  71, 249, 245, 227, 222,
!   79,  19,  72,  48, 149, 225,  14, 173,
!   43,   9, 130,  95, 137,   6, 175, 229,
!   15, 136, 192,  99, 205, 229, 187, 173,
!  191, 121, 113,   9, 249,  71, 125, 196,
!    2,  63, 245,  42,  28, 167, 108,  68,
!  166, 232, 135, 164, 174, 210, 248,  31,
!  164, 130,   9, 157,   3, 202, 119,  23,
!   78,  52, 124, 117, 106,  77,  44, 124,
!  144, 216,   9, 158, 127, 141,  59, 103,
!  112, 243,  83, 220, 227, 146, 120, 136,
!   16, 208,  52,   1, 231, 163,  80,  16,
!  138, 252,   5, 255,  71, 197, 137, 140,
!  203, 193, 235,   8, 176,  28,  97,   8,
!  241, 120,  29, 203, 158, 151, 183,  92,
!  222, 232, 133, 136,  82, 202, 225,  47,
!   99, 223,  84, 191,  13,  57, 181,  70,
!   30,  39, 197,  68, 210,  14, 117, 230,
!  217,  44,   9, 236, 127, 248, 128, 144,
!   97, 149, 151, 126,  33, 114, 131,  13,
!   10,  15,  15,  86,  28, 165,  49, 253,
!  190, 170, 178,  99, 128, 225, 234, 220,
!   85, 114,  62, 220, 116,  44, 136, 102,
!   78, 211,  92, 175, 121,  90, 137, 237,
!  204,  33, 225, 239,  41, 223,  37,  67,
!  107,  48, 117,  72,  86, 204, 178, 140,
!  185, 195, 175,  47,  39, 167,  56, 153,
!   47, 198,  69, 103, 217,  93, 106, 117,
!  132, 148, 235,   7, 172, 222, 219, 154,
!   68, 247,  90, 218, 188, 166, 130, 215,
!   74, 136, 101, 218,   6, 142, 244,  67,
!   23, 115,  35, 156, 247, 129, 110,  59,
!   93,  62,  45,  87,  54,  91, 158,  10,
!   58, 176, 248,  79,  27, 206,  91,  20,
!  215, 135, 182, 222, 134, 190,  88, 135,
!   78, 147, 250, 212,  49, 156,  17, 150,
!   42,  22,  29, 202, 169, 132,  30,  99,
!   90, 180, 143,  75, 241, 116,  76, 151,
!   32, 133,  96, 102, 244, 233,  44,  68,
!  183, 219, 120, 111, 241,  95, 155, 248,
!   54, 100, 187, 242,  77, 236, 246,  49,
!  225, 218,  41,  69,  19, 110, 130,  90,
!  225, 152, 119, 253, 188,  20, 155, 234,
!  125, 120,  76, 126,  26,  44, 194, 237,
!    4,  33, 236, 149,  26,  57, 156, 246,
!  171,  58, 134, 120, 236,  57, 209, 241,
!  119, 215,  61,  50,  28,  73, 141,  69,
!   32, 152,   8, 249,  89, 244, 236,  35,
!  136,  68,  54, 132, 112, 102, 151, 121,
!   83, 124, 193, 213,  67, 198,  33,   3,
!  155,  19,  16, 205, 226, 126, 104, 229,
!   93, 170,  40,  67, 111,  50,  31,  36,
!   70,  50, 200, 227,  28, 185, 176,  91,
!  150,  28, 148, 129, 187, 140, 126, 245,
!  204,  10,  61,  89, 162,  48, 117, 150,
!   47,  55,  49, 139, 128, 108, 144,  25,
!   93, 148,  24, 137, 239, 135,   0,  83,
!  208, 146, 104, 171, 114, 147, 150,  50,
!   69,  86,  36,   6, 132, 236, 210,  47,
!  218,   2,  70, 181, 231,   7,  43, 114,
!  164, 109,  80, 109,  38, 214,  50, 201,
!  229, 122, 252, 183,  68, 194, 184, 133,
!  144, 205,  39, 202, 250, 111,   6,  53,
!  109, 158,  42, 170,  23, 168, 193,  31,
!  180, 204,  86,  69, 205, 205,  33, 242,
!  133, 237, 153,  11, 159,  54, 104, 174,
!    5,  41,  47, 180, 160, 114, 162, 125,
!  128, 198, 124, 100, 108, 152,  10, 174,
!   28, 108, 217,   0, 214,   9, 210, 184,
!   50,  47, 231,  43, 238, 167,  44, 188,
!  137, 177, 123, 117, 229, 235,  32, 141,
!   44,  87,   1,  24, 192, 130, 161,  85,
!   34, 120, 190, 139,  89, 123, 109, 242,
!  223, 121, 132,  36,  90, 195, 113, 119,
!  160, 208, 132,  37, 152,  58, 184,  56,
!  254, 123, 223,  75, 227, 237, 156, 184,
!   37, 255, 255, 214, 223, 178, 106, 157,
!  204, 179, 223, 205, 116, 161,  93, 231,
!  152,  19, 137, 110,  90, 123,   9,  53,
!  140, 142, 167, 104, 234, 140, 226,   4,
!  125,  60, 200,  33, 156,  10, 253, 221,
!   86, 218, 255,  89,  28, 142,   5, 166,
!  118, 250,  31, 183, 242, 170, 227, 226,
!   93,  60, 136, 107,  89, 245, 174, 212,
!  211, 211, 169, 137,  59, 165,  66,  15,
!  194, 161, 111, 228, 134, 227, 203, 100,
!  119,   1, 112, 202,  69,  79, 133,  18,
!  160,  71, 176, 154,  38,   8,  13, 139,
!  199, 144, 177,  78,  88,  85,  50, 136,
!   99,  98, 188, 216, 103, 109,  19, 137,
!  131, 163,  91,  77, 248, 219, 190,  27,
!   88, 224,  76, 166, 155,  74,  30, 241,
!  196, 110, 247,  51, 216,  27,  42, 237,
!  143, 255, 227, 105,  77,  25, 125, 245,
!  246, 102,  49, 119, 198,  75,  93, 253,
!   69, 245, 144, 183, 192, 206,  89,  33,
!  177,  99, 177,  10,  95, 146,  27, 127,
!  225, 157, 118, 221,  74,  94, 231, 107,
!   14, 105, 183, 175, 139,  73, 101, 190,
!  159, 235, 145,  45, 120, 150, 136,  77,
!  188, 179, 230, 191, 219,   5, 243, 130,
!  129, 101, 207,  28,  54, 179, 168, 158,
!    5,  54, 174, 116, 191,  29,  27,  96,
!   86, 231, 158,  95,  45, 135, 168,  90,
!  189, 111, 121, 217, 108, 135,   7, 232,
!  134, 252, 218,  37, 131, 107, 214, 228,
!   78,   5, 181,  64, 138, 240, 174,  77,
!   57, 203, 249, 113,   8, 145, 222, 155,
!   78,  53, 245, 208, 214, 201,  75, 205,
!   50,   2,  30,  84,   8, 176,  79,  84,
!  139,  57, 174, 109, 139, 166,   7,  93,
!   69, 227,  67, 112, 247, 160, 250, 184,
!   40, 162, 124, 233, 113, 120,  96, 231,
!  228, 190, 228, 104, 212, 170, 143, 221,
!  226, 152, 216,  99,  83,   1,  79, 136,
!   84,  77, 191, 200,  89,  56, 211,  34,
!   88,  77,  30, 244, 190,  10, 215,  10,
!   12,  43, 128, 136,  56, 136, 221, 104,
!  162,  80, 190,  73, 239, 246,  84, 153,
!  125, 192,  49,  40, 200, 195, 124, 165,
!   71, 196, 173,  30, 150, 247, 222, 194,
!  129, 102, 207, 163,  77, 220, 186, 157,
!   53,  13, 112, 195, 197,  20, 157, 241,
!   63, 255, 199,  33,  89,  45,  79, 167,
!  245,  20,   9, 199, 209, 169, 180, 192,
!  236, 108, 244,  45, 182, 147, 252, 158,
!  238, 172, 246, 229, 220,  48, 202,  71,
!    8,  57,  97,  42, 238, 107,  16,  88,
!   28, 201, 232, 126, 117,  84,  22, 151,
!  253, 204, 112, 189, 154,  84, 241,  39,
!   52, 165, 105,  47,  67, 225, 211,  19,
!   18, 218, 251,  85, 130, 210, 122, 111,
!  132, 141,  84,  38, 207, 131,  68,  48,
!  156, 145, 191, 118,   9,   5, 164, 146,
!   63,  53,  27, 247,  39, 242,  57,  66,
!  123, 221,   8, 247,  98, 114, 202, 231,
!  177, 153,  23, 141, 225, 247, 143, 141,
!   90, 202, 135,  34, 118, 104, 143, 196,
!  106, 212,   3,  71,  40, 252,  15,  34,
!  252, 248,  77, 208, 162,  28, 140,  16,
!  157, 242,  24, 232, 108, 176, 225, 126,
!   16, 208,  70,  79,  85, 249, 140, 204,
!    2,  29,  21,  61,  47, 105, 171,  39,
!    5,  13,   4, 103, 218, 165, 140,  61,
!  214, 238, 123,  93,  85, 228, 114, 204,
!  150,  30,  64, 183,  32, 176, 116, 223,
!  179, 183, 254,  39,  35,  50,  84,  81,
!   73, 151, 104,  10,  39, 180, 196,  98,
!   85, 109,  86, 194, 115,  84, 210, 226,
!  179, 249,  73, 158, 152,  36, 241, 243,
!   17,  38,  99, 146, 251, 166, 206, 211,
!  224, 229,  76,  38, 203,  88, 149, 108,
!   90, 214,  51, 136, 109, 223, 171,  66,
!   97, 162,  90, 122,  42, 159, 126,  50,
!  233, 231,  15,  50, 101, 186,  11,  85,
!  237,  85,  96, 135,  60,   1, 100, 185,
!   39, 125,  64, 179,   8, 219, 189, 113,
!  106, 179,  82, 234,  15,   0, 244,   5,
!   43, 142,  33,  28, 195, 145, 100,  69,
!   43, 120, 158, 106, 195,  89, 197,  31,
!  246,  42, 178,  32, 255, 171, 237,  79,
!  241,  75, 197, 240, 144,  14,  65,  42,
!   18,  33,  84, 185, 115, 127, 212, 194,
!   23, 119, 255,  60,  61, 161,  91, 130,
!    0,  64, 244, 252, 215, 149,   6, 112,
!   36, 118,  97, 112, 113, 101, 107, 150,
!   37,  71,  99,  39, 185,  29,  99, 142,
!    6, 165,  16, 211,  44, 242,  18,   8,
!   50, 229,   5,   5, 176, 158, 237, 222,
!   41, 239, 224, 112, 127, 192, 235, 253,
!   30, 114,  44, 160,  31, 244, 182, 206,
!   70,  70, 130, 192,  98, 189,  63,  63,
!  128, 116, 112,  71, 221, 227,  84, 120,
!  238,  80, 192,  49, 151,   2, 153, 191,
!    6, 106, 146,  75, 105, 204,  91,  97,
!    7,  24, 235,  24,  10,  29,  37,  88,
!   61,  66,  71, 248, 150, 131,  98, 140,
!  123,  92, 204,  76,  12, 247, 245,  20,
!  135, 179,  84, 115, 104,  31, 238,  52,
!  123, 254, 190,  32, 221,  29,  92, 220,
!   80, 193,   9, 230, 201,  30, 150, 133,
!  213, 150, 200,  95,  98, 252, 187, 194,
!   44, 190,  10, 115,  64, 155, 253,   5,
!   29,   9,  34,  45,  74, 111, 199,   5,
!   72, 144, 136,  30, 162,   4, 145,  12,
!  105,  53, 130, 142, 134, 124, 144,  23,
!  203,  31, 147, 252,  27,   9,  62, 185,
!  183, 118, 150, 116, 145, 237, 202,  27,
!  220, 229, 203, 149, 179,  74, 207, 165,
!   59,   3,  99, 198, 194, 126,  64, 108,
!   43,  53, 168, 232, 132, 130, 135, 164,
!  173, 207, 253,  71, 183, 126, 132, 204,
!   92, 228,   3, 166, 170,  60,  73, 178,
!  232, 106, 249, 127, 252, 140, 164, 112,
!  144,  35,  32,  59,  69, 131,  61, 245,
!  107,   1, 117,   6, 244, 191, 218, 182,
!  156, 103, 253, 177, 251, 203, 113, 172,
!  176,  20, 218, 157,  27,  91, 200, 243,
!   40, 208, 185,  62, 192,  71, 236, 154,
!  106, 103, 174, 101, 228, 104,  52, 144,
!  117, 120,  30, 201,   6,  79,   1, 233,
!   83,  77, 205, 201,  86, 250, 107, 251,
!   31,  63, 123, 192,  68, 130, 119, 226,
!  227,  89,  96,  85,  20, 238, 164,  65,
!  168, 166,  87,  83,  31, 144,  61, 237,
!    2, 221, 122, 150, 241, 185, 173, 213,
!  166,  96, 158,  94, 166, 146,  44, 150,
!  253, 172,  17, 245,  94, 146,  35, 153,
!   18,  49, 251,   1,  80,  81,  59, 143,
!  220, 169, 114, 200, 195,  46,  42,  73,
!  137,   4, 197,  10, 140,   3, 229, 201,
!   35, 131, 216, 237, 219, 128, 193, 106,
!   16, 104, 188, 219, 107, 169, 151, 153,
!  119, 241, 136, 122,  51, 224, 182,  92,
!  188,  91, 185,  96, 242,  31, 182, 180,
!   96, 114, 104, 198,  89, 125,  22,  40,
!   89,  84,  85, 166, 247,  50, 193, 157,
!   71, 185, 130,  70, 116, 159, 232, 114,
!  119,  60,  71, 211, 215, 188, 134, 169,
!   44,   5, 242, 206,  78,  15, 122, 139,
!  244, 176, 140, 247, 160,  55, 209,  72,
!   58, 194,  60, 112,  81,   7, 100,  32,
!  123,  53, 150, 136, 168,  94,  19, 116,
!  230,  79,  22, 111, 237,   3,  44, 134,
!  219,  49, 215, 206,   1, 194,  96, 167,
!   97, 228,  42, 158,  61,  38, 152,  15,
!   76, 147, 103,  62, 251, 129,  42,  87,
!   92,  79,  29, 108, 124, 246, 130, 118,
!   38, 178, 170,  75, 131,  85, 157, 216,
!  154, 215,  71, 153, 160,   4,  37, 161,
!  215, 109, 246, 158, 253,  17, 133, 108,
!  187, 209,  65,  46,  50,  95, 229, 193,
!  242, 202, 152, 154,  93, 189, 101, 198,
!  170, 212, 115, 177, 216, 113, 129, 205,
!   97, 201,   7,   2, 131, 174,   5,  98,
!  177, 207,  59, 184, 174,  48, 166, 205,
!  128,  43, 118, 250,  79, 237, 197,  96,
!   55, 127,  24, 185, 190, 228, 133,  93,
!  202, 193,  95,  93, 111, 244,  96,  28,
!  237,  47,  93, 144, 239, 213, 151, 138,
!   84, 237, 135, 228, 161,   7, 205, 120,
!   77, 193, 114,  75, 188,  61,  11, 109,
!   54,  62,  64, 196, 114, 119, 217, 139,
!   91, 151,  79, 254,  47, 214, 164,  36,
!   79, 198, 193,  16, 253, 195,  35,  90,
!  218, 242, 172, 106,  78, 212,  49, 252,
!  189,  29, 122, 233, 222,  63,  91,  72,
!  119, 213, 102,  86,  43, 195,  77, 161,
!  142,  21, 250, 155, 163, 112, 233,  54,
!  248, 106, 181, 114, 176, 188,  41,  96,
!  158, 222, 162,  20, 140, 102, 242,  78,
!  229,  53,  52,  99,  57, 222,   2,  82,
!   25, 218, 234, 232, 171, 206,  41,   3,
!  246, 162,  13,  91,  47,  96,  93,  26,
!   55, 178, 156, 122, 185,  20,  93, 213,
!  171,  17, 103, 147,  86, 164,  69, 212,
!  233, 227, 127,  34, 147, 125, 180, 172,
!   23, 205,  63, 240, 172, 213,  53, 212,
!  178,  85, 106, 247,  93,  80, 158, 132,
!  185, 237,  81, 139, 105, 107, 190, 215,
!  177, 156, 133,  49,   0,  41,  45,  36,
!  198, 212,  47,  95, 192,  29,  55, 110,
!   32, 188,  55, 240,   5,  99,  56, 227,
!  245,  92, 240,  70, 235,  48,   4, 238,
!  210,  81, 116,   8, 133,  58, 230, 253,
!  203,  10, 251, 167, 124, 178, 135,  58,
!  143, 250, 241,  79, 159,  61, 193, 123,
!  105, 186,  69, 175,  27, 217, 177,  99,
!  255, 133, 182, 182, 223,  13,  49, 248,
!  204, 252,  91,  27,  56, 112, 222, 255,
!  188, 244, 228, 234,  77, 134, 105,  95,
!  187, 171, 242, 221,  14,  18,   1, 211,
!   37, 153, 162,  40,  98,  73,  71,  18,
!   29,  24, 191,  60, 239, 118, 176,  64,
!   58,  44, 123,  27,  88,  26, 150, 255,
!  186,   0, 175, 202, 164,  85, 184, 184,
!   61, 243, 169, 137, 150, 200, 193, 142,
!  138, 229,   1,  58, 170, 136, 136,  69,
!   57,  30,   8,  86, 220,  70, 165,  97,
!   13, 255, 221, 235, 254,   0, 211, 248,
!  146,  53,  93, 192,   9,  80,  98, 128,
!  152,  88, 149, 132, 251, 171, 236,  38,
!   83, 206, 233,  66,  93, 244, 243, 174,
!  174,  94,  41, 205,  34, 219, 147, 208,
!  196, 110, 247, 142,  87,  24, 166,  49,
!   23,  24,  82, 252, 133,  14,  83, 140,
!  170, 179,  10, 231,  45, 211,  52,  65,
!   65,  31,  11,   9,  10, 221, 214, 105,
!  158, 252, 188, 197,  21, 120, 249, 146,
!  234, 127,   4, 255, 171, 151, 190,  17,
!  224, 201,  12, 106,  94,  82,   0, 175,
!   14,  55,   4,  39,   3, 150, 103,  43,
!  153, 145,  31, 119, 143,  54, 103, 126,
!  151, 234, 230, 108, 122, 205,  90,   5,
!  185, 195, 170, 216, 171, 224,  33,  99,
!  130, 141, 151, 162, 127,  86, 191,  94,
!   90,  22, 220, 242, 107, 100, 246, 225,
!   96, 100, 100,  15, 167, 101, 119,  87,
!   33,  45, 152, 246,  72,  73, 249,   8,
!   63,  68, 108, 111,   5, 109, 153,  51,
!  196, 228,  91, 235,  34, 138,   9, 160,
!  138, 113, 221,  88,  38, 128, 134,  63,
!    3, 173, 133,  49,  17,  51, 151,  26,
!  167,  63, 225,  97, 184, 120, 214,  49,
!   72,  36,  23, 130, 230, 221, 190,  30,
!  131, 232, 248, 159,   5, 124, 211, 244,
!   34, 187, 177, 250,  68,  62,  70, 133,
!  202,  54, 166, 172,  25, 178, 230, 171,
!  144, 235, 215, 250, 132, 141,  46, 185,
!   43,   8,  97, 135,   7, 141, 205, 208,
!  126,   3,  53,  71, 122,  18,  44, 212,
!   20, 245,  87,  16, 136,  95, 144, 216,
!  253,  20, 150, 125,  90,  24,  55, 187,
!  163, 155,  58,  63, 187, 143, 132, 167,
!   98,  20,  15,  83, 145, 215,  93,  40,
!   94,   5, 177, 202, 125, 100,  15, 159,
!  139,  99,  93, 226, 111, 158,  88, 131,
!  140, 237, 116, 124,  10, 215, 167,  37,
!   41,  95, 166,  33,  51,  95,  52,  72,
!   62, 149, 165,  46, 141,  29, 246, 244,
!    8, 159,  29, 119, 143, 198, 129,  37,
!  192, 251,  58, 246, 134,  10, 178,  20,
!   41,  56, 139,  29, 245,  82, 122, 217,
!  223, 144,  91, 216,  61,  76, 235, 119,
!  218,  55,  25, 137,  40, 128,   4, 144,
!  125, 242, 111, 121,  81, 249,  31,  73,
!  168,  79, 112, 164,   4,  56, 128, 191,
!   85, 251,  41, 182, 212, 202, 191, 200,
!  103, 132, 252, 139,  82, 212, 250, 186,
   181, 240, 231, 109, 120,  42,  63, 104,
   161,  44,  74,  63, 146,  13, 230, 198,
    86, 177, 138, 199,  20,   0, 119,  81,
--- 2590,2599 ----
   223,  46,  80, 190, 119,  97, 123, 218,
   203,  20, 197, 177,  21, 208, 194, 233,
     3,  85,  42, 155, 201, 142,  85,  38,
!   98, 102, 249, 156, 143, 154, 177,  31
! };
! 
! unsigned char random_data2[2560 * 8] = {
   181, 240, 231, 109, 120,  42,  63, 104,
   161,  44,  74,  63, 146,  13, 230, 198,
    86, 177, 138, 199,  20,   0, 119,  81,
***************
*** 5660,6183 ****
    49,  76, 143,   0, 182, 121, 214, 121,
    41, 174, 211,  70,  54,  32, 199,  63,
   223, 139, 212,  79, 239, 117, 159,  96,
!   91, 215, 200,  18,  62,  67, 134, 179,
!  167,  85, 203,  40, 239,  27, 238,   9,
!  161, 220, 103, 162,  57,  11,  50,   4,
!  210,   1,  95,  57,  96, 206, 215,  32,
!   16,   1, 137, 240,  35, 229, 122, 171,
!  247, 135, 135,  62, 183, 142,   7,  49,
!  223, 179, 250,  48,  81,  24,  87,  54,
!  194, 151, 230, 214,  76, 236,  76, 168,
!  127,  72,  90, 153, 220,  99,  22, 190,
!   19, 223,   8, 247,  19,   2,  11, 173,
!  137, 240, 146, 204, 216,  10,  15, 225,
!  227,  66, 124, 220, 171, 131, 163, 180,
!  181,  62,  46,  81,  54, 177,  92,  83,
!  219,  98, 161,  88, 230, 238,  32,   0,
!  179, 173, 222,  47,  72, 160, 215, 153,
!   49,  24, 239,  59,  39, 116,  28, 155,
!  227,  62, 215, 180,  24,  46, 237,   0,
!  224, 233, 224, 244, 246,   2, 175,  56,
!   41, 188, 136,  97, 107, 123,  93,  64,
!  130, 254, 219, 135,  11, 175,  99,  24,
!   86, 133, 215,  14, 191,  27, 111,  74,
!  173,  78, 166, 141, 123, 156, 156,  80,
!  253, 220,  12,  84, 244, 204, 102, 151,
!  176, 159, 218,   2, 118, 146,  45,  17,
!   79,  39, 219, 244,  35,  16,  17, 241,
!  218, 187, 175, 166, 168,  88, 145, 186,
!  118, 255,  96, 204,  71, 164, 229, 103,
!  102,  66, 201, 213, 132, 231, 255,  86,
!  220, 179, 193, 128, 156,  11,  85,   2,
!   80, 247, 133,   1, 157,  57, 137, 135,
!   99, 111, 196, 185, 133, 235, 131,  51,
!  210, 173, 175,  38, 184, 230, 247,  70,
!  110,  74,  62,  97, 113, 130, 116,  78,
!   10, 186,  96,   9,  98, 243, 174,  37,
!   36, 133,  82, 154,  63,  36, 140, 243,
!   53, 255, 212,  88,  64,  64, 151, 115,
!   38, 232, 104,   4,  16, 101, 104, 185,
!  177,  54,  55, 212,  14, 152,  31, 131,
!  242, 183, 112, 245, 225, 100, 151, 106,
!   23, 199, 237, 165, 140, 131, 202,  56,
!  130, 192,  34, 147,  22, 138, 217, 227,
!  158, 255,   8, 107,  94,  12,  50,  86,
!  220,  47, 201,   9,  45, 186, 173, 226,
!  226, 182,  15,  80, 144,  39, 155, 193,
!  169,  18,  23,  40, 141, 246, 176,  97,
!  151, 207, 163, 177,  73, 105, 236, 223,
!  150,   6, 252, 221,  65, 217,  67,  91,
!   34,  15, 181,  65, 196, 143, 199,  74,
!   11,  45, 192, 214,  96,  58,  29, 188,
!  187, 195,  47, 141, 154, 204,  35,   0,
!   47, 249,   3,  48, 234, 152, 122,  92,
!   19,  35, 115,   4,  44, 199, 136,  50,
!   69,  93, 133,  19,  10, 186,  27, 179,
!  130,  38, 216,  34, 139, 120,  87, 238,
!  245, 241, 207,  17, 234,  46, 138, 172,
!  188, 113, 178, 118,   6, 205,  24,  35,
!   80,  17, 231,  72, 130, 160,  93,  24,
!  220,  11, 152,  51, 255,  35,  35,  83,
!   76,  79, 128, 107,   3, 126, 219, 238,
!   18, 134, 138, 183, 126,   7,  58, 127,
!  221,  99, 119, 129,  60,  88,  11, 142,
!  180, 140, 174,  58, 178,  10, 248, 238,
!  223, 174, 192, 170, 217,  99,  16, 204,
!   61, 239, 102, 108,  58,  82, 118, 198,
!  215, 191,   8, 139,  44, 137, 161, 125,
!  136,  33,  84,  84, 119, 154, 237,  58,
!  138,  11, 118, 122, 248, 211, 194, 213,
!   91, 230, 157,  27,  34,  92, 220, 186,
!   30, 149,  23,  83, 172, 184,  70, 251,
!  135,  54, 113,  36,  46,  39,  21, 245,
!  164, 100,  14, 232,  76,  92,  41, 102,
!   86, 188,  41, 100, 183,  45, 243, 203,
!  138, 146,  29,  74, 211, 116, 242, 122,
!  156, 240,  69, 188,  87,  68, 127,  10,
!   21, 140,   6, 255, 210, 149, 107, 198,
!  173,  75, 102, 137, 230, 195, 126, 156,
!   49,  73, 157,  73,   1,  72,  67, 203,
!    2, 115, 152, 198, 238,   4, 249, 157,
!    1,  16, 249,  69, 162, 203,  49, 135,
!   68, 110, 210, 137, 182, 170, 117, 255,
!  146, 176, 250, 206,  66,  52, 175,  76,
!   61, 130,  62, 150, 218,  90, 100, 121,
!    5,  12,  11, 222, 115, 222, 165,  82,
!  157,   4, 142, 117,  57, 183,  83, 133,
!  207, 108, 182, 183, 255,  67,  14,  16,
!  132,  28, 227, 209, 213, 207, 108, 110,
!  126, 119, 189,  95,  42,  91, 227,  40,
!  150, 104, 241, 168,  82, 199, 199,  90,
!   10,   5, 211,  22,  75, 251,  71, 132,
!    7,  70, 220, 183,  17, 118, 239, 245,
!    1,  13, 235,  94,  61, 227,  54, 211,
!  216, 103, 221,  22, 205,  33, 167, 118,
!  226, 152,  80,  80, 147, 162, 178,  55,
!   83,  55,   8, 222, 174,  26, 136,   7,
!  127,  60, 155, 197,  33,   5,  45, 195,
!   44,  29, 198,  24, 224, 167,   1,  12,
!   18, 230, 253,  72,  68, 139,  16,  24,
!   94,  58, 242,   4, 122, 106,  96,  97,
!  111,  90, 185, 246, 217,  15, 227, 188,
!   36,   1,  23, 229,   6, 173,  36,   6,
!  159, 240,  64, 212, 118,  41,  96, 180,
!  235, 244, 211, 129, 156,  37,  45, 172,
!  232, 132,  74, 107, 113, 158,  97, 142,
!  171, 113, 138, 106,  18,  20,  33,  51,
!   26,  23,  95, 163,  47,  64,  88, 183,
!  241, 228, 232,  98, 204,  44, 142, 253,
!   88,  17,   8, 226, 242, 214, 146, 183,
!  184, 208, 181, 188, 106, 142, 149,  53,
!   37, 101,  58, 176, 218,  59, 240, 220,
!  208, 164,  38, 195, 232,  22, 194, 171,
!   48, 122, 230,  87, 245,  87, 229, 145,
!    3, 142, 248,  10,  30,  64, 115, 142,
!  165,   5, 169, 217,  25, 113,  41,  27,
!  255, 231,  74,  22,  67, 210, 208,  40,
!   57,  65,  35,  21, 235, 126,  53, 238,
!  190, 115,  47, 153,  40, 189, 242,  23,
!  125, 184, 104,  67, 126, 110,  74,  27,
!  192, 231, 170, 147, 169, 108,  23,  71,
!  194, 168, 255, 245,  77,  50, 196, 200,
!   86,  78,  89, 120, 184,  44, 186,  96,
!  101,  14, 231,   1, 115, 156, 183, 182,
!  158, 232, 255,  66,  20, 229,  13,  70,
!  136, 171, 193, 173,  43,  97,  79,  14,
!  129, 177,  75, 115,  48,  34,  58, 184,
!  112, 217,  28, 155,  10,  85, 113,  50,
!   25, 195,  86,   0, 108, 131, 203, 141,
!   54,  53,  43, 120, 171, 112,  56, 142,
!  221,  55, 175, 104, 149,  80, 176,  21,
!   36,  12,  13, 128,  29, 212, 139,  41,
!   17,  17,  83, 104,  77,  91, 161,  41,
!  213, 151,  68, 111, 209,  33,  47, 176,
!   98, 173,  32,  81, 116, 175, 103, 215,
!  177, 205, 105, 116, 201,  59, 109, 134,
!   74, 161, 161,  13, 145,  93, 235,  33,
!   86, 130, 250, 166,  22,  78, 220, 186,
!  241, 161,  10, 159, 239, 159, 181, 217,
!  229, 243, 116, 145, 101, 240,  26,  44,
!   61, 145, 249,  71, 162,  68, 110,  67,
!  219,  31, 143,  96, 129, 177,  97, 196,
!  113, 146, 227,  88,   7, 110,  70, 247,
!  197,  46, 162, 108, 168,  21, 156, 230,
!  135,  40,  54, 199,  36,  15,  49, 135,
!   10,   4, 171, 193,  15, 236, 166, 152,
!   57,  68, 227, 211, 114,  40,   1, 231,
!  219,  79, 224,  69,  54,  80, 125, 186,
!   75,  69, 141,  48, 116, 227,  39,   2,
!   33, 176,  17, 147,  68, 166, 106, 219,
!  110,  82, 170, 177,  31, 101,  93,  34,
!   81, 243,  96,   8,  30, 186, 160,  40,
!   81, 135,  78, 115, 131, 180,  60,  70,
!   75, 246, 184, 199, 180,  91, 243,  45,
!  113,  85,  40, 155, 195, 197, 173, 136,
!  215, 183, 253,  52, 133,   2, 188,   8,
!   78, 219,  11, 128,  99, 138, 140, 173,
!   94, 112,   3,  71, 237,  88,  52, 162,
!  244, 158,  80, 111, 213,  51,  85, 166,
!  154, 250,   3,  33, 220, 125, 165, 246,
!  126, 205,  64, 196, 120, 181, 251,  71,
!   62, 246, 190, 114, 205, 193, 238,  96,
!  181, 221, 121,  60,   2, 175,  56,  15,
!  199, 197, 249, 127, 129,  62,  70, 148,
!  112, 123, 252,  95, 233, 118,  36, 131,
!  243, 246,  61,  43, 131, 183,  90,  78,
!  237,  61, 173, 131, 182,  11, 178,  76,
!   71,  75, 109,  73, 198, 108,  99, 225,
!  174, 239, 179,  44, 225, 221,  37,  99,
!   90,  24, 138,  88,  25,   8, 104,  30,
!  251, 116, 177, 180, 100, 156, 172, 115,
!   57,  51, 178,  51, 113, 184,  77, 189,
!   57,  53, 149, 126, 245,  25, 156, 144,
!  134, 196, 239, 115,  43, 133, 212, 194,
!  255, 173,  48, 230, 242, 164, 241,  56,
!  131, 241,  58,   1, 110, 209, 179,  98,
!   81,   5,  50,  19, 241,  22, 122, 212,
!  236, 119, 207, 233, 241,  90, 120, 116,
!  233, 155,  79, 179,  79, 252, 111, 169,
!  220, 142, 193,  51, 236,  58, 248,  49,
!  103, 252, 123, 113, 139,  39, 184,  62,
!    2, 242, 102, 145,  23, 236, 174, 173,
!   90, 139, 113, 100,   8, 249,  50, 182,
!  167, 225, 227,  81,  34, 214,  56, 138,
!  143, 194, 214, 199, 222,  88,  45,  26,
!  145,  97,  74,  60, 151,  16, 132, 110,
!    9,  89,  12,  92,  88, 200, 113,  78,
!  220, 158, 210, 190, 249, 241,  35, 138,
!  135,   3, 116, 255,  39, 223,  29,  32,
!   19, 121,  11,  35,  15, 189, 107, 198,
!   81, 195,  39,  47,  41,  91,  18, 185,
!  155, 126, 207, 242, 200,   1, 139,  27,
!  221, 179, 123,  90, 178, 224, 250, 139,
!  236,  55, 116,  11,  27, 160,  14,  24,
!  113, 126, 218,  51, 252, 110, 188, 153,
!   55,   9, 200, 193, 178, 214,  96, 232,
!  235,  96,  95, 135, 102, 132, 165, 184,
!   50,  62,  97, 113,  47, 154,  96, 178,
!  117, 156, 204, 245,  81,  99,  28, 183,
!   54,   5, 247, 192, 193,  77, 104,  69,
!  249, 116, 207, 129,  98,  92, 232, 213,
!   12, 128, 140, 167,  72,  86, 111, 224,
!   94,  57, 109, 105, 215, 147,  45, 100,
!  110,  55, 248, 171, 129, 226, 202, 182,
!   22, 118, 253,  99, 232, 141,  70, 120,
!  182,  24, 138, 185,  84, 180, 103, 220,
!  121,  69,  58, 140, 239,  12, 195, 249,
!  255, 247, 184, 121, 198,  47, 116, 110,
!  227, 178,  52, 150, 243, 219, 176, 189,
!   62, 202, 114, 187,  17, 129,  97, 192,
!  249, 102, 207, 167,  59, 104, 204,  59,
!  114, 107,  23, 152, 123,  70, 253,  19,
!  137, 134, 234, 210,  96, 166,  30, 213,
!  238, 120,  50, 134,  59, 162, 126, 247,
!   61, 119,   3, 243, 255, 195, 189, 188,
!  180, 108, 230, 172, 219,  80, 191, 162,
!   85, 137,  32,  19, 239, 160,  93, 156,
!  103, 218, 149, 167,  40, 137,  73,  67,
!  170, 122,  33,  92, 196, 145, 205,  64,
!  171, 194,  91, 215,  29,  26,  46, 184,
!   63,  41, 252,  92,   3,  33, 247, 230,
!   94, 144,  23,  82, 244, 115, 107, 168,
!   32,  35,  23,  22, 218, 151,  83,   8,
!  116,  90,   7, 227,  52, 243, 150, 235,
!  117, 149, 169, 152,  57, 150,  51, 154,
!  116,   9, 176, 216,  98, 172, 239, 154,
!   20,  53, 146,  87, 233, 182, 246, 162,
!  101, 192, 152, 182, 208, 255, 183, 246,
!   32,  29, 122, 125, 159, 150, 124, 219,
!  108, 131, 213, 202,  61, 168,  81, 113,
!  149, 172, 195, 157,  52, 136, 144,   5,
!   95, 103,  74, 126, 113,   8, 243, 104,
!  254, 167,  64, 121,  16,  67, 221,  82,
!   91,  12, 229,  71, 244, 227, 125, 146,
!  199,  89, 177, 154,  80,  71, 233,  78,
!   15, 168,  94,  47,  46, 230, 221, 254,
!   27, 149,  18, 178,  72, 197, 161,  13,
!  145, 103,  49, 111,  24, 105, 218, 111,
!   28, 223, 124, 177,  57, 202, 207,  47,
!  150, 224,  95, 208, 216, 204,  53,  51,
!  218,  27, 148, 164, 232, 197,  23, 115,
!  127, 100, 172, 160, 132,   2, 148,  92,
!  182, 103,   1,  82, 153, 131, 210, 226,
!  138, 232,  23,  70,  44,  10,   8,  35,
!  185, 204, 126, 199, 140,  45,  59, 205,
!   52, 102, 214, 238,  87,  50, 162, 190,
!  158,  27, 204,   6, 209, 161, 208, 103,
!   71, 166, 119,  80,  29,  82, 133,  96,
!  123,  16, 181, 157,  99, 122, 238, 109,
!  210, 127,  32, 164, 167,  60, 152,  79,
!  182, 184,  10, 164,  39, 250, 220, 102,
!   79, 103, 173, 218, 228, 237,  16, 202,
!  150,  21, 220, 105, 151, 211, 160, 213,
!   59,  17,   0,  88, 138,  45, 236, 138,
!  166, 115, 122,  75, 236, 189,  36, 108,
!   19, 138, 219, 249,  75, 209,  50, 174,
!  190, 116,  17, 116, 239, 221,  75,  30,
!  157, 189,  98,   9,  70, 223,  46, 228,
!  156, 167,  75, 115, 109,  74, 177,   0,
!  104,  22, 240, 213, 194, 211, 157,  52,
!   73,  38, 143,  39, 250, 154, 111, 171,
!  189, 189,  22, 161, 206, 186,  69, 235,
!   95, 217,  36,  17, 206, 243,  95, 114,
!  253, 217, 210,  30, 239,  33, 208, 142,
!    3,  20, 137, 120,  86, 161, 191,  93,
!   26, 125, 135, 205, 172, 218, 191,  92,
!    3,  79, 194,  48, 122,  43,  44, 148,
!  170, 155, 113,  51,   7, 164, 217,  35,
!   73, 217,   0, 250, 148,   4, 175, 109,
!   43,  65, 226, 177, 107, 177, 157, 252,
!  213, 250,  11, 218, 205,  44, 159, 156,
!  117,  71, 101,  85, 119,  71, 214, 217,
!  238, 119, 240,  71, 232, 168,   6,  33,
!  158,  37, 243, 160, 123,  58, 150, 154,
!  233, 171, 219,  86, 130, 174,  67, 238,
!  137, 250,  46,  53, 218, 179, 214,  32,
!  249, 249, 244, 136, 141,  61, 170, 213,
!   23, 249, 170,  22, 200, 101,  97,  55,
!   50,  61,  24, 230,  19, 178,  78, 196,
!   12, 113, 199,  62, 134,  92,  54,  36,
!  156, 140, 211, 188, 101, 108, 141,  43,
!   81,  69, 229,  96, 155,  50, 204, 182,
!   98,  61, 148,  22, 197,   8, 247, 128,
!  123, 170, 223, 186, 109,  68, 100,  93,
!   87,  75, 212,  97, 158,  73,  31,  54,
!   48, 219, 242, 186,  32, 130, 185, 236,
!   41,  66,  40,  59, 238,  60,   1,  13,
!  127,  70, 133,  11, 103, 157, 193,  94,
!  234, 190, 123, 225,  77, 218,   6,  88,
!  157, 131, 228, 127, 177, 126,  52, 150,
!  212, 104, 126,  68,  76,  67, 196,  64,
!  234, 202, 132, 242,  54, 154, 248,  79,
!  154, 110, 208, 111, 184, 216,  14,  63,
!   27,  14, 200, 233, 107,  37,  17,  59,
!  125, 166, 226, 208,  13,  15,  28, 155,
!  225, 102, 113, 217, 118,  56, 150, 129,
!   64, 188, 157, 235, 197, 204,  37, 195,
!   70,  42, 170,  91, 217,  13, 163, 119,
!  224,  95, 163, 240,  51, 248,  56,  35,
!  237, 114, 100, 154,  53,  45, 124,  23,
!  133,  86, 197, 125,  85, 100, 164, 191,
!  206, 150, 127, 235,  16,  33,  93, 219,
!  129, 100,  53,  67,  82, 110,  10, 235,
!   82, 196, 157,  20,  77, 228, 101, 166,
!   98,   0, 235, 177, 126, 163, 102, 173,
!  216, 130, 221, 183, 196, 104, 224, 192,
!   32, 195, 179, 231, 223,  24,  59,  41,
!  155, 255, 154, 207, 252, 120, 143,  21,
!  107,  49, 175,   4, 105,  14, 206, 156,
!   51, 178, 158, 174, 208,  46,   9, 139,
!  239,  37, 104, 186,  41,  51,  31, 113,
!   54, 211, 231,  53,  25, 127,  37, 136,
!  136, 116,  37, 163,  71, 173,  91,  51,
!  181, 147,  74,  15, 119,  88,  25,  57,
!  253, 176, 152, 119, 143, 203, 244, 144,
!  144,  42, 249, 246, 111, 255,  20, 128,
!  178,  97, 102, 207, 221, 172,  72, 123,
!   46, 204, 123,  76, 122, 131,  14, 254,
!   35, 140,  71, 112, 164, 195,  53, 107,
!   63,  39,  92, 118, 245,  27, 164,  45,
!  161, 199, 106, 177,  95, 186, 238, 163,
!   55, 129, 144,   8,  96, 122, 179, 177,
!   97, 249, 113,   1, 205, 193,  82, 226,
!   12,   6, 253, 108, 107, 128,   1, 179,
!   20, 122,  74,  40, 212,  29, 152, 198,
!  147,  14,  90, 213,  88, 103, 101, 137,
!   21,  93, 206, 114,  54, 108, 216,  23,
!   63, 155,  18,   7,  35, 199, 244, 150,
!   93, 200, 121, 217, 147, 129,  37,  92,
!  222, 110, 119, 216,  82,   6, 183,  25,
!   19, 132, 134,  83,  21, 103,  73,  86,
!   93,  90, 199,  51, 179, 181, 105, 126,
!  248,  67, 108,  64,  93, 246, 188,  80,
!   94, 185, 142, 231,  78, 180,  62,  84,
!  177, 127, 242,  41, 149, 110, 134, 197,
!   97, 115, 123, 158, 102,  91, 241,  78,
!   22, 144, 105, 253, 127, 164,   1, 223,
!   77, 197, 157, 240, 247, 174, 200, 219,
!   96, 231,  58,  79, 183,   1,  87, 180,
!   15, 214,   9, 189, 115, 220,  91,  83,
!  151,   3,  68, 162, 152,  85, 165,   4,
!  189,  76,  51, 130,  55, 117, 202, 123,
!  251, 238,  23, 173,  27, 161, 102, 200,
!   59, 182,  85, 187,  22,   8,  86, 109,
!  253, 103, 100, 227, 136, 137, 104, 182,
!  123,  25,   9,   0, 175, 119,  83, 179,
!  155, 213,  37, 221, 222,  53, 234, 250,
!  208, 218, 152,  12, 233,  68, 152,  47,
!   51, 119,  25, 177,   6, 172, 176, 110,
!  186, 238, 113, 168,  30, 232, 100,  95,
!   77, 101,  18,  45, 207,  54, 254,  58,
!  241,  70,   2,  25,  33, 120, 229, 227,
!   74, 175, 146,  27, 164,  12, 194,  62,
!   87,  96,  97,  16, 136, 219, 143,  42,
!  255,  37,   2, 224,  22,   1, 251, 204,
!  167,  63,  76,  53, 122,  18,  66, 117,
!  236,   6, 183, 190, 106,  27, 137,  68,
!   51, 164,  77, 107,  84, 184,  24, 101,
!  202, 221,  11, 218,  16,  15,  73,  59,
!  130, 132, 158, 191,  55,  29,   0,  75,
!  250, 141, 168,  76,  89,  28,  90, 177,
!   18, 115, 131,  11, 231, 118, 160, 160,
!  198, 200, 169, 192, 193, 188, 136,  48,
!  112, 188, 242, 108, 126, 192,  54,  35,
!   41, 225, 160,  11,  38, 176, 244,  39,
!  204,  25, 132, 216, 145, 169,  15, 218,
!  183, 194, 157, 174, 189,   7,  67, 197,
!   73, 231, 167, 223, 252, 253,  72,  66,
!  208, 120, 197,  30,  59, 149,  71,  89,
!  204,  80,  92,  67, 185,  90, 251, 193,
!  138,  51, 244, 181, 114, 251,  43, 155,
!   87,  73, 181,  52, 245,  43,  79, 120,
!   90, 250,   5,  43, 220, 208, 248, 196,
!  221,  98,  59, 204, 118, 133,  95,  22,
!  217, 118,  36, 226, 233,  44, 242,  59,
!   35, 203, 170, 166, 163, 236,  46, 254,
!  119,  60,  91, 150,  44, 115, 204, 153,
!  233,  69, 137,  67, 157, 153,  90, 228,
!   24,  12, 194,  52,  47,  90, 245,  77,
!  150,  76, 128, 118, 162, 241, 105, 196,
!  190, 195, 239, 203, 156, 149,  89,  55,
!  154, 214, 163,  25, 158, 253,  20, 237,
!   99, 136, 106,  84, 129, 115, 175, 210,
!  158,  72, 239, 147, 127, 174, 172,  36,
!   96, 188,  83, 127, 242, 191,  88,  66,
!  135,  17,  84, 242, 139, 230, 202, 227,
!  240, 178, 230,  21, 111, 101, 178,  73,
!  149,  22, 140,  46,  31, 137,  77,  12,
!  207, 191, 139,  39, 189,  22,  78, 233,
!  191,  98, 123,  25,  23,  43,  24, 124,
!    4, 110, 194,  67, 182, 101,  56, 215,
!   31,  15, 162,  34, 208, 125, 161,   2,
!  191,  18, 145, 132,  68, 156, 222, 102,
!  120, 204, 191,  75,  49, 252, 223, 207,
!  129, 104, 125, 237,  82,   5,  78, 227,
!  249, 134, 181, 212,  94, 172, 184, 136,
!   71, 211, 251, 184, 206,  29,   6, 198,
!   40, 164, 190, 213,   1,  26, 150, 154,
!    9, 203,  15, 198,  44, 101,  60,  92,
!  107,  14,  48,   0, 126,  32,  34, 225,
!  244, 134,  10,  79, 235, 202,  49, 169,
!  118,  53, 128, 178, 174, 142,  94, 224,
!   72, 197, 179,   5,  10,  88,  60,  54,
!  188, 113,  70, 165,  81,  10, 146, 218,
!  173, 168,  96,  47,  76,  83,  25,  66,
!  231, 165, 123, 125, 151,  45, 200, 209,
!  157, 173, 115, 159,   4,  65, 157,   8,
!   22,  71,  72, 198, 230,   9, 235, 223,
!  101, 112, 191, 171, 118, 167,  81, 199,
!  253, 126,  48, 223, 109, 204, 172, 244,
!  186, 109, 115, 126, 215,  19,  73,   6,
!  120, 190,  99, 181, 191,  81,  44, 217,
!  129, 226,  17,  94, 178, 204,  15, 246,
!  155,  23, 148,  44,  89,  34, 243, 145,
!   62, 177,  81,  86, 151,  52,  60,  83,
!  154, 226, 169, 144, 153, 133, 100, 202,
!   58, 250, 165,  27, 194,  20, 219, 216,
!   87, 135, 103, 213, 161,  78,  66, 253,
!  107, 222,  93,  52,  72, 146, 152,  17,
!  207,  51, 233, 168, 250,  38,   0, 129,
!  100, 117, 212, 134,  82,  98,  88, 244,
!   11, 160, 204,  38,  72,  60, 206,  12,
!  190,  15, 102, 253,  49, 110, 194,  93,
!   64, 233, 122,  19, 153, 253, 200,   2,
!  252, 162, 189, 128, 148, 112,  73, 160,
!   40, 143, 100,   6,  84, 151, 149,   0,
!  223,  60, 113, 185,  75, 228, 245, 197,
!  248, 226, 138, 133, 172, 172,  46, 146,
!    7, 220,  98, 181,  23, 112, 100, 112,
!   16, 221,   3,  76, 137,  87, 100,  34,
!   50, 152, 149, 199,  54, 248,  86, 150,
!  128, 250,  14, 167, 164, 109, 111, 108,
!   14, 204,  76, 224,  80, 154,  58,  98,
!  242,  87,  93, 178,  73, 222, 223, 190,
!  251, 108,  37, 113,  85,  74,  16,   9,
!  235, 118, 251, 167,  84, 130,  20,  28,
!  248,  91,  17,  41, 153, 253, 109, 126,
!   91,  95, 172,  53, 140, 241,  19,  69,
!  222, 116,  60, 114, 107, 193,  87, 215,
!  210, 224, 135,  44, 153,   9, 117, 132,
!   80, 156, 125, 206, 104, 162,   5, 247,
!   79, 172,  95, 169, 136, 103,  38,  33,
!  141, 178,  36, 121, 196, 212, 221, 200,
!   62,  58, 226,  54, 185, 205, 233, 226,
!   61,  78, 119,  17,  14, 124, 250,  85,
!  181,  97, 150,  35,  20,  40, 110,  76,
!  193, 253, 111, 219, 156, 244, 204, 158,
!  127,   6,  51, 204, 213,  75, 207,  31,
!  188,  57,   8, 112,  19,  24,  16,  95,
!   12, 107,  21, 157,   4,  42,  75, 217,
!  140, 176,  41, 238, 194, 159, 104, 167,
!  226, 197, 252, 181, 130, 108,  79, 141,
!  219,  83, 101, 115, 239, 234,  63, 245,
!   86, 237,  17,  38,  78, 188,   9, 202,
!  200,  56,  19, 176, 165, 114,  17, 144,
!  150, 201, 150, 108, 183, 134, 166,  98,
!  156, 164,  20,  39,  64,  80, 176, 189,
!   40,  62, 219, 223,  10,  86,  47, 188,
!  108, 150, 132,  70, 230,  79, 247, 218,
!  159, 155,  80, 211,  64, 143,  28, 248,
!   76, 177,  37,  20, 254,  62,  52, 138,
!  120, 137, 176, 254, 187, 197, 144,  88,
!  144, 164,  84, 250, 108, 125,  13, 164,
!  110,   5, 113,  40, 175,  85, 183,  84,
!  248,  12,  52, 116, 197, 118,  51,  92,
!  154, 117,  85,  95, 181, 229, 161,  14,
!  164,  41, 112,  87, 167, 158, 120,  23,
!  179,   3, 214,  22, 166, 194, 187,   7,
!  184, 221, 242, 241,  48, 100, 239, 103,
!  241, 161, 160,  91,  33, 177,  10, 154,
!   63, 148, 142, 250, 120, 133,  42, 153,
!  158,  15,  56, 231,  60, 244,  72,  64,
!   77, 129, 246, 188,  51, 102, 195,  93,
!  211,  40, 136,  62,  35, 197, 212, 120,
!  162,  18, 105,  17, 175,  40,  64, 243,
!  246, 205, 228, 138,  77,   8,  16, 200,
!  166, 153, 138, 187,  31,  14, 117, 103,
!    8, 168,   4,  37, 215, 225, 124, 187,
!   79, 222, 216,  80, 214,   1, 154,  57,
!   72, 128, 103, 164, 152, 224,  32, 110,
!  239, 230, 163, 214,  60, 255,  93,  48,
!   89, 225,  31,  67,   9, 221,  86, 248,
!   10, 116, 133,  53,  93, 158, 145, 136,
!   86,  58, 197,  19,  28,  44, 245, 156,
!   53, 192, 123, 154, 168,  30, 133, 142,
!   54,  59,  97,  56,  26, 151,  83, 162,
!  128,  89, 170, 128, 130,  28,  86, 158,
!   31, 135,  43, 195, 164, 197,  51,  35,
!    9, 173, 131, 192, 192,  29,  78, 167,
!  137, 169, 236, 246, 211,  41,  33,  44,
!  161,  39,  93, 187,  89, 234, 115, 201,
!    3, 201, 221, 249,  37,  26, 182, 236,
!  172,  39, 194, 107, 137,  15, 157, 211,
!   15, 112, 169, 196,  91, 174,  81, 210,
!   44, 214,  87, 217, 246,  76, 235,  11,
!  146, 190, 130,  38, 235,  31,  66,  76,
!  249, 125,  61, 254,  27, 106,  18, 155,
!   68,  49,  39, 251,  36,  70, 115,  20,
!   60, 153,  85, 174, 153,  12, 213, 217,
!  162, 127, 121, 158, 185, 112,  92,   9,
!   49, 243,  94, 232, 247, 148, 104, 120,
!  233, 146,  87, 178,  97, 179, 134, 178,
!  136, 224, 185, 176, 253, 232, 243, 134,
!   68, 198, 237, 217, 248,  59, 135, 129,
!  255,  61,  59,  87, 193, 211, 111, 180,
!  230,  14,   9,  45, 116, 231, 252,  56,
!  210,  39, 214, 111, 123,  80,  41, 204,
!   76, 197, 100,  30, 142, 235, 244,  37,
!   25, 120,  96,  88, 237,  85, 206, 183,
!   74, 161,  84, 182, 105, 239, 161,  42,
!   10, 196, 117, 114,  91,  79, 214,  26,
!  225, 206, 167, 160, 219,  99, 228, 227,
!   32,  92, 179, 116,  72, 184, 109,  83,
!   97, 106, 152,  12, 243, 240,  41, 251,
!   35, 249, 105, 228,  53,  94,  43, 119,
!   61, 162, 192,  78,  58,  46,  84, 110,
  };
  
  int
  main() 
  {
!   long size = sizeof (random_data) / sizeof (random_data[0]);
    printf ("%d\n", random_data [size - 1]);
  }
--- 5153,5169 ----
    49,  76, 143,   0, 182, 121, 214, 121,
    41, 174, 211,  70,  54,  32, 199,  63,
   223, 139, 212,  79, 239, 117, 159,  96,
!   91, 215, 200,  18,  62,  67, 134, 179
  };
  
  int
  main() 
  {
!   long size;
!   
!   size = sizeof (random_data) / sizeof (random_data[0]);
    printf ("%d\n", random_data [size - 1]);
+ 
+   size = sizeof (random_data2) / sizeof (random_data2[0]);
+   printf ("%d\n", random_data2 [size - 1]);
  }
Index: gdb/testsuite/gdb.base/return.exp
===================================================================
RCS file: /cvs/cvsfiles/devo/gdb/testsuite/gdb.base/return.exp,v
retrieving revision 1.22
diff -c -r1.22 return.exp
*** gdb/testsuite/gdb.base/return.exp	1997/06/30 04:23:58	1.22
--- gdb/testsuite/gdb.base/return.exp	2000/04/27 22:21:04
***************
*** 79,90 ****
  	    send_gdb "y\n"
  	    exp_continue
  	}
! 	-re ".*tmp3 = func3.*$gdb_prompt $" { }
! 	-re "$gdb_prompt $" { fail "did not return (double test)" }
! 	timeout { fail "(timeout) did not return (double test)" }
      }
  
-     gdb_test "next" "printf.*" "next over call to func3"
  
      # This test is going to fail on all i*86 systems using an i*87.
      # When returning a floating point value from a function, all known
--- 79,110 ----
  	    send_gdb "y\n"
  	    exp_continue
  	}
! 	-re ".*tmp3 = func3.*$gdb_prompt $" { 
! 	    pass "return from func3"
! 	    gdb_test "next" "printf.*" "next over call to func3"
! 	}
! 	-re ".*printf.*$gdb_prompt $" {
! 	    # Note!  The `return' command may not return us to the line
! 	    # containing the call to func3; instead, it can move us directly
! 	    # to the line after that call.  On some architectures (typically
! 	    # those whose registers are too small to hold a double), doubles
! 	    # are returned like structs: the caller passes a pointer to a
! 	    # buffer in which the callee stores the value.  On such
! 	    # architectures, main might pass the address of tmp3 directly to
! 	    # func3, so func3 will, in effect, do the assignment itself.
! 	    # Thus, when we "return" from func3, there's no more code left to
! 	    # run on that line in main, and we find ourselves ready to start
! 	    # the call to printf.
! 	    pass "return from func3"
! 	}
! 	-re "$gdb_prompt $" {
! 	    fail "return from func3"
! 	}
! 	timeout { 
! 	    fail "(timeout) return from func3"
! 	}
      }
  
  
      # This test is going to fail on all i*86 systems using an i*87.
      # When returning a floating point value from a function, all known

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]