/ Hex Artifact Content
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

Artifact 5158e1be2c878af42b60f99d963001e4cae309fc:


0000: 23 20 32 30 30 35 20 4d 61 72 20 31 36 0a 23 0a  # 2005 Mar 16.#.
0010: 23 20 54 68 65 20 61 75 74 68 6f 72 20 64 69 73  # The author dis
0020: 63 6c 61 69 6d 73 20 63 6f 70 79 72 69 67 68 74  claims copyright
0030: 20 74 6f 20 74 68 69 73 20 73 6f 75 72 63 65 20   to this source 
0040: 63 6f 64 65 2e 20 20 49 6e 20 70 6c 61 63 65 20  code.  In place 
0050: 6f 66 0a 23 20 61 20 6c 65 67 61 6c 20 6e 6f 74  of.# a legal not
0060: 69 63 65 2c 20 68 65 72 65 20 69 73 20 61 20 62  ice, here is a b
0070: 6c 65 73 73 69 6e 67 3a 0a 23 0a 23 20 20 20 20  lessing:.#.#    
0080: 4d 61 79 20 79 6f 75 20 64 6f 20 67 6f 6f 64 20  May you do good 
0090: 61 6e 64 20 6e 6f 74 20 65 76 69 6c 2e 0a 23 20  and not evil..# 
00a0: 20 20 20 4d 61 79 20 79 6f 75 20 66 69 6e 64 20     May you find 
00b0: 66 6f 72 67 69 76 65 6e 65 73 73 20 66 6f 72 20  forgiveness for 
00c0: 79 6f 75 72 73 65 6c 66 20 61 6e 64 20 66 6f 72  yourself and for
00d0: 67 69 76 65 20 6f 74 68 65 72 73 2e 0a 23 20 20  give others..#  
00e0: 20 20 4d 61 79 20 79 6f 75 20 73 68 61 72 65 20    May you share 
00f0: 66 72 65 65 6c 79 2c 20 6e 65 76 65 72 20 74 61  freely, never ta
0100: 6b 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 20 79  king more than y
0110: 6f 75 20 67 69 76 65 2e 0a 23 0a 23 2a 2a 2a 2a  ou give..#.#****
0120: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0130: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0140: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0150: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0160: 2a 2a 2a 0a 23 20 54 68 69 73 20 66 69 6c 65 20  ***.# This file 
0170: 69 6d 70 6c 65 6d 65 6e 74 73 20 72 65 67 72 65  implements regre
0180: 73 73 69 6f 6e 20 74 65 73 74 73 20 66 6f 72 20  ssion tests for 
0190: 53 51 4c 69 74 65 20 6c 69 62 72 61 72 79 2e 0a  SQLite library..
01a0: 23 0a 23 20 54 68 69 73 20 66 69 6c 65 20 69 6d  #.# This file im
01b0: 70 6c 65 6d 65 6e 74 73 20 74 65 73 74 73 20 66  plements tests f
01c0: 6f 72 20 6d 69 73 63 65 6c 6c 61 6e 6f 75 73 20  or miscellanous 
01d0: 66 65 61 74 75 72 65 73 20 74 68 61 74 20 77 65  features that we
01e0: 72 65 0a 23 20 6c 65 66 74 20 6f 75 74 20 6f 66  re.# left out of
01f0: 20 6f 74 68 65 72 20 74 65 73 74 20 66 69 6c 65   other test file
0200: 73 2e 0a 23 0a 23 20 24 49 64 3a 20 6d 69 73 63  s..#.# $Id: misc
0210: 35 2e 74 65 73 74 2c 76 20 31 2e 32 20 32 30 30  5.test,v 1.2 200
0220: 35 2f 30 34 2f 31 35 20 31 32 3a 30 34 3a 33 34  5/04/15 12:04:34
0230: 20 64 72 68 20 45 78 70 20 24 0a 0a 73 65 74 20   drh Exp $..set 
0240: 74 65 73 74 64 69 72 20 5b 66 69 6c 65 20 64 69  testdir [file di
0250: 72 6e 61 6d 65 20 24 61 72 67 76 30 5d 0a 73 6f  rname $argv0].so
0260: 75 72 63 65 20 24 74 65 73 74 64 69 72 2f 74 65  urce $testdir/te
0270: 73 74 65 72 2e 74 63 6c 0a 0a 23 20 42 75 69 6c  ster.tcl..# Buil
0280: 64 20 72 65 63 6f 72 64 73 20 75 73 69 6e 67 20  d records using 
0290: 74 68 65 20 4d 61 6b 65 52 65 63 6f 72 64 20 6f  the MakeRecord o
02a0: 70 63 6f 64 65 20 73 75 63 68 20 74 68 61 74 20  pcode such that 
02b0: 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20  the size of the 
02c0: 0a 23 20 68 65 61 64 65 72 20 69 73 20 61 74 20  .# header is at 
02d0: 74 68 65 20 74 72 61 6e 73 69 74 69 6f 6e 20 70  the transition p
02e0: 6f 69 6e 74 20 69 6e 20 74 68 65 20 73 69 7a 65  oint in the size
02f0: 20 6f 66 20 61 20 76 61 72 69 6e 74 2e 0a 23 0a   of a varint..#.
0300: 23 20 54 68 69 73 20 74 65 73 74 20 63 61 75 73  # This test caus
0310: 65 73 20 61 6e 20 61 73 73 65 72 74 69 6f 6e 20  es an assertion 
0320: 66 61 69 6c 75 72 65 20 6f 72 20 61 20 62 75 66  failure or a buf
0330: 66 65 72 20 6f 76 65 72 72 75 6e 20 69 6e 20 76  fer overrun in v
0340: 65 72 73 69 6f 6e 0a 23 20 33 2e 31 2e 35 20 61  ersion.# 3.1.5 a
0350: 6e 64 20 65 61 72 6c 69 65 72 2e 0a 23 0a 66 6f  nd earlier..#.fo
0360: 72 20 7b 73 65 74 20 69 20 31 32 30 7d 20 7b 24  r {set i 120} {$
0370: 69 3c 31 34 30 7d 20 7b 69 6e 63 72 20 69 7d 20  i<140} {incr i} 
0380: 7b 0a 20 20 64 6f 5f 74 65 73 74 20 6d 69 73 63  {.  do_test misc
0390: 35 2d 31 2e 24 69 20 7b 0a 20 20 20 20 63 61 74  5-1.$i {.    cat
03a0: 63 68 73 71 6c 20 7b 44 52 4f 50 20 54 41 42 4c  chsql {DROP TABL
03b0: 45 20 74 31 7d 0a 20 20 20 20 73 65 74 20 73 71  E t1}.    set sq
03c0: 6c 31 20 7b 43 52 45 41 54 45 20 54 41 42 4c 45  l1 {CREATE TABLE
03d0: 20 74 31 7d 0a 20 20 20 20 73 65 74 20 73 71 6c   t1}.    set sql
03e0: 32 20 7b 49 4e 53 45 52 54 20 49 4e 54 4f 20 74  2 {INSERT INTO t
03f0: 31 20 56 41 4c 55 45 53 7d 0a 20 20 20 20 73 65  1 VALUES}.    se
0400: 74 20 73 65 70 20 28 0a 20 20 20 20 66 6f 72 20  t sep (.    for 
0410: 7b 73 65 74 20 6a 20 30 7d 20 7b 24 6a 3c 24 69  {set j 0} {$j<$i
0420: 7d 20 7b 69 6e 63 72 20 6a 7d 20 7b 0a 20 20 20  } {incr j} {.   
0430: 20 20 20 61 70 70 65 6e 64 20 73 71 6c 31 20 24     append sql1 $
0440: 7b 73 65 70 7d 61 24 6a 0a 20 20 20 20 20 20 61  {sep}a$j.      a
0450: 70 70 65 6e 64 20 73 71 6c 32 20 24 7b 73 65 70  ppend sql2 ${sep
0460: 7d 24 6a 0a 20 20 20 20 20 20 73 65 74 20 73 65  }$j.      set se
0470: 70 20 2c 0a 20 20 20 20 7d 0a 20 20 20 20 61 70  p ,.    }.    ap
0480: 70 65 6e 64 20 73 71 6c 31 20 7b 29 3b 7d 0a 20  pend sql1 {);}. 
0490: 20 20 20 61 70 70 65 6e 64 20 73 71 6c 32 20 7b     append sql2 {
04a0: 29 3b 7d 0a 20 20 20 20 65 78 65 63 73 71 6c 20  );}.    execsql 
04b0: 24 73 71 6c 31 24 73 71 6c 32 0a 20 20 7d 20 7b  $sql1$sql2.  } {
04c0: 7d 0a 7d 0a 0a 23 20 4d 61 6b 65 20 73 75 72 65  }.}..# Make sure
04d0: 20 6c 61 72 67 65 20 69 6e 74 65 67 65 72 73 20   large integers 
04e0: 61 72 65 20 73 74 6f 72 65 64 20 63 6f 72 72 65  are stored corre
04f0: 63 74 6c 79 2e 0a 23 0a 64 6f 5f 74 65 73 74 20  ctly..#.do_test 
0500: 6d 69 73 63 35 2d 32 2e 31 20 7b 0a 20 20 65 78  misc5-2.1 {.  ex
0510: 65 63 73 71 6c 20 7b 0a 20 20 20 20 63 72 65 61  ecsql {.    crea
0520: 74 65 20 74 61 62 6c 65 20 74 32 28 78 20 75 6e  te table t2(x un
0530: 69 71 75 65 29 3b 0a 20 20 20 20 69 6e 73 65 72  ique);.    inser
0540: 74 20 69 6e 74 6f 20 74 32 20 76 61 6c 75 65 73  t into t2 values
0550: 28 31 29 3b 0a 20 20 20 20 69 6e 73 65 72 74 20  (1);.    insert 
0560: 6f 72 20 69 67 6e 6f 72 65 20 69 6e 74 6f 20 74  or ignore into t
0570: 32 20 73 65 6c 65 63 74 20 78 2a 32 20 66 72 6f  2 select x*2 fro
0580: 6d 20 74 32 3b 0a 20 20 20 20 69 6e 73 65 72 74  m t2;.    insert
0590: 20 6f 72 20 69 67 6e 6f 72 65 20 69 6e 74 6f 20   or ignore into 
05a0: 74 32 20 73 65 6c 65 63 74 20 78 2a 34 20 66 72  t2 select x*4 fr
05b0: 6f 6d 20 74 32 3b 0a 20 20 20 20 69 6e 73 65 72  om t2;.    inser
05c0: 74 20 6f 72 20 69 67 6e 6f 72 65 20 69 6e 74 6f  t or ignore into
05d0: 20 74 32 20 73 65 6c 65 63 74 20 78 2a 31 36 20   t2 select x*16 
05e0: 66 72 6f 6d 20 74 32 3b 0a 20 20 20 20 69 6e 73  from t2;.    ins
05f0: 65 72 74 20 6f 72 20 69 67 6e 6f 72 65 20 69 6e  ert or ignore in
0600: 74 6f 20 74 32 20 73 65 6c 65 63 74 20 78 2a 32  to t2 select x*2
0610: 35 36 20 66 72 6f 6d 20 74 32 3b 0a 20 20 20 20  56 from t2;.    
0620: 69 6e 73 65 72 74 20 6f 72 20 69 67 6e 6f 72 65  insert or ignore
0630: 20 69 6e 74 6f 20 74 32 20 73 65 6c 65 63 74 20   into t2 select 
0640: 78 2a 36 35 35 33 36 20 66 72 6f 6d 20 74 32 3b  x*65536 from t2;
0650: 0a 20 20 20 20 69 6e 73 65 72 74 20 6f 72 20 69  .    insert or i
0660: 67 6e 6f 72 65 20 69 6e 74 6f 20 74 32 20 73 65  gnore into t2 se
0670: 6c 65 63 74 20 78 2a 32 31 34 37 34 38 33 36 34  lect x*214748364
0680: 38 20 66 72 6f 6d 20 74 32 3b 0a 20 20 20 20 69  8 from t2;.    i
0690: 6e 73 65 72 74 20 6f 72 20 69 67 6e 6f 72 65 20  nsert or ignore 
06a0: 69 6e 74 6f 20 74 32 20 73 65 6c 65 63 74 20 78  into t2 select x
06b0: 2d 31 20 66 72 6f 6d 20 74 32 3b 0a 20 20 20 20  -1 from t2;.    
06c0: 69 6e 73 65 72 74 20 6f 72 20 69 67 6e 6f 72 65  insert or ignore
06d0: 20 69 6e 74 6f 20 74 32 20 73 65 6c 65 63 74 20   into t2 select 
06e0: 78 2b 31 20 66 72 6f 6d 20 74 32 3b 0a 20 20 20  x+1 from t2;.   
06f0: 20 69 6e 73 65 72 74 20 6f 72 20 69 67 6e 6f 72   insert or ignor
0700: 65 20 69 6e 74 6f 20 74 32 20 73 65 6c 65 63 74  e into t2 select
0710: 20 2d 78 20 66 72 6f 6d 20 74 32 3b 0a 20 20 20   -x from t2;.   
0720: 20 73 65 6c 65 63 74 20 63 6f 75 6e 74 28 2a 29   select count(*)
0730: 20 66 72 6f 6d 20 74 32 3b 0a 20 20 7d 0a 7d 20   from t2;.  }.} 
0740: 33 37 31 0a 64 6f 5f 74 65 73 74 20 6d 69 73 63  371.do_test misc
0750: 35 2d 32 2e 32 20 7b 0a 20 20 65 78 65 63 73 71  5-2.2 {.  execsq
0760: 6c 20 7b 0a 20 20 20 20 73 65 6c 65 63 74 20 78  l {.    select x
0770: 20 66 72 6f 6d 20 74 32 20 6f 72 64 65 72 20 62   from t2 order b
0780: 79 20 78 3b 0a 20 20 7d 0a 7d 20 5c 0a 22 2d 34  y x;.  }.} \."-4
0790: 36 31 31 36 38 36 30 31 38 34 32 37 33 38 37 39  6116860184273879
07a0: 30 35 5c 0a 2d 34 36 31 31 36 38 36 30 31 38 34  05\.-46116860184
07b0: 32 37 33 38 37 39 30 34 5c 0a 2d 34 36 31 31 36  27387904\.-46116
07c0: 38 36 30 31 38 34 32 37 33 38 37 39 30 33 5c 0a  86018427387903\.
07d0: 2d 32 33 30 35 38 34 33 30 30 39 32 31 33 36 39  -230584300921369
07e0: 33 39 35 33 5c 0a 2d 32 33 30 35 38 34 33 30 30  3953\.-230584300
07f0: 39 32 31 33 36 39 33 39 35 32 5c 0a 2d 32 33 30  9213693952\.-230
0800: 35 38 34 33 30 30 39 32 31 33 36 39 33 39 35 31  5843009213693951
0810: 5c 0a 2d 31 31 35 32 39 32 31 35 30 34 36 30 36  \.-1152921504606
0820: 38 34 36 39 37 37 5c 0a 2d 31 31 35 32 39 32 31  846977\.-1152921
0830: 35 30 34 36 30 36 38 34 36 39 37 36 5c 0a 2d 31  504606846976\.-1
0840: 31 35 32 39 32 31 35 30 34 36 30 36 38 34 36 39  1529215046068469
0850: 37 35 5c 0a 2d 35 37 36 34 36 30 37 35 32 33 30  75\.-57646075230
0860: 33 34 32 33 34 38 39 5c 0a 2d 35 37 36 34 36 30  3423489\.-576460
0870: 37 35 32 33 30 33 34 32 33 34 38 38 5c 0a 2d 35  752303423488\.-5
0880: 37 36 34 36 30 37 35 32 33 30 33 34 32 33 34 38  7646075230342348
0890: 37 5c 0a 2d 32 38 38 32 33 30 33 37 36 31 35 31  7\.-288230376151
08a0: 37 31 31 37 34 35 5c 0a 2d 32 38 38 32 33 30 33  711745\.-2882303
08b0: 37 36 31 35 31 37 31 31 37 34 34 5c 0a 2d 32 38  76151711744\.-28
08c0: 38 32 33 30 33 37 36 31 35 31 37 31 31 37 34 33  8230376151711743
08d0: 5c 0a 2d 31 34 34 31 31 35 31 38 38 30 37 35 38  \.-1441151880758
08e0: 35 35 38 37 33 5c 0a 2d 31 34 34 31 31 35 31 38  55873\.-14411518
08f0: 38 30 37 35 38 35 35 38 37 32 5c 0a 2d 31 34 34  8075855872\.-144
0900: 31 31 35 31 38 38 30 37 35 38 35 35 38 37 31 5c  115188075855871\
0910: 0a 2d 37 32 30 35 37 35 39 34 30 33 37 39 32 37  .-72057594037927
0920: 39 33 37 5c 0a 2d 37 32 30 35 37 35 39 34 30 33  937\.-7205759403
0930: 37 39 32 37 39 33 36 5c 0a 2d 37 32 30 35 37 35  7927936\.-720575
0940: 39 34 30 33 37 39 32 37 39 33 35 5c 0a 2d 33 36  94037927935\.-36
0950: 30 32 38 37 39 37 30 31 38 39 36 33 39 36 39 5c  028797018963969\
0960: 0a 2d 33 36 30 32 38 37 39 37 30 31 38 39 36 33  .-36028797018963
0970: 39 36 38 5c 0a 2d 33 36 30 32 38 37 39 37 30 31  968\.-3602879701
0980: 38 39 36 33 39 36 37 5c 0a 2d 31 38 30 31 34 33  8963967\.-180143
0990: 39 38 35 30 39 34 38 31 39 38 35 5c 0a 2d 31 38  98509481985\.-18
09a0: 30 31 34 33 39 38 35 30 39 34 38 31 39 38 34 5c  014398509481984\
09b0: 0a 2d 31 38 30 31 34 33 39 38 35 30 39 34 38 31  .-18014398509481
09c0: 39 38 33 5c 0a 2d 39 30 30 37 31 39 39 32 35 34  983\.-9007199254
09d0: 37 34 30 39 39 33 5c 0a 2d 39 30 30 37 31 39 39  740993\.-9007199
09e0: 32 35 34 37 34 30 39 39 32 5c 0a 2d 39 30 30 37  254740992\.-9007
09f0: 31 39 39 32 35 34 37 34 30 39 39 31 5c 0a 2d 34  199254740991\.-4
0a00: 35 30 33 35 39 39 36 32 37 33 37 30 34 39 37 5c  503599627370497\
0a10: 0a 2d 34 35 30 33 35 39 39 36 32 37 33 37 30 34  .-45035996273704
0a20: 39 36 5c 0a 2d 34 35 30 33 35 39 39 36 32 37 33  96\.-45035996273
0a30: 37 30 34 39 35 5c 0a 2d 32 32 35 31 37 39 39 38  70495\.-22517998
0a40: 31 33 36 38 35 32 34 39 5c 0a 2d 32 32 35 31 37  13685249\.-22517
0a50: 39 39 38 31 33 36 38 35 32 34 38 5c 0a 2d 32 32  99813685248\.-22
0a60: 35 31 37 39 39 38 31 33 36 38 35 32 34 37 5c 0a  51799813685247\.
0a70: 2d 31 31 32 35 38 39 39 39 30 36 38 34 32 36 32  -112589990684262
0a80: 35 5c 0a 2d 31 31 32 35 38 39 39 39 30 36 38 34  5\.-112589990684
0a90: 32 36 32 34 5c 0a 2d 31 31 32 35 38 39 39 39 30  2624\.-112589990
0aa0: 36 38 34 32 36 32 33 5c 0a 2d 35 36 32 39 34 39  6842623\.-562949
0ab0: 39 35 33 34 32 31 33 31 33 5c 0a 2d 35 36 32 39  953421313\.-5629
0ac0: 34 39 39 35 33 34 32 31 33 31 32 5c 0a 2d 35 36  49953421312\.-56
0ad0: 32 39 34 39 39 35 33 34 32 31 33 31 31 5c 0a 2d  2949953421311\.-
0ae0: 32 38 31 34 37 34 39 37 36 37 31 30 36 35 37 5c  281474976710657\
0af0: 0a 2d 32 38 31 34 37 34 39 37 36 37 31 30 36 35  .-28147497671065
0b00: 36 5c 0a 2d 32 38 31 34 37 34 39 37 36 37 31 30  6\.-281474976710
0b10: 36 35 35 5c 0a 2d 31 34 30 37 33 37 34 38 38 33  655\.-1407374883
0b20: 35 35 33 32 39 5c 0a 2d 31 34 30 37 33 37 34 38  55329\.-14073748
0b30: 38 33 35 35 33 32 38 5c 0a 2d 31 34 30 37 33 37  8355328\.-140737
0b40: 34 38 38 33 35 35 33 32 37 5c 0a 2d 37 30 33 36  488355327\.-7036
0b50: 38 37 34 34 31 37 37 36 36 35 5c 0a 2d 37 30 33  8744177665\.-703
0b60: 36 38 37 34 34 31 37 37 36 36 34 5c 0a 2d 37 30  68744177664\.-70
0b70: 33 36 38 37 34 34 31 37 37 36 36 33 5c 0a 2d 33  368744177663\.-3
0b80: 35 31 38 34 33 37 32 30 38 38 38 33 33 5c 0a 2d  5184372088833\.-
0b90: 33 35 31 38 34 33 37 32 30 38 38 38 33 32 5c 0a  35184372088832\.
0ba0: 2d 33 35 31 38 34 33 37 32 30 38 38 38 33 31 5c  -35184372088831\
0bb0: 0a 2d 31 37 35 39 32 31 38 36 30 34 34 34 31 37  .-17592186044417
0bc0: 5c 0a 2d 31 37 35 39 32 31 38 36 30 34 34 34 31  \.-1759218604441
0bd0: 36 5c 0a 2d 31 37 35 39 32 31 38 36 30 34 34 34  6\.-175921860444
0be0: 31 35 5c 0a 2d 38 37 39 36 30 39 33 30 32 32 32  15\.-87960930222
0bf0: 30 39 5c 0a 2d 38 37 39 36 30 39 33 30 32 32 32  09\.-87960930222
0c00: 30 38 5c 0a 2d 38 37 39 36 30 39 33 30 32 32 32  08\.-87960930222
0c10: 30 37 5c 0a 2d 34 33 39 38 30 34 36 35 31 31 31  07\.-43980465111
0c20: 30 35 5c 0a 2d 34 33 39 38 30 34 36 35 31 31 31  05\.-43980465111
0c30: 30 34 5c 0a 2d 34 33 39 38 30 34 36 35 31 31 31  04\.-43980465111
0c40: 30 33 5c 0a 2d 32 31 39 39 30 32 33 32 35 35 35  03\.-21990232555
0c50: 35 33 5c 0a 2d 32 31 39 39 30 32 33 32 35 35 35  53\.-21990232555
0c60: 35 32 5c 0a 2d 32 31 39 39 30 32 33 32 35 35 35  52\.-21990232555
0c70: 35 31 5c 0a 2d 31 30 39 39 35 31 31 36 32 37 37  51\.-10995116277
0c80: 37 37 5c 0a 2d 31 30 39 39 35 31 31 36 32 37 37  77\.-10995116277
0c90: 37 36 5c 0a 2d 31 30 39 39 35 31 31 36 32 37 37  76\.-10995116277
0ca0: 37 35 5c 0a 2d 35 34 39 37 35 35 38 31 33 38 38  75\.-54975581388
0cb0: 39 5c 0a 2d 35 34 39 37 35 35 38 31 33 38 38 38  9\.-549755813888
0cc0: 5c 0a 2d 35 34 39 37 35 35 38 31 33 38 38 37 5c  \.-549755813887\
0cd0: 0a 2d 32 37 34 38 37 37 39 30 36 39 34 35 5c 0a  .-274877906945\.
0ce0: 2d 32 37 34 38 37 37 39 30 36 39 34 34 5c 0a 2d  -274877906944\.-
0cf0: 32 37 34 38 37 37 39 30 36 39 34 33 5c 0a 2d 31  274877906943\.-1
0d00: 33 37 34 33 38 39 35 33 34 37 33 5c 0a 2d 31 33  37438953473\.-13
0d10: 37 34 33 38 39 35 33 34 37 32 5c 0a 2d 31 33 37  7438953472\.-137
0d20: 34 33 38 39 35 33 34 37 31 5c 0a 2d 36 38 37 31  438953471\.-6871
0d30: 39 34 37 36 37 33 37 5c 0a 2d 36 38 37 31 39 34  9476737\.-687194
0d40: 37 36 37 33 36 5c 0a 2d 36 38 37 31 39 34 37 36  76736\.-68719476
0d50: 37 33 35 5c 0a 2d 33 34 33 35 39 37 33 38 33 36  735\.-3435973836
0d60: 39 5c 0a 2d 33 34 33 35 39 37 33 38 33 36 38 5c  9\.-34359738368\
0d70: 0a 2d 33 34 33 35 39 37 33 38 33 36 37 5c 0a 2d  .-34359738367\.-
0d80: 31 37 31 37 39 38 36 39 31 38 35 5c 0a 2d 31 37  17179869185\.-17
0d90: 31 37 39 38 36 39 31 38 34 5c 0a 2d 31 37 31 37  179869184\.-1717
0da0: 39 38 36 39 31 38 33 5c 0a 2d 38 35 38 39 39 33  9869183\.-858993
0db0: 34 35 39 33 5c 0a 2d 38 35 38 39 39 33 34 35 39  4593\.-858993459
0dc0: 32 5c 0a 2d 38 35 38 39 39 33 34 35 39 31 5c 0a  2\.-8589934591\.
0dd0: 2d 34 32 39 34 39 36 37 32 39 37 5c 0a 2d 34 32  -4294967297\.-42
0de0: 39 34 39 36 37 32 39 36 5c 0a 2d 34 32 39 34 39  94967296\.-42949
0df0: 36 37 32 39 35 5c 0a 2d 32 31 34 37 34 38 33 36  67295\.-21474836
0e00: 34 39 5c 0a 2d 32 31 34 37 34 38 33 36 34 38 5c  49\.-2147483648\
0e10: 0a 2d 32 31 34 37 34 38 33 36 34 37 5c 0a 2d 31  .-2147483647\.-1
0e20: 30 37 33 37 34 31 38 32 35 5c 0a 2d 31 30 37 33  073741825\.-1073
0e30: 37 34 31 38 32 34 5c 0a 2d 31 30 37 33 37 34 31  741824\.-1073741
0e40: 38 32 33 5c 0a 2d 35 33 36 38 37 30 39 31 33 5c  823\.-536870913\
0e50: 0a 2d 35 33 36 38 37 30 39 31 32 5c 0a 2d 35 33  .-536870912\.-53
0e60: 36 38 37 30 39 31 31 5c 0a 2d 32 36 38 34 33 35  6870911\.-268435
0e70: 34 35 37 5c 0a 2d 32 36 38 34 33 35 34 35 36 5c  457\.-268435456\
0e80: 0a 2d 32 36 38 34 33 35 34 35 35 5c 0a 2d 31 33  .-268435455\.-13
0e90: 34 32 31 37 37 32 39 5c 0a 2d 31 33 34 32 31 37  4217729\.-134217
0ea0: 37 32 38 5c 0a 2d 31 33 34 32 31 37 37 32 37 5c  728\.-134217727\
0eb0: 0a 2d 36 37 31 30 38 38 36 35 5c 0a 2d 36 37 31  .-67108865\.-671
0ec0: 30 38 38 36 34 5c 0a 2d 36 37 31 30 38 38 36 33  08864\.-67108863
0ed0: 5c 0a 2d 33 33 35 35 34 34 33 33 5c 0a 2d 33 33  \.-33554433\.-33
0ee0: 35 35 34 34 33 32 5c 0a 2d 33 33 35 35 34 34 33  554432\.-3355443
0ef0: 31 5c 0a 2d 31 36 37 37 37 32 31 37 5c 0a 2d 31  1\.-16777217\.-1
0f00: 36 37 37 37 32 31 36 5c 0a 2d 31 36 37 37 37 32  6777216\.-167772
0f10: 31 35 5c 0a 2d 38 33 38 38 36 30 39 5c 0a 2d 38  15\.-8388609\.-8
0f20: 33 38 38 36 30 38 5c 0a 2d 38 33 38 38 36 30 37  388608\.-8388607
0f30: 5c 0a 2d 34 31 39 34 33 30 35 5c 0a 2d 34 31 39  \.-4194305\.-419
0f40: 34 33 30 34 5c 0a 2d 34 31 39 34 33 30 33 5c 0a  4304\.-4194303\.
0f50: 2d 32 30 39 37 31 35 33 5c 0a 2d 32 30 39 37 31  -2097153\.-20971
0f60: 35 32 5c 0a 2d 32 30 39 37 31 35 31 5c 0a 2d 31  52\.-2097151\.-1
0f70: 30 34 38 35 37 37 5c 0a 2d 31 30 34 38 35 37 36  048577\.-1048576
0f80: 5c 0a 2d 31 30 34 38 35 37 35 5c 0a 2d 35 32 34  \.-1048575\.-524
0f90: 32 38 39 5c 0a 2d 35 32 34 32 38 38 5c 0a 2d 35  289\.-524288\.-5
0fa0: 32 34 32 38 37 5c 0a 2d 32 36 32 31 34 35 5c 0a  24287\.-262145\.
0fb0: 2d 32 36 32 31 34 34 5c 0a 2d 32 36 32 31 34 33  -262144\.-262143
0fc0: 5c 0a 2d 31 33 31 30 37 33 5c 0a 2d 31 33 31 30  \.-131073\.-1310
0fd0: 37 32 5c 0a 2d 31 33 31 30 37 31 5c 0a 2d 36 35  72\.-131071\.-65
0fe0: 35 33 37 5c 0a 2d 36 35 35 33 36 5c 0a 2d 36 35  537\.-65536\.-65
0ff0: 35 33 35 5c 0a 2d 33 32 37 36 39 5c 0a 2d 33 32  535\.-32769\.-32
1000: 37 36 38 5c 0a 2d 33 32 37 36 37 5c 0a 2d 31 36  768\.-32767\.-16
1010: 33 38 35 5c 0a 2d 31 36 33 38 34 5c 0a 2d 31 36  385\.-16384\.-16
1020: 33 38 33 5c 0a 2d 38 31 39 33 5c 0a 2d 38 31 39  383\.-8193\.-819
1030: 32 5c 0a 2d 38 31 39 31 5c 0a 2d 34 30 39 37 5c  2\.-8191\.-4097\
1040: 0a 2d 34 30 39 36 5c 0a 2d 34 30 39 35 5c 0a 2d  .-4096\.-4095\.-
1050: 32 30 34 39 5c 0a 2d 32 30 34 38 5c 0a 2d 32 30  2049\.-2048\.-20
1060: 34 37 5c 0a 2d 31 30 32 35 5c 0a 2d 31 30 32 34  47\.-1025\.-1024
1070: 5c 0a 2d 31 30 32 33 5c 0a 2d 35 31 33 5c 0a 2d  \.-1023\.-513\.-
1080: 35 31 32 5c 0a 2d 35 31 31 5c 0a 2d 32 35 37 5c  512\.-511\.-257\
1090: 0a 2d 32 35 36 5c 0a 2d 32 35 35 5c 0a 2d 31 32  .-256\.-255\.-12
10a0: 39 5c 0a 2d 31 32 38 5c 0a 2d 31 32 37 5c 0a 2d  9\.-128\.-127\.-
10b0: 36 35 5c 0a 2d 36 34 5c 0a 2d 36 33 5c 0a 2d 33  65\.-64\.-63\.-3
10c0: 33 5c 0a 2d 33 32 5c 0a 2d 33 31 5c 0a 2d 31 37  3\.-32\.-31\.-17
10d0: 5c 0a 2d 31 36 5c 0a 2d 31 35 5c 0a 2d 39 5c 0a  \.-16\.-15\.-9\.
10e0: 2d 38 5c 0a 2d 37 5c 0a 2d 35 5c 0a 2d 34 5c 0a  -8\.-7\.-5\.-4\.
10f0: 2d 33 5c 0a 2d 32 5c 0a 2d 31 5c 0a 30 5c 0a 31  -3\.-2\.-1\.0\.1
1100: 5c 0a 32 5c 0a 33 5c 0a 34 5c 0a 35 5c 0a 37 5c  \.2\.3\.4\.5\.7\
1110: 0a 38 5c 0a 39 5c 0a 31 35 5c 0a 31 36 5c 0a 31  .8\.9\.15\.16\.1
1120: 37 5c 0a 33 31 5c 0a 33 32 5c 0a 33 33 5c 0a 36  7\.31\.32\.33\.6
1130: 33 5c 0a 36 34 5c 0a 36 35 5c 0a 31 32 37 5c 0a  3\.64\.65\.127\.
1140: 31 32 38 5c 0a 31 32 39 5c 0a 32 35 35 5c 0a 32  128\.129\.255\.2
1150: 35 36 5c 0a 32 35 37 5c 0a 35 31 31 5c 0a 35 31  56\.257\.511\.51
1160: 32 5c 0a 35 31 33 5c 0a 31 30 32 33 5c 0a 31 30  2\.513\.1023\.10
1170: 32 34 5c 0a 31 30 32 35 5c 0a 32 30 34 37 5c 0a  24\.1025\.2047\.
1180: 32 30 34 38 5c 0a 32 30 34 39 5c 0a 34 30 39 35  2048\.2049\.4095
1190: 5c 0a 34 30 39 36 5c 0a 34 30 39 37 5c 0a 38 31  \.4096\.4097\.81
11a0: 39 31 5c 0a 38 31 39 32 5c 0a 38 31 39 33 5c 0a  91\.8192\.8193\.
11b0: 31 36 33 38 33 5c 0a 31 36 33 38 34 5c 0a 31 36  16383\.16384\.16
11c0: 33 38 35 5c 0a 33 32 37 36 37 5c 0a 33 32 37 36  385\.32767\.3276
11d0: 38 5c 0a 33 32 37 36 39 5c 0a 36 35 35 33 35 5c  8\.32769\.65535\
11e0: 0a 36 35 35 33 36 5c 0a 36 35 35 33 37 5c 0a 31  .65536\.65537\.1
11f0: 33 31 30 37 31 5c 0a 31 33 31 30 37 32 5c 0a 31  31071\.131072\.1
1200: 33 31 30 37 33 5c 0a 32 36 32 31 34 33 5c 0a 32  31073\.262143\.2
1210: 36 32 31 34 34 5c 0a 32 36 32 31 34 35 5c 0a 35  62144\.262145\.5
1220: 32 34 32 38 37 5c 0a 35 32 34 32 38 38 5c 0a 35  24287\.524288\.5
1230: 32 34 32 38 39 5c 0a 31 30 34 38 35 37 35 5c 0a  24289\.1048575\.
1240: 31 30 34 38 35 37 36 5c 0a 31 30 34 38 35 37 37  1048576\.1048577
1250: 5c 0a 32 30 39 37 31 35 31 5c 0a 32 30 39 37 31  \.2097151\.20971
1260: 35 32 5c 0a 32 30 39 37 31 35 33 5c 0a 34 31 39  52\.2097153\.419
1270: 34 33 30 33 5c 0a 34 31 39 34 33 30 34 5c 0a 34  4303\.4194304\.4
1280: 31 39 34 33 30 35 5c 0a 38 33 38 38 36 30 37 5c  194305\.8388607\
1290: 0a 38 33 38 38 36 30 38 5c 0a 38 33 38 38 36 30  .8388608\.838860
12a0: 39 5c 0a 31 36 37 37 37 32 31 35 5c 0a 31 36 37  9\.16777215\.167
12b0: 37 37 32 31 36 5c 0a 31 36 37 37 37 32 31 37 5c  77216\.16777217\
12c0: 0a 33 33 35 35 34 34 33 31 5c 0a 33 33 35 35 34  .33554431\.33554
12d0: 34 33 32 5c 0a 33 33 35 35 34 34 33 33 5c 0a 36  432\.33554433\.6
12e0: 37 31 30 38 38 36 33 5c 0a 36 37 31 30 38 38 36  7108863\.6710886
12f0: 34 5c 0a 36 37 31 30 38 38 36 35 5c 0a 31 33 34  4\.67108865\.134
1300: 32 31 37 37 32 37 5c 0a 31 33 34 32 31 37 37 32  217727\.13421772
1310: 38 5c 0a 31 33 34 32 31 37 37 32 39 5c 0a 32 36  8\.134217729\.26
1320: 38 34 33 35 34 35 35 5c 0a 32 36 38 34 33 35 34  8435455\.2684354
1330: 35 36 5c 0a 32 36 38 34 33 35 34 35 37 5c 0a 35  56\.268435457\.5
1340: 33 36 38 37 30 39 31 31 5c 0a 35 33 36 38 37 30  36870911\.536870
1350: 39 31 32 5c 0a 35 33 36 38 37 30 39 31 33 5c 0a  912\.536870913\.
1360: 31 30 37 33 37 34 31 38 32 33 5c 0a 31 30 37 33  1073741823\.1073
1370: 37 34 31 38 32 34 5c 0a 31 30 37 33 37 34 31 38  741824\.10737418
1380: 32 35 5c 0a 32 31 34 37 34 38 33 36 34 37 5c 0a  25\.2147483647\.
1390: 32 31 34 37 34 38 33 36 34 38 5c 0a 32 31 34 37  2147483648\.2147
13a0: 34 38 33 36 34 39 5c 0a 34 32 39 34 39 36 37 32  483649\.42949672
13b0: 39 35 5c 0a 34 32 39 34 39 36 37 32 39 36 5c 0a  95\.4294967296\.
13c0: 34 32 39 34 39 36 37 32 39 37 5c 0a 38 35 38 39  4294967297\.8589
13d0: 39 33 34 35 39 31 5c 0a 38 35 38 39 39 33 34 35  934591\.85899345
13e0: 39 32 5c 0a 38 35 38 39 39 33 34 35 39 33 5c 0a  92\.8589934593\.
13f0: 31 37 31 37 39 38 36 39 31 38 33 5c 0a 31 37 31  17179869183\.171
1400: 37 39 38 36 39 31 38 34 5c 0a 31 37 31 37 39 38  79869184\.171798
1410: 36 39 31 38 35 5c 0a 33 34 33 35 39 37 33 38 33  69185\.343597383
1420: 36 37 5c 0a 33 34 33 35 39 37 33 38 33 36 38 5c  67\.34359738368\
1430: 0a 33 34 33 35 39 37 33 38 33 36 39 5c 0a 36 38  .34359738369\.68
1440: 37 31 39 34 37 36 37 33 35 5c 0a 36 38 37 31 39  719476735\.68719
1450: 34 37 36 37 33 36 5c 0a 36 38 37 31 39 34 37 36  476736\.68719476
1460: 37 33 37 5c 0a 31 33 37 34 33 38 39 35 33 34 37  737\.13743895347
1470: 31 5c 0a 31 33 37 34 33 38 39 35 33 34 37 32 5c  1\.137438953472\
1480: 0a 31 33 37 34 33 38 39 35 33 34 37 33 5c 0a 32  .137438953473\.2
1490: 37 34 38 37 37 39 30 36 39 34 33 5c 0a 32 37 34  74877906943\.274
14a0: 38 37 37 39 30 36 39 34 34 5c 0a 32 37 34 38 37  877906944\.27487
14b0: 37 39 30 36 39 34 35 5c 0a 35 34 39 37 35 35 38  7906945\.5497558
14c0: 31 33 38 38 37 5c 0a 35 34 39 37 35 35 38 31 33  13887\.549755813
14d0: 38 38 38 5c 0a 35 34 39 37 35 35 38 31 33 38 38  888\.54975581388
14e0: 39 5c 0a 31 30 39 39 35 31 31 36 32 37 37 37 35  9\.1099511627775
14f0: 5c 0a 31 30 39 39 35 31 31 36 32 37 37 37 36 5c  \.1099511627776\
1500: 0a 31 30 39 39 35 31 31 36 32 37 37 37 37 5c 0a  .1099511627777\.
1510: 32 31 39 39 30 32 33 32 35 35 35 35 31 5c 0a 32  2199023255551\.2
1520: 31 39 39 30 32 33 32 35 35 35 35 32 5c 0a 32 31  199023255552\.21
1530: 39 39 30 32 33 32 35 35 35 35 33 5c 0a 34 33 39  99023255553\.439
1540: 38 30 34 36 35 31 31 31 30 33 5c 0a 34 33 39 38  8046511103\.4398
1550: 30 34 36 35 31 31 31 30 34 5c 0a 34 33 39 38 30  046511104\.43980
1560: 34 36 35 31 31 31 30 35 5c 0a 38 37 39 36 30 39  46511105\.879609
1570: 33 30 32 32 32 30 37 5c 0a 38 37 39 36 30 39 33  3022207\.8796093
1580: 30 32 32 32 30 38 5c 0a 38 37 39 36 30 39 33 30  022208\.87960930
1590: 32 32 32 30 39 5c 0a 31 37 35 39 32 31 38 36 30  22209\.175921860
15a0: 34 34 34 31 35 5c 0a 31 37 35 39 32 31 38 36 30  44415\.175921860
15b0: 34 34 34 31 36 5c 0a 31 37 35 39 32 31 38 36 30  44416\.175921860
15c0: 34 34 34 31 37 5c 0a 33 35 31 38 34 33 37 32 30  44417\.351843720
15d0: 38 38 38 33 31 5c 0a 33 35 31 38 34 33 37 32 30  88831\.351843720
15e0: 38 38 38 33 32 5c 0a 33 35 31 38 34 33 37 32 30  88832\.351843720
15f0: 38 38 38 33 33 5c 0a 37 30 33 36 38 37 34 34 31  88833\.703687441
1600: 37 37 36 36 33 5c 0a 37 30 33 36 38 37 34 34 31  77663\.703687441
1610: 37 37 36 36 34 5c 0a 37 30 33 36 38 37 34 34 31  77664\.703687441
1620: 37 37 36 36 35 5c 0a 31 34 30 37 33 37 34 38 38  77665\.140737488
1630: 33 35 35 33 32 37 5c 0a 31 34 30 37 33 37 34 38  355327\.14073748
1640: 38 33 35 35 33 32 38 5c 0a 31 34 30 37 33 37 34  8355328\.1407374
1650: 38 38 33 35 35 33 32 39 5c 0a 32 38 31 34 37 34  88355329\.281474
1660: 39 37 36 37 31 30 36 35 35 5c 0a 32 38 31 34 37  976710655\.28147
1670: 34 39 37 36 37 31 30 36 35 36 5c 0a 32 38 31 34  4976710656\.2814
1680: 37 34 39 37 36 37 31 30 36 35 37 5c 0a 35 36 32  74976710657\.562
1690: 39 34 39 39 35 33 34 32 31 33 31 31 5c 0a 35 36  949953421311\.56
16a0: 32 39 34 39 39 35 33 34 32 31 33 31 32 5c 0a 35  2949953421312\.5
16b0: 36 32 39 34 39 39 35 33 34 32 31 33 31 33 5c 0a  62949953421313\.
16c0: 31 31 32 35 38 39 39 39 30 36 38 34 32 36 32 33  1125899906842623
16d0: 5c 0a 31 31 32 35 38 39 39 39 30 36 38 34 32 36  \.11258999068426
16e0: 32 34 5c 0a 31 31 32 35 38 39 39 39 30 36 38 34  24\.112589990684
16f0: 32 36 32 35 5c 0a 32 32 35 31 37 39 39 38 31 33  2625\.2251799813
1700: 36 38 35 32 34 37 5c 0a 32 32 35 31 37 39 39 38  685247\.22517998
1710: 31 33 36 38 35 32 34 38 5c 0a 32 32 35 31 37 39  13685248\.225179
1720: 39 38 31 33 36 38 35 32 34 39 5c 0a 34 35 30 33  9813685249\.4503
1730: 35 39 39 36 32 37 33 37 30 34 39 35 5c 0a 34 35  599627370495\.45
1740: 30 33 35 39 39 36 32 37 33 37 30 34 39 36 5c 0a  03599627370496\.
1750: 34 35 30 33 35 39 39 36 32 37 33 37 30 34 39 37  4503599627370497
1760: 5c 0a 39 30 30 37 31 39 39 32 35 34 37 34 30 39  \.90071992547409
1770: 39 31 5c 0a 39 30 30 37 31 39 39 32 35 34 37 34  91\.900719925474
1780: 30 39 39 32 5c 0a 39 30 30 37 31 39 39 32 35 34  0992\.9007199254
1790: 37 34 30 39 39 33 5c 0a 31 38 30 31 34 33 39 38  740993\.18014398
17a0: 35 30 39 34 38 31 39 38 33 5c 0a 31 38 30 31 34  509481983\.18014
17b0: 33 39 38 35 30 39 34 38 31 39 38 34 5c 0a 31 38  398509481984\.18
17c0: 30 31 34 33 39 38 35 30 39 34 38 31 39 38 35 5c  014398509481985\
17d0: 0a 33 36 30 32 38 37 39 37 30 31 38 39 36 33 39  .360287970189639
17e0: 36 37 5c 0a 33 36 30 32 38 37 39 37 30 31 38 39  67\.360287970189
17f0: 36 33 39 36 38 5c 0a 33 36 30 32 38 37 39 37 30  63968\.360287970
1800: 31 38 39 36 33 39 36 39 5c 0a 37 32 30 35 37 35  18963969\.720575
1810: 39 34 30 33 37 39 32 37 39 33 35 5c 0a 37 32 30  94037927935\.720
1820: 35 37 35 39 34 30 33 37 39 32 37 39 33 36 5c 0a  57594037927936\.
1830: 37 32 30 35 37 35 39 34 30 33 37 39 32 37 39 33  7205759403792793
1840: 37 5c 0a 31 34 34 31 31 35 31 38 38 30 37 35 38  7\.1441151880758
1850: 35 35 38 37 31 5c 0a 31 34 34 31 31 35 31 38 38  55871\.144115188
1860: 30 37 35 38 35 35 38 37 32 5c 0a 31 34 34 31 31  075855872\.14411
1870: 35 31 38 38 30 37 35 38 35 35 38 37 33 5c 0a 32  5188075855873\.2
1880: 38 38 32 33 30 33 37 36 31 35 31 37 31 31 37 34  8823037615171174
1890: 33 5c 0a 32 38 38 32 33 30 33 37 36 31 35 31 37  3\.2882303761517
18a0: 31 31 37 34 34 5c 0a 32 38 38 32 33 30 33 37 36  11744\.288230376
18b0: 31 35 31 37 31 31 37 34 35 5c 0a 35 37 36 34 36  151711745\.57646
18c0: 30 37 35 32 33 30 33 34 32 33 34 38 37 5c 0a 35  0752303423487\.5
18d0: 37 36 34 36 30 37 35 32 33 30 33 34 32 33 34 38  7646075230342348
18e0: 38 5c 0a 35 37 36 34 36 30 37 35 32 33 30 33 34  8\.5764607523034
18f0: 32 33 34 38 39 5c 0a 31 31 35 32 39 32 31 35 30  23489\.115292150
1900: 34 36 30 36 38 34 36 39 37 35 5c 0a 31 31 35 32  4606846975\.1152
1910: 39 32 31 35 30 34 36 30 36 38 34 36 39 37 36 5c  921504606846976\
1920: 0a 31 31 35 32 39 32 31 35 30 34 36 30 36 38 34  .115292150460684
1930: 36 39 37 37 5c 0a 32 33 30 35 38 34 33 30 30 39  6977\.2305843009
1940: 32 31 33 36 39 33 39 35 31 5c 0a 32 33 30 35 38  213693951\.23058
1950: 34 33 30 30 39 32 31 33 36 39 33 39 35 32 5c 0a  43009213693952\.
1960: 32 33 30 35 38 34 33 30 30 39 32 31 33 36 39 33  2305843009213693
1970: 39 35 33 5c 0a 34 36 31 31 36 38 36 30 31 38 34  953\.46116860184
1980: 32 37 33 38 37 39 30 33 5c 0a 34 36 31 31 36 38  27387903\.461168
1990: 36 30 31 38 34 32 37 33 38 37 39 30 34 5c 0a 34  6018427387904\.4
19a0: 36 31 31 36 38 36 30 31 38 34 32 37 33 38 37 39  6116860184273879
19b0: 30 35 22 0a 0a 0a 0a 66 69 6e 69 73 68 5f 74 65  05"....finish_te
19c0: 73 74 0a                                         st.