<?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>65043</bug_id>
          
          <creation_ts>2011-07-22 12:58:47 -0700</creation_ts>
          <short_desc>Remove support for GL_latch_CHROMIUM extension</short_desc>
          <delta_ts>2011-07-25 18:18:24 -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>WebGL</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="Al">apatrick</reporter>
          <assigned_to name="Al">apatrick</assigned_to>
          <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>441117</commentid>
    <comment_count>0</comment_count>
    <who name="Al">apatrick</who>
    <bug_when>2011-07-22 12:58:47 -0700</bug_when>
    <thetext>Remove support for the GL_latch_CHROMIUM extension which Chromium no longer supports.
Replace calls to SetLatch with calls to Flush since Flush now has barrier semantics in Chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441119</commentid>
    <comment_count>1</comment_count>
      <attachid>101757</attachid>
    <who name="Al">apatrick</who>
    <bug_when>2011-07-22 13:02:20 -0700</bug_when>
    <thetext>Created attachment 101757
Patch 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441130</commentid>
    <comment_count>2</comment_count>
      <attachid>101757</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-07-22 13:32:28 -0700</bug_when>
    <thetext>Comment on attachment 101757
Patch 1

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

There&apos;s some code in Canvas2DLayerChromium.cpp that can be killed too - look for the big FIXME and the finish().

&gt; Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:301
&gt; +    if (hardwareCompositing())
&gt; +        m_context-&gt;flush();

is this still needed? we&apos;ll do a swap on this context pretty soon</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441150</commentid>
    <comment_count>3</comment_count>
      <attachid>101761</attachid>
    <who name="Al">apatrick</who>
    <bug_when>2011-07-22 14:04:38 -0700</bug_when>
    <thetext>Created attachment 101761
Patch 2

Removing the flush of the compositor context and reducing the semantics from finish to flush appears to work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441153</commentid>
    <comment_count>4</comment_count>
      <attachid>101761</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-07-22 14:08:15 -0700</bug_when>
    <thetext>Comment on attachment 101761
Patch 2

Yay, I love deleting crappy old code.  This looks great to me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441200</commentid>
    <comment_count>5</comment_count>
      <attachid>101761</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-22 15:08:35 -0700</bug_when>
    <thetext>Comment on attachment 101761
Patch 2

Rejecting attachment 101761 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=ec2-cq-02&apos;, &apos;--port...&quot; exit_code: 1

Last 500 characters of output:
343c65ab7287cd100d51f373ede4804b22981e70
r91606 = b372bde375ec9c1f739a022e36de1ae3199d7795
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.
Updating chromium port dependencies using gclient...

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/9231213</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442031</commentid>
    <comment_count>6</comment_count>
      <attachid>101953</attachid>
    <who name="Al">apatrick</who>
    <bug_when>2011-07-25 17:47:37 -0700</bug_when>
    <thetext>Created attachment 101953
Fixed ChangeLog files.

Added &quot;Reviewed by&quot; lines to ChangLog files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442048</commentid>
    <comment_count>7</comment_count>
      <attachid>101953</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-25 18:18:20 -0700</bug_when>
    <thetext>Comment on attachment 101953
Fixed ChangeLog files.

Clearing flags on attachment: 101953

Committed r91736: &lt;http://trac.webkit.org/changeset/91736&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442049</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-25 18:18:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101757</attachid>
            <date>2011-07-22 13:02:20 -0700</date>
            <delta_ts>2011-07-22 14:07:31 -0700</delta_ts>
            <desc>Patch 1</desc>
            <filename>nolatch.patch</filename>
            <type>text/plain</type>
            <size>13316</size>
            <attacher name="Al">apatrick</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkxNTk2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDctMjIgIEFsIFBhdHJp
Y2sgIDxhcGF0cmlja0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZlZCBzdXBwb3J0IGZv
ciB0aGUgR0xfbGF0Y2hfQ0hST01JVU0gZXh0ZW5zaW9uIHdoaWNoIENocm9taXVtIG5vIGxvbmdl
ciBzdXBwb3J0cy4KKyAgICAgICAgUmVwbGFjZWQgY2FsbHMgdG8gU2V0TGF0Y2ggd2l0aCBjYWxs
cyB0byBGbHVzaCBzaW5jZSBGbHVzaCBub3cgaGFzIGJhcnJpZXIgc2VtYW50aWNzIGluIENocm9t
aXVtLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUw
NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RyYXdpbmdCdWZmZXJDaHJvbWl1bS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpEcmF3aW5nQnVmZmVyOjpwdWJsaXNoVG9QbGF0Zm9ybUxheWVyKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9FeHRlbnNpb25zM0RDaHJvbWl1bS5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJv
bWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OkxheWVy
UmVuZGVyZXJDaHJvbWl1bSk6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21p
dW06OmRyYXdMYXllcnMpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVt
OjphZGRDaGlsZENvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9t
aXVtOjpyZW1vdmVDaGlsZENvbnRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oOgorCiAyMDExLTA3LTIyICBWaWV0LVRydW5n
IEx1dSAgPHZpZXR0cnVuZ2x1dUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW1wcm92ZSAoaS5l
Liwgc3BlZWQgdXApIC5neXAoaSkgZmlsZXMgZm9yIENocm9taXVtCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EcmF3aW5nQnVmZmVyQ2hyb21pdW0uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0RyYXdpbmdCdWZmZXJDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDkxNTc3KQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRHJhd2luZ0J1ZmZlckNocm9taXVtLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTE0LDcgKzExNCw3IEBAIHZvaWQgRHJhd2luZ0J1ZmZlcjo6
cHVibGlzaFRvUGxhdGZvcm1MYXkKIHsKICAgICBpZiAoIW1fY29udGV4dCkKICAgICAgICAgcmV0
dXJuOwotICAgICAgICAKKwogICAgIGlmIChtX2NhbGxiYWNrKQogICAgICAgICBtX2NhbGxiYWNr
LT53aWxsUHVibGlzaCgpOwogICAgIGlmIChtdWx0aXNhbXBsZSgpKQpAQCAtMTIyLDggKzEyMiw3
IEBAIHZvaWQgRHJhd2luZ0J1ZmZlcjo6cHVibGlzaFRvUGxhdGZvcm1MYXkKICAgICB1bnNpZ25l
ZCBwYXJlbnRUZXh0dXJlID0gbV9wbGF0Zm9ybUxheWVyLT50ZXh0dXJlSWQoKTsKICAgICAvLyBX
ZSBkbyB0aGUgY29weSBpbiB0aGUgY2FudmFzJyAoY2hpbGQpIGNvbnRleHQgc28gdGhhdCBpdCBl
eGVjdXRlcyBpbiB0aGUgY29ycmVjdCBvcmRlciByZWxhdGl2ZSB0bwogICAgIC8vIG90aGVyIGNv
bW1hbmRzIGluIHRoZSBjaGlsZCBjb250ZXh0LiBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgcGFyZW50
IHRleHR1cmUgYWx3YXlzIGNvbnRhaW5zIGEgY29tcGxldGUKLSAgICAvLyBmcmFtZSBhbmQgbm90
IHNvbWUgaW50ZXJtZWRpYXRlIHJlc3VsdC4gTGF5ZXJSZW5kZXJlckNocm9taXVtIHVzZXMgZ2xT
ZXRMYXRjaCB0byBtYWtlIHN1cmUgdGhlIGNoaWxkCi0gICAgLy8gY29udGV4dCBjb21wbGV0ZXMg
YmVmb3JlIHRoZSBwYXJlbnQgY29udGV4dCBjb25zdW1lcyB0aGUgdGV4dHVyZS4KKyAgICAvLyBm
cmFtZSBhbmQgbm90IHNvbWUgaW50ZXJtZWRpYXRlIHJlc3VsdC4KICAgICBtX2NvbnRleHQtPm1h
a2VDb250ZXh0Q3VycmVudCgpOwogI2lmIFVTRShTS0lBKQogICAgIGlmIChtX2dyQ29udGV4dCkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0V4dGVuc2lv
bnMzRENocm9taXVtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vRXh0ZW5zaW9uczNEQ2hyb21pdW0uaAkocmV2aXNpb24gOTE1NzcpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9FeHRlbnNpb25zM0RD
aHJvbWl1bS5oCSh3b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0MSw2IEBAIHB1YmxpYzoKICAgICAv
LyAgIEdMX0NIUk9NSVVNX3N0cmljdF9hdHRyaWJzIDogaW5kaWNhdGluZyBhIEdMIGVycm9yIGlz
IGdlbmVyYXRlZCBmb3Igb3V0LW9mLWJvdW5kcyBidWZmZXIgYWNjZXNzZXMuCiAgICAgLy8gICBH
TF9DSFJPTUlVTV9tYXBfc3ViCiAgICAgLy8gICBHTF9DSFJPTUlVTV9jb3B5X3RleHR1cmVfdG9f
cGFyZW50X3RleHR1cmUKLSAgICAvLyAgIEdMX0NIUk9NSVVNX2xhdGNoCiAgICAgLy8gICBHTF9D
SFJPTUlVTV9zd2FwYnVmZmVyc19jb21wbGV0ZV9jYWxsYmFjawogICAgIC8vICAgR0xfQ0hST01J
VU1fcmF0ZV9saW1pdF9vZmZzY3JlZW5fY29udGV4dAogCkBAIC03MiwxMiArNzEsNiBAQCBwdWJs
aWM6CiAgICAgLy8gR0xfQ0hST01JVU1fY29weV90ZXh0dXJlX3RvX3BhcmVudF90ZXh0dXJlCiAg
ICAgdm9pZCBjb3B5VGV4dHVyZVRvUGFyZW50VGV4dHVyZUNIUk9NSVVNKHVuc2lnbmVkIHRleHR1
cmUsIHVuc2lnbmVkIHBhcmVudFRleHR1cmUpOwogCi0gICAgLy8gR0xfQ0hST01JVU1fbGF0Y2gK
LSAgICB2b2lkIGdldFBhcmVudFRvQ2hpbGRMYXRjaENIUk9NSVVNKEdDM0R1aW50KiBsYXRjaElk
KTsKLSAgICB2b2lkIGdldENoaWxkVG9QYXJlbnRMYXRjaENIUk9NSVVNKEdDM0R1aW50KiBsYXRj
aElkKTsKLSAgICB2b2lkIHdhaXRMYXRjaENIUk9NSVVNKEdDM0R1aW50IGxhdGNoSWQpOwotICAg
IHZvaWQgc2V0TGF0Y2hDSFJPTUlVTShHQzNEdWludCBsYXRjaElkKTsKLQogICAgIC8vIEdMX0NI
Uk9NSVVNX3N3YXBidWZmZXJzX2NvbXBsZXRlX2NhbGxiYWNrCiAgICAgY2xhc3MgU3dhcEJ1ZmZl
cnNDb21wbGV0ZUNhbGxiYWNrQ0hST01JVU0gewogICAgIHB1YmxpYzoKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcAkocmV2aXNpb24gOTE1NzcpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzIsMTQgKzEzMiwxMiBAQCBMYXllclJlbmRlcmVyQ2hy
b21pdW06OkxheWVyUmVuZGVyZXJDaHJvCiAgICAgLCBtX29mZnNjcmVlbkZyYW1lYnVmZmVySWQo
MCkKICAgICAsIG1fY29tcG9zaXRlT2Zmc2NyZWVuKGZhbHNlKQogICAgICwgbV9jb250ZXh0KGNv
bnRleHQpCi0gICAgLCBtX2NvbnRleHRTdXBwb3J0c0xhdGNoKGZhbHNlKQogICAgICwgbV9jb250
ZXh0U3VwcG9ydHNUZXh0dXJlRm9ybWF0QkdSQShmYWxzZSkKICAgICAsIG1fY29udGV4dFN1cHBv
cnRzUmVhZEZvcm1hdEJHUkEoZmFsc2UpCiAgICAgLCBtX2FuaW1hdGluZyhmYWxzZSkKICAgICAs
IG1fZGVmYXVsdFJlbmRlclN1cmZhY2UoMCkKIHsKICAgICBXZWJDb3JlOjpFeHRlbnNpb25zM0Qq
IGV4dGVuc2lvbnMgPSBtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKTsKLSAgICBtX2NvbnRleHRT
dXBwb3J0c0xhdGNoID0gZXh0ZW5zaW9ucy0+c3VwcG9ydHMoIkdMX0NIUk9NSVVNX2xhdGNoIik7
CiAgICAgbV9jb250ZXh0U3VwcG9ydHNNYXBTdWIgPSBleHRlbnNpb25zLT5zdXBwb3J0cygiR0xf
Q0hST01JVU1fbWFwX3N1YiIpOwogICAgIGlmIChtX2NvbnRleHRTdXBwb3J0c01hcFN1YikKICAg
ICAgICAgZXh0ZW5zaW9ucy0+ZW5zdXJlRW5hYmxlZCgiR0xfQ0hST01JVU1fbWFwX3N1YiIpOwpA
QCAtMjgyLDI0ICsyODAsMTUgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdMYXll
cnMoKQogICAgIEFTU0VSVChtX2hhcmR3YXJlQ29tcG9zaXRpbmcpOwogICAgIEFTU0VSVChtX2Nv
bXB1dGVkUmVuZGVyU3VyZmFjZUxheWVyTGlzdCk7CiAgICAgLy8gQmVmb3JlIGRyYXdMYXllcnM6
Ci0gICAgaWYgKGhhcmR3YXJlQ29tcG9zaXRpbmcoKSAmJiBtX2NvbnRleHRTdXBwb3J0c0xhdGNo
KSB7CisgICAgaWYgKGhhcmR3YXJlQ29tcG9zaXRpbmcoKSkgewogICAgICAgICAvLyBGSVhNRTog
VGhlIG11bHRpdGhyZWFkZWQgY29tcG9zaXRvciBjYXNlIHdpbGwgbm90IHdvcmsgYXMgbG9uZyBh
cwogICAgICAgICAvLyBjb3B5VGV4SW1hZ2UyRCByZXNvbHZlcyB0byB0aGUgcGFyZW50IHRleHR1
cmUsIGJlY2F1c2UgdGhlIG1haW4KICAgICAgICAgLy8gdGhyZWFkIGNhbiBleGVjdXRlIFdlYkdM
IGNhbGxzIG9uIHRoZSBjaGlsZCBjb250ZXh0IGF0IGFueSB0aW1lLAogICAgICAgICAvLyBwb3Rl
bnRpYWxseSBjbG9iYmVyaW5nIHRoZSBwYXJlbnQgdGV4dHVyZSB0aGF0IGlzIGJlaW5nIHJlbmRl
cmVyZWQKICAgICAgICAgLy8gYnkgdGhlIGNvbXBvc2l0b3IgdGhyZWFkLgotICAgICAgICBFeHRl
bnNpb25zM0RDaHJvbWl1bSogcGFyZW50RXh0ID0gc3RhdGljX2Nhc3Q8RXh0ZW5zaW9uczNEQ2hy
b21pdW0qPihtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKSk7Ci0gICAgICAgIC8vIEZvciBlYWNo
IGNoaWxkIGNvbnRleHQ6Ci0gICAgICAgIC8vICAgZ2xXYWl0TGF0Y2goT2Zmc2NyZWVuLT5Db21w
b3NpdG9yKTsKICAgICAgICAgQ2hpbGRDb250ZXh0TWFwOjppdGVyYXRvciBpID0gbV9jaGlsZENv
bnRleHRzLmJlZ2luKCk7CiAgICAgICAgIGZvciAoOyBpICE9IG1fY2hpbGRDb250ZXh0cy5lbmQo
KTsgKytpKSB7Ci0gICAgICAgICAgICBFeHRlbnNpb25zM0RDaHJvbWl1bSogY2hpbGRFeHQgPSBz
dGF0aWNfY2FzdDxFeHRlbnNpb25zM0RDaHJvbWl1bSo+KGktPmZpcnN0LT5nZXRFeHRlbnNpb25z
KCkpOwotICAgICAgICAgICAgaWYgKGNoaWxkRXh0LT5nZXRHcmFwaGljc1Jlc2V0U3RhdHVzQVJC
KCkgPT0gR3JhcGhpY3NDb250ZXh0M0Q6Ok5PX0VSUk9SKSB7Ci0gICAgICAgICAgICAgICAgR0Mz
RHVpbnQgY2hpbGRUb1BhcmVudExhdGNoSWQ7Ci0gICAgICAgICAgICAgICAgY2hpbGRFeHQtPmdl
dENoaWxkVG9QYXJlbnRMYXRjaENIUk9NSVVNKCZjaGlsZFRvUGFyZW50TGF0Y2hJZCk7Ci0gICAg
ICAgICAgICAgICAgY2hpbGRFeHQtPnNldExhdGNoQ0hST01JVU0oY2hpbGRUb1BhcmVudExhdGNo
SWQpOwotICAgICAgICAgICAgICAgIHBhcmVudEV4dC0+d2FpdExhdGNoQ0hST01JVU0oY2hpbGRU
b1BhcmVudExhdGNoSWQpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgaS0+Zmlyc3QtPmZs
dXNoKCk7CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTMwOCwyMSArMjk3LDggQEAgdm9pZCBMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdMYXllcnMoKQogICAgIG1fdGV4dHVyZU1hbmFnZXItPnVu
cHJvdGVjdEFsbFRleHR1cmVzKCk7CiAKICAgICAvLyBBZnRlciBkcmF3TGF5ZXJzOgotICAgIGlm
IChoYXJkd2FyZUNvbXBvc2l0aW5nKCkgJiYgbV9jb250ZXh0U3VwcG9ydHNMYXRjaCkgewotICAg
ICAgICBFeHRlbnNpb25zM0RDaHJvbWl1bSogcGFyZW50RXh0ID0gc3RhdGljX2Nhc3Q8RXh0ZW5z
aW9uczNEQ2hyb21pdW0qPihtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKSk7Ci0gICAgICAgIC8v
IEZvciBlYWNoIGNoaWxkIGNvbnRleHQ6Ci0gICAgICAgIC8vICAgZ2xTZXRMYXRjaChDb21wb3Np
dG9yLT5PZmZzY3JlZW4pOwotICAgICAgICBDaGlsZENvbnRleHRNYXA6Oml0ZXJhdG9yIGkgPSBt
X2NoaWxkQ29udGV4dHMuYmVnaW4oKTsKLSAgICAgICAgZm9yICg7IGkgIT0gbV9jaGlsZENvbnRl
eHRzLmVuZCgpOyArK2kpIHsKLSAgICAgICAgICAgIEV4dGVuc2lvbnMzRENocm9taXVtKiBjaGls
ZEV4dCA9IHN0YXRpY19jYXN0PEV4dGVuc2lvbnMzRENocm9taXVtKj4oaS0+Zmlyc3QtPmdldEV4
dGVuc2lvbnMoKSk7Ci0gICAgICAgICAgICBpZiAoY2hpbGRFeHQtPmdldEdyYXBoaWNzUmVzZXRT
dGF0dXNBUkIoKSA9PSBHcmFwaGljc0NvbnRleHQzRDo6Tk9fRVJST1IpIHsKLSAgICAgICAgICAg
ICAgICBHQzNEdWludCBwYXJlbnRUb0NoaWxkTGF0Y2hJZDsKLSAgICAgICAgICAgICAgICBjaGls
ZEV4dC0+Z2V0UGFyZW50VG9DaGlsZExhdGNoQ0hST01JVU0oJnBhcmVudFRvQ2hpbGRMYXRjaElk
KTsKLSAgICAgICAgICAgICAgICBwYXJlbnRFeHQtPnNldExhdGNoQ0hST01JVU0ocGFyZW50VG9D
aGlsZExhdGNoSWQpOwotICAgICAgICAgICAgICAgIGNoaWxkRXh0LT53YWl0TGF0Y2hDSFJPTUlV
TShwYXJlbnRUb0NoaWxkTGF0Y2hJZCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9
CisgICAgaWYgKGhhcmR3YXJlQ29tcG9zaXRpbmcoKSkKKyAgICAgICAgbV9jb250ZXh0LT5mbHVz
aCgpOwogCiAgICAgaWYgKGlzQ29tcG9zaXRpbmdPZmZzY3JlZW4oKSkKICAgICAgICAgY29weU9m
ZnNjcmVlblRleHR1cmVUb0Rpc3BsYXkoKTsKQEAgLTEzMjAsOSArMTI5Niw2IEBAIFN0cmluZyBM
YXllclJlbmRlcmVyQ2hyb21pdW06OmxheWVyVHJlZUEKIAogdm9pZCBMYXllclJlbmRlcmVyQ2hy
b21pdW06OmFkZENoaWxkQ29udGV4dChHcmFwaGljc0NvbnRleHQzRCogY3R4KQogewotICAgIGlm
ICghY3R4LT5nZXRFeHRlbnNpb25zKCktPnN1cHBvcnRzKCJHTF9DSFJPTUlVTV9sYXRjaCIpKQot
ICAgICAgICByZXR1cm47Ci0KICAgICAvLyBUaGlzIGlzIGEgcmVmLWNvdW50aW5nIG1hcCwgYmVj
YXVzZSBzb21lIGNvbnRleHRzIGFyZSBzaGFyZWQgYnkgbXVsdGlwbGUKICAgICAvLyBsYXllcnMg
KHNwZWNpZmljYWxseSwgQ2FudmFzMkRMYXllckNocm9taXVtKS4KIApAQCAtMTM0NSw5ICsxMzE4
LDYgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmFkZENoaWxkQ29udAogCiB2b2lkIExh
eWVyUmVuZGVyZXJDaHJvbWl1bTo6cmVtb3ZlQ2hpbGRDb250ZXh0KEdyYXBoaWNzQ29udGV4dDNE
KiBjdHgpCiB7Ci0gICAgaWYgKCFjdHgtPmdldEV4dGVuc2lvbnMoKS0+c3VwcG9ydHMoIkdMX0NI
Uk9NSVVNX2xhdGNoIikpCi0gICAgICAgIHJldHVybjsKLQogICAgIENoaWxkQ29udGV4dE1hcDo6
aXRlcmF0b3IgaSA9IG1fY2hpbGRDb250ZXh0cy5maW5kKGN0eCk7CiAgICAgaWYgKGkgIT0gbV9j
aGlsZENvbnRleHRzLmVuZCgpKSB7CiAgICAgICAgIGlmICgtLWktPnNlY29uZCA8PSAwKSB7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRl
cmVyQ2hyb21pdW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAkocmV2aXNpb24gOTE1NzcpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVy
Q2hyb21pdW0uaAkod29ya2luZyBjb3B5KQpAQCAtMjU0LDcgKzI1NCw2IEBAIHByaXZhdGU6CiAK
ICAgICBDaGlsZENvbnRleHRNYXAgbV9jaGlsZENvbnRleHRzOwogCi0gICAgYm9vbCBtX2NvbnRl
eHRTdXBwb3J0c0xhdGNoOwogICAgIGJvb2wgbV9jb250ZXh0U3VwcG9ydHNNYXBTdWI7CiAgICAg
Ym9vbCBtX2NvbnRleHRTdXBwb3J0c1RleHR1cmVGb3JtYXRCR1JBOwogICAgIGJvb2wgbV9jb250
ZXh0U3VwcG9ydHNSZWFkRm9ybWF0QkdSQTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CShyZXZpc2lvbiA5MTU5NikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDctMjIgIEFsIFBhdHJpY2sgIDxh
cGF0cmlja0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZlZCBzdXBwb3J0IGZvciB0aGUg
R0xfbGF0Y2hfQ0hST01JVU0gZXh0ZW5zaW9uIHdoaWNoIENocm9taXVtIG5vIGxvbmdlciBzdXBw
b3J0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1
MDQzCisKKyAgICAgICAgKiBwdWJsaWMvV2ViR3JhcGhpY3NDb250ZXh0M0QuaDoKKyAgICAgICAg
KiBzcmMvRXh0ZW5zaW9uczNEQ2hyb21pdW0uY3BwOgorICAgICAgICAqIHNyYy9HcmFwaGljc0Nv
bnRleHQzRENocm9taXVtLmNwcDoKKyAgICAgICAgKiBzcmMvR3JhcGhpY3NDb250ZXh0M0RJbnRl
cm5hbC5oOgorCiAyMDExLTA3LTIyICBBbmRyZXcgU2NoZXJrdXMgIDxzY2hlcmt1c0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIHN1cmZhY2VUeXBlKCkgYW5kIHRleHR1cmUoKSBtZXRo
b2RzIGZyb20gQ2hyb21pdW0gdmlkZW8gZnJhbWUgY2xhc3Nlcy4KSW5kZXg6IFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYkdyYXBoaWNzQ29udGV4dDNELmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViR3JhcGhpY3NDb250ZXh0M0QuaAkocmV2
aXNpb24gOTE1NzcpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJHcmFwaGlj
c0NvbnRleHQzRC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzgsMTIgKzE3OCw2IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgYmxpdEZyYW1lYnVmZmVyQ0hST01JVU0oV0dDM0RpbnQgc3JjWDAs
IFdHQzNEaW50IHNyY1kwLCBXR0MzRGludCBzcmNYMSwgV0dDM0RpbnQgc3JjWTEsIFdHQzNEaW50
IGRzdFgwLCBXR0MzRGludCBkc3RZMCwgV0dDM0RpbnQgZHN0WDEsIFdHQzNEaW50IGRzdFkxLCBX
R0MzRGJpdGZpZWxkIG1hc2ssIFdHQzNEZW51bSBmaWx0ZXIpID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgcmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlQ0hST01JVU0oV0dDM0RlbnVtIHRhcmdl
dCwgV0dDM0RzaXplaSBzYW1wbGVzLCBXR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQsIFdHQzNEc2l6
ZWkgd2lkdGgsIFdHQzNEc2l6ZWkgaGVpZ2h0KSA9IDA7CiAKLSAgICAvLyBHTF9DSFJPTUlVTV9s
YXRjaAotICAgIHZpcnR1YWwgdm9pZCBnZXRQYXJlbnRUb0NoaWxkTGF0Y2hDSFJPTUlVTShXR0Mz
RHVpbnQqIGxhdGNoSWQpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZ2V0Q2hpbGRUb1BhcmVudExh
dGNoQ0hST01JVU0oV0dDM0R1aW50KiBsYXRjaElkKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHdh
aXRMYXRjaENIUk9NSVVNKFdHQzNEdWludCBsYXRjaElkKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lk
IHNldExhdGNoQ0hST01JVU0oV0dDM0R1aW50IGxhdGNoSWQpID0gMDsKLQogICAgIC8vIEdMX0NI
Uk9NSVVNX3N3YXBidWZmZXJzX2NvbXBsZXRlX2NhbGxiYWNrCiAgICAgdmlydHVhbCB2b2lkIHNl
dFN3YXBCdWZmZXJzQ29tcGxldGVDYWxsYmFja0NIUk9NSVVNKFdlYkdyYXBoaWNzU3dhcEJ1ZmZl
cnNDb21wbGV0ZUNhbGxiYWNrQ0hST01JVU0qIGNhbGxiYWNrKSB7IH0KIApJbmRleDogU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvRXh0ZW5zaW9uczNEQ2hyb21pdW0uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0V4dGVuc2lvbnMzRENocm9taXVtLmNwcAko
cmV2aXNpb24gOTE1NzcpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FeHRlbnNpb25z
M0RDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMiwyNiArMTAyLDYgQEAgdm9pZCBF
eHRlbnNpb25zM0RDaHJvbWl1bTo6Y29weVRleHR1cmVUbwogICAgIG1faW50ZXJuYWwtPmNvcHlU
ZXh0dXJlVG9QYXJlbnRUZXh0dXJlQ0hST01JVU0odGV4dHVyZSwgcGFyZW50VGV4dHVyZSk7CiB9
CiAKLXZvaWQgRXh0ZW5zaW9uczNEQ2hyb21pdW06OmdldFBhcmVudFRvQ2hpbGRMYXRjaENIUk9N
SVVNKEdDM0R1aW50KiBsYXRjaElkKQotewotICAgIG1faW50ZXJuYWwtPmdldFBhcmVudFRvQ2hp
bGRMYXRjaENIUk9NSVVNKGxhdGNoSWQpOwotfQotCi12b2lkIEV4dGVuc2lvbnMzRENocm9taXVt
OjpnZXRDaGlsZFRvUGFyZW50TGF0Y2hDSFJPTUlVTShHQzNEdWludCogbGF0Y2hJZCkKLXsKLSAg
ICBtX2ludGVybmFsLT5nZXRDaGlsZFRvUGFyZW50TGF0Y2hDSFJPTUlVTShsYXRjaElkKTsKLX0K
LQotdm9pZCBFeHRlbnNpb25zM0RDaHJvbWl1bTo6d2FpdExhdGNoQ0hST01JVU0oR0MzRHVpbnQg
bGF0Y2hJZCkKLXsKLSAgICBtX2ludGVybmFsLT53YWl0TGF0Y2hDSFJPTUlVTShsYXRjaElkKTsK
LX0KLQotdm9pZCBFeHRlbnNpb25zM0RDaHJvbWl1bTo6c2V0TGF0Y2hDSFJPTUlVTShHQzNEdWlu
dCBsYXRjaElkKQotewotICAgIG1faW50ZXJuYWwtPnNldExhdGNoQ0hST01JVU0obGF0Y2hJZCk7
Ci19Ci0KIFBsYXRmb3JtM0RPYmplY3QgRXh0ZW5zaW9uczNEQ2hyb21pdW06OmNyZWF0ZVZlcnRl
eEFycmF5T0VTKCkKIHsKICAgICByZXR1cm4gMDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEQ2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEQ2hyb21pdW0uY3BwCShyZXZp
c2lvbiA5MTU3NykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4
dDNEQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NDAsMTAgKzg0MCw2IEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6Y29weVRleHQKIAogREVMRUdBVEVfVE9fSU1QTF8x
MChibGl0RnJhbWVidWZmZXJDSFJPTUlVTSwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0Mz
RGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGJpdGZpZWxkLCBH
QzNEZW51bSkKIERFTEVHQVRFX1RPX0lNUExfNShyZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1w
bGVDSFJPTUlVTSwgR0MzRGVudW0sIEdDM0RzaXplaSwgR0MzRGVudW0sIEdDM0RzaXplaSwgR0Mz
RHNpemVpKQotREVMRUdBVEVfVE9fSU1QTF8xKGdldFBhcmVudFRvQ2hpbGRMYXRjaENIUk9NSVVN
LCBHQzNEdWludCopCi1ERUxFR0FURV9UT19JTVBMXzEoZ2V0Q2hpbGRUb1BhcmVudExhdGNoQ0hS
T01JVU0sIEdDM0R1aW50KikKLURFTEVHQVRFX1RPX0lNUExfMSh3YWl0TGF0Y2hDSFJPTUlVTSwg
R0MzRHVpbnQpCi1ERUxFR0FURV9UT19JTVBMXzEoc2V0TGF0Y2hDSFJPTUlVTSwgR0MzRHVpbnQp
CiAKIERFTEVHQVRFX1RPX0lNUEwocmF0ZUxpbWl0T2Zmc2NyZWVuQ29udGV4dENIUk9NSVVNKQog
REVMRUdBVEVfVE9fSU1QTF9SKGdldEdyYXBoaWNzUmVzZXRTdGF0dXNBUkIsIEdDM0RlbnVtKQpJ
bmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5h
bC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29u
dGV4dDNESW50ZXJuYWwuaAkocmV2aXNpb24gOTE1NzcpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9HcmFwaGljc0NvbnRleHQzREludGVybmFsLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4
MCwxMiArMjgwLDYgQEAgcHVibGljOgogICAgIHZvaWQgYmxpdEZyYW1lYnVmZmVyQ0hST01JVU0o
R0MzRGludCBzcmNYMCwgR0MzRGludCBzcmNZMCwgR0MzRGludCBzcmNYMSwgR0MzRGludCBzcmNZ
MSwgR0MzRGludCBkc3RYMCwgR0MzRGludCBkc3RZMCwgR0MzRGludCBkc3RYMSwgR0MzRGludCBk
c3RZMSwgR0MzRGJpdGZpZWxkIG1hc2ssIEdDM0RlbnVtIGZpbHRlcik7CiAgICAgdm9pZCByZW5k
ZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGVDSFJPTUlVTShHQzNEZW51bSB0YXJnZXQsIEdDM0Rz
aXplaSBzYW1wbGVzLCBHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBH
QzNEc2l6ZWkgaGVpZ2h0KTsKIAotICAgIC8vIEdMX0NIUk9NSVVNX2xhdGNoCi0gICAgdm9pZCBn
ZXRQYXJlbnRUb0NoaWxkTGF0Y2hDSFJPTUlVTShHQzNEdWludCogbGF0Y2hJZCk7Ci0gICAgdm9p
ZCBnZXRDaGlsZFRvUGFyZW50TGF0Y2hDSFJPTUlVTShHQzNEdWludCogbGF0Y2hJZCk7Ci0gICAg
dm9pZCB3YWl0TGF0Y2hDSFJPTUlVTShHQzNEdWludCBsYXRjaElkKTsKLSAgICB2b2lkIHNldExh
dGNoQ0hST01JVU0oR0MzRHVpbnQgbGF0Y2hJZCk7Ci0KICAgICAvLyBHTF9DSFJPTUlVTV9zd2Fw
YnVmZmVyc19jb21wbGV0ZV9jYWxsYmFjawogICAgIHZvaWQgc2V0U3dhcEJ1ZmZlcnNDb21wbGV0
ZUNhbGxiYWNrQ0hST01JVU0oUGFzc093blB0cjxFeHRlbnNpb25zM0RDaHJvbWl1bTo6U3dhcEJ1
ZmZlcnNDb21wbGV0ZUNhbGxiYWNrQ0hST01JVU0+KTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101761</attachid>
            <date>2011-07-22 14:04:38 -0700</date>
            <delta_ts>2011-07-25 18:04:10 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>nolatch.patch</filename>
            <type>text/plain</type>
            <size>14915</size>
            <attacher name="Al">apatrick</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkxNTk2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDctMjIgIEFsIFBhdHJp
Y2sgIDxhcGF0cmlja0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZlZCBzdXBwb3J0IGZv
ciB0aGUgR0xfbGF0Y2hfQ0hST01JVU0gZXh0ZW5zaW9uIHdoaWNoIENocm9taXVtIG5vIGxvbmdl
ciBzdXBwb3J0cy4KKyAgICAgICAgUmVwbGFjZWQgY2FsbHMgdG8gU2V0TGF0Y2ggd2l0aCBjYWxs
cyB0byBGbHVzaCBzaW5jZSBGbHVzaCBub3cgaGFzIGJhcnJpZXIgc2VtYW50aWNzIGluIENocm9t
aXVtLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUw
NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NhbnZhczJETGF5ZXJDaHJvbWl1bS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYW52YXMyRExheWVyQ2hyb21pdW06OnVwZGF0ZUNvbXBvc2l0b3JSZXNv
dXJjZXMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RyYXdpbmdCdWZm
ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEcmF3aW5nQnVmZmVyOjpwdWJsaXNo
VG9QbGF0Zm9ybUxheWVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9F
eHRlbnNpb25zM0RDaHJvbWl1bS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJl
bmRlcmVyQ2hyb21pdW06OkxheWVyUmVuZGVyZXJDaHJvbWl1bSk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdMYXllcnMpOgorICAgICAgICAoV2ViQ29yZTo6
TGF5ZXJSZW5kZXJlckNocm9taXVtOjphZGRDaGlsZENvbnRleHQpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpyZW1vdmVDaGlsZENvbnRleHQpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oOgorCiAy
MDExLTA3LTIyICBWaWV0LVRydW5nIEx1dSAgPHZpZXR0cnVuZ2x1dUBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgSW1wcm92ZSAoaS5lLiwgc3BlZWQgdXApIC5neXAoaSkgZmlsZXMgZm9yIENocm9t
aXVtCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9DYW52
YXMyRExheWVyQ2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0NhbnZhczJETGF5ZXJDaHJvbWl1bS5jcHAJKHJldmlzaW9u
IDkxNTc3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ2Fu
dmFzMkRMYXllckNocm9taXVtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODgsMTIgKzg4LDEwIEBA
IHZvaWQgQ2FudmFzMkRMYXllckNocm9taXVtOjp1cGRhdGVDb21wb3MKICAgICAgICAgY29udGV4
dC0+dGV4UGFyYW1ldGVyaShHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV8yRCwgR3JhcGhpY3ND
b250ZXh0M0Q6OlRFWFRVUkVfV1JBUF9TLCBHcmFwaGljc0NvbnRleHQzRDo6Q0xBTVBfVE9fRURH
RSk7CiAgICAgICAgIGNvbnRleHQtPnRleFBhcmFtZXRlcmkoR3JhcGhpY3NDb250ZXh0M0Q6OlRF
WFRVUkVfMkQsIEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFX1dSQVBfVCwgR3JhcGhpY3NDb250
ZXh0M0Q6OkNMQU1QX1RPX0VER0UpOwogICAgICAgICBtX3RleHR1cmVDaGFuZ2VkID0gZmFsc2U7
Ci0gICAgICAgIC8vIEZJWE1FOiBUaGUgZmluaXNoKCkgaGVyZSBpcyByZXF1aXJlZCBiZWNhdXNl
IHdlIGhhdmUgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIHRleHR1cmUgY3JlYXRlZCBpbiB0aGlzCisg
ICAgICAgIC8vIFRoZSBmbHVzaCgpIGhlcmUgaXMgcmVxdWlyZWQgYmVjYXVzZSB3ZSBoYXZlIHRv
IG1ha2Ugc3VyZSB0aGF0IHRoZSB0ZXh0dXJlIGNyZWF0ZWQgaW4gdGhpcwogICAgICAgICAvLyBj
b250ZXh0ICh0aGUgY29tcG9zaXRvciBjb250ZXh0KSBpcyBhY3R1YWxseSBjcmVhdGVkIGJ5IHRo
ZSBzZXJ2aWNlIHNpZGUgYmVmb3JlIHRoZSBjaGlsZCBjb250ZXh0Ci0gICAgICAgIC8vIGF0dGVt
cHRzIHRvIHVzZSBpdCAoaW4gcHVibGlzaFRvUGxhdGZvcm1MYXllcikuICBmaW5pc2goKSBpcyBj
dXJyZW50bHkgdGhlIG9ubHkgY2FsbCB3aXRoIHN0cm9uZwotICAgICAgICAvLyBlbm91Z2ggc2Vt
YW50aWNzIHRvIHByb21pc2UgdGhpcywgYnV0IGlzIGFjdHVhbGx5IG11Y2ggc3Ryb25nZXIuICBJ
ZGVhbGx5IHdlJ2QgZG8gc29tZXRoaW5nIGxpa2UKLSAgICAgICAgLy8gaW5zZXJ0aW5nIGEgZmVu
Y2UgaGVyZSBhbmQgd2FpdGluZyBmb3IgaXQgYmVmb3JlIHRyeWluZyB0byBwdWJsaXNoLgotICAg
ICAgICBjb250ZXh0LT5maW5pc2goKTsKKyAgICAgICAgLy8gYXR0ZW1wdHMgdG8gdXNlIGl0IChp
biBwdWJsaXNoVG9QbGF0Zm9ybUxheWVyKS4KKyAgICAgICAgY29udGV4dC0+Zmx1c2goKTsKICAg
ICB9CiAgICAgLy8gVXBkYXRlIHRoZSBjb250ZW50cyBvZiB0aGUgdGV4dHVyZSB1c2VkIGJ5IHRo
ZSBjb21wb3NpdG9yLgogICAgIGlmIChtX2NvbnRlbnRzRGlydHkpIHsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RyYXdpbmdCdWZmZXJDaHJvbWl1bS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vRHJhd2luZ0J1ZmZlckNocm9taXVtLmNwcAkocmV2aXNpb24gOTE1NzcpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EcmF3aW5nQnVmZmVyQ2hyb21pdW0u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTQsNyArMTE0LDcgQEAgdm9pZCBEcmF3aW5nQnVmZmVy
OjpwdWJsaXNoVG9QbGF0Zm9ybUxheQogewogICAgIGlmICghbV9jb250ZXh0KQogICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIAorCiAgICAgaWYgKG1fY2FsbGJhY2spCiAgICAgICAgIG1fY2FsbGJh
Y2stPndpbGxQdWJsaXNoKCk7CiAgICAgaWYgKG11bHRpc2FtcGxlKCkpCkBAIC0xMjIsOCArMTIy
LDcgQEAgdm9pZCBEcmF3aW5nQnVmZmVyOjpwdWJsaXNoVG9QbGF0Zm9ybUxheQogICAgIHVuc2ln
bmVkIHBhcmVudFRleHR1cmUgPSBtX3BsYXRmb3JtTGF5ZXItPnRleHR1cmVJZCgpOwogICAgIC8v
IFdlIGRvIHRoZSBjb3B5IGluIHRoZSBjYW52YXMnIChjaGlsZCkgY29udGV4dCBzbyB0aGF0IGl0
IGV4ZWN1dGVzIGluIHRoZSBjb3JyZWN0IG9yZGVyIHJlbGF0aXZlIHRvCiAgICAgLy8gb3RoZXIg
Y29tbWFuZHMgaW4gdGhlIGNoaWxkIGNvbnRleHQuIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBwYXJl
bnQgdGV4dHVyZSBhbHdheXMgY29udGFpbnMgYSBjb21wbGV0ZQotICAgIC8vIGZyYW1lIGFuZCBu
b3Qgc29tZSBpbnRlcm1lZGlhdGUgcmVzdWx0LiBMYXllclJlbmRlcmVyQ2hyb21pdW0gdXNlcyBn
bFNldExhdGNoIHRvIG1ha2Ugc3VyZSB0aGUgY2hpbGQKLSAgICAvLyBjb250ZXh0IGNvbXBsZXRl
cyBiZWZvcmUgdGhlIHBhcmVudCBjb250ZXh0IGNvbnN1bWVzIHRoZSB0ZXh0dXJlLgorICAgIC8v
IGZyYW1lIGFuZCBub3Qgc29tZSBpbnRlcm1lZGlhdGUgcmVzdWx0LgogICAgIG1fY29udGV4dC0+
bWFrZUNvbnRleHRDdXJyZW50KCk7CiAjaWYgVVNFKFNLSUEpCiAgICAgaWYgKG1fZ3JDb250ZXh0
KQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRXh0ZW5z
aW9uczNEQ2hyb21pdW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9FeHRlbnNpb25zM0RDaHJvbWl1bS5oCShyZXZpc2lvbiA5MTU3NykK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0V4dGVuc2lvbnMz
RENocm9taXVtLmgJKHdvcmtpbmcgY29weSkKQEAgLTQxLDcgKzQxLDYgQEAgcHVibGljOgogICAg
IC8vICAgR0xfQ0hST01JVU1fc3RyaWN0X2F0dHJpYnMgOiBpbmRpY2F0aW5nIGEgR0wgZXJyb3Ig
aXMgZ2VuZXJhdGVkIGZvciBvdXQtb2YtYm91bmRzIGJ1ZmZlciBhY2Nlc3Nlcy4KICAgICAvLyAg
IEdMX0NIUk9NSVVNX21hcF9zdWIKICAgICAvLyAgIEdMX0NIUk9NSVVNX2NvcHlfdGV4dHVyZV90
b19wYXJlbnRfdGV4dHVyZQotICAgIC8vICAgR0xfQ0hST01JVU1fbGF0Y2gKICAgICAvLyAgIEdM
X0NIUk9NSVVNX3N3YXBidWZmZXJzX2NvbXBsZXRlX2NhbGxiYWNrCiAgICAgLy8gICBHTF9DSFJP
TUlVTV9yYXRlX2xpbWl0X29mZnNjcmVlbl9jb250ZXh0CiAKQEAgLTcyLDEyICs3MSw2IEBAIHB1
YmxpYzoKICAgICAvLyBHTF9DSFJPTUlVTV9jb3B5X3RleHR1cmVfdG9fcGFyZW50X3RleHR1cmUK
ICAgICB2b2lkIGNvcHlUZXh0dXJlVG9QYXJlbnRUZXh0dXJlQ0hST01JVU0odW5zaWduZWQgdGV4
dHVyZSwgdW5zaWduZWQgcGFyZW50VGV4dHVyZSk7CiAKLSAgICAvLyBHTF9DSFJPTUlVTV9sYXRj
aAotICAgIHZvaWQgZ2V0UGFyZW50VG9DaGlsZExhdGNoQ0hST01JVU0oR0MzRHVpbnQqIGxhdGNo
SWQpOwotICAgIHZvaWQgZ2V0Q2hpbGRUb1BhcmVudExhdGNoQ0hST01JVU0oR0MzRHVpbnQqIGxh
dGNoSWQpOwotICAgIHZvaWQgd2FpdExhdGNoQ0hST01JVU0oR0MzRHVpbnQgbGF0Y2hJZCk7Ci0g
ICAgdm9pZCBzZXRMYXRjaENIUk9NSVVNKEdDM0R1aW50IGxhdGNoSWQpOwotCiAgICAgLy8gR0xf
Q0hST01JVU1fc3dhcGJ1ZmZlcnNfY29tcGxldGVfY2FsbGJhY2sKICAgICBjbGFzcyBTd2FwQnVm
ZmVyc0NvbXBsZXRlQ2FsbGJhY2tDSFJPTUlVTSB7CiAgICAgcHVibGljOgpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVt
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCShyZXZpc2lvbiA5MTU3NykKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1
bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMiwxNCArMTMyLDEyIEBAIExheWVyUmVuZGVyZXJD
aHJvbWl1bTo6TGF5ZXJSZW5kZXJlckNocm8KICAgICAsIG1fb2Zmc2NyZWVuRnJhbWVidWZmZXJJ
ZCgwKQogICAgICwgbV9jb21wb3NpdGVPZmZzY3JlZW4oZmFsc2UpCiAgICAgLCBtX2NvbnRleHQo
Y29udGV4dCkKLSAgICAsIG1fY29udGV4dFN1cHBvcnRzTGF0Y2goZmFsc2UpCiAgICAgLCBtX2Nv
bnRleHRTdXBwb3J0c1RleHR1cmVGb3JtYXRCR1JBKGZhbHNlKQogICAgICwgbV9jb250ZXh0U3Vw
cG9ydHNSZWFkRm9ybWF0QkdSQShmYWxzZSkKICAgICAsIG1fYW5pbWF0aW5nKGZhbHNlKQogICAg
ICwgbV9kZWZhdWx0UmVuZGVyU3VyZmFjZSgwKQogewogICAgIFdlYkNvcmU6OkV4dGVuc2lvbnMz
RCogZXh0ZW5zaW9ucyA9IG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpOwotICAgIG1fY29udGV4
dFN1cHBvcnRzTGF0Y2ggPSBleHRlbnNpb25zLT5zdXBwb3J0cygiR0xfQ0hST01JVU1fbGF0Y2gi
KTsKICAgICBtX2NvbnRleHRTdXBwb3J0c01hcFN1YiA9IGV4dGVuc2lvbnMtPnN1cHBvcnRzKCJH
TF9DSFJPTUlVTV9tYXBfc3ViIik7CiAgICAgaWYgKG1fY29udGV4dFN1cHBvcnRzTWFwU3ViKQog
ICAgICAgICBleHRlbnNpb25zLT5lbnN1cmVFbmFibGVkKCJHTF9DSFJPTUlVTV9tYXBfc3ViIik7
CkBAIC0yODIsMjQgKzI4MCwxNSBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0xh
eWVycygpCiAgICAgQVNTRVJUKG1faGFyZHdhcmVDb21wb3NpdGluZyk7CiAgICAgQVNTRVJUKG1f
Y29tcHV0ZWRSZW5kZXJTdXJmYWNlTGF5ZXJMaXN0KTsKICAgICAvLyBCZWZvcmUgZHJhd0xheWVy
czoKLSAgICBpZiAoaGFyZHdhcmVDb21wb3NpdGluZygpICYmIG1fY29udGV4dFN1cHBvcnRzTGF0
Y2gpIHsKKyAgICBpZiAoaGFyZHdhcmVDb21wb3NpdGluZygpKSB7CiAgICAgICAgIC8vIEZJWE1F
OiBUaGUgbXVsdGl0aHJlYWRlZCBjb21wb3NpdG9yIGNhc2Ugd2lsbCBub3Qgd29yayBhcyBsb25n
IGFzCiAgICAgICAgIC8vIGNvcHlUZXhJbWFnZTJEIHJlc29sdmVzIHRvIHRoZSBwYXJlbnQgdGV4
dHVyZSwgYmVjYXVzZSB0aGUgbWFpbgogICAgICAgICAvLyB0aHJlYWQgY2FuIGV4ZWN1dGUgV2Vi
R0wgY2FsbHMgb24gdGhlIGNoaWxkIGNvbnRleHQgYXQgYW55IHRpbWUsCiAgICAgICAgIC8vIHBv
dGVudGlhbGx5IGNsb2JiZXJpbmcgdGhlIHBhcmVudCB0ZXh0dXJlIHRoYXQgaXMgYmVpbmcgcmVu
ZGVyZXJlZAogICAgICAgICAvLyBieSB0aGUgY29tcG9zaXRvciB0aHJlYWQuCi0gICAgICAgIEV4
dGVuc2lvbnMzRENocm9taXVtKiBwYXJlbnRFeHQgPSBzdGF0aWNfY2FzdDxFeHRlbnNpb25zM0RD
aHJvbWl1bSo+KG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpKTsKLSAgICAgICAgLy8gRm9yIGVh
Y2ggY2hpbGQgY29udGV4dDoKLSAgICAgICAgLy8gICBnbFdhaXRMYXRjaChPZmZzY3JlZW4tPkNv
bXBvc2l0b3IpOwogICAgICAgICBDaGlsZENvbnRleHRNYXA6Oml0ZXJhdG9yIGkgPSBtX2NoaWxk
Q29udGV4dHMuYmVnaW4oKTsKICAgICAgICAgZm9yICg7IGkgIT0gbV9jaGlsZENvbnRleHRzLmVu
ZCgpOyArK2kpIHsKLSAgICAgICAgICAgIEV4dGVuc2lvbnMzRENocm9taXVtKiBjaGlsZEV4dCA9
IHN0YXRpY19jYXN0PEV4dGVuc2lvbnMzRENocm9taXVtKj4oaS0+Zmlyc3QtPmdldEV4dGVuc2lv
bnMoKSk7Ci0gICAgICAgICAgICBpZiAoY2hpbGRFeHQtPmdldEdyYXBoaWNzUmVzZXRTdGF0dXNB
UkIoKSA9PSBHcmFwaGljc0NvbnRleHQzRDo6Tk9fRVJST1IpIHsKLSAgICAgICAgICAgICAgICBH
QzNEdWludCBjaGlsZFRvUGFyZW50TGF0Y2hJZDsKLSAgICAgICAgICAgICAgICBjaGlsZEV4dC0+
Z2V0Q2hpbGRUb1BhcmVudExhdGNoQ0hST01JVU0oJmNoaWxkVG9QYXJlbnRMYXRjaElkKTsKLSAg
ICAgICAgICAgICAgICBjaGlsZEV4dC0+c2V0TGF0Y2hDSFJPTUlVTShjaGlsZFRvUGFyZW50TGF0
Y2hJZCk7Ci0gICAgICAgICAgICAgICAgcGFyZW50RXh0LT53YWl0TGF0Y2hDSFJPTUlVTShjaGls
ZFRvUGFyZW50TGF0Y2hJZCk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBpLT5maXJzdC0+
Zmx1c2goKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMzA3LDIzICsyOTYsNiBAQCB2b2lkIExh
eWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0xheWVycygpCiAKICAgICBtX3RleHR1cmVNYW5hZ2Vy
LT51bnByb3RlY3RBbGxUZXh0dXJlcygpOwogCi0gICAgLy8gQWZ0ZXIgZHJhd0xheWVyczoKLSAg
ICBpZiAoaGFyZHdhcmVDb21wb3NpdGluZygpICYmIG1fY29udGV4dFN1cHBvcnRzTGF0Y2gpIHsK
LSAgICAgICAgRXh0ZW5zaW9uczNEQ2hyb21pdW0qIHBhcmVudEV4dCA9IHN0YXRpY19jYXN0PEV4
dGVuc2lvbnMzRENocm9taXVtKj4obV9jb250ZXh0LT5nZXRFeHRlbnNpb25zKCkpOwotICAgICAg
ICAvLyBGb3IgZWFjaCBjaGlsZCBjb250ZXh0OgotICAgICAgICAvLyAgIGdsU2V0TGF0Y2goQ29t
cG9zaXRvci0+T2Zmc2NyZWVuKTsKLSAgICAgICAgQ2hpbGRDb250ZXh0TWFwOjppdGVyYXRvciBp
ID0gbV9jaGlsZENvbnRleHRzLmJlZ2luKCk7Ci0gICAgICAgIGZvciAoOyBpICE9IG1fY2hpbGRD
b250ZXh0cy5lbmQoKTsgKytpKSB7Ci0gICAgICAgICAgICBFeHRlbnNpb25zM0RDaHJvbWl1bSog
Y2hpbGRFeHQgPSBzdGF0aWNfY2FzdDxFeHRlbnNpb25zM0RDaHJvbWl1bSo+KGktPmZpcnN0LT5n
ZXRFeHRlbnNpb25zKCkpOwotICAgICAgICAgICAgaWYgKGNoaWxkRXh0LT5nZXRHcmFwaGljc1Jl
c2V0U3RhdHVzQVJCKCkgPT0gR3JhcGhpY3NDb250ZXh0M0Q6Ok5PX0VSUk9SKSB7Ci0gICAgICAg
ICAgICAgICAgR0MzRHVpbnQgcGFyZW50VG9DaGlsZExhdGNoSWQ7Ci0gICAgICAgICAgICAgICAg
Y2hpbGRFeHQtPmdldFBhcmVudFRvQ2hpbGRMYXRjaENIUk9NSVVNKCZwYXJlbnRUb0NoaWxkTGF0
Y2hJZCk7Ci0gICAgICAgICAgICAgICAgcGFyZW50RXh0LT5zZXRMYXRjaENIUk9NSVVNKHBhcmVu
dFRvQ2hpbGRMYXRjaElkKTsKLSAgICAgICAgICAgICAgICBjaGlsZEV4dC0+d2FpdExhdGNoQ0hS
T01JVU0ocGFyZW50VG9DaGlsZExhdGNoSWQpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0g
ICAgfQotCiAgICAgaWYgKGlzQ29tcG9zaXRpbmdPZmZzY3JlZW4oKSkKICAgICAgICAgY29weU9m
ZnNjcmVlblRleHR1cmVUb0Rpc3BsYXkoKTsKIH0KQEAgLTEzMjAsOSArMTI5Miw2IEBAIFN0cmlu
ZyBMYXllclJlbmRlcmVyQ2hyb21pdW06OmxheWVyVHJlZUEKIAogdm9pZCBMYXllclJlbmRlcmVy
Q2hyb21pdW06OmFkZENoaWxkQ29udGV4dChHcmFwaGljc0NvbnRleHQzRCogY3R4KQogewotICAg
IGlmICghY3R4LT5nZXRFeHRlbnNpb25zKCktPnN1cHBvcnRzKCJHTF9DSFJPTUlVTV9sYXRjaCIp
KQotICAgICAgICByZXR1cm47Ci0KICAgICAvLyBUaGlzIGlzIGEgcmVmLWNvdW50aW5nIG1hcCwg
YmVjYXVzZSBzb21lIGNvbnRleHRzIGFyZSBzaGFyZWQgYnkgbXVsdGlwbGUKICAgICAvLyBsYXll
cnMgKHNwZWNpZmljYWxseSwgQ2FudmFzMkRMYXllckNocm9taXVtKS4KIApAQCAtMTM0NSw5ICsx
MzE0LDYgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmFkZENoaWxkQ29udAogCiB2b2lk
IExheWVyUmVuZGVyZXJDaHJvbWl1bTo6cmVtb3ZlQ2hpbGRDb250ZXh0KEdyYXBoaWNzQ29udGV4
dDNEKiBjdHgpCiB7Ci0gICAgaWYgKCFjdHgtPmdldEV4dGVuc2lvbnMoKS0+c3VwcG9ydHMoIkdM
X0NIUk9NSVVNX2xhdGNoIikpCi0gICAgICAgIHJldHVybjsKLQogICAgIENoaWxkQ29udGV4dE1h
cDo6aXRlcmF0b3IgaSA9IG1fY2hpbGRDb250ZXh0cy5maW5kKGN0eCk7CiAgICAgaWYgKGkgIT0g
bV9jaGlsZENvbnRleHRzLmVuZCgpKSB7CiAgICAgICAgIGlmICgtLWktPnNlY29uZCA8PSAwKSB7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJl
bmRlcmVyQ2hyb21pdW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAkocmV2aXNpb24gOTE1Nzcp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRl
cmVyQ2hyb21pdW0uaAkod29ya2luZyBjb3B5KQpAQCAtMjU0LDcgKzI1NCw2IEBAIHByaXZhdGU6
CiAKICAgICBDaGlsZENvbnRleHRNYXAgbV9jaGlsZENvbnRleHRzOwogCi0gICAgYm9vbCBtX2Nv
bnRleHRTdXBwb3J0c0xhdGNoOwogICAgIGJvb2wgbV9jb250ZXh0U3VwcG9ydHNNYXBTdWI7CiAg
ICAgYm9vbCBtX2NvbnRleHRTdXBwb3J0c1RleHR1cmVGb3JtYXRCR1JBOwogICAgIGJvb2wgbV9j
b250ZXh0U3VwcG9ydHNSZWFkRm9ybWF0QkdSQTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCShyZXZpc2lvbiA5MTU5NikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDctMjIgIEFsIFBhdHJpY2sg
IDxhcGF0cmlja0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZlZCBzdXBwb3J0IGZvciB0
aGUgR0xfbGF0Y2hfQ0hST01JVU0gZXh0ZW5zaW9uIHdoaWNoIENocm9taXVtIG5vIGxvbmdlciBz
dXBwb3J0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY1MDQzCisKKyAgICAgICAgKiBwdWJsaWMvV2ViR3JhcGhpY3NDb250ZXh0M0QuaDoKKyAgICAg
ICAgKiBzcmMvRXh0ZW5zaW9uczNEQ2hyb21pdW0uY3BwOgorICAgICAgICAqIHNyYy9HcmFwaGlj
c0NvbnRleHQzRENocm9taXVtLmNwcDoKKyAgICAgICAgKiBzcmMvR3JhcGhpY3NDb250ZXh0M0RJ
bnRlcm5hbC5oOgorCiAyMDExLTA3LTIyICBBbmRyZXcgU2NoZXJrdXMgIDxzY2hlcmt1c0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIHN1cmZhY2VUeXBlKCkgYW5kIHRleHR1cmUoKSBt
ZXRob2RzIGZyb20gQ2hyb21pdW0gdmlkZW8gZnJhbWUgY2xhc3Nlcy4KSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkdyYXBoaWNzQ29udGV4dDNELmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViR3JhcGhpY3NDb250ZXh0M0QuaAko
cmV2aXNpb24gOTE1NzcpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJHcmFw
aGljc0NvbnRleHQzRC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzgsMTIgKzE3OCw2IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgYmxpdEZyYW1lYnVmZmVyQ0hST01JVU0oV0dDM0RpbnQgc3Jj
WDAsIFdHQzNEaW50IHNyY1kwLCBXR0MzRGludCBzcmNYMSwgV0dDM0RpbnQgc3JjWTEsIFdHQzNE
aW50IGRzdFgwLCBXR0MzRGludCBkc3RZMCwgV0dDM0RpbnQgZHN0WDEsIFdHQzNEaW50IGRzdFkx
LCBXR0MzRGJpdGZpZWxkIG1hc2ssIFdHQzNEZW51bSBmaWx0ZXIpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgcmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlQ0hST01JVU0oV0dDM0RlbnVtIHRh
cmdldCwgV0dDM0RzaXplaSBzYW1wbGVzLCBXR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQsIFdHQzNE
c2l6ZWkgd2lkdGgsIFdHQzNEc2l6ZWkgaGVpZ2h0KSA9IDA7CiAKLSAgICAvLyBHTF9DSFJPTUlV
TV9sYXRjaAotICAgIHZpcnR1YWwgdm9pZCBnZXRQYXJlbnRUb0NoaWxkTGF0Y2hDSFJPTUlVTShX
R0MzRHVpbnQqIGxhdGNoSWQpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZ2V0Q2hpbGRUb1BhcmVu
dExhdGNoQ0hST01JVU0oV0dDM0R1aW50KiBsYXRjaElkKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lk
IHdhaXRMYXRjaENIUk9NSVVNKFdHQzNEdWludCBsYXRjaElkKSA9IDA7Ci0gICAgdmlydHVhbCB2
b2lkIHNldExhdGNoQ0hST01JVU0oV0dDM0R1aW50IGxhdGNoSWQpID0gMDsKLQogICAgIC8vIEdM
X0NIUk9NSVVNX3N3YXBidWZmZXJzX2NvbXBsZXRlX2NhbGxiYWNrCiAgICAgdmlydHVhbCB2b2lk
IHNldFN3YXBCdWZmZXJzQ29tcGxldGVDYWxsYmFja0NIUk9NSVVNKFdlYkdyYXBoaWNzU3dhcEJ1
ZmZlcnNDb21wbGV0ZUNhbGxiYWNrQ0hST01JVU0qIGNhbGxiYWNrKSB7IH0KIApJbmRleDogU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRXh0ZW5zaW9uczNEQ2hyb21pdW0uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0V4dGVuc2lvbnMzRENocm9taXVtLmNw
cAkocmV2aXNpb24gOTE1NzcpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FeHRlbnNp
b25zM0RDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMiwyNiArMTAyLDYgQEAgdm9p
ZCBFeHRlbnNpb25zM0RDaHJvbWl1bTo6Y29weVRleHR1cmVUbwogICAgIG1faW50ZXJuYWwtPmNv
cHlUZXh0dXJlVG9QYXJlbnRUZXh0dXJlQ0hST01JVU0odGV4dHVyZSwgcGFyZW50VGV4dHVyZSk7
CiB9CiAKLXZvaWQgRXh0ZW5zaW9uczNEQ2hyb21pdW06OmdldFBhcmVudFRvQ2hpbGRMYXRjaENI
Uk9NSVVNKEdDM0R1aW50KiBsYXRjaElkKQotewotICAgIG1faW50ZXJuYWwtPmdldFBhcmVudFRv
Q2hpbGRMYXRjaENIUk9NSVVNKGxhdGNoSWQpOwotfQotCi12b2lkIEV4dGVuc2lvbnMzRENocm9t
aXVtOjpnZXRDaGlsZFRvUGFyZW50TGF0Y2hDSFJPTUlVTShHQzNEdWludCogbGF0Y2hJZCkKLXsK
LSAgICBtX2ludGVybmFsLT5nZXRDaGlsZFRvUGFyZW50TGF0Y2hDSFJPTUlVTShsYXRjaElkKTsK
LX0KLQotdm9pZCBFeHRlbnNpb25zM0RDaHJvbWl1bTo6d2FpdExhdGNoQ0hST01JVU0oR0MzRHVp
bnQgbGF0Y2hJZCkKLXsKLSAgICBtX2ludGVybmFsLT53YWl0TGF0Y2hDSFJPTUlVTShsYXRjaElk
KTsKLX0KLQotdm9pZCBFeHRlbnNpb25zM0RDaHJvbWl1bTo6c2V0TGF0Y2hDSFJPTUlVTShHQzNE
dWludCBsYXRjaElkKQotewotICAgIG1faW50ZXJuYWwtPnNldExhdGNoQ0hST01JVU0obGF0Y2hJ
ZCk7Ci19Ci0KIFBsYXRmb3JtM0RPYmplY3QgRXh0ZW5zaW9uczNEQ2hyb21pdW06OmNyZWF0ZVZl
cnRleEFycmF5T0VTKCkKIHsKICAgICByZXR1cm4gMDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEQ2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEQ2hyb21pdW0uY3BwCShy
ZXZpc2lvbiA5MTU3NykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29u
dGV4dDNEQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NDAsMTAgKzg0MCw2IEBAIHZv
aWQgR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6Y29weVRleHQKIAogREVMRUdBVEVfVE9fSU1Q
TF8xMChibGl0RnJhbWVidWZmZXJDSFJPTUlVTSwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwg
R0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGJpdGZpZWxk
LCBHQzNEZW51bSkKIERFTEVHQVRFX1RPX0lNUExfNShyZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlz
YW1wbGVDSFJPTUlVTSwgR0MzRGVudW0sIEdDM0RzaXplaSwgR0MzRGVudW0sIEdDM0RzaXplaSwg
R0MzRHNpemVpKQotREVMRUdBVEVfVE9fSU1QTF8xKGdldFBhcmVudFRvQ2hpbGRMYXRjaENIUk9N
SVVNLCBHQzNEdWludCopCi1ERUxFR0FURV9UT19JTVBMXzEoZ2V0Q2hpbGRUb1BhcmVudExhdGNo
Q0hST01JVU0sIEdDM0R1aW50KikKLURFTEVHQVRFX1RPX0lNUExfMSh3YWl0TGF0Y2hDSFJPTUlV
TSwgR0MzRHVpbnQpCi1ERUxFR0FURV9UT19JTVBMXzEoc2V0TGF0Y2hDSFJPTUlVTSwgR0MzRHVp
bnQpCiAKIERFTEVHQVRFX1RPX0lNUEwocmF0ZUxpbWl0T2Zmc2NyZWVuQ29udGV4dENIUk9NSVVN
KQogREVMRUdBVEVfVE9fSU1QTF9SKGdldEdyYXBoaWNzUmVzZXRTdGF0dXNBUkIsIEdDM0RlbnVt
KQpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RJbnRl
cm5hbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNz
Q29udGV4dDNESW50ZXJuYWwuaAkocmV2aXNpb24gOTE1NzcpCisrKyBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzREludGVybmFsLmgJKHdvcmtpbmcgY29weSkKQEAg
LTI4MCwxMiArMjgwLDYgQEAgcHVibGljOgogICAgIHZvaWQgYmxpdEZyYW1lYnVmZmVyQ0hST01J
VU0oR0MzRGludCBzcmNYMCwgR0MzRGludCBzcmNZMCwgR0MzRGludCBzcmNYMSwgR0MzRGludCBz
cmNZMSwgR0MzRGludCBkc3RYMCwgR0MzRGludCBkc3RZMCwgR0MzRGludCBkc3RYMSwgR0MzRGlu
dCBkc3RZMSwgR0MzRGJpdGZpZWxkIG1hc2ssIEdDM0RlbnVtIGZpbHRlcik7CiAgICAgdm9pZCBy
ZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGVDSFJPTUlVTShHQzNEZW51bSB0YXJnZXQsIEdD
M0RzaXplaSBzYW1wbGVzLCBHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdpZHRo
LCBHQzNEc2l6ZWkgaGVpZ2h0KTsKIAotICAgIC8vIEdMX0NIUk9NSVVNX2xhdGNoCi0gICAgdm9p
ZCBnZXRQYXJlbnRUb0NoaWxkTGF0Y2hDSFJPTUlVTShHQzNEdWludCogbGF0Y2hJZCk7Ci0gICAg
dm9pZCBnZXRDaGlsZFRvUGFyZW50TGF0Y2hDSFJPTUlVTShHQzNEdWludCogbGF0Y2hJZCk7Ci0g
ICAgdm9pZCB3YWl0TGF0Y2hDSFJPTUlVTShHQzNEdWludCBsYXRjaElkKTsKLSAgICB2b2lkIHNl
dExhdGNoQ0hST01JVU0oR0MzRHVpbnQgbGF0Y2hJZCk7Ci0KICAgICAvLyBHTF9DSFJPTUlVTV9z
d2FwYnVmZmVyc19jb21wbGV0ZV9jYWxsYmFjawogICAgIHZvaWQgc2V0U3dhcEJ1ZmZlcnNDb21w
bGV0ZUNhbGxiYWNrQ0hST01JVU0oUGFzc093blB0cjxFeHRlbnNpb25zM0RDaHJvbWl1bTo6U3dh
cEJ1ZmZlcnNDb21wbGV0ZUNhbGxiYWNrQ0hST01JVU0+KTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101953</attachid>
            <date>2011-07-25 17:47:37 -0700</date>
            <delta_ts>2011-07-25 18:18:20 -0700</delta_ts>
            <desc>Fixed ChangeLog files.</desc>
            <filename>nolatch.patch</filename>
            <type>text/plain</type>
            <size>14954</size>
            <attacher name="Al">apatrick</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkxNTk2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDctMjIgIEFsIFBhdHJp
Y2sgIDxhcGF0cmlja0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZlZCBzdXBwb3J0IGZv
ciB0aGUgR0xfbGF0Y2hfQ0hST01JVU0gZXh0ZW5zaW9uIHdoaWNoIENocm9taXVtIG5vIGxvbmdl
ciBzdXBwb3J0cy4KKyAgICAgICAgUmVwbGFjZWQgY2FsbHMgdG8gU2V0TGF0Y2ggd2l0aCBjYWxs
cyB0byBGbHVzaCBzaW5jZSBGbHVzaCBub3cgaGFzIGJhcnJpZXIgc2VtYW50aWNzIGluIENocm9t
aXVtLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUw
NDMKKworICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NhbnZhczJETGF5ZXJDaHJvbWl1bS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYW52YXMyRExheWVyQ2hyb21pdW06OnVwZGF0ZUNvbXBvc2l0b3JSZXNv
dXJjZXMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RyYXdpbmdCdWZm
ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEcmF3aW5nQnVmZmVyOjpwdWJsaXNo
VG9QbGF0Zm9ybUxheWVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9F
eHRlbnNpb25zM0RDaHJvbWl1bS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJl
bmRlcmVyQ2hyb21pdW06OkxheWVyUmVuZGVyZXJDaHJvbWl1bSk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdMYXllcnMpOgorICAgICAgICAoV2ViQ29yZTo6
TGF5ZXJSZW5kZXJlckNocm9taXVtOjphZGRDaGlsZENvbnRleHQpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpyZW1vdmVDaGlsZENvbnRleHQpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oOgorCiAy
MDExLTA3LTIyICBWaWV0LVRydW5nIEx1dSAgPHZpZXR0cnVuZ2x1dUBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgSW1wcm92ZSAoaS5lLiwgc3BlZWQgdXApIC5neXAoaSkgZmlsZXMgZm9yIENocm9t
aXVtCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9DYW52
YXMyRExheWVyQ2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0NhbnZhczJETGF5ZXJDaHJvbWl1bS5jcHAJKHJldmlzaW9u
IDkxNTc3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ2Fu
dmFzMkRMYXllckNocm9taXVtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODgsMTIgKzg4LDEwIEBA
IHZvaWQgQ2FudmFzMkRMYXllckNocm9taXVtOjp1cGRhdGVDb21wb3MKICAgICAgICAgY29udGV4
dC0+dGV4UGFyYW1ldGVyaShHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV8yRCwgR3JhcGhpY3ND
b250ZXh0M0Q6OlRFWFRVUkVfV1JBUF9TLCBHcmFwaGljc0NvbnRleHQzRDo6Q0xBTVBfVE9fRURH
RSk7CiAgICAgICAgIGNvbnRleHQtPnRleFBhcmFtZXRlcmkoR3JhcGhpY3NDb250ZXh0M0Q6OlRF
WFRVUkVfMkQsIEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFX1dSQVBfVCwgR3JhcGhpY3NDb250
ZXh0M0Q6OkNMQU1QX1RPX0VER0UpOwogICAgICAgICBtX3RleHR1cmVDaGFuZ2VkID0gZmFsc2U7
Ci0gICAgICAgIC8vIEZJWE1FOiBUaGUgZmluaXNoKCkgaGVyZSBpcyByZXF1aXJlZCBiZWNhdXNl
IHdlIGhhdmUgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIHRleHR1cmUgY3JlYXRlZCBpbiB0aGlzCisg
ICAgICAgIC8vIFRoZSBmbHVzaCgpIGhlcmUgaXMgcmVxdWlyZWQgYmVjYXVzZSB3ZSBoYXZlIHRv
IG1ha2Ugc3VyZSB0aGF0IHRoZSB0ZXh0dXJlIGNyZWF0ZWQgaW4gdGhpcwogICAgICAgICAvLyBj
b250ZXh0ICh0aGUgY29tcG9zaXRvciBjb250ZXh0KSBpcyBhY3R1YWxseSBjcmVhdGVkIGJ5IHRo
ZSBzZXJ2aWNlIHNpZGUgYmVmb3JlIHRoZSBjaGlsZCBjb250ZXh0Ci0gICAgICAgIC8vIGF0dGVt
cHRzIHRvIHVzZSBpdCAoaW4gcHVibGlzaFRvUGxhdGZvcm1MYXllcikuICBmaW5pc2goKSBpcyBj
dXJyZW50bHkgdGhlIG9ubHkgY2FsbCB3aXRoIHN0cm9uZwotICAgICAgICAvLyBlbm91Z2ggc2Vt
YW50aWNzIHRvIHByb21pc2UgdGhpcywgYnV0IGlzIGFjdHVhbGx5IG11Y2ggc3Ryb25nZXIuICBJ
ZGVhbGx5IHdlJ2QgZG8gc29tZXRoaW5nIGxpa2UKLSAgICAgICAgLy8gaW5zZXJ0aW5nIGEgZmVu
Y2UgaGVyZSBhbmQgd2FpdGluZyBmb3IgaXQgYmVmb3JlIHRyeWluZyB0byBwdWJsaXNoLgotICAg
ICAgICBjb250ZXh0LT5maW5pc2goKTsKKyAgICAgICAgLy8gYXR0ZW1wdHMgdG8gdXNlIGl0IChp
biBwdWJsaXNoVG9QbGF0Zm9ybUxheWVyKS4KKyAgICAgICAgY29udGV4dC0+Zmx1c2goKTsKICAg
ICB9CiAgICAgLy8gVXBkYXRlIHRoZSBjb250ZW50cyBvZiB0aGUgdGV4dHVyZSB1c2VkIGJ5IHRo
ZSBjb21wb3NpdG9yLgogICAgIGlmIChtX2NvbnRlbnRzRGlydHkpIHsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RyYXdpbmdCdWZmZXJDaHJvbWl1bS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vRHJhd2luZ0J1ZmZlckNocm9taXVtLmNwcAkocmV2aXNpb24gOTE1NzcpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EcmF3aW5nQnVmZmVyQ2hyb21pdW0u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTQsNyArMTE0LDcgQEAgdm9pZCBEcmF3aW5nQnVmZmVy
OjpwdWJsaXNoVG9QbGF0Zm9ybUxheQogewogICAgIGlmICghbV9jb250ZXh0KQogICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIAorCiAgICAgaWYgKG1fY2FsbGJhY2spCiAgICAgICAgIG1fY2FsbGJh
Y2stPndpbGxQdWJsaXNoKCk7CiAgICAgaWYgKG11bHRpc2FtcGxlKCkpCkBAIC0xMjIsOCArMTIy
LDcgQEAgdm9pZCBEcmF3aW5nQnVmZmVyOjpwdWJsaXNoVG9QbGF0Zm9ybUxheQogICAgIHVuc2ln
bmVkIHBhcmVudFRleHR1cmUgPSBtX3BsYXRmb3JtTGF5ZXItPnRleHR1cmVJZCgpOwogICAgIC8v
IFdlIGRvIHRoZSBjb3B5IGluIHRoZSBjYW52YXMnIChjaGlsZCkgY29udGV4dCBzbyB0aGF0IGl0
IGV4ZWN1dGVzIGluIHRoZSBjb3JyZWN0IG9yZGVyIHJlbGF0aXZlIHRvCiAgICAgLy8gb3RoZXIg
Y29tbWFuZHMgaW4gdGhlIGNoaWxkIGNvbnRleHQuIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBwYXJl
bnQgdGV4dHVyZSBhbHdheXMgY29udGFpbnMgYSBjb21wbGV0ZQotICAgIC8vIGZyYW1lIGFuZCBu
b3Qgc29tZSBpbnRlcm1lZGlhdGUgcmVzdWx0LiBMYXllclJlbmRlcmVyQ2hyb21pdW0gdXNlcyBn
bFNldExhdGNoIHRvIG1ha2Ugc3VyZSB0aGUgY2hpbGQKLSAgICAvLyBjb250ZXh0IGNvbXBsZXRl
cyBiZWZvcmUgdGhlIHBhcmVudCBjb250ZXh0IGNvbnN1bWVzIHRoZSB0ZXh0dXJlLgorICAgIC8v
IGZyYW1lIGFuZCBub3Qgc29tZSBpbnRlcm1lZGlhdGUgcmVzdWx0LgogICAgIG1fY29udGV4dC0+
bWFrZUNvbnRleHRDdXJyZW50KCk7CiAjaWYgVVNFKFNLSUEpCiAgICAgaWYgKG1fZ3JDb250ZXh0
KQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRXh0ZW5z
aW9uczNEQ2hyb21pdW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9FeHRlbnNpb25zM0RDaHJvbWl1bS5oCShyZXZpc2lvbiA5MTU3NykK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0V4dGVuc2lvbnMz
RENocm9taXVtLmgJKHdvcmtpbmcgY29weSkKQEAgLTQxLDcgKzQxLDYgQEAgcHVibGljOgogICAg
IC8vICAgR0xfQ0hST01JVU1fc3RyaWN0X2F0dHJpYnMgOiBpbmRpY2F0aW5nIGEgR0wgZXJyb3Ig
aXMgZ2VuZXJhdGVkIGZvciBvdXQtb2YtYm91bmRzIGJ1ZmZlciBhY2Nlc3Nlcy4KICAgICAvLyAg
IEdMX0NIUk9NSVVNX21hcF9zdWIKICAgICAvLyAgIEdMX0NIUk9NSVVNX2NvcHlfdGV4dHVyZV90
b19wYXJlbnRfdGV4dHVyZQotICAgIC8vICAgR0xfQ0hST01JVU1fbGF0Y2gKICAgICAvLyAgIEdM
X0NIUk9NSVVNX3N3YXBidWZmZXJzX2NvbXBsZXRlX2NhbGxiYWNrCiAgICAgLy8gICBHTF9DSFJP
TUlVTV9yYXRlX2xpbWl0X29mZnNjcmVlbl9jb250ZXh0CiAKQEAgLTcyLDEyICs3MSw2IEBAIHB1
YmxpYzoKICAgICAvLyBHTF9DSFJPTUlVTV9jb3B5X3RleHR1cmVfdG9fcGFyZW50X3RleHR1cmUK
ICAgICB2b2lkIGNvcHlUZXh0dXJlVG9QYXJlbnRUZXh0dXJlQ0hST01JVU0odW5zaWduZWQgdGV4
dHVyZSwgdW5zaWduZWQgcGFyZW50VGV4dHVyZSk7CiAKLSAgICAvLyBHTF9DSFJPTUlVTV9sYXRj
aAotICAgIHZvaWQgZ2V0UGFyZW50VG9DaGlsZExhdGNoQ0hST01JVU0oR0MzRHVpbnQqIGxhdGNo
SWQpOwotICAgIHZvaWQgZ2V0Q2hpbGRUb1BhcmVudExhdGNoQ0hST01JVU0oR0MzRHVpbnQqIGxh
dGNoSWQpOwotICAgIHZvaWQgd2FpdExhdGNoQ0hST01JVU0oR0MzRHVpbnQgbGF0Y2hJZCk7Ci0g
ICAgdm9pZCBzZXRMYXRjaENIUk9NSVVNKEdDM0R1aW50IGxhdGNoSWQpOwotCiAgICAgLy8gR0xf
Q0hST01JVU1fc3dhcGJ1ZmZlcnNfY29tcGxldGVfY2FsbGJhY2sKICAgICBjbGFzcyBTd2FwQnVm
ZmVyc0NvbXBsZXRlQ2FsbGJhY2tDSFJPTUlVTSB7CiAgICAgcHVibGljOgpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVt
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCShyZXZpc2lvbiA5MTU3NykKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1
bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMiwxNCArMTMyLDEyIEBAIExheWVyUmVuZGVyZXJD
aHJvbWl1bTo6TGF5ZXJSZW5kZXJlckNocm8KICAgICAsIG1fb2Zmc2NyZWVuRnJhbWVidWZmZXJJ
ZCgwKQogICAgICwgbV9jb21wb3NpdGVPZmZzY3JlZW4oZmFsc2UpCiAgICAgLCBtX2NvbnRleHQo
Y29udGV4dCkKLSAgICAsIG1fY29udGV4dFN1cHBvcnRzTGF0Y2goZmFsc2UpCiAgICAgLCBtX2Nv
bnRleHRTdXBwb3J0c1RleHR1cmVGb3JtYXRCR1JBKGZhbHNlKQogICAgICwgbV9jb250ZXh0U3Vw
cG9ydHNSZWFkRm9ybWF0QkdSQShmYWxzZSkKICAgICAsIG1fYW5pbWF0aW5nKGZhbHNlKQogICAg
ICwgbV9kZWZhdWx0UmVuZGVyU3VyZmFjZSgwKQogewogICAgIFdlYkNvcmU6OkV4dGVuc2lvbnMz
RCogZXh0ZW5zaW9ucyA9IG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpOwotICAgIG1fY29udGV4
dFN1cHBvcnRzTGF0Y2ggPSBleHRlbnNpb25zLT5zdXBwb3J0cygiR0xfQ0hST01JVU1fbGF0Y2gi
KTsKICAgICBtX2NvbnRleHRTdXBwb3J0c01hcFN1YiA9IGV4dGVuc2lvbnMtPnN1cHBvcnRzKCJH
TF9DSFJPTUlVTV9tYXBfc3ViIik7CiAgICAgaWYgKG1fY29udGV4dFN1cHBvcnRzTWFwU3ViKQog
ICAgICAgICBleHRlbnNpb25zLT5lbnN1cmVFbmFibGVkKCJHTF9DSFJPTUlVTV9tYXBfc3ViIik7
CkBAIC0yODIsMjQgKzI4MCwxNSBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0xh
eWVycygpCiAgICAgQVNTRVJUKG1faGFyZHdhcmVDb21wb3NpdGluZyk7CiAgICAgQVNTRVJUKG1f
Y29tcHV0ZWRSZW5kZXJTdXJmYWNlTGF5ZXJMaXN0KTsKICAgICAvLyBCZWZvcmUgZHJhd0xheWVy
czoKLSAgICBpZiAoaGFyZHdhcmVDb21wb3NpdGluZygpICYmIG1fY29udGV4dFN1cHBvcnRzTGF0
Y2gpIHsKKyAgICBpZiAoaGFyZHdhcmVDb21wb3NpdGluZygpKSB7CiAgICAgICAgIC8vIEZJWE1F
OiBUaGUgbXVsdGl0aHJlYWRlZCBjb21wb3NpdG9yIGNhc2Ugd2lsbCBub3Qgd29yayBhcyBsb25n
IGFzCiAgICAgICAgIC8vIGNvcHlUZXhJbWFnZTJEIHJlc29sdmVzIHRvIHRoZSBwYXJlbnQgdGV4
dHVyZSwgYmVjYXVzZSB0aGUgbWFpbgogICAgICAgICAvLyB0aHJlYWQgY2FuIGV4ZWN1dGUgV2Vi
R0wgY2FsbHMgb24gdGhlIGNoaWxkIGNvbnRleHQgYXQgYW55IHRpbWUsCiAgICAgICAgIC8vIHBv
dGVudGlhbGx5IGNsb2JiZXJpbmcgdGhlIHBhcmVudCB0ZXh0dXJlIHRoYXQgaXMgYmVpbmcgcmVu
ZGVyZXJlZAogICAgICAgICAvLyBieSB0aGUgY29tcG9zaXRvciB0aHJlYWQuCi0gICAgICAgIEV4
dGVuc2lvbnMzRENocm9taXVtKiBwYXJlbnRFeHQgPSBzdGF0aWNfY2FzdDxFeHRlbnNpb25zM0RD
aHJvbWl1bSo+KG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpKTsKLSAgICAgICAgLy8gRm9yIGVh
Y2ggY2hpbGQgY29udGV4dDoKLSAgICAgICAgLy8gICBnbFdhaXRMYXRjaChPZmZzY3JlZW4tPkNv
bXBvc2l0b3IpOwogICAgICAgICBDaGlsZENvbnRleHRNYXA6Oml0ZXJhdG9yIGkgPSBtX2NoaWxk
Q29udGV4dHMuYmVnaW4oKTsKICAgICAgICAgZm9yICg7IGkgIT0gbV9jaGlsZENvbnRleHRzLmVu
ZCgpOyArK2kpIHsKLSAgICAgICAgICAgIEV4dGVuc2lvbnMzRENocm9taXVtKiBjaGlsZEV4dCA9
IHN0YXRpY19jYXN0PEV4dGVuc2lvbnMzRENocm9taXVtKj4oaS0+Zmlyc3QtPmdldEV4dGVuc2lv
bnMoKSk7Ci0gICAgICAgICAgICBpZiAoY2hpbGRFeHQtPmdldEdyYXBoaWNzUmVzZXRTdGF0dXNB
UkIoKSA9PSBHcmFwaGljc0NvbnRleHQzRDo6Tk9fRVJST1IpIHsKLSAgICAgICAgICAgICAgICBH
QzNEdWludCBjaGlsZFRvUGFyZW50TGF0Y2hJZDsKLSAgICAgICAgICAgICAgICBjaGlsZEV4dC0+
Z2V0Q2hpbGRUb1BhcmVudExhdGNoQ0hST01JVU0oJmNoaWxkVG9QYXJlbnRMYXRjaElkKTsKLSAg
ICAgICAgICAgICAgICBjaGlsZEV4dC0+c2V0TGF0Y2hDSFJPTUlVTShjaGlsZFRvUGFyZW50TGF0
Y2hJZCk7Ci0gICAgICAgICAgICAgICAgcGFyZW50RXh0LT53YWl0TGF0Y2hDSFJPTUlVTShjaGls
ZFRvUGFyZW50TGF0Y2hJZCk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBpLT5maXJzdC0+
Zmx1c2goKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMzA3LDIzICsyOTYsNiBAQCB2b2lkIExh
eWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0xheWVycygpCiAKICAgICBtX3RleHR1cmVNYW5hZ2Vy
LT51bnByb3RlY3RBbGxUZXh0dXJlcygpOwogCi0gICAgLy8gQWZ0ZXIgZHJhd0xheWVyczoKLSAg
ICBpZiAoaGFyZHdhcmVDb21wb3NpdGluZygpICYmIG1fY29udGV4dFN1cHBvcnRzTGF0Y2gpIHsK
LSAgICAgICAgRXh0ZW5zaW9uczNEQ2hyb21pdW0qIHBhcmVudEV4dCA9IHN0YXRpY19jYXN0PEV4
dGVuc2lvbnMzRENocm9taXVtKj4obV9jb250ZXh0LT5nZXRFeHRlbnNpb25zKCkpOwotICAgICAg
ICAvLyBGb3IgZWFjaCBjaGlsZCBjb250ZXh0OgotICAgICAgICAvLyAgIGdsU2V0TGF0Y2goQ29t
cG9zaXRvci0+T2Zmc2NyZWVuKTsKLSAgICAgICAgQ2hpbGRDb250ZXh0TWFwOjppdGVyYXRvciBp
ID0gbV9jaGlsZENvbnRleHRzLmJlZ2luKCk7Ci0gICAgICAgIGZvciAoOyBpICE9IG1fY2hpbGRD
b250ZXh0cy5lbmQoKTsgKytpKSB7Ci0gICAgICAgICAgICBFeHRlbnNpb25zM0RDaHJvbWl1bSog
Y2hpbGRFeHQgPSBzdGF0aWNfY2FzdDxFeHRlbnNpb25zM0RDaHJvbWl1bSo+KGktPmZpcnN0LT5n
ZXRFeHRlbnNpb25zKCkpOwotICAgICAgICAgICAgaWYgKGNoaWxkRXh0LT5nZXRHcmFwaGljc1Jl
c2V0U3RhdHVzQVJCKCkgPT0gR3JhcGhpY3NDb250ZXh0M0Q6Ok5PX0VSUk9SKSB7Ci0gICAgICAg
ICAgICAgICAgR0MzRHVpbnQgcGFyZW50VG9DaGlsZExhdGNoSWQ7Ci0gICAgICAgICAgICAgICAg
Y2hpbGRFeHQtPmdldFBhcmVudFRvQ2hpbGRMYXRjaENIUk9NSVVNKCZwYXJlbnRUb0NoaWxkTGF0
Y2hJZCk7Ci0gICAgICAgICAgICAgICAgcGFyZW50RXh0LT5zZXRMYXRjaENIUk9NSVVNKHBhcmVu
dFRvQ2hpbGRMYXRjaElkKTsKLSAgICAgICAgICAgICAgICBjaGlsZEV4dC0+d2FpdExhdGNoQ0hS
T01JVU0ocGFyZW50VG9DaGlsZExhdGNoSWQpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0g
ICAgfQotCiAgICAgaWYgKGlzQ29tcG9zaXRpbmdPZmZzY3JlZW4oKSkKICAgICAgICAgY29weU9m
ZnNjcmVlblRleHR1cmVUb0Rpc3BsYXkoKTsKIH0KQEAgLTEzMjAsOSArMTI5Miw2IEBAIFN0cmlu
ZyBMYXllclJlbmRlcmVyQ2hyb21pdW06OmxheWVyVHJlZUEKIAogdm9pZCBMYXllclJlbmRlcmVy
Q2hyb21pdW06OmFkZENoaWxkQ29udGV4dChHcmFwaGljc0NvbnRleHQzRCogY3R4KQogewotICAg
IGlmICghY3R4LT5nZXRFeHRlbnNpb25zKCktPnN1cHBvcnRzKCJHTF9DSFJPTUlVTV9sYXRjaCIp
KQotICAgICAgICByZXR1cm47Ci0KICAgICAvLyBUaGlzIGlzIGEgcmVmLWNvdW50aW5nIG1hcCwg
YmVjYXVzZSBzb21lIGNvbnRleHRzIGFyZSBzaGFyZWQgYnkgbXVsdGlwbGUKICAgICAvLyBsYXll
cnMgKHNwZWNpZmljYWxseSwgQ2FudmFzMkRMYXllckNocm9taXVtKS4KIApAQCAtMTM0NSw5ICsx
MzE0LDYgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmFkZENoaWxkQ29udAogCiB2b2lk
IExheWVyUmVuZGVyZXJDaHJvbWl1bTo6cmVtb3ZlQ2hpbGRDb250ZXh0KEdyYXBoaWNzQ29udGV4
dDNEKiBjdHgpCiB7Ci0gICAgaWYgKCFjdHgtPmdldEV4dGVuc2lvbnMoKS0+c3VwcG9ydHMoIkdM
X0NIUk9NSVVNX2xhdGNoIikpCi0gICAgICAgIHJldHVybjsKLQogICAgIENoaWxkQ29udGV4dE1h
cDo6aXRlcmF0b3IgaSA9IG1fY2hpbGRDb250ZXh0cy5maW5kKGN0eCk7CiAgICAgaWYgKGkgIT0g
bV9jaGlsZENvbnRleHRzLmVuZCgpKSB7CiAgICAgICAgIGlmICgtLWktPnNlY29uZCA8PSAwKSB7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJl
bmRlcmVyQ2hyb21pdW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAkocmV2aXNpb24gOTE1Nzcp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRl
cmVyQ2hyb21pdW0uaAkod29ya2luZyBjb3B5KQpAQCAtMjU0LDcgKzI1NCw2IEBAIHByaXZhdGU6
CiAKICAgICBDaGlsZENvbnRleHRNYXAgbV9jaGlsZENvbnRleHRzOwogCi0gICAgYm9vbCBtX2Nv
bnRleHRTdXBwb3J0c0xhdGNoOwogICAgIGJvb2wgbV9jb250ZXh0U3VwcG9ydHNNYXBTdWI7CiAg
ICAgYm9vbCBtX2NvbnRleHRTdXBwb3J0c1RleHR1cmVGb3JtYXRCR1JBOwogICAgIGJvb2wgbV9j
b250ZXh0U3VwcG9ydHNSZWFkRm9ybWF0QkdSQTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCShyZXZpc2lvbiA5MTU5NikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDctMjIgIEFsIFBhdHJpY2sg
IDxhcGF0cmlja0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZlZCBzdXBwb3J0IGZvciB0
aGUgR0xfbGF0Y2hfQ0hST01JVU0gZXh0ZW5zaW9uIHdoaWNoIENocm9taXVtIG5vIGxvbmdlciBz
dXBwb3J0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY1MDQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCisKKyAgICAgICAg
KiBwdWJsaWMvV2ViR3JhcGhpY3NDb250ZXh0M0QuaDoKKyAgICAgICAgKiBzcmMvRXh0ZW5zaW9u
czNEQ2hyb21pdW0uY3BwOgorICAgICAgICAqIHNyYy9HcmFwaGljc0NvbnRleHQzRENocm9taXVt
LmNwcDoKKyAgICAgICAgKiBzcmMvR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbC5oOgorCiAyMDEx
LTA3LTIyICBBbmRyZXcgU2NoZXJrdXMgIDxzY2hlcmt1c0BjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUmVtb3ZlIHN1cmZhY2VUeXBlKCkgYW5kIHRleHR1cmUoKSBtZXRob2RzIGZyb20gQ2hyb21p
dW0gdmlkZW8gZnJhbWUgY2xhc3Nlcy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkdyYXBoaWNzQ29udGV4dDNELmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViR3JhcGhpY3NDb250ZXh0M0QuaAkocmV2aXNpb24gOTE1NzcpCisr
KyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJHcmFwaGljc0NvbnRleHQzRC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xNzgsMTIgKzE3OCw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgYmxpdEZyYW1lYnVmZmVyQ0hST01JVU0oV0dDM0RpbnQgc3JjWDAsIFdHQzNEaW50IHNyY1kw
LCBXR0MzRGludCBzcmNYMSwgV0dDM0RpbnQgc3JjWTEsIFdHQzNEaW50IGRzdFgwLCBXR0MzRGlu
dCBkc3RZMCwgV0dDM0RpbnQgZHN0WDEsIFdHQzNEaW50IGRzdFkxLCBXR0MzRGJpdGZpZWxkIG1h
c2ssIFdHQzNEZW51bSBmaWx0ZXIpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcmVuZGVyYnVmZmVy
U3RvcmFnZU11bHRpc2FtcGxlQ0hST01JVU0oV0dDM0RlbnVtIHRhcmdldCwgV0dDM0RzaXplaSBz
YW1wbGVzLCBXR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQsIFdHQzNEc2l6ZWkgd2lkdGgsIFdHQzNE
c2l6ZWkgaGVpZ2h0KSA9IDA7CiAKLSAgICAvLyBHTF9DSFJPTUlVTV9sYXRjaAotICAgIHZpcnR1
YWwgdm9pZCBnZXRQYXJlbnRUb0NoaWxkTGF0Y2hDSFJPTUlVTShXR0MzRHVpbnQqIGxhdGNoSWQp
ID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZ2V0Q2hpbGRUb1BhcmVudExhdGNoQ0hST01JVU0oV0dD
M0R1aW50KiBsYXRjaElkKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHdhaXRMYXRjaENIUk9NSVVN
KFdHQzNEdWludCBsYXRjaElkKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHNldExhdGNoQ0hST01J
VU0oV0dDM0R1aW50IGxhdGNoSWQpID0gMDsKLQogICAgIC8vIEdMX0NIUk9NSVVNX3N3YXBidWZm
ZXJzX2NvbXBsZXRlX2NhbGxiYWNrCiAgICAgdmlydHVhbCB2b2lkIHNldFN3YXBCdWZmZXJzQ29t
cGxldGVDYWxsYmFja0NIUk9NSVVNKFdlYkdyYXBoaWNzU3dhcEJ1ZmZlcnNDb21wbGV0ZUNhbGxi
YWNrQ0hST01JVU0qIGNhbGxiYWNrKSB7IH0KIApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvRXh0ZW5zaW9uczNEQ2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0V4dGVuc2lvbnMzRENocm9taXVtLmNwcAkocmV2aXNpb24gOTE1Nzcp
CisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FeHRlbnNpb25zM0RDaHJvbWl1bS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEwMiwyNiArMTAyLDYgQEAgdm9pZCBFeHRlbnNpb25zM0RDaHJv
bWl1bTo6Y29weVRleHR1cmVUbwogICAgIG1faW50ZXJuYWwtPmNvcHlUZXh0dXJlVG9QYXJlbnRU
ZXh0dXJlQ0hST01JVU0odGV4dHVyZSwgcGFyZW50VGV4dHVyZSk7CiB9CiAKLXZvaWQgRXh0ZW5z
aW9uczNEQ2hyb21pdW06OmdldFBhcmVudFRvQ2hpbGRMYXRjaENIUk9NSVVNKEdDM0R1aW50KiBs
YXRjaElkKQotewotICAgIG1faW50ZXJuYWwtPmdldFBhcmVudFRvQ2hpbGRMYXRjaENIUk9NSVVN
KGxhdGNoSWQpOwotfQotCi12b2lkIEV4dGVuc2lvbnMzRENocm9taXVtOjpnZXRDaGlsZFRvUGFy
ZW50TGF0Y2hDSFJPTUlVTShHQzNEdWludCogbGF0Y2hJZCkKLXsKLSAgICBtX2ludGVybmFsLT5n
ZXRDaGlsZFRvUGFyZW50TGF0Y2hDSFJPTUlVTShsYXRjaElkKTsKLX0KLQotdm9pZCBFeHRlbnNp
b25zM0RDaHJvbWl1bTo6d2FpdExhdGNoQ0hST01JVU0oR0MzRHVpbnQgbGF0Y2hJZCkKLXsKLSAg
ICBtX2ludGVybmFsLT53YWl0TGF0Y2hDSFJPTUlVTShsYXRjaElkKTsKLX0KLQotdm9pZCBFeHRl
bnNpb25zM0RDaHJvbWl1bTo6c2V0TGF0Y2hDSFJPTUlVTShHQzNEdWludCBsYXRjaElkKQotewot
ICAgIG1faW50ZXJuYWwtPnNldExhdGNoQ0hST01JVU0obGF0Y2hJZCk7Ci19Ci0KIFBsYXRmb3Jt
M0RPYmplY3QgRXh0ZW5zaW9uczNEQ2hyb21pdW06OmNyZWF0ZVZlcnRleEFycmF5T0VTKCkKIHsK
ICAgICByZXR1cm4gMDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNz
Q29udGV4dDNEQ2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEQ2hyb21pdW0uY3BwCShyZXZpc2lvbiA5MTU3NykKKysr
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEQ2hyb21pdW0uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC04NDAsMTAgKzg0MCw2IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
M0RJbnRlcm5hbDo6Y29weVRleHQKIAogREVMRUdBVEVfVE9fSU1QTF8xMChibGl0RnJhbWVidWZm
ZXJDSFJPTUlVTSwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwg
R0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGJpdGZpZWxkLCBHQzNEZW51bSkKIERFTEVH
QVRFX1RPX0lNUExfNShyZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGVDSFJPTUlVTSwgR0Mz
RGVudW0sIEdDM0RzaXplaSwgR0MzRGVudW0sIEdDM0RzaXplaSwgR0MzRHNpemVpKQotREVMRUdB
VEVfVE9fSU1QTF8xKGdldFBhcmVudFRvQ2hpbGRMYXRjaENIUk9NSVVNLCBHQzNEdWludCopCi1E
RUxFR0FURV9UT19JTVBMXzEoZ2V0Q2hpbGRUb1BhcmVudExhdGNoQ0hST01JVU0sIEdDM0R1aW50
KikKLURFTEVHQVRFX1RPX0lNUExfMSh3YWl0TGF0Y2hDSFJPTUlVTSwgR0MzRHVpbnQpCi1ERUxF
R0FURV9UT19JTVBMXzEoc2V0TGF0Y2hDSFJPTUlVTSwgR0MzRHVpbnQpCiAKIERFTEVHQVRFX1RP
X0lNUEwocmF0ZUxpbWl0T2Zmc2NyZWVuQ29udGV4dENIUk9NSVVNKQogREVMRUdBVEVfVE9fSU1Q
TF9SKGdldEdyYXBoaWNzUmVzZXRTdGF0dXNBUkIsIEdDM0RlbnVtKQpJbmRleDogU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNESW50ZXJuYWwu
aAkocmV2aXNpb24gOTE1NzcpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGlj
c0NvbnRleHQzREludGVybmFsLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4MCwxMiArMjgwLDYgQEAg
cHVibGljOgogICAgIHZvaWQgYmxpdEZyYW1lYnVmZmVyQ0hST01JVU0oR0MzRGludCBzcmNYMCwg
R0MzRGludCBzcmNZMCwgR0MzRGludCBzcmNYMSwgR0MzRGludCBzcmNZMSwgR0MzRGludCBkc3RY
MCwgR0MzRGludCBkc3RZMCwgR0MzRGludCBkc3RYMSwgR0MzRGludCBkc3RZMSwgR0MzRGJpdGZp
ZWxkIG1hc2ssIEdDM0RlbnVtIGZpbHRlcik7CiAgICAgdm9pZCByZW5kZXJidWZmZXJTdG9yYWdl
TXVsdGlzYW1wbGVDSFJPTUlVTShHQzNEZW51bSB0YXJnZXQsIEdDM0RzaXplaSBzYW1wbGVzLCBH
QzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0
KTsKIAotICAgIC8vIEdMX0NIUk9NSVVNX2xhdGNoCi0gICAgdm9pZCBnZXRQYXJlbnRUb0NoaWxk
TGF0Y2hDSFJPTUlVTShHQzNEdWludCogbGF0Y2hJZCk7Ci0gICAgdm9pZCBnZXRDaGlsZFRvUGFy
ZW50TGF0Y2hDSFJPTUlVTShHQzNEdWludCogbGF0Y2hJZCk7Ci0gICAgdm9pZCB3YWl0TGF0Y2hD
SFJPTUlVTShHQzNEdWludCBsYXRjaElkKTsKLSAgICB2b2lkIHNldExhdGNoQ0hST01JVU0oR0Mz
RHVpbnQgbGF0Y2hJZCk7Ci0KICAgICAvLyBHTF9DSFJPTUlVTV9zd2FwYnVmZmVyc19jb21wbGV0
ZV9jYWxsYmFjawogICAgIHZvaWQgc2V0U3dhcEJ1ZmZlcnNDb21wbGV0ZUNhbGxiYWNrQ0hST01J
VU0oUGFzc093blB0cjxFeHRlbnNpb25zM0RDaHJvbWl1bTo6U3dhcEJ1ZmZlcnNDb21wbGV0ZUNh
bGxiYWNrQ0hST01JVU0+KTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>