delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2004/10/19/18:43:18

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Date: Tue, 19 Oct 2004 18:42:53 -0400 (EDT)
From: denny joel <jdenny AT hubcap DOT clemson DOT edu>
To: cygwin AT cygwin DOT com
Subject: snapshot 2004-Oct-10: pthread_cancel() for write() to full pipe
Message-ID: <Pine.SOL.4.43.0410191512070.24760-200000@hubcap.clemson.edu>
MIME-Version: 1.0
X-Scanned-By: hubcap MIMEDefang 2.45

---559023410-851401618-1098224469=:18274
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine DOT SOL DOT 4 DOT 43 DOT 0410191824361 DOT 18274 AT hubcap DOT clemson DOT edu>

Using cygwin 1.5.11-1 or snapshot 2004-Oct-10 on XP Pro SP2, a thread
blocked at a write() to a full pipe does not appear cancellable with
pthread_cancel().  "cygcheck.out" is attached.

I'm guessing that POSIX specifies that write() is supposed to be a
cancellation point, but I do not have a copy of the spec (any pointers
would be appreciated).  I'm guessing this based on (1) the man pages in
Solaris ('man cancellation'), and (2) the fact that it works as I expect
on the Solaris 9 and Redhat 9.0 systems I've tried.  My test code appears
at the end of this e-mail.

Searching with google and searching the cygwin mailing list with keywords
like "pthread_cancel", "thread cancellation", etc., I was unable to find
much relevant information. I did find some old messages claiming that
pthreads were not yet fully implemented in cygwin.  If pthread_cancel() is
known to be incomplete or if this is a known bug, then I'd appreciate a
pointer to the relevant information, and I apologize for the repeat.

If I can be of any assistance in resolving this issue, please let me know.
However, I'm not yet intelligent enough about cygwin to try a patch.

Joel Denny

#include <stdlib.h>
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>

int aFd[2];

/* Set this large enough to fill the pipe on your system. */
#define I_PIPE_FILL 90000

void * foo( void * dummy ) {

  int i_byte;

  /* Use _DISABLE instead to prove that the thread does block on write. */
  pthread_setcancelstate( PTHREAD_CANCEL_ENABLE, NULL );

  printf( "thread is alive\n" );
  fflush( stdout );

  for ( i_byte = 0; i_byte < I_PIPE_FILL; ++i_byte ) {
    write( aFd[1], "0", 1 );
  }

  return NULL;

}

int main() {

  pthread_t thread;
  char a_buf[1];

  pipe( aFd ) ) {
  pthread_create( &thread, NULL, foo, NULL );

  /* Wait until thread has enabled/disabled cancellation. */
  read( aFd[0], a_buf, 1 );

  printf( "Thread created.\n" );
  fflush( stdout );

  /* Will not cancel write() on full pipe in cygwin. */
  pthread_cancel( thread );
  printf( "Thread canceled.\n" );
  fflush( stdout );

  /* Deadlocks here if thread  not cancelled. */
  pthread_join( thread, NULL );
  printf( "Thread joined.\n" );
  fflush( stdout );

  return 0;

}

---559023410-851401618-1098224469=:18274
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="cygcheck.out"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine DOT SOL DOT 4 DOT 43 DOT 0410191821090 DOT 18274 AT hubcap DOT clemson DOT edu>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME="cygcheck.out"

DQ0KQ3lnd2luIENvbmZpZ3VyYXRpb24gRGlhZ25vc3RpY3MNDQpDdXJyZW50
IFN5c3RlbSBUaW1lOiBUdWUgT2N0IDE5IDE3OjUwOjUzIDIwMDQNDQoNDQpX
aW5kb3dzIFhQIFByb2Zlc3Npb25hbCBWZXIgNS4xIEJ1aWxkIDI2MDAgU2Vy
dmljZSBQYWNrIDINDQoNDQpQYXRoOglDOlxjeWd3aW5cdXNyXGxvY2FsXGJp
bg0NCglDOlxjeWd3aW5cYmluDQ0KCUM6XGN5Z3dpblxiaW4NDQoJQzpcY3ln
d2luXHVzclxYMTFSNlxiaW4NDQoJYzpcV0lORE9XU1xzeXN0ZW0zMg0NCglj
OlxXSU5ET1dTDQ0KCWM6XFdJTkRPV1NcU3lzdGVtMzJcV2JlbQ0NCgljOlxQ
cm9ncmFtIEZpbGVzXFBDLURvY3RvciBmb3IgV2luZG93c1xzZXJ2aWNlcw0N
CgljOlxQcm9ncmFtIEZpbGVzXEFUSSBUZWNobm9sb2dpZXNcQVRJIENvbnRy
b2wgUGFuZWwNDQoJYzpcUHJvZ3JhbSBGaWxlc1xTU0ggQ29tbXVuaWNhdGlv
bnMgU2VjdXJpdHlcU1NIIFNlY3VyZSBTaGVsbA0NCg0NCk91dHB1dCBmcm9t
IEM6XGN5Z3dpblxiaW5caWQuZXhlIChub250c2VjKQ0NClVJRDogKioqKigq
KioqKioqKioqKiopIEdJRDogKioqKE5vbmUpDQ0KNTEzKE5vbmUpDQ0KDQ0K
T3V0cHV0IGZyb20gQzpcY3lnd2luXGJpblxpZC5leGUgKG50c2VjKQ0NClVJ
RDogKioqKigqKioqKioqKioqKiopIEdJRDogKioqKE5vbmUpDQ0KMChyb290
KSAgICAgICAgICAgICAgICAgKioqKE5vbmUpDQ0KNTQ0KEFkbWluaXN0cmF0
b3JzKSAgICAgKioqKFVzZXJzKQ0NCjEwMTQoRGVidWdnZXIgVXNlcnMpDQ0K
DQ0KU3lzRGlyOiBDOlxXSU5ET1dTXHN5c3RlbTMyDQ0KV2luRGlyOiBDOlxX
SU5ET1dTDQ0KDQ0KSE9NRSA9IGAlVVNFUlBST0ZJTEUlJw0NCk1BS0VfTU9E
RSA9IGB1bml4Jw0NClBXRCA9IGAvdXNyL2Jpbi8lVVNFUlBST0ZJTEUlJw0N
ClVTRVIgPSBgKioqKioqKioqKioqJw0NCg0NCkFMTFVTRVJTUFJPRklMRSA9
IGBDOlxEb2N1bWVudHMgYW5kIFNldHRpbmdzXEFsbCBVc2VycycNDQpBUFBE
QVRBID0gYEM6XERvY3VtZW50cyBhbmQgU2V0dGluZ3NcKioqKioqKioqKioq
XEFwcGxpY2F0aW9uIERhdGEnDQ0KQ09NTU9OUFJPR1JBTUZJTEVTID0gYEM6
XFByb2dyYW0gRmlsZXNcQ29tbW9uIEZpbGVzJw0NCkNPTVBVVEVSTkFNRSA9
IGAqKioqKioqKionDQ0KQ09NU1BFQyA9IGBDOlxXSU5ET1dTXHN5c3RlbTMy
XGNtZC5leGUnDQ0KQ1ZTX1JTSCA9IGAvYmluL3NzaCcNDQpGUF9OT19IT1NU
X0NIRUNLID0gYE5PJw0NCkhPTUVEUklWRSA9IGBDOicNDQpIT01FUEFUSCA9
IGBcRG9jdW1lbnRzIGFuZCBTZXR0aW5nc1wqKioqKioqKioqKionDQ0KSE9T
VE5BTUUgPSBgKioqKioqKioqJw0NCklORk9QQVRIID0gYC91c3IvbG9jYWwv
aW5mbzovdXNyL2luZm86L3Vzci9zaGFyZS9pbmZvOi91c3IvYXV0b3Rvb2wv
ZGV2ZWwvaW5mbzovdXNyL2F1dG90b29sL3N0YWJsZS9pbmZvOicNDQpMT0dP
TlNFUlZFUiA9IGBcXCoqKioqKioqKicNDQpNQU5QQVRIID0gYC91c3IvbG9j
YWwvbWFuOi91c3IvbWFuOi91c3Ivc2hhcmUvbWFuOi91c3IvYXV0b3Rvb2wv
ZGV2ZWwvbWFuOjovdXNyL3NzbC9tYW4nDQ0KTlVNQkVSX09GX1BST0NFU1NP
UlMgPSBgMScNDQpPTERQV0QgPSBgL3Vzci9iaW4nDQ0KT1MgPSBgV2luZG93
c19OVCcNDQpQQVRIRVhUID0gYC5DT007LkVYRTsuQkFUOy5DTUQ7LlZCUzsu
VkJFOy5KUzsuSlNFOy5XU0Y7LldTSCcNDQpQUklOVEVSID0gYGx3dGVjJw0N
ClBST0NFU1NPUl9BUkNISVRFQ1RVUkUgPSBgeDg2Jw0NClBST0NFU1NPUl9J
REVOVElGSUVSID0gYHg4NiBGYW1pbHkgMTUgTW9kZWwgMiBTdGVwcGluZyA3
LCBHZW51aW5lSW50ZWwnDQ0KUFJPQ0VTU09SX0xFVkVMID0gYDE1Jw0NClBS
T0NFU1NPUl9SRVZJU0lPTiA9IGAwMjA3Jw0NClBST0dSQU1GSUxFUyA9IGBD
OlxQcm9ncmFtIEZpbGVzJw0NClBST01QVCA9IGAkUCRHJw0NClBTMSA9IGBc
W1wwMzNdMDtcd1wwMDcNDQpcMDMzWzMybVxdXHVAXGggXFtcMDMzWzMzbVx3
XDAzM1swbVxdDQ0KJCAnDQ0KU0VTU0lPTk5BTUUgPSBgQ29uc29sZScNDQpT
SExWTCA9IGAxJw0NClNZU1RFTURSSVZFID0gYEM6Jw0NClNZU1RFTVJPT1Qg
PSBgQzpcV0lORE9XUycNDQpURU1QID0gYEM6XERPQ1VNRX4xXCoqKioqKioq
XExPQ0FMU34xXFRlbXAnDQ0KVEVSTSA9IGBjeWd3aW4nDQ0KVE1QID0gYEM6
XERPQ1VNRX4xXCoqKioqKioqXExPQ0FMU34xXFRlbXAnDQ0KVVNFUkRPTUFJ
TiA9IGAqKioqKioqKionDQ0KVVNFUk5BTUUgPSBgKioqKioqKioqKioqJw0N
ClVTRVJQUk9GSUxFID0gYEM6XERvY3VtZW50cyBhbmQgU2V0dGluZ3NcKioq
KioqKioqKioqJw0NCldJTkRJUiA9IGBDOlxXSU5ET1dTJw0NCl8gPSBgL3Vz
ci9iaW4vY3lnY2hlY2snDQ0KUE9TSVhMWV9DT1JSRUNUID0gYDEnDQ0KDQ0K
SEtFWV9DVVJSRU5UX1VTRVJcU29mdHdhcmVcQ3lnbnVzIFNvbHV0aW9ucw0N
CkhLRVlfQ1VSUkVOVF9VU0VSXFNvZnR3YXJlXEN5Z251cyBTb2x1dGlvbnNc
Q3lnd2luDQ0KSEtFWV9DVVJSRU5UX1VTRVJcU29mdHdhcmVcQ3lnbnVzIFNv
bHV0aW9uc1xDeWd3aW5cbW91bnRzIHYyDQ0KSEtFWV9DVVJSRU5UX1VTRVJc
U29mdHdhcmVcQ3lnbnVzIFNvbHV0aW9uc1xDeWd3aW5cUHJvZ3JhbSBPcHRp
b25zDQ0KSEtFWV9MT0NBTF9NQUNISU5FXFNPRlRXQVJFXEN5Z251cyBTb2x1
dGlvbnMNDQpIS0VZX0xPQ0FMX01BQ0hJTkVcU09GVFdBUkVcQ3lnbnVzIFNv
bHV0aW9uc1xDeWd3aW4NDQpIS0VZX0xPQ0FMX01BQ0hJTkVcU09GVFdBUkVc
Q3lnbnVzIFNvbHV0aW9uc1xDeWd3aW5cbW91bnRzIHYyDQ0KICAoZGVmYXVs
dCkgPSBgL2N5Z2RyaXZlJw0NCiAgY3lnZHJpdmUgZmxhZ3MgPSAweDAwMDAw
MDIyDQ0KSEtFWV9MT0NBTF9NQUNISU5FXFNPRlRXQVJFXEN5Z251cyBTb2x1
dGlvbnNcQ3lnd2luXG1vdW50cyB2MlwvDQ0KICAoZGVmYXVsdCkgPSBgQzpc
Y3lnd2luJw0NCiAgZmxhZ3MgPSAweDAwMDAwMDBhDQ0KSEtFWV9MT0NBTF9N
QUNISU5FXFNPRlRXQVJFXEN5Z251cyBTb2x1dGlvbnNcQ3lnd2luXG1vdW50
cyB2MlwvdXNyL2Jpbg0NCiAgKGRlZmF1bHQpID0gYEM6XGN5Z3dpbi9iaW4n
DQ0KICBmbGFncyA9IDB4MDAwMDAwMGENDQpIS0VZX0xPQ0FMX01BQ0hJTkVc
U09GVFdBUkVcQ3lnbnVzIFNvbHV0aW9uc1xDeWd3aW5cbW91bnRzIHYyXC91
c3IvbGliDQ0KICAoZGVmYXVsdCkgPSBgQzpcY3lnd2luL2xpYicNDQogIGZs
YWdzID0gMHgwMDAwMDAwYQ0NCkhLRVlfTE9DQUxfTUFDSElORVxTT0ZUV0FS
RVxDeWdudXMgU29sdXRpb25zXEN5Z3dpblxQcm9ncmFtIE9wdGlvbnMNDQoN
DQphOiAgZmQgICAgICAgICAgIE4vQSAgICBOL0EgICAgICAgICAgICAgICAg
ICAgIA0NCmM6ICBoZCAgTlRGUyAgIDY5MzM1TWIgIDIwJSBDUCBDUyBVTiBQ
QSBGQyAgICAgSUJNX1hQSU1HDQ0KZDogIGhkICAgICAgICAgICBOL0EgICAg
Ti9BICAgICAgICAgICAgICAgICAgICANDQplOiAgY2QgICAgICAgICAgIE4v
QSAgICBOL0EgICAgICAgICAgICAgICAgICAgIA0NCmY6ICBmZCAgICAgICAg
ICAgTi9BICAgIE4vQSAgICAgICAgICAgICAgICAgICAgDQ0KDQ0KQzpcY3ln
d2luICAgICAgLyAgICAgICAgICBzeXN0ZW0gIGJpbm1vZGUNDQpDOlxjeWd3
aW4vYmluICAvdXNyL2JpbiAgIHN5c3RlbSAgYmlubW9kZQ0NCkM6XGN5Z3dp
bi9saWIgIC91c3IvbGliICAgc3lzdGVtICBiaW5tb2RlDQ0KLiAgICAgICAg
ICAgICAgL2N5Z2RyaXZlICBzeXN0ZW0gIGJpbm1vZGUsY3lnZHJpdmUNDQoN
DQpGb3VuZDogQzpcY3lnd2luXGJpblxhd2suZXhlDQ0KRm91bmQ6IEM6XGN5
Z3dpblxiaW5cYmFzaC5leGUNDQpGb3VuZDogQzpcY3lnd2luXGJpblxjYXQu
ZXhlDQ0KRm91bmQ6IEM6XGN5Z3dpblxiaW5cY3AuZXhlDQ0KRm91bmQ6IEM6
XGN5Z3dpblxiaW5cY3BwLmV4ZQ0NCkZvdW5kOiBDOlxjeWd3aW5cYmluXGZp
bmQuZXhlDQ0KRm91bmQ6IEM6XGN5Z3dpblxiaW5cZ2NjLmV4ZQ0NCkZvdW5k
OiBDOlxjeWd3aW5cYmluXGdkYi5leGUNDQpGb3VuZDogQzpcY3lnd2luXGJp
blxncmVwLmV4ZQ0NCkZvdW5kOiBDOlxjeWd3aW5cYmluXGxkLmV4ZQ0NCkZv
dW5kOiBDOlxjeWd3aW5cYmluXGxzLmV4ZQ0NCkZvdW5kOiBDOlxjeWd3aW5c
YmluXG1ha2UuZXhlDQ0KRm91bmQ6IEM6XGN5Z3dpblxiaW5cbXYuZXhlDQ0K
Rm91bmQ6IEM6XGN5Z3dpblxiaW5ccm0uZXhlDQ0KRm91bmQ6IEM6XGN5Z3dp
blxiaW5cc2VkLmV4ZQ0NCkZvdW5kOiBDOlxjeWd3aW5cYmluXHNoLmV4ZQ0N
CkZvdW5kOiBDOlxjeWd3aW5cYmluXHRhci5leGUNDQoNDQogICA1NWsgMjAw
NC8wOS8xNCBDOlxjeWd3aW5cYmluXGN5Z2J6Mi0xLmRsbCAtIG9zPTQuMCBp
bWc9MS4wIHN5cz00LjANDQogICAgICAgICAgICAgICAgICAiY3lnYnoyLTEu
ZGxsIiB2MC4wIHRzPTIwMDQvOS8xNCAwOjE2DQ0KICAgMThrIDIwMDQvMDcv
MDYgQzpcY3lnd2luXGJpblxjeWdjaGFyc2V0LTEuZGxsIC0gb3M9NC4wIGlt
Zz0xLjAgc3lzPTQuMA0NCiAgICAgICAgICAgICAgICAgICJjeWdjaGFyc2V0
LTEuZGxsIiB2MC4wIHRzPTIwMDQvNy82IDE0OjA5DQ0KICAgIDdrIDIwMDMv
MTAvMTkgQzpcY3lnd2luXGJpblxjeWdjcnlwdC0wLmRsbCAtIG9zPTQuMCBp
bWc9MS4wIHN5cz00LjANDQogICAgICAgICAgICAgICAgICAiY3lnY3J5cHQt
MC5kbGwiIHYwLjAgdHM9MjAwMy8xMC8xOSAzOjU3DQ0KICA4MzlrIDIwMDQv
MDkvMjcgQzpcY3lnd2luXGJpblxjeWdjcnlwdG8tMC45LjcuZGxsIC0gb3M9
NC4wIGltZz0xLjAgc3lzPTQuMA0NCiAgICAgICAgICAgICAgICAgICJjeWdj
cnlwdG8tMC45LjcuZGxsIiB2MC4wIHRzPTIwMDQvOS8yNyAxMDoxMA0NCiAg
ODk1ayAyMDA0LzA0LzI4IEM6XGN5Z3dpblxiaW5cY3lnZGItNC4yLmRsbCAt
IG9zPTQuMCBpbWc9MS4wIHN5cz00LjANDQogICAgICAgICAgICAgICAgICAi
Y3lnZGItNC4yLmRsbCIgdjAuMCB0cz0yMDA0LzQvMjcgMTE6MzENDQogMTE1
NmsgMjAwNC8wNC8yOCBDOlxjeWd3aW5cYmluXGN5Z2RiX2N4eC00LjIuZGxs
IC0gb3M9NC4wIGltZz0xLjAgc3lzPTQuMA0NCiAgICAgICAgICAgICAgICAg
ICJjeWdkYl9jeHgtNC4yLmRsbCIgdjAuMCB0cz0yMDA0LzQvMjcgMTE6MzUN
DQogIDE1NWsgMjAwNC8wMS8wNyBDOlxjeWd3aW5cYmluXGN5Z2V4cGF0LTAu
ZGxsIC0gb3M9NC4wIGltZz0xLjAgc3lzPTQuMA0NCiAgICAgICAgICAgICAg
ICAgICJjeWdleHBhdC0wLmRsbCIgdjAuMCB0cz0yMDA0LzEvNyAxMToxNA0N
CiAgIDQwayAyMDA0LzEwLzEwIEM6XGN5Z3dpblxiaW5cY3lnZm9ybS04LmRs
bCAtIG9zPTQuMCBpbWc9MS4wIHN5cz00LjANDQogICAgICAgICAgICAgICAg
ICAiY3lnZm9ybS04LmRsbCIgdjAuMCB0cz0yMDA0LzEwLzEwIDQ6MzMNDQog
ICA0NWsgMjAwMS8wNC8yNSBDOlxjeWd3aW5cYmluXGN5Z2Zvcm01LmRsbCAt
IG9zPTQuMCBpbWc9MS4wIHN5cz00LjANDQogICAgICAgICAgICAgICAgICAi
Y3lnZm9ybTUuZGxsIiB2MC4wIHRzPTIwMDEvNC8yNSAxOjI4DQ0KICAgMzVr
IDIwMDIvMDEvMDkgQzpcY3lnd2luXGJpblxjeWdmb3JtNi5kbGwgLSBvcz00
LjAgaW1nPTEuMCBzeXM9NC4wDQ0KICAgICAgICAgICAgICAgICAgImN5Z2Zv
cm02LmRsbCIgdjAuMCB0cz0yMDAyLzEvOSAxOjAzDQ0KICAgNDhrIDIwMDMv
MDgvMDkgQzpcY3lnd2luXGJpblxjeWdmb3JtNy5kbGwgLSBvcz00LjAgaW1n
PTEuMCBzeXM9NC4wDQ0KICAgICAgICAgICAgICAgICAgImN5Z2Zvcm03LmRs
bCIgdjAuMCB0cz0yMDAzLzgvOSA1OjI1DQ0KICAgMjhrIDIwMDMvMDcvMjAg
QzpcY3lnd2luXGJpblxjeWdnZGJtLTMuZGxsIC0gb3M9NC4wIGltZz0xLjAg
c3lzPTQuMA0NCiAgICAgICAgICAgICAgICAgICJjeWdnZGJtLTMuZGxsIiB2
MC4wIHRzPTIwMDMvNy8yMCAzOjU4DQ0KICAgMzBrIDIwMDMvMDgvMTEgQzpc
Y3lnd2luXGJpblxjeWdnZGJtLTQuZGxsIC0gb3M9NC4wIGltZz0xLjAgc3lz
PTQuMA0NCiAgICAgICAgICAgICAgICAgICJjeWdnZGJtLTQuZGxsIiB2MC4w
IHRzPTIwMDMvOC8xMCAyMjoxMg0NCiAgIDE5ayAyMDAzLzAzLzIyIEM6XGN5
Z3dpblxiaW5cY3lnZ2RibS5kbGwgLSBvcz00LjAgaW1nPTEuMCBzeXM9NC4w
DQ0KICAgICAgICAgICAgICAgICAgImN5Z2dkYm0uZGxsIiB2MC4wIHRzPTIw
MDIvMi8xOSAyMjowNQ0NCiAgIDE1ayAyMDAzLzA3LzIwIEM6XGN5Z3dpblxi
aW5cY3lnZ2RibV9jb21wYXQtMy5kbGwgLSBvcz00LjAgaW1nPTEuMCBzeXM9
NC4wDQ0KICAgICAgICAgICAgICAgICAgImN5Z2dkYm1fY29tcGF0LTMuZGxs
IiB2MC4wIHRzPTIwMDMvNy8yMCA0OjAwDQ0KICAgMTVrIDIwMDMvMDgvMTEg
QzpcY3lnd2luXGJpblxjeWdnZGJtX2NvbXBhdC00LmRsbCAtIG9zPTQuMCBp
bWc9MS4wIHN5cz00LjANDQogICAgICAgICAgICAgICAgICAiY3lnZ2RibV9j
b21wYXQtNC5kbGwiIHYwLjAgdHM9MjAwMy84LzEwIDIyOjEzDQ0KICAxMDdr
IDIwMDQvMDcvMDYgQzpcY3lnd2luXGJpblxjeWdnZXR0ZXh0bGliLTAtMTQt
MS5kbGwgLSBvcz00LjAgaW1nPTEuMCBzeXM9NC4wDQ0KICAgICAgICAgICAg
ICAgICAgImN5Z2dldHRleHRsaWItMC0xNC0xLmRsbCIgdjAuMCB0cz0yMDA0
LzcvNiAxMzo1Ng0NCiAgIDE3ayAyMDA0LzA3LzA2IEM6XGN5Z3dpblxiaW5c
Y3lnZ2V0dGV4dHBvLTAuZGxsIC0gb3M9NC4wIGltZz0xLjAgc3lzPTQuMA0N
CiAgICAgICAgICAgICAgICAgICJjeWdnZXR0ZXh0cG8tMC5kbGwiIHYwLjAg
dHM9MjAwNC83LzYgMTM6NTYNDQogIDE5MGsgMjAwNC8wNy8wNiBDOlxjeWd3
aW5cYmluXGN5Z2dldHRleHRzcmMtMC0xNC0xLmRsbCAtIG9zPTQuMCBpbWc9
MS4wIHN5cz00LjANDQogICAgICAgICAgICAgICAgICAiY3lnZ2V0dGV4dHNy
Yy0wLTE0LTEuZGxsIiB2MC4wIHRzPTIwMDQvNy82IDEzOjU2DQ0KICAgMTdr
IDIwMDEvMDYvMjggQzpcY3lnd2luXGJpblxjeWdoaXN0b3J5NC5kbGwgLSBv
cz00LjAgaW1nPTEuMCBzeXM9NC4wDQ0KICAgICAgICAgICAgICAgICAgImN5
Z2hpc3Rvcnk0LmRsbCIgdjAuMCB0cz0yMDAxLzEvNiAyMzozNA0NCiAgIDI5
ayAyMDAzLzA4LzEwIEM6XGN5Z3dpblxiaW5cY3lnaGlzdG9yeTUuZGxsIC0g
b3M9NC4wIGltZz0xLjAgc3lzPTQuMA0NCiAgICAgICAgICAgICAgICAgICJj
eWdoaXN0b3J5NS5kbGwiIHYwLjAgdHM9MjAwMy84LzEwIDE5OjE2DQ0KICAg
MjVrIDIwMDQvMTAvMTIgQzpcY3lnd2luXGJpblxjeWdoaXN0b3J5Ni5kbGwg
LSBvcz00LjAgaW1nPTEuMCBzeXM9NC4wDQ0KICAgICAgICAgICAgICAgICAg
ImN5Z2hpc3Rvcnk2LmRsbCIgdjAuMCB0cz0yMDA0LzEwLzEyIDI6NTENDQog
IDk5MWsgMjAwNC8wNy8wNiBDOlxjeWd3aW5cYmluXGN5Z2ljb252LTIuZGxs
IC0gb3M9NC4wIGltZz0xLjAgc3lzPTQuMA0NCiAgICAgICAgICAgICAgICAg
ICJjeWdpY29udi0yLmRsbCIgdjAuMCB0cz0yMDA0LzcvNiAxNDoxMA0NCiAg
IDIyayAyMDAxLzEyLzEzIEM6XGN5Z3dpblxiaW5cY3lnaW50bC0xLmRsbCAt
IG9zPTQuMCBpbWc9MS4wIHN5cz00LjANDQogICAgICAgICAgICAgICAgICAi
Y3lnaW50bC0xLmRsbCIgdjAuMCB0cz0yMDAxLzEyLzEzIDQ6MjgNDQogICAz
N2sgMjAwMy8wOC8xMCBDOlxjeWd3aW5cYmluXGN5Z2ludGwtMi5kbGwgLSBv
cz00LjAgaW1nPTEuMCBzeXM9NC4wDQ0KICAgICAgICAgICAgICAgICAgImN5
Z2ludGwtMi5kbGwiIHYwLjAgdHM9MjAwMy84LzEwIDE3OjUwDQ0KICAgNTRr
IDIwMDQvMDcvMDYgQzpcY3lnd2luXGJpblxjeWdpbnRsLTMuZGxsIC0gb3M9
NC4wIGltZz0xLjAgc3lzPTQuMA0NCiAgICAgICAgICAgICAgICAgICJjeWdp
bnRsLTMuZGxsIiB2MC4wIHRzPTIwMDQvNy82IDEzOjUxDQ0KICAxNDRrIDIw
MDQvMDgvMjkgQzpcY3lnd2luXGJpblxjeWdtYWdpYy0xLmRsbCAtIG9zPTQu
MCBpbWc9MS4wIHN5cz00LjANDQogICAgICAgICAgICAgICAgICAiY3lnbWFn
aWMtMS5kbGwiIHYwLjAgdHM9MjAwNC84LzI5IDE2OjI1DQ0KICAgMjJrIDIw
MDQvMTAvMTAgQzpcY3lnd2luXGJpblxjeWdtZW51LTguZGxsIC0gb3M9NC4w
IGltZz0xLjAgc3lzPTQuMA0NCiAgICAgICAgICAgICAgICAgICJjeWdtZW51
LTguZGxsIiB2MC4wIHRzPTIwMDQvMTAvMTAgNDozMw0NCiAgIDI2ayAyMDAx
LzA0LzI1IEM6XGN5Z3dpblxiaW5cY3lnbWVudTUuZGxsIC0gb3M9NC4wIGlt
Zz0xLjAgc3lzPTQuMA0NCiAgICAgICAgICAgICAgICAgICJjeWdtZW51NS5k
bGwiIHYwLjAgdHM9MjAwMS80LzI1IDE6MjcNDQogICAyMGsgMjAwMi8wMS8w
OSBDOlxjeWd3aW5cYmluXGN5Z21lbnU2LmRsbCAtIG9zPTQuMCBpbWc9MS4w
IHN5cz00LjANDQogICAgICAgICAgICAgICAgICAiY3lnbWVudTYuZGxsIiB2
MC4wIHRzPTIwMDIvMS85IDE6MDMNDQogICAyOWsgMjAwMy8wOC8wOSBDOlxj
eWd3aW5cYmluXGN5Z21lbnU3LmRsbCAtIG9zPTQuMCBpbWc9MS4wIHN5cz00
LjANDQogICAgICAgICAgICAgICAgICAiY3lnbWVudTcuZGxsIiB2MC4wIHRz
PTIwMDMvOC85IDU6MjUNDQogICA3NGsgMjAwNC8xMC8xMCBDOlxjeWd3aW5c
YmluXGN5Z25jdXJzZXMrKy04LmRsbCAtIG9zPTQuMCBpbWc9MS4wIHN5cz00
LjANDQogICAgICAgICAgICAgICAgICAiY3lnbmN1cnNlcysrLTguZGxsIiB2
MC4wIHRzPTIwMDQvMTAvMTAgNDozMw0NCiAgMTU2ayAyMDAxLzA0LzI1IEM6
XGN5Z3dpblxiaW5cY3lnbmN1cnNlcysrNS5kbGwgLSBvcz00LjAgaW1nPTEu
MCBzeXM9NC4wDQ0KICAgICAgICAgICAgICAgICAgImN5Z25jdXJzZXMrKzUu
ZGxsIiB2MC4wIHRzPTIwMDEvNC8yNSAxOjI5DQ0KICAxNzVrIDIwMDIvMDEv
MDkgQzpcY3lnd2luXGJpblxjeWduY3Vyc2VzKys2LmRsbCAtIG9zPTQuMCBp
bWc9MS4wIHN5cz00LjANDQogICAgICAgICAgICAgICAgICAiY3lnbmN1cnNl
cysrNi5kbGwiIHYwLjAgdHM9MjAwMi8xLzkgMTowMw0NCiAgMjE2ayAyMDA0
LzEwLzEwIEM6XGN5Z3dpblxiaW5cY3lnbmN1cnNlcy04LmRsbCAtIG9zPTQu
MCBpbWc9MS4wIHN5cz00LjANDQogICAgICAgICAgICAgICAgICAiY3lnbmN1
cnNlcy04LmRsbCIgdjAuMCB0cz0yMDA0LzEwLzEwIDQ6MjUNDQogIDIyNmsg
MjAwMS8wNC8yNSBDOlxjeWd3aW5cYmluXGN5Z25jdXJzZXM1LmRsbCAtIG9z
PTQuMCBpbWc9MS4wIHN5cz00LjANDQogICAgICAgICAgICAgICAgICAiY3ln
bmN1cnNlczUuZGxsIiB2MC4wIHRzPTIwMDEvNC8yNSAxOjE3DQ0KICAyMDJr
IDIwMDIvMDEvMDkgQzpcY3lnd2luXGJpblxjeWduY3Vyc2VzNi5kbGwgLSBv
cz00LjAgaW1nPTEuMCBzeXM9NC4wDQ0KICAgICAgICAgICAgICAgICAgImN5
Z25jdXJzZXM2LmRsbCIgdjAuMCB0cz0yMDAyLzEvOSAxOjAzDQ0KICAyMjRr
IDIwMDMvMDgvMDkgQzpcY3lnd2luXGJpblxjeWduY3Vyc2VzNy5kbGwgLSBv
cz00LjAgaW1nPTEuMCBzeXM9NC4wDQ0KICAgICAgICAgICAgICAgICAgImN5
Z25jdXJzZXM3LmRsbCIgdjAuMCB0cz0yMDAzLzgvOSA1OjI0DQ0KICAgMTNr
IDIwMDQvMTAvMTAgQzpcY3lnd2luXGJpblxjeWdwYW5lbC04LmRsbCAtIG9z
PTQuMCBpbWc9MS4wIHN5cz00LjANDQogICAgICAgICAgICAgICAgICAiY3ln
cGFuZWwtOC5kbGwiIHYwLjAgdHM9MjAwNC8xMC8xMCA0OjMyDQ0KICAgMTVr
IDIwMDEvMDQvMjUgQzpcY3lnd2luXGJpblxjeWdwYW5lbDUuZGxsIC0gb3M9
NC4wIGltZz0xLjAgc3lzPTQuMA0NCiAgICAgICAgICAgICAgICAgICJjeWdw
YW5lbDUuZGxsIiB2MC4wIHRzPTIwMDEvNC8yNSAxOjI3DQ0KICAgMTJrIDIw
MDIvMDEvMDkgQzpcY3lnd2luXGJpblxjeWdwYW5lbDYuZGxsIC0gb3M9NC4w
IGltZz0xLjAgc3lzPTQuMA0NCiAgICAgICAgICAgICAgICAgICJjeWdwYW5l
bDYuZGxsIiB2MC4wIHRzPTIwMDIvMS85IDE6MDMNDQogICAxOWsgMjAwMy8w
OC8wOSBDOlxjeWd3aW5cYmluXGN5Z3BhbmVsNy5kbGwgLSBvcz00LjAgaW1n
PTEuMCBzeXM9NC4wDQ0KICAgICAgICAgICAgICAgICAgImN5Z3BhbmVsNy5k
bGwiIHYwLjAgdHM9MjAwMy84LzkgNToyNA0NCiAgIDYyayAyMDAzLzEyLzEx
IEM6XGN5Z3dpblxiaW5cY3lncGNyZS0wLmRsbCAtIG9zPTQuMCBpbWc9MS4w
IHN5cz00LjANDQogICAgICAgICAgICAgICAgICAiY3lncGNyZS0wLmRsbCIg
djAuMCB0cz0yMDAzLzEyLzExIDEyOjAxDQ0KICAgNjNrIDIwMDMvMDQvMTEg
QzpcY3lnd2luXGJpblxjeWdwY3JlLmRsbCAtIG9zPTQuMCBpbWc9MS4wIHN5
cz00LjANDQogICAgICAgICAgICAgICAgICAiY3lncGNyZS5kbGwiIHYwLjAg
dHM9MjAwMy80LzExIDQ6MzENDQogICAgOWsgMjAwMy8xMi8xMSBDOlxjeWd3
aW5cYmluXGN5Z3BjcmVwb3NpeC0wLmRsbCAtIG9zPTQuMCBpbWc9MS4wIHN5
cz00LjANDQogICAgICAgICAgICAgICAgICAiY3lncGNyZXBvc2l4LTAuZGxs
IiB2MC4wIHRzPTIwMDMvMTIvMTEgMTI6MDENDQogICA2MWsgMjAwMy8wNC8x
MSBDOlxjeWd3aW5cYmluXGN5Z3BjcmVwb3NpeC5kbGwgLSBvcz00LjAgaW1n
PTEuMCBzeXM9NC4wDQ0KICAgICAgICAgICAgICAgICAgImN5Z3BjcmVwb3Np
eC5kbGwiIHYwLjAgdHM9MjAwMy80LzExIDQ6MzENDQogMTA2MWsgMjAwNC8w
OC8xOSBDOlxjeWd3aW5cYmluXGN5Z3Blcmw1XzhfNS5kbGwgLSBvcz00LjAg
aW1nPTEuMCBzeXM9NC4wDQ0KICAgICAgICAgICAgICAgICAgImN5Z3Blcmw1
XzhfNS5kbGwiIHYwLjAgdHM9MjAwNC84LzE5IDEzOjU0DQ0KICAgMjJrIDIw
MDIvMDYvMDkgQzpcY3lnd2luXGJpblxjeWdwb3B0LTAuZGxsIC0gb3M9NC4w
IGltZz0xLjAgc3lzPTQuMA0NCiAgICAgICAgICAgICAgICAgICJjeWdwb3B0
LTAuZGxsIiB2MC4wIHRzPTIwMDIvNi85IDE6NDUNDQogIDEwOGsgMjAwMS8w
Ni8yOCBDOlxjeWd3aW5cYmluXGN5Z3JlYWRsaW5lNC5kbGwgLSBvcz00LjAg
aW1nPTEuMCBzeXM9NC4wDQ0KICAgICAgICAgICAgICAgICAgImN5Z3JlYWRs
aW5lNC5kbGwiIHYwLjAgdHM9MjAwMS8xLzYgMjM6MzQNDQogIDE0OGsgMjAw
My8wOC8xMCBDOlxjeWd3aW5cYmluXGN5Z3JlYWRsaW5lNS5kbGwgLSBvcz00
LjAgaW1nPTEuMCBzeXM9NC4wDQ0KICAgICAgICAgICAgICAgICAgImN5Z3Jl
YWRsaW5lNS5kbGwiIHYwLjAgdHM9MjAwMy84LzEwIDE5OjE2DQ0KICAxNDRr
IDIwMDQvMTAvMTIgQzpcY3lnd2luXGJpblxjeWdyZWFkbGluZTYuZGxsIC0g
b3M9NC4wIGltZz0xLjAgc3lzPTQuMA0NCiAgICAgICAgICAgICAgICAgICJj
eWdyZWFkbGluZTYuZGxsIiB2MC4wIHRzPTIwMDQvMTAvMTIgMjo1MQ0NCiAg
MTcwayAyMDA0LzA5LzI3IEM6XGN5Z3dpblxiaW5cY3lnc3NsLTAuOS43LmRs
bCAtIG9zPTQuMCBpbWc9MS4wIHN5cz00LjANDQogICAgICAgICAgICAgICAg
ICAiY3lnc3NsLTAuOS43LmRsbCIgdjAuMCB0cz0yMDA0LzkvMjcgMTA6MTAN
DQogICA2MmsgMjAwNC8xMC8xMCBDOlxjeWd3aW5cYmluXGN5Z3ouZGxsIC0g
b3M9NC4wIGltZz0xLjAgc3lzPTQuMA0NCiAgICAgICAgICAgICAgICAgICJj
eWd6LmRsbCIgdjAuMCB0cz0yMDA0LzEwLzEwIDA6MDkNDQogMTExM2sgMjAw
NC8xMC8xMSBDOlxjeWd3aW5cYmluXGN5Z3dpbjEuZGxsIC0gb3M9NC4wIGlt
Zz0xLjAgc3lzPTQuMA0NCiAgICAgICAgICAgICAgICAgICJjeWd3aW4xLmRs
bCIgdjAuMCB0cz0yMDA0LzEwLzEwIDIyOjI0DQ0KICAgIEN5Z3dpbiBETEwg
dmVyc2lvbiBpbmZvOg0NCiAgICAgICAgRExMIHZlcnNpb246IDEuNS4xMg0N
CiAgICAgICAgRExMIGVwb2NoOiAxOQ0NCiAgICAgICAgRExMIGJhZCBzaWdu
YWwgbWFzazogMTkwMDUNDQogICAgICAgIERMTCBvbGQgdGVybWlvczogNQ0N
CiAgICAgICAgRExMIG1hbGxvYyBlbnY6IDI4DQ0KICAgICAgICBBUEkgbWFq
b3I6IDANDQogICAgICAgIEFQSSBtaW5vcjogMTE2DQ0KICAgICAgICBTaGFy
ZWQgZGF0YTogNA0NCiAgICAgICAgRExMIGlkZW50aWZpZXI6IGN5Z3dpbjEN
DQogICAgICAgIE1vdW50IHJlZ2lzdHJ5OiAyDQ0KICAgICAgICBDeWdudXMg
cmVnaXN0cnkgbmFtZTogQ3lnbnVzIFNvbHV0aW9ucw0NCiAgICAgICAgQ3ln
d2luIHJlZ2lzdHJ5IG5hbWU6IEN5Z3dpbg0NCiAgICAgICAgUHJvZ3JhbSBv
cHRpb25zIG5hbWU6IFByb2dyYW0gT3B0aW9ucw0NCiAgICAgICAgQ3lnd2lu
IG1vdW50IHJlZ2lzdHJ5IG5hbWU6IG1vdW50cyB2Mg0NCiAgICAgICAgQ3ln
ZHJpdmUgZmxhZ3M6IGN5Z2RyaXZlIGZsYWdzDQ0KICAgICAgICBDeWdkcml2
ZSBwcmVmaXg6IGN5Z2RyaXZlIHByZWZpeA0NCiAgICAgICAgQ3lnZHJpdmUg
ZGVmYXVsdCBwcmVmaXg6IA0NCiAgICAgICAgQnVpbGQgZGF0ZTogU3VuIE9j
dCAxMCAyMjoyNDo1MyBFRFQgMjAwNA0NCiAgICAgICAgU25hcHNob3QgZGF0
ZTogMjAwNDEwMTAtMjI6MjI6MjUNDQogICAgICAgIFNoYXJlZCBpZDogY3ln
d2luMVM0DQ0KDQ0KDQ0KQ3lnd2luIFBhY2thZ2UgSW5mb3JtYXRpb24NDQpM
YXN0IGRvd25sb2FkZWQgZmlsZXMgdG86IEM6XGN5Z3dpbg0NCkxhc3QgZG93
bmxvYWRlZCBmaWxlcyBmcm9tOiBmdHA6Ly9mdHAtc3R1ZC5maHQtZXNzbGlu
Z2VuLmRlL3B1Yi9NaXJyb3JzL3NvdXJjZXMucmVkaGF0LmNvbS9jeWd3aW4N
DQoNDQpQYWNrYWdlICAgICAgICAgICAgICBWZXJzaW9uICAgICAgICAgICAg
DQ0KX3VwZGF0ZS1pbmZvLWRpciAgICAgMDAyMzAtMSAgICAgICAgICAgIA0N
CmFzaCAgICAgICAgICAgICAgICAgIDIwMDQwMTI3LTEgICAgICAgICANDQpi
YXNlLWZpbGVzICAgICAgICAgICAzLjAtMyAgICAgICAgICAgICAgDQ0KYmFz
ZS1wYXNzd2QgICAgICAgICAgMi4xLTEgICAgICAgICAgICAgIA0NCmJhc2gg
ICAgICAgICAgICAgICAgIDIuMDViLTE2ICAgICAgICAgICANDQpiaW51dGls
cyAgICAgICAgICAgICAyMDA0MDcyNS0yICAgICAgICAgDQ0KYmlzb24gICAg
ICAgICAgICAgICAgMjAwMzAzMDctMSAgICAgICAgIA0NCmJ6aXAyICAgICAg
ICAgICAgICAgIDEuMC4yLTYgICAgICAgICAgICANDQpjcnlwdCAgICAgICAg
ICAgICAgICAxLjEtMSAgICAgICAgICAgICAgDQ0KY3lndXRpbHMgICAgICAg
ICAgICAgMS4yLjUtMSAgICAgICAgICAgIA0NCmN5Z3dpbiAgICAgICAgICAg
ICAgIDEuNS4xMS0xICAgICAgICAgICANDQpjeWd3aW4tZG9jICAgICAgICAg
ICAxLjMtNyAgICAgICAgICAgICAgDQ0KZGlmZnV0aWxzICAgICAgICAgICAg
Mi44LjctMSAgICAgICAgICAgIA0NCmVkaXRyaWdodHMgICAgICAgICAgIDEu
MDEtMSAgICAgICAgICAgICANDQpleHBhdCAgICAgICAgICAgICAgICAxLjk1
LjctMSAgICAgICAgICAgDQ0KZmlsZSAgICAgICAgICAgICAgICAgNC4xMC0x
ICAgICAgICAgICAgIA0NCmZpbGV1dGlscyAgICAgICAgICAgIDQuMS0yICAg
ICAgICAgICAgICANDQpmaW5kdXRpbHMgICAgICAgICAgICA0LjEuNy00ICAg
ICAgICAgICAgDQ0KZmxleCAgICAgICAgICAgICAgICAgMi41LjRhLTMgICAg
ICAgICAgIA0NCmdhd2sgICAgICAgICAgICAgICAgIDMuMS40LTMgICAgICAg
ICAgICANDQpnY2MtY29yZSAgICAgICAgICAgICAzLjMuMy0zICAgICAgICAg
ICAgDQ0KZ2NjLW1pbmd3LWNvcmUgICAgICAgMjAwNDA4MTAtMSAgICAgICAg
IA0NCmdkYiAgICAgICAgICAgICAgICAgIDIwMDMwOTE5LTEgICAgICAgICAN
DQpnZGJtICAgICAgICAgICAgICAgICAxLjguMy03ICAgICAgICAgICAgDQ0K
Z3JlcCAgICAgICAgICAgICAgICAgMi41LTEgICAgICAgICAgICAgIA0NCmdy
b2ZmICAgICAgICAgICAgICAgIDEuMTguMS0yICAgICAgICAgICANDQpnemlw
ICAgICAgICAgICAgICAgICAxLjMuNS0xICAgICAgICAgICAgDQ0KbGVzcyAg
ICAgICAgICAgICAgICAgMzgxLTEgICAgICAgICAgICAgIA0NCmxpYmJ6Ml8x
ICAgICAgICAgICAgIDEuMC4yLTYgICAgICAgICAgICANDQpsaWJjaGFyc2V0
MSAgICAgICAgICAxLjkuMi0xICAgICAgICAgICAgDQ0KbGliZGI0LjIgICAg
ICAgICAgICAgNC4yLjUyLTEgICAgICAgICAgIA0NCmxpYmdkYm0gICAgICAg
ICAgICAgIDEuOC4wLTUgICAgICAgICAgICANDQpsaWJnZGJtLWRldmVsICAg
ICAgICAxLjguMy03ICAgICAgICAgICAgDQ0KbGliZ2RibTMgICAgICAgICAg
ICAgMS44LjMtMyAgICAgICAgICAgIA0NCmxpYmdkYm00ICAgICAgICAgICAg
IDEuOC4zLTcgICAgICAgICAgICANDQpsaWJnZXR0ZXh0cG8wICAgICAgICAw
LjE0LjEtMSAgICAgICAgICAgDQ0KbGliaWNvbnYgICAgICAgICAgICAgMS45
LjItMSAgICAgICAgICAgIA0NCmxpYmljb252MiAgICAgICAgICAgIDEuOS4y
LTEgICAgICAgICAgICANDQpsaWJpbnRsMSAgICAgICAgICAgICAwLjEwLjQw
LTEgICAgICAgICAgDQ0KbGliaW50bDIgICAgICAgICAgICAgMC4xMi4xLTMg
ICAgICAgICAgIA0NCmxpYmludGwzICAgICAgICAgICAgIDAuMTQuMS0xICAg
ICAgICAgICANDQpsaWJuY3Vyc2VzNSAgICAgICAgICA1LjItMSAgICAgICAg
ICAgICAgDQ0KbGlibmN1cnNlczYgICAgICAgICAgNS4yLTggICAgICAgICAg
ICAgIA0NCmxpYm5jdXJzZXM3ICAgICAgICAgIDUuMy00ICAgICAgICAgICAg
ICANDQpsaWJuY3Vyc2VzOCAgICAgICAgICA1LjQtMSAgICAgICAgICAgICAg
DQ0KbGlicGNyZSAgICAgICAgICAgICAgNC4xLTEgICAgICAgICAgICAgIA0N
CmxpYnBjcmUwICAgICAgICAgICAgIDQuNS0xICAgICAgICAgICAgICANDQps
aWJwb3B0MCAgICAgICAgICAgICAxLjYuNC00ICAgICAgICAgICAgDQ0KbGli
cmVhZGxpbmU0ICAgICAgICAgNC4xLTIgICAgICAgICAgICAgIA0NCmxpYnJl
YWRsaW5lNSAgICAgICAgIDQuMy01ICAgICAgICAgICAgICANDQpsaWJyZWFk
bGluZTYgICAgICAgICA1LjAtMSAgICAgICAgICAgICAgDQ0KbG9naW4gICAg
ICAgICAgICAgICAgMS45LTcgICAgICAgICAgICAgIA0NCm00ICAgICAgICAg
ICAgICAgICAgIDEuNC0xICAgICAgICAgICAgICANDQptYWtlICAgICAgICAg
ICAgICAgICAzLjgwLTEgICAgICAgICAgICAgDQ0KbWFuICAgICAgICAgICAg
ICAgICAgMS41by0xICAgICAgICAgICAgIA0NCm1pbmd3LXJ1bnRpbWUgICAg
ICAgIDMuNS0xICAgICAgICAgICAgICANDQpta3RlbXAgICAgICAgICAgICAg
ICAxLjUtMyAgICAgICAgICAgICAgDQ0KbmN1cnNlcyAgICAgICAgICAgICAg
NS40LTEgICAgICAgICAgICAgIA0NCm9wZW5zc2wgICAgICAgICAgICAgIDAu
OS43ZC0yICAgICAgICAgICANDQpwZXJsICAgICAgICAgICAgICAgICA1Ljgu
NS0zICAgICAgICAgICAgDQ0KcGVybF9tYW5wYWdlcyAgICAgICAgNS44LjUt
MyAgICAgICAgICAgIA0NCnB5dGhvbiAgICAgICAgICAgICAgIDIuMy40LTIg
ICAgICAgICAgICANDQpyZWFkbGluZSAgICAgICAgICAgICA1LjAtMSAgICAg
ICAgICAgICAgDQ0Kc2VkICAgICAgICAgICAgICAgICAgNC4xLjItMSAgICAg
ICAgICAgIA0NCnNoLXV0aWxzICAgICAgICAgICAgIDIuMC4xNS00ICAgICAg
ICAgICANDQp0YXIgICAgICAgICAgICAgICAgICAxLjEzLjI1LTUgICAgICAg
ICAgDQ0KdGNsdGsgICAgICAgICAgICAgICAgMjAwMzA5MDEtMSAgICAgICAg
IA0NCnRlcm1jYXAgICAgICAgICAgICAgIDIwMDIxMTA2LTIgICAgICAgICAN
DQp0ZXJtaW5mbyAgICAgICAgICAgICA1LjRfMjAwNDEwMDktMSAgICAgDQ0K
dGV4aW5mbyAgICAgICAgICAgICAgNC4yLTQgICAgICAgICAgICAgIA0NCnRl
eHR1dGlscyAgICAgICAgICAgIDIuMC4yMS0xICAgICAgICAgICANDQp2aW0g
ICAgICAgICAgICAgICAgICA2LjMtMSAgICAgICAgICAgICAgDQ0KdzMyYXBp
ICAgICAgICAgICAgICAgMy4xLTEgICAgICAgICAgICAgIA0NCndoaWNoICAg
ICAgICAgICAgICAgIDEuNS0yICAgICAgICAgICAgICANDQp6bGliICAgICAg
ICAgICAgICAgICAxLjIuMi0xICAgICAgICAgICAgDQ0KVXNlIC1oIHRvIHNl
ZSBoZWxwIGFib3V0IGVhY2ggc2VjdGlvbg0NCg==


---559023410-851401618-1098224469=:18274
Content-Type: text/plain; charset=us-ascii

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/
---559023410-851401618-1098224469=:18274--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019