<?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>186117</bug_id>
          
          <creation_ts>2018-05-30 16:31:52 -0700</creation_ts>
          <short_desc>[LFC] Layout code needs to know the type of the Element associated with a Layout::Box</short_desc>
          <delta_ts>2018-05-31 09:52:03 -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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1428659</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-05-30 16:31:52 -0700</bug_when>
    <thetext>for example we need to know if the box is associated with the &lt;body&gt; and size it differently in quirks mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1428667</commentid>
    <comment_count>1</comment_count>
      <attachid>341620</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-05-30 16:39:03 -0700</bug_when>
    <thetext>Created attachment 341620
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1428837</commentid>
    <comment_count>2</comment_count>
      <attachid>341620</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-05-31 07:35:03 -0700</bug_when>
    <thetext>Comment on attachment 341620
Patch

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

&gt; Source/WebCore/layout/layouttree/LayoutBox.h:120
&gt; +    struct ElementAttributes {
&gt; +        ElementAttributes(ElementType elementType)
&gt; +            : elementType(elementType)
&gt; +            {
&gt; +            }
&gt; +
&gt; +        ElementType elementType;
&gt; +    };

Indentation for
{
}
is wrong.

Is the constructor needed? Maybe this could just use bracket initialization?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1428857</commentid>
    <comment_count>3</comment_count>
      <attachid>341666</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-05-31 09:14:54 -0700</bug_when>
    <thetext>Created attachment 341666
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1428871</commentid>
    <comment_count>4</comment_count>
      <attachid>341666</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-31 09:43:58 -0700</bug_when>
    <thetext>Comment on attachment 341666
Patch

Clearing flags on attachment: 341666

Committed r232350: &lt;https://trac.webkit.org/changeset/232350&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1428872</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-31 09:43:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1428876</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-05-31 09:52:03 -0700</bug_when>
    <thetext>&lt;rdar://problem/40688526&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341620</attachid>
            <date>2018-05-30 16:39:03 -0700</date>
            <delta_ts>2018-05-31 09:14:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186117-20180530163902.patch</filename>
            <type>text/plain</type>
            <size>15562</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyMjkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTZiNjNlYzdjMDg3MGI5
MjdkNDkyYWYxNGY3YzI2Nzc4NzhlOWVlZC4uZDExYmNhOGJkNjk2ZThhODE5ZDk4ZmJiYjZkMDJi
YTY5MzUxMjY4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE4LTA1LTMwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gTGF5b3V0IGNvZGUg
bmVlZHMgdG8ga25vdyB0aGUgdHlwZSBvZiB0aGUgRWxlbWVudCBhc3NvY2lhdGVkIHdpdGggYSBM
YXlvdXQ6OkJveAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTg2MTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgU2luY2UgdGhlc2UgYXR0cmlidXRlcyBkb24ndCBjaGFuZ2UgZHVyaW5nIGxheW91dCwgd2Ug
Y291bGQganVzdCBwYXNzIHRoZW0gaW4gdG8gTGF5b3V0OjpCb3ggaW5zdGVhZAorICAgICAgICBv
ZiBrZWVwIHF1ZXJ5aW5nIHRoZSBFbGVtZW50LgorCisgICAgICAgICogbGF5b3V0L2xheW91dHRy
ZWUvTGF5b3V0QmxvY2tDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpC
bG9ja0NvbnRhaW5lcjo6QmxvY2tDb250YWluZXIpOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0
cmVlL0xheW91dEJsb2NrQ29udGFpbmVyLmg6CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUv
TGF5b3V0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94OjpCb3gpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCb3g6OmlzUGFkZGluZ0FwcGxpY2FibGUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCb3g6OmlzRG9jdW1lbnRCb3ggY29uc3QpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCb3g6OmlzQm9keUJveCBjb25zdCk6IERl
bGV0ZWQuCisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94Lmg6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OkJveDo6aXNBbm9ueW1vdXMgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpCb3g6OmlzRG9jdW1lbnRCb3ggY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpCb3g6OmlzQm9keUJveCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkJveDo6RWxlbWVudEF0dHJpYnV0ZXM6OkVsZW1lbnRBdHRyaWJ1dGVzKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6Qm94OjpzZXRQcmV2aW91c1NpYmxpbmcpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpCb3g6OnNldElzQW5vbnltb3VzKTogRGVsZXRlZC4KKyAgICAgICAgKiBs
YXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0OjpDb250YWluZXI6OkNvbnRhaW5lcik6CisgICAgICAgICogbGF5b3V0L2xheW91dHRy
ZWUvTGF5b3V0Q29udGFpbmVyLmg6CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0
SW5saW5lQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lQm94OjpJbmxp
bmVCb3gpOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dElubGluZUJveC5oOgor
ICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dElubGluZUNvbnRhaW5lci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUNvbnRhaW5lcjo6SW5saW5lQ29udGFpbmVy
KToKKyAgICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRJbmxpbmVDb250YWluZXIuaDoK
KyAgICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRyZWVCdWlsZGVyOjpjcmVhdGVMYXlvdXRUcmVlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6VHJlZUJ1aWxkZXI6OmNyZWF0ZVN1YlRyZWUpOgorCiAy
MDE4LTA1LTMwICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xG
Q10gTWlzY2VsbGFuZW91cyBmaXhlcyB0byBnZXQgY2xvc2VyIHRvIGdlb21ldHJ5IGNvcnJlY3Ru
ZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRC
bG9ja0NvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlv
dXRCbG9ja0NvbnRhaW5lci5jcHAKaW5kZXggN2Y0M2IzNzgyZTQ5M2RiZjZmM2NiZWZhNWNjZmQy
YWVlZTgyYzE5Ny4uOTBjNTM0OTJmNzYxMDNiMTgwMWZjNTk2MDMxY2NiMmUyZmM2MTY1YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0QmxvY2tDb250
YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJs
b2NrQ29udGFpbmVyLmNwcApAQCAtMzYsOCArMzYsOCBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIAog
V1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKEJsb2NrQ29udGFpbmVyKTsKIAotQmxvY2tDb250
YWluZXI6OkJsb2NrQ29udGFpbmVyKFJlbmRlclN0eWxlJiYgc3R5bGUsIEJhc2VUeXBlRmxhZ3Mg
YmFzZVR5cGVGbGFncykKLSAgICA6IENvbnRhaW5lcihXVEZNb3ZlKHN0eWxlKSwgYmFzZVR5cGVG
bGFncyB8IEJsb2NrQ29udGFpbmVyRmxhZykKK0Jsb2NrQ29udGFpbmVyOjpCbG9ja0NvbnRhaW5l
cihzdGQ6Om9wdGlvbmFsPEVsZW1lbnRBdHRyaWJ1dGVzPiBhdHRyaWJ1dGVzLCBSZW5kZXJTdHls
ZSYmIHN0eWxlLCBCYXNlVHlwZUZsYWdzIGJhc2VUeXBlRmxhZ3MpCisgICAgOiBDb250YWluZXIo
YXR0cmlidXRlcywgV1RGTW92ZShzdHlsZSksIGJhc2VUeXBlRmxhZ3MgfCBCbG9ja0NvbnRhaW5l
ckZsYWcpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0
cmVlL0xheW91dEJsb2NrQ29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0
dHJlZS9MYXlvdXRCbG9ja0NvbnRhaW5lci5oCmluZGV4IGRhZGU3MDYwZWFkZDA5YjNkOWUzNjI4
YWRhNmY4ODZmYjYwZmQwOTUuLmM4NDQ4NDRhZTYxOTdhZjZhZDg3Y2RjMTBjYzA2YWUzZTE5OWI4
OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJs
b2NrQ29udGFpbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5
b3V0QmxvY2tDb250YWluZXIuaApAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBl
c3RhYmxpc2hlc0lubGluZUZvcm1hdHRpbmdDb250ZXh0KCkgY29uc3QgZmluYWw7CiAKIHByb3Rl
Y3RlZDoKLSAgICBCbG9ja0NvbnRhaW5lcihSZW5kZXJTdHlsZSYmLCBCYXNlVHlwZUZsYWdzID0g
QmxvY2tDb250YWluZXJGbGFnKTsKKyAgICBCbG9ja0NvbnRhaW5lcihzdGQ6Om9wdGlvbmFsPEVs
ZW1lbnRBdHRyaWJ1dGVzPiwgUmVuZGVyU3R5bGUmJiwgQmFzZVR5cGVGbGFncyA9IEJsb2NrQ29u
dGFpbmVyRmxhZyk7CiAKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9s
YXlvdXR0cmVlL0xheW91dEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJl
ZS9MYXlvdXRCb3guY3BwCmluZGV4IDU0MDMxOGEwZTMyNGZhM2MzOGYxODk5ZjFlZDE1NjlmOGM4
OGUzMTQuLmRlZmFkMmM1MDllM2NjNmEzMjBjMThhYzFlOTFkMmJjNDI2MTMxOWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmNwcApAQCAtMzYsMTAg
KzM2LDEwIEBAIG5hbWVzcGFjZSBMYXlvdXQgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lN
UEwoQm94KTsKIAotQm94OjpCb3goUmVuZGVyU3R5bGUmJiBzdHlsZSwgQmFzZVR5cGVGbGFncyBi
YXNlVHlwZUZsYWdzKQorQm94OjpCb3goc3RkOjpvcHRpb25hbDxFbGVtZW50QXR0cmlidXRlcz4g
YXR0cmlidXRlcywgUmVuZGVyU3R5bGUmJiBzdHlsZSwgQmFzZVR5cGVGbGFncyBiYXNlVHlwZUZs
YWdzKQogICAgIDogbV9zdHlsZShXVEZNb3ZlKHN0eWxlKSkKKyAgICAsIG1fZWxlbWVudEF0dHJp
YnV0ZXMoYXR0cmlidXRlcykKICAgICAsIG1fYmFzZVR5cGVGbGFncyhiYXNlVHlwZUZsYWdzKQot
ICAgICwgbV9pc0Fub255bW91cyhmYWxzZSkKIHsKIH0KIApAQCAtMTgxLDE4ICsxODEsNiBAQCBi
b29sIEJveDo6aXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCkgY29uc3QKICAgICByZXR1cm4gIXBh
cmVudCgpOwogfQogCi1ib29sIEJveDo6aXNEb2N1bWVudEJveCgpIGNvbnN0Ci17Ci0gICAgLy8g
cmV0dXJuIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkgPT0gJmVsZW1lbnQoKTsKLSAgICBy
ZXR1cm4gZmFsc2U7Ci19Ci0KLWJvb2wgQm94Ojppc0JvZHlCb3goKSBjb25zdAotewotICAgIC8v
IHJldHVybiBlbGVtZW50KCkuaGFzVGFnTmFtZShIVE1MTmFtZXM6OmJvZHlUYWcpOwotICAgIHJl
dHVybiBmYWxzZTsKLX0KLQogY29uc3QgQm94KiBCb3g6Om5leHRJbkZsb3dTaWJsaW5nKCkgY29u
c3QKIHsKICAgICBpZiAoYXV0byogbmV4dFNpYmxpbmcgPSB0aGlzLT5uZXh0U2libGluZygpKSB7
CkBAIC0yNDIsNyArMjMwLDE1IEBAIGJvb2wgQm94Ojppc1BhZGRpbmdBcHBsaWNhYmxlKCkgY29u
c3QKIHsKICAgICAvLyA4LjQgUGFkZGluZyBwcm9wZXJ0aWVzOgogICAgIC8vIEFwcGxpZXMgdG86
IGFsbCBlbGVtZW50cyBleGNlcHQgdGFibGUtcm93LWdyb3VwLCB0YWJsZS1oZWFkZXItZ3JvdXAs
IHRhYmxlLWZvb3Rlci1ncm91cCwgdGFibGUtcm93LCB0YWJsZS1jb2x1bW4tZ3JvdXAgYW5kIHRh
YmxlLWNvbHVtbgotICAgIHJldHVybiB0cnVlOworICAgIGlmICghbV9lbGVtZW50QXR0cmlidXRl
cykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGF1dG8gZWxlbWVudFR5cGUgPSBtX2VsZW1l
bnRBdHRyaWJ1dGVzLnZhbHVlKCkuZWxlbWVudFR5cGU7CisgICAgcmV0dXJuIGVsZW1lbnRUeXBl
ICE9IEVsZW1lbnRUeXBlOjpUYWJsZVJvd0dyb3VwCisgICAgICAgICYmIGVsZW1lbnRUeXBlICE9
IEVsZW1lbnRUeXBlOjpUYWJsZUhlYWRlckdyb3VwCisgICAgICAgICYmIGVsZW1lbnRUeXBlICE9
IEVsZW1lbnRUeXBlOjpUYWJsZUZvb3Rlckdyb3VwCisgICAgICAgICYmIGVsZW1lbnRUeXBlICE9
IEVsZW1lbnRUeXBlOjpUYWJsZVJvdworICAgICAgICAmJiBlbGVtZW50VHlwZSAhPSBFbGVtZW50
VHlwZTo6VGFibGVDb2x1bW5Hcm91cAorICAgICAgICAmJiBlbGVtZW50VHlwZSAhPSBFbGVtZW50
VHlwZTo6VGFibGVDb2x1bW47CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91
dHRyZWUvTGF5b3V0Qm94LmgKaW5kZXggZjk4MjE0YzE1MzM0YmI3MWFhM2RjNTk3OWFlZWU5MzJh
YjI4NmE3Ni4uNWEwNWYxOTExYzdhZGFiNTE1OTdlMDU2Y2QwN2I0ODlhNjdkYWQ5OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmgKQEAgLTY2LDcgKzY2
LDcgQEAgcHVibGljOgogICAgIGNvbnN0IENvbnRhaW5lciYgZm9ybWF0dGluZ0NvbnRleHRSb290
KCkgY29uc3Q7CiAgICAgYm9vbCBpc0Rlc2NlbmRhbnRPZihDb250YWluZXImKSBjb25zdDsKIAot
ICAgIGJvb2wgaXNBbm9ueW1vdXMoKSBjb25zdCB7IHJldHVybiBtX2lzQW5vbnltb3VzOyB9Cisg
ICAgYm9vbCBpc0Fub255bW91cygpIGNvbnN0IHsgcmV0dXJuICFtX2VsZW1lbnRBdHRyaWJ1dGVz
OyB9CiAKICAgICBib29sIGlzQmxvY2tMZXZlbEJveCgpIGNvbnN0OwogICAgIGJvb2wgaXNJbmxp
bmVMZXZlbEJveCgpIGNvbnN0OwpAQCAtNzQsOCArNzQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBp
c0Jsb2NrQ29udGFpbmVyQm94KCkgY29uc3Q7CiAgICAgYm9vbCBpc0luaXRpYWxDb250YWluaW5n
QmxvY2soKSBjb25zdDsKIAotICAgIGJvb2wgaXNEb2N1bWVudEJveCgpIGNvbnN0OwotICAgIGJv
b2wgaXNCb2R5Qm94KCkgY29uc3Q7CisgICAgYm9vbCBpc0RvY3VtZW50Qm94KCkgY29uc3QgeyBy
ZXR1cm4gbV9lbGVtZW50QXR0cmlidXRlcyAmJiBtX2VsZW1lbnRBdHRyaWJ1dGVzLnZhbHVlKCku
ZWxlbWVudFR5cGUgPT0gRWxlbWVudFR5cGU6OkRvY3VtZW50OyB9CisgICAgYm9vbCBpc0JvZHlC
b3goKSBjb25zdCB7IHJldHVybiBtX2VsZW1lbnRBdHRyaWJ1dGVzICYmIG1fZWxlbWVudEF0dHJp
YnV0ZXMudmFsdWUoKS5lbGVtZW50VHlwZSA9PSBFbGVtZW50VHlwZTo6Qm9keTsgfQogCiAgICAg
Y29uc3QgQ29udGFpbmVyKiBwYXJlbnQoKSBjb25zdCB7IHJldHVybiBtX3BhcmVudDsgfQogICAg
IGNvbnN0IEJveCogbmV4dFNpYmxpbmcoKSBjb25zdCB7IHJldHVybiBtX25leHRTaWJsaW5nOyB9
CkBAIC05OSwyNCArOTksNDUgQEAgcHVibGljOgogICAgIHN0ZDo6b3B0aW9uYWw8Y29uc3QgUmVw
bGFjZWQ+IHJlcGxhY2VkKCkgY29uc3QgeyByZXR1cm4gbV9yZXBsYWNlZDsgfQogCiBwcm90ZWN0
ZWQ6CisgICAgZW51bSBjbGFzcyBFbGVtZW50VHlwZSB7CisgICAgICAgIERvY3VtZW50LAorICAg
ICAgICBCb2R5LAorICAgICAgICBUYWJsZUNvbHVtbiwKKyAgICAgICAgVGFibGVSb3csCisgICAg
ICAgIFRhYmxlQ29sdW1uR3JvdXAsCisgICAgICAgIFRhYmxlUm93R3JvdXAsCisgICAgICAgIFRh
YmxlSGVhZGVyR3JvdXAsCisgICAgICAgIFRhYmxlRm9vdGVyR3JvdXAgCisgICAgfTsKKworICAg
IHN0cnVjdCBFbGVtZW50QXR0cmlidXRlcyB7CisgICAgICAgIEVsZW1lbnRBdHRyaWJ1dGVzKEVs
ZW1lbnRUeXBlIGVsZW1lbnRUeXBlKQorICAgICAgICAgICAgOiBlbGVtZW50VHlwZShlbGVtZW50
VHlwZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgIH0KKworICAgICAgICBFbGVtZW50VHlw
ZSBlbGVtZW50VHlwZTsKKyAgICB9OworCiAgICAgZW51bSBCYXNlVHlwZUZsYWcgewogICAgICAg
ICBDb250YWluZXJGbGFnICAgICAgICAgPSAxIDw8IDAsCiAgICAgICAgIEJsb2NrQ29udGFpbmVy
RmxhZyAgICA9IDEgPDwgMSwKICAgICAgICAgSW5saW5lQm94RmxhZyAgICAgICAgID0gMSA8PCAy
LAogICAgICAgICBJbmxpbmVDb250YWluZXJGbGFnICAgPSAxIDw8IDMKICAgICB9OwotICAgIEJv
eChSZW5kZXJTdHlsZSYmLCBCYXNlVHlwZUZsYWdzKTsKKyAgICBCb3goc3RkOjpvcHRpb25hbDxF
bGVtZW50QXR0cmlidXRlcz4sIFJlbmRlclN0eWxlJiYsIEJhc2VUeXBlRmxhZ3MpOwogCiAgICAg
Ym9vbCBpc092ZXJmbG93VmlzaWJsZSgpIGNvbnN0OwogCiBwcml2YXRlOgorCiAgICAgdm9pZCBz
ZXRQYXJlbnQoQ29udGFpbmVyJiBwYXJlbnQpIHsgbV9wYXJlbnQgPSAmcGFyZW50OyB9CiAgICAg
dm9pZCBzZXROZXh0U2libGluZyhCb3gmIG5leHRTaWJsaW5nKSB7IG1fbmV4dFNpYmxpbmcgPSAm
bmV4dFNpYmxpbmc7IH0KICAgICB2b2lkIHNldFByZXZpb3VzU2libGluZyhCb3gmIHByZXZpb3Vz
U2libGluZykgeyBtX3ByZXZpb3VzU2libGluZyA9ICZwcmV2aW91c1NpYmxpbmc7IH0KLSAgICB2
b2lkIHNldElzQW5vbnltb3VzKCkgeyBtX2lzQW5vbnltb3VzID0gdHJ1ZTsgfQogCiAgICAgV2Vh
a1B0ckZhY3Rvcnk8Qm94PiBtX3dlYWtGYWN0b3J5OwogICAgIFJlbmRlclN0eWxlIG1fc3R5bGU7
CisgICAgc3RkOjpvcHRpb25hbDxFbGVtZW50QXR0cmlidXRlcz4gbV9lbGVtZW50QXR0cmlidXRl
czsKIAogICAgIENvbnRhaW5lciogbV9wYXJlbnQgeyBudWxscHRyIH07CiAgICAgQm94KiBtX3By
ZXZpb3VzU2libGluZyB7IG51bGxwdHIgfTsKQEAgLTEyNSw4ICsxNDYsNiBAQCBwcml2YXRlOgog
ICAgIHN0ZDo6b3B0aW9uYWw8Y29uc3QgUmVwbGFjZWQ+IG1fcmVwbGFjZWQ7CiAKICAgICB1bnNp
Z25lZCBtX2Jhc2VUeXBlRmxhZ3MgOiA0OwotICAgIHVuc2lnbmVkIG1faXNBbm9ueW1vdXMgOiAx
OwotCiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJl
ZS9MYXlvdXRDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUv
TGF5b3V0Q29udGFpbmVyLmNwcAppbmRleCA1MzYzZGEzOTk2YWFkZjU1ZDZhYjYwNmNkZGNjZmFl
NDlmNjk2MTVjLi45YjYyZWU3ZGFhNGRlYmUyZGJiZDkwMmNlMzdlMDM1OWEyNGQ0NzVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRDb250YWluZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dENvbnRhaW5l
ci5jcHAKQEAgLTM2LDggKzM2LDggQEAgbmFtZXNwYWNlIExheW91dCB7CiAKIFdURl9NQUtFX0lT
T19BTExPQ0FURURfSU1QTChDb250YWluZXIpOwogCi1Db250YWluZXI6OkNvbnRhaW5lcihSZW5k
ZXJTdHlsZSYmIHN0eWxlLCBCYXNlVHlwZUZsYWdzIGJhc2VUeXBlRmxhZ3MpCi0gICAgOiBCb3go
V1RGTW92ZShzdHlsZSksIGJhc2VUeXBlRmxhZ3MgfCBDb250YWluZXJGbGFnKQorQ29udGFpbmVy
OjpDb250YWluZXIoc3RkOjpvcHRpb25hbDxFbGVtZW50QXR0cmlidXRlcz4gYXR0cmlidXRlcywg
UmVuZGVyU3R5bGUmJiBzdHlsZSwgQmFzZVR5cGVGbGFncyBiYXNlVHlwZUZsYWdzKQorICAgIDog
Qm94KGF0dHJpYnV0ZXMsIFdURk1vdmUoc3R5bGUpLCBiYXNlVHlwZUZsYWdzIHwgQ29udGFpbmVy
RmxhZykKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRy
ZWUvTGF5b3V0Q29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9M
YXlvdXRDb250YWluZXIuaAppbmRleCA2YmE4OWFlNzMyNzZjZTFkOTZlYmY3MGM4YjZmOGFiYjEz
NDgwYjNjLi41Y2I3MzEzYTYyMGZiNmNhMWVmMWU1NGRhNmU2MTAzZDdjZGMyNDBhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRDb250YWluZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRDb250YWluZXIuaApA
QCAtNTYsNyArNTYsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgVmVjdG9yPFdlYWtQdHI8Qm94Pj4m
IG91dE9mRmxvd0Rlc2NlbmRhbnRzKCkgeyByZXR1cm4gbV9vdXRPZkZsb3dEZXNjZW5kYW50czsg
fQogCiBwcm90ZWN0ZWQ6Ci0gICAgQ29udGFpbmVyKFJlbmRlclN0eWxlJiYsIEJhc2VUeXBlRmxh
Z3MpOworICAgIENvbnRhaW5lcihzdGQ6Om9wdGlvbmFsPEVsZW1lbnRBdHRyaWJ1dGVzPiwgUmVu
ZGVyU3R5bGUmJiwgQmFzZVR5cGVGbGFncyk7CiAKIHByaXZhdGU6CiAgICAgdm9pZCBzZXRGaXJz
dENoaWxkKEJveCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRy
ZWUvTGF5b3V0SW5saW5lQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVl
L0xheW91dElubGluZUJveC5jcHAKaW5kZXggOGU1MzkwYmFkZmZkOTQyMzQ4ZTgxYmJhMzg0Y2Yz
ZGQ1MWIzZTc4OC4uZmIxMzRmNzJlNzZiODE3Y2QxNGU5YmZjMTE1ZmZjYzFjMjFiZDU4OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5saW5lQm94
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRJbmxpbmVC
b3guY3BwCkBAIC0zNiw4ICszNiw4IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogCiBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0lNUEwoSW5saW5lQm94KTsKIAotSW5saW5lQm94OjpJbmxpbmVCb3goUmVu
ZGVyU3R5bGUmJiBzdHlsZSwgQmFzZVR5cGVGbGFncyBiYXNlVHlwZUZsYWdzKQotICAgIDogQm94
KFdURk1vdmUoc3R5bGUpLCBiYXNlVHlwZUZsYWdzIHwgSW5saW5lQm94RmxhZykKK0lubGluZUJv
eDo6SW5saW5lQm94KHN0ZDo6b3B0aW9uYWw8RWxlbWVudEF0dHJpYnV0ZXM+IGF0dHJpYnV0ZXMs
IFJlbmRlclN0eWxlJiYgc3R5bGUsIEJhc2VUeXBlRmxhZ3MgYmFzZVR5cGVGbGFncykKKyAgICA6
IEJveChhdHRyaWJ1dGVzLCBXVEZNb3ZlKHN0eWxlKSwgYmFzZVR5cGVGbGFncyB8IElubGluZUJv
eEZsYWcpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0
cmVlL0xheW91dElubGluZUJveC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUv
TGF5b3V0SW5saW5lQm94LmgKaW5kZXggZDA2ZDA5NjgyNGU4OThlZDMwYWQ4ZTI4MWRjNjcxMWJj
MWNjNTllOS4uMjlmOGE3ZDNjOWE1MjU1MzBkY2I3Mzc5MDk3ZWU5ZTA3MTg1NmJmOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5saW5lQm94LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5saW5lQm94LmgK
QEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIExheW91dCB7CiBjbGFzcyBJbmxpbmVCb3ggOiBw
dWJsaWMgQm94IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKElubGluZUJveCk7CiBwdWJs
aWM6Ci0gICAgSW5saW5lQm94KFJlbmRlclN0eWxlJiYsIEJhc2VUeXBlRmxhZ3MpOworICAgIElu
bGluZUJveChzdGQ6Om9wdGlvbmFsPEVsZW1lbnRBdHRyaWJ1dGVzPiwgUmVuZGVyU3R5bGUmJiwg
QmFzZVR5cGVGbGFncyk7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvbGF5b3V0dHJlZS9MYXlvdXRJbmxpbmVDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5saW5lQ29udGFpbmVyLmNwcAppbmRleCA0NzE1MWRi
ZDcyMmUzMGVkNjJiZjBkNjUzNTFmOWQzMWVkOWU0MzA4Li45ODBkOWE5ZjM3N2I5MDI1Zjk3NGQ5
YmUwNmYyMmZiMGM4YmVmOThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5
b3V0dHJlZS9MYXlvdXRJbmxpbmVDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9sYXlvdXR0cmVlL0xheW91dElubGluZUNvbnRhaW5lci5jcHAKQEAgLTM2LDggKzM2LDgg
QEAgbmFtZXNwYWNlIExheW91dCB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChJbmxp
bmVDb250YWluZXIpOwogCi1JbmxpbmVDb250YWluZXI6OklubGluZUNvbnRhaW5lcihSZW5kZXJT
dHlsZSYmIHN0eWxlLCBCYXNlVHlwZUZsYWdzIGJhc2VUeXBlRmxhZ3MpCi0gICAgOiBDb250YWlu
ZXIoV1RGTW92ZShzdHlsZSksIGJhc2VUeXBlRmxhZ3MgfCBJbmxpbmVDb250YWluZXJGbGFnKQor
SW5saW5lQ29udGFpbmVyOjpJbmxpbmVDb250YWluZXIoc3RkOjpvcHRpb25hbDxFbGVtZW50QXR0
cmlidXRlcz4gYXR0cmlidXRlcywgUmVuZGVyU3R5bGUmJiBzdHlsZSwgQmFzZVR5cGVGbGFncyBi
YXNlVHlwZUZsYWdzKQorICAgIDogQ29udGFpbmVyKGF0dHJpYnV0ZXMsIFdURk1vdmUoc3R5bGUp
LCBiYXNlVHlwZUZsYWdzIHwgSW5saW5lQ29udGFpbmVyRmxhZykKIHsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5saW5lQ29udGFpbmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRJbmxpbmVDb250YWlu
ZXIuaAppbmRleCBhYWEyMWQ1YWJhOTA2YjVhOTU4MDE3ZWJiYTUxNjQwNmRhNmZhMzcxLi43Mzcz
YjM2ODczYzNjNjhhMjNhYWQwYWFhODA0MTEzZTVkODA0ODFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRJbmxpbmVDb250YWluZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRJbmxpbmVDb250YWluZXIuaApA
QCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6CiAgICAgZnJpZW5kIGNsYXNzIFRyZWVCdWlsZGVyOwog
CiBwcm90ZWN0ZWQ6Ci0gICAgSW5saW5lQ29udGFpbmVyKFJlbmRlclN0eWxlJiYsIEJhc2VUeXBl
RmxhZ3MgPSBJbmxpbmVDb250YWluZXJGbGFnKTsKKyAgICBJbmxpbmVDb250YWluZXIoc3RkOjpv
cHRpb25hbDxFbGVtZW50QXR0cmlidXRlcz4sIFJlbmRlclN0eWxlJiYsIEJhc2VUeXBlRmxhZ3Mg
PSBJbmxpbmVDb250YWluZXJGbGFnKTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcAppbmRleCBlZTY3NDUw
YTkyOWMwYzNhOGI3NGQ2NmZhMjM0ZjEzMTk1ZTEwYmE1Li42NTkxODIxZjQxNTdjNTVhMjE4ZWI2
Y2U5ODJhZDJkZGRlYzkyMGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5
b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYg
RU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAKICNpbmNsdWRlICJMYXlvdXRCbG9j
a0NvbnRhaW5lci5oIgorI2luY2x1ZGUgIkxheW91dEJveC5oIgogI2luY2x1ZGUgIkxheW91dENo
aWxkSXRlcmF0b3IuaCIKICNpbmNsdWRlICJMYXlvdXRDb250YWluZXIuaCIKICNpbmNsdWRlICJM
YXlvdXRJbmxpbmVCb3guaCIKQEAgLTQ2LDIxICs0Nyw0NCBAQCBuYW1lc3BhY2UgTGF5b3V0IHsK
IAogc3RkOjp1bmlxdWVfcHRyPENvbnRhaW5lcj4gVHJlZUJ1aWxkZXI6OmNyZWF0ZUxheW91dFRy
ZWUoY29uc3QgUmVuZGVyVmlldyYgcmVuZGVyVmlldykKIHsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8
Q29udGFpbmVyPiBpbml0aWFsQ29udGFpbmluZ0Jsb2NrKG5ldyBCbG9ja0NvbnRhaW5lcihSZW5k
ZXJTdHlsZTo6Y2xvbmUocmVuZGVyVmlldy5zdHlsZSgpKSkpOworICAgIHN0ZDo6dW5pcXVlX3B0
cjxDb250YWluZXI+IGluaXRpYWxDb250YWluaW5nQmxvY2sobmV3IEJsb2NrQ29udGFpbmVyKHN0
ZDo6bnVsbG9wdCwgUmVuZGVyU3R5bGU6OmNsb25lKHJlbmRlclZpZXcuc3R5bGUoKSkpKTsKICAg
ICBUcmVlQnVpbGRlcjo6Y3JlYXRlU3ViVHJlZShyZW5kZXJWaWV3LCAqaW5pdGlhbENvbnRhaW5p
bmdCbG9jayk7CiAgICAgcmV0dXJuIGluaXRpYWxDb250YWluaW5nQmxvY2s7CiB9CiAKIHZvaWQg
VHJlZUJ1aWxkZXI6OmNyZWF0ZVN1YlRyZWUoY29uc3QgUmVuZGVyRWxlbWVudCYgcm9vdFJlbmRl
cmVyLCBDb250YWluZXImIHJvb3RDb250YWluZXIpCiB7CisgICAgYXV0byBlbGVtZW50QXR0cmli
dXRlcyA9IFtdIChjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlcikgLT4gc3RkOjpvcHRpb25h
bDxCb3g6OkVsZW1lbnRBdHRyaWJ1dGVzPiB7CisgICAgICAgIGlmIChyZW5kZXJlci5pc0RvY3Vt
ZW50RWxlbWVudFJlbmRlcmVyKCkpCisgICAgICAgICAgICByZXR1cm4gQm94OjpFbGVtZW50QXR0
cmlidXRlcyhCb3g6OkVsZW1lbnRUeXBlOjpEb2N1bWVudCk7CisgICAgICAgIGlmIChhdXRvKiBl
bGVtZW50ID0gcmVuZGVyZXIuZWxlbWVudCgpKSB7CisgICAgICAgICAgICBpZiAoZWxlbWVudC0+
aGFzVGFnTmFtZShIVE1MTmFtZXM6OmJvZHlUYWcpKQorICAgICAgICAgICAgICAgIHJldHVybiBC
b3g6OkVsZW1lbnRBdHRyaWJ1dGVzKEJveDo6RWxlbWVudFR5cGU6OkJvZHkpOworICAgICAgICAg
ICAgaWYgKGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpjb2xUYWcpKQorICAgICAgICAg
ICAgICAgIHJldHVybiBCb3g6OkVsZW1lbnRBdHRyaWJ1dGVzKEJveDo6RWxlbWVudFR5cGU6OlRh
YmxlQ29sdW1uKTsKKyAgICAgICAgICAgIGlmIChlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1l
czo6dHJUYWcpKQorICAgICAgICAgICAgICAgIHJldHVybiBCb3g6OkVsZW1lbnRBdHRyaWJ1dGVz
KEJveDo6RWxlbWVudFR5cGU6OlRhYmxlUm93KTsKKyAgICAgICAgICAgIGlmIChlbGVtZW50LT5o
YXNUYWdOYW1lKEhUTUxOYW1lczo6Y29sZ3JvdXBUYWcpKQorICAgICAgICAgICAgICAgIHJldHVy
biBCb3g6OkVsZW1lbnRBdHRyaWJ1dGVzKEJveDo6RWxlbWVudFR5cGU6OlRhYmxlQ29sdW1uR3Jv
dXApOworICAgICAgICAgICAgaWYgKGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0Ym9k
eVRhZykpCisgICAgICAgICAgICAgICAgcmV0dXJuIEJveDo6RWxlbWVudEF0dHJpYnV0ZXMoQm94
OjpFbGVtZW50VHlwZTo6VGFibGVSb3dHcm91cCk7CisgICAgICAgICAgICBpZiAoZWxlbWVudC0+
aGFzVGFnTmFtZShIVE1MTmFtZXM6OnRoZWFkVGFnKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
Qm94OjpFbGVtZW50QXR0cmlidXRlcyhCb3g6OkVsZW1lbnRUeXBlOjpUYWJsZUhlYWRlckdyb3Vw
KTsKKyAgICAgICAgICAgIGlmIChlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dGZvb3RU
YWcpKQorICAgICAgICAgICAgICAgIHJldHVybiBCb3g6OkVsZW1lbnRBdHRyaWJ1dGVzKEJveDo6
RWxlbWVudFR5cGU6OlRhYmxlRm9vdGVyR3JvdXApOworICAgICAgICB9IAorICAgICAgICByZXR1
cm4gc3RkOjpudWxsb3B0OworICAgIH07CisKICAgICAvLyBTa2lwIFJlbmRlclRleHQgKGFuZCBz
b21lIG90aGVycykgZm9yIG5vdy4KICAgICBmb3IgKGF1dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5
cGU8UmVuZGVyRWxlbWVudD4ocm9vdFJlbmRlcmVyKSkgewogICAgICAgICBCb3gqIGJveCA9IG51
bGxwdHI7CisKICAgICAgICAgaWYgKGlzPFJlbmRlckJsb2NrPihjaGlsZCkpIHsKLSAgICAgICAg
ICAgIGJveCA9IG5ldyBCbG9ja0NvbnRhaW5lcihSZW5kZXJTdHlsZTo6Y2xvbmUoY2hpbGQuc3R5
bGUoKSkpOworICAgICAgICAgICAgYm94ID0gbmV3IEJsb2NrQ29udGFpbmVyKGVsZW1lbnRBdHRy
aWJ1dGVzKGNoaWxkKSwgUmVuZGVyU3R5bGU6OmNsb25lKGNoaWxkLnN0eWxlKCkpKTsKICAgICAg
ICAgICAgIGNyZWF0ZVN1YlRyZWUoY2hpbGQsIGRvd25jYXN0PENvbnRhaW5lcj4oKmJveCkpOwog
ICAgICAgICB9IGVsc2UgaWYgKGlzPFJlbmRlcklubGluZT4oY2hpbGQpKSB7Ci0gICAgICAgICAg
ICBib3ggPSBuZXcgSW5saW5lQ29udGFpbmVyKFJlbmRlclN0eWxlOjpjbG9uZShjaGlsZC5zdHls
ZSgpKSk7CisgICAgICAgICAgICBib3ggPSBuZXcgSW5saW5lQ29udGFpbmVyKGVsZW1lbnRBdHRy
aWJ1dGVzKGNoaWxkKSwgUmVuZGVyU3R5bGU6OmNsb25lKGNoaWxkLnN0eWxlKCkpKTsKICAgICAg
ICAgICAgIGNyZWF0ZVN1YlRyZWUoY2hpbGQsIGRvd25jYXN0PENvbnRhaW5lcj4oKmJveCkpOwog
ICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIEFTU0VSVF9OT1RfSU1QTEVNRU5URURfWUVUKCk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341666</attachid>
            <date>2018-05-31 09:14:54 -0700</date>
            <delta_ts>2018-05-31 09:43:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186117-20180531091453.patch</filename>
            <type>text/plain</type>
            <size>15459</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyMzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjhjMDBlMTlhZTQ2NTdm
YWViMDkwYmYyNzRhZGIxNTU1NjIyMDRkOC4uZDIyNGE2YzZjNjY2MmYwYzdmMGYyZmM2OTA5YTVh
YzY3MDUzM2E1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE4LTA1LTMxICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gTGF5b3V0IGNvZGUg
bmVlZHMgdG8ga25vdyB0aGUgdHlwZSBvZiB0aGUgRWxlbWVudCBhc3NvY2lhdGVkIHdpdGggYSBM
YXlvdXQ6OkJveAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTg2MTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAg
ICAgU2luY2UgdGhlc2UgYXR0cmlidXRlcyBkb24ndCBjaGFuZ2UgZHVyaW5nIGxheW91dCwgd2Ug
Y291bGQganVzdCBwYXNzIHRoZW0gaW4gdG8gTGF5b3V0OjpCb3ggaW5zdGVhZAorICAgICAgICBv
ZiBrZWVwIHF1ZXJ5aW5nIHRoZSBFbGVtZW50LgorCisgICAgICAgICogbGF5b3V0L2xheW91dHRy
ZWUvTGF5b3V0QmxvY2tDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpC
bG9ja0NvbnRhaW5lcjo6QmxvY2tDb250YWluZXIpOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0
cmVlL0xheW91dEJsb2NrQ29udGFpbmVyLmg6CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUv
TGF5b3V0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94OjpCb3gpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCb3g6OmlzUGFkZGluZ0FwcGxpY2FibGUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCb3g6OmlzRG9jdW1lbnRCb3ggY29uc3QpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCb3g6OmlzQm9keUJveCBjb25zdCk6IERl
bGV0ZWQuCisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94Lmg6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OkJveDo6aXNBbm9ueW1vdXMgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpCb3g6OmlzRG9jdW1lbnRCb3ggY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpCb3g6OmlzQm9keUJveCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkJveDo6RWxlbWVudEF0dHJpYnV0ZXM6OkVsZW1lbnRBdHRyaWJ1dGVzKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6Qm94OjpzZXRQcmV2aW91c1NpYmxpbmcpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpCb3g6OnNldElzQW5vbnltb3VzKTogRGVsZXRlZC4KKyAgICAgICAgKiBs
YXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0OjpDb250YWluZXI6OkNvbnRhaW5lcik6CisgICAgICAgICogbGF5b3V0L2xheW91dHRy
ZWUvTGF5b3V0Q29udGFpbmVyLmg6CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0
SW5saW5lQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lQm94OjpJbmxp
bmVCb3gpOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dElubGluZUJveC5oOgor
ICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dElubGluZUNvbnRhaW5lci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUNvbnRhaW5lcjo6SW5saW5lQ29udGFpbmVy
KToKKyAgICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRJbmxpbmVDb250YWluZXIuaDoK
KyAgICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRyZWVCdWlsZGVyOjpjcmVhdGVMYXlvdXRUcmVlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6VHJlZUJ1aWxkZXI6OmNyZWF0ZVN1YlRyZWUpOgorCiAy
MDE4LTA1LTMxICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xG
Q10gTWFyZ2luIGJveCBpcyBib3JkZXIgYm94ICsgbWFyZ2lucy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJsb2NrQ29udGFpbmVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJsb2NrQ29udGFpbmVyLmNwcApp
bmRleCA3ZjQzYjM3ODJlNDkzZGJmNmYzY2JlZmE1Y2NmZDJhZWVlODJjMTk3Li45MGM1MzQ5MmY3
NjEwM2IxODAxZmM1OTYwMzFjY2IyZTJmYzYxNjVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCbG9ja0NvbnRhaW5lci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0QmxvY2tDb250YWluZXIuY3BwCkBAIC0z
Niw4ICszNiw4IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVE
X0lNUEwoQmxvY2tDb250YWluZXIpOwogCi1CbG9ja0NvbnRhaW5lcjo6QmxvY2tDb250YWluZXIo
UmVuZGVyU3R5bGUmJiBzdHlsZSwgQmFzZVR5cGVGbGFncyBiYXNlVHlwZUZsYWdzKQotICAgIDog
Q29udGFpbmVyKFdURk1vdmUoc3R5bGUpLCBiYXNlVHlwZUZsYWdzIHwgQmxvY2tDb250YWluZXJG
bGFnKQorQmxvY2tDb250YWluZXI6OkJsb2NrQ29udGFpbmVyKHN0ZDo6b3B0aW9uYWw8RWxlbWVu
dEF0dHJpYnV0ZXM+IGF0dHJpYnV0ZXMsIFJlbmRlclN0eWxlJiYgc3R5bGUsIEJhc2VUeXBlRmxh
Z3MgYmFzZVR5cGVGbGFncykKKyAgICA6IENvbnRhaW5lcihhdHRyaWJ1dGVzLCBXVEZNb3ZlKHN0
eWxlKSwgYmFzZVR5cGVGbGFncyB8IEJsb2NrQ29udGFpbmVyRmxhZykKIHsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0QmxvY2tDb250YWlu
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJsb2NrQ29udGFp
bmVyLmgKaW5kZXggZGFkZTcwNjBlYWRkMDliM2Q5ZTM2MjhhZGE2Zjg4NmZiNjBmZDA5NS4uYzg0
NDg0NGFlNjE5N2FmNmFkODdjZGMxMGNjMDZhZTNlMTk5Yjg5ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0QmxvY2tDb250YWluZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCbG9ja0NvbnRhaW5lci5oCkBA
IC00NCw3ICs0NCw3IEBAIHB1YmxpYzoKICAgICBib29sIGVzdGFibGlzaGVzSW5saW5lRm9ybWF0
dGluZ0NvbnRleHQoKSBjb25zdCBmaW5hbDsKIAogcHJvdGVjdGVkOgotICAgIEJsb2NrQ29udGFp
bmVyKFJlbmRlclN0eWxlJiYsIEJhc2VUeXBlRmxhZ3MgPSBCbG9ja0NvbnRhaW5lckZsYWcpOwor
ICAgIEJsb2NrQ29udGFpbmVyKHN0ZDo6b3B0aW9uYWw8RWxlbWVudEF0dHJpYnV0ZXM+LCBSZW5k
ZXJTdHlsZSYmLCBCYXNlVHlwZUZsYWdzID0gQmxvY2tDb250YWluZXJGbGFnKTsKIAogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5jcHAKaW5kZXgg
NTQwMzE4YTBlMzI0ZmEzYzM4ZjE4OTlmMWVkMTU2OWY4Yzg4ZTMxNC4uZGVmYWQyYzUwOWUzY2M2
YTMyMGMxOGFjMWU5MWQyYmM0MjYxMzE5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
bGF5b3V0dHJlZS9MYXlvdXRCb3guY3BwCkBAIC0zNiwxMCArMzYsMTAgQEAgbmFtZXNwYWNlIExh
eW91dCB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChCb3gpOwogCi1Cb3g6OkJveChS
ZW5kZXJTdHlsZSYmIHN0eWxlLCBCYXNlVHlwZUZsYWdzIGJhc2VUeXBlRmxhZ3MpCitCb3g6OkJv
eChzdGQ6Om9wdGlvbmFsPEVsZW1lbnRBdHRyaWJ1dGVzPiBhdHRyaWJ1dGVzLCBSZW5kZXJTdHls
ZSYmIHN0eWxlLCBCYXNlVHlwZUZsYWdzIGJhc2VUeXBlRmxhZ3MpCiAgICAgOiBtX3N0eWxlKFdU
Rk1vdmUoc3R5bGUpKQorICAgICwgbV9lbGVtZW50QXR0cmlidXRlcyhhdHRyaWJ1dGVzKQogICAg
ICwgbV9iYXNlVHlwZUZsYWdzKGJhc2VUeXBlRmxhZ3MpCi0gICAgLCBtX2lzQW5vbnltb3VzKGZh
bHNlKQogewogfQogCkBAIC0xODEsMTggKzE4MSw2IEBAIGJvb2wgQm94Ojppc0luaXRpYWxDb250
YWluaW5nQmxvY2soKSBjb25zdAogICAgIHJldHVybiAhcGFyZW50KCk7CiB9CiAKLWJvb2wgQm94
Ojppc0RvY3VtZW50Qm94KCkgY29uc3QKLXsKLSAgICAvLyByZXR1cm4gZG9jdW1lbnQoKS5kb2N1
bWVudEVsZW1lbnQoKSA9PSAmZWxlbWVudCgpOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQotYm9v
bCBCb3g6OmlzQm9keUJveCgpIGNvbnN0Ci17Ci0gICAgLy8gcmV0dXJuIGVsZW1lbnQoKS5oYXNU
YWdOYW1lKEhUTUxOYW1lczo6Ym9keVRhZyk7Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiBjb25z
dCBCb3gqIEJveDo6bmV4dEluRmxvd1NpYmxpbmcoKSBjb25zdAogewogICAgIGlmIChhdXRvKiBu
ZXh0U2libGluZyA9IHRoaXMtPm5leHRTaWJsaW5nKCkpIHsKQEAgLTI0Miw3ICsyMzAsMTUgQEAg
Ym9vbCBCb3g6OmlzUGFkZGluZ0FwcGxpY2FibGUoKSBjb25zdAogewogICAgIC8vIDguNCBQYWRk
aW5nIHByb3BlcnRpZXM6CiAgICAgLy8gQXBwbGllcyB0bzogYWxsIGVsZW1lbnRzIGV4Y2VwdCB0
YWJsZS1yb3ctZ3JvdXAsIHRhYmxlLWhlYWRlci1ncm91cCwgdGFibGUtZm9vdGVyLWdyb3VwLCB0
YWJsZS1yb3csIHRhYmxlLWNvbHVtbi1ncm91cCBhbmQgdGFibGUtY29sdW1uCi0gICAgcmV0dXJu
IHRydWU7CisgICAgaWYgKCFtX2VsZW1lbnRBdHRyaWJ1dGVzKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgYXV0byBlbGVtZW50VHlwZSA9IG1fZWxlbWVudEF0dHJpYnV0ZXMudmFsdWUoKS5l
bGVtZW50VHlwZTsKKyAgICByZXR1cm4gZWxlbWVudFR5cGUgIT0gRWxlbWVudFR5cGU6OlRhYmxl
Um93R3JvdXAKKyAgICAgICAgJiYgZWxlbWVudFR5cGUgIT0gRWxlbWVudFR5cGU6OlRhYmxlSGVh
ZGVyR3JvdXAKKyAgICAgICAgJiYgZWxlbWVudFR5cGUgIT0gRWxlbWVudFR5cGU6OlRhYmxlRm9v
dGVyR3JvdXAKKyAgICAgICAgJiYgZWxlbWVudFR5cGUgIT0gRWxlbWVudFR5cGU6OlRhYmxlUm93
CisgICAgICAgICYmIGVsZW1lbnRUeXBlICE9IEVsZW1lbnRUeXBlOjpUYWJsZUNvbHVtbkdyb3Vw
CisgICAgICAgICYmIGVsZW1lbnRUeXBlICE9IEVsZW1lbnRUeXBlOjpUYWJsZUNvbHVtbjsKIH0K
IAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0
Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guaAppbmRl
eCBmOTgyMTRjMTUzMzRiYjcxYWEzZGM1OTc5YWVlZTkzMmFiMjg2YTc2Li42MjE1YjM5ZWVjZGUw
MjI1MzJhMTQwM2QyYzkxYmI5Njc3MmU4MWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
bGF5b3V0dHJlZS9MYXlvdXRCb3guaApAQCAtNjYsNyArNjYsNyBAQCBwdWJsaWM6CiAgICAgY29u
c3QgQ29udGFpbmVyJiBmb3JtYXR0aW5nQ29udGV4dFJvb3QoKSBjb25zdDsKICAgICBib29sIGlz
RGVzY2VuZGFudE9mKENvbnRhaW5lciYpIGNvbnN0OwogCi0gICAgYm9vbCBpc0Fub255bW91cygp
IGNvbnN0IHsgcmV0dXJuIG1faXNBbm9ueW1vdXM7IH0KKyAgICBib29sIGlzQW5vbnltb3VzKCkg
Y29uc3QgeyByZXR1cm4gIW1fZWxlbWVudEF0dHJpYnV0ZXM7IH0KIAogICAgIGJvb2wgaXNCbG9j
a0xldmVsQm94KCkgY29uc3Q7CiAgICAgYm9vbCBpc0lubGluZUxldmVsQm94KCkgY29uc3Q7CkBA
IC03NCw4ICs3NCw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzQmxvY2tDb250YWluZXJCb3goKSBj
b25zdDsKICAgICBib29sIGlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygpIGNvbnN0OwogCi0gICAg
Ym9vbCBpc0RvY3VtZW50Qm94KCkgY29uc3Q7Ci0gICAgYm9vbCBpc0JvZHlCb3goKSBjb25zdDsK
KyAgICBib29sIGlzRG9jdW1lbnRCb3goKSBjb25zdCB7IHJldHVybiBtX2VsZW1lbnRBdHRyaWJ1
dGVzICYmIG1fZWxlbWVudEF0dHJpYnV0ZXMudmFsdWUoKS5lbGVtZW50VHlwZSA9PSBFbGVtZW50
VHlwZTo6RG9jdW1lbnQ7IH0KKyAgICBib29sIGlzQm9keUJveCgpIGNvbnN0IHsgcmV0dXJuIG1f
ZWxlbWVudEF0dHJpYnV0ZXMgJiYgbV9lbGVtZW50QXR0cmlidXRlcy52YWx1ZSgpLmVsZW1lbnRU
eXBlID09IEVsZW1lbnRUeXBlOjpCb2R5OyB9CiAKICAgICBjb25zdCBDb250YWluZXIqIHBhcmVu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFyZW50OyB9CiAgICAgY29uc3QgQm94KiBuZXh0U2libGlu
ZygpIGNvbnN0IHsgcmV0dXJuIG1fbmV4dFNpYmxpbmc7IH0KQEAgLTk5LDEzICs5OSwyOCBAQCBw
dWJsaWM6CiAgICAgc3RkOjpvcHRpb25hbDxjb25zdCBSZXBsYWNlZD4gcmVwbGFjZWQoKSBjb25z
dCB7IHJldHVybiBtX3JlcGxhY2VkOyB9CiAKIHByb3RlY3RlZDoKKyAgICBlbnVtIGNsYXNzIEVs
ZW1lbnRUeXBlIHsKKyAgICAgICAgRG9jdW1lbnQsCisgICAgICAgIEJvZHksCisgICAgICAgIFRh
YmxlQ29sdW1uLAorICAgICAgICBUYWJsZVJvdywKKyAgICAgICAgVGFibGVDb2x1bW5Hcm91cCwK
KyAgICAgICAgVGFibGVSb3dHcm91cCwKKyAgICAgICAgVGFibGVIZWFkZXJHcm91cCwKKyAgICAg
ICAgVGFibGVGb290ZXJHcm91cCAKKyAgICB9OworCisgICAgc3RydWN0IEVsZW1lbnRBdHRyaWJ1
dGVzIHsKKyAgICAgICAgRWxlbWVudFR5cGUgZWxlbWVudFR5cGU7CisgICAgfTsKKwogICAgIGVu
dW0gQmFzZVR5cGVGbGFnIHsKICAgICAgICAgQ29udGFpbmVyRmxhZyAgICAgICAgID0gMSA8PCAw
LAogICAgICAgICBCbG9ja0NvbnRhaW5lckZsYWcgICAgPSAxIDw8IDEsCiAgICAgICAgIElubGlu
ZUJveEZsYWcgICAgICAgICA9IDEgPDwgMiwKICAgICAgICAgSW5saW5lQ29udGFpbmVyRmxhZyAg
ID0gMSA8PCAzCiAgICAgfTsKLSAgICBCb3goUmVuZGVyU3R5bGUmJiwgQmFzZVR5cGVGbGFncyk7
CisgICAgQm94KHN0ZDo6b3B0aW9uYWw8RWxlbWVudEF0dHJpYnV0ZXM+LCBSZW5kZXJTdHlsZSYm
LCBCYXNlVHlwZUZsYWdzKTsKIAogICAgIGJvb2wgaXNPdmVyZmxvd1Zpc2libGUoKSBjb25zdDsK
IApAQCAtMTEzLDEwICsxMjgsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldFBhcmVudChDb250
YWluZXImIHBhcmVudCkgeyBtX3BhcmVudCA9ICZwYXJlbnQ7IH0KICAgICB2b2lkIHNldE5leHRT
aWJsaW5nKEJveCYgbmV4dFNpYmxpbmcpIHsgbV9uZXh0U2libGluZyA9ICZuZXh0U2libGluZzsg
fQogICAgIHZvaWQgc2V0UHJldmlvdXNTaWJsaW5nKEJveCYgcHJldmlvdXNTaWJsaW5nKSB7IG1f
cHJldmlvdXNTaWJsaW5nID0gJnByZXZpb3VzU2libGluZzsgfQotICAgIHZvaWQgc2V0SXNBbm9u
eW1vdXMoKSB7IG1faXNBbm9ueW1vdXMgPSB0cnVlOyB9CiAKICAgICBXZWFrUHRyRmFjdG9yeTxC
b3g+IG1fd2Vha0ZhY3Rvcnk7CiAgICAgUmVuZGVyU3R5bGUgbV9zdHlsZTsKKyAgICBzdGQ6Om9w
dGlvbmFsPEVsZW1lbnRBdHRyaWJ1dGVzPiBtX2VsZW1lbnRBdHRyaWJ1dGVzOwogCiAgICAgQ29u
dGFpbmVyKiBtX3BhcmVudCB7IG51bGxwdHIgfTsKICAgICBCb3gqIG1fcHJldmlvdXNTaWJsaW5n
IHsgbnVsbHB0ciB9OwpAQCAtMTI1LDggKzE0MCw2IEBAIHByaXZhdGU6CiAgICAgc3RkOjpvcHRp
b25hbDxjb25zdCBSZXBsYWNlZD4gbV9yZXBsYWNlZDsKIAogICAgIHVuc2lnbmVkIG1fYmFzZVR5
cGVGbGFncyA6IDQ7Ci0gICAgdW5zaWduZWQgbV9pc0Fub255bW91cyA6IDE7Ci0KIH07CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dENvbnRh
aW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRDb250YWlu
ZXIuY3BwCmluZGV4IDUzNjNkYTM5OTZhYWRmNTVkNmFiNjA2Y2RkY2NmYWU0OWY2OTYxNWMuLjli
NjJlZTdkYWE0ZGViZTJkYmJkOTAyY2UzN2UwMzU5YTI0ZDQ3NWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dENvbnRhaW5lci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Q29udGFpbmVyLmNwcApAQCAtMzYs
OCArMzYsOCBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9J
TVBMKENvbnRhaW5lcik7CiAKLUNvbnRhaW5lcjo6Q29udGFpbmVyKFJlbmRlclN0eWxlJiYgc3R5
bGUsIEJhc2VUeXBlRmxhZ3MgYmFzZVR5cGVGbGFncykKLSAgICA6IEJveChXVEZNb3ZlKHN0eWxl
KSwgYmFzZVR5cGVGbGFncyB8IENvbnRhaW5lckZsYWcpCitDb250YWluZXI6OkNvbnRhaW5lcihz
dGQ6Om9wdGlvbmFsPEVsZW1lbnRBdHRyaWJ1dGVzPiBhdHRyaWJ1dGVzLCBSZW5kZXJTdHlsZSYm
IHN0eWxlLCBCYXNlVHlwZUZsYWdzIGJhc2VUeXBlRmxhZ3MpCisgICAgOiBCb3goYXR0cmlidXRl
cywgV1RGTW92ZShzdHlsZSksIGJhc2VUeXBlRmxhZ3MgfCBDb250YWluZXJGbGFnKQogewogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRDb250
YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dENvbnRhaW5l
ci5oCmluZGV4IDZiYTg5YWU3MzI3NmNlMWQ5NmViZjcwYzhiNmY4YWJiMTM0ODBiM2MuLjVjYjcz
MTNhNjIwZmI2Y2ExZWYxZTU0ZGE2ZTYxMDNkN2NkYzI0MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dENvbnRhaW5lci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dENvbnRhaW5lci5oCkBAIC01Niw3ICs1Niw3
IEBAIHB1YmxpYzoKICAgICBjb25zdCBWZWN0b3I8V2Vha1B0cjxCb3g+PiYgb3V0T2ZGbG93RGVz
Y2VuZGFudHMoKSB7IHJldHVybiBtX291dE9mRmxvd0Rlc2NlbmRhbnRzOyB9CiAKIHByb3RlY3Rl
ZDoKLSAgICBDb250YWluZXIoUmVuZGVyU3R5bGUmJiwgQmFzZVR5cGVGbGFncyk7CisgICAgQ29u
dGFpbmVyKHN0ZDo6b3B0aW9uYWw8RWxlbWVudEF0dHJpYnV0ZXM+LCBSZW5kZXJTdHlsZSYmLCBC
YXNlVHlwZUZsYWdzKTsKIAogcHJpdmF0ZToKICAgICB2b2lkIHNldEZpcnN0Q2hpbGQoQm94Jik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRJbmxp
bmVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5saW5l
Qm94LmNwcAppbmRleCA4ZTUzOTBiYWRmZmQ5NDIzNDhlODFiYmEzODRjZjNkZDUxYjNlNzg4Li5m
YjEzNGY3MmU3NmI4MTdjZDE0ZTliZmMxMTVmZmNjMWMyMWJkNTg4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRJbmxpbmVCb3guY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dElubGluZUJveC5jcHAKQEAgLTM2
LDggKzM2LDggQEAgbmFtZXNwYWNlIExheW91dCB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURf
SU1QTChJbmxpbmVCb3gpOwogCi1JbmxpbmVCb3g6OklubGluZUJveChSZW5kZXJTdHlsZSYmIHN0
eWxlLCBCYXNlVHlwZUZsYWdzIGJhc2VUeXBlRmxhZ3MpCi0gICAgOiBCb3goV1RGTW92ZShzdHls
ZSksIGJhc2VUeXBlRmxhZ3MgfCBJbmxpbmVCb3hGbGFnKQorSW5saW5lQm94OjpJbmxpbmVCb3go
c3RkOjpvcHRpb25hbDxFbGVtZW50QXR0cmlidXRlcz4gYXR0cmlidXRlcywgUmVuZGVyU3R5bGUm
JiBzdHlsZSwgQmFzZVR5cGVGbGFncyBiYXNlVHlwZUZsYWdzKQorICAgIDogQm94KGF0dHJpYnV0
ZXMsIFdURk1vdmUoc3R5bGUpLCBiYXNlVHlwZUZsYWdzIHwgSW5saW5lQm94RmxhZykKIHsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0SW5s
aW5lQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRJbmxpbmVC
b3guaAppbmRleCBkMDZkMDk2ODI0ZTg5OGVkMzBhZDhlMjgxZGM2NzExYmMxY2M1OWU5Li4yOWY4
YTdkM2M5YTUyNTUzMGRjYjczNzkwOTdlZTllMDcxODU2YmY4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRJbmxpbmVCb3guaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRJbmxpbmVCb3guaApAQCAtMzksNyArMzks
NyBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIGNsYXNzIElubGluZUJveCA6IHB1YmxpYyBCb3ggewog
ICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoSW5saW5lQm94KTsKIHB1YmxpYzoKLSAgICBJbmxp
bmVCb3goUmVuZGVyU3R5bGUmJiwgQmFzZVR5cGVGbGFncyk7CisgICAgSW5saW5lQm94KHN0ZDo6
b3B0aW9uYWw8RWxlbWVudEF0dHJpYnV0ZXM+LCBSZW5kZXJTdHlsZSYmLCBCYXNlVHlwZUZsYWdz
KTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVl
L0xheW91dElubGluZUNvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0
dHJlZS9MYXlvdXRJbmxpbmVDb250YWluZXIuY3BwCmluZGV4IDQ3MTUxZGJkNzIyZTMwZWQ2MmJm
MGQ2NTM1MWY5ZDMxZWQ5ZTQzMDguLjk4MGQ5YTlmMzc3YjkwMjVmOTc0ZDliZTA2ZjIyZmIwYzhi
ZWY5OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91
dElubGluZUNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRy
ZWUvTGF5b3V0SW5saW5lQ29udGFpbmVyLmNwcApAQCAtMzYsOCArMzYsOCBAQCBuYW1lc3BhY2Ug
TGF5b3V0IHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKElubGluZUNvbnRhaW5lcik7
CiAKLUlubGluZUNvbnRhaW5lcjo6SW5saW5lQ29udGFpbmVyKFJlbmRlclN0eWxlJiYgc3R5bGUs
IEJhc2VUeXBlRmxhZ3MgYmFzZVR5cGVGbGFncykKLSAgICA6IENvbnRhaW5lcihXVEZNb3ZlKHN0
eWxlKSwgYmFzZVR5cGVGbGFncyB8IElubGluZUNvbnRhaW5lckZsYWcpCitJbmxpbmVDb250YWlu
ZXI6OklubGluZUNvbnRhaW5lcihzdGQ6Om9wdGlvbmFsPEVsZW1lbnRBdHRyaWJ1dGVzPiBhdHRy
aWJ1dGVzLCBSZW5kZXJTdHlsZSYmIHN0eWxlLCBCYXNlVHlwZUZsYWdzIGJhc2VUeXBlRmxhZ3Mp
CisgICAgOiBDb250YWluZXIoYXR0cmlidXRlcywgV1RGTW92ZShzdHlsZSksIGJhc2VUeXBlRmxh
Z3MgfCBJbmxpbmVDb250YWluZXJGbGFnKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRJbmxpbmVDb250YWluZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dElubGluZUNvbnRhaW5lci5oCmluZGV4IGFh
YTIxZDVhYmE5MDZiNWE5NTgwMTdlYmJhNTE2NDA2ZGE2ZmEzNzEuLjczNzNiMzY4NzNjM2M2OGEy
M2FhZDBhYWE4MDQxMTNlNWQ4MDQ4MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9sYXlvdXR0cmVlL0xheW91dElubGluZUNvbnRhaW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9sYXlvdXR0cmVlL0xheW91dElubGluZUNvbnRhaW5lci5oCkBAIC00Miw3ICs0Miw3
IEBAIHB1YmxpYzoKICAgICBmcmllbmQgY2xhc3MgVHJlZUJ1aWxkZXI7CiAKIHByb3RlY3RlZDoK
LSAgICBJbmxpbmVDb250YWluZXIoUmVuZGVyU3R5bGUmJiwgQmFzZVR5cGVGbGFncyA9IElubGlu
ZUNvbnRhaW5lckZsYWcpOworICAgIElubGluZUNvbnRhaW5lcihzdGQ6Om9wdGlvbmFsPEVsZW1l
bnRBdHRyaWJ1dGVzPiwgUmVuZGVyU3R5bGUmJiwgQmFzZVR5cGVGbGFncyA9IElubGluZUNvbnRh
aW5lckZsYWcpOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xh
eW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xh
eW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwCmluZGV4IGVlNjc0NTBhOTI5YzBjM2E4Yjc0
ZDY2ZmEyMzRmMTMxOTVlMTBiYTUuLmQ4ODk4ZWY3NmU4ZWFjNGRjZTA4NDc1OTJhOTc4NjY4ODQz
ZmUyOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91
dFRyZWVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9M
YXlvdXRUcmVlQnVpbGRlci5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCkKIAogI2luY2x1ZGUgIkxheW91dEJsb2NrQ29udGFpbmVyLmgi
CisjaW5jbHVkZSAiTGF5b3V0Qm94LmgiCiAjaW5jbHVkZSAiTGF5b3V0Q2hpbGRJdGVyYXRvci5o
IgogI2luY2x1ZGUgIkxheW91dENvbnRhaW5lci5oIgogI2luY2x1ZGUgIkxheW91dElubGluZUJv
eC5oIgpAQCAtNDYsMjEgKzQ3LDQ0IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogCiBzdGQ6OnVuaXF1
ZV9wdHI8Q29udGFpbmVyPiBUcmVlQnVpbGRlcjo6Y3JlYXRlTGF5b3V0VHJlZShjb25zdCBSZW5k
ZXJWaWV3JiByZW5kZXJWaWV3KQogewotICAgIHN0ZDo6dW5pcXVlX3B0cjxDb250YWluZXI+IGlu
aXRpYWxDb250YWluaW5nQmxvY2sobmV3IEJsb2NrQ29udGFpbmVyKFJlbmRlclN0eWxlOjpjbG9u
ZShyZW5kZXJWaWV3LnN0eWxlKCkpKSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPENvbnRhaW5lcj4g
aW5pdGlhbENvbnRhaW5pbmdCbG9jayhuZXcgQmxvY2tDb250YWluZXIoc3RkOjpudWxsb3B0LCBS
ZW5kZXJTdHlsZTo6Y2xvbmUocmVuZGVyVmlldy5zdHlsZSgpKSkpOwogICAgIFRyZWVCdWlsZGVy
OjpjcmVhdGVTdWJUcmVlKHJlbmRlclZpZXcsICppbml0aWFsQ29udGFpbmluZ0Jsb2NrKTsKICAg
ICByZXR1cm4gaW5pdGlhbENvbnRhaW5pbmdCbG9jazsKIH0KIAogdm9pZCBUcmVlQnVpbGRlcjo6
Y3JlYXRlU3ViVHJlZShjb25zdCBSZW5kZXJFbGVtZW50JiByb290UmVuZGVyZXIsIENvbnRhaW5l
ciYgcm9vdENvbnRhaW5lcikKIHsKKyAgICBhdXRvIGVsZW1lbnRBdHRyaWJ1dGVzID0gW10gKGNv
bnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKSAtPiBzdGQ6Om9wdGlvbmFsPEJveDo6RWxlbWVu
dEF0dHJpYnV0ZXM+IHsKKyAgICAgICAgaWYgKHJlbmRlcmVyLmlzRG9jdW1lbnRFbGVtZW50UmVu
ZGVyZXIoKSkKKyAgICAgICAgICAgIHJldHVybiBCb3g6OkVsZW1lbnRBdHRyaWJ1dGVzIHsgQm94
OjpFbGVtZW50VHlwZTo6RG9jdW1lbnQgfTsKKyAgICAgICAgaWYgKGF1dG8qIGVsZW1lbnQgPSBy
ZW5kZXJlci5lbGVtZW50KCkpIHsKKyAgICAgICAgICAgIGlmIChlbGVtZW50LT5oYXNUYWdOYW1l
KEhUTUxOYW1lczo6Ym9keVRhZykpCisgICAgICAgICAgICAgICAgcmV0dXJuIEJveDo6RWxlbWVu
dEF0dHJpYnV0ZXMgeyBCb3g6OkVsZW1lbnRUeXBlOjpCb2R5IH07CisgICAgICAgICAgICBpZiAo
ZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmNvbFRhZykpCisgICAgICAgICAgICAgICAg
cmV0dXJuIEJveDo6RWxlbWVudEF0dHJpYnV0ZXMgeyBCb3g6OkVsZW1lbnRUeXBlOjpUYWJsZUNv
bHVtbiB9OworICAgICAgICAgICAgaWYgKGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0
clRhZykpCisgICAgICAgICAgICAgICAgcmV0dXJuIEJveDo6RWxlbWVudEF0dHJpYnV0ZXMgeyBC
b3g6OkVsZW1lbnRUeXBlOjpUYWJsZVJvdyB9OworICAgICAgICAgICAgaWYgKGVsZW1lbnQtPmhh
c1RhZ05hbWUoSFRNTE5hbWVzOjpjb2xncm91cFRhZykpCisgICAgICAgICAgICAgICAgcmV0dXJu
IEJveDo6RWxlbWVudEF0dHJpYnV0ZXMgeyBCb3g6OkVsZW1lbnRUeXBlOjpUYWJsZUNvbHVtbkdy
b3VwIH07CisgICAgICAgICAgICBpZiAoZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnRi
b2R5VGFnKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gQm94OjpFbGVtZW50QXR0cmlidXRlcyB7
IEJveDo6RWxlbWVudFR5cGU6OlRhYmxlUm93R3JvdXAgfTsKKyAgICAgICAgICAgIGlmIChlbGVt
ZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dGhlYWRUYWcpKQorICAgICAgICAgICAgICAgIHJl
dHVybiBCb3g6OkVsZW1lbnRBdHRyaWJ1dGVzIHsgQm94OjpFbGVtZW50VHlwZTo6VGFibGVIZWFk
ZXJHcm91cCB9OworICAgICAgICAgICAgaWYgKGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVz
Ojp0Zm9vdFRhZykpCisgICAgICAgICAgICAgICAgcmV0dXJuIEJveDo6RWxlbWVudEF0dHJpYnV0
ZXMgeyBCb3g6OkVsZW1lbnRUeXBlOjpUYWJsZUZvb3Rlckdyb3VwIH07CisgICAgICAgIH0gCisg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgfTsKKwogICAgIC8vIFNraXAgUmVuZGVy
VGV4dCAoYW5kIHNvbWUgb3RoZXJzKSBmb3Igbm93LgogICAgIGZvciAoYXV0byYgY2hpbGQgOiBj
aGlsZHJlbk9mVHlwZTxSZW5kZXJFbGVtZW50Pihyb290UmVuZGVyZXIpKSB7CiAgICAgICAgIEJv
eCogYm94ID0gbnVsbHB0cjsKKwogICAgICAgICBpZiAoaXM8UmVuZGVyQmxvY2s+KGNoaWxkKSkg
ewotICAgICAgICAgICAgYm94ID0gbmV3IEJsb2NrQ29udGFpbmVyKFJlbmRlclN0eWxlOjpjbG9u
ZShjaGlsZC5zdHlsZSgpKSk7CisgICAgICAgICAgICBib3ggPSBuZXcgQmxvY2tDb250YWluZXIo
ZWxlbWVudEF0dHJpYnV0ZXMoY2hpbGQpLCBSZW5kZXJTdHlsZTo6Y2xvbmUoY2hpbGQuc3R5bGUo
KSkpOwogICAgICAgICAgICAgY3JlYXRlU3ViVHJlZShjaGlsZCwgZG93bmNhc3Q8Q29udGFpbmVy
PigqYm94KSk7CiAgICAgICAgIH0gZWxzZSBpZiAoaXM8UmVuZGVySW5saW5lPihjaGlsZCkpIHsK
LSAgICAgICAgICAgIGJveCA9IG5ldyBJbmxpbmVDb250YWluZXIoUmVuZGVyU3R5bGU6OmNsb25l
KGNoaWxkLnN0eWxlKCkpKTsKKyAgICAgICAgICAgIGJveCA9IG5ldyBJbmxpbmVDb250YWluZXIo
ZWxlbWVudEF0dHJpYnV0ZXMoY2hpbGQpLCBSZW5kZXJTdHlsZTo6Y2xvbmUoY2hpbGQuc3R5bGUo
KSkpOwogICAgICAgICAgICAgY3JlYXRlU3ViVHJlZShjaGlsZCwgZG93bmNhc3Q8Q29udGFpbmVy
PigqYm94KSk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgQVNTRVJUX05PVF9JTVBMRU1F
TlRFRF9ZRVQoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>