<?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>129428</bug_id>
          
          <creation_ts>2014-02-27 09:07:32 -0800</creation_ts>
          <short_desc>[CSS Regions] Move named-flow specific method decorationsClipRectForBoxInRegion to RenderNamedFlowThread</short_desc>
          <delta_ts>2014-03-14 01:04:25 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>AdobeTracked</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>57312</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Radu Stavila">stavila</reporter>
          <assigned_to name="Radu Stavila">stavila</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mihnea</cc>
    
    <cc>WebkitBugTracker</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>985192</commentid>
    <comment_count>0</comment_count>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2014-02-27 09:07:32 -0800</bug_when>
    <thetext>Method decorationsClipRectForBoxInRegion should not be in the generic class RenderFlowThread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985204</commentid>
    <comment_count>1</comment_count>
      <attachid>225379</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2014-02-27 09:28:42 -0800</bug_when>
    <thetext>Created attachment 225379
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985329</commentid>
    <comment_count>2</comment_count>
      <attachid>225405</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2014-02-27 13:40:48 -0800</bug_when>
    <thetext>Created attachment 225405
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985330</commentid>
    <comment_count>3</comment_count>
      <attachid>225405</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-02-27 13:43:27 -0800</bug_when>
    <thetext>Comment on attachment 225405
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985350</commentid>
    <comment_count>4</comment_count>
      <attachid>225412</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2014-02-27 14:39:47 -0800</bug_when>
    <thetext>Created attachment 225412
Patch for landing

Somehow the same patch got uploaded twice....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985381</commentid>
    <comment_count>5</comment_count>
      <attachid>225412</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-27 15:46:52 -0800</bug_when>
    <thetext>Comment on attachment 225412
Patch for landing

Clearing flags on attachment: 225412

Committed r164837: &lt;http://trac.webkit.org/changeset/164837&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225379</attachid>
            <date>2014-02-27 09:28:42 -0800</date>
            <delta_ts>2014-02-27 13:40:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>129428.patch</filename>
            <type>text/plain</type>
            <size>11931</size>
            <attacher name="Radu Stavila">stavila</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0N2MwMWU4Li5kYzViZjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTQtMDItMjcgIFJhZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgorCisgICAg
ICAgIFtDU1MgUmVnaW9uc10gTW92ZSBuYW1lZC1mbG93IHNwZWNpZmljIG1ldGhvZCBkZWNvcmF0
aW9uc0NsaXBSZWN0Rm9yQm94SW5SZWdpb24gdG8gUmVuZGVyTmFtZWRGbG93VGhyZWFkCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjk0MjgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW5jZSB0aGUgZGVj
b3JhdGlvbnNDbGlwUmVjdEZvckJveEluUmVnaW9uIG1ldGhvZCBpcyBhIG5hbWVkIGZsb3cgc3Bl
Y2lmaWMgbWV0aG9kLCBpdCBtYWtlcworICAgICAgICBzZW5zZSB0byBiZSBpbiB0aGUgbmFtZWQg
ZmxvdyBzcGVjaWZpYyBjbGFzcywgUmVuZGVyTmFtZWRGbG93VGhyZWFkLCBpbnN0ZWFkIG9mIHRo
ZSBtb3JlCisgICAgICAgIGdlbmVyaWMgUmVuZGVyRmxvd1RocmVhZC4KKworICAgICAgICBObyBu
ZXcgdGVzdHMgcmVxdWlyZWQuIE5vIG5ldyBmdW5jdGlvbmFsaXR5LgorCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpw
YWludE9iamVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmg6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJO
YW1lZEZsb3dUaHJlYWQ6OmRlY29yYXRpb25zQ2xpcFJlY3RGb3JCb3hJbk5hbWVkRmxvd0ZyYWdt
ZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmg6CisKIDIw
MTQtMDItMjcgIEtyenlzenRvZiBDemVjaCAgPGsuY3plY2hAc2Ftc3VuZy5jb20+CiAKICAgICAg
ICAgW0FUS10gRml4IHN0eWxlIGVycm9ycyBpbiBlbnVtIG1lbWJlcnMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDI3YmYzODguLjgyYmM2ZWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtMjMwMSw3ICsyMzAxLDcgQEAg
dm9pZCBSZW5kZXJCbG9jazo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0
IExheW91dFBvaW50JiBwYWludE9mZnMKICAgICAgICAgaWYgKGhhc0JveERlY29yYXRpb25zKCkp
IHsKICAgICAgICAgICAgIGJvb2wgZGlkQ2xpcFRvUmVnaW9uID0gZmFsc2U7CiAgICAgICAgICAg
ICAKLSAgICAgICAgICAgIGlmIChwYWludEluZm8ucGFpbnRDb250YWluZXIgJiYgcGFpbnRJbmZv
LnJlbmRlck5hbWVkRmxvd0ZyYWdtZW50ICYmIHBhaW50SW5mby5wYWludENvbnRhaW5lci0+aXNS
ZW5kZXJGbG93VGhyZWFkKCkpIHsKKyAgICAgICAgICAgIGlmIChwYWludEluZm8ucGFpbnRDb250
YWluZXIgJiYgcGFpbnRJbmZvLnJlbmRlck5hbWVkRmxvd0ZyYWdtZW50ICYmIHBhaW50SW5mby5w
YWludENvbnRhaW5lci0+aXNSZW5kZXJOYW1lZEZsb3dUaHJlYWQoKSkgewogICAgICAgICAgICAg
ICAgIC8vIElmIHRoaXMgYm94IGdvZXMgYmV5b25kIHRoZSBjdXJyZW50IHJlZ2lvbiwgdGhlbiBt
YWtlIHN1cmUgbm90IHRvIG92ZXJmbG93IHRoZSByZWdpb24uCiAgICAgICAgICAgICAgICAgLy8g
VGhpcyAob3ZlcmZsb3dpbmcgcmVnaW9uIFggYWx0b3VnaCBhbHNvIGZyYWdtZW50ZWQgdG8gcmVn
aW9uIFgrMSkgY291bGQgaGFwcGVuIHdoZW4gb25lIG9mIHRoaXMgYm94J3MgY2hpbGRyZW4KICAg
ICAgICAgICAgICAgICAvLyBvdmVyZmxvd3MgcmVnaW9uIFggYW5kIGlzIGFuIHVuc3BsaXR0YWJs
ZSBlbGVtZW50IChsaWtlIGFuIGltYWdlKS4KQEAgLTIzMTAsNyArMjMxMCw3IEBAIHZvaWQgUmVu
ZGVyQmxvY2s6OnBhaW50T2JqZWN0KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQ
b2ludCYgcGFpbnRPZmZzCiAgICAgICAgICAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPnNhdmUo
KTsKICAgICAgICAgICAgICAgICBkaWRDbGlwVG9SZWdpb24gPSB0cnVlOwogCi0gICAgICAgICAg
ICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPmNsaXAodG9SZW5kZXJGbG93VGhyZWFkKHBhaW50SW5m
by5wYWludENvbnRhaW5lciktPmRlY29yYXRpb25zQ2xpcFJlY3RGb3JCb3hJblJlZ2lvbigqdGhp
cywgKnBhaW50SW5mby5yZW5kZXJOYW1lZEZsb3dGcmFnbWVudCkpOworICAgICAgICAgICAgICAg
IHBhaW50SW5mby5jb250ZXh0LT5jbGlwKHRvUmVuZGVyTmFtZWRGbG93VGhyZWFkKHBhaW50SW5m
by5wYWludENvbnRhaW5lciktPmRlY29yYXRpb25zQ2xpcFJlY3RGb3JCb3hJbk5hbWVkRmxvd0Zy
YWdtZW50KCp0aGlzLCAqcGFpbnRJbmZvLnJlbmRlck5hbWVkRmxvd0ZyYWdtZW50KSk7CiAgICAg
ICAgICAgICB9CiAKICAgICAgICAgICAgIHBhaW50Qm94RGVjb3JhdGlvbnMocGFpbnRJbmZvLCBw
YWludE9mZnNldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Rmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVh
ZC5jcHAKaW5kZXggZmQ3NTVhNS4uNGM3ZDg1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcApAQCAtMTI2Miw3NiArMTI2Miw2IEBAIExheW91dFJl
Y3QgUmVuZGVyRmxvd1RocmVhZDo6bWFwRnJvbUZsb3dUaHJlYWRUb0xvY2FsKGNvbnN0IFJlbmRl
ckJveCogYm94LCBjb25zCiAgICAgcmV0dXJuIGxvY2FsUmVjdDsKIH0KIAotTGF5b3V0UmVjdCBS
ZW5kZXJGbG93VGhyZWFkOjpkZWNvcmF0aW9uc0NsaXBSZWN0Rm9yQm94SW5SZWdpb24oY29uc3Qg
UmVuZGVyQm94JiBib3gsIFJlbmRlclJlZ2lvbiYgcmVnaW9uKSBjb25zdAotewotICAgIExheW91
dFJlY3QgdmlzdWFsT3ZlcmZsb3dSZWN0ID0gcmVnaW9uLnZpc3VhbE92ZXJmbG93UmVjdEZvckJv
eCgmYm94KTsKLSAgICBMYXlvdXRVbml0IGluaXRpYWxMb2dpY2FsWCA9IHN0eWxlKCkuaXNIb3Jp
em9udGFsV3JpdGluZ01vZGUoKSA/IHZpc3VhbE92ZXJmbG93UmVjdC54KCkgOiB2aXN1YWxPdmVy
Zmxvd1JlY3QueSgpOwotCi0gICAgLy8gVGhlIHZpc3VhbCBvdmVyZmxvdyByZWN0IHJldHVybmVk
IGJ5IHZpc3VhbE92ZXJmbG93UmVjdEZvckJveCBpcyBhbHJlYWR5IGZsaXBwZWQgYnV0IHRoZQot
ICAgIC8vIFJlbmRlclJlZ2lvbjo6cmVjdEZsb3dQb3J0aW9uRm9yQm94IG1ldGhvZCBleHBlY3Rz
IGl0IHVuZmxpcHBlZC4KLSAgICBmbGlwRm9yV3JpdGluZ01vZGVMb2NhbENvb3JkaW5hdGVzKHZp
c3VhbE92ZXJmbG93UmVjdCk7Ci0gICAgdmlzdWFsT3ZlcmZsb3dSZWN0ID0gcmVnaW9uLnJlY3RG
bG93UG9ydGlvbkZvckJveCgmYm94LCB2aXN1YWxPdmVyZmxvd1JlY3QpOwotICAgIAotICAgIC8v
IE5vdyBmbGlwIGl0IGFnYWluLgotICAgIGZsaXBGb3JXcml0aW5nTW9kZUxvY2FsQ29vcmRpbmF0
ZXModmlzdWFsT3ZlcmZsb3dSZWN0KTsKLSAgICAKLSAgICAvLyBMYXllcnMgYXJlIGluIHBoeXNp
Y2FsIGNvb3JkaW5hdGVzIHNvIHRoZSBvcmlnaW4gbXVzdCBiZSBtb3ZlZCB0byB0aGUgcGh5c2lj
YWwgdG9wLWxlZnQgb2YgdGhlIGZsb3d0aHJlYWQuCi0gICAgaWYgKHN0eWxlKCkuaXNGbGlwcGVk
QmxvY2tzV3JpdGluZ01vZGUoKSkgewotICAgICAgICBpZiAoc3R5bGUoKS5pc0hvcml6b250YWxX
cml0aW5nTW9kZSgpKQotICAgICAgICAgICAgdmlzdWFsT3ZlcmZsb3dSZWN0Lm1vdmVCeShMYXlv
dXRQb2ludCgwLCBoZWlnaHQoKSkpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB2aXN1YWxP
dmVyZmxvd1JlY3QubW92ZUJ5KExheW91dFBvaW50KHdpZHRoKCksIDApKTsKLSAgICB9Ci0KLSAg
ICBjb25zdCBSZW5kZXJCb3gqIGl0ZXJCb3ggPSAmYm94OwotICAgIHdoaWxlIChpdGVyQm94ICYm
IGl0ZXJCb3ggIT0gdGhpcykgewotICAgICAgICBSZW5kZXJCbG9jayogY29udGFpbmVyQmxvY2sg
PSBpdGVyQm94LT5jb250YWluaW5nQmxvY2soKTsKLQotICAgICAgICAvLyBGSVhNRTogVGhpcyBk
b2Vzbid0IHdvcmsgcHJvcGVybHkgd2l0aCBmbGlwcGVkIHdyaXRpbmcgbW9kZXMuCi0gICAgICAg
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUxNDkKLSAgICAg
ICAgaWYgKGl0ZXJCb3gtPmlzUG9zaXRpb25lZCgpKSB7Ci0gICAgICAgICAgICAvLyBGb3IgcG9z
aXRpb25lZCBlbGVtZW50cywganVzdCB1c2UgdGhlIGxheWVyJ3MgYWJzb2x1dGUgYm91bmRpbmcg
Ym94LgotICAgICAgICAgICAgdmlzdWFsT3ZlcmZsb3dSZWN0Lm1vdmVCeShpdGVyQm94LT5sYXll
cigpLT5hYnNvbHV0ZUJvdW5kaW5nQm94KCkubG9jYXRpb24oKSk7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQotCi0gICAgICAgIExheW91dFJlY3QgY3VycmVudEJveFJlY3QgPSBpdGVy
Qm94LT5mcmFtZVJlY3QoKTsKLSAgICAgICAgaWYgKGl0ZXJCb3gtPnN0eWxlKCkuaXNGbGlwcGVk
QmxvY2tzV3JpdGluZ01vZGUoKSkgewotICAgICAgICAgICAgaWYgKGl0ZXJCb3gtPnN0eWxlKCku
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKLSAgICAgICAgICAgICAgICBjdXJyZW50Qm94UmVj
dC5zZXRZKGN1cnJlbnRCb3hSZWN0LmhlaWdodCgpIC0gY3VycmVudEJveFJlY3QubWF4WSgpKTsK
LSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBjdXJyZW50Qm94UmVjdC5zZXRYKGN1
cnJlbnRCb3hSZWN0LndpZHRoKCkgLSBjdXJyZW50Qm94UmVjdC5tYXhYKCkpOwotICAgICAgICB9
Ci0KLSAgICAgICAgaWYgKGNvbnRhaW5lckJsb2NrLT5zdHlsZSgpLndyaXRpbmdNb2RlKCkgIT0g
aXRlckJveC0+c3R5bGUoKS53cml0aW5nTW9kZSgpKQotICAgICAgICAgICAgaXRlckJveC0+Zmxp
cEZvcldyaXRpbmdNb2RlKGN1cnJlbnRCb3hSZWN0KTsKLQotICAgICAgICB2aXN1YWxPdmVyZmxv
d1JlY3QubW92ZUJ5KGN1cnJlbnRCb3hSZWN0LmxvY2F0aW9uKCkpOwotICAgICAgICBpdGVyQm94
ID0gY29udGFpbmVyQmxvY2s7Ci0gICAgfQotCi0gICAgLy8gU2luY2UgdGhlIHB1cnBvc2Ugb2Yg
dGhpcyBtZXRob2QgaXMgdG8gbWFrZSBzdXJlIHRoZSBib3JkZXJzIG9mIGEgZnJhZ21lbnRlZAot
ICAgIC8vIGVsZW1lbnQgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHJlZ2lvbiBpbiB0aGUgZnJhZ21lbnRh
dGlvbiBkaXJlY3Rpb24sIHRoZXJlJ3Mgbm8KLSAgICAvLyBwb2ludCBpbiByZXN0cmljdGluZyB0
aGUgY2xpcHBpbmcgcmVjdCBvbiB0aGUgbG9naWNhbCBYIGF4aXMuIAotICAgIC8vIFRoaXMgYWxz
byBzYXZlcyB1cyB0aGUgdHJvdWJsZSBvZiBoYW5kbGluZyBwZXJjZW50LWJhc2VkIHdpZHRocyBh
bmQgbWFyZ2lucwotICAgIC8vIHNpbmNlIHRoZSBhYnNvbHV0ZSBib3VuZGluZyBib3ggb2YgYSBw
b3NpdGlvbmVkIGVsZW1lbnQgd291bGQgbm90IGNvbnRhaW4KLSAgICAvLyB0aGUgY29ycmVjdCBj
b29yZGluYXRlcyByZWxhdGl2ZSB0byB0aGUgcmVnaW9uIHdlJ3JlIGludGVyZXN0ZWQgaW4sIGJ1
dCByYXRoZXIKLSAgICAvLyByZWxhdGl2ZSB0byB0aGUgYWN0dWFsIGZsb3cgdGhyZWFkLgotICAg
IGlmIChzdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpIHsKLSAgICAgICAgaWYgKGlu
aXRpYWxMb2dpY2FsWCA8IHZpc3VhbE92ZXJmbG93UmVjdC54KCkpCi0gICAgICAgICAgICB2aXN1
YWxPdmVyZmxvd1JlY3Quc2hpZnRYRWRnZVRvKGluaXRpYWxMb2dpY2FsWCk7Ci0gICAgICAgIGlm
ICh2aXN1YWxPdmVyZmxvd1JlY3Qud2lkdGgoKSA8IGZyYW1lUmVjdCgpLndpZHRoKCkpCi0gICAg
ICAgICAgICB2aXN1YWxPdmVyZmxvd1JlY3Quc2V0V2lkdGgoZnJhbWVSZWN0KCkud2lkdGgoKSk7
Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKGluaXRpYWxMb2dpY2FsWCA8IHZpc3VhbE92ZXJm
bG93UmVjdC55KCkpCi0gICAgICAgICAgICB2aXN1YWxPdmVyZmxvd1JlY3Quc2hpZnRZRWRnZVRv
KGluaXRpYWxMb2dpY2FsWCk7Ci0gICAgICAgIGlmICh2aXN1YWxPdmVyZmxvd1JlY3QuaGVpZ2h0
KCkgPCBmcmFtZVJlY3QoKS5oZWlnaHQoKSkKLSAgICAgICAgICAgIHZpc3VhbE92ZXJmbG93UmVj
dC5zZXRIZWlnaHQoZnJhbWVSZWN0KCkuaGVpZ2h0KCkpOwotICAgIH0KLQotICAgIHJldHVybiB2
aXN1YWxPdmVyZmxvd1JlY3Q7Ci19Ci0KIHZvaWQgUmVuZGVyRmxvd1RocmVhZDo6ZmxpcEZvcldy
aXRpbmdNb2RlTG9jYWxDb29yZGluYXRlcyhMYXlvdXRSZWN0JiByZWN0KSBjb25zdAogewogICAg
IGlmICghc3R5bGUoKS5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKaW5kZXggOWQ0N2IxMi4uNmI5Yjk5NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCkBAIC0xOTks
OSArMTk5LDcgQEAgcHVibGljOgogCiAgICAgTGF5b3V0UmVjdCBtYXBGcm9tRmxvd1RocmVhZFRv
TG9jYWwoY29uc3QgUmVuZGVyQm94KiwgY29uc3QgTGF5b3V0UmVjdCYpIGNvbnN0OwogICAgIExh
eW91dFJlY3QgbWFwRnJvbUxvY2FsVG9GbG93VGhyZWFkKGNvbnN0IFJlbmRlckJveCosIGNvbnN0
IExheW91dFJlY3QmKSBjb25zdDsKLSAgICAKLSAgICBMYXlvdXRSZWN0IGRlY29yYXRpb25zQ2xp
cFJlY3RGb3JCb3hJblJlZ2lvbihjb25zdCBSZW5kZXJCb3gmLCBSZW5kZXJSZWdpb24mKSBjb25z
dDsKLSAgICAKKwogICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlTG9jYWxDb29yZGluYXRlcyhM
YXlvdXRSZWN0JikgY29uc3Q7CiAKICAgICAvLyBVc2VkIHRvIGVzdGltYXRlIHRoZSBtYXhpbXVt
IGhlaWdodCBvZiB0aGUgZmxvdyB0aHJlYWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCmluZGV4IDNhMDk4YWYuLmNlYjEzMzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQu
Y3BwCkBAIC0yODMsNiArMjgzLDc2IEBAIHZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpyZWdp
b25DaGFuZ2VkV3JpdGluZ01vZGUoUmVuZGVyUmVnaW9uKiByZWdpb24pCiAgICAgICAgIHVwZGF0
ZVdyaXRpbmdNb2RlKCk7CiB9CiAKK0xheW91dFJlY3QgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpk
ZWNvcmF0aW9uc0NsaXBSZWN0Rm9yQm94SW5OYW1lZEZsb3dGcmFnbWVudChjb25zdCBSZW5kZXJC
b3gmIGJveCwgUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQmIGZyYWdtZW50KSBjb25zdAoreworICAg
IExheW91dFJlY3QgdmlzdWFsT3ZlcmZsb3dSZWN0ID0gZnJhZ21lbnQudmlzdWFsT3ZlcmZsb3dS
ZWN0Rm9yQm94KCZib3gpOworICAgIExheW91dFVuaXQgaW5pdGlhbExvZ2ljYWxYID0gc3R5bGUo
KS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gdmlzdWFsT3ZlcmZsb3dSZWN0LngoKSA6IHZp
c3VhbE92ZXJmbG93UmVjdC55KCk7CisKKyAgICAvLyBUaGUgdmlzdWFsIG92ZXJmbG93IHJlY3Qg
cmV0dXJuZWQgYnkgdmlzdWFsT3ZlcmZsb3dSZWN0Rm9yQm94IGlzIGFscmVhZHkgZmxpcHBlZCBi
dXQgdGhlCisgICAgLy8gUmVuZGVyUmVnaW9uOjpyZWN0Rmxvd1BvcnRpb25Gb3JCb3ggbWV0aG9k
IGV4cGVjdHMgaXQgdW5mbGlwcGVkLgorICAgIGZsaXBGb3JXcml0aW5nTW9kZUxvY2FsQ29vcmRp
bmF0ZXModmlzdWFsT3ZlcmZsb3dSZWN0KTsKKyAgICB2aXN1YWxPdmVyZmxvd1JlY3QgPSBmcmFn
bWVudC5yZWN0Rmxvd1BvcnRpb25Gb3JCb3goJmJveCwgdmlzdWFsT3ZlcmZsb3dSZWN0KTsKKyAg
ICAKKyAgICAvLyBOb3cgZmxpcCBpdCBhZ2Fpbi4KKyAgICBmbGlwRm9yV3JpdGluZ01vZGVMb2Nh
bENvb3JkaW5hdGVzKHZpc3VhbE92ZXJmbG93UmVjdCk7CisgICAgCisgICAgLy8gTGF5ZXJzIGFy
ZSBpbiBwaHlzaWNhbCBjb29yZGluYXRlcyBzbyB0aGUgb3JpZ2luIG11c3QgYmUgbW92ZWQgdG8g
dGhlIHBoeXNpY2FsIHRvcC1sZWZ0IG9mIHRoZSBmbG93dGhyZWFkLgorICAgIGlmIChzdHlsZSgp
LmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpIHsKKyAgICAgICAgaWYgKHN0eWxlKCkuaXNI
b3Jpem9udGFsV3JpdGluZ01vZGUoKSkKKyAgICAgICAgICAgIHZpc3VhbE92ZXJmbG93UmVjdC5t
b3ZlQnkoTGF5b3V0UG9pbnQoMCwgaGVpZ2h0KCkpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgdmlzdWFsT3ZlcmZsb3dSZWN0Lm1vdmVCeShMYXlvdXRQb2ludCh3aWR0aCgpLCAwKSk7Cisg
ICAgfQorCisgICAgY29uc3QgUmVuZGVyQm94KiBpdGVyQm94ID0gJmJveDsKKyAgICB3aGlsZSAo
aXRlckJveCAmJiBpdGVyQm94ICE9IHRoaXMpIHsKKyAgICAgICAgUmVuZGVyQmxvY2sqIGNvbnRh
aW5lckJsb2NrID0gaXRlckJveC0+Y29udGFpbmluZ0Jsb2NrKCk7CisKKyAgICAgICAgLy8gRklY
TUU6IFRoaXMgZG9lc24ndCB3b3JrIHByb3Blcmx5IHdpdGggZmxpcHBlZCB3cml0aW5nIG1vZGVz
LgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1
MTQ5CisgICAgICAgIGlmIChpdGVyQm94LT5pc1Bvc2l0aW9uZWQoKSkgeworICAgICAgICAgICAg
Ly8gRm9yIHBvc2l0aW9uZWQgZWxlbWVudHMsIGp1c3QgdXNlIHRoZSBsYXllcidzIGFic29sdXRl
IGJvdW5kaW5nIGJveC4KKyAgICAgICAgICAgIHZpc3VhbE92ZXJmbG93UmVjdC5tb3ZlQnkoaXRl
ckJveC0+bGF5ZXIoKS0+YWJzb2x1dGVCb3VuZGluZ0JveCgpLmxvY2F0aW9uKCkpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBMYXlvdXRSZWN0IGN1cnJlbnRCb3hS
ZWN0ID0gaXRlckJveC0+ZnJhbWVSZWN0KCk7CisgICAgICAgIGlmIChpdGVyQm94LT5zdHlsZSgp
LmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpIHsKKyAgICAgICAgICAgIGlmIChpdGVyQm94
LT5zdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCisgICAgICAgICAgICAgICAgY3Vy
cmVudEJveFJlY3Quc2V0WShjdXJyZW50Qm94UmVjdC5oZWlnaHQoKSAtIGN1cnJlbnRCb3hSZWN0
Lm1heFkoKSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgY3VycmVudEJveFJl
Y3Quc2V0WChjdXJyZW50Qm94UmVjdC53aWR0aCgpIC0gY3VycmVudEJveFJlY3QubWF4WCgpKTsK
KyAgICAgICAgfQorCisgICAgICAgIGlmIChjb250YWluZXJCbG9jay0+c3R5bGUoKS53cml0aW5n
TW9kZSgpICE9IGl0ZXJCb3gtPnN0eWxlKCkud3JpdGluZ01vZGUoKSkKKyAgICAgICAgICAgIGl0
ZXJCb3gtPmZsaXBGb3JXcml0aW5nTW9kZShjdXJyZW50Qm94UmVjdCk7CisKKyAgICAgICAgdmlz
dWFsT3ZlcmZsb3dSZWN0Lm1vdmVCeShjdXJyZW50Qm94UmVjdC5sb2NhdGlvbigpKTsKKyAgICAg
ICAgaXRlckJveCA9IGNvbnRhaW5lckJsb2NrOworICAgIH0KKworICAgIC8vIFNpbmNlIHRoZSBw
dXJwb3NlIG9mIHRoaXMgbWV0aG9kIGlzIHRvIG1ha2Ugc3VyZSB0aGUgYm9yZGVycyBvZiBhIGZy
YWdtZW50ZWQKKyAgICAvLyBlbGVtZW50IGRvbid0IG92ZXJmbG93IHRoZSByZWdpb24gaW4gdGhl
IGZyYWdtZW50YXRpb24gZGlyZWN0aW9uLCB0aGVyZSdzIG5vCisgICAgLy8gcG9pbnQgaW4gcmVz
dHJpY3RpbmcgdGhlIGNsaXBwaW5nIHJlY3Qgb24gdGhlIGxvZ2ljYWwgWCBheGlzLiAKKyAgICAv
LyBUaGlzIGFsc28gc2F2ZXMgdXMgdGhlIHRyb3VibGUgb2YgaGFuZGxpbmcgcGVyY2VudC1iYXNl
ZCB3aWR0aHMgYW5kIG1hcmdpbnMKKyAgICAvLyBzaW5jZSB0aGUgYWJzb2x1dGUgYm91bmRpbmcg
Ym94IG9mIGEgcG9zaXRpb25lZCBlbGVtZW50IHdvdWxkIG5vdCBjb250YWluCisgICAgLy8gdGhl
IGNvcnJlY3QgY29vcmRpbmF0ZXMgcmVsYXRpdmUgdG8gdGhlIHJlZ2lvbiB3ZSdyZSBpbnRlcmVz
dGVkIGluLCBidXQgcmF0aGVyCisgICAgLy8gcmVsYXRpdmUgdG8gdGhlIGFjdHVhbCBmbG93IHRo
cmVhZC4KKyAgICBpZiAoc3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKSB7CisgICAg
ICAgIGlmIChpbml0aWFsTG9naWNhbFggPCB2aXN1YWxPdmVyZmxvd1JlY3QueCgpKQorICAgICAg
ICAgICAgdmlzdWFsT3ZlcmZsb3dSZWN0LnNoaWZ0WEVkZ2VUbyhpbml0aWFsTG9naWNhbFgpOwor
ICAgICAgICBpZiAodmlzdWFsT3ZlcmZsb3dSZWN0LndpZHRoKCkgPCBmcmFtZVJlY3QoKS53aWR0
aCgpKQorICAgICAgICAgICAgdmlzdWFsT3ZlcmZsb3dSZWN0LnNldFdpZHRoKGZyYW1lUmVjdCgp
LndpZHRoKCkpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChpbml0aWFsTG9naWNhbFggPCB2
aXN1YWxPdmVyZmxvd1JlY3QueSgpKQorICAgICAgICAgICAgdmlzdWFsT3ZlcmZsb3dSZWN0LnNo
aWZ0WUVkZ2VUbyhpbml0aWFsTG9naWNhbFgpOworICAgICAgICBpZiAodmlzdWFsT3ZlcmZsb3dS
ZWN0LmhlaWdodCgpIDwgZnJhbWVSZWN0KCkuaGVpZ2h0KCkpCisgICAgICAgICAgICB2aXN1YWxP
dmVyZmxvd1JlY3Quc2V0SGVpZ2h0KGZyYW1lUmVjdCgpLmhlaWdodCgpKTsKKyAgICB9CisKKyAg
ICByZXR1cm4gdmlzdWFsT3ZlcmZsb3dSZWN0OworfQorCiB2b2lkIFJlbmRlck5hbWVkRmxvd1Ro
cmVhZDo6Y29tcHV0ZU92ZXJzZXRTdGF0ZUZvclJlZ2lvbnMoTGF5b3V0VW5pdCBvbGRDbGllbnRB
ZnRlckVkZ2UpCiB7CiAgICAgTGF5b3V0VW5pdCBoZWlnaHQgPSBvbGRDbGllbnRBZnRlckVkZ2U7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhy
ZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmgK
aW5kZXggMjY5ZGE3Ny4uMjhmNzI4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuaApAQCAtNjgsNiArNjgsOCBAQCBwdWJsaWM6CiAKICAg
ICB2aXJ0dWFsIHZvaWQgcmVnaW9uQ2hhbmdlZFdyaXRpbmdNb2RlKFJlbmRlclJlZ2lvbiopIG92
ZXJyaWRlOwogCisgICAgTGF5b3V0UmVjdCBkZWNvcmF0aW9uc0NsaXBSZWN0Rm9yQm94SW5OYW1l
ZEZsb3dGcmFnbWVudChjb25zdCBSZW5kZXJCb3gmLCBSZW5kZXJOYW1lZEZsb3dGcmFnbWVudCYp
IGNvbnN0OworCiAgICAgYm9vbCBvdmVyc2V0KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyc2V0OyB9
CiAgICAgdm9pZCBjb21wdXRlT3ZlcnNldFN0YXRlRm9yUmVnaW9ucyhMYXlvdXRVbml0IG9sZENs
aWVudEFmdGVyRWRnZSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225405</attachid>
            <date>2014-02-27 13:40:48 -0800</date>
            <delta_ts>2014-02-27 15:14:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>129428.patch</filename>
            <type>text/plain</type>
            <size>11931</size>
            <attacher name="Radu Stavila">stavila</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0N2MwMWU4Li5kYzViZjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTQtMDItMjcgIFJhZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgorCisgICAg
ICAgIFtDU1MgUmVnaW9uc10gTW92ZSBuYW1lZC1mbG93IHNwZWNpZmljIG1ldGhvZCBkZWNvcmF0
aW9uc0NsaXBSZWN0Rm9yQm94SW5SZWdpb24gdG8gUmVuZGVyTmFtZWRGbG93VGhyZWFkCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjk0MjgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW5jZSB0aGUgZGVj
b3JhdGlvbnNDbGlwUmVjdEZvckJveEluUmVnaW9uIG1ldGhvZCBpcyBhIG5hbWVkIGZsb3cgc3Bl
Y2lmaWMgbWV0aG9kLCBpdCBtYWtlcworICAgICAgICBzZW5zZSB0byBiZSBpbiB0aGUgbmFtZWQg
ZmxvdyBzcGVjaWZpYyBjbGFzcywgUmVuZGVyTmFtZWRGbG93VGhyZWFkLCBpbnN0ZWFkIG9mIHRo
ZSBtb3JlCisgICAgICAgIGdlbmVyaWMgUmVuZGVyRmxvd1RocmVhZC4KKworICAgICAgICBObyBu
ZXcgdGVzdHMgcmVxdWlyZWQuIE5vIG5ldyBmdW5jdGlvbmFsaXR5LgorCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpw
YWludE9iamVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmg6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJO
YW1lZEZsb3dUaHJlYWQ6OmRlY29yYXRpb25zQ2xpcFJlY3RGb3JCb3hJbk5hbWVkRmxvd0ZyYWdt
ZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmg6CisKIDIw
MTQtMDItMjcgIEtyenlzenRvZiBDemVjaCAgPGsuY3plY2hAc2Ftc3VuZy5jb20+CiAKICAgICAg
ICAgW0FUS10gRml4IHN0eWxlIGVycm9ycyBpbiBlbnVtIG1lbWJlcnMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDI3YmYzODguLjgyYmM2ZWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtMjMwMSw3ICsyMzAxLDcgQEAg
dm9pZCBSZW5kZXJCbG9jazo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0
IExheW91dFBvaW50JiBwYWludE9mZnMKICAgICAgICAgaWYgKGhhc0JveERlY29yYXRpb25zKCkp
IHsKICAgICAgICAgICAgIGJvb2wgZGlkQ2xpcFRvUmVnaW9uID0gZmFsc2U7CiAgICAgICAgICAg
ICAKLSAgICAgICAgICAgIGlmIChwYWludEluZm8ucGFpbnRDb250YWluZXIgJiYgcGFpbnRJbmZv
LnJlbmRlck5hbWVkRmxvd0ZyYWdtZW50ICYmIHBhaW50SW5mby5wYWludENvbnRhaW5lci0+aXNS
ZW5kZXJGbG93VGhyZWFkKCkpIHsKKyAgICAgICAgICAgIGlmIChwYWludEluZm8ucGFpbnRDb250
YWluZXIgJiYgcGFpbnRJbmZvLnJlbmRlck5hbWVkRmxvd0ZyYWdtZW50ICYmIHBhaW50SW5mby5w
YWludENvbnRhaW5lci0+aXNSZW5kZXJOYW1lZEZsb3dUaHJlYWQoKSkgewogICAgICAgICAgICAg
ICAgIC8vIElmIHRoaXMgYm94IGdvZXMgYmV5b25kIHRoZSBjdXJyZW50IHJlZ2lvbiwgdGhlbiBt
YWtlIHN1cmUgbm90IHRvIG92ZXJmbG93IHRoZSByZWdpb24uCiAgICAgICAgICAgICAgICAgLy8g
VGhpcyAob3ZlcmZsb3dpbmcgcmVnaW9uIFggYWx0b3VnaCBhbHNvIGZyYWdtZW50ZWQgdG8gcmVn
aW9uIFgrMSkgY291bGQgaGFwcGVuIHdoZW4gb25lIG9mIHRoaXMgYm94J3MgY2hpbGRyZW4KICAg
ICAgICAgICAgICAgICAvLyBvdmVyZmxvd3MgcmVnaW9uIFggYW5kIGlzIGFuIHVuc3BsaXR0YWJs
ZSBlbGVtZW50IChsaWtlIGFuIGltYWdlKS4KQEAgLTIzMTAsNyArMjMxMCw3IEBAIHZvaWQgUmVu
ZGVyQmxvY2s6OnBhaW50T2JqZWN0KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQ
b2ludCYgcGFpbnRPZmZzCiAgICAgICAgICAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPnNhdmUo
KTsKICAgICAgICAgICAgICAgICBkaWRDbGlwVG9SZWdpb24gPSB0cnVlOwogCi0gICAgICAgICAg
ICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPmNsaXAodG9SZW5kZXJGbG93VGhyZWFkKHBhaW50SW5m
by5wYWludENvbnRhaW5lciktPmRlY29yYXRpb25zQ2xpcFJlY3RGb3JCb3hJblJlZ2lvbigqdGhp
cywgKnBhaW50SW5mby5yZW5kZXJOYW1lZEZsb3dGcmFnbWVudCkpOworICAgICAgICAgICAgICAg
IHBhaW50SW5mby5jb250ZXh0LT5jbGlwKHRvUmVuZGVyTmFtZWRGbG93VGhyZWFkKHBhaW50SW5m
by5wYWludENvbnRhaW5lciktPmRlY29yYXRpb25zQ2xpcFJlY3RGb3JCb3hJbk5hbWVkRmxvd0Zy
YWdtZW50KCp0aGlzLCAqcGFpbnRJbmZvLnJlbmRlck5hbWVkRmxvd0ZyYWdtZW50KSk7CiAgICAg
ICAgICAgICB9CiAKICAgICAgICAgICAgIHBhaW50Qm94RGVjb3JhdGlvbnMocGFpbnRJbmZvLCBw
YWludE9mZnNldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Rmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVh
ZC5jcHAKaW5kZXggZmQ3NTVhNS4uNGM3ZDg1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcApAQCAtMTI2Miw3NiArMTI2Miw2IEBAIExheW91dFJl
Y3QgUmVuZGVyRmxvd1RocmVhZDo6bWFwRnJvbUZsb3dUaHJlYWRUb0xvY2FsKGNvbnN0IFJlbmRl
ckJveCogYm94LCBjb25zCiAgICAgcmV0dXJuIGxvY2FsUmVjdDsKIH0KIAotTGF5b3V0UmVjdCBS
ZW5kZXJGbG93VGhyZWFkOjpkZWNvcmF0aW9uc0NsaXBSZWN0Rm9yQm94SW5SZWdpb24oY29uc3Qg
UmVuZGVyQm94JiBib3gsIFJlbmRlclJlZ2lvbiYgcmVnaW9uKSBjb25zdAotewotICAgIExheW91
dFJlY3QgdmlzdWFsT3ZlcmZsb3dSZWN0ID0gcmVnaW9uLnZpc3VhbE92ZXJmbG93UmVjdEZvckJv
eCgmYm94KTsKLSAgICBMYXlvdXRVbml0IGluaXRpYWxMb2dpY2FsWCA9IHN0eWxlKCkuaXNIb3Jp
em9udGFsV3JpdGluZ01vZGUoKSA/IHZpc3VhbE92ZXJmbG93UmVjdC54KCkgOiB2aXN1YWxPdmVy
Zmxvd1JlY3QueSgpOwotCi0gICAgLy8gVGhlIHZpc3VhbCBvdmVyZmxvdyByZWN0IHJldHVybmVk
IGJ5IHZpc3VhbE92ZXJmbG93UmVjdEZvckJveCBpcyBhbHJlYWR5IGZsaXBwZWQgYnV0IHRoZQot
ICAgIC8vIFJlbmRlclJlZ2lvbjo6cmVjdEZsb3dQb3J0aW9uRm9yQm94IG1ldGhvZCBleHBlY3Rz
IGl0IHVuZmxpcHBlZC4KLSAgICBmbGlwRm9yV3JpdGluZ01vZGVMb2NhbENvb3JkaW5hdGVzKHZp
c3VhbE92ZXJmbG93UmVjdCk7Ci0gICAgdmlzdWFsT3ZlcmZsb3dSZWN0ID0gcmVnaW9uLnJlY3RG
bG93UG9ydGlvbkZvckJveCgmYm94LCB2aXN1YWxPdmVyZmxvd1JlY3QpOwotICAgIAotICAgIC8v
IE5vdyBmbGlwIGl0IGFnYWluLgotICAgIGZsaXBGb3JXcml0aW5nTW9kZUxvY2FsQ29vcmRpbmF0
ZXModmlzdWFsT3ZlcmZsb3dSZWN0KTsKLSAgICAKLSAgICAvLyBMYXllcnMgYXJlIGluIHBoeXNp
Y2FsIGNvb3JkaW5hdGVzIHNvIHRoZSBvcmlnaW4gbXVzdCBiZSBtb3ZlZCB0byB0aGUgcGh5c2lj
YWwgdG9wLWxlZnQgb2YgdGhlIGZsb3d0aHJlYWQuCi0gICAgaWYgKHN0eWxlKCkuaXNGbGlwcGVk
QmxvY2tzV3JpdGluZ01vZGUoKSkgewotICAgICAgICBpZiAoc3R5bGUoKS5pc0hvcml6b250YWxX
cml0aW5nTW9kZSgpKQotICAgICAgICAgICAgdmlzdWFsT3ZlcmZsb3dSZWN0Lm1vdmVCeShMYXlv
dXRQb2ludCgwLCBoZWlnaHQoKSkpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB2aXN1YWxP
dmVyZmxvd1JlY3QubW92ZUJ5KExheW91dFBvaW50KHdpZHRoKCksIDApKTsKLSAgICB9Ci0KLSAg
ICBjb25zdCBSZW5kZXJCb3gqIGl0ZXJCb3ggPSAmYm94OwotICAgIHdoaWxlIChpdGVyQm94ICYm
IGl0ZXJCb3ggIT0gdGhpcykgewotICAgICAgICBSZW5kZXJCbG9jayogY29udGFpbmVyQmxvY2sg
PSBpdGVyQm94LT5jb250YWluaW5nQmxvY2soKTsKLQotICAgICAgICAvLyBGSVhNRTogVGhpcyBk
b2Vzbid0IHdvcmsgcHJvcGVybHkgd2l0aCBmbGlwcGVkIHdyaXRpbmcgbW9kZXMuCi0gICAgICAg
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUxNDkKLSAgICAg
ICAgaWYgKGl0ZXJCb3gtPmlzUG9zaXRpb25lZCgpKSB7Ci0gICAgICAgICAgICAvLyBGb3IgcG9z
aXRpb25lZCBlbGVtZW50cywganVzdCB1c2UgdGhlIGxheWVyJ3MgYWJzb2x1dGUgYm91bmRpbmcg
Ym94LgotICAgICAgICAgICAgdmlzdWFsT3ZlcmZsb3dSZWN0Lm1vdmVCeShpdGVyQm94LT5sYXll
cigpLT5hYnNvbHV0ZUJvdW5kaW5nQm94KCkubG9jYXRpb24oKSk7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQotCi0gICAgICAgIExheW91dFJlY3QgY3VycmVudEJveFJlY3QgPSBpdGVy
Qm94LT5mcmFtZVJlY3QoKTsKLSAgICAgICAgaWYgKGl0ZXJCb3gtPnN0eWxlKCkuaXNGbGlwcGVk
QmxvY2tzV3JpdGluZ01vZGUoKSkgewotICAgICAgICAgICAgaWYgKGl0ZXJCb3gtPnN0eWxlKCku
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKLSAgICAgICAgICAgICAgICBjdXJyZW50Qm94UmVj
dC5zZXRZKGN1cnJlbnRCb3hSZWN0LmhlaWdodCgpIC0gY3VycmVudEJveFJlY3QubWF4WSgpKTsK
LSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBjdXJyZW50Qm94UmVjdC5zZXRYKGN1
cnJlbnRCb3hSZWN0LndpZHRoKCkgLSBjdXJyZW50Qm94UmVjdC5tYXhYKCkpOwotICAgICAgICB9
Ci0KLSAgICAgICAgaWYgKGNvbnRhaW5lckJsb2NrLT5zdHlsZSgpLndyaXRpbmdNb2RlKCkgIT0g
aXRlckJveC0+c3R5bGUoKS53cml0aW5nTW9kZSgpKQotICAgICAgICAgICAgaXRlckJveC0+Zmxp
cEZvcldyaXRpbmdNb2RlKGN1cnJlbnRCb3hSZWN0KTsKLQotICAgICAgICB2aXN1YWxPdmVyZmxv
d1JlY3QubW92ZUJ5KGN1cnJlbnRCb3hSZWN0LmxvY2F0aW9uKCkpOwotICAgICAgICBpdGVyQm94
ID0gY29udGFpbmVyQmxvY2s7Ci0gICAgfQotCi0gICAgLy8gU2luY2UgdGhlIHB1cnBvc2Ugb2Yg
dGhpcyBtZXRob2QgaXMgdG8gbWFrZSBzdXJlIHRoZSBib3JkZXJzIG9mIGEgZnJhZ21lbnRlZAot
ICAgIC8vIGVsZW1lbnQgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHJlZ2lvbiBpbiB0aGUgZnJhZ21lbnRh
dGlvbiBkaXJlY3Rpb24sIHRoZXJlJ3Mgbm8KLSAgICAvLyBwb2ludCBpbiByZXN0cmljdGluZyB0
aGUgY2xpcHBpbmcgcmVjdCBvbiB0aGUgbG9naWNhbCBYIGF4aXMuIAotICAgIC8vIFRoaXMgYWxz
byBzYXZlcyB1cyB0aGUgdHJvdWJsZSBvZiBoYW5kbGluZyBwZXJjZW50LWJhc2VkIHdpZHRocyBh
bmQgbWFyZ2lucwotICAgIC8vIHNpbmNlIHRoZSBhYnNvbHV0ZSBib3VuZGluZyBib3ggb2YgYSBw
b3NpdGlvbmVkIGVsZW1lbnQgd291bGQgbm90IGNvbnRhaW4KLSAgICAvLyB0aGUgY29ycmVjdCBj
b29yZGluYXRlcyByZWxhdGl2ZSB0byB0aGUgcmVnaW9uIHdlJ3JlIGludGVyZXN0ZWQgaW4sIGJ1
dCByYXRoZXIKLSAgICAvLyByZWxhdGl2ZSB0byB0aGUgYWN0dWFsIGZsb3cgdGhyZWFkLgotICAg
IGlmIChzdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpIHsKLSAgICAgICAgaWYgKGlu
aXRpYWxMb2dpY2FsWCA8IHZpc3VhbE92ZXJmbG93UmVjdC54KCkpCi0gICAgICAgICAgICB2aXN1
YWxPdmVyZmxvd1JlY3Quc2hpZnRYRWRnZVRvKGluaXRpYWxMb2dpY2FsWCk7Ci0gICAgICAgIGlm
ICh2aXN1YWxPdmVyZmxvd1JlY3Qud2lkdGgoKSA8IGZyYW1lUmVjdCgpLndpZHRoKCkpCi0gICAg
ICAgICAgICB2aXN1YWxPdmVyZmxvd1JlY3Quc2V0V2lkdGgoZnJhbWVSZWN0KCkud2lkdGgoKSk7
Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKGluaXRpYWxMb2dpY2FsWCA8IHZpc3VhbE92ZXJm
bG93UmVjdC55KCkpCi0gICAgICAgICAgICB2aXN1YWxPdmVyZmxvd1JlY3Quc2hpZnRZRWRnZVRv
KGluaXRpYWxMb2dpY2FsWCk7Ci0gICAgICAgIGlmICh2aXN1YWxPdmVyZmxvd1JlY3QuaGVpZ2h0
KCkgPCBmcmFtZVJlY3QoKS5oZWlnaHQoKSkKLSAgICAgICAgICAgIHZpc3VhbE92ZXJmbG93UmVj
dC5zZXRIZWlnaHQoZnJhbWVSZWN0KCkuaGVpZ2h0KCkpOwotICAgIH0KLQotICAgIHJldHVybiB2
aXN1YWxPdmVyZmxvd1JlY3Q7Ci19Ci0KIHZvaWQgUmVuZGVyRmxvd1RocmVhZDo6ZmxpcEZvcldy
aXRpbmdNb2RlTG9jYWxDb29yZGluYXRlcyhMYXlvdXRSZWN0JiByZWN0KSBjb25zdAogewogICAg
IGlmICghc3R5bGUoKS5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKaW5kZXggOWQ0N2IxMi4uNmI5Yjk5NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCkBAIC0xOTks
OSArMTk5LDcgQEAgcHVibGljOgogCiAgICAgTGF5b3V0UmVjdCBtYXBGcm9tRmxvd1RocmVhZFRv
TG9jYWwoY29uc3QgUmVuZGVyQm94KiwgY29uc3QgTGF5b3V0UmVjdCYpIGNvbnN0OwogICAgIExh
eW91dFJlY3QgbWFwRnJvbUxvY2FsVG9GbG93VGhyZWFkKGNvbnN0IFJlbmRlckJveCosIGNvbnN0
IExheW91dFJlY3QmKSBjb25zdDsKLSAgICAKLSAgICBMYXlvdXRSZWN0IGRlY29yYXRpb25zQ2xp
cFJlY3RGb3JCb3hJblJlZ2lvbihjb25zdCBSZW5kZXJCb3gmLCBSZW5kZXJSZWdpb24mKSBjb25z
dDsKLSAgICAKKwogICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlTG9jYWxDb29yZGluYXRlcyhM
YXlvdXRSZWN0JikgY29uc3Q7CiAKICAgICAvLyBVc2VkIHRvIGVzdGltYXRlIHRoZSBtYXhpbXVt
IGhlaWdodCBvZiB0aGUgZmxvdyB0aHJlYWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCmluZGV4IDNhMDk4YWYuLmNlYjEzMzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQu
Y3BwCkBAIC0yODMsNiArMjgzLDc2IEBAIHZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpyZWdp
b25DaGFuZ2VkV3JpdGluZ01vZGUoUmVuZGVyUmVnaW9uKiByZWdpb24pCiAgICAgICAgIHVwZGF0
ZVdyaXRpbmdNb2RlKCk7CiB9CiAKK0xheW91dFJlY3QgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpk
ZWNvcmF0aW9uc0NsaXBSZWN0Rm9yQm94SW5OYW1lZEZsb3dGcmFnbWVudChjb25zdCBSZW5kZXJC
b3gmIGJveCwgUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQmIGZyYWdtZW50KSBjb25zdAoreworICAg
IExheW91dFJlY3QgdmlzdWFsT3ZlcmZsb3dSZWN0ID0gZnJhZ21lbnQudmlzdWFsT3ZlcmZsb3dS
ZWN0Rm9yQm94KCZib3gpOworICAgIExheW91dFVuaXQgaW5pdGlhbExvZ2ljYWxYID0gc3R5bGUo
KS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gdmlzdWFsT3ZlcmZsb3dSZWN0LngoKSA6IHZp
c3VhbE92ZXJmbG93UmVjdC55KCk7CisKKyAgICAvLyBUaGUgdmlzdWFsIG92ZXJmbG93IHJlY3Qg
cmV0dXJuZWQgYnkgdmlzdWFsT3ZlcmZsb3dSZWN0Rm9yQm94IGlzIGFscmVhZHkgZmxpcHBlZCBi
dXQgdGhlCisgICAgLy8gUmVuZGVyUmVnaW9uOjpyZWN0Rmxvd1BvcnRpb25Gb3JCb3ggbWV0aG9k
IGV4cGVjdHMgaXQgdW5mbGlwcGVkLgorICAgIGZsaXBGb3JXcml0aW5nTW9kZUxvY2FsQ29vcmRp
bmF0ZXModmlzdWFsT3ZlcmZsb3dSZWN0KTsKKyAgICB2aXN1YWxPdmVyZmxvd1JlY3QgPSBmcmFn
bWVudC5yZWN0Rmxvd1BvcnRpb25Gb3JCb3goJmJveCwgdmlzdWFsT3ZlcmZsb3dSZWN0KTsKKyAg
ICAKKyAgICAvLyBOb3cgZmxpcCBpdCBhZ2Fpbi4KKyAgICBmbGlwRm9yV3JpdGluZ01vZGVMb2Nh
bENvb3JkaW5hdGVzKHZpc3VhbE92ZXJmbG93UmVjdCk7CisgICAgCisgICAgLy8gTGF5ZXJzIGFy
ZSBpbiBwaHlzaWNhbCBjb29yZGluYXRlcyBzbyB0aGUgb3JpZ2luIG11c3QgYmUgbW92ZWQgdG8g
dGhlIHBoeXNpY2FsIHRvcC1sZWZ0IG9mIHRoZSBmbG93dGhyZWFkLgorICAgIGlmIChzdHlsZSgp
LmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpIHsKKyAgICAgICAgaWYgKHN0eWxlKCkuaXNI
b3Jpem9udGFsV3JpdGluZ01vZGUoKSkKKyAgICAgICAgICAgIHZpc3VhbE92ZXJmbG93UmVjdC5t
b3ZlQnkoTGF5b3V0UG9pbnQoMCwgaGVpZ2h0KCkpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgdmlzdWFsT3ZlcmZsb3dSZWN0Lm1vdmVCeShMYXlvdXRQb2ludCh3aWR0aCgpLCAwKSk7Cisg
ICAgfQorCisgICAgY29uc3QgUmVuZGVyQm94KiBpdGVyQm94ID0gJmJveDsKKyAgICB3aGlsZSAo
aXRlckJveCAmJiBpdGVyQm94ICE9IHRoaXMpIHsKKyAgICAgICAgUmVuZGVyQmxvY2sqIGNvbnRh
aW5lckJsb2NrID0gaXRlckJveC0+Y29udGFpbmluZ0Jsb2NrKCk7CisKKyAgICAgICAgLy8gRklY
TUU6IFRoaXMgZG9lc24ndCB3b3JrIHByb3Blcmx5IHdpdGggZmxpcHBlZCB3cml0aW5nIG1vZGVz
LgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1
MTQ5CisgICAgICAgIGlmIChpdGVyQm94LT5pc1Bvc2l0aW9uZWQoKSkgeworICAgICAgICAgICAg
Ly8gRm9yIHBvc2l0aW9uZWQgZWxlbWVudHMsIGp1c3QgdXNlIHRoZSBsYXllcidzIGFic29sdXRl
IGJvdW5kaW5nIGJveC4KKyAgICAgICAgICAgIHZpc3VhbE92ZXJmbG93UmVjdC5tb3ZlQnkoaXRl
ckJveC0+bGF5ZXIoKS0+YWJzb2x1dGVCb3VuZGluZ0JveCgpLmxvY2F0aW9uKCkpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBMYXlvdXRSZWN0IGN1cnJlbnRCb3hS
ZWN0ID0gaXRlckJveC0+ZnJhbWVSZWN0KCk7CisgICAgICAgIGlmIChpdGVyQm94LT5zdHlsZSgp
LmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpIHsKKyAgICAgICAgICAgIGlmIChpdGVyQm94
LT5zdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCisgICAgICAgICAgICAgICAgY3Vy
cmVudEJveFJlY3Quc2V0WShjdXJyZW50Qm94UmVjdC5oZWlnaHQoKSAtIGN1cnJlbnRCb3hSZWN0
Lm1heFkoKSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgY3VycmVudEJveFJl
Y3Quc2V0WChjdXJyZW50Qm94UmVjdC53aWR0aCgpIC0gY3VycmVudEJveFJlY3QubWF4WCgpKTsK
KyAgICAgICAgfQorCisgICAgICAgIGlmIChjb250YWluZXJCbG9jay0+c3R5bGUoKS53cml0aW5n
TW9kZSgpICE9IGl0ZXJCb3gtPnN0eWxlKCkud3JpdGluZ01vZGUoKSkKKyAgICAgICAgICAgIGl0
ZXJCb3gtPmZsaXBGb3JXcml0aW5nTW9kZShjdXJyZW50Qm94UmVjdCk7CisKKyAgICAgICAgdmlz
dWFsT3ZlcmZsb3dSZWN0Lm1vdmVCeShjdXJyZW50Qm94UmVjdC5sb2NhdGlvbigpKTsKKyAgICAg
ICAgaXRlckJveCA9IGNvbnRhaW5lckJsb2NrOworICAgIH0KKworICAgIC8vIFNpbmNlIHRoZSBw
dXJwb3NlIG9mIHRoaXMgbWV0aG9kIGlzIHRvIG1ha2Ugc3VyZSB0aGUgYm9yZGVycyBvZiBhIGZy
YWdtZW50ZWQKKyAgICAvLyBlbGVtZW50IGRvbid0IG92ZXJmbG93IHRoZSByZWdpb24gaW4gdGhl
IGZyYWdtZW50YXRpb24gZGlyZWN0aW9uLCB0aGVyZSdzIG5vCisgICAgLy8gcG9pbnQgaW4gcmVz
dHJpY3RpbmcgdGhlIGNsaXBwaW5nIHJlY3Qgb24gdGhlIGxvZ2ljYWwgWCBheGlzLiAKKyAgICAv
LyBUaGlzIGFsc28gc2F2ZXMgdXMgdGhlIHRyb3VibGUgb2YgaGFuZGxpbmcgcGVyY2VudC1iYXNl
ZCB3aWR0aHMgYW5kIG1hcmdpbnMKKyAgICAvLyBzaW5jZSB0aGUgYWJzb2x1dGUgYm91bmRpbmcg
Ym94IG9mIGEgcG9zaXRpb25lZCBlbGVtZW50IHdvdWxkIG5vdCBjb250YWluCisgICAgLy8gdGhl
IGNvcnJlY3QgY29vcmRpbmF0ZXMgcmVsYXRpdmUgdG8gdGhlIHJlZ2lvbiB3ZSdyZSBpbnRlcmVz
dGVkIGluLCBidXQgcmF0aGVyCisgICAgLy8gcmVsYXRpdmUgdG8gdGhlIGFjdHVhbCBmbG93IHRo
cmVhZC4KKyAgICBpZiAoc3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKSB7CisgICAg
ICAgIGlmIChpbml0aWFsTG9naWNhbFggPCB2aXN1YWxPdmVyZmxvd1JlY3QueCgpKQorICAgICAg
ICAgICAgdmlzdWFsT3ZlcmZsb3dSZWN0LnNoaWZ0WEVkZ2VUbyhpbml0aWFsTG9naWNhbFgpOwor
ICAgICAgICBpZiAodmlzdWFsT3ZlcmZsb3dSZWN0LndpZHRoKCkgPCBmcmFtZVJlY3QoKS53aWR0
aCgpKQorICAgICAgICAgICAgdmlzdWFsT3ZlcmZsb3dSZWN0LnNldFdpZHRoKGZyYW1lUmVjdCgp
LndpZHRoKCkpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChpbml0aWFsTG9naWNhbFggPCB2
aXN1YWxPdmVyZmxvd1JlY3QueSgpKQorICAgICAgICAgICAgdmlzdWFsT3ZlcmZsb3dSZWN0LnNo
aWZ0WUVkZ2VUbyhpbml0aWFsTG9naWNhbFgpOworICAgICAgICBpZiAodmlzdWFsT3ZlcmZsb3dS
ZWN0LmhlaWdodCgpIDwgZnJhbWVSZWN0KCkuaGVpZ2h0KCkpCisgICAgICAgICAgICB2aXN1YWxP
dmVyZmxvd1JlY3Quc2V0SGVpZ2h0KGZyYW1lUmVjdCgpLmhlaWdodCgpKTsKKyAgICB9CisKKyAg
ICByZXR1cm4gdmlzdWFsT3ZlcmZsb3dSZWN0OworfQorCiB2b2lkIFJlbmRlck5hbWVkRmxvd1Ro
cmVhZDo6Y29tcHV0ZU92ZXJzZXRTdGF0ZUZvclJlZ2lvbnMoTGF5b3V0VW5pdCBvbGRDbGllbnRB
ZnRlckVkZ2UpCiB7CiAgICAgTGF5b3V0VW5pdCBoZWlnaHQgPSBvbGRDbGllbnRBZnRlckVkZ2U7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhy
ZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmgK
aW5kZXggMjY5ZGE3Ny4uMjhmNzI4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuaApAQCAtNjgsNiArNjgsOCBAQCBwdWJsaWM6CiAKICAg
ICB2aXJ0dWFsIHZvaWQgcmVnaW9uQ2hhbmdlZFdyaXRpbmdNb2RlKFJlbmRlclJlZ2lvbiopIG92
ZXJyaWRlOwogCisgICAgTGF5b3V0UmVjdCBkZWNvcmF0aW9uc0NsaXBSZWN0Rm9yQm94SW5OYW1l
ZEZsb3dGcmFnbWVudChjb25zdCBSZW5kZXJCb3gmLCBSZW5kZXJOYW1lZEZsb3dGcmFnbWVudCYp
IGNvbnN0OworCiAgICAgYm9vbCBvdmVyc2V0KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyc2V0OyB9
CiAgICAgdm9pZCBjb21wdXRlT3ZlcnNldFN0YXRlRm9yUmVnaW9ucyhMYXlvdXRVbml0IG9sZENs
aWVudEFmdGVyRWRnZSk7CiAK
</data>
<flag name="review"
          id="249537"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225412</attachid>
            <date>2014-02-27 14:39:47 -0800</date>
            <delta_ts>2014-02-27 15:46:52 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>129428.patch</filename>
            <type>text/plain</type>
            <size>12132</size>
            <attacher name="Radu Stavila">stavila</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0N2MwMWU4Li4xNWM2ZDY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTQtMDItMjcgIFJhZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgorCisgICAg
ICAgIFtDU1MgUmVnaW9uc10gTW92ZSBuYW1lZC1mbG93IHNwZWNpZmljIG1ldGhvZCBkZWNvcmF0
aW9uc0NsaXBSZWN0Rm9yQm94SW5SZWdpb24gdG8gUmVuZGVyTmFtZWRGbG93VGhyZWFkCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjk0MjgKKworICAg
ICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgorCisgICAgICAgIFNpbmNlIHRoZSBkZWNv
cmF0aW9uc0NsaXBSZWN0Rm9yQm94SW5SZWdpb24gbWV0aG9kIGlzIGEgbmFtZWQgZmxvdyBzcGVj
aWZpYyBtZXRob2QsIGl0IG1ha2VzCisgICAgICAgIHNlbnNlIHRvIGJlIGluIHRoZSBuYW1lZCBm
bG93IHNwZWNpZmljIGNsYXNzLCBSZW5kZXJOYW1lZEZsb3dUaHJlYWQsIGluc3RlYWQgb2YgdGhl
IG1vcmUKKyAgICAgICAgZ2VuZXJpYyBSZW5kZXJGbG93VGhyZWFkLgorCisgICAgICAgIE5vIG5l
dyB0ZXN0cyByZXF1aXJlZC4gTm8gbmV3IGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnBh
aW50T2JqZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHA6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck5h
bWVkRmxvd1RocmVhZDo6ZGVjb3JhdGlvbnNDbGlwUmVjdEZvckJveEluTmFtZWRGbG93RnJhZ21l
bnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuaDoKKwogMjAx
NC0wMi0yNyAgS3J6eXN6dG9mIEN6ZWNoICA8ay5jemVjaEBzYW1zdW5nLmNvbT4KIAogICAgICAg
ICBbQVRLXSBGaXggc3R5bGUgZXJyb3JzIGluIGVudW0gbWVtYmVycwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggMjdiZjM4OC4uODJiYzZlZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC0yMzAxLDcgKzIzMDEsNyBAQCB2
b2lkIFJlbmRlckJsb2NrOjpwYWludE9iamVjdChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3Qg
TGF5b3V0UG9pbnQmIHBhaW50T2ZmcwogICAgICAgICBpZiAoaGFzQm94RGVjb3JhdGlvbnMoKSkg
ewogICAgICAgICAgICAgYm9vbCBkaWRDbGlwVG9SZWdpb24gPSBmYWxzZTsKICAgICAgICAgICAg
IAotICAgICAgICAgICAgaWYgKHBhaW50SW5mby5wYWludENvbnRhaW5lciAmJiBwYWludEluZm8u
cmVuZGVyTmFtZWRGbG93RnJhZ21lbnQgJiYgcGFpbnRJbmZvLnBhaW50Q29udGFpbmVyLT5pc1Jl
bmRlckZsb3dUaHJlYWQoKSkgeworICAgICAgICAgICAgaWYgKHBhaW50SW5mby5wYWludENvbnRh
aW5lciAmJiBwYWludEluZm8ucmVuZGVyTmFtZWRGbG93RnJhZ21lbnQgJiYgcGFpbnRJbmZvLnBh
aW50Q29udGFpbmVyLT5pc1JlbmRlck5hbWVkRmxvd1RocmVhZCgpKSB7CiAgICAgICAgICAgICAg
ICAgLy8gSWYgdGhpcyBib3ggZ29lcyBiZXlvbmQgdGhlIGN1cnJlbnQgcmVnaW9uLCB0aGVuIG1h
a2Ugc3VyZSBub3QgdG8gb3ZlcmZsb3cgdGhlIHJlZ2lvbi4KICAgICAgICAgICAgICAgICAvLyBU
aGlzIChvdmVyZmxvd2luZyByZWdpb24gWCBhbHRvdWdoIGFsc28gZnJhZ21lbnRlZCB0byByZWdp
b24gWCsxKSBjb3VsZCBoYXBwZW4gd2hlbiBvbmUgb2YgdGhpcyBib3gncyBjaGlsZHJlbgogICAg
ICAgICAgICAgICAgIC8vIG92ZXJmbG93cyByZWdpb24gWCBhbmQgaXMgYW4gdW5zcGxpdHRhYmxl
IGVsZW1lbnQgKGxpa2UgYW4gaW1hZ2UpLgpAQCAtMjMxMCw3ICsyMzEwLDcgQEAgdm9pZCBSZW5k
ZXJCbG9jazo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBv
aW50JiBwYWludE9mZnMKICAgICAgICAgICAgICAgICBwYWludEluZm8uY29udGV4dC0+c2F2ZSgp
OwogICAgICAgICAgICAgICAgIGRpZENsaXBUb1JlZ2lvbiA9IHRydWU7CiAKLSAgICAgICAgICAg
ICAgICBwYWludEluZm8uY29udGV4dC0+Y2xpcCh0b1JlbmRlckZsb3dUaHJlYWQocGFpbnRJbmZv
LnBhaW50Q29udGFpbmVyKS0+ZGVjb3JhdGlvbnNDbGlwUmVjdEZvckJveEluUmVnaW9uKCp0aGlz
LCAqcGFpbnRJbmZvLnJlbmRlck5hbWVkRmxvd0ZyYWdtZW50KSk7CisgICAgICAgICAgICAgICAg
cGFpbnRJbmZvLmNvbnRleHQtPmNsaXAodG9SZW5kZXJOYW1lZEZsb3dUaHJlYWQocGFpbnRJbmZv
LnBhaW50Q29udGFpbmVyKS0+ZGVjb3JhdGlvbnNDbGlwUmVjdEZvckJveEluTmFtZWRGbG93RnJh
Z21lbnQoKnRoaXMsICpwYWludEluZm8ucmVuZGVyTmFtZWRGbG93RnJhZ21lbnQpKTsKICAgICAg
ICAgICAgIH0KIAogICAgICAgICAgICAgcGFpbnRCb3hEZWNvcmF0aW9ucyhwYWludEluZm8sIHBh
aW50T2Zmc2V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
bG93VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFk
LmNwcAppbmRleCBmZDc1NWE1Li40YzdkODUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCkBAIC0xMjYyLDc2ICsxMjYyLDYgQEAgTGF5b3V0UmVj
dCBSZW5kZXJGbG93VGhyZWFkOjptYXBGcm9tRmxvd1RocmVhZFRvTG9jYWwoY29uc3QgUmVuZGVy
Qm94KiBib3gsIGNvbnMKICAgICByZXR1cm4gbG9jYWxSZWN0OwogfQogCi1MYXlvdXRSZWN0IFJl
bmRlckZsb3dUaHJlYWQ6OmRlY29yYXRpb25zQ2xpcFJlY3RGb3JCb3hJblJlZ2lvbihjb25zdCBS
ZW5kZXJCb3gmIGJveCwgUmVuZGVyUmVnaW9uJiByZWdpb24pIGNvbnN0Ci17Ci0gICAgTGF5b3V0
UmVjdCB2aXN1YWxPdmVyZmxvd1JlY3QgPSByZWdpb24udmlzdWFsT3ZlcmZsb3dSZWN0Rm9yQm94
KCZib3gpOwotICAgIExheW91dFVuaXQgaW5pdGlhbExvZ2ljYWxYID0gc3R5bGUoKS5pc0hvcml6
b250YWxXcml0aW5nTW9kZSgpID8gdmlzdWFsT3ZlcmZsb3dSZWN0LngoKSA6IHZpc3VhbE92ZXJm
bG93UmVjdC55KCk7Ci0KLSAgICAvLyBUaGUgdmlzdWFsIG92ZXJmbG93IHJlY3QgcmV0dXJuZWQg
YnkgdmlzdWFsT3ZlcmZsb3dSZWN0Rm9yQm94IGlzIGFscmVhZHkgZmxpcHBlZCBidXQgdGhlCi0g
ICAgLy8gUmVuZGVyUmVnaW9uOjpyZWN0Rmxvd1BvcnRpb25Gb3JCb3ggbWV0aG9kIGV4cGVjdHMg
aXQgdW5mbGlwcGVkLgotICAgIGZsaXBGb3JXcml0aW5nTW9kZUxvY2FsQ29vcmRpbmF0ZXModmlz
dWFsT3ZlcmZsb3dSZWN0KTsKLSAgICB2aXN1YWxPdmVyZmxvd1JlY3QgPSByZWdpb24ucmVjdEZs
b3dQb3J0aW9uRm9yQm94KCZib3gsIHZpc3VhbE92ZXJmbG93UmVjdCk7Ci0gICAgCi0gICAgLy8g
Tm93IGZsaXAgaXQgYWdhaW4uCi0gICAgZmxpcEZvcldyaXRpbmdNb2RlTG9jYWxDb29yZGluYXRl
cyh2aXN1YWxPdmVyZmxvd1JlY3QpOwotICAgIAotICAgIC8vIExheWVycyBhcmUgaW4gcGh5c2lj
YWwgY29vcmRpbmF0ZXMgc28gdGhlIG9yaWdpbiBtdXN0IGJlIG1vdmVkIHRvIHRoZSBwaHlzaWNh
bCB0b3AtbGVmdCBvZiB0aGUgZmxvd3RocmVhZC4KLSAgICBpZiAoc3R5bGUoKS5pc0ZsaXBwZWRC
bG9ja3NXcml0aW5nTW9kZSgpKSB7Ci0gICAgICAgIGlmIChzdHlsZSgpLmlzSG9yaXpvbnRhbFdy
aXRpbmdNb2RlKCkpCi0gICAgICAgICAgICB2aXN1YWxPdmVyZmxvd1JlY3QubW92ZUJ5KExheW91
dFBvaW50KDAsIGhlaWdodCgpKSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHZpc3VhbE92
ZXJmbG93UmVjdC5tb3ZlQnkoTGF5b3V0UG9pbnQod2lkdGgoKSwgMCkpOwotICAgIH0KLQotICAg
IGNvbnN0IFJlbmRlckJveCogaXRlckJveCA9ICZib3g7Ci0gICAgd2hpbGUgKGl0ZXJCb3ggJiYg
aXRlckJveCAhPSB0aGlzKSB7Ci0gICAgICAgIFJlbmRlckJsb2NrKiBjb250YWluZXJCbG9jayA9
IGl0ZXJCb3gtPmNvbnRhaW5pbmdCbG9jaygpOwotCi0gICAgICAgIC8vIEZJWE1FOiBUaGlzIGRv
ZXNuJ3Qgd29yayBwcm9wZXJseSB3aXRoIGZsaXBwZWQgd3JpdGluZyBtb2Rlcy4KLSAgICAgICAg
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTE0OQotICAgICAg
ICBpZiAoaXRlckJveC0+aXNQb3NpdGlvbmVkKCkpIHsKLSAgICAgICAgICAgIC8vIEZvciBwb3Np
dGlvbmVkIGVsZW1lbnRzLCBqdXN0IHVzZSB0aGUgbGF5ZXIncyBhYnNvbHV0ZSBib3VuZGluZyBi
b3guCi0gICAgICAgICAgICB2aXN1YWxPdmVyZmxvd1JlY3QubW92ZUJ5KGl0ZXJCb3gtPmxheWVy
KCktPmFic29sdXRlQm91bmRpbmdCb3goKS5sb2NhdGlvbigpKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICB9Ci0KLSAgICAgICAgTGF5b3V0UmVjdCBjdXJyZW50Qm94UmVjdCA9IGl0ZXJC
b3gtPmZyYW1lUmVjdCgpOwotICAgICAgICBpZiAoaXRlckJveC0+c3R5bGUoKS5pc0ZsaXBwZWRC
bG9ja3NXcml0aW5nTW9kZSgpKSB7Ci0gICAgICAgICAgICBpZiAoaXRlckJveC0+c3R5bGUoKS5p
c0hvcml6b250YWxXcml0aW5nTW9kZSgpKQotICAgICAgICAgICAgICAgIGN1cnJlbnRCb3hSZWN0
LnNldFkoY3VycmVudEJveFJlY3QuaGVpZ2h0KCkgLSBjdXJyZW50Qm94UmVjdC5tYXhZKCkpOwot
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGN1cnJlbnRCb3hSZWN0LnNldFgoY3Vy
cmVudEJveFJlY3Qud2lkdGgoKSAtIGN1cnJlbnRCb3hSZWN0Lm1heFgoKSk7Ci0gICAgICAgIH0K
LQotICAgICAgICBpZiAoY29udGFpbmVyQmxvY2stPnN0eWxlKCkud3JpdGluZ01vZGUoKSAhPSBp
dGVyQm94LT5zdHlsZSgpLndyaXRpbmdNb2RlKCkpCi0gICAgICAgICAgICBpdGVyQm94LT5mbGlw
Rm9yV3JpdGluZ01vZGUoY3VycmVudEJveFJlY3QpOwotCi0gICAgICAgIHZpc3VhbE92ZXJmbG93
UmVjdC5tb3ZlQnkoY3VycmVudEJveFJlY3QubG9jYXRpb24oKSk7Ci0gICAgICAgIGl0ZXJCb3gg
PSBjb250YWluZXJCbG9jazsKLSAgICB9Ci0KLSAgICAvLyBTaW5jZSB0aGUgcHVycG9zZSBvZiB0
aGlzIG1ldGhvZCBpcyB0byBtYWtlIHN1cmUgdGhlIGJvcmRlcnMgb2YgYSBmcmFnbWVudGVkCi0g
ICAgLy8gZWxlbWVudCBkb24ndCBvdmVyZmxvdyB0aGUgcmVnaW9uIGluIHRoZSBmcmFnbWVudGF0
aW9uIGRpcmVjdGlvbiwgdGhlcmUncyBubwotICAgIC8vIHBvaW50IGluIHJlc3RyaWN0aW5nIHRo
ZSBjbGlwcGluZyByZWN0IG9uIHRoZSBsb2dpY2FsIFggYXhpcy4gCi0gICAgLy8gVGhpcyBhbHNv
IHNhdmVzIHVzIHRoZSB0cm91YmxlIG9mIGhhbmRsaW5nIHBlcmNlbnQtYmFzZWQgd2lkdGhzIGFu
ZCBtYXJnaW5zCi0gICAgLy8gc2luY2UgdGhlIGFic29sdXRlIGJvdW5kaW5nIGJveCBvZiBhIHBv
c2l0aW9uZWQgZWxlbWVudCB3b3VsZCBub3QgY29udGFpbgotICAgIC8vIHRoZSBjb3JyZWN0IGNv
b3JkaW5hdGVzIHJlbGF0aXZlIHRvIHRoZSByZWdpb24gd2UncmUgaW50ZXJlc3RlZCBpbiwgYnV0
IHJhdGhlcgotICAgIC8vIHJlbGF0aXZlIHRvIHRoZSBhY3R1YWwgZmxvdyB0aHJlYWQuCi0gICAg
aWYgKHN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkgewotICAgICAgICBpZiAoaW5p
dGlhbExvZ2ljYWxYIDwgdmlzdWFsT3ZlcmZsb3dSZWN0LngoKSkKLSAgICAgICAgICAgIHZpc3Vh
bE92ZXJmbG93UmVjdC5zaGlmdFhFZGdlVG8oaW5pdGlhbExvZ2ljYWxYKTsKLSAgICAgICAgaWYg
KHZpc3VhbE92ZXJmbG93UmVjdC53aWR0aCgpIDwgZnJhbWVSZWN0KCkud2lkdGgoKSkKLSAgICAg
ICAgICAgIHZpc3VhbE92ZXJmbG93UmVjdC5zZXRXaWR0aChmcmFtZVJlY3QoKS53aWR0aCgpKTsK
LSAgICB9IGVsc2UgewotICAgICAgICBpZiAoaW5pdGlhbExvZ2ljYWxYIDwgdmlzdWFsT3ZlcmZs
b3dSZWN0LnkoKSkKLSAgICAgICAgICAgIHZpc3VhbE92ZXJmbG93UmVjdC5zaGlmdFlFZGdlVG8o
aW5pdGlhbExvZ2ljYWxYKTsKLSAgICAgICAgaWYgKHZpc3VhbE92ZXJmbG93UmVjdC5oZWlnaHQo
KSA8IGZyYW1lUmVjdCgpLmhlaWdodCgpKQotICAgICAgICAgICAgdmlzdWFsT3ZlcmZsb3dSZWN0
LnNldEhlaWdodChmcmFtZVJlY3QoKS5oZWlnaHQoKSk7Ci0gICAgfQotCi0gICAgcmV0dXJuIHZp
c3VhbE92ZXJmbG93UmVjdDsKLX0KLQogdm9pZCBSZW5kZXJGbG93VGhyZWFkOjpmbGlwRm9yV3Jp
dGluZ01vZGVMb2NhbENvb3JkaW5hdGVzKExheW91dFJlY3QmIHJlY3QpIGNvbnN0CiB7CiAgICAg
aWYgKCFzdHlsZSgpLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaAppbmRleCA5ZDQ3YjEyLi42YjliOTk0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKQEAgLTE5OSw5
ICsxOTksNyBAQCBwdWJsaWM6CiAKICAgICBMYXlvdXRSZWN0IG1hcEZyb21GbG93VGhyZWFkVG9M
b2NhbChjb25zdCBSZW5kZXJCb3gqLCBjb25zdCBMYXlvdXRSZWN0JikgY29uc3Q7CiAgICAgTGF5
b3V0UmVjdCBtYXBGcm9tTG9jYWxUb0Zsb3dUaHJlYWQoY29uc3QgUmVuZGVyQm94KiwgY29uc3Qg
TGF5b3V0UmVjdCYpIGNvbnN0OwotICAgIAotICAgIExheW91dFJlY3QgZGVjb3JhdGlvbnNDbGlw
UmVjdEZvckJveEluUmVnaW9uKGNvbnN0IFJlbmRlckJveCYsIFJlbmRlclJlZ2lvbiYpIGNvbnN0
OwotICAgIAorCiAgICAgdm9pZCBmbGlwRm9yV3JpdGluZ01vZGVMb2NhbENvb3JkaW5hdGVzKExh
eW91dFJlY3QmKSBjb25zdDsKIAogICAgIC8vIFVzZWQgdG8gZXN0aW1hdGUgdGhlIG1heGltdW0g
aGVpZ2h0IG9mIHRoZSBmbG93IHRocmVhZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKaW5kZXggM2EwOThhZi4uMGQ3ZTliZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5j
cHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJQb3NpdGlvbi5oIgogI2luY2x1ZGUgIlJh
bmdlLmgiCiAjaW5jbHVkZSAiUmVuZGVySW5saW5lLmgiCisjaW5jbHVkZSAiUmVuZGVyTGF5ZXIu
aCIKICNpbmNsdWRlICJSZW5kZXJOYW1lZEZsb3dGcmFnbWVudC5oIgogI2luY2x1ZGUgIlJlbmRl
clRleHQuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCkBAIC0yODMsNiArMjg0LDc2IEBAIHZv
aWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpyZWdpb25DaGFuZ2VkV3JpdGluZ01vZGUoUmVuZGVy
UmVnaW9uKiByZWdpb24pCiAgICAgICAgIHVwZGF0ZVdyaXRpbmdNb2RlKCk7CiB9CiAKK0xheW91
dFJlY3QgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpkZWNvcmF0aW9uc0NsaXBSZWN0Rm9yQm94SW5O
YW1lZEZsb3dGcmFnbWVudChjb25zdCBSZW5kZXJCb3gmIGJveCwgUmVuZGVyTmFtZWRGbG93RnJh
Z21lbnQmIGZyYWdtZW50KSBjb25zdAoreworICAgIExheW91dFJlY3QgdmlzdWFsT3ZlcmZsb3dS
ZWN0ID0gZnJhZ21lbnQudmlzdWFsT3ZlcmZsb3dSZWN0Rm9yQm94KCZib3gpOworICAgIExheW91
dFVuaXQgaW5pdGlhbExvZ2ljYWxYID0gc3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
ID8gdmlzdWFsT3ZlcmZsb3dSZWN0LngoKSA6IHZpc3VhbE92ZXJmbG93UmVjdC55KCk7CisKKyAg
ICAvLyBUaGUgdmlzdWFsIG92ZXJmbG93IHJlY3QgcmV0dXJuZWQgYnkgdmlzdWFsT3ZlcmZsb3dS
ZWN0Rm9yQm94IGlzIGFscmVhZHkgZmxpcHBlZCBidXQgdGhlCisgICAgLy8gUmVuZGVyUmVnaW9u
OjpyZWN0Rmxvd1BvcnRpb25Gb3JCb3ggbWV0aG9kIGV4cGVjdHMgaXQgdW5mbGlwcGVkLgorICAg
IGZsaXBGb3JXcml0aW5nTW9kZUxvY2FsQ29vcmRpbmF0ZXModmlzdWFsT3ZlcmZsb3dSZWN0KTsK
KyAgICB2aXN1YWxPdmVyZmxvd1JlY3QgPSBmcmFnbWVudC5yZWN0Rmxvd1BvcnRpb25Gb3JCb3go
JmJveCwgdmlzdWFsT3ZlcmZsb3dSZWN0KTsKKyAgICAKKyAgICAvLyBOb3cgZmxpcCBpdCBhZ2Fp
bi4KKyAgICBmbGlwRm9yV3JpdGluZ01vZGVMb2NhbENvb3JkaW5hdGVzKHZpc3VhbE92ZXJmbG93
UmVjdCk7CisgICAgCisgICAgLy8gTGF5ZXJzIGFyZSBpbiBwaHlzaWNhbCBjb29yZGluYXRlcyBz
byB0aGUgb3JpZ2luIG11c3QgYmUgbW92ZWQgdG8gdGhlIHBoeXNpY2FsIHRvcC1sZWZ0IG9mIHRo
ZSBmbG93dGhyZWFkLgorICAgIGlmIChzdHlsZSgpLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2Rl
KCkpIHsKKyAgICAgICAgaWYgKHN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKKyAg
ICAgICAgICAgIHZpc3VhbE92ZXJmbG93UmVjdC5tb3ZlQnkoTGF5b3V0UG9pbnQoMCwgaGVpZ2h0
KCkpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdmlzdWFsT3ZlcmZsb3dSZWN0Lm1vdmVC
eShMYXlvdXRQb2ludCh3aWR0aCgpLCAwKSk7CisgICAgfQorCisgICAgY29uc3QgUmVuZGVyQm94
KiBpdGVyQm94ID0gJmJveDsKKyAgICB3aGlsZSAoaXRlckJveCAmJiBpdGVyQm94ICE9IHRoaXMp
IHsKKyAgICAgICAgUmVuZGVyQmxvY2sqIGNvbnRhaW5lckJsb2NrID0gaXRlckJveC0+Y29udGFp
bmluZ0Jsb2NrKCk7CisKKyAgICAgICAgLy8gRklYTUU6IFRoaXMgZG9lc24ndCB3b3JrIHByb3Bl
cmx5IHdpdGggZmxpcHBlZCB3cml0aW5nIG1vZGVzLgorICAgICAgICAvLyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MTQ5CisgICAgICAgIGlmIChpdGVyQm94LT5p
c1Bvc2l0aW9uZWQoKSkgeworICAgICAgICAgICAgLy8gRm9yIHBvc2l0aW9uZWQgZWxlbWVudHMs
IGp1c3QgdXNlIHRoZSBsYXllcidzIGFic29sdXRlIGJvdW5kaW5nIGJveC4KKyAgICAgICAgICAg
IHZpc3VhbE92ZXJmbG93UmVjdC5tb3ZlQnkoaXRlckJveC0+bGF5ZXIoKS0+YWJzb2x1dGVCb3Vu
ZGluZ0JveCgpLmxvY2F0aW9uKCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKwor
ICAgICAgICBMYXlvdXRSZWN0IGN1cnJlbnRCb3hSZWN0ID0gaXRlckJveC0+ZnJhbWVSZWN0KCk7
CisgICAgICAgIGlmIChpdGVyQm94LT5zdHlsZSgpLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2Rl
KCkpIHsKKyAgICAgICAgICAgIGlmIChpdGVyQm94LT5zdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkpCisgICAgICAgICAgICAgICAgY3VycmVudEJveFJlY3Quc2V0WShjdXJyZW50Qm94
UmVjdC5oZWlnaHQoKSAtIGN1cnJlbnRCb3hSZWN0Lm1heFkoKSk7CisgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgY3VycmVudEJveFJlY3Quc2V0WChjdXJyZW50Qm94UmVjdC53aWR0
aCgpIC0gY3VycmVudEJveFJlY3QubWF4WCgpKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChj
b250YWluZXJCbG9jay0+c3R5bGUoKS53cml0aW5nTW9kZSgpICE9IGl0ZXJCb3gtPnN0eWxlKCku
d3JpdGluZ01vZGUoKSkKKyAgICAgICAgICAgIGl0ZXJCb3gtPmZsaXBGb3JXcml0aW5nTW9kZShj
dXJyZW50Qm94UmVjdCk7CisKKyAgICAgICAgdmlzdWFsT3ZlcmZsb3dSZWN0Lm1vdmVCeShjdXJy
ZW50Qm94UmVjdC5sb2NhdGlvbigpKTsKKyAgICAgICAgaXRlckJveCA9IGNvbnRhaW5lckJsb2Nr
OworICAgIH0KKworICAgIC8vIFNpbmNlIHRoZSBwdXJwb3NlIG9mIHRoaXMgbWV0aG9kIGlzIHRv
IG1ha2Ugc3VyZSB0aGUgYm9yZGVycyBvZiBhIGZyYWdtZW50ZWQKKyAgICAvLyBlbGVtZW50IGRv
bid0IG92ZXJmbG93IHRoZSByZWdpb24gaW4gdGhlIGZyYWdtZW50YXRpb24gZGlyZWN0aW9uLCB0
aGVyZSdzIG5vCisgICAgLy8gcG9pbnQgaW4gcmVzdHJpY3RpbmcgdGhlIGNsaXBwaW5nIHJlY3Qg
b24gdGhlIGxvZ2ljYWwgWCBheGlzLiAKKyAgICAvLyBUaGlzIGFsc28gc2F2ZXMgdXMgdGhlIHRy
b3VibGUgb2YgaGFuZGxpbmcgcGVyY2VudC1iYXNlZCB3aWR0aHMgYW5kIG1hcmdpbnMKKyAgICAv
LyBzaW5jZSB0aGUgYWJzb2x1dGUgYm91bmRpbmcgYm94IG9mIGEgcG9zaXRpb25lZCBlbGVtZW50
IHdvdWxkIG5vdCBjb250YWluCisgICAgLy8gdGhlIGNvcnJlY3QgY29vcmRpbmF0ZXMgcmVsYXRp
dmUgdG8gdGhlIHJlZ2lvbiB3ZSdyZSBpbnRlcmVzdGVkIGluLCBidXQgcmF0aGVyCisgICAgLy8g
cmVsYXRpdmUgdG8gdGhlIGFjdHVhbCBmbG93IHRocmVhZC4KKyAgICBpZiAoc3R5bGUoKS5pc0hv
cml6b250YWxXcml0aW5nTW9kZSgpKSB7CisgICAgICAgIGlmIChpbml0aWFsTG9naWNhbFggPCB2
aXN1YWxPdmVyZmxvd1JlY3QueCgpKQorICAgICAgICAgICAgdmlzdWFsT3ZlcmZsb3dSZWN0LnNo
aWZ0WEVkZ2VUbyhpbml0aWFsTG9naWNhbFgpOworICAgICAgICBpZiAodmlzdWFsT3ZlcmZsb3dS
ZWN0LndpZHRoKCkgPCBmcmFtZVJlY3QoKS53aWR0aCgpKQorICAgICAgICAgICAgdmlzdWFsT3Zl
cmZsb3dSZWN0LnNldFdpZHRoKGZyYW1lUmVjdCgpLndpZHRoKCkpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIGlmIChpbml0aWFsTG9naWNhbFggPCB2aXN1YWxPdmVyZmxvd1JlY3QueSgpKQorICAg
ICAgICAgICAgdmlzdWFsT3ZlcmZsb3dSZWN0LnNoaWZ0WUVkZ2VUbyhpbml0aWFsTG9naWNhbFgp
OworICAgICAgICBpZiAodmlzdWFsT3ZlcmZsb3dSZWN0LmhlaWdodCgpIDwgZnJhbWVSZWN0KCku
aGVpZ2h0KCkpCisgICAgICAgICAgICB2aXN1YWxPdmVyZmxvd1JlY3Quc2V0SGVpZ2h0KGZyYW1l
UmVjdCgpLmhlaWdodCgpKTsKKyAgICB9CisKKyAgICByZXR1cm4gdmlzdWFsT3ZlcmZsb3dSZWN0
OworfQorCiB2b2lkIFJlbmRlck5hbWVkRmxvd1RocmVhZDo6Y29tcHV0ZU92ZXJzZXRTdGF0ZUZv
clJlZ2lvbnMoTGF5b3V0VW5pdCBvbGRDbGllbnRBZnRlckVkZ2UpCiB7CiAgICAgTGF5b3V0VW5p
dCBoZWlnaHQgPSBvbGRDbGllbnRBZnRlckVkZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmgKaW5kZXggMjY5ZGE3Ny4uMjhmNzI4OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuaApA
QCAtNjgsNiArNjgsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVnaW9uQ2hhbmdl
ZFdyaXRpbmdNb2RlKFJlbmRlclJlZ2lvbiopIG92ZXJyaWRlOwogCisgICAgTGF5b3V0UmVjdCBk
ZWNvcmF0aW9uc0NsaXBSZWN0Rm9yQm94SW5OYW1lZEZsb3dGcmFnbWVudChjb25zdCBSZW5kZXJC
b3gmLCBSZW5kZXJOYW1lZEZsb3dGcmFnbWVudCYpIGNvbnN0OworCiAgICAgYm9vbCBvdmVyc2V0
KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyc2V0OyB9CiAgICAgdm9pZCBjb21wdXRlT3ZlcnNldFN0
YXRlRm9yUmVnaW9ucyhMYXlvdXRVbml0IG9sZENsaWVudEFmdGVyRWRnZSk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>