<?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>96668</bug_id>
          
          <creation_ts>2012-09-13 10:40:22 -0700</creation_ts>
          <short_desc>[CSS Shaders] Enable anti-aliasing on the FECustomFilter</short_desc>
          <delta_ts>2012-09-14 13:08:28 -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>Layout and Rendering</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexandru Chiculita">achicu</reporter>
          <assigned_to name="Alexandru Chiculita">achicu</assigned_to>
          <cc>dino</cc>
    
    <cc>vhardy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>719656</commentid>
    <comment_count>0</comment_count>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2012-09-13 10:40:22 -0700</bug_when>
    <thetext>FECustomFilter needs anti-aliasing, otherwise the result has stair-case effect on the margins.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720143</commentid>
    <comment_count>1</comment_count>
      <attachid>164007</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2012-09-13 17:22:12 -0700</bug_when>
    <thetext>Created attachment 164007
Patch V1

This patch will fail to apply because it needs the refactor in https://bugs.webkit.org/show_bug.cgi?id=96579 .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720827</commentid>
    <comment_count>2</comment_count>
      <attachid>164007</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-09-14 09:29:22 -0700</bug_when>
    <thetext>Comment on attachment 164007
Patch V1

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

&gt; Source/WebCore/platform/graphics/filters/FECustomFilter.cpp:351
&gt; +    int sampleCount = std::min(4, maxSampleCount);

While it&apos;s only used here, I think we should define a MAX_CUSTOM_SAMPLES or something at the top of the file.

&gt; Source/WebCore/platform/graphics/filters/FECustomFilter.cpp:362
&gt; +    m_context-&gt;bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_multisampleFrameBuffer);
&gt; +
&gt; +    m_context-&gt;bindRenderbuffer(GraphicsContext3D::RENDERBUFFER, m_multisampleRenderBuffer);

nit: remove blank line</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721050</commentid>
    <comment_count>3</comment_count>
      <attachid>164210</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2012-09-14 12:51:00 -0700</bug_when>
    <thetext>Created attachment 164210
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721051</commentid>
    <comment_count>4</comment_count>
      <attachid>164210</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2012-09-14 12:53:36 -0700</bug_when>
    <thetext>Comment on attachment 164210
Patch for landing

The patch cannot apply because of the diff in the changelog :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721069</commentid>
    <comment_count>5</comment_count>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2012-09-14 13:08:28 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/128646 .</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164007</attachid>
            <date>2012-09-13 17:22:12 -0700</date>
            <delta_ts>2012-09-14 12:51:00 -0700</delta_ts>
            <desc>Patch V1</desc>
            <filename>bug96668.patch</filename>
            <type>text/plain</type>
            <size>12001</size>
            <attacher name="Alexandru Chiculita">achicu</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkMzRjYjNlLi5iYjk5ZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzQg
QEAKIDIwMTItMDktMTMgIEFsZXhhbmRydSBDaGljdWxpdGEgIDxhY2hpY3VAYWRvYmUuY29tPgog
CisgICAgICAgIFtDU1MgU2hhZGVyc10gRW5hYmxlIGFudGktYWxpYXNpbmcgb24gdGhlIEZFQ3Vz
dG9tRmlsdGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05NjY2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZGVkIG11bHRpc2FtcGxlIGZyYW1lIGJ1ZmZlciBmb3IgdGhlIEZFQ3VzdG9tRmlsdGVyLiBJ
dCB3aWxsIHRyeSB0byBhbGxvY2F0ZSBhIG11bHRpc2FtcGxlIGZyYW1lYnVmZmVyCisgICAgICAg
IHdpdGggYSBtYXhpbXVtIHNhbXBsZSBjb3VudCBvZiA0LiBBdCB0aGUgZW5kIGl0IHdpbGwgYmxp
dCB0aGUgc2FtcGxlcyBiYWNrIHRvIHRoZSBvcmlnaW5hbCBmcmFtZSBidWZmZXIsCisgICAgICAg
IHNvIHRoYXQgd2UgY2FuIHJlYWQgdGhlIHBpeGVscyBiYWNrLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggdXNlcyBleHRlbnNpb25zIEdMX0FOR0xFX2ZyYW1lYnVmZmVyX211bHRpc2FtcGxlLCBHTF9B
TkdMRV9mcmFtZWJ1ZmZlcl9ibGl0CisgICAgICAgIGFuZCBHTF9PRVNfcmdiOF9yZ2JhOC4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMsIG11bHRpc2FtcGxpbmcgaXMgbm90IHdvcmtpbmcgaW4gQ2hy
b21pdW0gRFJUIGFuZCBoYXMgbm90IHBpeGVsIGVmZmVjdCBvbiBXZWJLaXQgTWFjLgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGRUN1c3RvbUZpbHRlcjo6RkVDdXN0b21GaWx0ZXIpOgorICAgICAgICAo
V2ViQ29yZTo6RkVDdXN0b21GaWx0ZXI6OmRlbGV0ZVJlbmRlckJ1ZmZlcnMpOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpGRUN1c3RvbUZpbHRlcjo6ZGVsZXRlTXVsdGlz
YW1wbGVSZW5kZXJCdWZmZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpk
cmF3RmlsdGVyTWVzaCk6CisgICAgICAgIChXZWJDb3JlOjpGRUN1c3RvbUZpbHRlcjo6Y3JlYXRl
TXVsdGlzYW1wbGVCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6RkVDdXN0b21GaWx0ZXI6OnJl
c29sdmVNdWx0aXNhbXBsZUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpGRUN1c3RvbUZpbHRl
cjo6Y2FuVXNlTXVsdGlzYW1wbGVCdWZmZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9t
RmlsdGVyOjpyZXNpemVNdWx0aXNhbXBsZUJ1ZmZlcnMpOgorICAgICAgICAoV2ViQ29yZTo6RkVD
dXN0b21GaWx0ZXI6OnJlc2l6ZUNvbnRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuaDoKKworMjAxMi0wOS0xMyAgQWxleGFuZHJ1IENoaWN1
bGl0YSAgPGFjaGljdUBhZG9iZS5jb20+CisKICAgICAgICAgW0NTUyBTaGFkZXJzXVtTa2lhXSBB
ZGQgRkVDdXN0b21GaWx0ZXJTa2lhLmNwcCB0byBpbXBsZW1lbnQgYSBmYXN0ZXIgd2F5IHRvIHJ1
biB0aGUgY3VzdG9tIGZpbHRlcnMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk2NTc5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAKaW5kZXggOGJjMzI4Ny4u
MGI4YThjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9GRUN1c3RvbUZpbHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNs
dWRlICJDdXN0b21GaWx0ZXJUcmFuc2Zvcm1QYXJhbWV0ZXIuaCIKICNpbmNsdWRlICJDdXN0b21G
aWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmgiCiAjaW5jbHVkZSAiRHJhd2luZ0J1ZmZlci5oIgorI2lu
Y2x1ZGUgIkV4dGVuc2lvbnMzRC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNELmgiCiAj
aW5jbHVkZSAiSW1hZ2VEYXRhLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKQEAgLTg3
LDYgKzg4LDEwIEBAIEZFQ3VzdG9tRmlsdGVyOjpGRUN1c3RvbUZpbHRlcihGaWx0ZXIqIGZpbHRl
ciwgQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dCogY3VzdG9tCiAgICAgLCBtX2ZyYW1lQnVmZmVy
KDApCiAgICAgLCBtX2RlcHRoQnVmZmVyKDApCiAgICAgLCBtX2Rlc3RUZXh0dXJlKDApCisgICAg
LCBtX3RyaWVkTXVsdGlzYW1wbGVCdWZmZXIoZmFsc2UpCisgICAgLCBtX211bHRpc2FtcGxlRnJh
bWVCdWZmZXIoMCkKKyAgICAsIG1fbXVsdGlzYW1wbGVSZW5kZXJCdWZmZXIoMCkKKyAgICAsIG1f
bXVsdGlzYW1wbGVEZXB0aEJ1ZmZlcigwKQogICAgICwgbV9wYXJhbWV0ZXJzKHBhcmFtZXRlcnMp
CiAgICAgLCBtX21lc2hSb3dzKG1lc2hSb3dzKQogICAgICwgbV9tZXNoQ29sdW1ucyhtZXNoQ29s
dW1ucykKQEAgLTEzMiw2ICsxMzcsMjYgQEAgdm9pZCBGRUN1c3RvbUZpbHRlcjo6ZGVsZXRlUmVu
ZGVyQnVmZmVycygpCiAgICAgICAgIG1fY29udGV4dC0+ZGVsZXRlVGV4dHVyZShtX2Rlc3RUZXh0
dXJlKTsKICAgICAgICAgbV9kZXN0VGV4dHVyZSA9IDA7CiAgICAgfQorICAgIGRlbGV0ZU11bHRp
c2FtcGxlUmVuZGVyQnVmZmVycygpOworfQorCit2b2lkIEZFQ3VzdG9tRmlsdGVyOjpkZWxldGVN
dWx0aXNhbXBsZVJlbmRlckJ1ZmZlcnMoKQoreworICAgIGlmIChtX211bHRpc2FtcGxlRnJhbWVC
dWZmZXIpIHsKKyAgICAgICAgLy8gTWFrZSBzdXJlIHRvIHVuYmluZCBhbnkgZnJhbWVidWZmZXIg
ZnJvbSB0aGUgY29udGV4dCBmaXJzdCwgb3RoZXJ3aXNlCisgICAgICAgIC8vIHNvbWUgcGxhdGZv
cm1zIG1pZ2h0IHJlZnVzZSB0byBiaW5kIHRoZSBzYW1lIGJ1ZmZlciBpZCBhZ2Fpbi4KKyAgICAg
ICAgbV9jb250ZXh0LT5iaW5kRnJhbWVidWZmZXIoR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVG
RkVSLCAwKTsKKyAgICAgICAgbV9jb250ZXh0LT5kZWxldGVGcmFtZWJ1ZmZlcihtX211bHRpc2Ft
cGxlRnJhbWVCdWZmZXIpOworICAgICAgICBtX211bHRpc2FtcGxlRnJhbWVCdWZmZXIgPSAwOwor
ICAgIH0KKyAgICBpZiAobV9tdWx0aXNhbXBsZVJlbmRlckJ1ZmZlcikgeworICAgICAgICBtX2Nv
bnRleHQtPmRlbGV0ZVJlbmRlcmJ1ZmZlcihtX211bHRpc2FtcGxlUmVuZGVyQnVmZmVyKTsKKyAg
ICAgICAgbV9tdWx0aXNhbXBsZVJlbmRlckJ1ZmZlciA9IDA7CisgICAgfQorICAgIGlmIChtX211
bHRpc2FtcGxlRGVwdGhCdWZmZXIpIHsKKyAgICAgICAgbV9jb250ZXh0LT5kZWxldGVSZW5kZXJi
dWZmZXIobV9tdWx0aXNhbXBsZURlcHRoQnVmZmVyKTsKKyAgICAgICAgbV9tdWx0aXNhbXBsZURl
cHRoQnVmZmVyID0gMDsKKyAgICB9CiB9CiAKIHZvaWQgRkVDdXN0b21GaWx0ZXI6OnBsYXRmb3Jt
QXBwbHlTb2Z0d2FyZSgpCkBAIC0xNTUsNyArMTgwLDggQEAgdm9pZCBGRUN1c3RvbUZpbHRlcjo6
Y2xlYXJTaGFkZXJSZXN1bHQoKQogCiB2b2lkIEZFQ3VzdG9tRmlsdGVyOjpkcmF3RmlsdGVyTWVz
aChQbGF0Zm9ybTNET2JqZWN0IGlucHV0VGV4dHVyZSkKIHsKLSAgICBtX2NvbnRleHQtPmJpbmRG
cmFtZWJ1ZmZlcihHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVIsIG1fZnJhbWVCdWZmZXIp
OworICAgIGJvb2wgbXVsdGlzYW1wbGUgPSBjYW5Vc2VNdWx0aXNhbXBsZUJ1ZmZlcnMoKTsKKyAg
ICBtX2NvbnRleHQtPmJpbmRGcmFtZWJ1ZmZlcihHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZG
RVIsIG11bHRpc2FtcGxlID8gbV9tdWx0aXNhbXBsZUZyYW1lQnVmZmVyIDogbV9mcmFtZUJ1ZmZl
cik7CiAgICAgbV9jb250ZXh0LT52aWV3cG9ydCgwLCAwLCBtX2NvbnRleHRTaXplLndpZHRoKCks
IG1fY29udGV4dFNpemUuaGVpZ2h0KCkpOwogICAgIAogICAgIG1fY29udGV4dC0+Y2xlYXJDb2xv
cigwLCAwLCAwLCAwKTsKQEAgLTE2NCw2ICsxOTAsOSBAQCB2b2lkIEZFQ3VzdG9tRmlsdGVyOjpk
cmF3RmlsdGVyTWVzaChQbGF0Zm9ybTNET2JqZWN0IGlucHV0VGV4dHVyZSkKICAgICBiaW5kUHJv
Z3JhbUFuZEJ1ZmZlcnMoaW5wdXRUZXh0dXJlKTsKICAgICBtX2NvbnRleHQtPmRyYXdFbGVtZW50
cyhHcmFwaGljc0NvbnRleHQzRDo6VFJJQU5HTEVTLCBtX21lc2gtPmluZGljZXNDb3VudCgpLCBH
cmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfU0hPUlQsIDApOwogICAgIHVuYmluZFZlcnRleEF0
dHJpYnV0ZXMoKTsKKworICAgIGlmIChtdWx0aXNhbXBsZSkKKyAgICAgICAgcmVzb2x2ZU11bHRp
c2FtcGxlQnVmZmVyKCk7CiB9CiAKIGJvb2wgRkVDdXN0b21GaWx0ZXI6OnByZXBhcmVGb3JEcmF3
aW5nKEN1c3RvbUZpbHRlckRyYXdUeXBlIGZpbHRlckRyYXdUeXBlKQpAQCAtMjYzLDYgKzI5Miw5
MSBAQCBib29sIEZFQ3VzdG9tRmlsdGVyOjplbnN1cmVGcmFtZUJ1ZmZlcigpCiAgICAgcmV0dXJu
IG1fZnJhbWVCdWZmZXIgJiYgbV9kZXB0aEJ1ZmZlciAmJiBtX2Rlc3RUZXh0dXJlOwogfQogCiti
b29sIEZFQ3VzdG9tRmlsdGVyOjpjcmVhdGVNdWx0aXNhbXBsZUJ1ZmZlcigpCit7CisgICAgQVNT
RVJUKCFtX3RyaWVkTXVsdGlzYW1wbGVCdWZmZXIpOworICAgIG1fdHJpZWRNdWx0aXNhbXBsZUJ1
ZmZlciA9IHRydWU7CisKKyAgICBFeHRlbnNpb25zM0QqIGV4dGVuc2lvbnMgPSBtX2NvbnRleHQt
PmdldEV4dGVuc2lvbnMoKTsKKyAgICBpZiAoIWV4dGVuc2lvbnMgCisgICAgICAgIHx8ICFleHRl
bnNpb25zLT5zdXBwb3J0cygiR0xfQU5HTEVfZnJhbWVidWZmZXJfbXVsdGlzYW1wbGUiKQorICAg
ICAgICB8fCAhZXh0ZW5zaW9ucy0+c3VwcG9ydHMoIkdMX0FOR0xFX2ZyYW1lYnVmZmVyX2JsaXQi
KQorICAgICAgICB8fCAhZXh0ZW5zaW9ucy0+c3VwcG9ydHMoIkdMX09FU19yZ2I4X3JnYmE4Iikp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGV4dGVuc2lvbnMtPmVuc3VyZUVuYWJsZWQo
IkdMX0FOR0xFX2ZyYW1lYnVmZmVyX2JsaXQiKTsKKyAgICBleHRlbnNpb25zLT5lbnN1cmVFbmFi
bGVkKCJHTF9BTkdMRV9mcmFtZWJ1ZmZlcl9tdWx0aXNhbXBsZSIpOworICAgIGV4dGVuc2lvbnMt
PmVuc3VyZUVuYWJsZWQoIkdMX09FU19yZ2I4X3JnYmE4Iik7CisKKyAgICBpZiAoIW1fbXVsdGlz
YW1wbGVGcmFtZUJ1ZmZlcikKKyAgICAgICAgbV9tdWx0aXNhbXBsZUZyYW1lQnVmZmVyID0gbV9j
b250ZXh0LT5jcmVhdGVGcmFtZWJ1ZmZlcigpOworICAgIGlmICghbV9tdWx0aXNhbXBsZVJlbmRl
ckJ1ZmZlcikKKyAgICAgICAgbV9tdWx0aXNhbXBsZVJlbmRlckJ1ZmZlciA9IG1fY29udGV4dC0+
Y3JlYXRlUmVuZGVyYnVmZmVyKCk7CisgICAgaWYgKCFtX211bHRpc2FtcGxlRGVwdGhCdWZmZXIp
CisgICAgICAgIG1fbXVsdGlzYW1wbGVEZXB0aEJ1ZmZlciA9IG1fY29udGV4dC0+Y3JlYXRlUmVu
ZGVyYnVmZmVyKCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBGRUN1c3RvbUZpbHRl
cjo6cmVzb2x2ZU11bHRpc2FtcGxlQnVmZmVyKCkKK3sKKyAgICBBU1NFUlQobV90cmllZE11bHRp
c2FtcGxlQnVmZmVyICYmIG1fbXVsdGlzYW1wbGVGcmFtZUJ1ZmZlciAmJiBtX211bHRpc2FtcGxl
UmVuZGVyQnVmZmVyICYmIG1fbXVsdGlzYW1wbGVEZXB0aEJ1ZmZlcik7CisgICAgbV9jb250ZXh0
LT5iaW5kRnJhbWVidWZmZXIoRXh0ZW5zaW9uczNEOjpSRUFEX0ZSQU1FQlVGRkVSLCBtX211bHRp
c2FtcGxlRnJhbWVCdWZmZXIpOworICAgIG1fY29udGV4dC0+YmluZEZyYW1lYnVmZmVyKEV4dGVu
c2lvbnMzRDo6RFJBV19GUkFNRUJVRkZFUiwgbV9mcmFtZUJ1ZmZlcik7CisKKyAgICBBU1NFUlQo
bV9jb250ZXh0LT5nZXRFeHRlbnNpb25zKCkpOworICAgIG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9u
cygpLT5ibGl0RnJhbWVidWZmZXIoMCwgMCwgbV9jb250ZXh0U2l6ZS53aWR0aCgpLCBtX2NvbnRl
eHRTaXplLmhlaWdodCgpLCAwLCAwLCBtX2NvbnRleHRTaXplLndpZHRoKCksIG1fY29udGV4dFNp
emUuaGVpZ2h0KCksIEdyYXBoaWNzQ29udGV4dDNEOjpDT0xPUl9CVUZGRVJfQklULCBHcmFwaGlj
c0NvbnRleHQzRDo6TkVBUkVTVCk7CisKKyAgICBtX2NvbnRleHQtPmJpbmRGcmFtZWJ1ZmZlcihF
eHRlbnNpb25zM0Q6OlJFQURfRlJBTUVCVUZGRVIsIDApOworICAgIG1fY29udGV4dC0+YmluZEZy
YW1lYnVmZmVyKEV4dGVuc2lvbnMzRDo6RFJBV19GUkFNRUJVRkZFUiwgMCk7CisgICAgCisgICAg
bV9jb250ZXh0LT5iaW5kRnJhbWVidWZmZXIoR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVS
LCBtX2ZyYW1lQnVmZmVyKTsKK30KKworYm9vbCBGRUN1c3RvbUZpbHRlcjo6Y2FuVXNlTXVsdGlz
YW1wbGVCdWZmZXJzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV90cmllZE11bHRpc2FtcGxlQnVm
ZmVyICYmIG1fbXVsdGlzYW1wbGVGcmFtZUJ1ZmZlciAmJiBtX211bHRpc2FtcGxlUmVuZGVyQnVm
ZmVyICYmIG1fbXVsdGlzYW1wbGVEZXB0aEJ1ZmZlcjsKK30KKworYm9vbCBGRUN1c3RvbUZpbHRl
cjo6cmVzaXplTXVsdGlzYW1wbGVCdWZmZXJzKGNvbnN0IEludFNpemUmIG5ld0NvbnRleHRTaXpl
KQoreworICAgIGlmICghbV90cmllZE11bHRpc2FtcGxlQnVmZmVyICYmICFjcmVhdGVNdWx0aXNh
bXBsZUJ1ZmZlcigpKQorICAgICAgICAgcmV0dXJuIGZhbHNlOworIAorICAgIGlmICghY2FuVXNl
TXVsdGlzYW1wbGVCdWZmZXJzKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGludCBt
YXhTYW1wbGVDb3VudCA9IDA7CisgICAgbV9jb250ZXh0LT5nZXRJbnRlZ2VydihFeHRlbnNpb25z
M0Q6Ok1BWF9TQU1QTEVTLCAmbWF4U2FtcGxlQ291bnQpOworICAgIGludCBzYW1wbGVDb3VudCA9
IHN0ZDo6bWluKDQsIG1heFNhbXBsZUNvdW50KTsKKyAgICBpZiAoIXNhbXBsZUNvdW50KSB7Cisg
ICAgICAgIGRlbGV0ZU11bHRpc2FtcGxlUmVuZGVyQnVmZmVycygpOworICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgfQorCisgICAgRXh0ZW5zaW9uczNEKiBleHRlbnNpb25zID0gbV9jb250ZXh0
LT5nZXRFeHRlbnNpb25zKCk7CisgICAgQVNTRVJUKGV4dGVuc2lvbnMpOworICAgIAorICAgIG1f
Y29udGV4dC0+YmluZEZyYW1lYnVmZmVyKEdyYXBoaWNzQ29udGV4dDNEOjpGUkFNRUJVRkZFUiwg
bV9tdWx0aXNhbXBsZUZyYW1lQnVmZmVyKTsKKworICAgIG1fY29udGV4dC0+YmluZFJlbmRlcmJ1
ZmZlcihHcmFwaGljc0NvbnRleHQzRDo6UkVOREVSQlVGRkVSLCBtX211bHRpc2FtcGxlUmVuZGVy
QnVmZmVyKTsKKyAgICBleHRlbnNpb25zLT5yZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUo
R3JhcGhpY3NDb250ZXh0M0Q6OlJFTkRFUkJVRkZFUiwgc2FtcGxlQ291bnQsIEV4dGVuc2lvbnMz
RDo6UkdCQThfT0VTLCBuZXdDb250ZXh0U2l6ZS53aWR0aCgpLCBuZXdDb250ZXh0U2l6ZS5oZWln
aHQoKSk7CisgICAgbV9jb250ZXh0LT5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihHcmFwaGljc0Nv
bnRleHQzRDo6RlJBTUVCVUZGRVIsIEdyYXBoaWNzQ29udGV4dDNEOjpDT0xPUl9BVFRBQ0hNRU5U
MCwgR3JhcGhpY3NDb250ZXh0M0Q6OlJFTkRFUkJVRkZFUiwgbV9tdWx0aXNhbXBsZVJlbmRlckJ1
ZmZlcik7CisKKyAgICBtX2NvbnRleHQtPmJpbmRSZW5kZXJidWZmZXIoR3JhcGhpY3NDb250ZXh0
M0Q6OlJFTkRFUkJVRkZFUiwgbV9tdWx0aXNhbXBsZURlcHRoQnVmZmVyKTsKKyAgICBleHRlbnNp
b25zLT5yZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUoR3JhcGhpY3NDb250ZXh0M0Q6OlJF
TkRFUkJVRkZFUiwgc2FtcGxlQ291bnQsIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSF9DT01QT05F
TlQxNiwgbmV3Q29udGV4dFNpemUud2lkdGgoKSwgbmV3Q29udGV4dFNpemUuaGVpZ2h0KCkpOwor
ICAgIG1fY29udGV4dC0+ZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoR3JhcGhpY3NDb250ZXh0M0Q6
OkZSQU1FQlVGRkVSLCBHcmFwaGljc0NvbnRleHQzRDo6REVQVEhfQVRUQUNITUVOVCwgR3JhcGhp
Y3NDb250ZXh0M0Q6OlJFTkRFUkJVRkZFUiwgbV9tdWx0aXNhbXBsZURlcHRoQnVmZmVyKTsKKwor
ICAgIG1fY29udGV4dC0+YmluZFJlbmRlcmJ1ZmZlcihHcmFwaGljc0NvbnRleHQzRDo6UkVOREVS
QlVGRkVSLCAwKTsKKworICAgIGlmIChtX2NvbnRleHQtPmNoZWNrRnJhbWVidWZmZXJTdGF0dXMo
R3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSKSAhPSBHcmFwaGljc0NvbnRleHQzRDo6RlJB
TUVCVUZGRVJfQ09NUExFVEUpIHsKKyAgICAgICAgZGVsZXRlTXVsdGlzYW1wbGVSZW5kZXJCdWZm
ZXJzKCk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKwogYm9vbCBGRUN1c3RvbUZpbHRlcjo6cmVzaXplQ29udGV4dElmTmVlZGVkKGNvbnN0IElu
dFNpemUmIG5ld0NvbnRleHRTaXplKQogewogICAgIGlmIChuZXdDb250ZXh0U2l6ZS5pc0VtcHR5
KCkpCkBAIC0yODAsNiArMzk0LDggQEAgYm9vbCBGRUN1c3RvbUZpbHRlcjo6cmVzaXplQ29udGV4
dElmTmVlZGVkKGNvbnN0IEludFNpemUmIG5ld0NvbnRleHRTaXplKQogCiBib29sIEZFQ3VzdG9t
RmlsdGVyOjpyZXNpemVDb250ZXh0KGNvbnN0IEludFNpemUmIG5ld0NvbnRleHRTaXplKQogewor
ICAgIGJvb2wgbXVsdGlzYW1wbGUgPSByZXNpemVNdWx0aXNhbXBsZUJ1ZmZlcnMobmV3Q29udGV4
dFNpemUpOworCiAgICAgbV9jb250ZXh0LT5iaW5kRnJhbWVidWZmZXIoR3JhcGhpY3NDb250ZXh0
M0Q6OkZSQU1FQlVGRkVSLCBtX2ZyYW1lQnVmZmVyKTsKICAgICBtX2NvbnRleHQtPmJpbmRUZXh0
dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFXzJELCBtX2Rlc3RUZXh0dXJlKTsKICAgICAv
LyBXZSBhcmUgZ29pbmcgdG8gY2xlYXIgdGhlIG91dHB1dCBidWZmZXIgYW55d2F5LCBzbyB3ZSBj
YW4gc2FmZWx5IGluaXRpYWxpemUgdGhlIGRlc3RpbmF0aW9uIHRleHR1cmUgd2l0aCBnYXJiYWdl
IGRhdGEuCkBAIC0yOTEsMTMgKzQwNywyMyBAQCBib29sIEZFQ3VzdG9tRmlsdGVyOjpyZXNpemVD
b250ZXh0KGNvbnN0IEludFNpemUmIG5ld0NvbnRleHRTaXplKQogI2VuZGlmCiAgICAgbV9jb250
ZXh0LT5mcmFtZWJ1ZmZlclRleHR1cmUyRChHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVIs
IEdyYXBoaWNzQ29udGV4dDNEOjpDT0xPUl9BVFRBQ0hNRU5UMCwgR3JhcGhpY3NDb250ZXh0M0Q6
OlRFWFRVUkVfMkQsIG1fZGVzdFRleHR1cmUsIDApOwogIAotICAgIG1fY29udGV4dC0+YmluZFJl
bmRlcmJ1ZmZlcihHcmFwaGljc0NvbnRleHQzRDo6UkVOREVSQlVGRkVSLCBtX2RlcHRoQnVmZmVy
KTsKLSAgICBtX2NvbnRleHQtPnJlbmRlcmJ1ZmZlclN0b3JhZ2UoR3JhcGhpY3NDb250ZXh0M0Q6
OlJFTkRFUkJVRkZFUiwgR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIX0NPTVBPTkVOVDE2LCBuZXdD
b250ZXh0U2l6ZS53aWR0aCgpLCBuZXdDb250ZXh0U2l6ZS5oZWlnaHQoKSk7Ci0gICAgbV9jb250
ZXh0LT5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZG
RVIsIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSF9BVFRBQ0hNRU5ULCBHcmFwaGljc0NvbnRleHQz
RDo6UkVOREVSQlVGRkVSLCBtX2RlcHRoQnVmZmVyKTsKKyAgICAvLyBXZSBkb24ndCBuZWVkIHRo
ZSBkZXB0aCBidWZmZXIgZm9yIHRoZSB0ZXh0dXJlIGZyYW1lYnVmZmVyLCBpZiB3ZSBhbHJlYWR5
CisgICAgLy8gaGF2ZSBhIG11bHRpc2FtcGxlIGJ1ZmZlci4KKyAgICBpZiAoIW11bHRpc2FtcGxl
KSB7CisgICAgICAgIG1fY29udGV4dC0+YmluZFJlbmRlcmJ1ZmZlcihHcmFwaGljc0NvbnRleHQz
RDo6UkVOREVSQlVGRkVSLCBtX2RlcHRoQnVmZmVyKTsKKyAgICAgICAgbV9jb250ZXh0LT5yZW5k
ZXJidWZmZXJTdG9yYWdlKEdyYXBoaWNzQ29udGV4dDNEOjpSRU5ERVJCVUZGRVIsIEdyYXBoaWNz
Q29udGV4dDNEOjpERVBUSF9DT01QT05FTlQxNiwgbmV3Q29udGV4dFNpemUud2lkdGgoKSwgbmV3
Q29udGV4dFNpemUuaGVpZ2h0KCkpOworICAgICAgICBtX2NvbnRleHQtPmZyYW1lYnVmZmVyUmVu
ZGVyYnVmZmVyKEdyYXBoaWNzQ29udGV4dDNEOjpGUkFNRUJVRkZFUiwgR3JhcGhpY3NDb250ZXh0
M0Q6OkRFUFRIX0FUVEFDSE1FTlQsIEdyYXBoaWNzQ29udGV4dDNEOjpSRU5ERVJCVUZGRVIsIG1f
ZGVwdGhCdWZmZXIpOworICAgIH0KIAogICAgIGlmIChtX2NvbnRleHQtPmNoZWNrRnJhbWVidWZm
ZXJTdGF0dXMoR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSKSAhPSBHcmFwaGljc0NvbnRl
eHQzRDo6RlJBTUVCVUZGRVJfQ09NUExFVEUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAg
IGlmIChtdWx0aXNhbXBsZSkgeworICAgICAgICAvLyBDbGVhciB0aGUgZnJhbWVidWZmZXIgZmly
c3QsIG90aGVyd2lzZSB0aGUgZmlyc3QgYmxpdCB3aWxsIGZhaWwuCisgICAgICAgIG1fY29udGV4
dC0+Y2xlYXJDb2xvcigwLCAwLCAwLCAwKTsKKyAgICAgICAgbV9jb250ZXh0LT5jbGVhcihHcmFw
aGljc0NvbnRleHQzRDo6Q09MT1JfQlVGRkVSX0JJVCk7CisgICAgfQorCiAgICAgbV9jb250ZXh0
LT5iaW5kUmVuZGVyYnVmZmVyKEdyYXBoaWNzQ29udGV4dDNEOjpSRU5ERVJCVUZGRVIsIDApOwog
ICAgIAogICAgIG1fY29udGV4dFNpemUgPSBuZXdDb250ZXh0U2l6ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIu
aAppbmRleCBlNzUzODMwLi5hMTkxZGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5oCkBAIC05MSw2ICs5
MSwxMiBAQCBwcml2YXRlOgogICAgIGJvb2wgcmVzaXplQ29udGV4dElmTmVlZGVkKGNvbnN0IElu
dFNpemUmKTsKICAgICBib29sIHJlc2l6ZUNvbnRleHQoY29uc3QgSW50U2l6ZSYpOwogCisgICAg
Ym9vbCBjYW5Vc2VNdWx0aXNhbXBsZUJ1ZmZlcnMoKSBjb25zdDsKKyAgICBib29sIGNyZWF0ZU11
bHRpc2FtcGxlQnVmZmVyKCk7CisgICAgYm9vbCByZXNpemVNdWx0aXNhbXBsZUJ1ZmZlcnMoY29u
c3QgSW50U2l6ZSYpOworICAgIHZvaWQgcmVzb2x2ZU11bHRpc2FtcGxlQnVmZmVyKCk7CisgICAg
dm9pZCBkZWxldGVNdWx0aXNhbXBsZVJlbmRlckJ1ZmZlcnMoKTsKKwogICAgIGJvb2wgZW5zdXJl
RnJhbWVCdWZmZXIoKTsKICAgICB2b2lkIGRlbGV0ZVJlbmRlckJ1ZmZlcnMoKTsKIApAQCAtMTIw
LDYgKzEyNiwxMSBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtM0RPYmplY3QgbV9kZXB0aEJ1ZmZl
cjsKICAgICBQbGF0Zm9ybTNET2JqZWN0IG1fZGVzdFRleHR1cmU7CiAKKyAgICBib29sIG1fdHJp
ZWRNdWx0aXNhbXBsZUJ1ZmZlcjsKKyAgICBQbGF0Zm9ybTNET2JqZWN0IG1fbXVsdGlzYW1wbGVG
cmFtZUJ1ZmZlcjsKKyAgICBQbGF0Zm9ybTNET2JqZWN0IG1fbXVsdGlzYW1wbGVSZW5kZXJCdWZm
ZXI7CisgICAgUGxhdGZvcm0zRE9iamVjdCBtX211bHRpc2FtcGxlRGVwdGhCdWZmZXI7CisKICAg
ICBSZWZQdHI8Q3VzdG9tRmlsdGVyUHJvZ3JhbT4gbV9wcm9ncmFtOwogICAgIEN1c3RvbUZpbHRl
clBhcmFtZXRlckxpc3QgbV9wYXJhbWV0ZXJzOwogCg==
</data>
<flag name="review"
          id="175651"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164210</attachid>
            <date>2012-09-14 12:51:00 -0700</date>
            <delta_ts>2012-09-14 12:53:36 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug96668_2.patch</filename>
            <type>text/plain</type>
            <size>12279</size>
            <attacher name="Alexandru Chiculita">achicu</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5MDcyNzVjOS4uNmY5ODdhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0
IEBACiAyMDEyLTA5LTE0ICBBbGV4YW5kcnUgQ2hpY3VsaXRhICA8YWNoaWN1QGFkb2JlLmNvbT4K
IAorICAgICAgICBbQ1NTIFNoYWRlcnNdIEVuYWJsZSBhbnRpLWFsaWFzaW5nIG9uIHRoZSBGRUN1
c3RvbUZpbHRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTY2NjgKKworICAgICAgICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24uCisKKyAgICAgICAg
QWRkZWQgbXVsdGlzYW1wbGUgZnJhbWUgYnVmZmVyIGZvciB0aGUgRkVDdXN0b21GaWx0ZXIuIEl0
IHdpbGwgdHJ5IHRvIGFsbG9jYXRlIGEgbXVsdGlzYW1wbGUgZnJhbWVidWZmZXIKKyAgICAgICAg
d2l0aCBhIG1heGltdW0gc2FtcGxlIGNvdW50IG9mIDQuIEF0IHRoZSBlbmQgaXQgd2lsbCBibGl0
IHRoZSBzYW1wbGVzIGJhY2sgdG8gdGhlIG9yaWdpbmFsIGZyYW1lIGJ1ZmZlciwKKyAgICAgICAg
c28gdGhhdCB3ZSBjYW4gcmVhZCB0aGUgcGl4ZWxzIGJhY2suCisKKyAgICAgICAgVGhpcyBwYXRj
aCB1c2VzIGV4dGVuc2lvbnMgR0xfQU5HTEVfZnJhbWVidWZmZXJfbXVsdGlzYW1wbGUsIEdMX0FO
R0xFX2ZyYW1lYnVmZmVyX2JsaXQKKyAgICAgICAgYW5kIEdMX09FU19yZ2I4X3JnYmE4LgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cywgbXVsdGlzYW1wbGluZyBpcyBub3Qgd29ya2luZyBpbiBDaHJv
bWl1bSBEUlQgYW5kIGhhcyBub3QgcGl4ZWwgZWZmZWN0IG9uIFdlYktpdCBNYWMuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpGRUN1c3RvbUZpbHRlcik6CisgICAgICAgIChX
ZWJDb3JlOjpGRUN1c3RvbUZpbHRlcjo6ZGVsZXRlUmVuZGVyQnVmZmVycyk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpkZWxldGVNdWx0aXNh
bXBsZVJlbmRlckJ1ZmZlcnMpOgorICAgICAgICAoV2ViQ29yZTo6RkVDdXN0b21GaWx0ZXI6OmRy
YXdGaWx0ZXJNZXNoKToKKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpjcmVhdGVN
dWx0aXNhbXBsZUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpGRUN1c3RvbUZpbHRlcjo6cmVz
b2x2ZU11bHRpc2FtcGxlQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVy
OjpjYW5Vc2VNdWx0aXNhbXBsZUJ1ZmZlcnMpOgorICAgICAgICAoV2ViQ29yZTo6RkVDdXN0b21G
aWx0ZXI6OnJlc2l6ZU11bHRpc2FtcGxlQnVmZmVycyk6CisgICAgICAgIChXZWJDb3JlOjpGRUN1
c3RvbUZpbHRlcjo6cmVzaXplQ29udGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRUN1c3RvbUZpbHRlci5oOgorCisyMDEyLTA5LTE0ICBBbGV4YW5kcnUgQ2hpY3Vs
aXRhICA8YWNoaWN1QGFkb2JlLmNvbT4KKwogICAgICAgICBbQ1NTIFNoYWRlcnNdIFJlZmFjdG9y
IEZFQ3VzdG9tRmlsdGVyIHRvIG1ha2UgaXQgdXNhYmxlIGZyb20gcGxhdGZvcm0gZGVwZW5kZW50
IGltcGxlbWVudGF0aW9ucwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTY4MDEKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcAppbmRleCA1YzVhZjE2Li5mMDA0
MzQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0ZFQ3VzdG9tRmlsdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUg
IkN1c3RvbUZpbHRlclRyYW5zZm9ybVBhcmFtZXRlci5oIgogI2luY2x1ZGUgIkN1c3RvbUZpbHRl
clZhbGlkYXRlZFByb2dyYW0uaCIKICNpbmNsdWRlICJEcmF3aW5nQnVmZmVyLmgiCisjaW5jbHVk
ZSAiRXh0ZW5zaW9uczNELmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0M0QuaCIKICNpbmNs
dWRlICJJbWFnZURhdGEuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgpAQCAtNTYsNiAr
NTcsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRpYyBjb25zdCBpbnQga01heFNh
bXBsZUNvdW50ID0gNDsKKwogc3RhdGljIHZvaWQgb3J0aG9nb25hbFByb2plY3Rpb25NYXRyaXgo
VHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCwgZmxvYXQgbGVmdCwgZmxvYXQgcmlnaHQsIGZs
b2F0IGJvdHRvbSwgZmxvYXQgdG9wKQogewogICAgIEFTU0VSVChtYXRyaXguaXNJZGVudGl0eSgp
KTsKQEAgLTg5LDYgKzkyLDEwIEBAIEZFQ3VzdG9tRmlsdGVyOjpGRUN1c3RvbUZpbHRlcihGaWx0
ZXIqIGZpbHRlciwgQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dCogY3VzdG9tCiAgICAgLCBtX2Zy
YW1lQnVmZmVyKDApCiAgICAgLCBtX2RlcHRoQnVmZmVyKDApCiAgICAgLCBtX2Rlc3RUZXh0dXJl
KDApCisgICAgLCBtX3RyaWVkTXVsdGlzYW1wbGVCdWZmZXIoZmFsc2UpCisgICAgLCBtX211bHRp
c2FtcGxlRnJhbWVCdWZmZXIoMCkKKyAgICAsIG1fbXVsdGlzYW1wbGVSZW5kZXJCdWZmZXIoMCkK
KyAgICAsIG1fbXVsdGlzYW1wbGVEZXB0aEJ1ZmZlcigwKQogICAgICwgbV9wYXJhbWV0ZXJzKHBh
cmFtZXRlcnMpCiAgICAgLCBtX21lc2hSb3dzKG1lc2hSb3dzKQogICAgICwgbV9tZXNoQ29sdW1u
cyhtZXNoQ29sdW1ucykKQEAgLTEzNCw2ICsxNDEsMjYgQEAgdm9pZCBGRUN1c3RvbUZpbHRlcjo6
ZGVsZXRlUmVuZGVyQnVmZmVycygpCiAgICAgICAgIG1fY29udGV4dC0+ZGVsZXRlVGV4dHVyZSht
X2Rlc3RUZXh0dXJlKTsKICAgICAgICAgbV9kZXN0VGV4dHVyZSA9IDA7CiAgICAgfQorICAgIGRl
bGV0ZU11bHRpc2FtcGxlUmVuZGVyQnVmZmVycygpOworfQorCit2b2lkIEZFQ3VzdG9tRmlsdGVy
OjpkZWxldGVNdWx0aXNhbXBsZVJlbmRlckJ1ZmZlcnMoKQoreworICAgIGlmIChtX211bHRpc2Ft
cGxlRnJhbWVCdWZmZXIpIHsKKyAgICAgICAgLy8gTWFrZSBzdXJlIHRvIHVuYmluZCBhbnkgZnJh
bWVidWZmZXIgZnJvbSB0aGUgY29udGV4dCBmaXJzdCwgb3RoZXJ3aXNlCisgICAgICAgIC8vIHNv
bWUgcGxhdGZvcm1zIG1pZ2h0IHJlZnVzZSB0byBiaW5kIHRoZSBzYW1lIGJ1ZmZlciBpZCBhZ2Fp
bi4KKyAgICAgICAgbV9jb250ZXh0LT5iaW5kRnJhbWVidWZmZXIoR3JhcGhpY3NDb250ZXh0M0Q6
OkZSQU1FQlVGRkVSLCAwKTsKKyAgICAgICAgbV9jb250ZXh0LT5kZWxldGVGcmFtZWJ1ZmZlciht
X211bHRpc2FtcGxlRnJhbWVCdWZmZXIpOworICAgICAgICBtX211bHRpc2FtcGxlRnJhbWVCdWZm
ZXIgPSAwOworICAgIH0KKyAgICBpZiAobV9tdWx0aXNhbXBsZVJlbmRlckJ1ZmZlcikgeworICAg
ICAgICBtX2NvbnRleHQtPmRlbGV0ZVJlbmRlcmJ1ZmZlcihtX211bHRpc2FtcGxlUmVuZGVyQnVm
ZmVyKTsKKyAgICAgICAgbV9tdWx0aXNhbXBsZVJlbmRlckJ1ZmZlciA9IDA7CisgICAgfQorICAg
IGlmIChtX211bHRpc2FtcGxlRGVwdGhCdWZmZXIpIHsKKyAgICAgICAgbV9jb250ZXh0LT5kZWxl
dGVSZW5kZXJidWZmZXIobV9tdWx0aXNhbXBsZURlcHRoQnVmZmVyKTsKKyAgICAgICAgbV9tdWx0
aXNhbXBsZURlcHRoQnVmZmVyID0gMDsKKyAgICB9CiB9CiAKIHZvaWQgRkVDdXN0b21GaWx0ZXI6
OnBsYXRmb3JtQXBwbHlTb2Z0d2FyZSgpCkBAIC0xNTcsNyArMTg0LDggQEAgdm9pZCBGRUN1c3Rv
bUZpbHRlcjo6Y2xlYXJTaGFkZXJSZXN1bHQoKQogCiB2b2lkIEZFQ3VzdG9tRmlsdGVyOjpkcmF3
RmlsdGVyTWVzaChQbGF0Zm9ybTNET2JqZWN0IGlucHV0VGV4dHVyZSkKIHsKLSAgICBtX2NvbnRl
eHQtPmJpbmRGcmFtZWJ1ZmZlcihHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVIsIG1fZnJh
bWVCdWZmZXIpOworICAgIGJvb2wgbXVsdGlzYW1wbGUgPSBjYW5Vc2VNdWx0aXNhbXBsZUJ1ZmZl
cnMoKTsKKyAgICBtX2NvbnRleHQtPmJpbmRGcmFtZWJ1ZmZlcihHcmFwaGljc0NvbnRleHQzRDo6
RlJBTUVCVUZGRVIsIG11bHRpc2FtcGxlID8gbV9tdWx0aXNhbXBsZUZyYW1lQnVmZmVyIDogbV9m
cmFtZUJ1ZmZlcik7CiAgICAgbV9jb250ZXh0LT52aWV3cG9ydCgwLCAwLCBtX2NvbnRleHRTaXpl
LndpZHRoKCksIG1fY29udGV4dFNpemUuaGVpZ2h0KCkpOwogICAgIAogICAgIG1fY29udGV4dC0+
Y2xlYXJDb2xvcigwLCAwLCAwLCAwKTsKQEAgLTE2Niw2ICsxOTQsOSBAQCB2b2lkIEZFQ3VzdG9t
RmlsdGVyOjpkcmF3RmlsdGVyTWVzaChQbGF0Zm9ybTNET2JqZWN0IGlucHV0VGV4dHVyZSkKICAg
ICBiaW5kUHJvZ3JhbUFuZEJ1ZmZlcnMoaW5wdXRUZXh0dXJlKTsKICAgICBtX2NvbnRleHQtPmRy
YXdFbGVtZW50cyhHcmFwaGljc0NvbnRleHQzRDo6VFJJQU5HTEVTLCBtX21lc2gtPmluZGljZXND
b3VudCgpLCBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfU0hPUlQsIDApOwogICAgIHVuYmlu
ZFZlcnRleEF0dHJpYnV0ZXMoKTsKKworICAgIGlmIChtdWx0aXNhbXBsZSkKKyAgICAgICAgcmVz
b2x2ZU11bHRpc2FtcGxlQnVmZmVyKCk7CiB9CiAKIGJvb2wgRkVDdXN0b21GaWx0ZXI6OnByZXBh
cmVGb3JEcmF3aW5nKEN1c3RvbUZpbHRlckRyYXdUeXBlIGZpbHRlckRyYXdUeXBlKQpAQCAtMjYz
LDYgKzI5NCw5MSBAQCBib29sIEZFQ3VzdG9tRmlsdGVyOjplbnN1cmVGcmFtZUJ1ZmZlcigpCiAg
ICAgcmV0dXJuIG1fZnJhbWVCdWZmZXIgJiYgbV9kZXB0aEJ1ZmZlciAmJiBtX2Rlc3RUZXh0dXJl
OwogfQogCitib29sIEZFQ3VzdG9tRmlsdGVyOjpjcmVhdGVNdWx0aXNhbXBsZUJ1ZmZlcigpCit7
CisgICAgQVNTRVJUKCFtX3RyaWVkTXVsdGlzYW1wbGVCdWZmZXIpOworICAgIG1fdHJpZWRNdWx0
aXNhbXBsZUJ1ZmZlciA9IHRydWU7CisKKyAgICBFeHRlbnNpb25zM0QqIGV4dGVuc2lvbnMgPSBt
X2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKTsKKyAgICBpZiAoIWV4dGVuc2lvbnMgCisgICAgICAg
IHx8ICFleHRlbnNpb25zLT5zdXBwb3J0cygiR0xfQU5HTEVfZnJhbWVidWZmZXJfbXVsdGlzYW1w
bGUiKQorICAgICAgICB8fCAhZXh0ZW5zaW9ucy0+c3VwcG9ydHMoIkdMX0FOR0xFX2ZyYW1lYnVm
ZmVyX2JsaXQiKQorICAgICAgICB8fCAhZXh0ZW5zaW9ucy0+c3VwcG9ydHMoIkdMX09FU19yZ2I4
X3JnYmE4IikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGV4dGVuc2lvbnMtPmVuc3Vy
ZUVuYWJsZWQoIkdMX0FOR0xFX2ZyYW1lYnVmZmVyX2JsaXQiKTsKKyAgICBleHRlbnNpb25zLT5l
bnN1cmVFbmFibGVkKCJHTF9BTkdMRV9mcmFtZWJ1ZmZlcl9tdWx0aXNhbXBsZSIpOworICAgIGV4
dGVuc2lvbnMtPmVuc3VyZUVuYWJsZWQoIkdMX09FU19yZ2I4X3JnYmE4Iik7CisKKyAgICBpZiAo
IW1fbXVsdGlzYW1wbGVGcmFtZUJ1ZmZlcikKKyAgICAgICAgbV9tdWx0aXNhbXBsZUZyYW1lQnVm
ZmVyID0gbV9jb250ZXh0LT5jcmVhdGVGcmFtZWJ1ZmZlcigpOworICAgIGlmICghbV9tdWx0aXNh
bXBsZVJlbmRlckJ1ZmZlcikKKyAgICAgICAgbV9tdWx0aXNhbXBsZVJlbmRlckJ1ZmZlciA9IG1f
Y29udGV4dC0+Y3JlYXRlUmVuZGVyYnVmZmVyKCk7CisgICAgaWYgKCFtX211bHRpc2FtcGxlRGVw
dGhCdWZmZXIpCisgICAgICAgIG1fbXVsdGlzYW1wbGVEZXB0aEJ1ZmZlciA9IG1fY29udGV4dC0+
Y3JlYXRlUmVuZGVyYnVmZmVyKCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBGRUN1
c3RvbUZpbHRlcjo6cmVzb2x2ZU11bHRpc2FtcGxlQnVmZmVyKCkKK3sKKyAgICBBU1NFUlQobV90
cmllZE11bHRpc2FtcGxlQnVmZmVyICYmIG1fbXVsdGlzYW1wbGVGcmFtZUJ1ZmZlciAmJiBtX211
bHRpc2FtcGxlUmVuZGVyQnVmZmVyICYmIG1fbXVsdGlzYW1wbGVEZXB0aEJ1ZmZlcik7CisgICAg
bV9jb250ZXh0LT5iaW5kRnJhbWVidWZmZXIoRXh0ZW5zaW9uczNEOjpSRUFEX0ZSQU1FQlVGRkVS
LCBtX211bHRpc2FtcGxlRnJhbWVCdWZmZXIpOworICAgIG1fY29udGV4dC0+YmluZEZyYW1lYnVm
ZmVyKEV4dGVuc2lvbnMzRDo6RFJBV19GUkFNRUJVRkZFUiwgbV9mcmFtZUJ1ZmZlcik7CisKKyAg
ICBBU1NFUlQobV9jb250ZXh0LT5nZXRFeHRlbnNpb25zKCkpOworICAgIG1fY29udGV4dC0+Z2V0
RXh0ZW5zaW9ucygpLT5ibGl0RnJhbWVidWZmZXIoMCwgMCwgbV9jb250ZXh0U2l6ZS53aWR0aCgp
LCBtX2NvbnRleHRTaXplLmhlaWdodCgpLCAwLCAwLCBtX2NvbnRleHRTaXplLndpZHRoKCksIG1f
Y29udGV4dFNpemUuaGVpZ2h0KCksIEdyYXBoaWNzQ29udGV4dDNEOjpDT0xPUl9CVUZGRVJfQklU
LCBHcmFwaGljc0NvbnRleHQzRDo6TkVBUkVTVCk7CisKKyAgICBtX2NvbnRleHQtPmJpbmRGcmFt
ZWJ1ZmZlcihFeHRlbnNpb25zM0Q6OlJFQURfRlJBTUVCVUZGRVIsIDApOworICAgIG1fY29udGV4
dC0+YmluZEZyYW1lYnVmZmVyKEV4dGVuc2lvbnMzRDo6RFJBV19GUkFNRUJVRkZFUiwgMCk7Cisg
ICAgCisgICAgbV9jb250ZXh0LT5iaW5kRnJhbWVidWZmZXIoR3JhcGhpY3NDb250ZXh0M0Q6OkZS
QU1FQlVGRkVSLCBtX2ZyYW1lQnVmZmVyKTsKK30KKworYm9vbCBGRUN1c3RvbUZpbHRlcjo6Y2Fu
VXNlTXVsdGlzYW1wbGVCdWZmZXJzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV90cmllZE11bHRp
c2FtcGxlQnVmZmVyICYmIG1fbXVsdGlzYW1wbGVGcmFtZUJ1ZmZlciAmJiBtX211bHRpc2FtcGxl
UmVuZGVyQnVmZmVyICYmIG1fbXVsdGlzYW1wbGVEZXB0aEJ1ZmZlcjsKK30KKworYm9vbCBGRUN1
c3RvbUZpbHRlcjo6cmVzaXplTXVsdGlzYW1wbGVCdWZmZXJzKGNvbnN0IEludFNpemUmIG5ld0Nv
bnRleHRTaXplKQoreworICAgIGlmICghbV90cmllZE11bHRpc2FtcGxlQnVmZmVyICYmICFjcmVh
dGVNdWx0aXNhbXBsZUJ1ZmZlcigpKQorICAgICAgICAgcmV0dXJuIGZhbHNlOworIAorICAgIGlm
ICghY2FuVXNlTXVsdGlzYW1wbGVCdWZmZXJzKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIGludCBtYXhTdXBwb3J0ZWRTYW1wbGVDb3VudCA9IDA7CisgICAgbV9jb250ZXh0LT5nZXRJ
bnRlZ2VydihFeHRlbnNpb25zM0Q6Ok1BWF9TQU1QTEVTLCAmbWF4U3VwcG9ydGVkU2FtcGxlQ291
bnQpOworICAgIGludCBzYW1wbGVDb3VudCA9IHN0ZDo6bWluKGtNYXhTYW1wbGVDb3VudCwgbWF4
U3VwcG9ydGVkU2FtcGxlQ291bnQpOworICAgIGlmICghc2FtcGxlQ291bnQpIHsKKyAgICAgICAg
ZGVsZXRlTXVsdGlzYW1wbGVSZW5kZXJCdWZmZXJzKCk7CisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9CisKKyAgICBFeHRlbnNpb25zM0QqIGV4dGVuc2lvbnMgPSBtX2NvbnRleHQtPmdldEV4
dGVuc2lvbnMoKTsKKyAgICBBU1NFUlQoZXh0ZW5zaW9ucyk7CisgICAgCisgICAgbV9jb250ZXh0
LT5iaW5kRnJhbWVidWZmZXIoR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSLCBtX211bHRp
c2FtcGxlRnJhbWVCdWZmZXIpOworCisgICAgbV9jb250ZXh0LT5iaW5kUmVuZGVyYnVmZmVyKEdy
YXBoaWNzQ29udGV4dDNEOjpSRU5ERVJCVUZGRVIsIG1fbXVsdGlzYW1wbGVSZW5kZXJCdWZmZXIp
OworICAgIGV4dGVuc2lvbnMtPnJlbmRlcmJ1ZmZlclN0b3JhZ2VNdWx0aXNhbXBsZShHcmFwaGlj
c0NvbnRleHQzRDo6UkVOREVSQlVGRkVSLCBzYW1wbGVDb3VudCwgRXh0ZW5zaW9uczNEOjpSR0JB
OF9PRVMsIG5ld0NvbnRleHRTaXplLndpZHRoKCksIG5ld0NvbnRleHRTaXplLmhlaWdodCgpKTsK
KyAgICBtX2NvbnRleHQtPmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKEdyYXBoaWNzQ29udGV4dDNE
OjpGUkFNRUJVRkZFUiwgR3JhcGhpY3NDb250ZXh0M0Q6OkNPTE9SX0FUVEFDSE1FTlQwLCBHcmFw
aGljc0NvbnRleHQzRDo6UkVOREVSQlVGRkVSLCBtX211bHRpc2FtcGxlUmVuZGVyQnVmZmVyKTsK
KworICAgIG1fY29udGV4dC0+YmluZFJlbmRlcmJ1ZmZlcihHcmFwaGljc0NvbnRleHQzRDo6UkVO
REVSQlVGRkVSLCBtX211bHRpc2FtcGxlRGVwdGhCdWZmZXIpOworICAgIGV4dGVuc2lvbnMtPnJl
bmRlcmJ1ZmZlclN0b3JhZ2VNdWx0aXNhbXBsZShHcmFwaGljc0NvbnRleHQzRDo6UkVOREVSQlVG
RkVSLCBzYW1wbGVDb3VudCwgR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIX0NPTVBPTkVOVDE2LCBu
ZXdDb250ZXh0U2l6ZS53aWR0aCgpLCBuZXdDb250ZXh0U2l6ZS5oZWlnaHQoKSk7CisgICAgbV9j
b250ZXh0LT5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVC
VUZGRVIsIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSF9BVFRBQ0hNRU5ULCBHcmFwaGljc0NvbnRl
eHQzRDo6UkVOREVSQlVGRkVSLCBtX211bHRpc2FtcGxlRGVwdGhCdWZmZXIpOworCisgICAgbV9j
b250ZXh0LT5iaW5kUmVuZGVyYnVmZmVyKEdyYXBoaWNzQ29udGV4dDNEOjpSRU5ERVJCVUZGRVIs
IDApOworCisgICAgaWYgKG1fY29udGV4dC0+Y2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhHcmFwaGlj
c0NvbnRleHQzRDo6RlJBTUVCVUZGRVIpICE9IEdyYXBoaWNzQ29udGV4dDNEOjpGUkFNRUJVRkZF
Ul9DT01QTEVURSkgeworICAgICAgICBkZWxldGVNdWx0aXNhbXBsZVJlbmRlckJ1ZmZlcnMoKTsK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHJldHVybiB0cnVlOworfQorCiBi
b29sIEZFQ3VzdG9tRmlsdGVyOjpyZXNpemVDb250ZXh0SWZOZWVkZWQoY29uc3QgSW50U2l6ZSYg
bmV3Q29udGV4dFNpemUpCiB7CiAgICAgaWYgKG5ld0NvbnRleHRTaXplLmlzRW1wdHkoKSkKQEAg
LTI4MCw2ICszOTYsOCBAQCBib29sIEZFQ3VzdG9tRmlsdGVyOjpyZXNpemVDb250ZXh0SWZOZWVk
ZWQoY29uc3QgSW50U2l6ZSYgbmV3Q29udGV4dFNpemUpCiAKIGJvb2wgRkVDdXN0b21GaWx0ZXI6
OnJlc2l6ZUNvbnRleHQoY29uc3QgSW50U2l6ZSYgbmV3Q29udGV4dFNpemUpCiB7CisgICAgYm9v
bCBtdWx0aXNhbXBsZSA9IHJlc2l6ZU11bHRpc2FtcGxlQnVmZmVycyhuZXdDb250ZXh0U2l6ZSk7
CisKICAgICBtX2NvbnRleHQtPmJpbmRGcmFtZWJ1ZmZlcihHcmFwaGljc0NvbnRleHQzRDo6RlJB
TUVCVUZGRVIsIG1fZnJhbWVCdWZmZXIpOwogICAgIG1fY29udGV4dC0+YmluZFRleHR1cmUoR3Jh
cGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfMkQsIG1fZGVzdFRleHR1cmUpOwogICAgIC8vIFdlIGFy
ZSBnb2luZyB0byBjbGVhciB0aGUgb3V0cHV0IGJ1ZmZlciBhbnl3YXksIHNvIHdlIGNhbiBzYWZl
bHkgaW5pdGlhbGl6ZSB0aGUgZGVzdGluYXRpb24gdGV4dHVyZSB3aXRoIGdhcmJhZ2UgZGF0YS4K
QEAgLTI5MSwxMyArNDA5LDIzIEBAIGJvb2wgRkVDdXN0b21GaWx0ZXI6OnJlc2l6ZUNvbnRleHQo
Y29uc3QgSW50U2l6ZSYgbmV3Q29udGV4dFNpemUpCiAjZW5kaWYKICAgICBtX2NvbnRleHQtPmZy
YW1lYnVmZmVyVGV4dHVyZTJEKEdyYXBoaWNzQ29udGV4dDNEOjpGUkFNRUJVRkZFUiwgR3JhcGhp
Y3NDb250ZXh0M0Q6OkNPTE9SX0FUVEFDSE1FTlQwLCBHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVS
RV8yRCwgbV9kZXN0VGV4dHVyZSwgMCk7CiAgCi0gICAgbV9jb250ZXh0LT5iaW5kUmVuZGVyYnVm
ZmVyKEdyYXBoaWNzQ29udGV4dDNEOjpSRU5ERVJCVUZGRVIsIG1fZGVwdGhCdWZmZXIpOwotICAg
IG1fY29udGV4dC0+cmVuZGVyYnVmZmVyU3RvcmFnZShHcmFwaGljc0NvbnRleHQzRDo6UkVOREVS
QlVGRkVSLCBHcmFwaGljc0NvbnRleHQzRDo6REVQVEhfQ09NUE9ORU5UMTYsIG5ld0NvbnRleHRT
aXplLndpZHRoKCksIG5ld0NvbnRleHRTaXplLmhlaWdodCgpKTsKLSAgICBtX2NvbnRleHQtPmZy
YW1lYnVmZmVyUmVuZGVyYnVmZmVyKEdyYXBoaWNzQ29udGV4dDNEOjpGUkFNRUJVRkZFUiwgR3Jh
cGhpY3NDb250ZXh0M0Q6OkRFUFRIX0FUVEFDSE1FTlQsIEdyYXBoaWNzQ29udGV4dDNEOjpSRU5E
RVJCVUZGRVIsIG1fZGVwdGhCdWZmZXIpOworICAgIC8vIFdlIGRvbid0IG5lZWQgdGhlIGRlcHRo
IGJ1ZmZlciBmb3IgdGhlIHRleHR1cmUgZnJhbWVidWZmZXIsIGlmIHdlIGFscmVhZHkKKyAgICAv
LyBoYXZlIGEgbXVsdGlzYW1wbGUgYnVmZmVyLgorICAgIGlmICghbXVsdGlzYW1wbGUpIHsKKyAg
ICAgICAgbV9jb250ZXh0LT5iaW5kUmVuZGVyYnVmZmVyKEdyYXBoaWNzQ29udGV4dDNEOjpSRU5E
RVJCVUZGRVIsIG1fZGVwdGhCdWZmZXIpOworICAgICAgICBtX2NvbnRleHQtPnJlbmRlcmJ1ZmZl
clN0b3JhZ2UoR3JhcGhpY3NDb250ZXh0M0Q6OlJFTkRFUkJVRkZFUiwgR3JhcGhpY3NDb250ZXh0
M0Q6OkRFUFRIX0NPTVBPTkVOVDE2LCBuZXdDb250ZXh0U2l6ZS53aWR0aCgpLCBuZXdDb250ZXh0
U2l6ZS5oZWlnaHQoKSk7CisgICAgICAgIG1fY29udGV4dC0+ZnJhbWVidWZmZXJSZW5kZXJidWZm
ZXIoR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSLCBHcmFwaGljc0NvbnRleHQzRDo6REVQ
VEhfQVRUQUNITUVOVCwgR3JhcGhpY3NDb250ZXh0M0Q6OlJFTkRFUkJVRkZFUiwgbV9kZXB0aEJ1
ZmZlcik7CisgICAgfQogCiAgICAgaWYgKG1fY29udGV4dC0+Y2hlY2tGcmFtZWJ1ZmZlclN0YXR1
cyhHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVIpICE9IEdyYXBoaWNzQ29udGV4dDNEOjpG
UkFNRUJVRkZFUl9DT01QTEVURSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKG11
bHRpc2FtcGxlKSB7CisgICAgICAgIC8vIENsZWFyIHRoZSBmcmFtZWJ1ZmZlciBmaXJzdCwgb3Ro
ZXJ3aXNlIHRoZSBmaXJzdCBibGl0IHdpbGwgZmFpbC4KKyAgICAgICAgbV9jb250ZXh0LT5jbGVh
ckNvbG9yKDAsIDAsIDAsIDApOworICAgICAgICBtX2NvbnRleHQtPmNsZWFyKEdyYXBoaWNzQ29u
dGV4dDNEOjpDT0xPUl9CVUZGRVJfQklUKTsKKyAgICB9CisKICAgICBtX2NvbnRleHQtPmJpbmRS
ZW5kZXJidWZmZXIoR3JhcGhpY3NDb250ZXh0M0Q6OlJFTkRFUkJVRkZFUiwgMCk7CiAgICAgCiAg
ICAgbV9jb250ZXh0U2l6ZSA9IG5ld0NvbnRleHRTaXplOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5oCmluZGV4
IDA0MTgwM2MuLmQ2OTNkYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmgKQEAgLTkyLDYgKzkyLDEyIEBA
IHByaXZhdGU6CiAgICAgYm9vbCByZXNpemVDb250ZXh0SWZOZWVkZWQoY29uc3QgSW50U2l6ZSYp
OwogICAgIGJvb2wgcmVzaXplQ29udGV4dChjb25zdCBJbnRTaXplJik7CiAKKyAgICBib29sIGNh
blVzZU11bHRpc2FtcGxlQnVmZmVycygpIGNvbnN0OworICAgIGJvb2wgY3JlYXRlTXVsdGlzYW1w
bGVCdWZmZXIoKTsKKyAgICBib29sIHJlc2l6ZU11bHRpc2FtcGxlQnVmZmVycyhjb25zdCBJbnRT
aXplJik7CisgICAgdm9pZCByZXNvbHZlTXVsdGlzYW1wbGVCdWZmZXIoKTsKKyAgICB2b2lkIGRl
bGV0ZU11bHRpc2FtcGxlUmVuZGVyQnVmZmVycygpOworCiAgICAgYm9vbCBlbnN1cmVGcmFtZUJ1
ZmZlcigpOwogICAgIHZvaWQgZGVsZXRlUmVuZGVyQnVmZmVycygpOwogCkBAIC0xMTgsNiArMTI0
LDExIEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm0zRE9iamVjdCBtX2RlcHRoQnVmZmVyOwogICAg
IFBsYXRmb3JtM0RPYmplY3QgbV9kZXN0VGV4dHVyZTsKIAorICAgIGJvb2wgbV90cmllZE11bHRp
c2FtcGxlQnVmZmVyOworICAgIFBsYXRmb3JtM0RPYmplY3QgbV9tdWx0aXNhbXBsZUZyYW1lQnVm
ZmVyOworICAgIFBsYXRmb3JtM0RPYmplY3QgbV9tdWx0aXNhbXBsZVJlbmRlckJ1ZmZlcjsKKyAg
ICBQbGF0Zm9ybTNET2JqZWN0IG1fbXVsdGlzYW1wbGVEZXB0aEJ1ZmZlcjsKKwogICAgIFJlZlB0
cjxDdXN0b21GaWx0ZXJQcm9ncmFtPiBtX3Byb2dyYW07CiAgICAgQ3VzdG9tRmlsdGVyUGFyYW1l
dGVyTGlzdCBtX3BhcmFtZXRlcnM7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>