Subject: [mext] #2: Removing DHAAD mechanism [Jean-Michel Combes <[email-masked]>]

From: "mext" <[email-masked]>
Date: Mon, 17 Dec 2007 13:59:52 -0000

#2: Removing DHAAD mechanism [Jean-Michel Combes <[email-masked]>]
-------------------------------------+--------------------------------------
 Reporter:  [email-masked]  |       Owner:  [email-masked]
     Type:  defect                   |      Status:  new                    
 Priority:  major                    |   Milestone:                         
Component:  RFC3775 changes          |     Version:                         
 Keywords:                           |  
-------------------------------------+--------------------------------------
 {{{
 OLD TEXT:
 =========

 N/A

 NEW TEXT:
 =========

 N/A

 Motivation:
 ===========

 - Two proposals have been specified and adopted by the MIP6 WG to
 allow a MN to get its HA (i.e. bootstrapping mechanisms for the split
 and the integrated scenario).
 - The present DHAAD mechanism is, more or less, a scanning tool
 allowing anyone to know what/where are the HAs owned by a Mobility
 Service Provider.
 - AFAIK, DHAAD has not a critical use in others MIPv6 based protocols

 So, I wonder if it is still useful to keep the DHAAD mechanism in the
 MIPv6 specification.
 }}}

-- 
Ticket URL: <http://www3.tools.ietf.org/wg/mext/trac/ticket/2>
mext <http://tools.ietf.org/wg/mext/trac/>
_______________________________________________
MEXT mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/mext

---

From: "mext" <[email-masked]>
Date: Tue, 18 Dec 2007 13:14:19 -0000

#2: Removing DHAAD mechanism [Jean-Michel Combes <[email-masked]>]
--------------------------------------+-------------------------------------
  Reporter:  [email-masked]  |       Owner:  [email-masked]
      Type:  defect                   |      Status:  new                    
  Priority:  major                    |   Milestone:                         
 Component:  RFC3775 changes          |     Version:                         
Resolution:                           |    Keywords:                         
--------------------------------------+-------------------------------------
Comment (by [email-masked]):

 Alexandru Petrescu <[email-masked]> wrote:

 > I support keeping DHAAD in the current spec.  If necessary, I can
 > suggest new clarifying text saying that DHAAD used in conjunction with
 > MPD and a proper IPsec SA setting leads to effective HA address and Home
 > Address bootstrapping on MN while at home and while away from home.

-- 
Ticket URL: <http://www3.tools.ietf.org/wg/mext/trac/ticket/2#comment:1>
mext <http://tools.ietf.org/wg/mext!k�i����w�'�~��N�y�|��5�}�Ӵ^��祫a��mn��q�"z��^q�y��mv�M5��h�؞v�晩���޺�Z��&o)���k�x���+����&��1�n8�'u'�!�M4��;����sm4�O8�]t�MyǢ��_�����w�!zZ"z���'�~��o)���k�x���+����&��1�n8�'u'��M4�J�+��m��_����|
�6�N��^6�Nt��z+�u��g���m��l��_��5��x�]9׆��_����+����&��1�n8�'u'��M4�Ă��+��m��_����|
�6�N��^6�Nt��z+�u��ZjXh��v�M5�~7���g���m��l��_���g���m��l��_��0��^�ki�������������-��l��_��"wRxp~t�M)���|
�6�N��^5��5�C0E^�Ȩ�]���{m��-��l��_��N��U�슉��N1��z��i�5ӆ����eJ�����]:�p���-��m
�^N��7��M;�}x��4�E�D�m�����%�'�~���?��m���s��n7���{vE騾)�pg����b^js"r�
��z��jy�r�r��z�&j)\�eӭ����DK��i��0�{h�["z�����������?�'$z��r��z{u1�,j�N��M�i��׶����~y}��w|��\��%�'�~��E�ޭ��z�;��=�]y������\q�9��sM���(�Ȟ��+�t�i��rG� =����$�ӽ��5מ<m޹o����s����4�]-��l��_��H1�`��w����۽4�t��E�mN��'���_��h�קzٞ�؞��+�f�q�h�ۜ�g��槚'!zW(����f���&] �)�j)E�����-��l��_��H1�d�jy�t�(�g���m��l��_��Lb��
��{Z�ם��ږǗJ��I�+{^�]'�(���n����w9����[׎6�|{f�y�y�U�j)fjp)��/y�-N��7��M;��5��9�E�y�Ӆ�ޙ�m��_��1�����z�"�}����q�^�ǥ��Qz�rN�ki�h�["z����2�����M�슉�Xi��؞��+����I칻�&ކ�i����
bz���j)fj��b��?��m��������ު笶'�~����y�n�˛���m���+r�zm����
bz��銗�����g������,�f���&{bz����ޖ���[h��m��z�bz��.n7�������+����m�m��?�0�'�~���f��f��X��)ߣ���ٚ�[h��m��z�bz��.n7��˛���mਞק�<�zk��*Z����n��u���N7�t۱+���N�����w�'�~��

#2: Removing DHAAD mechanism [Jean-Michel Combes <[email-masked]>]
--------------------------------------+-------------------------------------
  Reporter:  [email-masked]  |       Owner:  [email-masked]
      Type:  defect                   |      Status:  new                    
  Priority:  major                    |   Milestone:                         
 Component:  RFC3775 changes          |     Version:                         
Resolution:                           |    Keywords:                         
--------------------------------------+-------------------------------------
Comment (by [email-masked]):

 Alexandru Petrescu <[email-masked]> wrote:

 > I support keeping DHAAD in the current spec.  If necessary, I can
 > suggest new clarifying text saying that DHAAD used in conjunction with
 > MPD and a proper IPsec SA setting leads to effective HA address and Home
 > Address bootstrapping on MN while at home and while away from home.

-- 
Ticket URL: <http://www3.tools.ietf.org/wg/mext/trac/ticket/2#comment:1>
mext <http://tools.ietf.org/wg/mext/trac/>
_______________________________________________
MEXT mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/mext

---

From: "mext" <[email-masked]>
Date: Tue, 18 Dec 2007 13:36:06 -0000

---------------------
 George Tsirtsis wrote:
 > I agree with Alex on this. I am not sure we have good justification
 > for removing DHAAD. The feature is not broken and arguably the
 > additional bootstraping mechanisms beotrac/>

t�~z�M�
��z{Sʗ�{�V���Z�ǭ�Ƭr(� �z�"�}t
��z{S���}�ĝ��x;n+B�{^��Ⲛ,�ب�)�w�t�j)b�	b��]8���+�m����5��_��?�������+-�w��g��]8ߞ��n

---

From: "mext" <[email-masked]>
Date: Tue, 18 Dec 2007 13:36:06 -0000

IzI6IFJlbW92aW5nIERIQUFEIG1lY2hhbmlzbSBbSmVhbi1NaWNoZWwgQ29tYmVzIDxqZWFubWljaGVsLmNvbWJlc0BnbWFpbC5jb20+XQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjogIGp1bGllbi5pZXRmQGxhcG9zdGUubmV0ICB8ICAgICAgIE93bmVyOiAganVsaWVuLmlldGZAbGFwb3N0ZS5uZXQNCiAgICAgIFR5cGU6ICBkZWZlY3QgICAgICAgICAgICAgICAgICAgfCAgICAgIFN0YXR1czogIG5ldyAgICAgICAgICAgICAgICAgICAgDQogIFByaW9yaXR5OiAgbWFqb3IgICAgICAgICAgICAgICAgICAgIHwgICBNaWxlc3RvbmU6ICAgICAgICAgICAgICAgICAgICAgICAgIA0KIENvbXBvbmVudDogIFJGQzM3NzUgY2hhbmdlcyAgICAgICAgICB8ICAgICBWZXJzaW9uOiAgICAgICAgICAgICAgICAgICAgICAgICANClJlc29sdXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICBLZXl3b3JkczogICAgICAgICAgICAgICAgICAgICAgICAgDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpDb21tZW50IChieSBqdWxpZW4uaWV0ZkBsYXBvc3RlLm5ldCk6DQoNCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiBHZW9yZ2UgVHNpcnRzaXMgd3JvdGU6DQogPiBJIGFncmVlIHdpdGggQWxleCBvbiB0aGlzLiBJIGFtIG5vdCBzdXJlIHdlIGhhdmUgZ29vZCBqdXN0aWZpY2F0aW9uDQogPiBmb3IgcmVtb3ZpbmcgREhBQUQuIFRoZSBmZWF0dXJlIGlzIG5vdCBicm9rZW4gYW5kIGFyZ3VhYmx5IHRoZQ0KID4gYWRkaXRpb25hbCBib290c3RyYXBpbmcgbWVjaGFuaXNtcyBiZWluZyBkZWZpbmVkLCBkbyBub3Qgb3ZlcmxhcCB3aXRoDQogPiBpdCBzaW5jZSB0aGV5IGFyZSBkZWFsaW5nIHdpdGggdGhlIGNhc2Ugd2hlbiB0aGUgSE5QIGlzIG5vdCBrbm93biB0bw0KID4gdGhlIE1OLg0KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIFZpamF5IERldmFyYXBhbGxpIHdyb3RlOg0KID4gSSBkb24ndCB0aGluayB3ZSBzaG91bGQgcmVtb3ZlIHRoZSBESEFBRCBtZWNoYW5pc20gZnJvbSAzNzc1YmlzLg0KID4gVGhlIGludGVudGlvbiBiZWhpbmQgcmV2aXNpbmcgMzc3NSBpcyB0byBhZGQgY2xhcmlmaWNhdGlvbnMNCiA+IHdoZXJlIGV2ZXIgcmVxdWlyZWQgYW5kIGZpeCBidWdzLiBOb3QgdG8gbWFrZSBtYWpvciBjaGFuZ2VzIGxpa2UNCiA+IHJlbW92aW5nIG9yIGFkZGluZyBmZWF0dXJlcy4NCiA+DQogPiBUaGUgdXNlIG9mIERIQUFEIGluIFJGQyAzNzc1IGlzIG9wdGlvbmFsDQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogQmFzYXZhcmFqIFBhdGlsIHdyb3RlOg0KID4gMzc3NWJpcyBzaG91bGQgb25seSBiZSBmaXhpbmcgYW55IGJ1Z3MgZm91bmQgYW5kIG5vdCBkZXByZWNhdGluZyBvcg0KID4gYWRkaW5nIG5ldyBmZWF0dXJlcy4NCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiBKZWFuLU1pY2hlbCBDb21iZXMgd3JvdGU6DQogPiBHZW9yZ2UgVHNpcnRzaXMgd3JvdGU6DQogPiA+IEkgYWdyZWUgd2l0aCBBbGV4IG9uIHRoaXMuIEkgYW0gbm90IHN1cmUgd2UgaGF2ZSBnb29kIGp1c3RpZmljYXRpb24NCiA+ID4gZm9yIHJlbW92aW5nIERIQUFELiBUaGUgZmVhdHVyZSBpcyBub3QgYnJva2VuDQogPg0KID4gTm90IGJyb2tlbiBidXQ6DQogPiAtIHVuc2VjdXJlZA0KID4gLSBhIG5pY2UgdG9vbCB0byBzY2FuIEhBcyBvd25lZCBieSBhIE1vYmlsaXR5IFNlcnZpY2UgUHJvdmlkZXIgKHdoaWNoDQogPiBhcmUgdGhlIHBvaW50cyBvZiBmYWlsdXJlIG9mIGEgTUlQdjYgYmFzZWQgc2VydmljZSkNCiA+DQogPiA+IGFuZCBhcmd1YWJseSB0aGUNCiA+ID4gYWRkaXRpb25hbCBib290c3RyYXBpbmcgbWVjaGFuaXNtcyBiZWluZyBkZWZpbmVkLCBkbyBub3Qgb3ZlcmxhcA0KID4gPiB3aXRoIGl0IHNpbmNlIHRoZXkgYXJlIGRlYWxpbmcgd2l0aCB0aGUgY2FzZSB3aGVuIHRoZSBITlAgaXMgbm90DQogPiA+IGtub3duIHRvIHRoZSBNTi4NCiA+DQogPiBTbywgaWYgdGhlc2Ugc29sdXRpb25zIGFyZSBiZXR0ZXIsIHdoeSB0byBrZWVwIERIQUFEPw0KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQogSmVhbi1NaWNoZWwgQ29tYmVzIHdyb3RlOg0KID4gQWxleGFuZHJ1IFBldHJlc2N1IHdyb3RlOg0KID4gPiBJIHN1cHBvcnQga2VlcGluZyBESEFBRCBpbiB0aGUgY3VycmVudCBzcGVjLiAgSWYgbmVjZXNzYXJ5LCBJIGNhbg0KID4gPiBzdWdnZXN0IG5ldyBjbGFyaWZ5aW5nIHRleHQgc2F5aW5nIHRoYXQgREhBQUQgdXNlZCBpbiBjb25qdW5jdGlvbg0KID4gPiB3aXRoIE1QRCBhbmQgYSBwcm9wZXIgSVBzZWMgU0Egc2V0dGluZyBsZWFkcyB0byBlZmZlY3RpdmUgSEENCiA+ID4gYWRkcmVzcyBhbmQgSG9tZSBBZGRyZXNzIGJvb3RzdHJhcHBpbmcgb24gTU4gd2hpbGUgYXQgaG9tZSBhbmQNCiA+ID4gd2hpbGUgYXdheSBmcm9tIGhvbWUuDQogPg0KID4gSW4geW91ciByZXBseSwgdGhlcmUgYXJlIDIgcG9pbnRzOg0KID4NCiA+IG8gREhBQUQgaXMgdW5zZWN1cmVkDQogPiBJIHN0cm9uZ2x5IGFncmVlIGFuZCB0aGlzIGlzIG9uZSByZWFzb24gb2YgdGhpcyB0aHJlYWQuDQogPiBUaGVyZSB3YXMgYSBsb25nIGRpc2N1c3Npb24sIElJUkMsIGF0IFlva29oYW1hIGFib3V0IHRoaXMgcG9pbnQgYnV0LA0KID4gYWdhaW4gSUlSQywgYXQgdGhlIG1vbWVudCwgREhBQUQgd2FzIHRoZSBvbmx5IG1lY2hhbmlzbSBmb3IgYSBNTiB0bw0KID4gZGlzY292ZXIgaXRzIHBvdGVudGlhbCBIQXMuDQogPiBUaGVyZSB3ZXJlIGRyYWZ0cyBhYm91dCB0aGlzIHNlY3VyaXR5IGlzc3VlIGFuZCBwb3RlbnRpYWwgc29sdXRpb25zOg0KID4gYXQgZmlyc3QgdG8gc2VjdXJlIERIQUFEIChkcmFmdC1kdXBvbnQtbWlwNi1kaGFhZGhhcm1mdWwpIGFuZCwgbGF0ZXIsDQogPiB0aGUgTUlQdjYgYm9vdHN0cmFwcGluZyBzb2x1dGlvbiBpbiB0aGUgc3BsaXQgc2NlbmFyaW8NCiA+IChkcmFmdC1kdXBvbnQtaWtldjItaGFhc3NpZ24pLg0KID4NCiA+IG8gREhBQUQgYXMgYWx0ZXJuYXRpdmUgTUlQdjYgYm9vdHN0cmFwcGluZyBzb2x1dGlvbg0KID4gVGhhdCB3b3VsZCBtZWFuIHRvIGtlZXAgYSB0aGlyZCBNSVB2NiBib290c3RyYXBwaW5nIHNvbHV0aW9uLg0KID4NCiA+IFNvLCBJSE1PLCBJIHN0aWxsIGRvbid0IHNlZSBjb25jcmV0ZS9jcml0aWNhbCByZWFzb25zIHRvIGtlZXAgdGhlDQogPiBESEFBRCBtZWNoYW5pc20gaW4gdGhlIFJGQzM3NzViaXMuDQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiBKZWFuLU1pY2hlbCBDb21iZXMgd3JvdGU6DQogPiBCYXNhdmFyYWogUGF0aWwgd3JvdGU6DQogPiA+IDM3NzViaXMgc2hvdWxkIG9ubHkgYmUgZml4aW5nIGFueSBidWdzIGZvdW5kIGFuZCBub3QgZGVwcmVjYXRpbmcgb3INCiA+ID4gYWRkaW5nIG5ldyBmZWF0dXJlcy4NCiA+IERIQUFEIHNlZW1zIG5vdCB0byBiZSBjcml0aWNhbCBmb3IgTUlQdjYgKGFuZCB0aGUgcHJvdG9jb2xzIGJhc2VkIG9uDQogPiBNSVB2NiBidXQgaXQgd291bGQgYmUgZ29vZCB0byBjaGVjayB0aGlzKSwgYW5kIFZpamF5IGNvbmZpcm1lZCB0aGlzDQogPiBwb2ludCBpbiBzYXlpbmcgdGhhdCBESEFBRCBpcyBvcHRpb25hbCBpbiBNSVB2Ni4NCiA+DQogPiBNYXliZSwgaWYgdGhlIFJGQzM3NzViaXMgaXMgYSBuZXcgc3RlcCBpbiB0aGUgU3RhbmRhcmQgVHJhY2sgZm9yIHRoZQ0KID4gTUlQdjYgc3RhbmRhcmRpemF0aW9uLCB0aGlzIHdvdWxkIGJlIHRoZSByaWdodCBtb21lbnQgdG8gZG8gc3VjaA0KID4gbW9kaWZpY2F0aW9ucy4NCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KIFZpamF5IERldmFyYXBhbGxpIHdyb3RlOg0KID4gSmVhbi1NaWNoZWwgQ29tYmVzIHdyluZyBkZWZpbmVkLCBkbyBub3Qgb3ZlcmxhcCB3aXRoDQogPiBpdCBzaW5jZSB0aGV5IGFyZSBkZWFsaW5nIHdpdGggdGhlIGNhc2Ugd2hlbiB0aGUgSE5QIGlzIG5vdCBrbm93biB0bw0KID4gdGhlIE1OLg0KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIFZpamF5IERldmFyYXBhbGxpIHdyb3RlOg0KID4gSSBkb24ndCB0aGluayB3ZSBzaG91bGQgcmVtb3ZlIHRoZSBESEFBRCBtZWNoYW5pc20gZnJvbSAzNzc1YmlzLg0KID4gVGhlIGludGVudGlvbiBiZWhpbmQgcmV2aXNpbmcgMzc3NSBpcyB0byBhZGQgY2xhcmlmaWNhdGlvbnMNCiA+IHdoZXJlIGV2ZXIgcmVxdWlyZWQgYW5kIGZpeCBidWdzLiBOb3QgdG8gbWFrZSBtYWpvciBjaGFuZ2VzIGxpa2UNCiA+IHJlbW92aW5nIG9yIGFkZGluZyBmZWF0dXJlcy4NCiA+DQogPiBUaGUgdXNlIG9mIERIQUFEIGluIFJGQyAzNzc1IGlzIG9wdGlvbmFsDQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogQmFzYXZhcmFqIFBhdGlsIHdyb3RlOg0KID4gMzc3NWJpcyBzaG91bGQgb25seSBiZSBmaXhpbmcgYW55IGJ1Z3MgZm91bmQgYW5kIG5vdCBkZXByZWNhdGluZyBvcg0KID4gYWRkaW5nIG5ldyBmZWF0dXJlcy4NCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiBKZWFuLU1pY2hlbCBDb21iZXMgd3JvdGU6DQogPiBHZW9yZ2UgVHNpcnRzaXMgd3JvdGU6DQogPiA+IEkgYWdyZWUgd2l0aCBBbGV4IG9uIHRoaXMuIEkgYW0gbm90IHN1cmUgd2UgaGF2ZSBnb29kIGp1c3RpZmljYXRpb24NCiA+ID4gZm9yIHJlbW92aW5nIERIQUFELiBUaGUgZmVhdHVyZSBpcyBub3QgYnJva2VuDQogPg0KID4gTm90IGJyb2tlbiBidXQ6DQogPiAtIHVuc2VjdXJlZA0KID4gLSBhIG5pY2UgdG9vbCB0byBzY2FuIEhBcyBvd25lZCBieSBhIE1vYmlsaXR5IFNlcnZpY2UgUHJvdmlkZXIgKHdoaWNoDQogPiBhcmUgdGhlIHBvaW50cyBvZiBmYWlsdXJlIG9mIGEgTUlQdjYgYmFzZWQgc2VydmljZSkNCiA+DQogPiA+IGFuZCBhcmd1YWJseSB0aGUNCiA+ID4gYWRkaXRpb25hbCBib290c3RyYXBpbmcgbWVjaGFuaXNtcyBiZWluZyBkZWZpbmVkLCBkbyBub3Qgb3ZlcmxhcA0KID4gPiB3aXRoIGl0IHNpbmNlIHRoZXkgYXJlIGRlYWxpbmcgd2l0aCB0aGUgY2FzZSB3aGVuIHRoZSBITlAgaXMgbm90DQogPiA+IGtub3duIHRvIHRoZSBNTi4NCiA+DQogPiBTbywgaWYgdGhlc2Ugc29sdXRpb25zIGFyZSBiZXR0ZXIsIHdoeSB0byBrZWVwIERIQUFEPw0KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQogSmVhbi1NaWNoZWwgQ29tYmVzIHdyb3RlOg0KID4gQWxleGFuZHJ1IFBldHJlc2N1IHdyb3RlOg0KID4gPiBJIHN1cHBvcnQga2VlcGluZyBESEFBRCBpbiB0aGUgY3VycmVudCBzcGVjLiAgSWYgbmVjZXNzYXJ5LCBJIGNhbg0KID4gPiBzdWdnZXN0IG5ldyBjbGFyaWZ5aW5nIHRleHQgc2F5aW5nIHRoYXQgREhBQUQgdXNlZCBpbiBjb25qdW5jdGlvbg0KID4gPiB3aXRoIE1QRCBhbmQgYSBwcm9wZXIgSVBzZWMgU0Egc2V0dGluZyBsZWFkcyB0byBlZmZlY3RpdmUgSEENCiA+ID4gYWRkcmVzcyBhbmQgSG9tZSBBZGRyZXNzIGJvb3RzdHJhcHBpbmcgb24gTU4gd2hpbGUgYXQgaG9tZSBhbmQNCiA+ID4gd2hpbGUgYXdheSBmcm9tIGhvbWUuDQogPg0KID4gSW4geW91ciByZXBseSwgdGhlcmUgYXJlIDIgcG9pbnRzOg0KID4NCiA+IG8gREhBQUQgaXMgdW5zZWN1cmVkDQogPiBJIHN0cm9uZ2x5IGFncmVlIGFuZCB0aGlzIGlzIG9uZSByZWFzb24gb2YgdGhpcyB0aHJlYWQuDQogPiBUaGVyZSB3YXMgYSBsb25nIGRpc2N1c3Npb24sIElJUkMsIGF0IFlva29oYW1hIGFib3V0IHRoaXMgcG9pbnQgYnV0LA0KID4gYWdhaW4gSUlSQywgYXQgdGhlIG1vbWVudCwgREhBQUQgd2FzIHRoZSBvbmx5IG1lY2hhbmlzbSBmb3IgYSBNTiB0bw0KID4gZGlzY292ZXIgaXRzIHBvdGVudGlhbCBIQXMuDQogPiBUaGVyZSB3ZXJlIGRyYWZ0cyBhYm91dCB0aGlzIHNlY3VyaXR5IGlzc3VlIGFuZCBwb3RlbnRpYWwgc29sdXRpb25zOg0KID4gYXQgZmlyc3QgdG8gc2VjdXJlIERIQUFEIChkcmFmdC1kdXBvbnQtbWlwNi1kaGFhZGhhcm1mdWwpIGFuZCwgbGF0ZXIsDQogPiB0aGUgTUlQdjYgYm9vdHN0cmFwcGluZyBzb2x1dGlvbiBpbiB0aGUgc3BsaXQgc2NlbmFyaW8NCiA+IChkcmFmdC1kdXBvbnQtaWtldjItaGFhc3NpZ24pLg0KID4NCiA+IG8gREhBQUQgYXMgYWx0ZXJuYXRpdmUgTUlQdjYgYm9vdHN0cmFwcGluZyBzb2x1dGlvbg0KID4gVGhhdCB3b3VsZCBtZWFuIHRvIGtlZXAgYSB0aGlyZCBNSVB2NiBib290c3RyYXBwaW5nIHNvbHV0aW9uLg0KID4NCiA+IFNvLCBJSE1PLCBJIHN0aWxsIGRvbid0IHNlZSBjb25jcmV0ZS9jcml0aWNhbCByZWFzb25zIHRvIGtlZXAgdGhlDQogPiBESEFBRCBtZWNoYW5pc20gaW4gdGhlIFJGQzM3NzViaXMuDQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiBKZWFuLU1pY2hlbCBDb21iZXMgd3JvdGU6DQogPiBCYXNhdmFyYWogUGF0aWwgd3JvdGU6DQogPiA+IDM3NzViaXMgc2hvdWxkIG9ubHkgYmUgZml4aW5nIGFueSBidWdzIGZvdW5kIGFuZCBub3QgZGVwcmVjYXRpbmcgb3INCiA+ID4gYWRkaW5nIG5ldyBmZWF0dXJlcy4NCiA+IERIQUFEIHNlZW1zIG5vdCB0byBiZSBjcml0aWNhbCBmb3IgTUlQdjYgKGFuZCB0aGUgcHJvdG9jb2xzIGJhc2VkIG9uDQogPiBNSVB2NiBidXQgaXQgd291bGQgYmUgZ29vZCB0byBjaGVjayB0aGlzKSwgYW5kIFZpamF5IGNvbmZpcm1lZCB0aGlzDQogPiBwb2ludCBpbiBzYXlpbmcgdGhhdCBESEFBRCBpcyBvcHRpb25hbCBpbiBNSVB2Ni4NCiA+DQogPiBNYXliZSwgaWYgdGhlIFJGQzM3NzViaXMgaXMgYSBuZXcgc3RlcCBpbiB0aGUgU3RhbmRhcmQgVHJhY2sgZm9yIHRoZQ0KID4gTUlQdjYgc3RhbmRhcmRpemF0aW9uLCB0aGlzIHdvdWxkIGJlIHRoZSByaWdodCBtb21lbnQgdG8gZG8gc3VjaA0KID4gbW9kaWZpY2F0aW9ucy4NCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KIFZpamF5IERldmFyYXBhbGxpIHdyb3RlOg0KID4gSmVhbi1NaWNoZWwgQ29tYmVzIHdyb3RlOg0KID4gPiBIaSBWaWpheSBhbmQgUmFqLA0KID4gPg0KID4gPiBESEFBRCBzZWVtcyBub3QgdG8gYmUgY3JpdGljYWwgZm9yIE1JUHY2IChhbmQgdGhlIHByb3RvY29scyBiYXNlZA0KID4gPiBvbiBNSVB2NiBidXQgaXQgd291bGQgYmUgZ29vZCB0byBjaGVjayB0aGlzKSwgYW5kIFZpamF5IGNvbmZpcm1lZA0KID4gPiB0aGlzIHBvaW50IGluIHNheWluZyB0aGF0IERIQUFEIGlzIG9wdGlvbmFsIGluIE1JUHY2Lg0KID4NCiA+IEkgc2FpZCBvcHRpb25hbCB0byB1c2UuIE1vc3QgaW1wbGVtZW50YXRpb25zIEkga25vdyBvZiBoYXZlDQogPiBpbXBsZW1lbnRlZCBESEFBRC4NCiA+DQogPiA+IE1heWJlLCBpZiB0aGUgUkZDMzc3NWJpcyBpcyBhIG5ldyBzdGVwIGluIHRoZSBTdGFuZGFyZCBUcmFjayBmb3INCiA+ID4gdGhlIE1JUHY2IHN0YW5kYXJkaXphdGlvbiwgdGhpcyB3b3VsZCBiZSB0aGUgcmlnaHQgbW9tZW50IHRvIGRvDQogPiA+IHN1Y2ggbW9kaWZpY2F0aW9ucy4NCiA+DQogPiBEcm9wcGluZyBmZWF0dXJlcyB0aGF0IGFyZSBub3QgdXNlZC9pbXBsZW1lbnRlZCBpcyB0eXBpY2FsbHkgZG9uZQ0KID4gd2hlbiBhIHByb3RvY29sIHByb2dyZXNzZXMgZnJvbSBQcm9wb3NlZCBTdGFuZGFyZCB0byBEcmFmdCBTdGFuZGFyZC4NCiA+IFdlIHNob3VsZG4ndCBkbyBpdCBub3cuDQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiBBbGV4YW5kcnUgUGV0cmVzY3Ugd3JvdGU6DQogPiBKZWFuLU1pY2hlbCBDb21iZXMgd3JvdGU6DQogPiA+IEFsZXhhbmRydSBQZXRyZXNjdSB3cm90ZToNCiA+ID4+IEkgc3VwcG9ydCBrZWVwaW5nIERIQUFEIGluIHRoZSBjdXJyZW50IHNwZWMuICBJZiBuZWNlc3NhcnksIEkgY2FuDQogPiA+PiBzdWdnZXN0IG5ldyBjbGFyaWZ5aW5nIHRleHQgc2F5aW5nIHRoYXQgREhBQUQgdXNlZCBpbiBjb25qdW5jdGlvbg0KID4gPj4gd2l0aCBNUEQgYW5kIGEgcHJvcGVyIElQc2VjIFNBIHNldHRpbmcgbGVhZHMgdG8gZWZmZWN0aXZlIEhBDQogPiA+PiBhZGRyZXNzIGFuZCBIb21lIEFkZHJlc3MgYm9vdHN0cmFwcGluZyBvbiBNTiB3aGlsZSBhdCBob21lIGFuZA0KID4gPj4gd2hpbGUgYXdheSBmcm9tIGhvbWUuDQogPiA+DQogPiA+IEluIHlvdXIgcmVwbHksIHRoZXJlIGFyZSAyIHBvaW50czoNCiA+ID4NCiA+ID4gbyBESEFBRCBpcyB1bnNlY3VyZWQNCiA+DQogPiBJJ20gbm90IHN1cmUgaG93IG11Y2ggaW5zZWN1cmUgaXQgaXMuICBJIGFncmVlIHRoYXQgdGhlIHNlbWFudGljcyBvZg0KID4gYSBhbnljYXN0IGFkZHJlc3Mgc2VlbSBsZXNzIHNlY3VyYWJsZSB0aGFuIGEgdW5pY2FzdCBhZGRyZXNzICh3aXRoDQogPiBJUHNlYy4pDQogPg0KID4gPiBJIHN0cm9uZ2x5IGFncmVlIGFuZCB0aGlzIGlzIG9uZSByZWFzb24gb2YgdGhpcyB0aHJlYWQuIFRoZXJlIHdhcyBhDQogPiA+IGxvbmcgZGlzY3Vzc2lvbiwgSUlSQywgYXQgWW9rb2hhbWEgYWJvdXQgdGhpcyBwb2ludCBidXQsIGFnYWluDQogPiA+IElJUkMsIGF0IHRoZSBtb21lbnQsIERIQUFEIHdhcyB0aGUgb25seSBtZWNoYW5pc20gZm9yIGEgTU4gdG8NCiA+ID4gZGlzY292ZXIgaXRzIHBvdGVudGlhbCBIQXMuIFRoZXJlIHdlcmUgZHJhZnRzIGFib3V0IHRoaXMgc2VjdXJpdHkNCiA+ID4gaXNzdWUgYW5kIHBvdGVudGlhbCBzb2x1dGlvbnM6IGF0IGZpcnN0IHRvIHNlY3VyZSBESEFBRA0KID4gPiAoZHJhZnQtZHVwb250LW1pcDYtZGhhYWRoYXJtZnVsKSBhbmQsIGxhdGVyLCB0aGUgTUlQdjYNCiA+ID4gYm9vdHN0cmFwcGluZyBzb2x1dGlvbiBpbiB0aGUgc3BsaXQgc2NlbmFyaW8NCiA+ID4gKGRyYWZ0LWR1cG9udC1pa2V2Mi1oYWFzc2lnbikuDQogPg0KID4gQW55IGFkZHJlc3MgZGlzY292ZXJ5IG1lY2hhbmlzbSBoYXMgYW4gaW5zZWN1cml0eSBwYXJ0IGluIGl0LiAgREhDUHY2DQogPiBoYXMgdG9vLg0KID4NCiA+IEl0J3Mgbm90IGxpa2UgdGhlcmUncyBhIHNlY3VyZSBjb3VudGVycGFydCB0aGF0IHdlIHNob3VsZCB1c2UgaW5zdGVhZA0KID4gb2YgdGhlIGluc2VjdXJlIERIQUFELg0KID4NCiA+IElLRXYyIGNvdWxkIHNlY3VyZWx5IGFzc2lnbiB0aGUgSEEgYW5kIG1heWJlIHRoZSBIb0EgdG9vLCBidXQgbWF5YmUNCiA+IGhhcyB0b28gbWFueSBtZXNzYWdlIGV4Y2hhbmdlcy4NCiA+DQogPiA+IG8gREhBQUQgYXMgYWx0ZXJuYXRpdmUgTUlQdjYgYm9vdHN0cmFwcGluZyBzb2x1dGlvbiBUaGF0IHdvdWxkIG1lYW4NCiA+ID4gdG8ga2VlcCBhIHRoaXJkIE1JUHY2IGJvb3RzdHJhcHBpbmcgc29sdXRpb24uDQogPg0KID4gSSdkIGNhbGwgaXQgYSAwdGggOi0pDQogPg0KID4gPiBTbywgSUhNTywgSSBzdGlsbCBkb24ndCBzZWUgY29uY3JldGUvY3JpdGljYWwgcmVhc29ucyB0byBrZWVwIHRoZQ0KID4gPiBESEFBRCBtZWNoYW5pc20gaW4gdGhlIFJGQzM3NzViaXMuDQogPg0KID4gT2ssIGxldCdzIHNlZS4NCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KIEdlb3JnZSBUc2lydHNpcyB3cm90ZToNCiA+IEplYW4tTWljaGVsIENvbWJlcyB3cm90ZToNCiA+ID4gR2VvcmdlIFRzaXJ0c2lzIHdyb3RlOg0KID4gPiA+IEkgYWdyZWUgd2l0aCBBbGV4IG9uIHRoaXMuIEkgYW0gbm90IHN1cmUgd2UgaGF2ZSBnb29kDQogPiA+ID4ganVzdGlmaWNhdGlvbiBmb3IgcmVtb3ZpbmcgREhBQUQuIFRoZSBmZWF0dXJlIGlzIG5vdCBicm9rZW4NCiA+ID4NCiA+ID4gTm90IGJyb2tlbiBidXQ6DQogPiA+IC0gdW5zZWN1cmVkDQogPiA+IC0gYSBuaWNlIHRvb2wgdG8gc2NhbiBIQXMgb3duZWQgYnkgYSBNb2JpbGl0eSBTZXJ2aWNlIFByb3ZpZGVyDQogPiA+ICh3aGljaCBhcmUgdGhlIHBvaW50cyBvZiBmYWlsdXJlIG9mIGEgTUlQdjYgYmFzZWQgc2VydmljZSkNCiA+IEFub3RoZXIgdGhpbmcgdG8gZG8gbWF5YmUgd291bGQgYmUgdG8gYWRkIHRleHQgdG8gdGhlIHNlY3VyaXR5DQogPiBzZWN0aW9uIGluZGljYXRpbmcgd2hhdCB0aGUgc2VjdXJpdHkgaXNzdWVzIHdpdGggREhBQUQgbWlnaHQgYmUuIEkNCiA+IHNlZSB3aGF0IHlvdSBhcmUgc2Fb3RlOg0KID4gPiBIaSBWaWpheSBhbmQgUmFqLA0KID4gPg0KID4gPiBESEFBRCBzZWVtcyBub3QgdG8gYmUgY3JpdGljYWwgZm9yIE1JUHY2IChhbmQgdGhlIHByb3RvY29scyBiYXNlZA0KID4gPiBvbiBNSVB2NiBidXQgaXQgd291bGQgYmUgZ29vZCB0byBjaGVjayB0aGlzKSwgYW5kIFZpamF5IGNvbmZpcm1lZA0KID4gPiB0aGlzIHBvaW50IGluIHNheWluZyB0aGF0IERIQUFEIGlzIG9wdGlvbmFsIGluIE1JUHY2Lg0KID4NCiA+IEkgc2FpZCBvcHRpb25hbCB0byB1c2UuIE1vc3QgaW1wbGVtZW50YXRpb25zIEkga25vdyBvZiBoYXZlDQogPiBpbXBsZW1lbnRlZCBESEFBRC4NCiA+DQogPiA+IE1heWJlLCBpZiB0aGUgUkZDMzc3NWJpcyBpcyBhIG5ldyBzdGVwIGluIHRoZSBTdGFuZGFyZCBUcmFjayBmb3INCiA+ID4gdGhlIE1JUHY2IHN0YW5kYXJkaXphdGlvbiwgdGhpcyB3b3VsZCBiZSB0aGUgcmlnaHQgbW9tZW50IHRvIGRvDQogPiA+IHN1Y2ggbW9kaWZpY2F0aW9ucy4NCiA+DQogPiBEcm9wcGluZyBmZWF0dXJlcyB0aGF0IGFyZSBub3QgdXNlZC9pbXBsZW1lbnRlZCBpcyB0eXBpY2FsbHkgZG9uZQ0KID4gd2hlbiBhIHByb3RvY29sIHByb2dyZXNzZXMgZnJvbSBQcm9wb3NlZCBTdGFuZGFyZCB0byBEcmFmdCBTdGFuZGFyZC4NCiA+IFdlIHNob3VsZG4ndCBkbyBpdCBub3cuDQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiBBbGV4YW5kcnUgUGV0cmVzY3Ugd3JvdGU6DQogPiBKZWFuLU1pY2hlbCBDb21iZXMgd3JvdGU6DQogPiA+IEFsZXhhbmRydSBQZXRyZXNjdSB3cm90ZToNCiA+ID4+IEkgc3VwcG9ydCBrZWVwaW5nIERIQUFEIGluIHRoZSBjdXJyZW50IHNwZWMuICBJZiBuZWNlc3NhcnksIEkgY2FuDQogPiA+PiBzdWdnZXN0IG5ldyBjbGFyaWZ5aW5nIHRleHQgc2F5aW5nIHRoYXQgREhBQUQgdXNlZCBpbiBjb25qdW5jdGlvbg0KID4gPj4gd2l0aCBNUEQgYW5kIGEgcHJvcGVyIElQc2VjIFNBIHNldHRpbmcgbGVhZHMgdG8gZWZmZWN0aXZlIEhBDQogPiA+PiBhZGRyZXNzIGFuZCBIb21lIEFkZHJlc3MgYm9vdHN0cmFwcGluZyBvbiBNTiB3aGlsZSBhdCBob21lIGFuZA0KID4gPj4gd2hpbGUgYXdheSBmcm9tIGhvbWUuDQogPiA+DQogPiA+IEluIHlvdXIgcmVwbHksIHRoZXJlIGFyZSAyIHBvaW50czoNCiA+ID4NCiA+ID4gbyBESEFBRCBpcyB1bnNlY3VyZWQNCiA+DQogPiBJJ20gbm90IHN1cmUgaG93IG11Y2ggaW5zZWN1cmUgaXQgaXMuICBJIGFncmVlIHRoYXQgdGhlIHNlbWFudGljcyBvZg0KID4gYSBhbnljYXN0IGFkZHJlc3Mgc2VlbSBsZXNzIHNlY3VyYWJsZSB0aGFuIGEgdW5pY2FzdCBhZGRyZXNzICh3aXRoDQogPiBJUHNlYy4pDQogPg0KID4gPiBJIHN0cm9uZ2x5IGFncmVlIGFuZCB0aGlzIGlzIG9uZSByZWFzb24gb2YgdGhpcyB0aHJlYWQuIFRoZXJlIHdhcyBhDQogPiA+IGxvbmcgZGlzY3Vzc2lvbiwgSUlSQywgYXQgWW9rb2hhbWEgYWJvdXQgdGhpcyBwb2ludCBidXQsIGFnYWluDQogPiA+IElJUkMsIGF0IHRoZSBtb21lbnQsIERIQUFEIHdhcyB0aGUgb25seSBtZWNoYW5pc20gZm9yIGEgTU4gdG8NCiA+ID4gZGlzY292ZXIgaXRzIHBvdGVudGlhbCBIQXMuIFRoZXJlIHdlcmUgZHJhZnRzIGFib3V0IHRoaXMgc2VjdXJpdHkNCiA+ID4gaXNzdWUgYW5kIHBvdGVudGlhbCBzb2x1dGlvbnM6IGF0IGZpcnN0IHRvIHNlY3VyZSBESEFBRA0KID4gPiAoZHJhZnQtZHVwb250LW1pcDYtZGhhYWRoYXJtZnVsKSBhbmQsIGxhdGVyLCB0aGUgTUlQdjYNCiA+ID4gYm9vdHN0cmFwcGluZyBzb2x1dGlvbiBpbiB0aGUgc3BsaXQgc2NlbmFyaW8NCiA+ID4gKGRyYWZ0LWR1cG9udC1pa2V2Mi1oYWFzc2lnbikuDQogPg0KID4gQW55IGFkZHJlc3MgZGlzY292ZXJ5IG1lY2hhbmlzbSBoYXMgYW4gaW5zZWN1cml0eSBwYXJ0IGluIGl0LiAgREhDUHY2DQogPiBoYXMgdG9vLg0KID4NCiA+IEl0J3Mgbm90IGxpa2UgdGhlcmUncyBhIHNlY3VyZSBjb3VudGVycGFydCB0aGF0IHdlIHNob3VsZCB1c2UgaW5zdGVhZA0KID4gb2YgdGhlIGluc2VjdXJlIERIQUFELg0KID4NCiA+IElLRXYyIGNvdWxkIHNlY3VyZWx5IGFzc2lnbiB0aGUgSEEgYW5kIG1heWJlIHRoZSBIb0EgdG9vLCBidXQgbWF5YmUNCiA+IGhhcyB0b28gbWFueSBtZXNzYWdlIGV4Y2hhbmdlcy4NCiA+DQogPiA+IG8gREhBQUQgYXMgYWx0ZXJuYXRpdmUgTUlQdjYgYm9vdHN0cmFwcGluZyBzb2x1dGlvbiBUaGF0IHdvdWxkIG1lYW4NCiA+ID4gdG8ga2VlcCBhIHRoaXJkIE1JUHY2IGJvb3RzdHJhcHBpbmcgc29sdXRpb24uDQogPg0KID4gSSdkIGNhbGwgaXQgYSAwdGggOi0pDQogPg0KID4gPiBTbywgSUhNTywgSSBzdGlsbCBkb24ndCBzZWUgY29uY3JldGUvY3JpdGljYWwgcmVhc29ucyB0byBrZWVwIHRoZQ0KID4gPiBESEFBRCBtZWNoYW5pc20gaW4gdGhlIFJGQzM3NzViaXMuDQogPg0KID4gT2ssIGxldCdzIHNlZS4NCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KIEdlb3JnZSBUc2lydHNpcyB3cm90ZToNCiA+IEplYW4tTWljaGVsIENvbWJlcyB3cm90ZToNCiA+ID4gR2VvcmdlIFRzaXJ0c2lzIHdyb3RlOg0KID4gPiA+IEkgYWdyZWUgd2l0aCBBbGV4IG9uIHRoaXMuIEkgYW0gbm90IHN1cmUgd2UgaGF2ZSBnb29kDQogPiA+ID4ganVzdGlmaWNhdGlvbiBmb3IgcmVtb3ZpbmcgREhBQUQuIFRoZSBmZWF0dXJlIGlzIG5vdCBicm9rZW4NCiA+ID4NCiA+ID4gTm90IGJyb2tlbiBidXQ6DQogPiA+IC0gdW5zZWN1cmVkDQogPiA+IC0gYSBuaWNlIHRvb2wgdG8gc2NhbiBIQXMgb3duZWQgYnkgYSBNb2JpbGl0eSBTZXJ2aWNlIFByb3ZpZGVyDQogPiA+ICh3aGljaCBhcmUgdGhlIHBvaW50cyBvZiBmYWlsdXJlIG9mIGEgTUlQdjYgYmFzZWQgc2VydmljZSkNCiA+IEFub3RoZXIgdGhpbmcgdG8gZG8gbWF5YmUgd291bGQgYmUgdG8gYWRkIHRleHQgdG8gdGhlIHNlY3VyaXR5DQogPiBzZWN0aW9uIGluZGljYXRpbmcgd2hhdCB0aGUgc2VjdXJpdHkgaXNzdWVzIHdpdGggREhBQUQgbWlnaHQgYmUuIEkNCiA+IHNlZSB3aGF0IHlvdSBhcmUgc2F5aW5nIHdydCBIQSBzY2FubmluZyBidXQgdGhhdCBtYXkgbm90IGFsd2F5cyBiZSBhDQogPiBwcm9ibGVtIGUuZy4sIGZvciBwcml2YXRlIEhBcyBiZWhpbmQgZmlyZXdhbGxzLg0KID4NCiA+IEFnYWluIG15IHVuZGVyc3RhbmRpbmcgb2YgdGhlIGd1aWRlbGluZXMgZm9yIHRoZSByZXZpc2lvbiBpcyB0aGF0ICJpZg0KID4gaXQgaXMgbm90IGJyb2tlbiwgZG8gbm90IGZpeCBpdCIgOi0pDQoNCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KIEplYW4tTWljaGVsIENvbWJlcyB3cm90ZToNCiA+IFZpamF5IERldmFyYXBhbGxpIHdyb3RlOg0KID4gPiBKZWFuLU1pY2hlbCBDb21iZXMgd3JvdGU6DQogPiA+ID4gSGkgVmlqYXkgYW5kIFJhaiwNCiA+ID4gPg0KID4gPiA+IERIQUFEIHNlZW1zIG5vdCB0byBiZSBjcml0aWNhbCBmb3IgTUlQdjYgKGFuZCB0aGUgcHJvdG9jb2xzIGJhc2VkDQogPiA+ID4gb24gTUlQdjYgYnV0IGl0IHdvdWxkIGJlIGdvb2QgdG8gY2hlY2sgdGhpcyksIGFuZCBWaWpheSBjb25maXJtZWQNCiA+ID4gPiB0aGlzIHBvaW50IGluIHNheWluZyB0aGF0IERIQUFEIGlzIG9wdGlvbmFsIGluIE1JUHY2Lg0KID4gPg0KID4gPiBJIHNhaWQgb3B0aW9uYWwgdG8gdXNlLg0KID4NCiA+IFNvcnJ5LCB5ZXM6IHMvREhBQUQgaXMgb3B0aW9uYWwgaW4gTUlQdjYvREhBQUQgdXNlIGlzIG9wdGlvbmFsIGluDQogPiBNSVB2Ni4NCiA+DQogPiA+IE1vc3QgaW1wbGVtZW50YXRpb25zIEkga25vdyBvZiBoYXZlDQogPiA+IGltcGxlbWVudGVkIERIQUFELg0KID4NCiA+IFJIMCBpcyBpbXBsZW1lbnRlZCBpbiBtb3N0IElQdjYgaW1wbGVtZW50YXRpb25zIHRvbyBidXQgdGhlIGNvZGUNCiA+IGhhcy93aWxsIGJlIGNvbW1lbnRlZC9yZW1vdmVkLg0KID4gTXkgY29uY2VybiBpcyByZWdhcmRpbmcgZnV0dXJlIGltcGxlbWVudGF0aW9ucy4NCiA+DQogPiA+ID4gTWF5YmUsIGlmIHRoZSBSRkMzNzc1YmlzIGlzIGEgbmV3IHN0ZXAgaW4gdGhlIFN0YW5kYXJkIFRyYWNrIGZvcg0KID4gPiA+IHRoZSBNSVB2NiBzdGFuZGFyZGl6YXRpb24sIHRoaXMgd291bGQgYmUgdGhlIHJpZ2h0IG1vbWVudCB0byBkbw0KID4gPiA+IHN1Y2ggbW9kaWZpY2F0aW9ucy4NCiA+ID4NCiA+ID4gRHJvcHBpbmcgZmVhdHVyZXMgdGhhdCBhcmUgbm90IHVzZWQvaW1wbGVtZW50ZWQgaXMgdHlwaWNhbGx5IGRvbmUNCiA+ID4gd2hlbiBhIHByb3RvY29sIHByb2dyZXNzZXMgZnJvbSBQcm9wb3NlZCBTdGFuZGFyZCB0byBEcmFmdA0KID4gPiBTdGFuZGFyZC4gV2Ugc2hvdWxkbid0IGRvIGl0IG5vdy4NCiA+DQogPiBJJ3ZlIHJlYWQgYWdhaW4gdGhlIE1FWFQgY2hhcnRlciBhbmQgSSd2ZSBqdXN0IHNlZW4gdGhhdCBSRkMzNzc1YmlzDQogPiB3aWxsIGJlIHN1Ym1pdHRlZCBhcyBQUy4gSSBtdXN0IGFkbWl0LCBJJ3ZlIG1pc3NlZCB0aGlzIF9pbXBvcnRhbnRfDQogPiBwb2ludC4NCg0KLS0gDQpUaWNrZXQgVVJMOiA8aHR0cDovL3d3dzMudG9vbHMuaWV0Zi5vcmcvd2cvbWV4dC90cmFjL3RpY2tldC8yI2NvbW1lbnQ6Mj4NCm1leHQgPGh0dHA6Ly90b29scy5pZXRmLm9yZy93Zy9tZXh0L3RyYWMvPg0K