
Technical discussions about the TI C6000 DSPs (including the c62x, c64x and c67x DSPs).
By using the instruction LDW to load data from memory, 1 bit of the data read out is incorrect. How can this happen? What kind of problem shoud it be? Thanks! ------------------------------------ OMAP35x EVM jump-starts low-power apps ------------------------------------ The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building applications based on the OMAP35x architecture:http://www.DSPRelated.com/omap35x
if you did LDW to non aligned address you will get incorrect data i...@163.com Sent by: c...@yahoogroups.com 03/07/2008 11:16 Please respond to i...@163.com To c...@yahoogroups.com cc Subject [c6x] LDW instruction get incorrect data By using the instruction LDW to load data from memory, 1 bit of the data read out is incorrect. How can this happen? What kind of problem shoud it be? Thanks! ------------------------------------ OMAP35x EVM jump-starts low-power apps ------------------------------------ The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building applications based on the OMAP35x architecture:http://www.DSPRelated.com/omap35x
iamxiaod, On Thu, Jul 3, 2008 at 3:16 AM, <i...@163.com> wrote: > By using the instruction LDW to load data from memory, > 1 bit of the data read out is incorrect. > How can this happen? > What kind of problem shoud it be? The more general the question, the more general the answer. Try to provide as many details as possible. 1. Is the problem in internal or external memory?? 2. Does the problem occur at 1 address, a group of addresses, or all addresses?? 3. Do you see the problem in the CCS 'view memory' window?? 4. Is the bit always high, always low, or some other pattern?? mikedunn > > Thanks! -- www.dsprelated.com/blogs-1/nf/Mike_Dunn.php ------------------------------------ OMAP35x EVM jump-starts low-power apps ------------------------------------ The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building applications based on the OMAP35x architecture:http://www.DSPRelated.com/omap35x
Hi, >if you did LDW to non aligned address you will get incorrect data - The address is aligned. >By using the instruction LDW to load data from memory, >1 bit of the data read out is incorrect. >How can this happen? >What kind of problem shoud it be? > >Thanks! > >------------------------------------ > >OMAP35x EVM jump-starts low-power apps >------------------------------------ >The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building applications based on the OMAP35x architecture:http://www.DSPRelated.com/omap35x ------------------------------------ OMAP35x EVM jump-starts low-power apps ------------------------------------ The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building applications based on the OMAP35x architecture:http://www.DSPRelated.com/omap35x
Quite Bad, it seems my reply disappeared... I'd like to reply again: Hi, The more general the question, the more general the answer. Try to provide as many details as possible. 1. Is the problem in internal or external memory?? - internal memory. 2. Does the problem occur at 1 address, a group of addresses, or all addresses?? - Till now, only 1 address. But it's not the first time we load data from that address. 3. Do you see the problem in the CCS 'view memory' window?? - Yes, I can see. 4. Is the bit always high, always low, or some other pattern?? - the bit is original high, after LDW, it is always be changed to low. Thanks! By using the instruction LDW to load data from memory, >1 bit of the data read out is incorrect. >How can this happen? >What kind of problem shoud it be? > >Thanks! > >------------------------------------ > >OMAP35x EVM jump-starts low-power apps >------------------------------------ >The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building applications based on the OMAP35x architecture:http://www.DSPRelated.com/omap35x ------------------------------------ OMAP35x EVM jump-starts low-power apps ------------------------------------ The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building applications based on the OMAP35x architecture:http://www.DSPRelated.com/omap35x
iamxiaod, Have you set up the interface with the RAM with the correct number of wait states? If the voltages are not correct and/or the number of wait states is not correct, or the interface is otherwise not properly initialized, then the timing margins may be slightly off and as the part warms up, data bit errors will begin to show. Of course, the specific bit in that specific chip instance may be bad. Have you tried replacing the chip with another of the same kind? R. Williams ---------- Original Message ----------- From: i...@163.com To: c...@yahoogroups.com Sent: Thu, 03 Jul 2008 23:34:30 -0400 Subject: [c6x] Re: LDW instruction get incorrect data > Quite Bad, it seems my reply disappeared... > I'd like to reply again: > Hi, > > The more general the question, the more general the answer. Try to > provide as many details as possible. > 1. Is the problem in internal or external memory?? > - internal memory. > 2. Does the problem occur at 1 address, a group of addresses, or all addresses?? > - Till now, only 1 address. But it's not the first time we load data from that address. > 3. Do you see the problem in the CCS 'view memory' window?? > - Yes, I can see. > 4. Is the bit always high, always low, or some other pattern?? > - the bit is original high, after LDW, it is always be changed to low. > > Thanks! > > By using the instruction LDW to load data from memory, > >1 bit of the data read out is incorrect. > >How can this happen? > >What kind of problem shoud it be? > > > >Thanks! > > > >------------------------------------ > > > >OMAP35x EVM jump-starts low-power apps > >------------------------------------ > >The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building applications based on the OMAP35x architecture:http://www.DSPRelated.com/omap35x > > > > ------- End of Original Message ------- ------------------------------------ OMAP35x EVM jump-starts low-power apps ------------------------------------ The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building applications based on the OMAP35x architecture:http://www.DSPRelated.com/omap35x
Xiao D- > Quite Bad, it seems my reply disappeared... > I'd like to reply again: > Hi, > > The more general the question, the more general the answer. Try to > provide as many details as possible. > 1. Is the problem in internal or external memory?? > - internal memory. > 2. Does the problem occur at 1 address, a group of addresses, or all addresses?? > - Till now, only 1 address. But it's not the first time we load data from that address. > 3. Do you see the problem in the CCS 'view memory' window?? > - Yes, I can see. Please clarify this comment. What do you "see"? Do you write a pattern and get back the same data but the problem bit is always low? Always high? How many addresses do you write? If you really have a bad bit problem, then it's highly unlikely to be just be one address. It should occur in a range of addresses, and possibly all addresses. If this type of problem actually happens (I say actually, because such occurrence is infrequent), then the problem is typically one of: -R-pack on the board has one bad R, short between Rs, one lead not soldered -one ball or pin on the SDRAM part has a bad solder joint (or same issue with ball on the DSP) As Richard points out, it could also be a problem with EMIF register settings for the SDRAM CEn space. But, those type of problem usually affect more than one bit. It's very, very unlikely the SDRAM chip itself has a problem of "one bad bit in one address location". Over the course of 100s of hardware projects, I have not seen this since 1992. -Jeff > 4. Is the bit always high, always low, or some other pattern?? > - the bit is original high, after LDW, it is always be changed to low. > > Thanks! > By using the instruction LDW to load data from memory, >>1 bit of the data read out is incorrect. >>How can this happen? >>What kind of problem shoud it be? >> >>Thanks! ------------------------------------ OMAP35x EVM jump-starts low-power apps ------------------------------------ The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building applications based on the OMAP35x architecture:http://www.DSPRelated.com/omap35x
On Fri, Jul 4, 2008 at 1:32 PM, Jeff Brower <j...@signalogic.com> wrote: > Xiao D- > >> Quite Bad, it seems my reply disappeared... >> I'd like to reply again: >> Hi, >> >> The more general the question, the more general the answer. Try to >> provide as many details as possible. >> 1. Is the problem in internal or external memory?? >> - internal memory. >> 2. Does the problem occur at 1 address, a group of addresses, or all >> addresses?? >> - Till now, only 1 address. But it's not the first time we load data from >> that address. <mld> A. What is the address?? B. What is the 'write/old/good data' and the 'read/bad data'?? C. Is the code written in C or assembler?? >> 3. Do you see the problem in the CCS 'view memory' window?? >> - Yes, I can see. > > Please clarify this comment. What do you "see"? Do you write a pattern and > get back the same data but the problem > bit is always low? Always high? How many addresses do you write? <mld> Along the same line as Jeff's question... D. Looking at your answer to A and B above - Using CCS 'view memory', If you write the 'good' data to the address, what shows on the screen?? E. What does it show when you refresh the memory window?? > > If you really have a bad bit problem, then it's highly unlikely to be just > be one address. It should occur in a range > of addresses, and possibly all addresses. If this type of problem actually > happens (I say actually, because such > occurrence is infrequent), then the problem is typically one of: > > -R-pack on the board has one bad R, > short between Rs, one lead not > soldered > > -one ball or pin on the SDRAM part > has a bad solder joint (or same > issue with ball on the DSP) > > As Richard points out, it could also be a problem with EMIF register > settings for the SDRAM CEn space. But, those > type of problem usually affect more than one bit. > > It's very, very unlikely the SDRAM chip itself has a problem of "one bad bit > in one address location". Over the > course of 100s of hardware projects, I have not seen this since 1992. > > -Jeff > >> 4. Is the bit always high, always low, or some other pattern?? >> - the bit is original high, after LDW, it is always be changed to low. >> >> Thanks! >> By using the instruction LDW to load data from memory, >>>1 bit of the data read out is incorrect. >>>How can this happen? >>>What kind of problem shoud it be? <mld> Be patient. Keep in mind that you are only seeing the symptoms and the problem is yet to be fully understood. F. What happens if you perform 4 byte reads [add, add+1, add+2, add+3]?? G. What happens if you perform 2 short reads?? mikedunn >>> >>>Thanks! -- www.dsprelated.com/blogs-1/nf/Mike_Dunn.php ------------------------------------ OMAP35x EVM jump-starts low-power apps ------------------------------------ The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building applications based on the OMAP35x architecture:http://www.DSPRelated.com/omap35x
Hi, The problem actually only happened once in our experiment. But it's sure that the data after LDW is wrong, because the one in memory is still right. I just want to know if such kinds of problem is general or can only be seen very seldom? >>Have you set up the interface with the RAM with the correct number of wait states? - I'm not familiar with this. So what is the 'wait states'? Is it a parameter of EMIF register? >> -R-pack on the board has one bad R, >> short between Rs, one lead not >> soldered >> >> -one ball or pin on the SDRAM part >> has a bad solder joint (or same >> issue with ball on the DSP) - Yes, there maybe some kind of HW problem, but considered it just used for experiment, and did not happen now, so we'll keep this in mind if it will happen any time in the future. >C. Is the code written in C or assembler?? - in C. >F. What happens if you perform 4 byte reads [add, add+1, add+2, add+3]?? >G. What happens if you perform 2 short reads?? - Should this can only be done if writing assembler codes? Thanks! ?
Hi, The problem actually only happened once in our experiment. But it's sure that the data after LDW is wrong, because the one in memory is still right. I actually want to know if such kinds of problem is general or can only be seen very seldom? >>Have you set up the interface with the RAM with the correct number of wait states? - I'm not familiar with this. So what is the 'wait states'? Is it a parameter of EMIF register? >> -R-pack on the board has one bad R, >> short between Rs, one lead not >> soldered >> >> -one ball or pin on the SDRAM part >> has a bad solder joint (or same >> issue with ball on the DSP) - Yes, there maybe some kind of HW problem, but considered it just used for experiment, and did not happen now, so we'll keep this in mind if it will happen any time in the future. >C. Is the code written in C or assembler?? - in C. >F. What happens if you perform 4 byte reads [add, add+1, add+2, add+3]?? >G. What happens if you perform 2 short reads?? - Should this can only be done if writing assembler codes? Thanks! > >------------------------------------ > >OMAP35x EVM jump-starts low-power apps >------------------------------------ >The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building applications based on the OMAP35x architecture:http://www.DSPRelated.com/omap35x ------------------------------------ OMAP35x EVM jump-starts low-power apps ------------------------------------ The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building applications based on the OMAP35x architecture:http://www.DSPRelated.com/omap35x
WGlhbywKCjIwMDgvNy81ICA8aWFteGlhb2RAMTYzLmNvbT46Cj4gIEhpLAo+ICBUaGUgcHJv YmxlbSBhY3R1YWxseSBvbmx5IGhhcHBlbmVkIG9uY2UgaW4gb3VyIGV4cGVyaW1lbnQuCj4g IEJ1dCBpdCdzIHN1cmUgdGhhdCB0aGUgZGF0YSBhZnRlciBMRFcgaXMgd3JvbmcsIGJlY2F1 c2UgdGhlIG9uZSBpbiBtZW1vcnkKPiBpcyBzdGlsbCByaWdodC4KPiAgSSBqdXN0IHdhbnQg dG8ga25vdyBpZiBzdWNoIGtpbmRzIG9mIHByb2JsZW0gaXMgZ2VuZXJhbCBvciBjYW4gb25s eSBiZSBzZWVuCj4gdmVyeSBzZWxkb20/Cjw8bWxkPj4KVGhlIGFuc3dlciBmb3IgbWUgaXMg TkVWRVIgd2hlbiB0aGUgZm9sbG93aW5nIGFyZSBjb3JyZWN0IFtJIG1heSBoYXZlCmxlZnQg b3V0IGEgZmV3XToKTk9URTogVEkgRFNQcyBhcmUgdXNlZCBpbiBzZXZlcmFsIGNyaXRpY2Fs IGFwcGxpY2F0aW9ucyB0aGF0IHJlcXVpcmUKMTAwJSByZXBlYXRhYmlsaXR5LgoxLiBUaGUg ZXhwZXJpbWVudCBpcyBwZXJmb3JtZWQgYnkgcnVubmluZyB0aGUgRFNQIFtub3Qgc2luZ2xl CnN0ZXBwaW5nLCBtb2RpZnlpbmcgcmVnaXN0ZXJzLCBldGNdLgoyLiBQcm9ncmFtIHNvZnR3 YXJlIGNhbiBjYXVzZSBpbnRlcm1pdHRlbnQgJ3N0cmFuZ2UgcHJvYmxlbXMnIFtiYWQKYXNz ZW1ibHkgY29kZSB0aGF0IHdvcmtzIDk5LjklIG9mIHRoZSB0aW1lLCAnQycgcG9pbnRlciBw cm9ibGVtcywKYXJyYXlzL2J1ZmZlcnMgZ29pbmcgYmV5b25kIHRoZWlyIGFsbG9jYXRpb24s IGluY29ycmVjdCBhbGdvcml0aG1zCnRoYXQgd29yayA5OSUgb2YgdGhlIHRpbWUsIGV0Y10K My4gVm9sdGFnZXMgW2NoZWNrZWQgd2l0aCBhIHNjb3BlLCBub3QgYSBtZXRlcl0uIFNvbWV0 aW1lcyBzd2l0Y2hpbmcKcG93ZXIgc3VwcGxpZXMgYXJlIG5vdCBmaWx0ZXJlZCBhcyB3ZWxs IGFzIHlvdSB0aGluay4KNC4gQm9hcmQgZGVzaWduIC0gcG93ZXIgYW5kIGdyb3VuZCBwbGFu ZXMsIGFuYWxvZy9kaWdpdGFsIGdyb3VuZApzZXBhcmF0aW9uLCBvdGhlciBnb29kIGJvYXJk IGRlc2lnbiBwcmFjdGljZXMgW2kuZS4gYSBiYWQgcHJhY3RpY2UKd291bGQgYmUgdG8gcHV0 IGEgc3dpdGNoaW5nIHBvd2VyIHN1cHBseSByaWdodCBuZXh0IHRvIHRoZSBEU1Agb3IKUExM XS4KNS4gQm9hcmQgZW52aXJvbm1lbnQgLSBzZXR0aW5nIHRoZSBib2FyZCBvbiB0b3Agb2Yg YSBDUlQgbW9uaXRvciB3aGlsZQpydW5uaW5nIGl0IGNhbiBjYXVzZSBteXN0ZXJ5IHByb2Js ZW1zLgo2LiBFbGVjdHJpY2FsIGVudmlyb25tZW50IC0gcGx1Z2dpbmcgdGhlIEFDIGludG8g YW4gb3V0bGV0IHRoYXQgaXMKc2hhcmVkIHdpdGggYSBsYXJnZSBBQyBtb3RvciBbd2hpY2gg Y291bGQgYmUgb24gdGhlIG90aGVyIHNpZGUgb2YgdGhlCndhbGxdLgo3LiBCb2FyZCBhc3Nl bWJseSAtIGFsbCBwaW5zL2JhbGxzIG11c3QgYmUgc29sZGVyZWQgW2FzIHByZXZpb3VzbHkK bWVudGlvbmVkXS4gSWYgeW91IHRha2UgdGhlIGV4dHJlbWUgY2FzZSBvZiBvbmx5IDEgb3Ig MiBjb3JlIHZvbHRhZ2UKb3IgZ3JvdW5kIHBpbnMgc29sZGVyZWQgLSBldmVyeXRoaW5nIG1p Z2h0ICdsb29rIG9rIG1vc3Qgb2YgdGhlIHRpbWUnCmZvciBzaW1wbGUgc3R1ZmYsIGJ1dCB5 b3Ugd2lsbCBnZXQgJ3N0cmFuZ2UgYmVoYXZpb3InIHRoYXQgbWF5IG9yIG1heQpub3QgYmUg cmVwZWF0YWJsZS4KCkkgaGF2ZSAnZ290dGVuIGdyYXkgaGFpcicgZnJvbSBzY2VuYXJpb3Mg c2ltaWxhciB0byB0aGUgYWJvdmUgZXhhbXBsZXMuCgo+Cj4+PkhhdmUgeW91IHNldCB1cCB0 aGUgaW50ZXJmYWNlIHdpdGggdGhlIFJBTSB3aXRoIHRoZSBjb3JyZWN0IG51bWJlciBvZiB3 YWl0Cj4+PiBzdGF0ZXM/Cj4gICAtIEknbSBub3QgZmFtaWxpYXIgd2l0aCB0aGlzLiBTbyB3 aGF0IGlzIHRoZSAnd2FpdCBzdGF0ZXMnPyBJcyBpdCBhCj4gcGFyYW1ldGVyIG9mIEVNSUYg cmVnaXN0ZXI/Cgo8PG1sZD4+ClRoaXMgaXMgbm90IGFuIGlzc3VlIGZvciBjNnggaW50ZXJu YWwgbWVtb3J5LgoKPgo+Pj4gLVItcGFjayBvbiB0aGUgYm9hcmQgaGFzIG9uZSBiYWQgUiwK Pj4+IHNob3J0IGJldHdlZW4gUnMsIG9uZSBsZWFkIG5vdAo+Pj4gc29sZGVyZWQKPj4+Cj4+ PiAtb25lIGJhbGwgb3IgcGluIG9uIHRoZSBTRFJBTSBwYXJ0Cj4+PiBoYXMgYSBiYWQgc29s ZGVyIGpvaW50IChvciBzYW1lCj4+PiBpc3N1ZSB3aXRoIGJhbGwgb24gdGhlIERTUCkKPiAg IC0gWWVzLCB0aGVyZSBtYXliZSBzb21lIGtpbmQgb2YgSFcgcHJvYmxlbSwgYnV0IGNvbnNp ZGVyZWQgaXQganVzdCB1c2VkCj4gZm9yIGV4cGVyaW1lbnQsIGFuZCBkaWQgbm90IGhhcHBl biBub3csIHNvIHdlJ2xsIGtlZXAgdGhpcyBpbiBtaW5kIGlmIGl0Cj4gd2lsbCBoYXBwZW4g YW55IHRpbWUgaW4gdGhlIGZ1dHVyZS4KPgo+PkMuIElzIHRoZSBjb2RlIHdyaXR0ZW4gaW4g QyBvciBhc3NlbWJsZXI/Pwo+ICAgLSBpbiBDLgo+Cj4+Ri4gV2hhdCBoYXBwZW5zIGlmIHlv dSBwZXJmb3JtIDQgYnl0ZSByZWFkcyBbYWRkLCBhZGQrMSwgYWRkKzIsIGFkZCszXT8/Cj4+ Ry4gV2hhdCBoYXBwZW5zIGlmIHlvdSBwZXJmb3JtIDIgc2hvcnQgcmVhZHM/Pwo+ICAgLSBT aG91bGQgdGhpcyBjYW4gb25seSBiZSBkb25lIGlmIHdyaXRpbmcgYXNzZW1ibGVyIGNvZGVz Pwo+Cm5vLiBzZWUgZXhhbXBsZSBiZWxvdy4KLS0tLS0tLS0tLS0tLS0tLS0tIEMgY29kZSAt LS0KCS8vc2ltcGxlIGV4YW1wbGUgLSBub3QgdmVyeSBjcmVhdGl2ZS4KCXVuc2lnbmVkIGlu dCAgIG15VmFyQSAgID0gMHgxMTIyMzM0NDsgICAvL3NhbXBsZSAzMiBiaXQgcGF0dGVybgoJ cmVnaXN0ZXIgdW5zaWduZWQgY2hhciAqcE15Qnl0ZXMgPSAwOyAgICAgICAgICAgIC8vcG9p bnRlciB0byBzb21lIGJ5dGUKCXVuc2lnbmVkIGNoYXIgIGJ5dGUwLGJ5dGUxLGJ5dGUyLGJ5 dGUzOyAvLyBieXRlIHZhciBmb3IgcmVzdWx0CgoJcE15Qnl0ZXMgPSAodW5zaWduZWQgY2hh ciopJm15VmFyQTsgICAgIC8vc2V0IHBNeVZhckIxIHRvIHBvaW50IHRvCjFzdCBieXRlIG9m IHBhdHRlcm4KCWJ5dGUzICAgID0gKnBNeUJ5dGVzKys7CglieXRlMiAgICA9ICpwTXlCeXRl cysrOwoJYnl0ZTEgICAgPSAqcE15Qnl0ZXMrKzsKCWJ5dGUwICAgID0gKnBNeUJ5dGVzKys7 Ci0tLS0tLS0tLS0tLS0tLS0tLSBBc3NlbWJsZXIgY29kZSAtLQpTVUIuTDIgICAgICAgIEIx NSw4LEIxNQpNVksuUzIgICAgICAgIDB4MzM0NCxCNApNVktILlMyICAgICAgIDB4MTEyMjAw MDAsQjQKU1RXLkQyVDIgICAgICBCNCwqK0IxNVsxXQpOT1AgICAgICAgICAgIDIKQURELkwy ICAgICAgICA0LEIxNSxCNApMREJVLkQyVDIgICAgICpCNCsrWzFdLEI1Ck5PUCAgICAgICAg ICAgNApTVEIuRDJUMiAgICAgIEI1LCorQjE1WzExXQpOT1AgICAgICAgICAgIDIKTERCVS5E MlQyICAgICAqQjQrK1sxXSxCNQpOT1AgICAgICAgICAgIDQKU1RCLkQyVDIgICAgICBCNSwq K0IxNVsxMF0KTk9QICAgICAgICAgICAyCkxEQlUuRDJUMiAgICAgKkI0KytbMV0sQjUKTk9Q ICAgICAgICAgICA0ClNUQi5EMlQyICAgICAgQjUsKitCMTVbOV0KTk9QICAgICAgICAgICAy CkxEQlUuRDJUMiAgICAgKkI0KytbMV0sQjUKWkVSTy5MMSAgICAgICBBNApOT1AgICAgICAg ICAgIDMKU1RCLkQyVDIgICAgICBCNSwqK0IxNVs4XQotLS0KbWlrZWR1bm4KPiBUaGFua3Mh Cj4KPgo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiDN+NLXyte/7sPi t9EzRM34084izOzPwjIio6w21MI2yNW8pMfpuauy4goKCgotLSAKd3d3LmRzcHJlbGF0ZWQu Y29tL2Jsb2dzLTEvbmYvTWlrZV9EdW5uLnBocAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCgpPTUFQMzV4IEVWTSBqdW1wLXN0YXJ0cyBsb3ctcG93ZXIgYXBwcwot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVGhlIG1vZHVsYXIgYW5kIGV4 dGVuc2libGUgT01BUDM1eCBFdmFsdWF0aW9uIE1vZHVsZSAoRVZNKSBlbmFibGVzIGRldmVs b3BlcnMgdG8gc3RhcnQgYnVpbGRpbmcgYXBwbGljYXRpb25zIGJhc2VkIG9uIHRoZSBPTUFQ MzV4IGFyY2hpdGVjdHVyZTogaHR0cDovL3d3dy5EU1BSZWxhdGVkLmNvbS9vbWFwMzV4CgpO RVchICBZb3UgY2FuIG5vdyBwb3N0IGEgbWVzc2FnZSBvciBhY2Nlc3MgYW5kIHNlYXJjaCB0 aGUgYXJjaGl2ZXMgb2YgdGhpcyBncm91cCBvbiBEU1BSZWxhdGVkLmNvbToKaHR0cDovL3d3 dy5kc3ByZWxhdGVkLmNvbS9ncm91cHMvYzZ4LzEucGhwCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCk5vdGU6IElmIHlvdSBkbyBhIHNpbXBsZSAicmVwbHkiIHdp dGggeW91ciBlbWFpbCBjbGllbnQsIG9ubHkgdGhlIGF1dGhvciBvZiB0aGlzIG1lc3NhZ2Ug d2lsbCByZWNlaXZlIHlvdXIgYW5zd2VyLiAgWW91IG5lZWQgdG8gZG8gYSAicmVwbHkgYWxs IiBpZiB5b3Ugd2FudCB5b3VyIGFuc3dlciB0byBiZSBkaXN0cmlidXRlZCB0byB0aGUgZW50 aXJlIGdyb3VwLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBYm91 dCB0aGlzIGRpc2N1c3Npb24gZ3JvdXA6CgpBcmNoaXZlczogIGh0dHA6Ly93d3cuZHNwcmVs YXRlZC5jb20vZ3JvdXBzL2M2eC8xLnBocAoKVG8gUG9zdDogIFNlbmQgYW4gZW1haWwgdG8g YzZ4QHlhaG9vZ3JvdXBzLmNvbQoKT3RoZXIgRFNQIFJlbGF0ZWQgR3JvdXBzOiBodHRwOi8v d3d3LmRzcHJlbGF0ZWQuY29tL2dyb3Vwcy5waHBZYWhvbyEgR3JvdXBzIExpbmtzCgo8Kj4g VG8gdmlzaXQgeW91ciBncm91cCBvbiB0aGUgd2ViLCBnbyB0bzoKICAgIGh0dHA6Ly9ncm91 cHMueWFob28uY29tL2dyb3VwL2M2eC8KCjwqPiBZb3VyIGVtYWlsIHNldHRpbmdzOgogICAg SW5kaXZpZHVhbCBFbWFpbCB8IFRyYWRpdGlvbmFsCgo8Kj4gVG8gY2hhbmdlIHNldHRpbmdz IG9ubGluZSBnbyB0bzoKICAgIGh0dHA6Ly9ncm91cHMueWFob28uY29tL2dyb3VwL2M2eC9q b2luCiAgICAoWWFob28hIElEIHJlcXVpcmVkKQoKPCo+IFRvIGNoYW5nZSBzZXR0aW5ncyB2 aWEgZW1haWw6CiAgICBtYWlsdG86YzZ4LWRpZ2VzdEB5YWhvb2dyb3Vwcy5jb20gCiAgICBt YWlsdG86YzZ4LWZ1bGxmZWF0dXJlZEB5YWhvb2dyb3Vwcy5jb20KCjwqPiBUbyB1bnN1YnNj cmliZSBmcm9tIHRoaXMgZ3JvdXAsIHNlbmQgYW4gZW1haWwgdG86CiAgICBjNngtdW5zdWJz Y3JpYmVAeWFob29ncm91cHMuY29tCgo8Kj4gWW91ciB1c2Ugb2YgWWFob28hIEdyb3VwcyBp cyBzdWJqZWN0IHRvOgogICAgaHR0cDovL2RvY3MueWFob28uY29tL2luZm8vdGVybXMvCgo=