inital checkin: libpcre

This the initial commit of libpcre, the Perl Compatible Regular
Expression library (http://www.pcre.org/)

The files in the dist/ directory correspond to pcre version
8.36 and are unmodified.

  $ sha256sum pcre-8.36.tar.bz2
  ef833457de0c40e82f573e34528f43a751ff20257ad0e86d272ed5637eb845bb  pcre-8.36.tar.bz2

The top level directory contains 3 symlinks pointing into dist,
and one Android.mk file.

The code compiles, and I've tested a small program to verify that
the functionality is correct. However, no extensive testing has
been done at this point.

Bug: 17682157
Change-Id: Ie304aaf09cc37eb8920b40c3a3f7db61a0fda205
diff --git a/dist/testdata/testoutput11-32 b/dist/testdata/testoutput11-32
new file mode 100644
index 0000000..7b7b030
--- /dev/null
+++ b/dist/testdata/testoutput11-32
@@ -0,0 +1,736 @@
+/-- These are a few representative patterns whose lengths and offsets are to be 
+shown when the link size is 2. This is just a doublecheck test to ensure the 
+sizes don't go horribly wrong when something is changed. The pattern contents 
+are all themselves checked in other tests. Unicode, including property support, 
+is required for these tests. --/
+
+/((?i)b)/BM
+Memory allocation (code space): 48
+------------------------------------------------------------------
+  0   9 Bra
+  2   5 CBra 1
+  5  /i b
+  7   5 Ket
+  9   9 Ket
+ 11     End
+------------------------------------------------------------------
+
+/(?s)(.*X|^B)/BM
+Memory allocation (code space): 76
+------------------------------------------------------------------
+  0  16 Bra
+  2   7 CBra 1
+  5     AllAny*
+  7     X
+  9   5 Alt
+ 11     ^
+ 12     B
+ 14  12 Ket
+ 16  16 Ket
+ 18     End
+------------------------------------------------------------------
+
+/(?s:.*X|^B)/BM
+Memory allocation (code space): 72
+------------------------------------------------------------------
+  0  15 Bra
+  2   6 Bra
+  4     AllAny*
+  6     X
+  8   5 Alt
+ 10     ^
+ 11     B
+ 13  11 Ket
+ 15  15 Ket
+ 17     End
+------------------------------------------------------------------
+
+/^[[:alnum:]]/BM
+Memory allocation (code space): 60
+------------------------------------------------------------------
+  0  12 Bra
+  2     ^
+  3     [0-9A-Za-z]
+ 12  12 Ket
+ 14     End
+------------------------------------------------------------------
+
+/#/IxMD
+Memory allocation (code space): 20
+------------------------------------------------------------------
+  0   2 Bra
+  2   2 Ket
+  4     End
+------------------------------------------------------------------
+Capturing subpattern count = 0
+May match empty string
+Options: extended
+No first char
+No need char
+
+/a#/IxMD
+Memory allocation (code space): 28
+------------------------------------------------------------------
+  0   4 Bra
+  2     a
+  4   4 Ket
+  6     End
+------------------------------------------------------------------
+Capturing subpattern count = 0
+Options: extended
+First char = 'a'
+No need char
+
+/x?+/BM
+Memory allocation (code space): 28
+------------------------------------------------------------------
+  0   4 Bra
+  2     x?+
+  4   4 Ket
+  6     End
+------------------------------------------------------------------
+
+/x++/BM
+Memory allocation (code space): 28
+------------------------------------------------------------------
+  0   4 Bra
+  2     x++
+  4   4 Ket
+  6     End
+------------------------------------------------------------------
+
+/x{1,3}+/BM 
+Memory allocation (code space): 40
+------------------------------------------------------------------
+  0   7 Bra
+  2     x
+  4     x{0,2}+
+  7   7 Ket
+  9     End
+------------------------------------------------------------------
+
+/(x)*+/BM
+Memory allocation (code space): 52
+------------------------------------------------------------------
+  0  10 Bra
+  2     Braposzero
+  3   5 CBraPos 1
+  6     x
+  8   5 KetRpos
+ 10  10 Ket
+ 12     End
+------------------------------------------------------------------
+
+/^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/BM
+Memory allocation (code space): 220
+------------------------------------------------------------------
+  0  52 Bra
+  2     ^
+  3  47 CBra 1
+  6   5 CBra 2
+  9     a+
+ 11   5 Ket
+ 13  13 CBra 3
+ 16     [ab]+?
+ 26  13 Ket
+ 28  13 CBra 4
+ 31     [bc]+
+ 41  13 Ket
+ 43   5 CBra 5
+ 46     \w*+
+ 48   5 Ket
+ 50  47 Ket
+ 52  52 Ket
+ 54     End
+------------------------------------------------------------------
+
+|8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|BM
+Memory allocation (code space): 3296
+------------------------------------------------------------------
+  0 821 Bra
+  2     8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
+820     \b
+821 821 Ket
+823     End
+------------------------------------------------------------------
+
+|\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|BM
+Memory allocation (code space): 3256
+------------------------------------------------------------------
+  0 811 Bra
+  2     $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
+810     \b
+811 811 Ket
+813     End
+------------------------------------------------------------------
+
+/(a(?1)b)/BM
+Memory allocation (code space): 64
+------------------------------------------------------------------
+  0  13 Bra
+  2   9 CBra 1
+  5     a
+  7   2 Recurse
+  9     b
+ 11   9 Ket
+ 13  13 Ket
+ 15     End
+------------------------------------------------------------------
+
+/(a(?1)+b)/BM
+Memory allocation (code space): 80
+------------------------------------------------------------------
+  0  17 Bra
+  2  13 CBra 1
+  5     a
+  7   4 Once
+  9   2 Recurse
+ 11   4 KetRmax
+ 13     b
+ 15  13 Ket
+ 17  17 Ket
+ 19     End
+------------------------------------------------------------------
+
+/a(?P<name1>b|c)d(?P<longername2>e)/BM
+Memory allocation (code space): 186
+------------------------------------------------------------------
+  0  24 Bra
+  2     a
+  4   5 CBra 1
+  7     b
+  9   4 Alt
+ 11     c
+ 13   9 Ket
+ 15     d
+ 17   5 CBra 2
+ 20     e
+ 22   5 Ket
+ 24  24 Ket
+ 26     End
+------------------------------------------------------------------
+
+/(?:a(?P<c>c(?P<d>d)))(?P<a>a)/BM
+Memory allocation (code space): 155
+------------------------------------------------------------------
+  0  29 Bra
+  2  18 Bra
+  4     a
+  6  12 CBra 1
+  9     c
+ 11   5 CBra 2
+ 14     d
+ 16   5 Ket
+ 18  12 Ket
+ 20  18 Ket
+ 22   5 CBra 3
+ 25     a
+ 27   5 Ket
+ 29  29 Ket
+ 31     End
+------------------------------------------------------------------
+
+/(?P<a>a)...(?P=a)bbb(?P>a)d/BM
+Memory allocation (code space): 117
+------------------------------------------------------------------
+  0  24 Bra
+  2   5 CBra 1
+  5     a
+  7   5 Ket
+  9     Any
+ 10     Any
+ 11     Any
+ 12     \1
+ 14     bbb
+ 20   2 Recurse
+ 22     d
+ 24  24 Ket
+ 26     End
+------------------------------------------------------------------
+
+/abc(?C255)de(?C)f/BM
+Memory allocation (code space): 100
+------------------------------------------------------------------
+  0  22 Bra
+  2     abc
+  8     Callout 255 10 1
+ 12     de
+ 16     Callout 0 16 1
+ 20     f
+ 22  22 Ket
+ 24     End
+------------------------------------------------------------------
+
+/abcde/CBM
+Memory allocation (code space): 156
+------------------------------------------------------------------
+  0  36 Bra
+  2     Callout 255 0 1
+  6     a
+  8     Callout 255 1 1
+ 12     b
+ 14     Callout 255 2 1
+ 18     c
+ 20     Callout 255 3 1
+ 24     d
+ 26     Callout 255 4 1
+ 30     e
+ 32     Callout 255 5 0
+ 36  36 Ket
+ 38     End
+------------------------------------------------------------------
+
+/\x{100}/8BM
+Memory allocation (code space): 28
+------------------------------------------------------------------
+  0   4 Bra
+  2     \x{100}
+  4   4 Ket
+  6     End
+------------------------------------------------------------------
+
+/\x{1000}/8BM
+Memory allocation (code space): 28
+------------------------------------------------------------------
+  0   4 Bra
+  2     \x{1000}
+  4   4 Ket
+  6     End
+------------------------------------------------------------------
+
+/\x{10000}/8BM
+Memory allocation (code space): 28
+------------------------------------------------------------------
+  0   4 Bra
+  2     \x{10000}
+  4   4 Ket
+  6     End
+------------------------------------------------------------------
+
+/\x{100000}/8BM
+Memory allocation (code space): 28
+------------------------------------------------------------------
+  0   4 Bra
+  2     \x{100000}
+  4   4 Ket
+  6     End
+------------------------------------------------------------------
+
+/\x{10ffff}/8BM
+Memory allocation (code space): 28
+------------------------------------------------------------------
+  0   4 Bra
+  2     \x{10ffff}
+  4   4 Ket
+  6     End
+------------------------------------------------------------------
+
+/\x{110000}/8BM
+Failed: character value in \x{} or \o{} is too large at offset 9
+
+/[\x{ff}]/8BM
+Memory allocation (code space): 28
+------------------------------------------------------------------
+  0   4 Bra
+  2     \x{ff}
+  4   4 Ket
+  6     End
+------------------------------------------------------------------
+
+/[\x{100}]/8BM
+Memory allocation (code space): 28
+------------------------------------------------------------------
+  0   4 Bra
+  2     \x{100}
+  4   4 Ket
+  6     End
+------------------------------------------------------------------
+
+/\x80/8BM
+Memory allocation (code space): 28
+------------------------------------------------------------------
+  0   4 Bra
+  2     \x80
+  4   4 Ket
+  6     End
+------------------------------------------------------------------
+
+/\xff/8BM
+Memory allocation (code space): 28
+------------------------------------------------------------------
+  0   4 Bra
+  2     \x{ff}
+  4   4 Ket
+  6     End
+------------------------------------------------------------------
+
+/\x{0041}\x{2262}\x{0391}\x{002e}/D8M
+Memory allocation (code space): 52
+------------------------------------------------------------------
+  0  10 Bra
+  2     A\x{2262}\x{391}.
+ 10  10 Ket
+ 12     End
+------------------------------------------------------------------
+Capturing subpattern count = 0
+Options: utf
+First char = 'A'
+Need char = '.'
+    
+/\x{D55c}\x{ad6d}\x{C5B4}/D8M 
+Memory allocation (code space): 44
+------------------------------------------------------------------
+  0   8 Bra
+  2     \x{d55c}\x{ad6d}\x{c5b4}
+  8   8 Ket
+ 10     End
+------------------------------------------------------------------
+Capturing subpattern count = 0
+Options: utf
+First char = \x{d55c}
+Need char = \x{c5b4}
+
+/\x{65e5}\x{672c}\x{8a9e}/D8M
+Memory allocation (code space): 44
+------------------------------------------------------------------
+  0   8 Bra
+  2     \x{65e5}\x{672c}\x{8a9e}
+  8   8 Ket
+ 10     End
+------------------------------------------------------------------
+Capturing subpattern count = 0
+Options: utf
+First char = \x{65e5}
+Need char = \x{8a9e}
+
+/[\x{100}]/8BM
+Memory allocation (code space): 28
+------------------------------------------------------------------
+  0   4 Bra
+  2     \x{100}
+  4   4 Ket
+  6     End
+------------------------------------------------------------------
+
+/[Z\x{100}]/8BM
+Memory allocation (code space): 76
+------------------------------------------------------------------
+  0  16 Bra
+  2     [Z\x{100}]
+ 16  16 Ket
+ 18     End
+------------------------------------------------------------------
+
+/^[\x{100}\E-\Q\E\x{150}]/B8M
+Memory allocation (code space): 52
+------------------------------------------------------------------
+  0  10 Bra
+  2     ^
+  3     [\x{100}-\x{150}]
+ 10  10 Ket
+ 12     End
+------------------------------------------------------------------
+
+/^[\QĀ\E-\QŐ\E]/B8M
+Memory allocation (code space): 52
+------------------------------------------------------------------
+  0  10 Bra
+  2     ^
+  3     [\x{100}-\x{150}]
+ 10  10 Ket
+ 12     End
+------------------------------------------------------------------
+
+/^[\QĀ\E-\QŐ\E/B8M
+Failed: missing terminating ] for character class at offset 13
+
+/[\p{L}]/BM
+Memory allocation (code space): 48
+------------------------------------------------------------------
+  0   9 Bra
+  2     [\p{L}]
+  9   9 Ket
+ 11     End
+------------------------------------------------------------------
+
+/[\p{^L}]/BM
+Memory allocation (code space): 48
+------------------------------------------------------------------
+  0   9 Bra
+  2     [\P{L}]
+  9   9 Ket
+ 11     End
+------------------------------------------------------------------
+
+/[\P{L}]/BM
+Memory allocation (code space): 48
+------------------------------------------------------------------
+  0   9 Bra
+  2     [\P{L}]
+  9   9 Ket
+ 11     End
+------------------------------------------------------------------
+
+/[\P{^L}]/BM
+Memory allocation (code space): 48
+------------------------------------------------------------------
+  0   9 Bra
+  2     [\p{L}]
+  9   9 Ket
+ 11     End
+------------------------------------------------------------------
+
+/[abc\p{L}\x{0660}]/8BM
+Memory allocation (code space): 88
+------------------------------------------------------------------
+  0  19 Bra
+  2     [a-c\p{L}\x{660}]
+ 19  19 Ket
+ 21     End
+------------------------------------------------------------------
+
+/[\p{Nd}]/8BM
+Memory allocation (code space): 48
+------------------------------------------------------------------
+  0   9 Bra
+  2     [\p{Nd}]
+  9   9 Ket
+ 11     End
+------------------------------------------------------------------
+
+/[\p{Nd}+-]+/8BM
+Memory allocation (code space): 84
+------------------------------------------------------------------
+  0  18 Bra
+  2     [+\-\p{Nd}]++
+ 18  18 Ket
+ 20     End
+------------------------------------------------------------------
+
+/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8iBM
+Memory allocation (code space): 60
+------------------------------------------------------------------
+  0  12 Bra
+  2  /i A\x{391}\x{10427}\x{ff3a}\x{1fb0}
+ 12  12 Ket
+ 14     End
+------------------------------------------------------------------
+
+/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8BM
+Memory allocation (code space): 60
+------------------------------------------------------------------
+  0  12 Bra
+  2     A\x{391}\x{10427}\x{ff3a}\x{1fb0}
+ 12  12 Ket
+ 14     End
+------------------------------------------------------------------
+
+/[\x{105}-\x{109}]/8iBM
+Memory allocation (code space): 48
+------------------------------------------------------------------
+  0   9 Bra
+  2     [\x{104}-\x{109}]
+  9   9 Ket
+ 11     End
+------------------------------------------------------------------
+
+/( ( (?(1)0|) )*   )/xBM
+Memory allocation (code space): 104
+------------------------------------------------------------------
+  0  23 Bra
+  2  19 CBra 1
+  5     Brazero
+  6  13 SCBra 2
+  9   6 Cond
+ 11   1 Cond ref
+ 13     0
+ 15   2 Alt
+ 17   8 Ket
+ 19  13 KetRmax
+ 21  19 Ket
+ 23  23 Ket
+ 25     End
+------------------------------------------------------------------
+
+/(  (?(1)0|)*   )/xBM
+Memory allocation (code space): 84
+------------------------------------------------------------------
+  0  18 Bra
+  2  14 CBra 1
+  5     Brazero
+  6   6 SCond
+  8   1 Cond ref
+ 10     0
+ 12   2 Alt
+ 14   8 KetRmax
+ 16  14 Ket
+ 18  18 Ket
+ 20     End
+------------------------------------------------------------------
+
+/[a]/BM
+Memory allocation (code space): 28
+------------------------------------------------------------------
+  0   4 Bra
+  2     a
+  4   4 Ket
+  6     End
+------------------------------------------------------------------
+
+/[a]/8BM
+Memory allocation (code space): 28
+------------------------------------------------------------------
+  0   4 Bra
+  2     a
+  4   4 Ket
+  6     End
+------------------------------------------------------------------
+
+/[\xaa]/BM
+Memory allocation (code space): 28
+------------------------------------------------------------------
+  0   4 Bra
+  2     \x{aa}
+  4   4 Ket
+  6     End
+------------------------------------------------------------------
+
+/[\xaa]/8BM
+Memory allocation (code space): 28
+------------------------------------------------------------------
+  0   4 Bra
+  2     \x{aa}
+  4   4 Ket
+  6     End
+------------------------------------------------------------------
+
+/[^a]/BM
+Memory allocation (code space): 28
+------------------------------------------------------------------
+  0   4 Bra
+  2     [^a]
+  4   4 Ket
+  6     End
+------------------------------------------------------------------
+
+/[^a]/8BM
+Memory allocation (code space): 28
+------------------------------------------------------------------
+  0   4 Bra
+  2     [^a]
+  4   4 Ket
+  6     End
+------------------------------------------------------------------
+
+/[^\xaa]/BM
+Memory allocation (code space): 28
+------------------------------------------------------------------
+  0   4 Bra
+  2     [^\x{aa}]
+  4   4 Ket
+  6     End
+------------------------------------------------------------------
+
+/[^\xaa]/8BM
+Memory allocation (code space): 28
+------------------------------------------------------------------
+  0   4 Bra
+  2     [^\x{aa}]
+  4   4 Ket
+  6     End
+------------------------------------------------------------------
+
+/[^\d]/8WB
+------------------------------------------------------------------
+  0   9 Bra
+  2     [^\p{Nd}]
+  9   9 Ket
+ 11     End
+------------------------------------------------------------------
+
+/[[:^alpha:][:^cntrl:]]+/8WB
+------------------------------------------------------------------
+  0  18 Bra
+  2     [ -~\x80-\xff\P{L}]++
+ 18  18 Ket
+ 20     End
+------------------------------------------------------------------
+
+/[[:^cntrl:][:^alpha:]]+/8WB
+------------------------------------------------------------------
+  0  18 Bra
+  2     [ -~\x80-\xff\P{L}]++
+ 18  18 Ket
+ 20     End
+------------------------------------------------------------------
+
+/[[:alpha:]]+/8WB
+------------------------------------------------------------------
+  0  10 Bra
+  2     [\p{L}]++
+ 10  10 Ket
+ 12     End
+------------------------------------------------------------------
+
+/[[:^alpha:]\S]+/8WB
+------------------------------------------------------------------
+  0  13 Bra
+  2     [\P{L}\P{Xsp}]++
+ 13  13 Ket
+ 15     End
+------------------------------------------------------------------
+
+/abc(d|e)(*THEN)x(123(*THEN)4|567(b|q)(*THEN)xx)/B
+------------------------------------------------------------------
+  0  60 Bra
+  2     abc
+  8   5 CBra 1
+ 11     d
+ 13   4 Alt
+ 15     e
+ 17   9 Ket
+ 19     *THEN
+ 20     x
+ 22  12 CBra 2
+ 25     123
+ 31     *THEN
+ 32     4
+ 34  24 Alt
+ 36     567
+ 42   5 CBra 3
+ 45     b
+ 47   4 Alt
+ 49     q
+ 51   9 Ket
+ 53     *THEN
+ 54     xx
+ 58  36 Ket
+ 60  60 Ket
+ 62     End
+------------------------------------------------------------------
+
+/(((a\2)|(a*)\g<-1>))*a?/B
+------------------------------------------------------------------
+  0  39 Bra
+  2     Brazero
+  3  32 SCBra 1
+  6  27 Once
+  8  12 CBra 2
+ 11   7 CBra 3
+ 14     a
+ 16     \2
+ 18   7 Ket
+ 20  11 Alt
+ 22   5 CBra 4
+ 25     a*
+ 27   5 Ket
+ 29  22 Recurse
+ 31  23 Ket
+ 33  27 Ket
+ 35  32 KetRmax
+ 37     a?+
+ 39  39 Ket
+ 41     End
+------------------------------------------------------------------
+
+/-- End of testinput11 --/