<?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>60203</bug_id>
          
          <creation_ts>2011-05-04 12:55:15 -0700</creation_ts>
          <short_desc>Add didNotHandleWheelEvent callback to WKPageUIClient</short_desc>
          <delta_ts>2011-05-05 09:57:56 -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>WebKit2</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="Jeff Miller">jeffm</reporter>
          <assigned_to name="Jeff Miller">jeffm</assigned_to>
          <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>398193</commentid>
    <comment_count>0</comment_count>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-05-04 12:55:15 -0700</bug_when>
    <thetext>Add didNotHandleWheelEvent callback to WKPageUIClient</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398198</commentid>
    <comment_count>1</comment_count>
      <attachid>92306</attachid>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-05-04 13:12:56 -0700</bug_when>
    <thetext>Created attachment 92306
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398205</commentid>
    <comment_count>2</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-05-04 13:23:23 -0700</bug_when>
    <thetext>Attachment 92306 did not build on qt:
Build output: http://queues.webkit.org/results/8558613</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398207</commentid>
    <comment_count>3</comment_count>
      <attachid>92306</attachid>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-05-04 13:24:51 -0700</bug_when>
    <thetext>Comment on attachment 92306
Patch

I&apos;ll upload a new patch to fix the qt build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398208</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-04 13:28:04 -0700</bug_when>
    <thetext>Attachment 92306 did not build on mac:
Build output: http://queues.webkit.org/results/8551607</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398210</commentid>
    <comment_count>5</comment_count>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-05-04 13:29:05 -0700</bug_when>
    <thetext>and the Mac build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398269</commentid>
    <comment_count>6</comment_count>
      <attachid>92318</attachid>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-05-04 14:47:51 -0700</bug_when>
    <thetext>Created attachment 92318
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398278</commentid>
    <comment_count>7</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-05-04 14:59:53 -0700</bug_when>
    <thetext>Attachment 92318 did not build on qt:
Build output: http://queues.webkit.org/results/8554660</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398279</commentid>
    <comment_count>8</comment_count>
      <attachid>92318</attachid>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-05-04 15:02:16 -0700</bug_when>
    <thetext>Comment on attachment 92318
Patch

Still broke the qt build.  But Adam Roben pointed out a simpler solution that doesn&apos;t involve adding a new callback, so I&apos;m going to look at doing that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398323</commentid>
    <comment_count>9</comment_count>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-05-04 15:39:51 -0700</bug_when>
    <thetext>I wrote up bug 60220 to track how I&apos;m really going to address unhandled wheel events, closing this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398482</commentid>
    <comment_count>10</comment_count>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-05-04 19:00:57 -0700</bug_when>
    <thetext>Looks like sending the wheel message to the parent window isn&apos;t good enough, so I&apos;m re-opening this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398488</commentid>
    <comment_count>11</comment_count>
      <attachid>92360</attachid>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-05-04 19:26:13 -0700</bug_when>
    <thetext>Created attachment 92360
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398778</commentid>
    <comment_count>12</comment_count>
      <attachid>92360</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-05-05 09:34:08 -0700</bug_when>
    <thetext>Comment on attachment 92360
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=92360&amp;action=review

&gt; Source/WebKit2/UIProcess/API/gtk/PageClientImpl.cpp:429
&gt; +void PageClientImpl::didNotHandleWheelEvent(const NativeWebWheelEvent&amp; event)

We normally leave out the names of unused arguments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398793</commentid>
    <comment_count>13</comment_count>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-05-05 09:57:56 -0700</bug_when>
    <thetext>Committed r85860: &lt;http://trac.webkit.org/changeset/85860&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92306</attachid>
            <date>2011-05-04 13:12:56 -0700</date>
            <delta_ts>2011-05-04 13:24:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60203-20110504131253.patch</filename>
            <type>text/plain</type>
            <size>18672</size>
            <attacher name="Jeff Miller">jeffm</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1Nzc5KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTEtMDUtMDQgIEplZmYgTWls
bGVyICA8amVmZm1AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBkaWROb3RIYW5kbGVXaGVlbEV2ZW50IGNhbGxiYWNrIHRvIFdL
UGFnZVVJQ2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02MDIwMworICAgICAgICAKKyAgICAgICAgS2VlcCB0cmFjayBvZiB3aGVlbCBldmVudHMg
dXNpbmcgTmF0aXZlV2ViV2hlZWxFdmVudCBpbnN0ZWFkIG9mIFdlYldoZWVsRXZlbnQgaW4gV2Vi
UGFnZVByb3h5IHNvIHdlIGNhbiBzZW5kIHRoZSBuYXRpdmUgZXZlbnQKKyAgICAgICAgdG8gdGhl
IFdLUGFnZVVJQ2xpZW50IGlmIFdlYktpdCBkb2Vzbid0IGhhbmRsZSBpdC4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaDogQWRkZWQgV0tQYWdlRGlkTm90SGFuZGxlV2hlZWxF
dmVudENhbGxiYWNrIHR5cGVkZWYgYW5kIGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQgdG8gV0tQYWdl
VUlDbGllbnQuCisgICAgICAgIAorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGll
bnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmRpZE5vdEhhbmRs
ZVdoZWVsRXZlbnQpOiBBZGRlZCwgYnV0IG5vdCBpbXBsZW1lbnRlZC4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oOiBBZGRlZCBkaWROb3RIYW5kbGVXaGVlbEV2
ZW50KCkuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlLmNwcDoKKyAgICAgICAg
KFFXS1BhZ2U6OlFXS1BhZ2UpOlN0dWJiZWQgb3V0IGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQgY2Fs
bGJhY2suCisgICAgICAgIAorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OldlYlBhZ2VQcm94eSk6IFJlbW92ZWQgaW5p
dGlhbGl6YXRpb24gb2Ygb2Jzb2xldGUgbV9wcm9jZXNzaW5nV2hlZWxFdmVudCBtZW1iZXIgdmFy
aWFibGUuCisgICAgICAgIChXZWJLaXQ6OmNvYWxlc2NlV2hlZWxFdmVudHMpOiBVc2UgTmF0aXZl
V2ViV2hlZWxFdmVudCBpbnN0ZWFkIG9mIFdlYldoZWVsRXZlbnQgYW5kIGFkZCBhIG5vdGUgdGhh
dCB0aGlzIHdvbid0IHdvcmsgaWYgd2UgZXZlciBlbmFibGUgTUVSR0VfV0hFRUxfRVZFTlRTLiAK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpoYW5kbGVXaGVlbEV2ZW50KTogVXNlIE5h
dGl2ZVdlYldoZWVsRXZlbnQgaW5zdGVhZCBvZiBXZWJXaGVlbEV2ZW50LCBrZWVwIHRyYWNrIG9m
IHRoZSBjdXJyZW50IGV2ZW50IGluIG1fY3VycmVudGx5UHJvY2Vzc2VkV2hlZWxFdmVudC4KKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlRXZlbnQpOiBDYWxsIGRpZE5v
dEhhbmRsZVdoZWVsRXZlbnQgaW4gV0tQYWdlVUlDbGllbnQgaWYgd2hlZWwgZXZlbnQgaXMgbm90
IGhhbmRsZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cHJvY2Vzc0RpZENyYXNo
KTogQ2xlYXIgb3V0IG1fY3VycmVudGx5UHJvY2Vzc2VkV2hlZWxFdmVudC4KKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6IENoYW5nZSBoYW5kbGVXaGVlbEV2ZW50KCkgdG8gdGFr
ZSBhIE5hdGl2ZVdlYldoZWVsRXZlbnQsIHJlbW92ZSBtX3Byb2Nlc3NpbmdXaGVlbEV2ZW50LCBh
ZGQgbV9jdXJyZW50bHlQcm9jZXNzZWRXaGVlbEV2ZW50LgorCisgICAgICAgICogVUlQcm9jZXNz
L1dlYlVJQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVUlDbGllbnQ6OmltcGxlbWVu
dHNEaWROb3RIYW5kbGVXaGVlbEV2ZW50KTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlVJ
Q2xpZW50OjpkaWROb3RIYW5kbGVXaGVlbEV2ZW50KTogQWRkZWQuCisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlVJQ2xpZW50Lmg6IEFkZGVkIGltcGxlbWVudHNEaWROb3RIYW5kbGVXaGVlbEV2ZW50
KCkgYW5kIGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQoKS4KKyAgICAgICAgCisgICAgICAgICogVUlQ
cm9jZXNzL3dpbi9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6b25XaGVl
bEV2ZW50KTogVXNlIE5hdGl2ZVdlYldoZWVsRXZlbnQgaW5zdGVhZCBvZiBXZWJXaGVlbEV2ZW50
LgorCiAyMDExLTA1LTA0ICBKZWZmIE1pbGxlciAgPGplZmZtQGFwcGxlLmNvbT4KIAogICAgICAg
ICBGaXggdHlwbyBpbiBzdm4gcHJvcGVydHkgaW4gcjg1NzU2LgpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDg1NzY3KQorKysgU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1
LDYgKzM1LDcgQEAKICNpbmNsdWRlICJNZXNzYWdlSUQuaCIKICNpbmNsdWRlICJOYXRpdmVXZWJL
ZXlib2FyZEV2ZW50LmgiCiAjaW5jbHVkZSAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgorI2luY2x1
ZGUgIk5hdGl2ZVdlYldoZWVsRXZlbnQuaCIKICNpbmNsdWRlICJQYWdlQ2xpZW50LmgiCiAjaW5j
bHVkZSAiUHJpbnRJbmZvLmgiCiAjaW5jbHVkZSAiU2Vzc2lvblN0YXRlLmgiCkBAIC0xMzgsNyAr
MTM5LDYgQEAgV2ViUGFnZVByb3h5OjpXZWJQYWdlUHJveHkoUGFnZUNsaWVudCogcAogICAgICwg
bV9zeW5jTmF2aWdhdGlvbkFjdGlvblBvbGljeUFjdGlvbklzVmFsaWQoZmFsc2UpCiAgICAgLCBt
X3N5bmNOYXZpZ2F0aW9uQWN0aW9uUG9saWN5QWN0aW9uKFBvbGljeVVzZSkKICAgICAsIG1fc3lu
Y05hdmlnYXRpb25BY3Rpb25Qb2xpY3lEb3dubG9hZElEKDApCi0gICAgLCBtX3Byb2Nlc3NpbmdX
aGVlbEV2ZW50KGZhbHNlKQogICAgICwgbV9wcm9jZXNzaW5nTW91c2VNb3ZlRXZlbnQoZmFsc2Up
CiAgICAgLCBtX3BhZ2VJRChwYWdlSUQpCiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtODY5LDM5ICs4
NjksNDEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZU1vdXNlRXZlbnQoY29ucwogICAgIHBy
b2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TW91c2VFdmVudChldmVudCksIG1fcGFn
ZUlEKTsKIH0KIAotc3RhdGljIFBhc3NPd25QdHI8V2ViV2hlZWxFdmVudD4gY29hbGVzY2VXaGVl
bEV2ZW50cyhXZWJXaGVlbEV2ZW50KiBvbGROZXh0V2hlZWxFdmVudCwgY29uc3QgV2ViV2hlZWxF
dmVudCYgbmV3V2hlZWxFdmVudCkKK3N0YXRpYyBQYXNzT3duUHRyPE5hdGl2ZVdlYldoZWVsRXZl
bnQ+IGNvYWxlc2NlV2hlZWxFdmVudHMoTmF0aXZlV2ViV2hlZWxFdmVudCogb2xkTmV4dFdoZWVs
RXZlbnQsIGNvbnN0IE5hdGl2ZVdlYldoZWVsRXZlbnQmIG5ld1doZWVsRXZlbnQpCiB7CiAjaWYg
TUVSR0VfV0hFRUxfRVZFTlRTCiAgICAgLy8gTWVyZ2UgbW9kZWw6IENvbWJpbmUgd2hlZWwgZXZl
bnQgZGVsdGFzIChhbmQgd2hlZWwgdGlja3MpIGludG8gYSBzaW5nbGUgd2hlZWwgZXZlbnQuCiAg
ICAgaWYgKCFvbGROZXh0V2hlZWxFdmVudCkKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBX
ZWJXaGVlbEV2ZW50KG5ld1doZWVsRXZlbnQpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5l
dyBOYXRpdmVXZWJXaGVlbEV2ZW50KG5ld1doZWVsRXZlbnQpKTsKIAogICAgIGlmIChvbGROZXh0
V2hlZWxFdmVudC0+cG9zaXRpb24oKSAhPSBuZXdXaGVlbEV2ZW50LnBvc2l0aW9uKCkgfHwgb2xk
TmV4dFdoZWVsRXZlbnQtPm1vZGlmaWVycygpICE9IG5ld1doZWVsRXZlbnQubW9kaWZpZXJzKCkg
fHwgb2xkTmV4dFdoZWVsRXZlbnQtPmdyYW51bGFyaXR5KCkgIT0gbmV3V2hlZWxFdmVudC5ncmFu
dWxhcml0eSgpKQotICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFdlYldoZWVsRXZlbnQobmV3
V2hlZWxFdmVudCkpOworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IE5hdGl2ZVdlYldoZWVs
RXZlbnQobmV3V2hlZWxFdmVudCkpOwogCiAgICAgRmxvYXRTaXplIG1lcmdlZERlbHRhID0gb2xk
TmV4dFdoZWVsRXZlbnQtPmRlbHRhKCkgKyBuZXdXaGVlbEV2ZW50LmRlbHRhKCk7CiAgICAgRmxv
YXRTaXplIG1lcmdlZFdoZWVsVGlja3MgPSBvbGROZXh0V2hlZWxFdmVudC0+d2hlZWxUaWNrcygp
ICsgbmV3V2hlZWxFdmVudC53aGVlbFRpY2tzKCk7CiAKLSAgICByZXR1cm4gYWRvcHRQdHIobmV3
IFdlYldoZWVsRXZlbnQoV2ViRXZlbnQ6OldoZWVsLCBuZXdXaGVlbEV2ZW50LnBvc2l0aW9uKCks
IG5ld1doZWVsRXZlbnQuZ2xvYmFsUG9zaXRpb24oKSwgbWVyZ2VkRGVsdGEsIG1lcmdlZFdoZWVs
VGlja3MsIG5ld1doZWVsRXZlbnQuZ3JhbnVsYXJpdHkoKSwgbmV3V2hlZWxFdmVudC5tb2RpZmll
cnMoKSwgbmV3V2hlZWxFdmVudC50aW1lc3RhbXAoKSkpOworICAgIC8vIEZJWE1FOiBUaGlzIHdv
bid0IGNvbXBpbGUsIGlmIHdlIGV2ZXIgdHVybiBvbiBNRVJHRV9XSEVFTF9FVkVOVFMgd2UnbGwg
aGF2ZSB0byBnZW5lcmF0ZSBhIE5hdGl2ZVdlYldoZWVsRXZlbnQgc3ludGhldGljYWxseSBmb3Ig
ZWFjaCBwbGF0Zm9ybS4KKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IE5hdGl2ZVdlYldoZWVsRXZl
bnQoV2ViRXZlbnQ6OldoZWVsLCBuZXdXaGVlbEV2ZW50LnBvc2l0aW9uKCksIG5ld1doZWVsRXZl
bnQuZ2xvYmFsUG9zaXRpb24oKSwgbWVyZ2VkRGVsdGEsIG1lcmdlZFdoZWVsVGlja3MsIG5ld1do
ZWVsRXZlbnQuZ3JhbnVsYXJpdHkoKSwgbmV3V2hlZWxFdmVudC5tb2RpZmllcnMoKSwgbmV3V2hl
ZWxFdmVudC50aW1lc3RhbXAoKSkpOwogI2Vsc2UKICAgICAvLyBTaW1wbGUgbW9kZWw6IEp1c3Qg
a2VlcCB0aGUgbGFzdCBldmVudCwgZHJvcHBpbmcgYWxsIGludGVyaW0gZXZlbnRzLgotICAgIHJl
dHVybiBhZG9wdFB0cihuZXcgV2ViV2hlZWxFdmVudChuZXdXaGVlbEV2ZW50KSk7CisgICAgcmV0
dXJuIGFkb3B0UHRyKG5ldyBOYXRpdmVXZWJXaGVlbEV2ZW50KG5ld1doZWVsRXZlbnQpKTsKICNl
bmRpZgogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBXZWJX
aGVlbEV2ZW50JiBldmVudCkKK3ZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVXaGVlbEV2ZW50KGNv
bnN0IE5hdGl2ZVdlYldoZWVsRXZlbnQmIGV2ZW50KQogewogICAgIGlmICghaXNWYWxpZCgpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBpZiAobV9wcm9jZXNzaW5nV2hlZWxFdmVudCkgeworICAg
IGlmIChtX2N1cnJlbnRseVByb2Nlc3NlZFdoZWVsRXZlbnQpIHsKICAgICAgICAgbV9uZXh0V2hl
ZWxFdmVudCA9IGNvYWxlc2NlV2hlZWxFdmVudHMobV9uZXh0V2hlZWxFdmVudC5nZXQoKSwgZXZl
bnQpOwogICAgICAgICByZXR1cm47CiAgICAgfQorICAgIAorICAgIG1fY3VycmVudGx5UHJvY2Vz
c2VkV2hlZWxFdmVudCA9IGFkb3B0UHRyKG5ldyBOYXRpdmVXZWJXaGVlbEV2ZW50KGV2ZW50KSk7
CiAKICAgICBwcm9jZXNzKCktPnJlc3BvbnNpdmVuZXNzVGltZXIoKS0+c3RhcnQoKTsKICAgICBw
cm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OldoZWVsRXZlbnQoZXZlbnQpLCBtX3Bh
Z2VJRCk7Ci0gICAgbV9wcm9jZXNzaW5nV2hlZWxFdmVudCA9IHRydWU7CiB9CiAKIHZvaWQgV2Vi
UGFnZVByb3h5OjpoYW5kbGVLZXlib2FyZEV2ZW50KGNvbnN0IE5hdGl2ZVdlYktleWJvYXJkRXZl
bnQmIGV2ZW50KQpAQCAtMjYyMyw3ICsyNjI1LDEyIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRS
ZWNlaXZlRXZlbnQodWludDMKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFdlYkV2ZW50OjpX
aGVlbDogewotICAgICAgICBtX3Byb2Nlc3NpbmdXaGVlbEV2ZW50ID0gZmFsc2U7CisgICAgICAg
IEFTU0VSVChtX2N1cnJlbnRseVByb2Nlc3NlZFdoZWVsRXZlbnQpOworCisgICAgICAgIGlmICgh
aGFuZGxlZCAmJiBtX2N1cnJlbnRseVByb2Nlc3NlZFdoZWVsRXZlbnQgJiYgbV91aUNsaWVudC5p
bXBsZW1lbnRzRGlkTm90SGFuZGxlV2hlZWxFdmVudCgpKQorICAgICAgICAgICAgbV91aUNsaWVu
dC5kaWROb3RIYW5kbGVXaGVlbEV2ZW50KHRoaXMsICptX2N1cnJlbnRseVByb2Nlc3NlZFdoZWVs
RXZlbnQpOworICAgICAgICAgICAgCisgICAgICAgIG1fY3VycmVudGx5UHJvY2Vzc2VkV2hlZWxF
dmVudCA9IG51bGxwdHI7CiAgICAgICAgIGlmIChtX25leHRXaGVlbEV2ZW50KSB7CiAgICAgICAg
ICAgICBoYW5kbGVXaGVlbEV2ZW50KCptX25leHRXaGVlbEV2ZW50KTsKICAgICAgICAgICAgIG1f
bmV4dFdoZWVsRXZlbnQgPSBudWxscHRyOwpAQCAtMjg0MSw2ICsyODQ4LDcgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OnByb2Nlc3NEaWRDcmFzaCgpCiAgICAgLy8gQ2FuJ3QgZXhwZWN0IERpZFJlY2Vp
dmVFdmVudCBub3RpZmljYXRpb25zIGZyb20gYSBjcmFzaGVkIHdlYiBwcm9jZXNzLgogICAgIG1f
a2V5RXZlbnRRdWV1ZS5jbGVhcigpOwogICAgIG1fbmV4dFdoZWVsRXZlbnQgPSBudWxscHRyOwor
ICAgIG1fY3VycmVudGx5UHJvY2Vzc2VkV2hlZWxFdmVudCA9IG51bGxwdHI7CiAgICAgbV9uZXh0
TW91c2VNb3ZlRXZlbnQgPSBudWxscHRyOwogICAgIG1fY3VycmVudGx5UHJvY2Vzc2VkTW91c2VE
b3duRXZlbnQgPSBudWxscHRyOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCShyZXZpc2lvbiA4NTc2NykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtODcsNiArODcsNyBAQCBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogY2xhc3MgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudDsKIGNsYXNzIE5hdGl2ZVdl
Yk1vdXNlRXZlbnQ7CitjbGFzcyBOYXRpdmVXZWJXaGVlbEV2ZW50OwogY2xhc3MgUGFnZUNsaWVu
dDsKIGNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgU3RyaW5nUGFpclZlY3Rv
cjsKQEAgLTMwNiw3ICszMDcsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIHZvaWQgaGFuZGxl
TW91c2VFdmVudChjb25zdCBOYXRpdmVXZWJNb3VzZUV2ZW50Jik7Ci0gICAgdm9pZCBoYW5kbGVX
aGVlbEV2ZW50KGNvbnN0IFdlYldoZWVsRXZlbnQmKTsKKyAgICB2b2lkIGhhbmRsZVdoZWVsRXZl
bnQoY29uc3QgTmF0aXZlV2ViV2hlZWxFdmVudCYpOwogICAgIHZvaWQgaGFuZGxlS2V5Ym9hcmRF
dmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50Jik7CiAjaWYgRU5BQkxFKEdFU1RVUkVf
RVZFTlRTKQogICAgIHZvaWQgaGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFdlYkdlc3R1cmVFdmVu
dCYpOwpAQCAtODI5LDcgKzgzMCw4IEBAIHByaXZhdGU6CiAKICAgICBEZXF1ZTxOYXRpdmVXZWJL
ZXlib2FyZEV2ZW50PiBtX2tleUV2ZW50UXVldWU7CiAgICAgYm9vbCBtX3Byb2Nlc3NpbmdXaGVl
bEV2ZW50OwotICAgIE93blB0cjxXZWJXaGVlbEV2ZW50PiBtX25leHRXaGVlbEV2ZW50OworICAg
IE93blB0cjxOYXRpdmVXZWJXaGVlbEV2ZW50PiBtX2N1cnJlbnRseVByb2Nlc3NlZFdoZWVsRXZl
bnQ7CisgICAgT3duUHRyPE5hdGl2ZVdlYldoZWVsRXZlbnQ+IG1fbmV4dFdoZWVsRXZlbnQ7CiAK
ICAgICBib29sIG1fcHJvY2Vzc2luZ01vdXNlTW92ZUV2ZW50OwogICAgIE93blB0cjxOYXRpdmVX
ZWJNb3VzZUV2ZW50PiBtX25leHRNb3VzZU1vdmVFdmVudDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlVJQ2xpZW50LmNwcAkocmV2aXNpb24gODU3NjcpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsy
OCw3IEBACiAKICNpbmNsdWRlICJJbW11dGFibGVEaWN0aW9uYXJ5LmgiCiAjaW5jbHVkZSAiTmF0
aXZlV2ViS2V5Ym9hcmRFdmVudC5oIgorI2luY2x1ZGUgIk5hdGl2ZVdlYldoZWVsRXZlbnQuaCIK
ICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKICNpbmNsdWRlICJXZWJOdW1iZXIuaCIKICNpbmNsdWRl
ICJXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5LmgiCkBAIC0xNzUsNiArMTc2LDE4IEBA
IHZvaWQgV2ViVUlDbGllbnQ6OmRpZE5vdEhhbmRsZUtleUV2ZW50KFcKICAgICBtX2NsaWVudC5k
aWROb3RIYW5kbGVLZXlFdmVudCh0b0FQSShwYWdlKSwgZXZlbnQubmF0aXZlRXZlbnQoKSwgbV9j
bGllbnQuY2xpZW50SW5mbyk7CiB9CiAKK2Jvb2wgV2ViVUlDbGllbnQ6OmltcGxlbWVudHNEaWRO
b3RIYW5kbGVXaGVlbEV2ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jbGllbnQuZGlkTm90
SGFuZGxlV2hlZWxFdmVudDsKK30KKwordm9pZCBXZWJVSUNsaWVudDo6ZGlkTm90SGFuZGxlV2hl
ZWxFdmVudChXZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0IE5hdGl2ZVdlYldoZWVsRXZlbnQmIGV2
ZW50KQoreworICAgIGlmICghbV9jbGllbnQuZGlkTm90SGFuZGxlV2hlZWxFdmVudCkKKyAgICAg
ICAgcmV0dXJuOworICAgIG1fY2xpZW50LmRpZE5vdEhhbmRsZVdoZWVsRXZlbnQodG9BUEkocGFn
ZSksIGV2ZW50Lm5hdGl2ZUV2ZW50KCksIG1fY2xpZW50LmNsaWVudEluZm8pOworfQorCiBib29s
IFdlYlVJQ2xpZW50Ojp0b29sYmFyc0FyZVZpc2libGUoV2ViUGFnZVByb3h5KiBwYWdlKQogewog
ICAgIGlmICghbV9jbGllbnQudG9vbGJhcnNBcmVWaXNpYmxlKQpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlVJQ2xpZW50LmgJKHJldmlzaW9uIDg1NzY3KQorKysgU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcg
QEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBBUElPYmplY3Q7CiBjbGFzcyBHZW9sb2NhdGlv
blBlcm1pc3Npb25SZXF1ZXN0UHJveHk7CiBjbGFzcyBOYXRpdmVXZWJLZXlib2FyZEV2ZW50Owor
Y2xhc3MgTmF0aXZlV2ViV2hlZWxFdmVudDsKIGNsYXNzIFdlYkRhdGE7CiBjbGFzcyBXZWJGcmFt
ZVByb3h5OwogY2xhc3MgV2ViUGFnZVByb3h5OwpAQCAtNzEsNiArNzIsOSBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpbXBsZW1lbnRzRGlkTm90SGFuZGxlS2V5RXZlbnQoKSBjb25zdDsKICAgICB2b2lk
IGRpZE5vdEhhbmRsZUtleUV2ZW50KFdlYlBhZ2VQcm94eSosIGNvbnN0IE5hdGl2ZVdlYktleWJv
YXJkRXZlbnQmKTsKIAorICAgIGJvb2wgaW1wbGVtZW50c0RpZE5vdEhhbmRsZVdoZWVsRXZlbnQo
KSBjb25zdDsKKyAgICB2b2lkIGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQoV2ViUGFnZVByb3h5Kiwg
Y29uc3QgTmF0aXZlV2ViV2hlZWxFdmVudCYpOworCiAgICAgYm9vbCB0b29sYmFyc0FyZVZpc2li
bGUoV2ViUGFnZVByb3h5Kik7CiAgICAgdm9pZCBzZXRUb29sYmFyc0FyZVZpc2libGUoV2ViUGFn
ZVByb3h5KiwgYm9vbCk7CiAgICAgYm9vbCBtZW51QmFySXNWaXNpYmxlKFdlYlBhZ2VQcm94eSop
OwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaAkocmV2aXNpb24g
ODU3NjcpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTE2Myw2ICsxNjMsNyBAQCB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VTZXRTdGF0
dXNUZXh0Q2FsbGJhCiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VNb3VzZURpZE1vdmVPdmVyRWxlbWVu
dENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdL
VHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQg
KCpXS1BhZ2VNaXNzaW5nUGx1Z2luQnV0dG9uQ2xpY2tlZENhbGxiYWNrKShXS1BhZ2VSZWYgcGFn
ZSwgV0tTdHJpbmdSZWYgbWltZVR5cGUsIFdLU3RyaW5nUmVmIHVybCwgV0tTdHJpbmdSZWYgcGx1
Z2luc1BhZ2VVUkwsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tQ
YWdlRGlkTm90SGFuZGxlS2V5RXZlbnRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLTmF0aXZl
RXZlbnRQdHIgZXZlbnQsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgq
V0tQYWdlRGlkTm90SGFuZGxlV2hlZWxFdmVudENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tO
YXRpdmVFdmVudFB0ciBldmVudCwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIGJv
b2wgKCpXS1BhZ2VHZXRUb29sYmFyc0FyZVZpc2libGVDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2Us
IGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlU2V0VG9vbGJh
cnNBcmVWaXNpYmxlQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBib29sIHRvb2xiYXJzVmlzaWJs
ZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIGJvb2wgKCpXS1BhZ2VHZXRNZW51
QmFySXNWaXNpYmxlQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkICpjbGllbnRJ
bmZvKTsKQEAgLTIwMiw2ICsyMDMsNyBAQCBzdHJ1Y3QgV0tQYWdlVUlDbGllbnQgewogICAgIFdL
UGFnZU1vdXNlRGlkTW92ZU92ZXJFbGVtZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQ7CiAgICAgV0tQYWdlTWlzc2luZ1BsdWdp
bkJ1dHRvbkNsaWNrZWRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaXNzaW5n
UGx1Z2luQnV0dG9uQ2xpY2tlZDsKICAgICBXS1BhZ2VEaWROb3RIYW5kbGVLZXlFdmVudENhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZE5vdEhhbmRsZUtleUV2ZW50
OworICAgIFdLUGFnZURpZE5vdEhhbmRsZVdoZWVsRXZlbnRDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZGlkTm90SGFuZGxlV2hlZWxFdmVudDsKICAgICBXS1BhZ2VHZXRU
b29sYmFyc0FyZVZpc2libGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRvb2xiYXJzQXJlVmlzaWJsZTsKICAgICBXS1BhZ2VTZXRUb29sYmFyc0FyZVZpc2libGVDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRvb2xiYXJzQXJlVmlzaWJs
ZTsKICAgICBXS1BhZ2VHZXRNZW51QmFySXNWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG1lbnVCYXJJc1Zpc2libGU7CkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCShyZXZpc2lv
biA4NTc2NykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJ
bXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDI2LDYgKzQyNiwxMSBAQCB2b2lkIFBhZ2VDbGll
bnRJbXBsOjpkaWROb3RIYW5kbGVLZXlFdmVuCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAor
dm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkTm90SGFuZGxlV2hlZWxFdmVudChjb25zdCBOYXRpdmVX
ZWJXaGVlbEV2ZW50JiBldmVudCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiBQYXNz
UmVmUHRyPFdlYlBvcHVwTWVudVByb3h5PiBQYWdlQ2xpZW50SW1wbDo6Y3JlYXRlUG9wdXBNZW51
UHJveHkoV2ViUGFnZVByb3h5KikKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCShy
ZXZpc2lvbiA4NTc2NykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VD
bGllbnRJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTc3LDYgKzc3LDcgQEAgcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIFdlYkNvcmU6OkludFJlY3Qgd2luZG93VG9TY3JlZW4oY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYpOwogICAgIHZpcnR1YWwgdm9pZCBkb25lV2l0aEtleUV2ZW50KGNvbnN0IE5hdGl2
ZVdlYktleWJvYXJkRXZlbnQmLCBib29sIHdhc0V2ZW50SGFuZGxlZCk7CiAgICAgdmlydHVhbCB2
b2lkIGRpZE5vdEhhbmRsZUtleUV2ZW50KGNvbnN0IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQmKTsK
KyAgICB2aXJ0dWFsIHZvaWQgZGlkTm90SGFuZGxlV2hlZWxFdmVudChjb25zdCBOYXRpdmVXZWJX
aGVsbGJvYXJkRXZlbnQmKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViUG9wdXBNZW51UHJv
eHk+IGNyZWF0ZVBvcHVwTWVudVByb3h5KFdlYlBhZ2VQcm94eSopOwogICAgIHZpcnR1YWwgUGFz
c1JlZlB0cjxXZWJDb250ZXh0TWVudVByb3h5PiBjcmVhdGVDb250ZXh0TWVudVByb3h5KFdlYlBh
Z2VQcm94eSopOwogICAgIHZpcnR1YWwgdm9pZCBzZXRGaW5kSW5kaWNhdG9yKFBhc3NSZWZQdHI8
RmluZEluZGljYXRvcj4sIGJvb2wgZmFkZU91dCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3F3a3BhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXdrcGFnZS5jcHAJKHJldmlzaW9uIDg1NzY3KQorKysgU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDc3
LDYgKzQ3Nyw3IEBAIFFXS1BhZ2U6OlFXS1BhZ2UoUVdLQ29udGV4dCogY29udGV4dCkKICAgICAg
ICAgMCwgIC8qIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50ICovCiAgICAgICAgIDAsICAvKiBtaXNz
aW5nUGx1Z2luQnV0dG9uQ2xpY2tlZCAqLwogICAgICAgICAwLCAgLyogZGlkTm90SGFuZGxlS2V5
RXZlbnQgKi8KKyAgICAgICAgMCwgIC8qIGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQgKi8KICAgICAg
ICAgMCwgIC8qIHRvb2xiYXJzQXJlVmlzaWJsZSAqLwogICAgICAgICAwLCAgLyogc2V0VG9vbGJh
cnNBcmVWaXNpYmxlICovCiAgICAgICAgIDAsICAvKiBtZW51QmFySXNWaXNpYmxlICovCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAJKHJldmlzaW9uIDg1NzY3
KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJO
YXRpdmVXZWJLZXlib2FyZEV2ZW50LmgiCiAjaW5jbHVkZSAiTmF0aXZlV2ViTW91c2VFdmVudC5o
IgorI2luY2x1ZGUgIk5hdGl2ZVdlYldoZWVsRXZlbnQuaCIKICNpbmNsdWRlICJSZWdpb24uaCIK
ICNpbmNsdWRlICJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV0tBUElDYXN0LmgiCkBAIC00MzQsNyAr
NDM1LDcgQEAgTFJFU1VMVCBXZWJWaWV3Ojpvbk1vdXNlRXZlbnQoSFdORCBoV25kLAogCiBMUkVT
VUxUIFdlYlZpZXc6Om9uV2hlZWxFdmVudChIV05EIGhXbmQsIFVJTlQgbWVzc2FnZSwgV1BBUkFN
IHdQYXJhbSwgTFBBUkFNIGxQYXJhbSwgYm9vbCYgaGFuZGxlZCkKIHsKLSAgICBXZWJXaGVlbEV2
ZW50IHdoZWVsRXZlbnQgPSBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYldoZWVsRXZlbnQoaFdu
ZCwgbWVzc2FnZSwgd1BhcmFtLCBsUGFyYW0pOworICAgIE5hdGl2ZVdlYldoZWVsRXZlbnQgd2hl
ZWxFdmVudCA9IE5hdGl2ZVdlYldoZWVsRXZlbnQoaFduZCwgbWVzc2FnZSwgd1BhcmFtLCBsUGFy
YW0pOwogICAgIGlmICh3aGVlbEV2ZW50LmNvbnRyb2xLZXkoKSkgewogICAgICAgICAvLyBXZSBk
byBub3Qgd2FudCBXZWJLaXQgdG8gaGFuZGxlIENvbnRyb2wgKyBXaGVlbCwgdGhpcyBzaG91bGQg
YmUgaGFuZGxlZCBieSB0aGUgY2xpZW50IGFwcGxpY2F0aW9uCiAgICAgICAgIC8vIHRvIHpvb20g
dGhlIHBhZ2UuCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiA4NTc3OSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDIwIEBACisyMDExLTA1LTA0ICBKZWZmIE1pbGxlciAgPGplZmZtQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgZGlkTm90SGFuZGxlV2hlZWxFdmVudCBjYWxsYmFjayB0byBXS1BhZ2VVSUNsaWVudAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAyMDMKKworICAg
ICAgICAqIE1pbmlCcm93c2VyL2d0ay9Ccm93c2VyV2luZG93LmM6CisgICAgICAgIChicm93c2Vy
V2luZG93VUlDbGllbnRJbml0KTogU3R1YiBvdXQgZGlkTm90SGFuZGxlV2hlZWxFdmVudCBjYWxs
YmFjay4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9tYWMvQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIu
bToKKyAgICAgICAgKC1bQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIgYXdha2VGcm9tTmliXSk6IFN0
dWIgb3V0IGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQgY2FsbGJhY2suCisgICAgICAgICogTWluaUJy
b3dzZXIvd2luL0Jyb3dzZXJWaWV3LmNwcDoKKyAgICAgICAgKEJyb3dzZXJWaWV3OjpjcmVhdGUp
OiBTdHViIG91dCBkaWROb3RIYW5kbGVXaGVlbEV2ZW50IGNhbGxiYWNrLgorICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29u
dHJvbGxlcjo6Y3JlYXRlT3RoZXJQYWdlKTogU3R1YiBvdXQgZGlkTm90SGFuZGxlV2hlZWxFdmVu
dCBjYWxsYmFjay4KKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemUpOiBT
dHViIG91dCBkaWROb3RIYW5kbGVXaGVlbEV2ZW50IGNhbGxiYWNrLgorCiAyMDExLTA1LTA0ICBK
dXN0aW4gTm92b3NhZCAgPGp1bm92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBLZW5uZXRoIFJ1c3NlbGwuCkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3Nlcldp
bmRvdy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyV2luZG93
LmMJKHJldmlzaW9uIDg1NzY3KQorKysgVG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJXaW5k
b3cuYwkod29ya2luZyBjb3B5KQpAQCAtNDIyLDYgKzQyMiw3IEBAIHN0YXRpYyB2b2lkIGJyb3dz
ZXJXaW5kb3dVSUNsaWVudEluaXQoQnIKICAgICAgICAgMCwgICAgICAvKiBtb3VzZURpZE1vdmVP
dmVyRWxlbWVudCAqLwogICAgICAgICAwLCAgICAgIC8qIG1pc3NpbmdQbHVnaW5CdXR0b25DbGlj
a2VkICovCiAgICAgICAgIDAsICAgICAgLyogZGlkTm90SGFuZGxlS2V5RXZlbnQgKi8KKyAgICAg
ICAgMCwgICAgICAvKiBkaWROb3RIYW5kbGVXaGVlbEV2ZW50ICovCiAgICAgICAgIDAsICAgICAg
LyogdG9vbGJhcnNBcmVWaXNpYmxlICovCiAgICAgICAgIDAsICAgICAgLyogc2V0VG9vbGJhcnNB
cmVWaXNpYmxlICovCiAgICAgICAgIDAsICAgICAgLyogbWVudUJhcklzVmlzaWJsZSAqLwpJbmRl
eDogVG9vbHMvTWluaUJyb3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0J
KHJldmlzaW9uIDg1NzY3KQorKysgVG9vbHMvTWluaUJyb3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dD
b250cm9sbGVyLm0JKHdvcmtpbmcgY29weSkKQEAgLTYyOSw2ICs2MjksNyBAQCAtICh2b2lkKWF3
YWtlRnJvbU5pYgogICAgICAgICBtb3VzZURpZE1vdmVPdmVyRWxlbWVudCwKICAgICAgICAgMCwg
ICAgICAgICAgLyogbWlzc2luZ1BsdWdpbkJ1dHRvbkNsaWNrZWQgKi8KICAgICAgICAgMCwgICAg
ICAgICAgLyogZGlkTm90SGFuZGxlS2V5RXZlbnQgKi8KKyAgICAgICAgMCwgICAgICAgICAgLyog
ZGlkTm90SGFuZGxlV2hlZWxFdmVudCAqLwogICAgICAgICAwLCAgICAgICAgICAvKiB0b29sYmFy
c0FyZVZpc2libGUgKi8KICAgICAgICAgMCwgICAgICAgICAgLyogc2V0VG9vbGJhcnNBcmVWaXNp
YmxlICovCiAgICAgICAgIDAsICAgICAgICAgIC8qIG1lbnVCYXJJc1Zpc2libGUgKi8KSW5kZXg6
IFRvb2xzL01pbmlCcm93c2VyL3dpbi9Ccm93c2VyVmlldy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvTWluaUJyb3dzZXIvd2luL0Jyb3dzZXJWaWV3LmNwcAkocmV2aXNpb24gODU3NjcpCisrKyBU
b29scy9NaW5pQnJvd3Nlci93aW4vQnJvd3NlclZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MDcsNiArMTA3LDcgQEAgdm9pZCBCcm93c2VyVmlldzo6Y3JlYXRlKFJFQ1Qgd2ViVmlld1JlYwog
ICAgICAgICBzZXRTdGF0dXNUZXh0LAogICAgICAgICBtb3VzZURpZE1vdmVPdmVyRWxlbWVudCwK
ICAgICAgICAgMCwgICAgICAgICAgLyogZGlkTm90SGFuZGxlS2V5RXZlbnQgKi8KKyAgICAgICAg
MCwgICAgICAgICAgLyogZGlkTm90SGFuZGxlV2hlZWxFdmVudCAqLwogICAgICAgICAwLCAgICAg
ICAgICAvKiB0b29sYmFyc0FyZVZpc2libGUgKi8KICAgICAgICAgMCwgICAgICAgICAgLyogc2V0
VG9vbGJhcnNBcmVWaXNpYmxlICovCiAgICAgICAgIDAsICAgICAgICAgIC8qIG1lbnVCYXJJc1Zp
c2libGUgKi8KSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3Bw
CShyZXZpc2lvbiA4NTc2NykKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xs
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTEsNiArMTUxLDcgQEAgV0tQYWdlUmVmIFRlc3RD
b250cm9sbGVyOjpjcmVhdGVPdGhlclBhZwogICAgICAgICAwLCAvLyBtb3VzZURpZE1vdmVPdmVy
RWxlbWVudAogICAgICAgICAwLCAvLyBtaXNzaW5nUGx1Z2luQnV0dG9uQ2xpY2tlZAogICAgICAg
ICAwLCAvLyBkaWROb3RIYW5kbGVLZXlFdmVudAorICAgICAgICAwLCAvLyBkaWROb3RIYW5kbGVX
aGVlbEV2ZW50CiAgICAgICAgIDAsIC8vIHRvb2xiYXJzQXJlVmlzaWJsZQogICAgICAgICAwLCAv
LyBzZXRUb29sYmFyc0FyZVZpc2libGUKICAgICAgICAgMCwgLy8gbWVudUJhcklzVmlzaWJsZQpA
QCAtMjkzLDYgKzI5NCw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemUoaW50IGFy
Z2MKICAgICAgICAgMCwgLy8gbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQKICAgICAgICAgMCwgLy8g
bWlzc2luZ1BsdWdpbkJ1dHRvbkNsaWNrZWQKICAgICAgICAgMCwgLy8gZGlkTm90SGFuZGxlS2V5
RXZlbnQKKyAgICAgICAgMCwgLy8gZGlkTm90SGFuZGxlV2hlZWxFdmVudAogICAgICAgICAwLCAv
LyB0b29sYmFyc0FyZVZpc2libGUKICAgICAgICAgMCwgLy8gc2V0VG9vbGJhcnNBcmVWaXNpYmxl
CiAgICAgICAgIDAsIC8vIG1lbnVCYXJJc1Zpc2libGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92318</attachid>
            <date>2011-05-04 14:47:51 -0700</date>
            <delta_ts>2011-05-04 15:02:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60203-20110504144748.patch</filename>
            <type>text/plain</type>
            <size>20695</size>
            <attacher name="Jeff Miller">jeffm</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1Nzg5KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTEtMDUtMDQgIEplZmYgTWls
bGVyICA8amVmZm1AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBkaWROb3RIYW5kbGVXaGVlbEV2ZW50IGNhbGxiYWNrIHRvIFdL
UGFnZVVJQ2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02MDIwMworCisgICAgICAgIEFkZCBkaWROb3RIYW5kbGVXaGVlbEV2ZW50IGNhbGxiYWNr
IHRvIFdLUGFnZVVJQ2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02MDIwMworICAgICAgICAKKyAgICAgICAgS2VlcCB0cmFjayBvZiB3aGVlbCBl
dmVudHMgdXNpbmcgTmF0aXZlV2ViV2hlZWxFdmVudCBpbnN0ZWFkIG9mIFdlYldoZWVsRXZlbnQg
aW4gV2ViUGFnZVByb3h5IHNvIHdlIGNhbiBzZW5kIHRoZSBuYXRpdmUgZXZlbnQKKyAgICAgICAg
dG8gdGhlIFdLUGFnZVVJQ2xpZW50IGlmIFdlYktpdCBkb2Vzbid0IGhhbmRsZSBpdC4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaDogQWRkZWQgV0tQYWdlRGlkTm90SGFuZGxl
V2hlZWxFdmVudENhbGxiYWNrIHR5cGVkZWYgYW5kIGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQgdG8g
V0tQYWdlVUlDbGllbnQuCisgICAgICAgIAorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1Bh
Z2VDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmRpZE5v
dEhhbmRsZVdoZWVsRXZlbnQpOiBBZGRlZCwgYnV0IG5vdCBpbXBsZW1lbnRlZC4KKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oOiBBZGRlZCBkaWROb3RIYW5kbGVX
aGVlbEV2ZW50KCkuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tOiBVc2Ug
TmF0aXZlV2ViV2hlZWxFdmVudCBpbnN0ZWFkIG9mIFdlYldoZWVsRXZlbnQuCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlLmNwcDoKKyAgICAgICAgKFFXS1BhZ2VQcml2YXRlOjp3
aGVlbEV2ZW50KTogVXNlIE5hdGl2ZVdlYldoZWVsRXZlbnQgaW5zdGVhZCBvZiBXZWJXaGVlbEV2
ZW50LgorICAgICAgICAoUVdLUGFnZTo6UVdLUGFnZSk6IFN0dWJiZWQgb3V0IGRpZE5vdEhhbmRs
ZVdoZWVsRXZlbnQgY2FsbGJhY2suCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpXZWJQYWdlUHJveHkpOiBSZW1v
dmVkIGluaXRpYWxpemF0aW9uIG9mIG9ic29sZXRlIG1fcHJvY2Vzc2luZ1doZWVsRXZlbnQgbWVt
YmVyIHZhcmlhYmxlLgorICAgICAgICAoV2ViS2l0Ojpjb2FsZXNjZVdoZWVsRXZlbnRzKTogVXNl
IE5hdGl2ZVdlYldoZWVsRXZlbnQgaW5zdGVhZCBvZiBXZWJXaGVlbEV2ZW50IGFuZCBhZGQgYSBu
b3RlIHRoYXQgdGhpcyB3b24ndCB3b3JrIGlmIHdlIGV2ZXIgZW5hYmxlIE1FUkdFX1dIRUVMX0VW
RU5UUy4gCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aGFuZGxlV2hlZWxFdmVudCk6
IFVzZSBOYXRpdmVXZWJXaGVlbEV2ZW50IGluc3RlYWQgb2YgV2ViV2hlZWxFdmVudCwga2VlcCB0
cmFjayBvZiB0aGUgY3VycmVudCBldmVudCBpbiBtX2N1cnJlbnRseVByb2Nlc3NlZFdoZWVsRXZl
bnQuCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkUmVjZWl2ZUV2ZW50KTogQ2Fs
bCBkaWROb3RIYW5kbGVXaGVlbEV2ZW50IGluIFdLUGFnZVVJQ2xpZW50IGlmIHdoZWVsIGV2ZW50
IGlzIG5vdCBoYW5kbGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnByb2Nlc3NE
aWRDcmFzaCk6IENsZWFyIG91dCBtX2N1cnJlbnRseVByb2Nlc3NlZFdoZWVsRXZlbnQuCisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOiBDaGFuZ2UgaGFuZGxlV2hlZWxFdmVudCgp
IHRvIHRha2UgYSBOYXRpdmVXZWJXaGVlbEV2ZW50LCByZW1vdmUgbV9wcm9jZXNzaW5nV2hlZWxF
dmVudCwgYWRkIG1fY3VycmVudGx5UHJvY2Vzc2VkV2hlZWxFdmVudC4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJVSUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlVJQ2xpZW50Ojpp
bXBsZW1lbnRzRGlkTm90SGFuZGxlV2hlZWxFdmVudCk6IEFkZGVkLgorICAgICAgICAoV2ViS2l0
OjpXZWJVSUNsaWVudDo6ZGlkTm90SGFuZGxlV2hlZWxFdmVudCk6IEFkZGVkLgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJVSUNsaWVudC5oOiBBZGRlZCBpbXBsZW1lbnRzRGlkTm90SGFuZGxlV2hl
ZWxFdmVudCgpIGFuZCBkaWROb3RIYW5kbGVXaGVlbEV2ZW50KCkuCisgICAgICAgIAorICAgICAg
ICAqIFVJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6
Om9uV2hlZWxFdmVudCk6IFVzZSBOYXRpdmVXZWJXaGVlbEV2ZW50IGluc3RlYWQgb2YgV2ViV2hl
ZWxFdmVudC4KKwogMjAxMS0wNS0wNCAgVGFvIEJhaSAgPG1pY2hhZWxiYWlAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIEtpbHplci4KSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiA4NTc4MykKKysrIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
NSw2ICszNSw3IEBACiAjaW5jbHVkZSAiTWVzc2FnZUlELmgiCiAjaW5jbHVkZSAiTmF0aXZlV2Vi
S2V5Ym9hcmRFdmVudC5oIgogI2luY2x1ZGUgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKKyNpbmNs
dWRlICJOYXRpdmVXZWJXaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiUGFnZUNsaWVudC5oIgogI2lu
Y2x1ZGUgIlByaW50SW5mby5oIgogI2luY2x1ZGUgIlNlc3Npb25TdGF0ZS5oIgpAQCAtMTM4LDcg
KzEzOSw2IEBAIFdlYlBhZ2VQcm94eTo6V2ViUGFnZVByb3h5KFBhZ2VDbGllbnQqIHAKICAgICAs
IG1fc3luY05hdmlnYXRpb25BY3Rpb25Qb2xpY3lBY3Rpb25Jc1ZhbGlkKGZhbHNlKQogICAgICwg
bV9zeW5jTmF2aWdhdGlvbkFjdGlvblBvbGljeUFjdGlvbihQb2xpY3lVc2UpCiAgICAgLCBtX3N5
bmNOYXZpZ2F0aW9uQWN0aW9uUG9saWN5RG93bmxvYWRJRCgwKQotICAgICwgbV9wcm9jZXNzaW5n
V2hlZWxFdmVudChmYWxzZSkKICAgICAsIG1fcHJvY2Vzc2luZ01vdXNlTW92ZUV2ZW50KGZhbHNl
KQogICAgICwgbV9wYWdlSUQocGFnZUlEKQogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTg2OSwzOSAr
ODY5LDQxIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVNb3VzZUV2ZW50KGNvbnMKICAgICBw
cm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6Ok1vdXNlRXZlbnQoZXZlbnQpLCBtX3Bh
Z2VJRCk7CiB9CiAKLXN0YXRpYyBQYXNzT3duUHRyPFdlYldoZWVsRXZlbnQ+IGNvYWxlc2NlV2hl
ZWxFdmVudHMoV2ViV2hlZWxFdmVudCogb2xkTmV4dFdoZWVsRXZlbnQsIGNvbnN0IFdlYldoZWVs
RXZlbnQmIG5ld1doZWVsRXZlbnQpCitzdGF0aWMgUGFzc093blB0cjxOYXRpdmVXZWJXaGVlbEV2
ZW50PiBjb2FsZXNjZVdoZWVsRXZlbnRzKE5hdGl2ZVdlYldoZWVsRXZlbnQqIG9sZE5leHRXaGVl
bEV2ZW50LCBjb25zdCBOYXRpdmVXZWJXaGVlbEV2ZW50JiBuZXdXaGVlbEV2ZW50KQogewogI2lm
IE1FUkdFX1dIRUVMX0VWRU5UUwogICAgIC8vIE1lcmdlIG1vZGVsOiBDb21iaW5lIHdoZWVsIGV2
ZW50IGRlbHRhcyAoYW5kIHdoZWVsIHRpY2tzKSBpbnRvIGEgc2luZ2xlIHdoZWVsIGV2ZW50Lgog
ICAgIGlmICghb2xkTmV4dFdoZWVsRXZlbnQpCi0gICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcg
V2ViV2hlZWxFdmVudChuZXdXaGVlbEV2ZW50KSk7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihu
ZXcgTmF0aXZlV2ViV2hlZWxFdmVudChuZXdXaGVlbEV2ZW50KSk7CiAKICAgICBpZiAob2xkTmV4
dFdoZWVsRXZlbnQtPnBvc2l0aW9uKCkgIT0gbmV3V2hlZWxFdmVudC5wb3NpdGlvbigpIHx8IG9s
ZE5leHRXaGVlbEV2ZW50LT5tb2RpZmllcnMoKSAhPSBuZXdXaGVlbEV2ZW50Lm1vZGlmaWVycygp
IHx8IG9sZE5leHRXaGVlbEV2ZW50LT5ncmFudWxhcml0eSgpICE9IG5ld1doZWVsRXZlbnQuZ3Jh
bnVsYXJpdHkoKSkKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBXZWJXaGVlbEV2ZW50KG5l
d1doZWVsRXZlbnQpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBOYXRpdmVXZWJXaGVl
bEV2ZW50KG5ld1doZWVsRXZlbnQpKTsKIAogICAgIEZsb2F0U2l6ZSBtZXJnZWREZWx0YSA9IG9s
ZE5leHRXaGVlbEV2ZW50LT5kZWx0YSgpICsgbmV3V2hlZWxFdmVudC5kZWx0YSgpOwogICAgIEZs
b2F0U2l6ZSBtZXJnZWRXaGVlbFRpY2tzID0gb2xkTmV4dFdoZWVsRXZlbnQtPndoZWVsVGlja3Mo
KSArIG5ld1doZWVsRXZlbnQud2hlZWxUaWNrcygpOwogCi0gICAgcmV0dXJuIGFkb3B0UHRyKG5l
dyBXZWJXaGVlbEV2ZW50KFdlYkV2ZW50OjpXaGVlbCwgbmV3V2hlZWxFdmVudC5wb3NpdGlvbigp
LCBuZXdXaGVlbEV2ZW50Lmdsb2JhbFBvc2l0aW9uKCksIG1lcmdlZERlbHRhLCBtZXJnZWRXaGVl
bFRpY2tzLCBuZXdXaGVlbEV2ZW50LmdyYW51bGFyaXR5KCksIG5ld1doZWVsRXZlbnQubW9kaWZp
ZXJzKCksIG5ld1doZWVsRXZlbnQudGltZXN0YW1wKCkpKTsKKyAgICAvLyBGSVhNRTogVGhpcyB3
b24ndCBjb21waWxlLCBpZiB3ZSBldmVyIHR1cm4gb24gTUVSR0VfV0hFRUxfRVZFTlRTIHdlJ2xs
IGhhdmUgdG8gZ2VuZXJhdGUgYSBOYXRpdmVXZWJXaGVlbEV2ZW50IHN5bnRoZXRpY2FsbHkgZm9y
IGVhY2ggcGxhdGZvcm0uCisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBOYXRpdmVXZWJXaGVlbEV2
ZW50KFdlYkV2ZW50OjpXaGVlbCwgbmV3V2hlZWxFdmVudC5wb3NpdGlvbigpLCBuZXdXaGVlbEV2
ZW50Lmdsb2JhbFBvc2l0aW9uKCksIG1lcmdlZERlbHRhLCBtZXJnZWRXaGVlbFRpY2tzLCBuZXdX
aGVlbEV2ZW50LmdyYW51bGFyaXR5KCksIG5ld1doZWVsRXZlbnQubW9kaWZpZXJzKCksIG5ld1do
ZWVsRXZlbnQudGltZXN0YW1wKCkpKTsKICNlbHNlCiAgICAgLy8gU2ltcGxlIG1vZGVsOiBKdXN0
IGtlZXAgdGhlIGxhc3QgZXZlbnQsIGRyb3BwaW5nIGFsbCBpbnRlcmltIGV2ZW50cy4KLSAgICBy
ZXR1cm4gYWRvcHRQdHIobmV3IFdlYldoZWVsRXZlbnQobmV3V2hlZWxFdmVudCkpOworICAgIHJl
dHVybiBhZG9wdFB0cihuZXcgTmF0aXZlV2ViV2hlZWxFdmVudChuZXdXaGVlbEV2ZW50KSk7CiAj
ZW5kaWYKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QgV2Vi
V2hlZWxFdmVudCYgZXZlbnQpCit2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlV2hlZWxFdmVudChj
b25zdCBOYXRpdmVXZWJXaGVlbEV2ZW50JiBldmVudCkKIHsKICAgICBpZiAoIWlzVmFsaWQoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG1fcHJvY2Vzc2luZ1doZWVsRXZlbnQpIHsKKyAg
ICBpZiAobV9jdXJyZW50bHlQcm9jZXNzZWRXaGVlbEV2ZW50KSB7CiAgICAgICAgIG1fbmV4dFdo
ZWVsRXZlbnQgPSBjb2FsZXNjZVdoZWVsRXZlbnRzKG1fbmV4dFdoZWVsRXZlbnQuZ2V0KCksIGV2
ZW50KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKyAgICAKKyAgICBtX2N1cnJlbnRseVByb2Nl
c3NlZFdoZWVsRXZlbnQgPSBhZG9wdFB0cihuZXcgTmF0aXZlV2ViV2hlZWxFdmVudChldmVudCkp
OwogCiAgICAgcHJvY2VzcygpLT5yZXNwb25zaXZlbmVzc1RpbWVyKCktPnN0YXJ0KCk7CiAgICAg
cHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpXaGVlbEV2ZW50KGV2ZW50KSwgbV9w
YWdlSUQpOwotICAgIG1fcHJvY2Vzc2luZ1doZWVsRXZlbnQgPSB0cnVlOwogfQogCiB2b2lkIFdl
YlBhZ2VQcm94eTo6aGFuZGxlS2V5Ym9hcmRFdmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2
ZW50JiBldmVudCkKQEAgLTI2MjMsNyArMjYyNSwxMiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlk
UmVjZWl2ZUV2ZW50KHVpbnQzCiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBXZWJFdmVudDo6
V2hlZWw6IHsKLSAgICAgICAgbV9wcm9jZXNzaW5nV2hlZWxFdmVudCA9IGZhbHNlOworICAgICAg
ICBBU1NFUlQobV9jdXJyZW50bHlQcm9jZXNzZWRXaGVlbEV2ZW50KTsKKworICAgICAgICBpZiAo
IWhhbmRsZWQgJiYgbV9jdXJyZW50bHlQcm9jZXNzZWRXaGVlbEV2ZW50ICYmIG1fdWlDbGllbnQu
aW1wbGVtZW50c0RpZE5vdEhhbmRsZVdoZWVsRXZlbnQoKSkKKyAgICAgICAgICAgIG1fdWlDbGll
bnQuZGlkTm90SGFuZGxlV2hlZWxFdmVudCh0aGlzLCAqbV9jdXJyZW50bHlQcm9jZXNzZWRXaGVl
bEV2ZW50KTsKKyAgICAgICAgICAgIAorICAgICAgICBtX2N1cnJlbnRseVByb2Nlc3NlZFdoZWVs
RXZlbnQgPSBudWxscHRyOwogICAgICAgICBpZiAobV9uZXh0V2hlZWxFdmVudCkgewogICAgICAg
ICAgICAgaGFuZGxlV2hlZWxFdmVudCgqbV9uZXh0V2hlZWxFdmVudCk7CiAgICAgICAgICAgICBt
X25leHRXaGVlbEV2ZW50ID0gbnVsbHB0cjsKQEAgLTI4NDEsNiArMjg0OCw3IEBAIHZvaWQgV2Vi
UGFnZVByb3h5Ojpwcm9jZXNzRGlkQ3Jhc2goKQogICAgIC8vIENhbid0IGV4cGVjdCBEaWRSZWNl
aXZlRXZlbnQgbm90aWZpY2F0aW9ucyBmcm9tIGEgY3Jhc2hlZCB3ZWIgcHJvY2Vzcy4KICAgICBt
X2tleUV2ZW50UXVldWUuY2xlYXIoKTsKICAgICBtX25leHRXaGVlbEV2ZW50ID0gbnVsbHB0cjsK
KyAgICBtX2N1cnJlbnRseVByb2Nlc3NlZFdoZWVsRXZlbnQgPSBudWxscHRyOwogICAgIG1fbmV4
dE1vdXNlTW92ZUV2ZW50ID0gbnVsbHB0cjsKICAgICBtX2N1cnJlbnRseVByb2Nlc3NlZE1vdXNl
RG93bkV2ZW50ID0gbnVsbHB0cjsKIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAkocmV2aXNpb24gODU3ODMpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTg3LDYgKzg3LDcgQEAgbmFtZXNwYWNl
IFdlYktpdCB7CiAKIGNsYXNzIE5hdGl2ZVdlYktleWJvYXJkRXZlbnQ7CiBjbGFzcyBOYXRpdmVX
ZWJNb3VzZUV2ZW50OworY2xhc3MgTmF0aXZlV2ViV2hlZWxFdmVudDsKIGNsYXNzIFBhZ2VDbGll
bnQ7CiBjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFN0cmluZ1BhaXJWZWN0
b3I7CkBAIC0zMDYsNyArMzA3LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICB2b2lkIGhhbmRs
ZU1vdXNlRXZlbnQoY29uc3QgTmF0aXZlV2ViTW91c2VFdmVudCYpOwotICAgIHZvaWQgaGFuZGxl
V2hlZWxFdmVudChjb25zdCBXZWJXaGVlbEV2ZW50Jik7CisgICAgdm9pZCBoYW5kbGVXaGVlbEV2
ZW50KGNvbnN0IE5hdGl2ZVdlYldoZWVsRXZlbnQmKTsKICAgICB2b2lkIGhhbmRsZUtleWJvYXJk
RXZlbnQoY29uc3QgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYpOwogI2lmIEVOQUJMRShHRVNUVVJF
X0VWRU5UUykKICAgICB2b2lkIGhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBXZWJHZXN0dXJlRXZl
bnQmKTsKQEAgLTgyOSw3ICs4MzAsOCBAQCBwcml2YXRlOgogCiAgICAgRGVxdWU8TmF0aXZlV2Vi
S2V5Ym9hcmRFdmVudD4gbV9rZXlFdmVudFF1ZXVlOwogICAgIGJvb2wgbV9wcm9jZXNzaW5nV2hl
ZWxFdmVudDsKLSAgICBPd25QdHI8V2ViV2hlZWxFdmVudD4gbV9uZXh0V2hlZWxFdmVudDsKKyAg
ICBPd25QdHI8TmF0aXZlV2ViV2hlZWxFdmVudD4gbV9jdXJyZW50bHlQcm9jZXNzZWRXaGVlbEV2
ZW50OworICAgIE93blB0cjxOYXRpdmVXZWJXaGVlbEV2ZW50PiBtX25leHRXaGVlbEV2ZW50Owog
CiAgICAgYm9vbCBtX3Byb2Nlc3NpbmdNb3VzZU1vdmVFdmVudDsKICAgICBPd25QdHI8TmF0aXZl
V2ViTW91c2VFdmVudD4gbV9uZXh0TW91c2VNb3ZlRXZlbnQ7CkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHAJKHJldmlzaW9uIDg1NzgzKQorKysgU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiAr
MjgsNyBAQAogCiAjaW5jbHVkZSAiSW1tdXRhYmxlRGljdGlvbmFyeS5oIgogI2luY2x1ZGUgIk5h
dGl2ZVdlYktleWJvYXJkRXZlbnQuaCIKKyNpbmNsdWRlICJOYXRpdmVXZWJXaGVlbEV2ZW50Lmgi
CiAjaW5jbHVkZSAiV0tBUElDYXN0LmgiCiAjaW5jbHVkZSAiV2ViTnVtYmVyLmgiCiAjaW5jbHVk
ZSAiV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eS5oIgpAQCAtMTc1LDYgKzE3NiwxOCBA
QCB2b2lkIFdlYlVJQ2xpZW50OjpkaWROb3RIYW5kbGVLZXlFdmVudChXCiAgICAgbV9jbGllbnQu
ZGlkTm90SGFuZGxlS2V5RXZlbnQodG9BUEkocGFnZSksIGV2ZW50Lm5hdGl2ZUV2ZW50KCksIG1f
Y2xpZW50LmNsaWVudEluZm8pOwogfQogCitib29sIFdlYlVJQ2xpZW50OjppbXBsZW1lbnRzRGlk
Tm90SGFuZGxlV2hlZWxFdmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY2xpZW50LmRpZE5v
dEhhbmRsZVdoZWVsRXZlbnQ7Cit9CisKK3ZvaWQgV2ViVUlDbGllbnQ6OmRpZE5vdEhhbmRsZVdo
ZWVsRXZlbnQoV2ViUGFnZVByb3h5KiBwYWdlLCBjb25zdCBOYXRpdmVXZWJXaGVlbEV2ZW50JiBl
dmVudCkKK3sKKyAgICBpZiAoIW1fY2xpZW50LmRpZE5vdEhhbmRsZVdoZWVsRXZlbnQpCisgICAg
ICAgIHJldHVybjsKKyAgICBtX2NsaWVudC5kaWROb3RIYW5kbGVXaGVlbEV2ZW50KHRvQVBJKHBh
Z2UpLCBldmVudC5uYXRpdmVFdmVudCgpLCBtX2NsaWVudC5jbGllbnRJbmZvKTsKK30KKwogYm9v
bCBXZWJVSUNsaWVudDo6dG9vbGJhcnNBcmVWaXNpYmxlKFdlYlBhZ2VQcm94eSogcGFnZSkKIHsK
ICAgICBpZiAoIW1fY2xpZW50LnRvb2xiYXJzQXJlVmlzaWJsZSkKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5oCShyZXZpc2lvbiA4NTc4MykKKysrIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0NCw3
IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgQVBJT2JqZWN0OwogY2xhc3MgR2VvbG9jYXRp
b25QZXJtaXNzaW9uUmVxdWVzdFByb3h5OwogY2xhc3MgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudDsK
K2NsYXNzIE5hdGl2ZVdlYldoZWVsRXZlbnQ7CiBjbGFzcyBXZWJEYXRhOwogY2xhc3MgV2ViRnJh
bWVQcm94eTsKIGNsYXNzIFdlYlBhZ2VQcm94eTsKQEAgLTcxLDYgKzcyLDkgQEAgcHVibGljOgog
ICAgIGJvb2wgaW1wbGVtZW50c0RpZE5vdEhhbmRsZUtleUV2ZW50KCkgY29uc3Q7CiAgICAgdm9p
ZCBkaWROb3RIYW5kbGVLZXlFdmVudChXZWJQYWdlUHJveHkqLCBjb25zdCBOYXRpdmVXZWJLZXli
b2FyZEV2ZW50Jik7CiAKKyAgICBib29sIGltcGxlbWVudHNEaWROb3RIYW5kbGVXaGVlbEV2ZW50
KCkgY29uc3Q7CisgICAgdm9pZCBkaWROb3RIYW5kbGVXaGVlbEV2ZW50KFdlYlBhZ2VQcm94eSos
IGNvbnN0IE5hdGl2ZVdlYldoZWVsRXZlbnQmKTsKKwogICAgIGJvb2wgdG9vbGJhcnNBcmVWaXNp
YmxlKFdlYlBhZ2VQcm94eSopOwogICAgIHZvaWQgc2V0VG9vbGJhcnNBcmVWaXNpYmxlKFdlYlBh
Z2VQcm94eSosIGJvb2wpOwogICAgIGJvb2wgbWVudUJhcklzVmlzaWJsZShXZWJQYWdlUHJveHkq
KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgJKHJldmlzaW9u
IDg1NzgzKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNjMsNiArMTYzLDcgQEAgdHlwZWRlZiB2b2lkICgqV0tQYWdlU2V0U3Rh
dHVzVGV4dENhbGxiYQogdHlwZWRlZiB2b2lkICgqV0tQYWdlTW91c2VEaWRNb3ZlT3ZlckVsZW1l
bnRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBX
S1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lk
ICgqV0tQYWdlTWlzc2luZ1BsdWdpbkJ1dHRvbkNsaWNrZWRDYWxsYmFjaykoV0tQYWdlUmVmIHBh
Z2UsIFdLU3RyaW5nUmVmIG1pbWVUeXBlLCBXS1N0cmluZ1JlZiB1cmwsIFdLU3RyaW5nUmVmIHBs
dWdpbnNQYWdlVVJMLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldL
UGFnZURpZE5vdEhhbmRsZUtleUV2ZW50Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS05hdGl2
ZUV2ZW50UHRyIGV2ZW50LCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAo
KldLUGFnZURpZE5vdEhhbmRsZVdoZWVsRXZlbnRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdL
TmF0aXZlRXZlbnRQdHIgZXZlbnQsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwogdHlwZWRlZiBi
b29sICgqV0tQYWdlR2V0VG9vbGJhcnNBcmVWaXNpYmxlQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdl
LCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZVNldFRvb2xi
YXJzQXJlVmlzaWJsZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgYm9vbCB0b29sYmFyc1Zpc2li
bGUsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwogdHlwZWRlZiBib29sICgqV0tQYWdlR2V0TWVu
dUJhcklzVmlzaWJsZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCAqY2xpZW50
SW5mbyk7CkBAIC0yMDIsNiArMjAzLDcgQEAgc3RydWN0IFdLUGFnZVVJQ2xpZW50IHsKICAgICBX
S1BhZ2VNb3VzZURpZE1vdmVPdmVyRWxlbWVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50OwogICAgIFdLUGFnZU1pc3NpbmdQbHVn
aW5CdXR0b25DbGlja2VkQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWlzc2lu
Z1BsdWdpbkJ1dHRvbkNsaWNrZWQ7CiAgICAgV0tQYWdlRGlkTm90SGFuZGxlS2V5RXZlbnRDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWROb3RIYW5kbGVLZXlFdmVu
dDsKKyAgICBXS1BhZ2VEaWROb3RIYW5kbGVXaGVlbEV2ZW50Q2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQ7CiAgICAgV0tQYWdlR2V0
VG9vbGJhcnNBcmVWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0b29sYmFyc0FyZVZpc2libGU7CiAgICAgV0tQYWdlU2V0VG9vbGJhcnNBcmVWaXNpYmxlQ2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUb29sYmFyc0FyZVZpc2li
bGU7CiAgICAgV0tQYWdlR2V0TWVudUJhcklzVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtZW51QmFySXNWaXNpYmxlOwpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcAkocmV2aXNp
b24gODU3ODMpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50
SW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyNiw2ICs0MjYsMTEgQEAgdm9pZCBQYWdlQ2xp
ZW50SW1wbDo6ZGlkTm90SGFuZGxlS2V5RXZlbgogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAK
K3ZvaWQgUGFnZUNsaWVudEltcGw6OmRpZE5vdEhhbmRsZVdoZWVsRXZlbnQoY29uc3QgTmF0aXZl
V2ViV2hlZWxFdmVudCYgZXZlbnQpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogUGFz
c1JlZlB0cjxXZWJQb3B1cE1lbnVQcm94eT4gUGFnZUNsaWVudEltcGw6OmNyZWF0ZVBvcHVwTWVu
dVByb3h5KFdlYlBhZ2VQcm94eSopCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAko
cmV2aXNpb24gODU3ODMpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdl
Q2xpZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC03Nyw2ICs3Nyw3IEBAIHByaXZhdGU6CiAg
ICAgdmlydHVhbCBXZWJDb3JlOjpJbnRSZWN0IHdpbmRvd1RvU2NyZWVuKGNvbnN0IFdlYkNvcmU6
OkludFJlY3QmKTsKICAgICB2aXJ0dWFsIHZvaWQgZG9uZVdpdGhLZXlFdmVudChjb25zdCBOYXRp
dmVXZWJLZXlib2FyZEV2ZW50JiwgYm9vbCB3YXNFdmVudEhhbmRsZWQpOwogICAgIHZpcnR1YWwg
dm9pZCBkaWROb3RIYW5kbGVLZXlFdmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50Jik7
CisgICAgdmlydHVhbCB2b2lkIGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQoY29uc3QgTmF0aXZlV2Vi
V2hlbGxib2FyZEV2ZW50Jik7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYlBvcHVwTWVudVBy
b3h5PiBjcmVhdGVQb3B1cE1lbnVQcm94eShXZWJQYWdlUHJveHkqKTsKICAgICB2aXJ0dWFsIFBh
c3NSZWZQdHI8V2ViQ29udGV4dE1lbnVQcm94eT4gY3JlYXRlQ29udGV4dE1lbnVQcm94eShXZWJQ
YWdlUHJveHkqKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0RmluZEluZGljYXRvcihQYXNzUmVmUHRy
PEZpbmRJbmRpY2F0b3I+LCBib29sIGZhZGVPdXQpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQkocmV2aXNpb24gODU3ODMpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTM3LDYg
KzM3LDcgQEAKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIk5hdGl2ZVdlYktleWJvYXJk
RXZlbnQuaCIKICNpbXBvcnQgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKKyNpbXBvcnQgIk5hdGl2
ZVdlYldoZWVsRXZlbnQuaCIKICNpbXBvcnQgIlBERlZpZXdDb250cm9sbGVyLmgiCiAjaW1wb3J0
ICJQYWdlQ2xpZW50SW1wbC5oIgogI2ltcG9ydCAiUGFzdGVib2FyZFR5cGVzLmgiCkBAIC05OTQs
MTYgKzk5NSwxNiBAQCBOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihyaWdodE1vdXNlVXApCiAK
ICN1bmRlZiBOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUgogCi0jZGVmaW5lIEVWRU5UX0hBTkRM
RVIoU2VsZWN0b3IsIFR5cGUpIFwKKyNkZWZpbmUgTkFUSVZFX0VWRU5UX0hBTkRMRVIoU2VsZWN0
b3IsIFR5cGUpIFwKICAgICAtICh2b2lkKVNlbGVjdG9yOihOU0V2ZW50ICopdGhlRXZlbnQgXAog
ICAgIHsgXAotICAgICAgICBXZWIjI1R5cGUjI0V2ZW50IHdlYkV2ZW50ID0gV2ViRXZlbnRGYWN0
b3J5OjpjcmVhdGVXZWIjI1R5cGUjI0V2ZW50KHRoZUV2ZW50LCBzZWxmKTsgXAorICAgICAgICBO
YXRpdmVXZWIjI1R5cGUjI0V2ZW50IHdlYkV2ZW50ID0gTmF0aXZlV2ViIyNUeXBlIyNFdmVudCh0
aGVFdmVudCwgc2VsZik7IFwKICAgICAgICAgX2RhdGEtPl9wYWdlLT5oYW5kbGUjI1R5cGUjI0V2
ZW50KHdlYkV2ZW50KTsgXAogICAgIH0KIAotRVZFTlRfSEFORExFUihzY3JvbGxXaGVlbCwgV2hl
ZWwpCitOQVRJVkVfRVZFTlRfSEFORExFUihzY3JvbGxXaGVlbCwgV2hlZWwpCiAKLSN1bmRlZiBF
VkVOVF9IQU5ETEVSCisjdW5kZWYgTkFUSVZFX0VWRU5UX0hBTkRMRVIKIAogLSAodm9pZCltb3Vz
ZU1vdmVkOihOU0V2ZW50ICopZXZlbnQKIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXdrcGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC9xd2twYWdlLmNwcAkocmV2aXNpb24gODU3ODMpCisrKyBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICsz
Niw3IEBACiAjaW5jbHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgogI2luY2x1ZGUgIk5hdGl2ZVdl
YktleWJvYXJkRXZlbnQuaCIKICNpbmNsdWRlICJOYXRpdmVXZWJNb3VzZUV2ZW50LmgiCisjaW5j
bHVkZSAiTmF0aXZlV2ViV2hlZWxFdmVudC5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgi
CiAjaW5jbHVkZSAiUmVnaW9uLmgiCiAjaW5jbHVkZSAiVGlsZWREcmF3aW5nQXJlYVByb3h5Lmgi
CkBAIC0zMzksNyArMzQwLDcgQEAgdm9pZCBRV0tQYWdlUHJpdmF0ZTo6bW91c2VEb3VibGVDbGlj
a0V2ZQogdm9pZCBRV0tQYWdlUHJpdmF0ZTo6d2hlZWxFdmVudChRR3JhcGhpY3NTY2VuZVdoZWVs
RXZlbnQqIGV2KQogewogICAgIFdlYldoZWVsRXZlbnQgd2hlZWxFdmVudCA9IFdlYkV2ZW50RmFj
dG9yeTo6Y3JlYXRlV2ViV2hlZWxFdmVudChldik7Ci0gICAgcGFnZS0+aGFuZGxlV2hlZWxFdmVu
dCh3aGVlbEV2ZW50KTsKKyAgICBwYWdlLT5oYW5kbGVXaGVlbEV2ZW50KE5hdGl2ZVdlYldoZWVs
RXZlbnQod2hlZWxFdmVudCkpOwogfQogCiB2b2lkIFFXS1BhZ2VQcml2YXRlOjp1cGRhdGVBY3Rp
b24oUVdLUGFnZTo6V2ViQWN0aW9uIGFjdGlvbikKQEAgLTQ3Nyw2ICs0NzgsNyBAQCBRV0tQYWdl
OjpRV0tQYWdlKFFXS0NvbnRleHQqIGNvbnRleHQpCiAgICAgICAgIDAsICAvKiBtb3VzZURpZE1v
dmVPdmVyRWxlbWVudCAqLwogICAgICAgICAwLCAgLyogbWlzc2luZ1BsdWdpbkJ1dHRvbkNsaWNr
ZWQgKi8KICAgICAgICAgMCwgIC8qIGRpZE5vdEhhbmRsZUtleUV2ZW50ICovCisgICAgICAgIDAs
ICAvKiBkaWROb3RIYW5kbGVXaGVlbEV2ZW50ICovCiAgICAgICAgIDAsICAvKiB0b29sYmFyc0Fy
ZVZpc2libGUgKi8KICAgICAgICAgMCwgIC8qIHNldFRvb2xiYXJzQXJlVmlzaWJsZSAqLwogICAg
ICAgICAwLCAgLyogbWVudUJhcklzVmlzaWJsZSAqLwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3dpbi9XZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3Mvd2luL1dlYlZpZXcuY3BwCShyZXZpc2lvbiA4NTc4MykKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDcg
QEAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmF0aXZlV2ViS2V5Ym9hcmRFdmVu
dC5oIgogI2luY2x1ZGUgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKKyNpbmNsdWRlICJOYXRpdmVX
ZWJXaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiUmVnaW9uLmgiCiAjaW5jbHVkZSAiUnVuTG9vcC5o
IgogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgpAQCAtNDM0LDcgKzQzNSw3IEBAIExSRVNVTFQgV2Vi
Vmlldzo6b25Nb3VzZUV2ZW50KEhXTkQgaFduZCwKIAogTFJFU1VMVCBXZWJWaWV3OjpvbldoZWVs
RXZlbnQoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFy
YW0sIGJvb2wmIGhhbmRsZWQpCiB7Ci0gICAgV2ViV2hlZWxFdmVudCB3aGVlbEV2ZW50ID0gV2Vi
RXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJXaGVlbEV2ZW50KGhXbmQsIG1lc3NhZ2UsIHdQYXJhbSwg
bFBhcmFtKTsKKyAgICBOYXRpdmVXZWJXaGVlbEV2ZW50IHdoZWVsRXZlbnQgPSBOYXRpdmVXZWJX
aGVlbEV2ZW50KGhXbmQsIG1lc3NhZ2UsIHdQYXJhbSwgbFBhcmFtKTsKICAgICBpZiAod2hlZWxF
dmVudC5jb250cm9sS2V5KCkpIHsKICAgICAgICAgLy8gV2UgZG8gbm90IHdhbnQgV2ViS2l0IHRv
IGhhbmRsZSBDb250cm9sICsgV2hlZWwsIHRoaXMgc2hvdWxkIGJlIGhhbmRsZWQgYnkgdGhlIGNs
aWVudCBhcHBsaWNhdGlvbgogICAgICAgICAvLyB0byB6b29tIHRoZSBwYWdlLgpJbmRleDogVG9v
bHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gODU3
ODkpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAor
MjAxMS0wNS0wNCAgSmVmZiBNaWxsZXIgIDxqZWZmbUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGRpZE5vdEhhbmRsZVdoZWVs
RXZlbnQgY2FsbGJhY2sgdG8gV0tQYWdlVUlDbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwMjAzCisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9n
dGsvQnJvd3NlcldpbmRvdy5jOgorICAgICAgICAoYnJvd3NlcldpbmRvd1VJQ2xpZW50SW5pdCk6
IFN0dWIgb3V0IGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQgY2FsbGJhY2suCisgICAgICAgICogTWlu
aUJyb3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyLm06CisgICAgICAgICgtW0Jyb3dz
ZXJXaW5kb3dDb250cm9sbGVyIGF3YWtlRnJvbU5pYl0pOiBTdHViIG91dCBkaWROb3RIYW5kbGVX
aGVlbEV2ZW50IGNhbGxiYWNrLgorICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9Ccm93c2VyVmll
dy5jcHA6CisgICAgICAgIChCcm93c2VyVmlldzo6Y3JlYXRlKTogU3R1YiBvdXQgZGlkTm90SGFu
ZGxlV2hlZWxFdmVudCBjYWxsYmFjay4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmNyZWF0ZU90aGVy
UGFnZSk6IFN0dWIgb3V0IGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQgY2FsbGJhY2suCisgICAgICAg
IChXVFI6OlRlc3RDb250cm9sbGVyOjppbml0aWFsaXplKTogU3R1YiBvdXQgZGlkTm90SGFuZGxl
V2hlZWxFdmVudCBjYWxsYmFjay4KKwogMjAxMS0wNS0wNCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3
ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogVG9v
bHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJXaW5kb3cuYwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9N
aW5pQnJvd3Nlci9ndGsvQnJvd3NlcldpbmRvdy5jCShyZXZpc2lvbiA4NTc4MykKKysrIFRvb2xz
L01pbmlCcm93c2VyL2d0ay9Ccm93c2VyV2luZG93LmMJKHdvcmtpbmcgY29weSkKQEAgLTQyMiw2
ICs0MjIsNyBAQCBzdGF0aWMgdm9pZCBicm93c2VyV2luZG93VUlDbGllbnRJbml0KEJyCiAgICAg
ICAgIDAsICAgICAgLyogbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQgKi8KICAgICAgICAgMCwgICAg
ICAvKiBtaXNzaW5nUGx1Z2luQnV0dG9uQ2xpY2tlZCAqLwogICAgICAgICAwLCAgICAgIC8qIGRp
ZE5vdEhhbmRsZUtleUV2ZW50ICovCisgICAgICAgIDAsICAgICAgLyogZGlkTm90SGFuZGxlV2hl
ZWxFdmVudCAqLwogICAgICAgICAwLCAgICAgIC8qIHRvb2xiYXJzQXJlVmlzaWJsZSAqLwogICAg
ICAgICAwLCAgICAgIC8qIHNldFRvb2xiYXJzQXJlVmlzaWJsZSAqLwogICAgICAgICAwLCAgICAg
IC8qIG1lbnVCYXJJc1Zpc2libGUgKi8KSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL21hYy9Ccm93
c2VyV2luZG93Q29udHJvbGxlci5tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL21h
Yy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5tCShyZXZpc2lvbiA4NTc4MykKKysrIFRvb2xzL01p
bmlCcm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5tCSh3b3JraW5nIGNvcHkpCkBA
IC02MjksNiArNjI5LDcgQEAgLSAodm9pZClhd2FrZUZyb21OaWIKICAgICAgICAgbW91c2VEaWRN
b3ZlT3ZlckVsZW1lbnQsCiAgICAgICAgIDAsICAgICAgICAgIC8qIG1pc3NpbmdQbHVnaW5CdXR0
b25DbGlja2VkICovCiAgICAgICAgIDAsICAgICAgICAgIC8qIGRpZE5vdEhhbmRsZUtleUV2ZW50
ICovCisgICAgICAgIDAsICAgICAgICAgIC8qIGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQgKi8KICAg
ICAgICAgMCwgICAgICAgICAgLyogdG9vbGJhcnNBcmVWaXNpYmxlICovCiAgICAgICAgIDAsICAg
ICAgICAgIC8qIHNldFRvb2xiYXJzQXJlVmlzaWJsZSAqLwogICAgICAgICAwLCAgICAgICAgICAv
KiBtZW51QmFySXNWaXNpYmxlICovCkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci93aW4vQnJvd3Nl
clZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL3dpbi9Ccm93c2VyVmll
dy5jcHAJKHJldmlzaW9uIDg1NzgzKQorKysgVG9vbHMvTWluaUJyb3dzZXIvd2luL0Jyb3dzZXJW
aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA3LDYgKzEwNyw3IEBAIHZvaWQgQnJvd3NlclZp
ZXc6OmNyZWF0ZShSRUNUIHdlYlZpZXdSZWMKICAgICAgICAgc2V0U3RhdHVzVGV4dCwKICAgICAg
ICAgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQsCiAgICAgICAgIDAsICAgICAgICAgIC8qIGRpZE5v
dEhhbmRsZUtleUV2ZW50ICovCisgICAgICAgIDAsICAgICAgICAgIC8qIGRpZE5vdEhhbmRsZVdo
ZWVsRXZlbnQgKi8KICAgICAgICAgMCwgICAgICAgICAgLyogdG9vbGJhcnNBcmVWaXNpYmxlICov
CiAgICAgICAgIDAsICAgICAgICAgIC8qIHNldFRvb2xiYXJzQXJlVmlzaWJsZSAqLwogICAgICAg
ICAwLCAgICAgICAgICAvKiBtZW51QmFySXNWaXNpYmxlICovCkluZGV4OiBUb29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkocmV2aXNpb24gODU3ODMpCisrKyBUb29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTUx
LDYgKzE1MSw3IEBAIFdLUGFnZVJlZiBUZXN0Q29udHJvbGxlcjo6Y3JlYXRlT3RoZXJQYWcKICAg
ICAgICAgMCwgLy8gbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQKICAgICAgICAgMCwgLy8gbWlzc2lu
Z1BsdWdpbkJ1dHRvbkNsaWNrZWQKICAgICAgICAgMCwgLy8gZGlkTm90SGFuZGxlS2V5RXZlbnQK
KyAgICAgICAgMCwgLy8gZGlkTm90SGFuZGxlV2hlZWxFdmVudAogICAgICAgICAwLCAvLyB0b29s
YmFyc0FyZVZpc2libGUKICAgICAgICAgMCwgLy8gc2V0VG9vbGJhcnNBcmVWaXNpYmxlCiAgICAg
ICAgIDAsIC8vIG1lbnVCYXJJc1Zpc2libGUKQEAgLTI5Myw2ICsyOTQsNyBAQCB2b2lkIFRlc3RD
b250cm9sbGVyOjppbml0aWFsaXplKGludCBhcmdjCiAgICAgICAgIDAsIC8vIG1vdXNlRGlkTW92
ZU92ZXJFbGVtZW50CiAgICAgICAgIDAsIC8vIG1pc3NpbmdQbHVnaW5CdXR0b25DbGlja2VkCiAg
ICAgICAgIDAsIC8vIGRpZE5vdEhhbmRsZUtleUV2ZW50CisgICAgICAgIDAsIC8vIGRpZE5vdEhh
bmRsZVdoZWVsRXZlbnQKICAgICAgICAgMCwgLy8gdG9vbGJhcnNBcmVWaXNpYmxlCiAgICAgICAg
IDAsIC8vIHNldFRvb2xiYXJzQXJlVmlzaWJsZQogICAgICAgICAwLCAvLyBtZW51QmFySXNWaXNp
YmxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92360</attachid>
            <date>2011-05-04 19:26:13 -0700</date>
            <delta_ts>2011-05-05 09:34:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60203-20110504192609.patch</filename>
            <type>text/plain</type>
            <size>13866</size>
            <attacher name="Jeff Miller">jeffm</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1ODIwKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTEtMDUtMDQgIEplZmYgTWls
bGVyICA8amVmZm1AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBkaWROb3RIYW5kbGVXaGVlbEV2ZW50IGNhbGxiYWNrIHRvIFdL
UGFnZVVJQ2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02MDIwMworICAgICAgICAKKyAgICAgICAgUmVtb3ZlIFdpbmRvd3Mtc3BlY2lmaWMgV2Vi
UGFnZVByb3h5Ojp3aGVlbEV2ZW50Tm90SGFuZGxlZCgpIG1lbWJlciBmdW5jdGlvbiBhbmQgdXNl
CisgICAgICAgIGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQgY2FsbGJhY2sgaW4gV0tQYWdlVUlDbGll
bnQgaW5zdGVhZC4gIEl0IHR1cm5zIG91dCB0aGF0IGp1c3QKKyAgICAgICAgcmVzZW5kaW5nIHRo
ZSB3aGVlbCBldmVudCB0byB0aGUgcGFyZW50IHdpbmRvdyBkb2Vzbid0IHByb3ZpZGUgdGhlIGNs
aWVudCB3aXRoIGVub3VnaCBjb250ZXh0CisgICAgICAgIHRvIGtub3cgdGhhdCBXZWJLaXQgaGFz
IGFscmVhZHkgYXR0ZW1wdGVkIHRvIGhhbmRsZSB0aGUgZXZlbnQuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlLmg6IEFkZGVkIFdLUGFnZURpZE5vdEhhbmRsZVdoZWVsRXZlbnRD
YWxsYmFjayB0eXBlZGVmIGFuZCBkaWROb3RIYW5kbGVXaGVlbEV2ZW50IHRvIFdLUGFnZVVJQ2xp
ZW50LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6ZGlkTm90SGFuZGxlV2hlZWxFdmVudCk6
IEFkZGVkLCBidXQgbm90IGltcGxlbWVudGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3Rr
L1BhZ2VDbGllbnRJbXBsLmg6IEFkZGVkIGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQoKS4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2UuY3BwOgorICAgICAgICAoUVdLUGFnZTo6UVdL
UGFnZSk6U3R1YmJlZCBvdXQgZGlkTm90SGFuZGxlV2hlZWxFdmVudCBjYWxsYmFjay4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlUHJveHk6OmRpZFJlY2VpdmVFdmVudCk6IENhbGwgZGlkTm90SGFuZGxlV2hlZWxFdmVudCBp
biBXS1BhZ2VVSUNsaWVudCBpZiB3aGVlbCBldmVudCBpcyBub3QgaGFuZGxlZC4KKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6IFJlbW92ZWQgd2hlZWxFdmVudE5vdEhhbmRsZWQo
KS4KKyAgICAgICAgCisgICAgICAgICogVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViVUlDbGllbnQ6OmltcGxlbWVudHNEaWROb3RIYW5kbGVXaGVlbEV2ZW50
KTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlVJQ2xpZW50OjpkaWROb3RIYW5kbGVXaGVl
bEV2ZW50KTogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlVJQ2xpZW50Lmg6IEFkZGVk
IGltcGxlbWVudHNEaWROb3RIYW5kbGVXaGVlbEV2ZW50KCkgYW5kIGRpZE5vdEhhbmRsZVdoZWVs
RXZlbnQoKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViUGFnZVByb3h5V2luLmNwcDog
UmVtb3ZlZCB3aGVlbEV2ZW50Tm90SGFuZGxlZCgpLgorCiAyMDExLTA1LTA0ICBKZWZmIE1pbGxl
ciAgPGplZmZtQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCShyZXZpc2lv
biA4NTgxOCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNjI3LDEwICsyNjI3LDggQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRp
ZFJlY2VpdmVFdmVudCh1aW50MwogICAgIGNhc2UgV2ViRXZlbnQ6OldoZWVsOiB7CiAgICAgICAg
IEFTU0VSVChtX2N1cnJlbnRseVByb2Nlc3NlZFdoZWVsRXZlbnQpOwogCi0jaWYgUExBVEZPUk0o
V0lOKQotICAgICAgICBpZiAoIWhhbmRsZWQgJiYgbV9jdXJyZW50bHlQcm9jZXNzZWRXaGVlbEV2
ZW50KQotICAgICAgICAgICAgd2hlZWxFdmVudE5vdEhhbmRsZWQoKm1fY3VycmVudGx5UHJvY2Vz
c2VkV2hlZWxFdmVudCk7Ci0jZW5kaWYKKyAgICAgICAgaWYgKCFoYW5kbGVkICYmIG1fY3VycmVu
dGx5UHJvY2Vzc2VkV2hlZWxFdmVudCAmJiBtX3VpQ2xpZW50LmltcGxlbWVudHNEaWROb3RIYW5k
bGVXaGVlbEV2ZW50KCkpCisgICAgICAgICAgICBtX3VpQ2xpZW50LmRpZE5vdEhhbmRsZVdoZWVs
RXZlbnQodGhpcywgKm1fY3VycmVudGx5UHJvY2Vzc2VkV2hlZWxFdmVudCk7CiAKICAgICAgICAg
bV9jdXJyZW50bHlQcm9jZXNzZWRXaGVlbEV2ZW50ID0gbnVsbHB0cjsKICAgICAgICAgaWYgKG1f
bmV4dFdoZWVsRXZlbnQpIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgJKHJldmlzaW9uIDg1ODE4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC02OTIsMTAgKzY5Miw2IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBkaWRSZWNlaXZlRXZlbnQodWludDMyX3Qgb3BhcXVlVHlwZSwgYm9vbCBoYW5kbGVk
KTsKICAgICB2b2lkIHN0b3BSZXNwb25zaXZlbmVzc1RpbWVyKCk7CiAKLSNpZiBQTEFURk9STShX
SU4pCi0gICAgdm9pZCB3aGVlbEV2ZW50Tm90SGFuZGxlZChOYXRpdmVXZWJXaGVlbEV2ZW50Jikg
Y29uc3Q7Ci0jZW5kaWYKLQogICAgIHZvaWQgdm9pZENhbGxiYWNrKHVpbnQ2NF90KTsKICAgICB2
b2lkIGRhdGFDYWxsYmFjayhjb25zdCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlJiwgdWludDY0X3Qp
OwogICAgIHZvaWQgc3RyaW5nQ2FsbGJhY2soY29uc3QgU3RyaW5nJiwgdWludDY0X3QpOwpJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwCShyZXZpc2lvbiA4NTgx
OCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkltbXV0YWJsZURpY3Rpb25hcnku
aCIKICNpbmNsdWRlICJOYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgiCisjaW5jbHVkZSAiTmF0aXZl
V2ViV2hlZWxFdmVudC5oIgogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgogI2luY2x1ZGUgIldlYk51
bWJlci5oIgogI2luY2x1ZGUgIldlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkuaCIKQEAg
LTE3NSw2ICsxNzYsMTggQEAgdm9pZCBXZWJVSUNsaWVudDo6ZGlkTm90SGFuZGxlS2V5RXZlbnQo
VwogICAgIG1fY2xpZW50LmRpZE5vdEhhbmRsZUtleUV2ZW50KHRvQVBJKHBhZ2UpLCBldmVudC5u
YXRpdmVFdmVudCgpLCBtX2NsaWVudC5jbGllbnRJbmZvKTsKIH0KIAorYm9vbCBXZWJVSUNsaWVu
dDo6aW1wbGVtZW50c0RpZE5vdEhhbmRsZVdoZWVsRXZlbnQoKSBjb25zdAoreworICAgIHJldHVy
biBtX2NsaWVudC5kaWROb3RIYW5kbGVXaGVlbEV2ZW50OworfQorCit2b2lkIFdlYlVJQ2xpZW50
OjpkaWROb3RIYW5kbGVXaGVlbEV2ZW50KFdlYlBhZ2VQcm94eSogcGFnZSwgY29uc3QgTmF0aXZl
V2ViV2hlZWxFdmVudCYgZXZlbnQpCit7CisgICAgaWYgKCFtX2NsaWVudC5kaWROb3RIYW5kbGVX
aGVlbEV2ZW50KQorICAgICAgICByZXR1cm47CisgICAgbV9jbGllbnQuZGlkTm90SGFuZGxlV2hl
ZWxFdmVudCh0b0FQSShwYWdlKSwgZXZlbnQubmF0aXZlRXZlbnQoKSwgbV9jbGllbnQuY2xpZW50
SW5mbyk7Cit9CisKIGJvb2wgV2ViVUlDbGllbnQ6OnRvb2xiYXJzQXJlVmlzaWJsZShXZWJQYWdl
UHJveHkqIHBhZ2UpCiB7CiAgICAgaWYgKCFtX2NsaWVudC50b29sYmFyc0FyZVZpc2libGUpCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuaAkocmV2aXNpb24gODU4MTgp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtNDQsNiArNDQsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIEFQSU9iamVjdDsK
IGNsYXNzIEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RQcm94eTsKIGNsYXNzIE5hdGl2ZVdl
YktleWJvYXJkRXZlbnQ7CitjbGFzcyBOYXRpdmVXZWJXaGVlbEV2ZW50OwogY2xhc3MgV2ViRGF0
YTsKIGNsYXNzIFdlYkZyYW1lUHJveHk7CiBjbGFzcyBXZWJQYWdlUHJveHk7CkBAIC03MSw2ICs3
Miw5IEBAIHB1YmxpYzoKICAgICBib29sIGltcGxlbWVudHNEaWROb3RIYW5kbGVLZXlFdmVudCgp
IGNvbnN0OwogICAgIHZvaWQgZGlkTm90SGFuZGxlS2V5RXZlbnQoV2ViUGFnZVByb3h5KiwgY29u
c3QgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYpOwogCisgICAgYm9vbCBpbXBsZW1lbnRzRGlkTm90
SGFuZGxlV2hlZWxFdmVudCgpIGNvbnN0OworICAgIHZvaWQgZGlkTm90SGFuZGxlV2hlZWxFdmVu
dChXZWJQYWdlUHJveHkqLCBjb25zdCBOYXRpdmVXZWJXaGVlbEV2ZW50Jik7CisKICAgICBib29s
IHRvb2xiYXJzQXJlVmlzaWJsZShXZWJQYWdlUHJveHkqKTsKICAgICB2b2lkIHNldFRvb2xiYXJz
QXJlVmlzaWJsZShXZWJQYWdlUHJveHkqLCBib29sKTsKICAgICBib29sIG1lbnVCYXJJc1Zpc2li
bGUoV2ViUGFnZVByb3h5Kik7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZS5oCShyZXZpc2lvbiA4NTgxOCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMTYzLDYgKzE2Myw3IEBAIHR5cGVkZWYgdm9p
ZCAoKldLUGFnZVNldFN0YXR1c1RleHRDYWxsYmEKIHR5cGVkZWYgdm9pZCAoKldLUGFnZU1vdXNl
RGlkTW92ZU92ZXJFbGVtZW50Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS0V2ZW50TW9kaWZp
ZXJzIG1vZGlmaWVycywgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZv
KTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZU1pc3NpbmdQbHVnaW5CdXR0b25DbGlja2VkQ2FsbGJh
Y2spKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBtaW1lVHlwZSwgV0tTdHJpbmdSZWYgdXJs
LCBXS1N0cmluZ1JlZiBwbHVnaW5zUGFnZVVSTCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0
eXBlZGVmIHZvaWQgKCpXS1BhZ2VEaWROb3RIYW5kbGVLZXlFdmVudENhbGxiYWNrKShXS1BhZ2VS
ZWYgcGFnZSwgV0tOYXRpdmVFdmVudFB0ciBldmVudCwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7
Cit0eXBlZGVmIHZvaWQgKCpXS1BhZ2VEaWROb3RIYW5kbGVXaGVlbEV2ZW50Q2FsbGJhY2spKFdL
UGFnZVJlZiBwYWdlLCBXS05hdGl2ZUV2ZW50UHRyIGV2ZW50LCBjb25zdCB2b2lkICpjbGllbnRJ
bmZvKTsKIHR5cGVkZWYgYm9vbCAoKldLUGFnZUdldFRvb2xiYXJzQXJlVmlzaWJsZUNhbGxiYWNr
KShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQg
KCpXS1BhZ2VTZXRUb29sYmFyc0FyZVZpc2libGVDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIGJv
b2wgdG9vbGJhcnNWaXNpYmxlLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYgYm9v
bCAoKldLUGFnZUdldE1lbnVCYXJJc1Zpc2libGVDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIGNv
bnN0IHZvaWQgKmNsaWVudEluZm8pOwpAQCAtMjAyLDYgKzIwMyw3IEBAIHN0cnVjdCBXS1BhZ2VV
SUNsaWVudCB7CiAgICAgV0tQYWdlTW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtb3VzZURpZE1vdmVPdmVyRWxlbWVudDsKICAgICBX
S1BhZ2VNaXNzaW5nUGx1Z2luQnV0dG9uQ2xpY2tlZENhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1pc3NpbmdQbHVnaW5CdXR0b25DbGlja2VkOwogICAgIFdLUGFnZURpZE5vdEhh
bmRsZUtleUV2ZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlk
Tm90SGFuZGxlS2V5RXZlbnQ7CisgICAgV0tQYWdlRGlkTm90SGFuZGxlV2hlZWxFdmVudENhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWROb3RIYW5kbGVXaGVlbEV2ZW50
OwogICAgIFdLUGFnZUdldFRvb2xiYXJzQXJlVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdG9vbGJhcnNBcmVWaXNpYmxlOwogICAgIFdLUGFnZVNldFRvb2xi
YXJzQXJlVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0
VG9vbGJhcnNBcmVWaXNpYmxlOwogICAgIFdLUGFnZUdldE1lbnVCYXJJc1Zpc2libGVDYWxsYmFj
ayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVudUJhcklzVmlzaWJsZTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50
SW1wbC5jcHAJKHJldmlzaW9uIDg1ODE4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MjYsNiArNDI2LDEx
IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OmRpZE5vdEhhbmRsZUtleUV2ZW4KICAgICBub3RJbXBs
ZW1lbnRlZCgpOwogfQogCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWROb3RIYW5kbGVXaGVlbEV2
ZW50KGNvbnN0IE5hdGl2ZVdlYldoZWVsRXZlbnQmIGV2ZW50KQoreworICAgIG5vdEltcGxlbWVu
dGVkKCk7Cit9CisKIFBhc3NSZWZQdHI8V2ViUG9wdXBNZW51UHJveHk+IFBhZ2VDbGllbnRJbXBs
OjpjcmVhdGVQb3B1cE1lbnVQcm94eShXZWJQYWdlUHJveHkqKQogewogICAgIG5vdEltcGxlbWVu
dGVkKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50
SW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1Bh
Z2VDbGllbnRJbXBsLmgJKHJldmlzaW9uIDg1ODE4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtNzcsNiArNzcs
NyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50UmVjdCB3aW5kb3dUb1NjcmVl
bihjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CiAgICAgdmlydHVhbCB2b2lkIGRvbmVXaXRoS2V5
RXZlbnQoY29uc3QgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYsIGJvb2wgd2FzRXZlbnRIYW5kbGVk
KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkTm90SGFuZGxlS2V5RXZlbnQoY29uc3QgTmF0aXZlV2Vi
S2V5Ym9hcmRFdmVudCYpOworICAgIHZpcnR1YWwgdm9pZCBkaWROb3RIYW5kbGVXaGVlbEV2ZW50
KGNvbnN0IE5hdGl2ZVdlYldoZWxsYm9hcmRFdmVudCYpOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0
cjxXZWJQb3B1cE1lbnVQcm94eT4gY3JlYXRlUG9wdXBNZW51UHJveHkoV2ViUGFnZVByb3h5Kik7
CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNvbnRleHRNZW51UHJveHk+IGNyZWF0ZUNvbnRl
eHRNZW51UHJveHkoV2ViUGFnZVByb3h5Kik7CiAgICAgdmlydHVhbCB2b2lkIHNldEZpbmRJbmRp
Y2F0b3IoUGFzc1JlZlB0cjxGaW5kSW5kaWNhdG9yPiwgYm9vbCBmYWRlT3V0KTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdrcGFnZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlLmNwcAkocmV2aXNpb24gODU4
MTgpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2UuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NzcsNiArNDc3LDcgQEAgUVdLUGFnZTo6UVdLUGFnZShRV0tDb250ZXh0
KiBjb250ZXh0KQogICAgICAgICAwLCAgLyogbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQgKi8KICAg
ICAgICAgMCwgIC8qIG1pc3NpbmdQbHVnaW5CdXR0b25DbGlja2VkICovCiAgICAgICAgIDAsICAv
KiBkaWROb3RIYW5kbGVLZXlFdmVudCAqLworICAgICAgICAwLCAgLyogZGlkTm90SGFuZGxlV2hl
ZWxFdmVudCAqLwogICAgICAgICAwLCAgLyogdG9vbGJhcnNBcmVWaXNpYmxlICovCiAgICAgICAg
IDAsICAvKiBzZXRUb29sYmFyc0FyZVZpc2libGUgKi8KICAgICAgICAgMCwgIC8qIG1lbnVCYXJJ
c1Zpc2libGUgKi8KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViUGFnZVBy
b3h5V2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dl
YlBhZ2VQcm94eVdpbi5jcHAJKHJldmlzaW9uIDg1ODE4KQorKysgU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3dpbi9XZWJQYWdlUHJveHlXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsy
Niw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAK
LSNpbmNsdWRlICJOYXRpdmVXZWJXaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiUGFnZUNsaWVudC5o
IgogI2luY2x1ZGUgIldlYlBvcHVwTWVudVByb3h5V2luLmgiCiAKQEAgLTc2LDEwICs3NSw0IEBA
IHZvaWQgV2ViUGFnZVByb3h5OjpzY2hlZHVsZUNoaWxkV2luZG93R2UKICAgICBtX3BhZ2VDbGll
bnQtPnNjaGVkdWxlQ2hpbGRXaW5kb3dHZW9tZXRyeVVwZGF0ZShyZWludGVycHJldF9jYXN0PEhX
TkQ+KHdpbmRvdyksIHJlY3RJblBhcmVudENsaWVudENvb3JkaW5hdGVzLCBjbGlwUmVjdEluQ2hp
bGRDbGllbnRDb29yZGluYXRlcyk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5Ojp3aGVlbEV2ZW50
Tm90SGFuZGxlZChOYXRpdmVXZWJXaGVlbEV2ZW50JiBldmVudCkgY29uc3QKLXsKLSAgICBjb25z
dCBNU0cqIG1zZyA9IGV2ZW50Lm5hdGl2ZUV2ZW50KCk7Ci0gICAgOjpQb3N0TWVzc2FnZSg6Okdl
dFBhcmVudChuYXRpdmVXaW5kb3coKSksIG1zZy0+bWVzc2FnZSwgbXNnLT53UGFyYW0sIG1zZy0+
bFBhcmFtKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBUb29scy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4NTgyMCkKKysrIFRv
b2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDExLTA1LTA0
ICBKZWZmIE1pbGxlciAgPGplZmZtQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZGlkTm90SGFuZGxlV2hlZWxFdmVudCBjYWxs
YmFjayB0byBXS1BhZ2VVSUNsaWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjAyMDMKKworICAgICAgICAqIE1pbmlCcm93c2VyL2d0ay9Ccm93c2Vy
V2luZG93LmM6CisgICAgICAgIChicm93c2VyV2luZG93VUlDbGllbnRJbml0KTogU3R1YiBvdXQg
ZGlkTm90SGFuZGxlV2hlZWxFdmVudCBjYWxsYmFjay4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9t
YWMvQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubToKKyAgICAgICAgKC1bQnJvd3NlcldpbmRvd0Nv
bnRyb2xsZXIgYXdha2VGcm9tTmliXSk6IFN0dWIgb3V0IGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQg
Y2FsbGJhY2suCisgICAgICAgICogTWluaUJyb3dzZXIvd2luL0Jyb3dzZXJWaWV3LmNwcDoKKyAg
ICAgICAgKEJyb3dzZXJWaWV3OjpjcmVhdGUpOiBTdHViIG91dCBkaWROb3RIYW5kbGVXaGVlbEV2
ZW50IGNhbGxiYWNrLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6Y3JlYXRlT3RoZXJQYWdlKTogU3R1
YiBvdXQgZGlkTm90SGFuZGxlV2hlZWxFdmVudCBjYWxsYmFjay4KKyAgICAgICAgKFdUUjo6VGVz
dENvbnRyb2xsZXI6OmluaXRpYWxpemUpOiBTdHViIG91dCBkaWROb3RIYW5kbGVXaGVlbEV2ZW50
IGNhbGxiYWNrLgorCiAyMDExLTA1LTA0ICBDcmlzIE5lY2thciAgPGNkbkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgQWRkaW5nIENyaXMgTmVja2FyIGFzIGEgY29tbWl0dGVy
CkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlcldpbmRvdy5jCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyV2luZG93LmMJKHJldmlzaW9uIDg1ODE4
KQorKysgVG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJXaW5kb3cuYwkod29ya2luZyBjb3B5
KQpAQCAtNDIyLDYgKzQyMiw3IEBAIHN0YXRpYyB2b2lkIGJyb3dzZXJXaW5kb3dVSUNsaWVudElu
aXQoQnIKICAgICAgICAgMCwgICAgICAvKiBtb3VzZURpZE1vdmVPdmVyRWxlbWVudCAqLwogICAg
ICAgICAwLCAgICAgIC8qIG1pc3NpbmdQbHVnaW5CdXR0b25DbGlja2VkICovCiAgICAgICAgIDAs
ICAgICAgLyogZGlkTm90SGFuZGxlS2V5RXZlbnQgKi8KKyAgICAgICAgMCwgICAgICAvKiBkaWRO
b3RIYW5kbGVXaGVlbEV2ZW50ICovCiAgICAgICAgIDAsICAgICAgLyogdG9vbGJhcnNBcmVWaXNp
YmxlICovCiAgICAgICAgIDAsICAgICAgLyogc2V0VG9vbGJhcnNBcmVWaXNpYmxlICovCiAgICAg
ICAgIDAsICAgICAgLyogbWVudUJhcklzVmlzaWJsZSAqLwpJbmRleDogVG9vbHMvTWluaUJyb3dz
ZXIvbWFjL0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWlu
aUJyb3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0JKHJldmlzaW9uIDg1ODE4KQor
KysgVG9vbHMvTWluaUJyb3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0JKHdvcmtp
bmcgY29weSkKQEAgLTYyOSw2ICs2MjksNyBAQCAtICh2b2lkKWF3YWtlRnJvbU5pYgogICAgICAg
ICBtb3VzZURpZE1vdmVPdmVyRWxlbWVudCwKICAgICAgICAgMCwgICAgICAgICAgLyogbWlzc2lu
Z1BsdWdpbkJ1dHRvbkNsaWNrZWQgKi8KICAgICAgICAgMCwgICAgICAgICAgLyogZGlkTm90SGFu
ZGxlS2V5RXZlbnQgKi8KKyAgICAgICAgMCwgICAgICAgICAgLyogZGlkTm90SGFuZGxlV2hlZWxF
dmVudCAqLwogICAgICAgICAwLCAgICAgICAgICAvKiB0b29sYmFyc0FyZVZpc2libGUgKi8KICAg
ICAgICAgMCwgICAgICAgICAgLyogc2V0VG9vbGJhcnNBcmVWaXNpYmxlICovCiAgICAgICAgIDAs
ICAgICAgICAgIC8qIG1lbnVCYXJJc1Zpc2libGUgKi8KSW5kZXg6IFRvb2xzL01pbmlCcm93c2Vy
L3dpbi9Ccm93c2VyVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvd2lu
L0Jyb3dzZXJWaWV3LmNwcAkocmV2aXNpb24gODU4MTgpCisrKyBUb29scy9NaW5pQnJvd3Nlci93
aW4vQnJvd3NlclZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDcsNiArMTA3LDcgQEAgdm9p
ZCBCcm93c2VyVmlldzo6Y3JlYXRlKFJFQ1Qgd2ViVmlld1JlYwogICAgICAgICBzZXRTdGF0dXNU
ZXh0LAogICAgICAgICBtb3VzZURpZE1vdmVPdmVyRWxlbWVudCwKICAgICAgICAgMCwgICAgICAg
ICAgLyogZGlkTm90SGFuZGxlS2V5RXZlbnQgKi8KKyAgICAgICAgMCwgICAgICAgICAgLyogZGlk
Tm90SGFuZGxlV2hlZWxFdmVudCAqLwogICAgICAgICAwLCAgICAgICAgICAvKiB0b29sYmFyc0Fy
ZVZpc2libGUgKi8KICAgICAgICAgMCwgICAgICAgICAgLyogc2V0VG9vbGJhcnNBcmVWaXNpYmxl
ICovCiAgICAgICAgIDAsICAgICAgICAgIC8qIG1lbnVCYXJJc1Zpc2libGUgKi8KSW5kZXg6IFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA4NTgxOCkK
KysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNTEsNiArMTUxLDcgQEAgV0tQYWdlUmVmIFRlc3RDb250cm9sbGVyOjpjcmVhdGVP
dGhlclBhZwogICAgICAgICAwLCAvLyBtb3VzZURpZE1vdmVPdmVyRWxlbWVudAogICAgICAgICAw
LCAvLyBtaXNzaW5nUGx1Z2luQnV0dG9uQ2xpY2tlZAogICAgICAgICAwLCAvLyBkaWROb3RIYW5k
bGVLZXlFdmVudAorICAgICAgICAwLCAvLyBkaWROb3RIYW5kbGVXaGVlbEV2ZW50CiAgICAgICAg
IDAsIC8vIHRvb2xiYXJzQXJlVmlzaWJsZQogICAgICAgICAwLCAvLyBzZXRUb29sYmFyc0FyZVZp
c2libGUKICAgICAgICAgMCwgLy8gbWVudUJhcklzVmlzaWJsZQpAQCAtMjkzLDYgKzI5NCw3IEBA
IHZvaWQgVGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemUoaW50IGFyZ2MKICAgICAgICAgMCwgLy8g
bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQKICAgICAgICAgMCwgLy8gbWlzc2luZ1BsdWdpbkJ1dHRv
bkNsaWNrZWQKICAgICAgICAgMCwgLy8gZGlkTm90SGFuZGxlS2V5RXZlbnQKKyAgICAgICAgMCwg
Ly8gZGlkTm90SGFuZGxlV2hlZWxFdmVudAogICAgICAgICAwLCAvLyB0b29sYmFyc0FyZVZpc2li
bGUKICAgICAgICAgMCwgLy8gc2V0VG9vbGJhcnNBcmVWaXNpYmxlCiAgICAgICAgIDAsIC8vIG1l
bnVCYXJJc1Zpc2libGUK
</data>
<flag name="review"
          id="85323"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>