<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>26100</bug_id>
          
          <creation_ts>2009-05-30 18:29:19 -0700</creation_ts>
          <short_desc>Add missing event handler properties to the DOMWindow</short_desc>
          <delta_ts>2009-06-02 10:35:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>123710</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-05-30 18:29:19 -0700</bug_when>
    <thetext>The list of missing properties as of the current HTML5 standard are:

// Storage
//attribute EventListener onstorage;

// Printing
//attribute EventListener onafterprint;
//attribute EventListener onbeforeprint;

// Media
//attribute EventListener oncanplay;
//attribute EventListener oncanplaythrough;
//attribute EventListener ondurationchange;
//attribute EventListener onemptied;
//attribute EventListener onended;
//attribute EventListener onloadeddata;
//attribute EventListener onloadedmetadata;
//attribute EventListener onpause;
//attribute EventListener onplay;
//attribute EventListener onplaying;
//attribute EventListener onratechange;
//attribute EventListener onseeked;
//attribute EventListener onseeking;
//attribute EventListener ontimeupdate;
//attribute EventListener onvolumechange;
//attribute EventListener onwaiting;

// Progress
//attribute EventListener onloadstart;
//attribute EventListener onprogress;
//attribute EventListener onstalled;
//attribute EventListener onsuspend;

// Messaging
//attribute EventListener onmessage;

// Online state
//attribute EventListener onoffline;
//attribute EventListener ononline;

// Drag
//attribute EventListener ondrag;
//attribute EventListener ondragend;
//attribute EventListener ondragenter;
//attribute EventListener ondragleave;
//attribute EventListener ondragover;
//attribute EventListener ondragstart;
//attribute EventListener ondrop;

// Forms
//attribute EventListener onformchange;
//attribute EventListener onforminput;
//attribute EventListener oninput;
//attribute EventListener oninvalid;

// Undo/Redo
//attribute EventListener onredo;
//attribute EventListener onundo;

// History
//attribute EventListener onpopstate;

// Location
//attribute EventListener onhashchange;

// Context Menu
//attribute EventListener oncontextmenu;
//attribute EventListener onshow;

// Readystate
//attribute EventListener onreadystatechange;

// ???
//attribute EventListener ondataunavailable;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123760</commentid>
    <comment_count>1</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-05-31 15:25:34 -0700</bug_when>
    <thetext>ononline and onoffline added in r44298.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123764</commentid>
    <comment_count>2</comment_count>
      <attachid>30821</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-05-31 16:56:23 -0700</bug_when>
    <thetext>Created attachment 30821
Add onstorage

Add window.onstorage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123768</commentid>
    <comment_count>3</comment_count>
      <attachid>30821</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2009-05-31 17:13:41 -0700</bug_when>
    <thetext>Comment on attachment 30821
Add onstorage

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123769</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-05-31 17:21:07 -0700</bug_when>
    <thetext>Onstorage patch landed in r44301.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123773</commentid>
    <comment_count>5</comment_count>
      <attachid>30823</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-05-31 19:50:57 -0700</bug_when>
    <thetext>Created attachment 30823
Add quite a few more

Adds oncanplay, oncanplaythrough, ondurationchange, onemptied, onended, onloadeddata, onloadedmetadata, onpause, onplay, onplaying, onratechange, onseeked, onseeking, ontimeupdate, onvolumechange, onwaiting, onloadstart, onprogress, onstalled, onsuspend, ondrag, ondragend, ondragenter, ondragleave, ondragover, ondragstart and ondrop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123774</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-05-31 19:56:36 -0700</bug_when>
    <thetext>Second set landed in r44302.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123775</commentid>
    <comment_count>7</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-05-31 19:58:58 -0700</bug_when>
    <thetext>The remaining ones are now.

// Printing
//attribute EventListener onafterprint;
//attribute EventListener onbeforeprint;

// Messaging
//attribute EventListener onmessage;

// Forms
//attribute EventListener onformchange;
//attribute EventListener onforminput;
//attribute EventListener oninput;
//attribute EventListener oninvalid;

// Undo/Redo
//attribute EventListener onredo;
//attribute EventListener onundo;

// History
//attribute EventListener onpopstate;

// Location
//attribute EventListener onhashchange;

// Context Menu
//attribute EventListener oncontextmenu;
//attribute EventListener onshow;

// Readystate
//attribute EventListener onreadystatechange;

// ???
//attribute EventListener ondataunavailable;


Of that set, I believe we only support onmessage, oninput and oncontextmenu.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123935</commentid>
    <comment_count>8</comment_count>
      <attachid>30857</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-06-01 22:58:00 -0700</bug_when>
    <thetext>Created attachment 30857
3 more and and a fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124007</commentid>
    <comment_count>9</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-06-02 10:34:31 -0700</bug_when>
    <thetext>Landed in r44360.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124008</commentid>
    <comment_count>10</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-06-02 10:35:52 -0700</bug_when>
    <thetext>I will file a follow up bug about the remaining properties which we don&apos;t yet implement.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30821</attachid>
            <date>2009-05-31 16:56:23 -0700</date>
            <delta_ts>2009-05-31 17:21:26 -0700</delta_ts>
            <desc>Add onstorage</desc>
            <filename>onstorage.diff</filename>
            <type>text/plain</type>
            <size>6346</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDMwMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMDktMDUtMzEgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXJ0IG9m
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjEwMAorICAgICAgICBB
ZGQgbWlzc2luZyBldmVudCBoYW5kbGVyIHByb3BlcnRpZXMgdG8gdGhlIERPTVdpbmRvdworCisg
ICAgICAgIEFkZCBtaXNzaW5nIG9uc3RvcmFnZSBldmVudCBoYW5kbGVyIHRvIHRoZSBET01XaW5k
b3cuCisKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
T01XaW5kb3c6Om9uc3RvcmFnZSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNldE9u
c3RvcmFnZSk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKiBwYWdlL0RP
TVdpbmRvdy5pZGw6CisKIDIwMDktMDUtMzAgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBNYXJrIFJvd2UuCkluZGV4OiBXZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAkocmV2
aXNpb24gNDQyOTgpCisrKyBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTYwNyw2ICsxNjA3LDE2IEBAIHZvaWQgRE9NV2luZG93OjpzZXRPbnNlbGVjdChQYXNz
UmVmUHRyPEUKICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5zZWxl
Y3RFdmVudCwgZXZlbnRMaXN0ZW5lcik7CiB9CiAKK0V2ZW50TGlzdGVuZXIqIERPTVdpbmRvdzo6
b25zdG9yYWdlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZ2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5l
cihldmVudE5hbWVzKCkuc3RvcmFnZUV2ZW50KTsKK30KKwordm9pZCBET01XaW5kb3c6OnNldE9u
c3RvcmFnZShQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGV2ZW50TGlzdGVuZXIpCit7CisgICAg
c2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuc3RvcmFnZUV2ZW50LCBldmVu
dExpc3RlbmVyKTsKK30KKwogRXZlbnRMaXN0ZW5lciogRE9NV2luZG93OjpvbnN1Ym1pdCgpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIGdldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygp
LnN1Ym1pdEV2ZW50KTsKSW5kZXg6IFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgJKHJldmlzaW9uIDQ0Mjk4KQorKysgV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yODksNiArMjg5LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldE9uc2VhcmNoKFBhc3NSZWZQdHI8RXZl
bnRMaXN0ZW5lcj4pOwogICAgICAgICBFdmVudExpc3RlbmVyKiBvbnNlbGVjdCgpIGNvbnN0Owog
ICAgICAgICB2b2lkIHNldE9uc2VsZWN0KFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4pOworICAg
ICAgICBFdmVudExpc3RlbmVyKiBvbnN0b3JhZ2UoKSBjb25zdDsKKyAgICAgICAgdm9pZCBzZXRP
bnN0b3JhZ2UoUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPik7CiAgICAgICAgIEV2ZW50TGlzdGVu
ZXIqIG9uc3VibWl0KCkgY29uc3Q7CiAgICAgICAgIHZvaWQgc2V0T25zdWJtaXQoUGFzc1JlZlB0
cjxFdmVudExpc3RlbmVyPik7CiAgICAgICAgIEV2ZW50TGlzdGVuZXIqIG9udW5sb2FkKCkgY29u
c3Q7CkluZGV4OiBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmlkbAkocmV2aXNpb24gNDQyOTgpCisrKyBXZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjEyLDYgKzIxMiw3IEBAIG1vZHVsZSB3
aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnNjcm9sbDsKICAgICAg
ICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25zZWFyY2g7CiAgICAgICAgIGF0dHJpYnV0ZSBF
dmVudExpc3RlbmVyIG9uc2VsZWN0OworICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBv
bnN0b3JhZ2U7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uc3VibWl0OwogICAg
ICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnVubG9hZDsKICAgICAgICAgYXR0cmlidXRl
IEV2ZW50TGlzdGVuZXIgb253ZWJraXRhbmltYXRpb25lbmQ7CkluZGV4OiBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0
NDMwMCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE2IEBACisyMDA5LTA1LTMxICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFydCBvZiBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjYxMDAKKyAgICAgICAgQWRkIG1pc3Np
bmcgZXZlbnQgaGFuZGxlciBwcm9wZXJ0aWVzIHRvIHRoZSBET01XaW5kb3cKKworICAgICAgICBB
ZGQgbWlzc2luZyBvbnN0b3JhZ2UgZXZlbnQgaGFuZGxlciB0byB0aGUgRE9NV2luZG93LgorCisg
ICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBzdG9yYWdlL2RvbXN0b3JhZ2Uvd2luZG93LWF0dHJpYnV0ZXMtZXhpc3QtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvZG9tc3RvcmFnZS93aW5kb3ctYXR0cmlidXRl
cy1leGlzdC5odG1sOgorCiAyMDA5LTA1LTMxICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgTWFyayBSb3dlLgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA0NDI5OCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRv
dy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE3MDks
NiArMTcwOSw3IEBAIHdpbmRvdy5vbnJlc2l6ZSBbbnVsbF0KIHdpbmRvdy5vbnNjcm9sbCBbbnVs
bF0KIHdpbmRvdy5vbnNlYXJjaCBbbnVsbF0KIHdpbmRvdy5vbnNlbGVjdCBbbnVsbF0KK3dpbmRv
dy5vbnN0b3JhZ2UgW251bGxdCiB3aW5kb3cub25zdWJtaXQgW251bGxdCiB3aW5kb3cub251bmxv
YWQgW251bGxdCiB3aW5kb3cub253ZWJraXRhbmltYXRpb25lbmQgW251bGxdCkluZGV4OiBMYXlv
dXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2Uvd2luZG93LWF0dHJpYnV0ZXMtZXhpc3QtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS93aW5k
b3ctYXR0cmlidXRlcy1leGlzdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ0Mjk3KQorKysgTGF5
b3V0VGVzdHMvc3RvcmFnZS9kb21zdG9yYWdlL3dpbmRvdy1hdHRyaWJ1dGVzLWV4aXN0LWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLVRoaXMgdGVzdCBjaGVja3Mg
dG8gc2VlIGlmIHdpbmRvdy5sb2NhbFN0b3JhZ2UgYW5kIHdpbmRvdy5zZXNzaW9uU3RvcmFnZSBl
eGlzdC4KK1RoaXMgdGVzdCBjaGVja3MgdG8gc2VlIGlmIHdpbmRvdy5sb2NhbFN0b3JhZ2UsIHdp
bmRvdy5zZXNzaW9uU3RvcmFnZSBhbmQgd2luZG93Lm9uc3RvcmFnZSBleGlzdC4KIHdpbmRvdy5z
ZXNzaW9uU3RvcmFnZSBleGlzdHMKIFN0b3JhZ2Ugb2JqZWN0IHNlc3Npb25TdG9yYWdlIGhhcyBs
ZW5ndGgKIFN0b3JhZ2Ugb2JqZWN0IHNlc3Npb25TdG9yYWdlIGhhcyBrZXkKQEAgLTExLDQgKzEx
LDYgQEAgU3RvcmFnZSBvYmplY3QgbG9jYWxTdG9yYWdlIGhhcyBrZXkKIFN0b3JhZ2Ugb2JqZWN0
IGxvY2FsU3RvcmFnZSBoYXMgZ2V0SXRlbQogU3RvcmFnZSBvYmplY3QgbG9jYWxTdG9yYWdlIGhh
cyBzZXRJdGVtCiBTdG9yYWdlIG9iamVjdCBsb2NhbFN0b3JhZ2UgaGFzIHJlbW92ZUl0ZW0KK3dp
bmRvdy5vbnN0b3JhZ2UgZXhpc3RzCitUaGUgb25zdG9yYWdlIHByb3BlcnR5IHdvcmtzIHdoZW4g
YSBzdG9yYWdlIGV2ZW50IGlzIGZpcmVkLgogCkluZGV4OiBMYXlvdXRUZXN0cy9zdG9yYWdlL2Rv
bXN0b3JhZ2Uvd2luZG93LWF0dHJpYnV0ZXMtZXhpc3QuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2Uvd2luZG93LWF0dHJpYnV0ZXMtZXhpc3QuaHRtbAko
cmV2aXNpb24gNDQyOTcpCisrKyBMYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2Uvd2luZG93
LWF0dHJpYnV0ZXMtZXhpc3QuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjQsMjUgKzI0LDQxIEBA
IGZ1bmN0aW9uIHRlc3RTdG9yYWdlKG5hbWUsIHN0b3JhZ2UpCiAgICAgICAgIGxvZygiU3RvcmFn
ZSBvYmplY3QgIiArIG5hbWUgKyAiIGhhcyByZW1vdmVJdGVtIik7CiB9CiAKK2Z1bmN0aW9uIHRl
c3RPbnN0b3JhZ2UoKQoreworICAgIHdpbmRvdy5vbnN0b3JhZ2UgPSBmdW5jdGlvbihldmVudCkK
KyAgICB7CisgICAgICAgIGxvZygiVGhlIG9uc3RvcmFnZSBwcm9wZXJ0eSB3b3JrcyB3aGVuIGEg
c3RvcmFnZSBldmVudCBpcyBmaXJlZC4iKTsKKyAgICB9CisgICAgCisgICAgd2luZG93LmxvY2Fs
U3RvcmFnZVsidGVzdCJdID0gInRlc3QiOworfQorCiBmdW5jdGlvbiBydW5UZXN0KCkKIHsKLSAg
ICBpZiAod2luZG93LnNlc3Npb25TdG9yYWdlKSB7CisgICAgaWYgKCJzZXNzaW9uU3RvcmFnZSIg
aW4gd2luZG93KSB7CiAgICAgICAgIGxvZygid2luZG93LnNlc3Npb25TdG9yYWdlIGV4aXN0cyIp
OwogICAgICAgICB0ZXN0U3RvcmFnZSgic2Vzc2lvblN0b3JhZ2UiLCB3aW5kb3cuc2Vzc2lvblN0
b3JhZ2UpOwogICAgIH0gZWxzZQogICAgICAgICBsb2coIndpbmRvdy5zZXNzaW9uU3RvcmFnZSBE
T0VTIE5PVCBleGlzdCIpOwogCi0gICAgaWYgKHdpbmRvdy5sb2NhbFN0b3JhZ2UpIHsKKyAgICBp
ZiAoImxvY2FsU3RvcmFnZSIgaW4gd2luZG93KSB7CiAgICAgICAgIGxvZygid2luZG93LmxvY2Fs
U3RvcmFnZSBleGlzdHMiKTsKICAgICAgICAgdGVzdFN0b3JhZ2UoImxvY2FsU3RvcmFnZSIsIHdp
bmRvdy5sb2NhbFN0b3JhZ2UpOwogICAgIH0gZWxzZQogICAgICAgICBsb2coIndpbmRvdy5sb2Nh
bFN0b3JhZ2UgRE9FUyBOT1QgZXhpc3QiKTsKKworICAgIGlmICgib25zdG9yYWdlIiBpbiB3aW5k
b3cpIHsKKyAgICAgICAgbG9nKCJ3aW5kb3cub25zdG9yYWdlIGV4aXN0cyIpOworICAgICAgICB0
ZXN0T25zdG9yYWdlKCk7CisgICAgfSBlbHNlCisgICAgICAgIGxvZygid2luZG93Lm9uc3RvcmFn
ZSBET0VTIE5PVCBleGlzdCIpOwogfQogCiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpOyI+Ci1UaGlzIHRlc3QgY2hlY2tzIHRvIHNlZSBpZiB3aW5kb3cubG9jYWxT
dG9yYWdlIGFuZCB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UgZXhpc3QuPGJyPgorVGhpcyB0ZXN0IGNo
ZWNrcyB0byBzZWUgaWYgd2luZG93LmxvY2FsU3RvcmFnZSwgd2luZG93LnNlc3Npb25TdG9yYWdl
IGFuZCB3aW5kb3cub25zdG9yYWdlIGV4aXN0Ljxicj4KIDxkaXYgaWQ9ImxvZ2dlciI+PC9kaXY+
CiA8L2JvZHk+CiA8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30823</attachid>
            <date>2009-05-31 19:50:57 -0700</date>
            <delta_ts>2009-05-31 19:57:22 -0700</delta_ts>
            <desc>Add quite a few more</desc>
            <filename>more.diff</filename>
            <type>text/plain</type>
            <size>20818</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDMwMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNzUgQEAKKzIwMDktMDUtMzEgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXJ0IG9m
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjEwMAorICAgICAgICBB
ZGQgbWlzc2luZyBldmVudCBoYW5kbGVyIHByb3BlcnRpZXMgdG8gdGhlIERPTVdpbmRvdworCisg
ICAgICAgIEFkZCBtaXNzaW5nIG9uY2FucGxheSwgb25jYW5wbGF5dGhyb3VnaCwgb25kdXJhdGlv
bmNoYW5nZSwgb25lbXB0aWVkLAorICAgICAgICBvbmVuZGVkLCBvbmxvYWRlZGRhdGEsIG9ubG9h
ZGVkbWV0YWRhdGEsIG9ucGF1c2UsIG9ucGxheSwgb25wbGF5aW5nLAorICAgICAgICBvbnJhdGVj
aGFuZ2UsIG9uc2Vla2VkLCBvbnNlZWtpbmcsIG9udGltZXVwZGF0ZSwgb252b2x1bWVjaGFuZ2Us
CisgICAgICAgIG9ud2FpdGluZywgb25sb2Fkc3RhcnQsIG9ucHJvZ3Jlc3MsIG9uc3RhbGxlZCwg
b25zdXNwZW5kLCBvbmRyYWcsCisgICAgICAgIG9uZHJhZ2VuZCwgb25kcmFnZW50ZXIsIG9uZHJh
Z2xlYXZlLCBvbmRyYWdvdmVyLCBvbmRyYWdzdGFydCBhbmQgCisgICAgICAgIG9uZHJvcCBldmVu
dCBoYW5kbGVycyB0byB0aGUgRE9NV2luZG93LgorCisgICAgICAgICogcGFnZS9ET01XaW5kb3cu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpvbmRyYWcpOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NV2luZG93OjpzZXRPbmRyYWcpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93
OjpvbmRyYWdlbmQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRPbmRyYWdlbmQp
OgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpvbmRyYWdlbnRlcik6CisgICAgICAgIChX
ZWJDb3JlOjpET01XaW5kb3c6OnNldE9uZHJhZ2VudGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVdpbmRvdzo6b25kcmFnbGVhdmUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRP
bmRyYWdsZWF2ZSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6Om9uZHJhZ292ZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRPbmRyYWdvdmVyKToKKyAgICAgICAgKFdl
YkNvcmU6OkRPTVdpbmRvdzo6b25kcmFnc3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2lu
ZG93OjpzZXRPbmRyYWdzdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6Om9uZHJv
cCk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNldE9uZHJvcCk6CisgICAgICAgIChX
ZWJDb3JlOjpET01XaW5kb3c6Om9uY2FucGxheSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5k
b3c6OnNldE9uY2FucGxheSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6Om9uY2FucGxh
eXRocm91Z2gpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRPbmNhbnBsYXl0aHJv
dWdoKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6b25kdXJhdGlvbmNoYW5nZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNldE9uZHVyYXRpb25jaGFuZ2UpOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NV2luZG93OjpvbmVtcHRpZWQpOgorICAgICAgICAoV2ViQ29yZTo6RE9N
V2luZG93OjpzZXRPbmVtcHRpZWQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpvbmVu
ZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2V0T25lbmRlZCk6CisgICAgICAg
IChXZWJDb3JlOjpET01XaW5kb3c6Om9ubG9hZGVkZGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpE
T01XaW5kb3c6OnNldE9ubG9hZGVkZGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6
Om9ubG9hZGVkbWV0YWRhdGEpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRPbmxv
YWRlZG1ldGFkYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6b25wYXVzZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNldE9ucGF1c2UpOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93OjpvbnBsYXkpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRP
bnBsYXkpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpvbnBsYXlpbmcpOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRPbnBsYXlpbmcpOgorICAgICAgICAoV2ViQ29yZTo6
RE9NV2luZG93OjpvbnJhdGVjaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93Ojpz
ZXRPbnJhdGVjaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpvbnNlZWtlZCk6
CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNldE9uc2Vla2VkKToKKyAgICAgICAgKFdl
YkNvcmU6OkRPTVdpbmRvdzo6b25zZWVraW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRv
dzo6c2V0T25zZWVraW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6b250aW1ldXBk
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2V0T250aW1ldXBkYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6b252b2x1bWVjaGFuZ2UpOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NV2luZG93OjpzZXRPbnZvbHVtZWNoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpE
T01XaW5kb3c6Om9ud2FpdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNldE9u
d2FpdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6Om9ubG9hZHN0YXJ0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2V0T25sb2Fkc3RhcnQpOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NV2luZG93OjpvbnByb2dyZXNzKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRv
dzo6c2V0T25wcm9ncmVzcyk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6Om9uc3RhbGxl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNldE9uc3RhbGxlZCk6CisgICAgICAg
IChXZWJDb3JlOjpET01XaW5kb3c6Om9uc3VzcGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpET01X
aW5kb3c6OnNldE9uc3VzcGVuZCk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAg
ICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMDktMDUtMzEgIFNhbSBXZWluaWcgIDxzYW1A
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCkluZGV4
OiBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmNwcAkocmV2aXNpb24gNDQzMDEpCisrKyBXZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQxNyw2ICsxNDE3LDc2IEBAIHZvaWQgRE9NV2luZG93
OjpzZXRPbmRibGNsaWNrKFBhc3NSZWZQdHIKICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVy
KGV2ZW50TmFtZXMoKS5kYmxjbGlja0V2ZW50LCBldmVudExpc3RlbmVyKTsKIH0KIAorRXZlbnRM
aXN0ZW5lciogRE9NV2luZG93OjpvbmRyYWcoKSBjb25zdAoreworICAgIHJldHVybiBnZXRBdHRy
aWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5kcmFnRXZlbnQpOworfQorCit2b2lkIERP
TVdpbmRvdzo6c2V0T25kcmFnKFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gZXZlbnRMaXN0ZW5l
cikKK3sKKyAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5kcmFnRXZl
bnQsIGV2ZW50TGlzdGVuZXIpOworfQorCitFdmVudExpc3RlbmVyKiBET01XaW5kb3c6Om9uZHJh
Z2VuZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGdldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZl
bnROYW1lcygpLmRyYWdlbmRFdmVudCk7Cit9CisKK3ZvaWQgRE9NV2luZG93OjpzZXRPbmRyYWdl
bmQoUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPiBldmVudExpc3RlbmVyKQoreworICAgIHNldEF0
dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmRyYWdlbmRFdmVudCwgZXZlbnRMaXN0
ZW5lcik7Cit9CisKK0V2ZW50TGlzdGVuZXIqIERPTVdpbmRvdzo6b25kcmFnZW50ZXIoKSBjb25z
dAoreworICAgIHJldHVybiBnZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5k
cmFnZW50ZXJFdmVudCk7Cit9CisKK3ZvaWQgRE9NV2luZG93OjpzZXRPbmRyYWdlbnRlcihQYXNz
UmVmUHRyPEV2ZW50TGlzdGVuZXI+IGV2ZW50TGlzdGVuZXIpCit7CisgICAgc2V0QXR0cmlidXRl
RXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuZHJhZ2VudGVyRXZlbnQsIGV2ZW50TGlzdGVuZXIp
OworfQorCitFdmVudExpc3RlbmVyKiBET01XaW5kb3c6Om9uZHJhZ2xlYXZlKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gZ2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuZHJhZ2xl
YXZlRXZlbnQpOworfQorCit2b2lkIERPTVdpbmRvdzo6c2V0T25kcmFnbGVhdmUoUGFzc1JlZlB0
cjxFdmVudExpc3RlbmVyPiBldmVudExpc3RlbmVyKQoreworICAgIHNldEF0dHJpYnV0ZUV2ZW50
TGlzdGVuZXIoZXZlbnROYW1lcygpLmRyYWdsZWF2ZUV2ZW50LCBldmVudExpc3RlbmVyKTsKK30K
KworRXZlbnRMaXN0ZW5lciogRE9NV2luZG93OjpvbmRyYWdvdmVyKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gZ2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuZHJhZ292ZXJFdmVu
dCk7Cit9CisKK3ZvaWQgRE9NV2luZG93OjpzZXRPbmRyYWdvdmVyKFBhc3NSZWZQdHI8RXZlbnRM
aXN0ZW5lcj4gZXZlbnRMaXN0ZW5lcikKK3sKKyAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVy
KGV2ZW50TmFtZXMoKS5kcmFnb3ZlckV2ZW50LCBldmVudExpc3RlbmVyKTsKK30KKworRXZlbnRM
aXN0ZW5lciogRE9NV2luZG93OjpvbmRyYWdzdGFydCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGdl
dEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmRyYWdzdGFydEV2ZW50KTsKK30K
Kwordm9pZCBET01XaW5kb3c6OnNldE9uZHJhZ3N0YXJ0KFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5l
cj4gZXZlbnRMaXN0ZW5lcikKK3sKKyAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50
TmFtZXMoKS5kcmFnc3RhcnRFdmVudCwgZXZlbnRMaXN0ZW5lcik7Cit9CisKK0V2ZW50TGlzdGVu
ZXIqIERPTVdpbmRvdzo6b25kcm9wKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZ2V0QXR0cmlidXRl
RXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuZHJvcEV2ZW50KTsKK30KKwordm9pZCBET01XaW5k
b3c6OnNldE9uZHJvcChQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGV2ZW50TGlzdGVuZXIpCit7
CisgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuZHJvcEV2ZW50LCBl
dmVudExpc3RlbmVyKTsKK30KKwogRXZlbnRMaXN0ZW5lciogRE9NV2luZG93OjpvbmVycm9yKCkg
Y29uc3QKIHsKICAgICByZXR1cm4gZ2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVz
KCkuZXJyb3JFdmVudCk7CkBAIC0xNjg3LDYgKzE3NTcsMjA2IEBAIHZvaWQgRE9NV2luZG93Ojpz
ZXRPbndlYmtpdHRyYW5zaXRpb25lbmQKICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2
ZW50TmFtZXMoKS53ZWJraXRUcmFuc2l0aW9uRW5kRXZlbnQsIGV2ZW50TGlzdGVuZXIpOwogfQog
CitFdmVudExpc3RlbmVyKiBET01XaW5kb3c6Om9uY2FucGxheSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGdldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmNhbnBsYXlFdmVudCk7
Cit9CisKK3ZvaWQgRE9NV2luZG93OjpzZXRPbmNhbnBsYXkoUGFzc1JlZlB0cjxFdmVudExpc3Rl
bmVyPiBldmVudExpc3RlbmVyKQoreworICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZl
bnROYW1lcygpLmNhbnBsYXlFdmVudCwgZXZlbnRMaXN0ZW5lcik7Cit9CisKK0V2ZW50TGlzdGVu
ZXIqIERPTVdpbmRvdzo6b25jYW5wbGF5dGhyb3VnaCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGdl
dEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmNhbnBsYXl0aHJvdWdoRXZlbnQp
OworfQorCit2b2lkIERPTVdpbmRvdzo6c2V0T25jYW5wbGF5dGhyb3VnaChQYXNzUmVmUHRyPEV2
ZW50TGlzdGVuZXI+IGV2ZW50TGlzdGVuZXIpCit7CisgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0
ZW5lcihldmVudE5hbWVzKCkuY2FucGxheXRocm91Z2hFdmVudCwgZXZlbnRMaXN0ZW5lcik7Cit9
CisKK0V2ZW50TGlzdGVuZXIqIERPTVdpbmRvdzo6b25kdXJhdGlvbmNoYW5nZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIGdldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmR1cmF0
aW9uY2hhbmdlRXZlbnQpOworfQorCit2b2lkIERPTVdpbmRvdzo6c2V0T25kdXJhdGlvbmNoYW5n
ZShQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGV2ZW50TGlzdGVuZXIpCit7CisgICAgc2V0QXR0
cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuZHVyYXRpb25jaGFuZ2VFdmVudCwgZXZl
bnRMaXN0ZW5lcik7Cit9CisKK0V2ZW50TGlzdGVuZXIqIERPTVdpbmRvdzo6b25lbXB0aWVkKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gZ2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVz
KCkuZW1wdGllZEV2ZW50KTsKK30KKwordm9pZCBET01XaW5kb3c6OnNldE9uZW1wdGllZChQYXNz
UmVmUHRyPEV2ZW50TGlzdGVuZXI+IGV2ZW50TGlzdGVuZXIpCit7CisgICAgc2V0QXR0cmlidXRl
RXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuZW1wdGllZEV2ZW50LCBldmVudExpc3RlbmVyKTsK
K30KKworRXZlbnRMaXN0ZW5lciogRE9NV2luZG93OjpvbmVuZGVkKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gZ2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuZW5kZWRFdmVudCk7
Cit9CisKK3ZvaWQgRE9NV2luZG93OjpzZXRPbmVuZGVkKFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5l
cj4gZXZlbnRMaXN0ZW5lcikKK3sKKyAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50
TmFtZXMoKS5lbmRlZEV2ZW50LCBldmVudExpc3RlbmVyKTsKK30KKworRXZlbnRMaXN0ZW5lciog
RE9NV2luZG93OjpvbmxvYWRlZGRhdGEoKSBjb25zdAoreworICAgIHJldHVybiBnZXRBdHRyaWJ1
dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5sb2FkZWRkYXRhRXZlbnQpOworfQorCit2b2lk
IERPTVdpbmRvdzo6c2V0T25sb2FkZWRkYXRhKFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gZXZl
bnRMaXN0ZW5lcikKK3sKKyAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMo
KS5sb2FkZWRkYXRhRXZlbnQsIGV2ZW50TGlzdGVuZXIpOworfQorCitFdmVudExpc3RlbmVyKiBE
T01XaW5kb3c6Om9ubG9hZGVkbWV0YWRhdGEoKSBjb25zdAoreworICAgIHJldHVybiBnZXRBdHRy
aWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5sb2FkZWRtZXRhZGF0YUV2ZW50KTsKK30K
Kwordm9pZCBET01XaW5kb3c6OnNldE9ubG9hZGVkbWV0YWRhdGEoUGFzc1JlZlB0cjxFdmVudExp
c3RlbmVyPiBldmVudExpc3RlbmVyKQoreworICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIo
ZXZlbnROYW1lcygpLmxvYWRlZG1ldGFkYXRhRXZlbnQsIGV2ZW50TGlzdGVuZXIpOworfQorCitF
dmVudExpc3RlbmVyKiBET01XaW5kb3c6Om9ucGF1c2UoKSBjb25zdAoreworICAgIHJldHVybiBn
ZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5wYXVzZUV2ZW50KTsKK30KKwor
dm9pZCBET01XaW5kb3c6OnNldE9ucGF1c2UoUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPiBldmVu
dExpc3RlbmVyKQoreworICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygp
LnBhdXNlRXZlbnQsIGV2ZW50TGlzdGVuZXIpOworfQorCitFdmVudExpc3RlbmVyKiBET01XaW5k
b3c6Om9ucGxheSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGdldEF0dHJpYnV0ZUV2ZW50TGlzdGVu
ZXIoZXZlbnROYW1lcygpLnBsYXlFdmVudCk7Cit9CisKK3ZvaWQgRE9NV2luZG93OjpzZXRPbnBs
YXkoUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPiBldmVudExpc3RlbmVyKQoreworICAgIHNldEF0
dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLnBsYXlFdmVudCwgZXZlbnRMaXN0ZW5l
cik7Cit9CisKK0V2ZW50TGlzdGVuZXIqIERPTVdpbmRvdzo6b25wbGF5aW5nKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gZ2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkucGxheWlu
Z0V2ZW50KTsKK30KKwordm9pZCBET01XaW5kb3c6OnNldE9ucGxheWluZyhQYXNzUmVmUHRyPEV2
ZW50TGlzdGVuZXI+IGV2ZW50TGlzdGVuZXIpCit7CisgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0
ZW5lcihldmVudE5hbWVzKCkucGxheWluZ0V2ZW50LCBldmVudExpc3RlbmVyKTsKK30KKworRXZl
bnRMaXN0ZW5lciogRE9NV2luZG93OjpvbnJhdGVjaGFuZ2UoKSBjb25zdAoreworICAgIHJldHVy
biBnZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5yYXRlY2hhbmdlRXZlbnQp
OworfQorCit2b2lkIERPTVdpbmRvdzo6c2V0T25yYXRlY2hhbmdlKFBhc3NSZWZQdHI8RXZlbnRM
aXN0ZW5lcj4gZXZlbnRMaXN0ZW5lcikKK3sKKyAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVy
KGV2ZW50TmFtZXMoKS5yYXRlY2hhbmdlRXZlbnQsIGV2ZW50TGlzdGVuZXIpOworfQorCitFdmVu
dExpc3RlbmVyKiBET01XaW5kb3c6Om9uc2Vla2VkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZ2V0
QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuc2Vla2VkRXZlbnQpOworfQorCit2
b2lkIERPTVdpbmRvdzo6c2V0T25zZWVrZWQoUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPiBldmVu
dExpc3RlbmVyKQoreworICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygp
LnNlZWtlZEV2ZW50LCBldmVudExpc3RlbmVyKTsKK30KKworRXZlbnRMaXN0ZW5lciogRE9NV2lu
ZG93OjpvbnNlZWtpbmcoKSBjb25zdAoreworICAgIHJldHVybiBnZXRBdHRyaWJ1dGVFdmVudExp
c3RlbmVyKGV2ZW50TmFtZXMoKS5zZWVraW5nRXZlbnQpOworfQorCit2b2lkIERPTVdpbmRvdzo6
c2V0T25zZWVraW5nKFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gZXZlbnRMaXN0ZW5lcikKK3sK
KyAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5zZWVraW5nRXZlbnQs
IGV2ZW50TGlzdGVuZXIpOworfQorCitFdmVudExpc3RlbmVyKiBET01XaW5kb3c6Om9udGltZXVw
ZGF0ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGdldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZl
bnROYW1lcygpLnRpbWV1cGRhdGVFdmVudCk7Cit9CisKK3ZvaWQgRE9NV2luZG93OjpzZXRPbnRp
bWV1cGRhdGUoUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPiBldmVudExpc3RlbmVyKQoreworICAg
IHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLnRpbWV1cGRhdGVFdmVudCwg
ZXZlbnRMaXN0ZW5lcik7Cit9CisKK0V2ZW50TGlzdGVuZXIqIERPTVdpbmRvdzo6b252b2x1bWVj
aGFuZ2UoKSBjb25zdAoreworICAgIHJldHVybiBnZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2
ZW50TmFtZXMoKS52b2x1bWVjaGFuZ2VFdmVudCk7Cit9CisKK3ZvaWQgRE9NV2luZG93OjpzZXRP
bnZvbHVtZWNoYW5nZShQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGV2ZW50TGlzdGVuZXIpCit7
CisgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkudm9sdW1lY2hhbmdl
RXZlbnQsIGV2ZW50TGlzdGVuZXIpOworfQorCitFdmVudExpc3RlbmVyKiBET01XaW5kb3c6Om9u
d2FpdGluZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIGdldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIo
ZXZlbnROYW1lcygpLndhaXRpbmdFdmVudCk7Cit9CisKK3ZvaWQgRE9NV2luZG93OjpzZXRPbndh
aXRpbmcoUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPiBldmVudExpc3RlbmVyKQoreworICAgIHNl
dEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLndhaXRpbmdFdmVudCwgZXZlbnRM
aXN0ZW5lcik7Cit9CisKK0V2ZW50TGlzdGVuZXIqIERPTVdpbmRvdzo6b25sb2Fkc3RhcnQoKSBj
b25zdAoreworICAgIHJldHVybiBnZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMo
KS5sb2Fkc3RhcnRFdmVudCk7Cit9CisKK3ZvaWQgRE9NV2luZG93OjpzZXRPbmxvYWRzdGFydChQ
YXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGV2ZW50TGlzdGVuZXIpCit7CisgICAgc2V0QXR0cmli
dXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkubG9hZHN0YXJ0RXZlbnQsIGV2ZW50TGlzdGVu
ZXIpOworfQorCitFdmVudExpc3RlbmVyKiBET01XaW5kb3c6Om9ucHJvZ3Jlc3MoKSBjb25zdAor
eworICAgIHJldHVybiBnZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5wcm9n
cmVzc0V2ZW50KTsKK30KKwordm9pZCBET01XaW5kb3c6OnNldE9ucHJvZ3Jlc3MoUGFzc1JlZlB0
cjxFdmVudExpc3RlbmVyPiBldmVudExpc3RlbmVyKQoreworICAgIHNldEF0dHJpYnV0ZUV2ZW50
TGlzdGVuZXIoZXZlbnROYW1lcygpLnByb2dyZXNzRXZlbnQsIGV2ZW50TGlzdGVuZXIpOworfQor
CitFdmVudExpc3RlbmVyKiBET01XaW5kb3c6Om9uc3RhbGxlZCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGdldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLnN0YWxsZWRFdmVudCk7
Cit9CisKK3ZvaWQgRE9NV2luZG93OjpzZXRPbnN0YWxsZWQoUGFzc1JlZlB0cjxFdmVudExpc3Rl
bmVyPiBldmVudExpc3RlbmVyKQoreworICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZl
bnROYW1lcygpLnN0YWxsZWRFdmVudCwgZXZlbnRMaXN0ZW5lcik7Cit9CisKK0V2ZW50TGlzdGVu
ZXIqIERPTVdpbmRvdzo6b25zdXNwZW5kKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZ2V0QXR0cmli
dXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuc3VzcGVuZEV2ZW50KTsKK30KKwordm9pZCBE
T01XaW5kb3c6OnNldE9uc3VzcGVuZChQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGV2ZW50TGlz
dGVuZXIpCit7CisgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuc3Vz
cGVuZEV2ZW50LCBldmVudExpc3RlbmVyKTsKK30KKwogdm9pZCBET01XaW5kb3c6OmNhcHR1cmVF
dmVudHMoKQogewogICAgIC8vIE5vdCBpbXBsZW1lbnRlZC4KSW5kZXg6IFdlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgJKHJldmlz
aW9uIDQ0MzAxKQorKysgV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yNDAsNyArMjQwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBjb25zdCBSZWdp
c3RlcmVkRXZlbnRMaXN0ZW5lclZlY3RvciYgZXZlbnRMaXN0ZW5lcnMoKSBjb25zdCB7IHJldHVy
biBtX2V2ZW50TGlzdGVuZXJzOyB9CiAgICAgICAgIGJvb2wgaGFzRXZlbnRMaXN0ZW5lcihjb25z
dCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSk7CiAgICAgICAgIHZvaWQgcmVtb3ZlQWxsRXZlbnRM
aXN0ZW5lcnMoKTsKLSAgICAgICAgCisKICAgICAgICAgRXZlbnRMaXN0ZW5lciogb25hYm9ydCgp
IGNvbnN0OwogICAgICAgICB2b2lkIHNldE9uYWJvcnQoUGFzc1JlZlB0cjxFdmVudExpc3RlbmVy
Pik7CiAgICAgICAgIEV2ZW50TGlzdGVuZXIqIG9uYmx1cigpIGNvbnN0OwpAQCAtMjUxLDYgKzI1
MSwyMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0T25jbGljayhQYXNz
UmVmUHRyPEV2ZW50TGlzdGVuZXI+KTsKICAgICAgICAgRXZlbnRMaXN0ZW5lciogb25kYmxjbGlj
aygpIGNvbnN0OwogICAgICAgICB2b2lkIHNldE9uZGJsY2xpY2soUGFzc1JlZlB0cjxFdmVudExp
c3RlbmVyPik7CisgICAgICAgIEV2ZW50TGlzdGVuZXIqIG9uZHJhZygpIGNvbnN0OworICAgICAg
ICB2b2lkIHNldE9uZHJhZyhQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+KTsKKyAgICAgICAgRXZl
bnRMaXN0ZW5lciogb25kcmFnZW5kKCkgY29uc3Q7CisgICAgICAgIHZvaWQgc2V0T25kcmFnZW5k
KFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4pOworICAgICAgICBFdmVudExpc3RlbmVyKiBvbmRy
YWdlbnRlcigpIGNvbnN0OworICAgICAgICB2b2lkIHNldE9uZHJhZ2VudGVyKFBhc3NSZWZQdHI8
RXZlbnRMaXN0ZW5lcj4pOworICAgICAgICBFdmVudExpc3RlbmVyKiBvbmRyYWdsZWF2ZSgpIGNv
bnN0OworICAgICAgICB2b2lkIHNldE9uZHJhZ2xlYXZlKFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5l
cj4pOworICAgICAgICBFdmVudExpc3RlbmVyKiBvbmRyYWdvdmVyKCkgY29uc3Q7CisgICAgICAg
IHZvaWQgc2V0T25kcmFnb3ZlcihQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+KTsKKyAgICAgICAg
RXZlbnRMaXN0ZW5lciogb25kcmFnc3RhcnQoKSBjb25zdDsKKyAgICAgICAgdm9pZCBzZXRPbmRy
YWdzdGFydChQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+KTsKKyAgICAgICAgRXZlbnRMaXN0ZW5l
ciogb25kcm9wKCkgY29uc3Q7CisgICAgICAgIHZvaWQgc2V0T25kcm9wKFBhc3NSZWZQdHI8RXZl
bnRMaXN0ZW5lcj4pOwogICAgICAgICBFdmVudExpc3RlbmVyKiBvbmVycm9yKCkgY29uc3Q7CiAg
ICAgICAgIHZvaWQgc2V0T25lcnJvcihQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+KTsKICAgICAg
ICAgRXZlbnRMaXN0ZW5lciogb25mb2N1cygpIGNvbnN0OwpAQCAtMzA1LDYgKzMxOSw0NiBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0T253ZWJraXRhbmltYXRpb25lbmQo
UGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPik7CiAgICAgICAgIEV2ZW50TGlzdGVuZXIqIG9ud2Vi
a2l0dHJhbnNpdGlvbmVuZCgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldE9ud2Via2l0dHJhbnNp
dGlvbmVuZChQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+KTsKKyAgICAgICAgRXZlbnRMaXN0ZW5l
ciogb25jYW5wbGF5KCkgY29uc3Q7CisgICAgICAgIHZvaWQgc2V0T25jYW5wbGF5KFBhc3NSZWZQ
dHI8RXZlbnRMaXN0ZW5lcj4pOworICAgICAgICBFdmVudExpc3RlbmVyKiBvbmNhbnBsYXl0aHJv
dWdoKCkgY29uc3Q7CisgICAgICAgIHZvaWQgc2V0T25jYW5wbGF5dGhyb3VnaChQYXNzUmVmUHRy
PEV2ZW50TGlzdGVuZXI+KTsKKyAgICAgICAgRXZlbnRMaXN0ZW5lciogb25kdXJhdGlvbmNoYW5n
ZSgpIGNvbnN0OworICAgICAgICB2b2lkIHNldE9uZHVyYXRpb25jaGFuZ2UoUGFzc1JlZlB0cjxF
dmVudExpc3RlbmVyPik7CisgICAgICAgIEV2ZW50TGlzdGVuZXIqIG9uZW1wdGllZCgpIGNvbnN0
OworICAgICAgICB2b2lkIHNldE9uZW1wdGllZChQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+KTsK
KyAgICAgICAgRXZlbnRMaXN0ZW5lciogb25lbmRlZCgpIGNvbnN0OworICAgICAgICB2b2lkIHNl
dE9uZW5kZWQoUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPik7CisgICAgICAgIEV2ZW50TGlzdGVu
ZXIqIG9ubG9hZGVkZGF0YSgpIGNvbnN0OworICAgICAgICB2b2lkIHNldE9ubG9hZGVkZGF0YShQ
YXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+KTsKKyAgICAgICAgRXZlbnRMaXN0ZW5lciogb25sb2Fk
ZWRtZXRhZGF0YSgpIGNvbnN0OworICAgICAgICB2b2lkIHNldE9ubG9hZGVkbWV0YWRhdGEoUGFz
c1JlZlB0cjxFdmVudExpc3RlbmVyPik7CisgICAgICAgIEV2ZW50TGlzdGVuZXIqIG9ucGF1c2Uo
KSBjb25zdDsKKyAgICAgICAgdm9pZCBzZXRPbnBhdXNlKFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5l
cj4pOworICAgICAgICBFdmVudExpc3RlbmVyKiBvbnBsYXkoKSBjb25zdDsKKyAgICAgICAgdm9p
ZCBzZXRPbnBsYXkoUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPik7CisgICAgICAgIEV2ZW50TGlz
dGVuZXIqIG9ucGxheWluZygpIGNvbnN0OworICAgICAgICB2b2lkIHNldE9ucGxheWluZyhQYXNz
UmVmUHRyPEV2ZW50TGlzdGVuZXI+KTsKKyAgICAgICAgRXZlbnRMaXN0ZW5lciogb25yYXRlY2hh
bmdlKCkgY29uc3Q7CisgICAgICAgIHZvaWQgc2V0T25yYXRlY2hhbmdlKFBhc3NSZWZQdHI8RXZl
bnRMaXN0ZW5lcj4pOworICAgICAgICBFdmVudExpc3RlbmVyKiBvbnNlZWtlZCgpIGNvbnN0Owor
ICAgICAgICB2b2lkIHNldE9uc2Vla2VkKFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4pOworICAg
ICAgICBFdmVudExpc3RlbmVyKiBvbnNlZWtpbmcoKSBjb25zdDsKKyAgICAgICAgdm9pZCBzZXRP
bnNlZWtpbmcoUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPik7CisgICAgICAgIEV2ZW50TGlzdGVu
ZXIqIG9udGltZXVwZGF0ZSgpIGNvbnN0OworICAgICAgICB2b2lkIHNldE9udGltZXVwZGF0ZShQ
YXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+KTsKKyAgICAgICAgRXZlbnRMaXN0ZW5lciogb252b2x1
bWVjaGFuZ2UoKSBjb25zdDsKKyAgICAgICAgdm9pZCBzZXRPbnZvbHVtZWNoYW5nZShQYXNzUmVm
UHRyPEV2ZW50TGlzdGVuZXI+KTsKKyAgICAgICAgRXZlbnRMaXN0ZW5lciogb253YWl0aW5nKCkg
Y29uc3Q7CisgICAgICAgIHZvaWQgc2V0T253YWl0aW5nKFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5l
cj4pOworICAgICAgICBFdmVudExpc3RlbmVyKiBvbmxvYWRzdGFydCgpIGNvbnN0OworICAgICAg
ICB2b2lkIHNldE9ubG9hZHN0YXJ0KFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4pOworICAgICAg
ICBFdmVudExpc3RlbmVyKiBvbnByb2dyZXNzKCkgY29uc3Q7CisgICAgICAgIHZvaWQgc2V0T25w
cm9ncmVzcyhQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+KTsKKyAgICAgICAgRXZlbnRMaXN0ZW5l
ciogb25zdGFsbGVkKCkgY29uc3Q7CisgICAgICAgIHZvaWQgc2V0T25zdGFsbGVkKFBhc3NSZWZQ
dHI8RXZlbnRMaXN0ZW5lcj4pOworICAgICAgICBFdmVudExpc3RlbmVyKiBvbnN1c3BlbmQoKSBj
b25zdDsKKyAgICAgICAgdm9pZCBzZXRPbnN1c3BlbmQoUGFzc1JlZlB0cjxFdmVudExpc3RlbmVy
Pik7CiAKICAgICAgICAgdm9pZCBjYXB0dXJlRXZlbnRzKCk7CiAgICAgICAgIHZvaWQgcmVsZWFz
ZUV2ZW50cygpOwpJbmRleDogV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHJldmlzaW9uIDQ0MzAxKQorKysgV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE5MCwxNSArMTkwLDI5IEBA
IG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmFib3J0
OwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmJlZm9yZXVubG9hZDsKICAgICAg
ICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25ibHVyOworICAgICAgICBhdHRyaWJ1dGUgRXZl
bnRMaXN0ZW5lciBvbmNhbnBsYXk7CisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9u
Y2FucGxheXRocm91Z2g7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uY2hhbmdl
OwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmNsaWNrOwogICAgICAgICBhdHRy
aWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmRibGNsaWNrOworICAgICAgICBhdHRyaWJ1dGUgRXZlbnRM
aXN0ZW5lciBvbmRyYWc7CisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uZHJhZ2Vu
ZDsKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25kcmFnZW50ZXI7CisgICAgICAg
IGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uZHJhZ2xlYXZlOworICAgICAgICBhdHRyaWJ1dGUg
RXZlbnRMaXN0ZW5lciBvbmRyYWdvdmVyOworICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5l
ciBvbmRyYWdzdGFydDsKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25kcm9wOwor
ICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmR1cmF0aW9uY2hhbmdlOworICAgICAg
ICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmVtcHRpZWQ7CisgICAgICAgIGF0dHJpYnV0ZSBF
dmVudExpc3RlbmVyIG9uZW5kZWQ7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9u
ZXJyb3I7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uZm9jdXM7CiAgICAgICAg
IGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ua2V5ZG93bjsKICAgICAgICAgYXR0cmlidXRlIEV2
ZW50TGlzdGVuZXIgb25rZXlwcmVzczsKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIg
b25rZXl1cDsKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25sb2FkOworICAgICAg
ICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmxvYWRlZGRhdGE7CisgICAgICAgIGF0dHJpYnV0
ZSBFdmVudExpc3RlbmVyIG9ubG9hZGVkbWV0YWRhdGE7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVu
dExpc3RlbmVyIG9ubW91c2Vkb3duOwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBv
bm1vdXNlbW92ZTsKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25tb3VzZW91dDsK
QEAgLTIwNywxNCArMjIxLDIzIEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUg
RXZlbnRMaXN0ZW5lciBvbm1vdXNld2hlZWw7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3Rl
bmVyIG9ub2ZmbGluZTsKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25vbmxpbmU7
CisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ucGF1c2U7CisgICAgICAgIGF0dHJp
YnV0ZSBFdmVudExpc3RlbmVyIG9ucGxheTsKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVu
ZXIgb25wbGF5aW5nOworICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnJhdGVjaGFu
Z2U7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ucmVzZXQ7CiAgICAgICAgIGF0
dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ucmVzaXplOwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRM
aXN0ZW5lciBvbnNjcm9sbDsKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25zZWFy
Y2g7CisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uc2Vla2VkOworICAgICAgICBh
dHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnNlZWtpbmc7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVu
dExpc3RlbmVyIG9uc2VsZWN0OwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnN0
b3JhZ2U7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uc3VibWl0OworICAgICAg
ICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnRpbWV1cGRhdGU7CiAgICAgICAgIGF0dHJpYnV0
ZSBFdmVudExpc3RlbmVyIG9udW5sb2FkOworICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5l
ciBvbnZvbHVtZWNoYW5nZTsKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb253YWl0
aW5nOwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbndlYmtpdGFuaW1hdGlvbmVu
ZDsKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb253ZWJraXRhbmltYXRpb25pdGVy
YXRpb247CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ud2Via2l0YW5pbWF0aW9u
c3RhcnQ7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0NDMwMSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDA5LTA1LTMxICBTYW0gV2Vpbmln
ICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUGFydCBvZiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjYxMDAKKyAgICAgICAgQWRkIG1pc3NpbmcgZXZlbnQgaGFuZGxlciBwcm9wZXJ0aWVzIHRv
IHRoZSBET01XaW5kb3cKKworICAgICAgICBBZGQgbWlzc2luZyBvbmNhbnBsYXksIG9uY2FucGxh
eXRocm91Z2gsIG9uZHVyYXRpb25jaGFuZ2UsIG9uZW1wdGllZCwKKyAgICAgICAgb25lbmRlZCwg
b25sb2FkZWRkYXRhLCBvbmxvYWRlZG1ldGFkYXRhLCBvbnBhdXNlLCBvbnBsYXksIG9ucGxheWlu
ZywKKyAgICAgICAgb25yYXRlY2hhbmdlLCBvbnNlZWtlZCwgb25zZWVraW5nLCBvbnRpbWV1cGRh
dGUsIG9udm9sdW1lY2hhbmdlLAorICAgICAgICBvbndhaXRpbmcsIG9ubG9hZHN0YXJ0LCBvbnBy
b2dyZXNzLCBvbnN0YWxsZWQsIG9uc3VzcGVuZCwgb25kcmFnLAorICAgICAgICBvbmRyYWdlbmQs
IG9uZHJhZ2VudGVyLCBvbmRyYWdsZWF2ZSwgb25kcmFnb3Zlciwgb25kcmFnc3RhcnQgYW5kIAor
ICAgICAgICBvbmRyb3AgZXZlbnQgaGFuZGxlcnMgdG8gdGhlIERPTVdpbmRvdy4KKworICAgICAg
ICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQ6CisKIDIw
MDktMDUtMzEgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBBbmRlcnMgQ2FybHNzb24uCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cv
d2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDQ0MzAxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVz
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTY4NywxNSArMTY4NywyOSBAQCB3aW5k
b3cub2Zmc2NyZWVuQnVmZmVyaW5nIFtib29sZWFuXQogd2luZG93Lm9uYWJvcnQgW251bGxdCiB3
aW5kb3cub25iZWZvcmV1bmxvYWQgW251bGxdCiB3aW5kb3cub25ibHVyIFtudWxsXQord2luZG93
Lm9uY2FucGxheSBbbnVsbF0KK3dpbmRvdy5vbmNhbnBsYXl0aHJvdWdoIFtudWxsXQogd2luZG93
Lm9uY2hhbmdlIFtudWxsXQogd2luZG93Lm9uY2xpY2sgW251bGxdCiB3aW5kb3cub25kYmxjbGlj
ayBbbnVsbF0KK3dpbmRvdy5vbmRyYWcgW251bGxdCit3aW5kb3cub25kcmFnZW5kIFtudWxsXQor
d2luZG93Lm9uZHJhZ2VudGVyIFtudWxsXQord2luZG93Lm9uZHJhZ2xlYXZlIFtudWxsXQord2lu
ZG93Lm9uZHJhZ292ZXIgW251bGxdCit3aW5kb3cub25kcmFnc3RhcnQgW251bGxdCit3aW5kb3cu
b25kcm9wIFtudWxsXQord2luZG93Lm9uZHVyYXRpb25jaGFuZ2UgW251bGxdCit3aW5kb3cub25l
bXB0aWVkIFtudWxsXQord2luZG93Lm9uZW5kZWQgW251bGxdCiB3aW5kb3cub25lcnJvciBbbnVs
bF0KIHdpbmRvdy5vbmZvY3VzIFtudWxsXQogd2luZG93Lm9ua2V5ZG93biBbbnVsbF0KIHdpbmRv
dy5vbmtleXByZXNzIFtudWxsXQogd2luZG93Lm9ua2V5dXAgW251bGxdCiB3aW5kb3cub25sb2Fk
IFtudWxsXQord2luZG93Lm9ubG9hZGVkZGF0YSBbbnVsbF0KK3dpbmRvdy5vbmxvYWRlZG1ldGFk
YXRhIFtudWxsXQogd2luZG93Lm9ubW91c2Vkb3duIFtudWxsXQogd2luZG93Lm9ubW91c2Vtb3Zl
IFtudWxsXQogd2luZG93Lm9ubW91c2VvdXQgW251bGxdCkBAIC0xNzA0LDE0ICsxNzE4LDIzIEBA
IHdpbmRvdy5vbm1vdXNldXAgW251bGxdCiB3aW5kb3cub25tb3VzZXdoZWVsIFtudWxsXQogd2lu
ZG93Lm9ub2ZmbGluZSBbbnVsbF0KIHdpbmRvdy5vbm9ubGluZSBbbnVsbF0KK3dpbmRvdy5vbnBh
dXNlIFtudWxsXQord2luZG93Lm9ucGxheSBbbnVsbF0KK3dpbmRvdy5vbnBsYXlpbmcgW251bGxd
Cit3aW5kb3cub25yYXRlY2hhbmdlIFtudWxsXQogd2luZG93Lm9ucmVzZXQgW251bGxdCiB3aW5k
b3cub25yZXNpemUgW251bGxdCiB3aW5kb3cub25zY3JvbGwgW251bGxdCiB3aW5kb3cub25zZWFy
Y2ggW251bGxdCit3aW5kb3cub25zZWVrZWQgW251bGxdCit3aW5kb3cub25zZWVraW5nIFtudWxs
XQogd2luZG93Lm9uc2VsZWN0IFtudWxsXQogd2luZG93Lm9uc3RvcmFnZSBbbnVsbF0KIHdpbmRv
dy5vbnN1Ym1pdCBbbnVsbF0KK3dpbmRvdy5vbnRpbWV1cGRhdGUgW251bGxdCiB3aW5kb3cub251
bmxvYWQgW251bGxdCit3aW5kb3cub252b2x1bWVjaGFuZ2UgW251bGxdCit3aW5kb3cub253YWl0
aW5nIFtudWxsXQogd2luZG93Lm9ud2Via2l0YW5pbWF0aW9uZW5kIFtudWxsXQogd2luZG93Lm9u
d2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIFtudWxsXQogd2luZG93Lm9ud2Via2l0YW5pbWF0aW9u
c3RhcnQgW251bGxdCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30857</attachid>
            <date>2009-06-01 22:58:00 -0700</date>
            <delta_ts>2009-06-02 10:19:46 -0700</delta_ts>
            <desc>3 more and and a fix</desc>
            <filename>patch3.diff</filename>
            <type>text/plain</type>
            <size>7810</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDM0NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMDktMDYtMDEgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXJ0IG9m
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjEwMAorICAgICAgICBB
ZGQgbWlzc2luZyBldmVudCBoYW5kbGVyIHByb3BlcnRpZXMgdG8gdGhlIERPTVdpbmRvdworCisg
ICAgICAgIEFkZGVkIG9uY29udGV4dG1lbnUsIG9uaW5wdXQsIGFuZCBvbm1lc3NhZ2UgZXZlbnQg
aGFuZGxlcnMgdG8KKyAgICAgICAgdGhlIERPTVdpbmRvdy4gQWRpdGlvbmFsbHksIHRoZSBvbmxv
YWRzdGFydCwgb25wcm9ncmVzcywgb25zdGFsbGVkLAorICAgICAgICBhbmQgb25zdXNwZW5kIGV2
ZW50IGhhbmRsZXJzIHdlcmUgaW1wbGVtZW50ZWQgYnV0IG5vdCBhZGRlZCB0bworICAgICAgICBE
T01XaW5kb3cuaWRsLgorCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RE9NV2luZG93OjpvbmlucHV0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRv
dzo6c2V0T25pbnB1dCk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6Om9ubWVzc2FnZSk6
CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNldE9ubWVzc2FnZSk6CisgICAgICAgIChX
ZWJDb3JlOjpET01XaW5kb3c6Om9uY29udGV4dG1lbnUpOgorICAgICAgICAoV2ViQ29yZTo6RE9N
V2luZG93OjpzZXRPbmNvbnRleHRtZW51KToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgor
ICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKwogMjAwOS0wNi0wMSAgRGltaXRyaSBHbGF6
a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGJ1aWxk
IGZpeC4KSW5kZXg6IFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCShyZXZpc2lvbiA0NDM0MikKKysrIFdlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTU3LDYgKzE5NTcsMzYgQEAgdm9p
ZCBET01XaW5kb3c6OnNldE9uc3VzcGVuZChQYXNzUmVmUHRyPAogICAgIHNldEF0dHJpYnV0ZUV2
ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLnN1c3BlbmRFdmVudCwgZXZlbnRMaXN0ZW5lcik7CiB9
CiAKK0V2ZW50TGlzdGVuZXIqIERPTVdpbmRvdzo6b25pbnB1dCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGdldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmlucHV0RXZlbnQpOwor
fQorCit2b2lkIERPTVdpbmRvdzo6c2V0T25pbnB1dChQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+
IGV2ZW50TGlzdGVuZXIpCit7CisgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5h
bWVzKCkuaW5wdXRFdmVudCwgZXZlbnRMaXN0ZW5lcik7Cit9CisKK0V2ZW50TGlzdGVuZXIqIERP
TVdpbmRvdzo6b25tZXNzYWdlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZ2V0QXR0cmlidXRlRXZl
bnRMaXN0ZW5lcihldmVudE5hbWVzKCkubWVzc2FnZUV2ZW50KTsKK30KKwordm9pZCBET01XaW5k
b3c6OnNldE9ubWVzc2FnZShQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGV2ZW50TGlzdGVuZXIp
Cit7CisgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkubWVzc2FnZUV2
ZW50LCBldmVudExpc3RlbmVyKTsKK30KKworRXZlbnRMaXN0ZW5lciogRE9NV2luZG93OjpvbmNv
bnRleHRtZW51KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZ2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5l
cihldmVudE5hbWVzKCkuY29udGV4dG1lbnVFdmVudCk7Cit9CisKK3ZvaWQgRE9NV2luZG93Ojpz
ZXRPbmNvbnRleHRtZW51KFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gZXZlbnRMaXN0ZW5lcikK
K3sKKyAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5jb250ZXh0bWVu
dUV2ZW50LCBldmVudExpc3RlbmVyKTsKK30KKwogdm9pZCBET01XaW5kb3c6OmNhcHR1cmVFdmVu
dHMoKQogewogICAgIC8vIE5vdCBpbXBsZW1lbnRlZC4KSW5kZXg6IFdlYkNvcmUvcGFnZS9ET01X
aW5kb3cuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgJKHJldmlzaW9u
IDQ0MzQyKQorKysgV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
NTksNiArMzU5LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXRPbnN0
YWxsZWQoUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPik7CiAgICAgICAgIEV2ZW50TGlzdGVuZXIq
IG9uc3VzcGVuZCgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldE9uc3VzcGVuZChQYXNzUmVmUHRy
PEV2ZW50TGlzdGVuZXI+KTsKKyAgICAgICAgRXZlbnRMaXN0ZW5lciogb25pbnB1dCgpIGNvbnN0
OworICAgICAgICB2b2lkIHNldE9uaW5wdXQoUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPik7Cisg
ICAgICAgIEV2ZW50TGlzdGVuZXIqIG9ubWVzc2FnZSgpIGNvbnN0OworICAgICAgICB2b2lkIHNl
dE9ubWVzc2FnZShQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+KTsKKyAgICAgICAgRXZlbnRMaXN0
ZW5lciogb25jb250ZXh0bWVudSgpIGNvbnN0OworICAgICAgICB2b2lkIHNldE9uY29udGV4dG1l
bnUoUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPik7CiAKICAgICAgICAgdm9pZCBjYXB0dXJlRXZl
bnRzKCk7CiAgICAgICAgIHZvaWQgcmVsZWFzZUV2ZW50cygpOwpJbmRleDogV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJ
KHJldmlzaW9uIDQ0MzQyKQorKysgV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTE5NCw2ICsxOTQsNyBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmli
dXRlIEV2ZW50TGlzdGVuZXIgb25jYW5wbGF5dGhyb3VnaDsKICAgICAgICAgYXR0cmlidXRlIEV2
ZW50TGlzdGVuZXIgb25jaGFuZ2U7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9u
Y2xpY2s7CisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uY29udGV4dG1lbnU7CiAg
ICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uZGJsY2xpY2s7CiAgICAgICAgIGF0dHJp
YnV0ZSBFdmVudExpc3RlbmVyIG9uZHJhZzsKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVu
ZXIgb25kcmFnZW5kOwpAQCAtMjA3LDEyICsyMDgsMTUgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAg
ICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uZW5kZWQ7CiAgICAgICAgIGF0dHJpYnV0ZSBF
dmVudExpc3RlbmVyIG9uZXJyb3I7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9u
Zm9jdXM7CisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uaW5wdXQ7CiAgICAgICAg
IGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ua2V5ZG93bjsKICAgICAgICAgYXR0cmlidXRlIEV2
ZW50TGlzdGVuZXIgb25rZXlwcmVzczsKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIg
b25rZXl1cDsKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25sb2FkOwogICAgICAg
ICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmxvYWRlZGRhdGE7CiAgICAgICAgIGF0dHJpYnV0
ZSBFdmVudExpc3RlbmVyIG9ubG9hZGVkbWV0YWRhdGE7CisgICAgICAgIGF0dHJpYnV0ZSBFdmVu
dExpc3RlbmVyIG9ubG9hZHN0YXJ0OworICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBv
bm1lc3NhZ2U7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ubW91c2Vkb3duOwog
ICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbm1vdXNlbW92ZTsKICAgICAgICAgYXR0
cmlidXRlIEV2ZW50TGlzdGVuZXIgb25tb3VzZW91dDsKQEAgLTIyNCwyMCArMjI4LDI2IEBAIG1v
ZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnBhdXNlOwog
ICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnBsYXk7CiAgICAgICAgIGF0dHJpYnV0
ZSBFdmVudExpc3RlbmVyIG9ucGxheWluZzsKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVu
ZXIgb25wcm9ncmVzczsKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25yYXRlY2hh
bmdlOwotICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnJlc2V0OwogICAgICAgICBh
dHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnJlc2l6ZTsKICAgICAgICAgYXR0cmlidXRlIEV2ZW50
TGlzdGVuZXIgb25zY3JvbGw7Ci0gICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uc2Vh
cmNoOwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnNlZWtlZDsKICAgICAgICAg
YXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25zZWVraW5nOwogICAgICAgICBhdHRyaWJ1dGUgRXZl
bnRMaXN0ZW5lciBvbnNlbGVjdDsKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25z
dGFsbGVkOwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnN0b3JhZ2U7CiAgICAg
ICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uc3VibWl0OworICAgICAgICBhdHRyaWJ1dGUg
RXZlbnRMaXN0ZW5lciBvbnN1c3BlbmQ7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVy
IG9udGltZXVwZGF0ZTsKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb251bmxvYWQ7
CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9udm9sdW1lY2hhbmdlOwogICAgICAg
ICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbndhaXRpbmc7CisgICAgICAgIAorCisgICAgICAg
IC8vIFdlYmtpdCBleHRlbnNpb25zCisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9u
cmVzZXQ7CisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uc2VhcmNoOwogICAgICAg
ICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbndlYmtpdGFuaW1hdGlvbmVuZDsKICAgICAgICAg
YXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb253ZWJraXRhbmltYXRpb25pdGVyYXRpb247CiAgICAg
ICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ud2Via2l0YW5pbWF0aW9uc3RhcnQ7CkluZGV4
OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiA0NDM0NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDA5LTA2LTAxICBTYW0gV2VpbmlnICA8c2FtQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UGFydCBvZiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjYxMDAKKyAg
ICAgICAgQWRkIG1pc3NpbmcgZXZlbnQgaGFuZGxlciBwcm9wZXJ0aWVzIHRvIHRoZSBET01XaW5k
b3cKKworICAgICAgICBBZGRlZCBvbmNvbnRleHRtZW51LCBvbmlucHV0LCBhbmQgb25tZXNzYWdl
IGV2ZW50IGhhbmRsZXJzIHRvCisgICAgICAgIHRoZSBET01XaW5kb3cuIEFkaXRpb25hbGx5LCB0
aGUgb25sb2Fkc3RhcnQsIG9ucHJvZ3Jlc3MsIG9uc3RhbGxlZCwKKyAgICAgICAgYW5kIG9uc3Vz
cGVuZCBldmVudCBoYW5kbGVycyB3ZXJlIGltcGxlbWVudGVkIGJ1dCBub3QgYWRkZWQgdG8KKyAg
ICAgICAgRE9NV2luZG93LmlkbC4KKworICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ct
cHJvcGVydGllcy1leHBlY3RlZC50eHQ6CisKIDIwMDktMDYtMDEgIERyZXcgV2lsc29uICA8YXR3
aWxzb25AZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4gIExh
bmRlZCBieSBBZGFtIEJhcnRoLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dp
bmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0
NDM0MikKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE2OTEsNiArMTY5MSw3IEBAIHdpbmRvdy5v
bmNhbnBsYXkgW251bGxdCiB3aW5kb3cub25jYW5wbGF5dGhyb3VnaCBbbnVsbF0KIHdpbmRvdy5v
bmNoYW5nZSBbbnVsbF0KIHdpbmRvdy5vbmNsaWNrIFtudWxsXQord2luZG93Lm9uY29udGV4dG1l
bnUgW251bGxdCiB3aW5kb3cub25kYmxjbGljayBbbnVsbF0KIHdpbmRvdy5vbmRyYWcgW251bGxd
CiB3aW5kb3cub25kcmFnZW5kIFtudWxsXQpAQCAtMTcwNCwxMiArMTcwNSwxNSBAQCB3aW5kb3cu
b25lbXB0aWVkIFtudWxsXQogd2luZG93Lm9uZW5kZWQgW251bGxdCiB3aW5kb3cub25lcnJvciBb
bnVsbF0KIHdpbmRvdy5vbmZvY3VzIFtudWxsXQord2luZG93Lm9uaW5wdXQgW251bGxdCiB3aW5k
b3cub25rZXlkb3duIFtudWxsXQogd2luZG93Lm9ua2V5cHJlc3MgW251bGxdCiB3aW5kb3cub25r
ZXl1cCBbbnVsbF0KIHdpbmRvdy5vbmxvYWQgW251bGxdCiB3aW5kb3cub25sb2FkZWRkYXRhIFtu
dWxsXQogd2luZG93Lm9ubG9hZGVkbWV0YWRhdGEgW251bGxdCit3aW5kb3cub25sb2Fkc3RhcnQg
W251bGxdCit3aW5kb3cub25tZXNzYWdlIFtudWxsXQogd2luZG93Lm9ubW91c2Vkb3duIFtudWxs
XQogd2luZG93Lm9ubW91c2Vtb3ZlIFtudWxsXQogd2luZG93Lm9ubW91c2VvdXQgW251bGxdCkBA
IC0xNzIxLDYgKzE3MjUsNyBAQCB3aW5kb3cub25vbmxpbmUgW251bGxdCiB3aW5kb3cub25wYXVz
ZSBbbnVsbF0KIHdpbmRvdy5vbnBsYXkgW251bGxdCiB3aW5kb3cub25wbGF5aW5nIFtudWxsXQor
d2luZG93Lm9ucHJvZ3Jlc3MgW251bGxdCiB3aW5kb3cub25yYXRlY2hhbmdlIFtudWxsXQogd2lu
ZG93Lm9ucmVzZXQgW251bGxdCiB3aW5kb3cub25yZXNpemUgW251bGxdCkBAIC0xNzI5LDggKzE3
MzQsMTAgQEAgd2luZG93Lm9uc2VhcmNoIFtudWxsXQogd2luZG93Lm9uc2Vla2VkIFtudWxsXQog
d2luZG93Lm9uc2Vla2luZyBbbnVsbF0KIHdpbmRvdy5vbnNlbGVjdCBbbnVsbF0KK3dpbmRvdy5v
bnN0YWxsZWQgW251bGxdCiB3aW5kb3cub25zdG9yYWdlIFtudWxsXQogd2luZG93Lm9uc3VibWl0
IFtudWxsXQord2luZG93Lm9uc3VzcGVuZCBbbnVsbF0KIHdpbmRvdy5vbnRpbWV1cGRhdGUgW251
bGxdCiB3aW5kb3cub251bmxvYWQgW251bGxdCiB3aW5kb3cub252b2x1bWVjaGFuZ2UgW251bGxd
Cg==
</data>
<flag name="review"
          id="15667"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>