[Mono-list] Problems with postgres.

Roberto Jimeno rjimeno2003@yahoo.com
Tue, 18 Nov 2003 17:18:58 -0800 (PST)


--0-1765753310-1069204738=:85536
Content-Type: text/plain; charset=us-ascii
Content-Id: 
Content-Disposition: inline

Hi there!

Tim, Rodrigo, Daniel, Rafael or someone willing to
help a mono/sql newbie here.

I'm using Mono 0.28 installed from an RPM file (and I
have reasons to stick to the RPM file rather than
using CVS)

I'm writing some C# code which requires to select some
information from a bunch of already-filled tables on a
postgres database.

I tried to use Mono.Data.PostgreSQL unsuccessfully as
well as Npgsql (more details on this at the bottom of
the message). Now I don't know what to do: Should I
keep on trying with either of those data providers?
Should I try to use ByteFX with postgres? Where can I
find more information about it?


Thanks in advance for helping me.



Details on the tests and failures with both data
providers:

>From http://go-mono.com/postgresql.html I copied
verbatim the examples for Mono.Data.PostgreSqlClient
and Npgsql named them
TestExample.Mono.Data.PostgreSqlClient.cs and
TestExample.Npgsql.cs respectively, and then followed
the instructions found there, in order to compile and
use the examples:

When I tried to compile the one using PostgreSqlClient
, it failed with "Cannot find type `PgConnection'"

Afterwards, I tried to compile the one using Npgsql,
which also failed, this time indicating "Use of
unassigned local variable `dbcon'" on line 15.

>From somewhere (I can't remember where, but the source
file is also attached) I copied another test example
which compiles on my system, although when I attempt
to run the .exe file using mono, it complains about an
unhandled exception ("A null value was found where an
object instance was required")


The command lines I´m using to build (or attempt to
build) the test examples are as follows:

$mcs TestExample.Mono.Data.PostgreSqlClient.cs -r
System.Data.dll -r Mono.Data.PostgreSqlClient.dll

$mcs TestExample.Npgsql.cs -r System.Data.dll -r
Npgsql.dll

$mcs OtherTestExample.cs -r System.Data.dll -r
Mono.Data.PostgreSqlClient.dll


=====
Roberto Jimeno

__________________________________
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree
--0-1765753310-1069204738=:85536
Content-Type: application/octet-stream; name="TestExample.Mono.Data.PostgreSqlClient.cs"
Content-Transfer-Encoding: base64
Content-Description: TestExample.Mono.Data.PostgreSqlClient.cs
Content-Disposition: attachment; filename="TestExample.Mono.Data.PostgreSqlClient.cs"

dXNpbmcgU3lzdGVtOwogdXNpbmcgU3lzdGVtLkRhdGE7CiB1c2luZyBNb25v
LkRhdGEuUG9zdGdyZVNxbENsaWVudDsKIAogcHVibGljIGNsYXNzIFRlc3Qg
CiB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbihzdHJpbmdbXSBhcmdz
KQogICAgewogICAgICAgc3RyaW5nIGNvbm5lY3Rpb25TdHJpbmcgPSAKICAg
ICAgICAgICJTZXJ2ZXI9bG9jYWxob3N0OyIgKwogICAgICAgICAgIkRhdGFi
YXNlPXRlc3Q7IiArCiAgICAgICAgICAiVXNlciBJRD1wb3N0Z3JlczsiICsK
ICAgICAgICAgICJQYXNzd29yZD1mdW4yZGI7IjsKICAgICAgIElEYkNvbm5l
Y3Rpb24gZGJjb247CiAgICAgICBkYmNvbiA9IG5ldyBQZ0Nvbm5lY3Rpb24o
Y29ubmVjdGlvblN0cmluZyk7CiAgICAgICBkYmNvbi5PcGVuKCk7CiAgICAg
ICBJRGJDb21tYW5kIGRiY21kID0gZGJjb24uQ3JlYXRlQ29tbWFuZCgpOwog
ICAgICAgLy8gcmVxdWlyZXMgYSB0YWJsZSB0byBiZSBjcmVhdGVkIG5hbWVk
IGVtcGxveWVlCiAgICAgICAvLyB3aXRoIGNvbHVtbnMgZmlyc3RuYW1lIGFu
ZCBsYXN0bmFtZQogICAgICAgLy8gc3VjaCBhcywKICAgICAgIC8vICAgICAg
ICBDUkVBVEUgVEFCTEUgZW1wbG95ZWUgKAogICAgICAgLy8gICAgICAgICAg
IGZpcnN0bmFtZSB2YXJjaGFyKDMyKSwKICAgICAgIC8vICAgICAgICAgICBs
YXN0bmFtZSB2YXJjaGFyKDMyKSk7CiAgICAgICBzdHJpbmcgc3FsID0gCiAg
ICAgICAgICAgIlNFTEVDVCBmaXJzdG5hbWUsIGxhc3RuYW1lIiArIAogICAg
ICAgICAgICJGUk9NIGVtcGxveWVlIjsKICAgICAgIGRiY21kLkNvbW1hbmRU
ZXh0ID0gc3FsOwogICAgICAgSURhdGFSZWFkZXIgcmVhZGVyID0gZGJjbWQu
RXhlY3V0ZVJlYWRlcigpOwogICAgICAgd2hpbGUocmVhZGVyLlJlYWQoKSkg
ewogICAgICAgICAgICBzdHJpbmcgRmlyc3ROYW1lID0gKHN0cmluZykgcmVh
ZGVyWyJmaXJzdG5hbWUiXTsKICAgICAgICAgICAgc3RyaW5nIExhc3ROYW1l
ID0gKHN0cmluZykgcmVhZGVyWyJsYXN0bmFtZSJdOwogICAgICAgICAgICBD
b25zb2xlLldyaXRlTGluZSgiTmFtZTogIiArIAogICAgICAgICAgICAgICAg
Rmlyc3ROYW1lICsgIiAiICsgTGFzdE5hbWUpOwogICAgICAgfQogICAgICAg
Ly8gY2xlYW4gdXAKICAgICAgIHJlYWRlci5DbG9zZSgpOwogICAgICAgcmVh
ZGVyID0gbnVsbDsKICAgICAgIGRiY21kLkRpc3Bvc2UoKTsKICAgICAgIGRi
Y21kID0gbnVsbDsKICAgICAgIGRiY29uLkNsb3NlKCk7CiAgICAgICBkYmNv
biA9IG51bGw7CiAgICB9CiB9Cg==

--0-1765753310-1069204738=:85536
Content-Type: application/octet-stream; name="TestExample.Npgsql.cs"
Content-Transfer-Encoding: base64
Content-Description: TestExample.Npgsql.cs
Content-Disposition: attachment; filename="TestExample.Npgsql.cs"

IHVzaW5nIFN5c3RlbTsKIHVzaW5nIFN5c3RlbS5EYXRhOwogdXNpbmcgTnBn
c3FsOwogCiBwdWJsaWMgY2xhc3MgVGVzdCAKIHsKICAgIHB1YmxpYyBzdGF0
aWMgdm9pZCBNYWluKHN0cmluZ1tdIGFyZ3MpCiAgICB7CiAgICAgICBzdHJp
bmcgY29ubmVjdGlvblN0cmluZyA9IAogICAgICAgICAgIlNlcnZlcj1sb2Nh
bGhvc3Q7IiArCiAgICAgICAgICAiRGF0YWJhc2U9dGVzdDsiICsKICAgICAg
ICAgICJVc2VyIElEPXBvc3RncmVzOyIgKwogICAgICAgICAgIlBhc3N3b3Jk
PWZ1bjJkYjsiOwogICAgICAgSURiQ29ubmVjdGlvbiBkYmNvbjsKICAgICAg
IGRiY29uLk9wZW4oKTsKICAgICAgIGRiY29uID0gbmV3IE5wZ3NxbENvbm5l
Y3Rpb24oY29ubmVjdGlvblN0cmluZyk7CiAgICAgICBJRGJDb21tYW5kIGRi
Y21kID0gZGJjb24uQ3JlYXRlQ29tbWFuZCgpOwogICAgICAgLy8gcmVxdWly
ZXMgYSB0YWJsZSB0byBiZSBjcmVhdGVkIG5hbWVkIGVtcGxveWVlCiAgICAg
ICAvLyB3aXRoIGNvbHVtbnMgZmlyc3RuYW1lIGFuZCBsYXN0bmFtZQogICAg
ICAgLy8gc3VjaCBhcywKICAgICAgIC8vICAgICAgICBDUkVBVEUgVEFCTEUg
ZW1wbG95ZWUgKAogICAgICAgLy8gICAgICAgICAgIGZpcnN0bmFtZSB2YXJj
aGFyKDMyKSwKICAgICAgIC8vICAgICAgICAgICBsYXN0bmFtZSB2YXJjaGFy
KDMyKSk7CiAgICAgICBzdHJpbmcgc3FsID0gCiAgICAgICAgICAgIlNFTEVD
VCBmaXJzdG5hbWUsIGxhc3RuYW1lICIgKwogICAgICAgICAgICJGUk9NIGVt
cGxveWVlIjsKICAgICAgIGRiY21kLkNvbW1hbmRUZXh0ID0gc3FsOwogICAg
ICAgSURhdGFSZWFkZXIgcmVhZGVyID0gZGJjbWQuRXhlY3V0ZVJlYWRlcigp
OwogICAgICAgd2hpbGUocmVhZGVyLlJlYWQoKSkgewogICAgICAgICAgICBz
dHJpbmcgRmlyc3ROYW1lID0gKHN0cmluZykgcmVhZGVyWyJmaXJzdG5hbWUi
XTsKICAgICAgICAgICAgc3RyaW5nIExhc3ROYW1lID0gKHN0cmluZykgcmVh
ZGVyWyJsYXN0bmFtZSJdOwogICAgICAgICAgICBDb25zb2xlLldyaXRlTGlu
ZSgiTmFtZTogIiArIAogICAgICAgICAgICAgICAgIEZpcnN0TmFtZSArICIg
IiArIExhc3ROYW1lKTsKICAgICAgIH0KICAgICAgIC8vIGNsZWFuIHVwCiAg
ICAgICByZWFkZXIuQ2xvc2UoKTsKICAgICAgIHJlYWRlciA9IG51bGw7CiAg
ICAgICBkYmNtZC5EaXNwb3NlKCk7CiAgICAgICBkYmNtZCA9IG51bGw7CiAg
ICAgICBkYmNvbi5DbG9zZSgpOwogICAgICAgZGJjb24gPSBudWxsOwogICAg
fQogfQo=

--0-1765753310-1069204738=:85536
Content-Type: application/octet-stream; name="OtherTestExample.cs"
Content-Transfer-Encoding: base64
Content-Description: OtherTestExample.cs
Content-Disposition: attachment; filename="OtherTestExample.cs"

dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uRGF0YTsKdXNpbmcgU3lzdGVt
LkRhdGEuU3FsQ2xpZW50OwoKbmFtZXNwYWNlIFRlc3RTeXN0ZW1EYXRhU3Fs
Q2xpZW50IHsKCgljbGFzcyBQb3N0Z3Jlc1Rlc3QgewoKCQlzdGF0aWMgdm9p
ZCBDcmVhdGVUYWJsZSAoSURiQ29ubmVjdGlvbiBjbmMpIHsKCQkJCQkJCgkJ
CUlEYkNvbW1hbmQgY3JlYXRlQ29tbWFuZCA9IGNuYy5DcmVhdGVDb21tYW5k
KCk7CgkKCQkJY3JlYXRlQ29tbWFuZC5Db21tYW5kVGV4dCA9IAoJCQkJImNy
ZWF0ZSB0YWJsZSBtb25vX3Bvc3RncmVzX3Rlc3QgKCIgKwoJCQkJImJvb2xl
YW5fdmFsdWUgYm9vbGVhbiwgIiArCgkJCQkiaW50Ml92YWx1ZSBzbWFsbGlu
dCwgIiArCgkJCQkiaW50NF92YWx1ZSBpbnRlZ2VyLCAiICsKCQkJCSJiaWdp
bnRfdmFsdWUgYmlnaW50LCAiICsKCQkJCSJmbG9hdF92YWx1ZSByZWFsLCAi
ICsKCQkJCSJkb3VibGVfdmFsdWUgZG91YmxlIHByZWNpc2lvbiwgIiArCgkJ
CQkibnVtZXJpY192YWx1ZSBudW1lcmljKDE1LCAzKSwgIiArCgkJCQkiY2hh
cl92YWx1ZSBjaGFyKDUwKSwgIiArCgkJCQkidmFyY2hhcl92YWx1ZSB2YXJj
aGFyKDIwKSwgIiArCgkJCQkidGV4dF92YWx1ZSB0ZXh0LCAiICsKCQkJCSJw
b2ludF92YWx1ZSBwb2ludCwgIiArCgkJCQkidGltZV92YWx1ZSB0aW1lLCAi
ICsKCQkJCSJkYXRlX3ZhbHVlIGRhdGUsICIgKwoJCQkJInRpbWVzdGFtcF92
YWx1ZSB0aW1lc3RhbXAsICIgKwoJCQkJIm51bGxfdmFsdWUgY2hhcigxKSAi
ICsKCQkJCSIpIjsJCQkKCQoJCQljcmVhdGVDb21tYW5kLkV4ZWN1dGVOb25R
dWVyeSAoKTsKCQl9CgoJCXN0YXRpYyB2b2lkIERyb3BUYWJsZSAoSURiQ29u
bmVjdGlvbiBjbmMpIHsKCQkJCSAKCQkJSURiQ29tbWFuZCBkcm9wQ29tbWFu
ZCA9IGNuYy5DcmVhdGVDb21tYW5kICgpOwoKCQkJZHJvcENvbW1hbmQuQ29t
bWFuZFRleHQgPQoJCQkJImRyb3AgdGFibGUgbW9ub19wb3N0Z3Jlc190ZXN0
IjsKCQkJCQkJCQoJCQlkcm9wQ29tbWFuZC5FeGVjdXRlTm9uUXVlcnkgKCk7
CgkJfQoKCQlzdGF0aWMgdm9pZCBJbnNlcnREYXRhIChJRGJDb25uZWN0aW9u
IGNuYykgewkJCgoJCQlJRGJDb21tYW5kIGluc2VydENvbW1hbmQgPSBjbmMu
Q3JlYXRlQ29tbWFuZCgpOwoJCQoJCQlpbnNlcnRDb21tYW5kLkNvbW1hbmRU
ZXh0ID0KCQkJCSJpbnNlcnQgaW50byBtb25vX3Bvc3RncmVzX3Rlc3QgKCIg
KwoJCQkJImJvb2xlYW5fdmFsdWUsICIgKwoJCQkJImludDJfdmFsdWUsICIg
KwoJCQkJImludDRfdmFsdWUsICIgKwoJCQkJImJpZ2ludF92YWx1ZSwgIiAr
CgkJCQkiZmxvYXRfdmFsdWUsICIgKwoJCQkJImRvdWJsZV92YWx1ZSwgIiAr
CgkJCQkibnVtZXJpY192YWx1ZSwgIiArCgkJCQkiY2hhcl92YWx1ZSwgIiAr
CgkJCQkidmFyY2hhcl92YWx1ZSwgIiArCgkJCQkidGV4dF92YWx1ZSwgIiAr
CgkJCQkidGltZV92YWx1ZSwgIiArCgkJCQkiZGF0ZV92YWx1ZSwgIiArCgkJ
CQkidGltZXN0YW1wX3ZhbHVlLCAiICsKCQkJCSJwb2ludF92YWx1ZSAiICsK
CQkJCSIpIHZhbHVlcyAoIiArCgkJCQkiJ1QnLCAiICsKCQkJCSItMjIsICIg
KwoJCQkJIjEwNDgwMDAsICIgKwoJCQkJIjEyMzQ1Njc4OTAxMjM0NSwgIiAr
CgkJCQkiMy4xNDE1OTIsICIgKwoJCQkJIjMuMTQxNTkyNjk2OTY5NiwgIiAr
CgkJCQkiMTIzNDU2Nzg5MDEyLjM0NSwgIiArCgkJCQkiJ1RoaXMgaXMgYSBj
aGFyJywgIiArCgkJCQkiJ1RoaXMgaXMgYSB2YXJjaGFyJywgIiArCgkJCQki
J1RoaXMgaXMgYSB0ZXh0JywgIiArCgkJCQkiJzIxOjEzOjE0JywgIiArCgkJ
CQkiJzIwMDAtMDItMjknLCAiICsKCQkJCSInMjAwNC0wMi0yOSAxNDowMDox
MS4zMScsICIgKwoJCQkJIicoMSwwKScgIiArCgkJCQkiKSI7CgoJCQlpbnNl
cnRDb21tYW5kLkV4ZWN1dGVOb25RdWVyeSAoKTsKCQl9CgoJCXN0YXRpYyBJ
RGF0YVJlYWRlciBTZWxlY3REYXRhIChJRGJDb25uZWN0aW9uIGNuYykgewoJ
CgkJCUlEYkNvbW1hbmQgc2VsZWN0Q29tbWFuZCA9IGNuYy5DcmVhdGVDb21t
YW5kKCk7CgkJCUlEYXRhUmVhZGVyIHJlYWRlcjsKCgkJCS8vIEZJWE1FOiBT
eXN0ZW0uRGF0YSBjbGFzc2VzIG5lZWQgdG8gaGFuZGxlIE5VTExzCgkJCS8v
IEZJWE1FOiBTeXN0ZW0uRGF0YSBuZWVkcyB0byBoYW5kbGUgbW9yZSBkYXRh
IHR5cGVzCgkJCS8qCgkJCXNlbGVjdENvbW1hbmQuQ29tbWFuZFRleHQgPSAK
CQkJCSJzZWxlY3QgKiAiICsKCQkJCSJmcm9tIG1vbm9fcG9zdGdyZXNfdGVz
dCI7CgkJCSovCgoJCQlzZWxlY3RDb21tYW5kLkNvbW1hbmRUZXh0ID0gCgkJ
CQkic2VsZWN0ICIgKwkJCQkKCQkJCQkiYm9vbGVhbl92YWx1ZSwgIiArCgkJ
CQkJImludDJfdmFsdWUsICIgKwoJCQkJCSJpbnQ0X3ZhbHVlLCAiICsKCQkJ
CQkiYmlnaW50X3ZhbHVlLCAiICsKCQkJCQkiZmxvYXRfdmFsdWUsICIgKwoJ
CQkJCSJkb3VibGVfdmFsdWUsICIgKwoJCQkJCSJudW1lcmljX3ZhbHVlLCAi
ICsKCQkJCQkiY2hhcl92YWx1ZSwgIiArCgkJCQkJInZhcmNoYXJfdmFsdWUs
ICIgKwoJCQkJCSJ0ZXh0X3ZhbHVlICIgKwoJCQkJImZyb20gbW9ub19wb3N0
Z3Jlc190ZXN0IjsKCgkJCXJlYWRlciA9IHNlbGVjdENvbW1hbmQuRXhlY3V0
ZVJlYWRlciAoKTsKCgkJCXJldHVybiByZWFkZXI7CgkJfQoKCQkvKiBQb3N0
Z3JlcyBwcm92aWRlciB0ZXN0cyAqLwoJCXN0YXRpYyB2b2lkIERvUG9zdGdy
ZXNUZXN0IChJRGJDb25uZWN0aW9uIGNuYykgewoKCQkJSURhdGFSZWFkZXIg
cmVhZGVyOwoKCQkJQ29uc29sZS5Xcml0ZUxpbmUgKCJcdFBvc3RncmVzIHBy
b3ZpZGVyIHNwZWNpZmljIHRlc3RzLi4uXG4iKTsKCgkJCS8qIERyb3BzIHRo
ZSBnZGFfcG9zdGdyZXNfdGVzdCB0YWJsZS4gKi8KCQkJQ29uc29sZS5Xcml0
ZUxpbmUgKCJcdFx0RHJvcCB0YWJsZTogIik7CgkJCXRyeSB7CgkJCQlEcm9w
VGFibGUgKGNuYyk7CgkJCQlDb25zb2xlLldyaXRlTGluZSAoIk9LIik7CgkJ
CX0KCQkJY2F0Y2ggKFNxbEV4Y2VwdGlvbiBlKSB7CgkJCQlDb25zb2xlLldy
aXRlTGluZSgiRXJyb3IgKGRvbid0IHdvcnJ5IGFib3V0IHRoaXMgb25lKSIp
OwoJCQl9CgkJCQoJCQl0cnkgewoJCQkJLyogQ3JlYXRlcyBhIHRhYmxlIHdp
dGggYWxsIHN1cHBvcnRlZCBkYXRhIHR5cGVzICovCgkJCQlDb25zb2xlLldy
aXRlTGluZSAoIlx0XHRDcmVhdGUgdGFibGUgd2l0aCBhbGwgc3VwcG9ydGVk
IHR5cGVzOiAiKTsKCQkJCUNyZWF0ZVRhYmxlIChjbmMpOwoJCQkJQ29uc29s
ZS5Xcml0ZUxpbmUgKCJPSyIpOwoJCQkJCgkJCQkvKiBJbnNlcnRzIHZhbHVl
cyAqLwoJCQkJQ29uc29sZS5Xcml0ZUxpbmUgKCJcdFx0SW5zZXJ0IHZhbHVl
cyBmb3IgYWxsIGtub3duIHR5cGVzOiAiKTsKCQkJCUluc2VydERhdGEgKGNu
Yyk7CgkJCQlDb25zb2xlLldyaXRlTGluZSAoIk9LIik7CgkJCQkKCQkJCS8q
IFNlbGVjdCB2YWx1ZXMgKi8KCQkJCUNvbnNvbGUuV3JpdGVMaW5lICgiXHRc
dFNlbGVjdCB2YWx1ZXMgZnJvbSB0aGUgZGF0YWJhc2U6ICIpOwoJCQkJcmVh
ZGVyID0gU2VsZWN0RGF0YSAoY25jKTsKCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gZ2V0IHRoZSBEYXRhVGFibGUgdGhhdCBob2xkcwoJ
CQkJLy8gdGhlIHNjaGVtYQoJCQkJQ29uc29sZS5Xcml0ZUxpbmUoIlx0XHRH
ZXQgU2NoZW1hLiIpOwoJCQkJRGF0YVRhYmxlIGR0ID0gcmVhZGVyLkdldFNj
aGVtYVRhYmxlKCk7CgkJCQoJCQkJLy8gbnVtYmVyIG9mIGNvbHVtbnMgaW4g
dGhlIHRhYmxlCgkJCQlDb25zb2xlLldyaXRlTGluZSgiZHQuQ29sdW1ucy5D
b3VudDogIiArCgkJCQkJZHQuQ29sdW1ucy5Db3VudCk7CgoJCQkJaW50IGM7
CgkJCQkvLyBkaXNwbGF5IHRoZSBzY2hlbWEKCQkJCWZvcihjID0gMDsgYyA8
IGR0LkNvbHVtbnMuQ291bnQ7IGMrKykgewoJCQkJCUNvbnNvbGUuV3JpdGVM
aW5lKCIqIENvbHVtbiBOYW1lOiAiICsgCgkJCQkJCWR0LkNvbHVtbnNbY10u
Q29sdW1uTmFtZSk7CgkJCQkJQ29uc29sZS5Xcml0ZUxpbmUoIiAgICAgICAg
IE1heExlbmd0aDogIiArCgkJCQkJCWR0LkNvbHVtbnNbY10uTWF4TGVuZ3Ro
KTsKCQkJCQlDb25zb2xlLldyaXRlTGluZSgiICAgICAgICAgVHlwZTogIiAr
CgkJCQkJCWR0LkNvbHVtbnNbY10uRGF0YVR5cGUpOwoJCQkJfQoKCQkJCWlu
dCBuUm93cyA9IDA7CgkJCQkvLyBSZWFkIGFuZCBkaXNwbGF5IHRoZSByb3dz
CgkJCQl3aGlsZShyZWFkZXIuUmVhZCgpKSB7CgkJCQkJQ29uc29sZS5Xcml0
ZUxpbmUgKCJSb3cgIiArIG5Sb3dzICsgIjoiKTsKCQkJCQlmb3IoYyA9IDA7
IGMgPCByZWFkZXIuRmllbGRDb3VudDsgYysrKSB7CgkJCQkJCUNvbnNvbGUu
V3JpdGVMaW5lICggICAKCQkJCQkJCSIgICAgQ29sICIgKyAKCQkJCQkJCWMg
KyAiOiAiICsgCgkJCQkJCQlkdC5Db2x1bW5zW2NdLkNvbHVtbk5hbWUgKyAK
CQkJCQkJCSIgLSAiICsKCQkJCQkJCXJlYWRlci5HZXRWYWx1ZShjKSk7CgkJ
CQkJfQoJCgkJCQkJblJvd3MrKzsKCQkJCX0KCQkJCXJlYWRlci5DbG9zZSgp
OwoJCQkJQ29uc29sZS5Xcml0ZUxpbmUgKCJSb3dzOiAiICsgblJvd3MpOwkJ
CgoJCQkJLyogQ2xlYW4gdXAgKi8KCQkJCUNvbnNvbGUuV3JpdGVMaW5lICgi
Q2xlYW4gdXAuLi4iKTsKCQkJCUNvbnNvbGUuV3JpdGVMaW5lICgiXHRcdERy
b3AgdGFibGUuLi4iKTsKCQkJCURyb3BUYWJsZSAoY25jKTsKCQkJCUNvbnNv
bGUuV3JpdGVMaW5lKCJPSyIpOwoJCQl9CgkJCWNhdGNoKEV4Y2VwdGlvbiBl
KSB7CgkJCQlDb25zb2xlLldyaXRlTGluZSgiRXhjZXB0aW9uIGNhdWdodDog
IiArIGUpOwoJCQl9CgkJfQoKCQlbU1RBVGhyZWFkXQoJCXN0YXRpYyB2b2lk
IE1haW4oc3RyaW5nW10gYXJncykKCQl7CgkJCVNxbENvbm5lY3Rpb24gY25j
ID0gbmV3IFNxbENvbm5lY3Rpb24gKCk7CgkJCXN0cmluZyBjb25uZWN0aW9u
U3RyaW5nID0gCgkJCQkiaG9zdD1sb2NhbGhvc3Q7IiArCgkJCQkiZGJuYW1l
PW1vbm90ZXN0OyIgKwoJCQkJInVzZXI9bW9ub3Rlc3Q7IiArCgkJCQkicGFz
c3dvcmQ9bW9ub3Rlc3QiOwoKCQkJY25jLkNvbm5lY3Rpb25TdHJpbmcgPSAg
Y29ubmVjdGlvblN0cmluZzsKCgkJCWNuYy5PcGVuKCk7CgkJCURvUG9zdGdy
ZXNUZXN0KGNuYyk7CgkJCWNuYy5DbG9zZSgpOwoJCX0KCX0KfQoKCgoK

--0-1765753310-1069204738=:85536--