<?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>162313</bug_id>
          
          <creation_ts>2016-09-20 13:33:09 -0700</creation_ts>
          <short_desc>Require WTFMove for String::adopt</short_desc>
          <delta_ts>2016-10-17 18:12:23 -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>New Bugs</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>fujii</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1231839</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-20 13:33:09 -0700</bug_when>
    <thetext>Require WTFMove for String::adopt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231840</commentid>
    <comment_count>1</comment_count>
      <attachid>289394</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-20 13:34:13 -0700</bug_when>
    <thetext>Created attachment 289394
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231859</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-09-20 14:18:36 -0700</bug_when>
    <thetext>It seems that Source/WebCore/platform/text/LocaleICU.cpp also has String::adopt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231944</commentid>
    <comment_count>3</comment_count>
      <attachid>289420</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-20 18:24:13 -0700</bug_when>
    <thetext>Created attachment 289420
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231955</commentid>
    <comment_count>4</comment_count>
      <attachid>289420</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-09-20 19:36:14 -0700</bug_when>
    <thetext>Comment on attachment 289420
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231960</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-20 20:13:27 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/206196</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232524</commentid>
    <comment_count>6</comment_count>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2016-09-22 11:07:14 -0700</bug_when>
    <thetext>This revision breaks the WinCairo build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232525</commentid>
    <comment_count>7</comment_count>
      <attachid>289580</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2016-09-22 11:07:40 -0700</bug_when>
    <thetext>Created attachment 289580
Build fix for WinCairo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232557</commentid>
    <comment_count>8</comment_count>
      <attachid>289580</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-22 11:45:56 -0700</bug_when>
    <thetext>Comment on attachment 289580
Build fix for WinCairo

Clearing flags on attachment: 289580

Committed r206265: &lt;http://trac.webkit.org/changeset/206265&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289394</attachid>
            <date>2016-09-20 13:34:13 -0700</date>
            <delta_ts>2016-09-20 18:24:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162313-20160920133126.patch</filename>
            <type>text/plain</type>
            <size>14608</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA2MTY5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE2LTA5LTIwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmVxdWlyZSBXVEZNb3ZlIGZvciBTdHJpbmc6OmFkb3B0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjIzMTMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUvSlNTdHJpbmdC
dWlsZGVyLmg6CisgICAgICAgIChKU0M6OkpTU3RyaW5nQnVpbGRlcjo6YnVpbGQpOgorCiAyMDE2
LTA5LTIwICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
YmFzZWxpbmUgYnVpbHRpbnMgZ2VuZXJhdG9yIHRlc3RzIGFmdGVyIHIyMDYxNTUuCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZ0J1aWxkZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZ0J1aWxkZXIuaAkocmV2
aXNpb24gMjA2MDk2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmdC
dWlsZGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTc5LDEyICs3OSwxMiBAQCBwdWJsaWM6CiAgICAg
ICAgICAgICBidWZmZXI4LnNocmlua1RvRml0KCk7CiAgICAgICAgICAgICBpZiAoIWJ1ZmZlcjgu
ZGF0YSgpKQogICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd091dE9mTWVtb3J5RXJyb3IoZXhl
Yywgc2NvcGUpOwotICAgICAgICAgICAgcmV0dXJuIGpzU3RyaW5nKGV4ZWMsIFN0cmluZzo6YWRv
cHQoYnVmZmVyOCkpOworICAgICAgICAgICAgcmV0dXJuIGpzU3RyaW5nKGV4ZWMsIFN0cmluZzo6
YWRvcHQoV1RGTW92ZShidWZmZXI4KSkpOwogICAgICAgICB9CiAgICAgICAgIGJ1ZmZlcjE2LnNo
cmlua1RvRml0KCk7CiAgICAgICAgIGlmICghYnVmZmVyMTYuZGF0YSgpKQogICAgICAgICAgICAg
cmV0dXJuIHRocm93T3V0T2ZNZW1vcnlFcnJvcihleGVjLCBzY29wZSk7Ci0gICAgICAgIHJldHVy
biBqc1N0cmluZyhleGVjLCBTdHJpbmc6OmFkb3B0KGJ1ZmZlcjE2KSk7CisgICAgICAgIHJldHVy
biBqc1N0cmluZyhleGVjLCBTdHJpbmc6OmFkb3B0KFdURk1vdmUoYnVmZmVyMTYpKSk7CiAgICAg
fQogCiBwcml2YXRlOgpJbmRleDogU291cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dURi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNjA5NikKKysrIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTYtMDktMjAgIEFsZXgg
Q2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXF1aXJl
IFdURk1vdmUgZm9yIFN0cmluZzo6YWRvcHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2MjMxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogd3RmL3RleHQvU3RyaW5nSW1wbC5jcHA6CisgICAgICAgIChX
VEY6OlN0cmluZ0ltcGw6OnJlbW92ZUNoYXJhY3RlcnMpOgorICAgICAgICAoV1RGOjpTdHJpbmdJ
bXBsOjpzaW1wbGlmeU1hdGNoZWRDaGFyYWN0ZXJzVG9TcGFjZSk6CisgICAgICAgIChXVEY6OlN0
cmluZ0ltcGw6OmFkb3B0KToKKyAgICAgICAgKiB3dGYvdGV4dC9TdHJpbmdJbXBsLmg6CisgICAg
ICAgIChXVEY6OlN0cmluZ0ltcGw6OmFkb3B0KToKKyAgICAgICAgKiB3dGYvdGV4dC9XVEZTdHJp
bmcuaDoKKyAgICAgICAgKFdURjo6U3RyaW5nOjphZG9wdCk6CisKIDIwMTYtMDktMTQgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW21lZGlhLXNvdXJjZV0gZml4
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNl
LWR1cmF0aW9uLmh0bWwKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcAkocmV2aXNp
b24gMjA2MDk2KQorKysgU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODMxLDcgKzgzMSw3IEBAIEFMV0FZU19JTkxJTkUgUmVmPFN0cmluZ0ltcGw+
IFN0cmluZ0ltcGwKIAogICAgIGRhdGEuc2hyaW5rKG91dGMpOwogCi0gICAgcmV0dXJuIGFkb3B0
KGRhdGEpOworICAgIHJldHVybiBhZG9wdChXVEZNb3ZlKGRhdGEpKTsKIH0KIAogUmVmPFN0cmlu
Z0ltcGw+IFN0cmluZ0ltcGw6OnJlbW92ZUNoYXJhY3RlcnMoQ2hhcmFjdGVyTWF0Y2hGdW5jdGlv
blB0ciBmaW5kTWF0Y2gpCkBAIC04NzUsNyArODc1LDcgQEAgaW5saW5lIFJlZjxTdHJpbmdJbXBs
PiBTdHJpbmdJbXBsOjpzaW1wbAogICAgIAogICAgIGRhdGEuc2hyaW5rKG91dGMpOwogICAgIAot
ICAgIHJldHVybiBhZG9wdChkYXRhKTsKKyAgICByZXR1cm4gYWRvcHQoV1RGTW92ZShkYXRhKSk7
CiB9CiAKIFJlZjxTdHJpbmdJbXBsPiBTdHJpbmdJbXBsOjpzaW1wbGlmeVdoaXRlU3BhY2UoKQpA
QCAtMjAwMiw3ICsyMDAyLDcgQEAgVUNoYXJEaXJlY3Rpb24gU3RyaW5nSW1wbDo6ZGVmYXVsdFdy
aXRpbgogICAgIHJldHVybiBVX0xFRlRfVE9fUklHSFQ7CiB9CiAKLVJlZjxTdHJpbmdJbXBsPiBT
dHJpbmdJbXBsOjphZG9wdChTdHJpbmdCdWZmZXI8TENoYXI+JiBidWZmZXIpCitSZWY8U3RyaW5n
SW1wbD4gU3RyaW5nSW1wbDo6YWRvcHQoU3RyaW5nQnVmZmVyPExDaGFyPiYmIGJ1ZmZlcikKIHsK
ICAgICB1bnNpZ25lZCBsZW5ndGggPSBidWZmZXIubGVuZ3RoKCk7CiAgICAgaWYgKCFsZW5ndGgp
CkBAIC0yMDEwLDcgKzIwMTAsNyBAQCBSZWY8U3RyaW5nSW1wbD4gU3RyaW5nSW1wbDo6YWRvcHQo
U3RyaW5nCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3RyaW5nSW1wbChidWZmZXIucmVsZWFz
ZSgpLCBsZW5ndGgpKTsKIH0KIAotUmVmPFN0cmluZ0ltcGw+IFN0cmluZ0ltcGw6OmFkb3B0KFN0
cmluZ0J1ZmZlcjxVQ2hhcj4mIGJ1ZmZlcikKK1JlZjxTdHJpbmdJbXBsPiBTdHJpbmdJbXBsOjph
ZG9wdChTdHJpbmdCdWZmZXI8VUNoYXI+JiYgYnVmZmVyKQogewogICAgIHVuc2lnbmVkIGxlbmd0
aCA9IGJ1ZmZlci5sZW5ndGgoKTsKICAgICBpZiAoIWxlbmd0aCkKSW5kZXg6IFNvdXJjZS9XVEYv
d3RmL3RleHQvU3RyaW5nSW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL3RleHQv
U3RyaW5nSW1wbC5oCShyZXZpc2lvbiAyMDYwOTYpCisrKyBTb3VyY2UvV1RGL3d0Zi90ZXh0L1N0
cmluZ0ltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtNDI2LDcgKzQyNiw3IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgdW5zaWduZWQgZGF0YU9mZnNldCgpIHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihT
dHJpbmdJbXBsLCBtX2RhdGE4KTsgfQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2hhclR5cGUs
IHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgdHlwZW5hbWUgT3ZlcmZsb3dIYW5kbGVyPgotICAgIHN0
YXRpYyBSZWY8U3RyaW5nSW1wbD4gYWRvcHQoVmVjdG9yPENoYXJUeXBlLCBpbmxpbmVDYXBhY2l0
eSwgT3ZlcmZsb3dIYW5kbGVyPiYgdmVjdG9yKQorICAgIHN0YXRpYyBSZWY8U3RyaW5nSW1wbD4g
YWRvcHQoVmVjdG9yPENoYXJUeXBlLCBpbmxpbmVDYXBhY2l0eSwgT3ZlcmZsb3dIYW5kbGVyPiYm
IHZlY3RvcikKICAgICB7CiAgICAgICAgIGlmIChzaXplX3Qgc2l6ZSA9IHZlY3Rvci5zaXplKCkp
IHsKICAgICAgICAgICAgIEFTU0VSVCh2ZWN0b3IuZGF0YSgpKTsKQEAgLTQzNyw4ICs0MzcsOCBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqZW1wdHkoKTsKICAgICB9CiAKLSAgICBXVEZfRVhQ
T1JUX1NUUklOR19BUEkgc3RhdGljIFJlZjxTdHJpbmdJbXBsPiBhZG9wdChTdHJpbmdCdWZmZXI8
VUNoYXI+Jik7Ci0gICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWY8U3RyaW5nSW1w
bD4gYWRvcHQoU3RyaW5nQnVmZmVyPExDaGFyPiYpOworICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQ
SSBzdGF0aWMgUmVmPFN0cmluZ0ltcGw+IGFkb3B0KFN0cmluZ0J1ZmZlcjxVQ2hhcj4mJik7Cisg
ICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWY8U3RyaW5nSW1wbD4gYWRvcHQoU3Ry
aW5nQnVmZmVyPExDaGFyPiYmKTsKIAogICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0
dXJuIG1fbGVuZ3RoOyB9CiAgICAgc3RhdGljIHB0cmRpZmZfdCBsZW5ndGhNZW1vcnlPZmZzZXQo
KSB7IHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoU3RyaW5nSW1wbCwgbV9sZW5ndGgpOyB9CkluZGV4
OiBTb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
VEYvd3RmL3RleHQvV1RGU3RyaW5nLmgJKHJldmlzaW9uIDIwNjA5NikKKysrIFNvdXJjZS9XVEYv
d3RmL3RleHQvV1RGU3RyaW5nLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzOCwxMCArMTM4LDEwIEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgc3dhcChTdHJpbmcmIG8pIHsgbV9pbXBsLnN3YXAoby5tX2lt
cGwpOyB9CiAKLSAgICBzdGF0aWMgU3RyaW5nIGFkb3B0KFN0cmluZ0J1ZmZlcjxMQ2hhcj4mIGJ1
ZmZlcikgeyByZXR1cm4gU3RyaW5nSW1wbDo6YWRvcHQoYnVmZmVyKTsgfQotICAgIHN0YXRpYyBT
dHJpbmcgYWRvcHQoU3RyaW5nQnVmZmVyPFVDaGFyPiYgYnVmZmVyKSB7IHJldHVybiBTdHJpbmdJ
bXBsOjphZG9wdChidWZmZXIpOyB9CisgICAgc3RhdGljIFN0cmluZyBhZG9wdChTdHJpbmdCdWZm
ZXI8TENoYXI+JiYgYnVmZmVyKSB7IHJldHVybiBTdHJpbmdJbXBsOjphZG9wdChXVEZNb3ZlKGJ1
ZmZlcikpOyB9CisgICAgc3RhdGljIFN0cmluZyBhZG9wdChTdHJpbmdCdWZmZXI8VUNoYXI+JiYg
YnVmZmVyKSB7IHJldHVybiBTdHJpbmdJbXBsOjphZG9wdChXVEZNb3ZlKGJ1ZmZlcikpOyB9CiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5
LCB0eXBlbmFtZSBPdmVyZmxvd0hhbmRsZXI+Ci0gICAgc3RhdGljIFN0cmluZyBhZG9wdChWZWN0
b3I8Q2hhcmFjdGVyVHlwZSwgaW5saW5lQ2FwYWNpdHksIE92ZXJmbG93SGFuZGxlcj4mIHZlY3Rv
cikgeyByZXR1cm4gU3RyaW5nSW1wbDo6YWRvcHQodmVjdG9yKTsgfQorICAgIHN0YXRpYyBTdHJp
bmcgYWRvcHQoVmVjdG9yPENoYXJhY3RlclR5cGUsIGlubGluZUNhcGFjaXR5LCBPdmVyZmxvd0hh
bmRsZXI+JiYgdmVjdG9yKSB7IHJldHVybiBTdHJpbmdJbXBsOjphZG9wdChXVEZNb3ZlKHZlY3Rv
cikpOyB9CiAKICAgICBib29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuICFtX2ltcGw7IH0KICAg
ICBib29sIGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiAhbV9pbXBsIHx8ICFtX2ltcGwtPmxlbmd0
aCgpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMDYwOTYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzNiBAQAorMjAxNi0wOS0yMCAg
QWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJl
cXVpcmUgV1RGTW92ZSBmb3IgU3RyaW5nOjphZG9wdAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyMzEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yLiAgVGhpcyBqdXN0
IG1ha2VzIGl0IG1vcmUgY2xlYXIgd2hhdCBpcyBnb2luZyBvbiB3aGVuIGEgU3RyaW5nIGFkb3B0
cyBhIFZlY3Rvci4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZURlc2VyaWFsaXplcjo6cmVhZFN0cmluZyk6
CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
cXVvdGVDU1NTdHJpbmdJbnRlcm5hbCk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmNhbm9uaWNhbGl6ZWRUaXRsZSk6CisgICAgICAgICogaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5vcm1h
bGl6ZVNwYWNlcyk6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6RXh0ZXJuYWxDaGFyYWN0ZXJUb2tl
bkJ1ZmZlcjo6dGFrZVJlbWFpbmluZ1doaXRlc3BhY2UpOgorICAgICAgICAqIHBsYXRmb3JtL0xl
bmd0aC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpuZXdDb29yZHNBcnJheSk6CisgICAgICAgICog
cGxhdGZvcm0vVVJMUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlVSTFBhcnNlcjo6cGFy
c2UpOgorICAgICAgICAoV2ViQ29yZTo6VVJMUGFyc2VyOjpzZXJpYWxpemUpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0xheWVyQ0E6OlJlcGxpY2FTdGF0ZTo6Y2xvbmVJRCk6CisgICAgICAgICog
cGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEYxNi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0
Q29kZWNVVEYxNjo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VU
RjguY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dENvZGVjVVRGODo6ZGVjb2RlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS90ZXh0L21hYy9UZXh0Q29kZWNNYWMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VGV4dENvZGVjTWFjOjpkZWNvZGUpOgorCiAyMDE2LTA5LTE5ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGVhbi11cCBhZnRlciByMjA2MDE0CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRW
YWx1ZS5jcHAJKHJldmlzaW9uIDIwNjA5NikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3MDcsNyArMTcw
Nyw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICByZWFkTGl0dGxlRW5kaWFuKHB0ciwgZW5kLCBj
aCk7CiAgICAgICAgICAgICBidWZmZXIuYXBwZW5kKGNoKTsKICAgICAgICAgfQotICAgICAgICBz
dHIgPSBTdHJpbmc6OmFkb3B0KGJ1ZmZlcik7CisgICAgICAgIHN0ciA9IFN0cmluZzo6YWRvcHQo
V1RGTW92ZShidWZmZXIpKTsKICNlbmRpZgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXIuY3BwCShyZXZpc2lvbiAyMDYw
OTYpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEzNTkwLDcgKzEzNTkwLDcgQEAgc3RhdGljIGlubGluZSBTdHJpbmcgcXVvdGVD
U1NTdHJpbmdJbnRlcgogICAgIGJ1ZmZlcltpbmRleCsrXSA9ICdcJyc7CiAKICAgICBBU1NFUlQo
cXVvdGVkU3RyaW5nU2l6ZSA9PSBpbmRleCk7Ci0gICAgcmV0dXJuIFN0cmluZzo6YWRvcHQoYnVm
ZmVyKTsKKyAgICByZXR1cm4gU3RyaW5nOjphZG9wdChXVEZNb3ZlKGJ1ZmZlcikpOwogfQogCiAv
LyBXZSB1c2Ugc2luZ2xlIHF1b3RlcyBmb3Igbm93IGJlY2F1c2UgbWFya3VwLmNwcCB1c2VzIGRv
dWJsZSBxdW90ZXMuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDIwNjA5
NikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE1ODIsNyArMTU4Miw3IEBAIHN0YXRpYyBpbmxpbmUgU3RyaW5nV2l0aERpcmVjdGlvbiBjYW5v
bmkKICAgICAvLyBSZXBsYWNlIHRoZSBiYWNrc2xhc2hlcyB3aXRoIGN1cnJlbmN5IHN5bWJvbHMg
aWYgdGhlIGVuY29kaW5nIHJlcXVpcmVzIGl0LgogICAgIGRvY3VtZW50LT5kaXNwbGF5QnVmZmVy
TW9kaWZpZWRCeUVuY29kaW5nKGJ1ZmZlci5jaGFyYWN0ZXJzKCksIGJ1ZmZlci5sZW5ndGgoKSk7
CiAgICAgCi0gICAgcmV0dXJuIFN0cmluZ1dpdGhEaXJlY3Rpb24oU3RyaW5nOjphZG9wdChidWZm
ZXIpLCB0aXRsZVdpdGhEaXJlY3Rpb24uZGlyZWN0aW9uKCkpOworICAgIHJldHVybiBTdHJpbmdX
aXRoRGlyZWN0aW9uKFN0cmluZzo6YWRvcHQoV1RGTW92ZShidWZmZXIpKSwgdGl0bGVXaXRoRGly
ZWN0aW9uLmRpcmVjdGlvbigpKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6dXBkYXRlVGl0bGUoY29u
c3QgU3RyaW5nV2l0aERpcmVjdGlvbiYgdGl0bGUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHJldmlz
aW9uIDIwNjA5NikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzNTcsNyArMjM1Nyw3IEBAIHN0YXRp
YyB2b2lkIG5vcm1hbGl6ZVNwYWNlcyhTdHJpbmcmIHRleHQKICAgICAgICAgaWYgKGlzU3BhY2VU
aGF0TmVlZHNSZXBsYWNpbmcoY2hhclZlY3RvcltpXSkpCiAgICAgICAgICAgICBjaGFyVmVjdG9y
W2ldID0gJyAnOwogICAgIH0KLSAgICB0ZXh0ID0gU3RyaW5nOjphZG9wdChjaGFyVmVjdG9yKTsK
KyAgICB0ZXh0ID0gU3RyaW5nOjphZG9wdChXVEZNb3ZlKGNoYXJWZWN0b3IpKTsKIH0KIAogUmVm
PFRleHRNZXRyaWNzPiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6Om1lYXN1cmVUZXh0KGNvbnN0
IFN0cmluZyYgdGV4dCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVl
QnVpbGRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFRyZWVCdWlsZGVyLmNwcAkocmV2aXNpb24gMjA2MDk2KQorKysgU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE5LDcgKzIx
OSw3IEBAIHB1YmxpYzoKICAgICAgICAgaWYgKHdoaXRlc3BhY2UuaXNFbXB0eSgpKQogICAgICAg
ICAgICAgcmV0dXJuIFN0cmluZygpOwogCi0gICAgICAgIHJldHVybiBTdHJpbmc6OmFkb3B0KHdo
aXRlc3BhY2UpOworICAgICAgICByZXR1cm4gU3RyaW5nOjphZG9wdChXVEZNb3ZlKHdoaXRlc3Bh
Y2UpKTsKICAgICB9CiAKIHByaXZhdGU6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9M
ZW5ndGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5j
cHAJKHJldmlzaW9uIDIwNjA5NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTk5LDcgKzk5LDcgQEAgc3RkOjp1bmlxdWVfcHRyPExlbmd0
aFtdPiBuZXdDb29yZHNBcnJheQogICAgICAgICBlbHNlCiAgICAgICAgICAgICBzcGFjaWZpZWRb
aV0gPSBjYzsKICAgICB9Ci0gICAgUmVmUHRyPFN0cmluZ0ltcGw+IHN0ciA9IFN0cmluZ0ltcGw6
OmFkb3B0KHNwYWNpZmllZCk7CisgICAgUmVmUHRyPFN0cmluZ0ltcGw+IHN0ciA9IFN0cmluZ0lt
cGw6OmFkb3B0KFdURk1vdmUoc3BhY2lmaWVkKSk7CiAKICAgICBzdHIgPSBzdHItPnNpbXBsaWZ5
V2hpdGVTcGFjZSgpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VUkxQYXJzZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VSTFBhcnNlci5jcHAJ
KHJldmlzaW9uIDIwNjA5NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VSTFBhcnNlci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE1MjYsMTAgKzE1MjYsOSBAQCBVUkwgVVJMUGFyc2VyOjpw
YXJzZShjb25zdCBDaGFyYWN0ZXJUeXBlCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIGlm
IChtX3VuaWNvZGVGcmFnbWVudEJ1ZmZlci5pc0VtcHR5KCkpIHsKLSAgICAgICAgLy8gRklYTUU6
IFN0cmluZzo6YWRvcHQgc2hvdWxkIHJlcXVpcmUgYSBXVEZNb3ZlLgotICAgICAgICBtX3VybC5t
X3N0cmluZyA9IFN0cmluZzo6YWRvcHQobV9hc2NpaUJ1ZmZlcik7Ci0gICAgfSBlbHNlIHsKKyAg
ICBpZiAobV91bmljb2RlRnJhZ21lbnRCdWZmZXIuaXNFbXB0eSgpKQorICAgICAgICBtX3VybC5t
X3N0cmluZyA9IFN0cmluZzo6YWRvcHQoV1RGTW92ZShtX2FzY2lpQnVmZmVyKSk7CisgICAgZWxz
ZSB7CiAgICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKICAgICAgICAgYnVpbGRlci5yZXNl
cnZlQ2FwYWNpdHkobV9hc2NpaUJ1ZmZlci5zaXplKCkgKyBtX3VuaWNvZGVGcmFnbWVudEJ1ZmZl
ci5zaXplKCkpOwogICAgICAgICBidWlsZGVyLmFwcGVuZChtX2FzY2lpQnVmZmVyLmRhdGEoKSwg
bV9hc2NpaUJ1ZmZlci5zaXplKCkpOwpAQCAtMjEzMiw3ICsyMTMxLDcgQEAgU3RyaW5nIFVSTFBh
cnNlcjo6c2VyaWFsaXplKGNvbnN0IFVSTEVuYwogICAgICAgICBvdXRwdXQuYXBwZW5kKCc9Jyk7
CiAgICAgICAgIHNlcmlhbGl6ZVVSTEVuY29kZWRGb3JtKHR1cGxlLnNlY29uZCwgb3V0cHV0KTsK
ICAgICB9Ci0gICAgcmV0dXJuIFN0cmluZzo6YWRvcHQob3V0cHV0KTsKKyAgICByZXR1cm4gU3Ry
aW5nOjphZG9wdChXVEZNb3ZlKG91dHB1dCkpOwogfQogCiBib29sIFVSTFBhcnNlcjo6YWxsVmFs
dWVzRXF1YWwoY29uc3QgVVJMJiBhLCBjb25zdCBVUkwmIGIpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAJ
KHJldmlzaW9uIDIwNjA5NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L0dyYXBoaWNzTGF5ZXJDQS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1NzAsNyArMjU3MCw3IEBA
IEdyYXBoaWNzTGF5ZXJDQTo6Q2xvbmVJRCBHcmFwaGljc0xheWVyQ0EKICAgICAgICAgY3VyckNo
YXIgPSAoY3VyckNoYXIgPDwgMSkgfCBtX3JlcGxpY2FCcmFuY2hlc1tpXTsKICAgICB9CiAgICAg
Ci0gICAgcmV0dXJuIFN0cmluZzo6YWRvcHQocmVzdWx0KTsKKyAgICByZXR1cm4gU3RyaW5nOjph
ZG9wdChXVEZNb3ZlKHJlc3VsdCkpOwogfQogCiBQYXNzUmVmUHRyPFBsYXRmb3JtQ0FMYXllcj4g
R3JhcGhpY3NMYXllckNBOjpyZXBsaWNhdGVkTGF5ZXJSb290KFJlcGxpY2FTdGF0ZSYgcmVwbGlj
YVN0YXRlKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2Rl
Y1VURjguY3BwCShyZXZpc2lvbiAyMDYwOTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L1RleHRDb2RlY1VURjguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDMsNyArMzQzLDcgQEAg
U3RyaW5nIFRleHRDb2RlY1VURjg6OmRlY29kZShjb25zdCBjaGFyKgogCiAgICAgYnVmZmVyLnNo
cmluayhkZXN0aW5hdGlvbiAtIGJ1ZmZlci5jaGFyYWN0ZXJzKCkpOwogCi0gICAgcmV0dXJuIFN0
cmluZzo6YWRvcHQoYnVmZmVyKTsKKyAgICByZXR1cm4gU3RyaW5nOjphZG9wdChXVEZNb3ZlKGJ1
ZmZlcikpOwogCiB1cENvbnZlcnRUbzE2Qml0OgogICAgIFN0cmluZ0J1ZmZlcjxVQ2hhcj4gYnVm
ZmVyMTYobV9wYXJ0aWFsU2VxdWVuY2VTaXplICsgbGVuZ3RoKTsKQEAgLTQxOSw3ICs0MTksNyBA
QCB1cENvbnZlcnRUbzE2Qml0OgogICAgIAogICAgIGJ1ZmZlcjE2LnNocmluayhkZXN0aW5hdGlv
bjE2IC0gYnVmZmVyMTYuY2hhcmFjdGVycygpKTsKICAgICAKLSAgICByZXR1cm4gU3RyaW5nOjph
ZG9wdChidWZmZXIxNik7CisgICAgcmV0dXJuIFN0cmluZzo6YWRvcHQoV1RGTW92ZShidWZmZXIx
NikpOwogfQogCiBDU3RyaW5nIFRleHRDb2RlY1VURjg6OmVuY29kZShjb25zdCBVQ2hhciogY2hh
cmFjdGVycywgc2l6ZV90IGxlbmd0aCwgVW5lbmNvZGFibGVIYW5kbGluZykKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGMTYuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGMTYuY3BwCShyZXZpc2lv
biAyMDYwOTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjE2
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTExLDcgKzExMSw3IEBAIFN0cmluZyBUZXh0Q29kZWNV
VEYxNjo6ZGVjb2RlKGNvbnN0IGNoYXIKIAogICAgIGJ1ZmZlci5zaHJpbmsocSAtIGJ1ZmZlci5j
aGFyYWN0ZXJzKCkpOwogCi0gICAgcmV0dXJuIFN0cmluZzo6YWRvcHQoYnVmZmVyKTsKKyAgICBy
ZXR1cm4gU3RyaW5nOjphZG9wdChXVEZNb3ZlKGJ1ZmZlcikpOwogfQogCiBDU3RyaW5nIFRleHRD
b2RlY1VURjE2OjplbmNvZGUoY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgs
IFVuZW5jb2RhYmxlSGFuZGxpbmcpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L21hYy9UZXh0Q29kZWNNYWMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvbWFjL1RleHRDb2RlY01hYy5jcHAJKHJldmlzaW9uIDIwNjA5NikKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL1RleHRDb2RlY01hYy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI2NCw3ICsyNjQsNyBAQCBTdHJpbmcgVGV4dENvZGVjTWFjOjpkZWNvZGUoY29uc3Qg
Y2hhciogCiAgICAgICAgIHJlc3VsdC5hcHBlbmQoYnVmZmVyLCBieXRlc1dyaXR0ZW4gLyBzaXpl
b2YoVUNoYXIpKTsKICAgICB9CiAKLSAgICBTdHJpbmcgcmVzdWx0U3RyaW5nID0gU3RyaW5nOjph
ZG9wdChyZXN1bHQpOworICAgIFN0cmluZyByZXN1bHRTdHJpbmcgPSBTdHJpbmc6OmFkb3B0KFdU
Rk1vdmUocmVzdWx0KSk7CiAKICAgICAvLyA8cmRhcjovL3Byb2JsZW0vMzIyNTQ3Mj4KICAgICAv
LyBTaW1wbGlmaWVkIENoaW5lc2UgcGFnZXMgdXNlIHRoZSBjb2RlIEEzQTAgdG8gbWVhbiAiZnVs
bC13aWR0aCBzcGFjZSIuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289420</attachid>
            <date>2016-09-20 18:24:13 -0700</date>
            <delta_ts>2016-09-20 19:36:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162313-20160920182126.patch</filename>
            <type>text/plain</type>
            <size>17719</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA2MTkzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE2LTA5LTIwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmVxdWlyZSBXVEZNb3ZlIGZvciBTdHJpbmc6OmFkb3B0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjIzMTMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUvSlNTdHJpbmdC
dWlsZGVyLmg6CisgICAgICAgIChKU0M6OkpTU3RyaW5nQnVpbGRlcjo6YnVpbGQpOgorCiAyMDE2
LTA5LTIwICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAg
UkVHUkVTU0lPTihyMjA1NjkyKTogTWluaWZpZWQgYnVpbGRzIGhhdmUgYnJva2VuIGluc3BlY3Rv
cgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmdCdWlsZGVyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmdCdWls
ZGVyLmgJKHJldmlzaW9uIDIwNjE5MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTU3RyaW5nQnVpbGRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC03OSwxMiArNzksMTIgQEAgcHVi
bGljOgogICAgICAgICAgICAgYnVmZmVyOC5zaHJpbmtUb0ZpdCgpOwogICAgICAgICAgICAgaWYg
KCFidWZmZXI4LmRhdGEoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dPdXRPZk1lbW9y
eUVycm9yKGV4ZWMsIHNjb3BlKTsKLSAgICAgICAgICAgIHJldHVybiBqc1N0cmluZyhleGVjLCBT
dHJpbmc6OmFkb3B0KGJ1ZmZlcjgpKTsKKyAgICAgICAgICAgIHJldHVybiBqc1N0cmluZyhleGVj
LCBTdHJpbmc6OmFkb3B0KFdURk1vdmUoYnVmZmVyOCkpKTsKICAgICAgICAgfQogICAgICAgICBi
dWZmZXIxNi5zaHJpbmtUb0ZpdCgpOwogICAgICAgICBpZiAoIWJ1ZmZlcjE2LmRhdGEoKSkKICAg
ICAgICAgICAgIHJldHVybiB0aHJvd091dE9mTWVtb3J5RXJyb3IoZXhlYywgc2NvcGUpOwotICAg
ICAgICByZXR1cm4ganNTdHJpbmcoZXhlYywgU3RyaW5nOjphZG9wdChidWZmZXIxNikpOworICAg
ICAgICByZXR1cm4ganNTdHJpbmcoZXhlYywgU3RyaW5nOjphZG9wdChXVEZNb3ZlKGJ1ZmZlcjE2
KSkpOwogICAgIH0KIAogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMDYxOTMpCisrKyBTb3Vy
Y2UvV1RGL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDE2LTA5
LTIwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgUmVxdWlyZSBXVEZNb3ZlIGZvciBTdHJpbmc6OmFkb3B0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjIzMTMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwOgor
ICAgICAgICAoV1RGOjpTdHJpbmdJbXBsOjpyZW1vdmVDaGFyYWN0ZXJzKToKKyAgICAgICAgKFdU
Rjo6U3RyaW5nSW1wbDo6c2ltcGxpZnlNYXRjaGVkQ2hhcmFjdGVyc1RvU3BhY2UpOgorICAgICAg
ICAoV1RGOjpTdHJpbmdJbXBsOjphZG9wdCk6CisgICAgICAgICogd3RmL3RleHQvU3RyaW5nSW1w
bC5oOgorICAgICAgICAoV1RGOjpTdHJpbmdJbXBsOjphZG9wdCk6CisgICAgICAgICogd3RmL3Rl
eHQvV1RGU3RyaW5nLmg6CisgICAgICAgIChXVEY6OlN0cmluZzo6YWRvcHQpOgorCiAyMDE2LTA5
LTIwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBNYXJr
ZWRCbG9jayBzdGF0ZSB0cmFja2luZyBzdXBwb3J0IG92ZXJsYXBwZWQgYWxsb2NhdGlvbiBhbmQg
bWFya2luZyBzdGF0ZQpJbmRleDogU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwCShyZXZpc2lv
biAyMDYxOTMpCisrKyBTb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC04MzEsNyArODMxLDcgQEAgQUxXQVlTX0lOTElORSBSZWY8U3RyaW5nSW1wbD4g
U3RyaW5nSW1wbAogCiAgICAgZGF0YS5zaHJpbmsob3V0Yyk7CiAKLSAgICByZXR1cm4gYWRvcHQo
ZGF0YSk7CisgICAgcmV0dXJuIGFkb3B0KFdURk1vdmUoZGF0YSkpOwogfQogCiBSZWY8U3RyaW5n
SW1wbD4gU3RyaW5nSW1wbDo6cmVtb3ZlQ2hhcmFjdGVycyhDaGFyYWN0ZXJNYXRjaEZ1bmN0aW9u
UHRyIGZpbmRNYXRjaCkKQEAgLTg3NSw3ICs4NzUsNyBAQCBpbmxpbmUgUmVmPFN0cmluZ0ltcGw+
IFN0cmluZ0ltcGw6OnNpbXBsCiAgICAgCiAgICAgZGF0YS5zaHJpbmsob3V0Yyk7CiAgICAgCi0g
ICAgcmV0dXJuIGFkb3B0KGRhdGEpOworICAgIHJldHVybiBhZG9wdChXVEZNb3ZlKGRhdGEpKTsK
IH0KIAogUmVmPFN0cmluZ0ltcGw+IFN0cmluZ0ltcGw6OnNpbXBsaWZ5V2hpdGVTcGFjZSgpCkBA
IC0yMDAyLDcgKzIwMDIsNyBAQCBVQ2hhckRpcmVjdGlvbiBTdHJpbmdJbXBsOjpkZWZhdWx0V3Jp
dGluCiAgICAgcmV0dXJuIFVfTEVGVF9UT19SSUdIVDsKIH0KIAotUmVmPFN0cmluZ0ltcGw+IFN0
cmluZ0ltcGw6OmFkb3B0KFN0cmluZ0J1ZmZlcjxMQ2hhcj4mIGJ1ZmZlcikKK1JlZjxTdHJpbmdJ
bXBsPiBTdHJpbmdJbXBsOjphZG9wdChTdHJpbmdCdWZmZXI8TENoYXI+JiYgYnVmZmVyKQogewog
ICAgIHVuc2lnbmVkIGxlbmd0aCA9IGJ1ZmZlci5sZW5ndGgoKTsKICAgICBpZiAoIWxlbmd0aCkK
QEAgLTIwMTAsNyArMjAxMCw3IEBAIFJlZjxTdHJpbmdJbXBsPiBTdHJpbmdJbXBsOjphZG9wdChT
dHJpbmcKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHJpbmdJbXBsKGJ1ZmZlci5yZWxlYXNl
KCksIGxlbmd0aCkpOwogfQogCi1SZWY8U3RyaW5nSW1wbD4gU3RyaW5nSW1wbDo6YWRvcHQoU3Ry
aW5nQnVmZmVyPFVDaGFyPiYgYnVmZmVyKQorUmVmPFN0cmluZ0ltcGw+IFN0cmluZ0ltcGw6OmFk
b3B0KFN0cmluZ0J1ZmZlcjxVQ2hhcj4mJiBidWZmZXIpCiB7CiAgICAgdW5zaWduZWQgbGVuZ3Ro
ID0gYnVmZmVyLmxlbmd0aCgpOwogICAgIGlmICghbGVuZ3RoKQpJbmRleDogU291cmNlL1dURi93
dGYvdGV4dC9TdHJpbmdJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvdGV4dC9T
dHJpbmdJbXBsLmgJKHJldmlzaW9uIDIwNjE5MykKKysrIFNvdXJjZS9XVEYvd3RmL3RleHQvU3Ry
aW5nSW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MjYsNyArNDI2LDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyB1bnNpZ25lZCBkYXRhT2Zmc2V0KCkgeyByZXR1cm4gT0JKRUNUX09GRlNFVE9GKFN0
cmluZ0ltcGwsIG1fZGF0YTgpOyB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyVHlwZSwg
c2l6ZV90IGlubGluZUNhcGFjaXR5LCB0eXBlbmFtZSBPdmVyZmxvd0hhbmRsZXI+Ci0gICAgc3Rh
dGljIFJlZjxTdHJpbmdJbXBsPiBhZG9wdChWZWN0b3I8Q2hhclR5cGUsIGlubGluZUNhcGFjaXR5
LCBPdmVyZmxvd0hhbmRsZXI+JiB2ZWN0b3IpCisgICAgc3RhdGljIFJlZjxTdHJpbmdJbXBsPiBh
ZG9wdChWZWN0b3I8Q2hhclR5cGUsIGlubGluZUNhcGFjaXR5LCBPdmVyZmxvd0hhbmRsZXI+JiYg
dmVjdG9yKQogICAgIHsKICAgICAgICAgaWYgKHNpemVfdCBzaXplID0gdmVjdG9yLnNpemUoKSkg
ewogICAgICAgICAgICAgQVNTRVJUKHZlY3Rvci5kYXRhKCkpOwpAQCAtNDM3LDggKzQzNyw4IEBA
IHB1YmxpYzoKICAgICAgICAgcmV0dXJuICplbXB0eSgpOwogICAgIH0KIAotICAgIFdURl9FWFBP
UlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmPFN0cmluZ0ltcGw+IGFkb3B0KFN0cmluZ0J1ZmZlcjxV
Q2hhcj4mKTsKLSAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZjxTdHJpbmdJbXBs
PiBhZG9wdChTdHJpbmdCdWZmZXI8TENoYXI+Jik7CisgICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJ
IHN0YXRpYyBSZWY8U3RyaW5nSW1wbD4gYWRvcHQoU3RyaW5nQnVmZmVyPFVDaGFyPiYmKTsKKyAg
ICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZjxTdHJpbmdJbXBsPiBhZG9wdChTdHJp
bmdCdWZmZXI8TENoYXI+JiYpOwogCiAgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3QgeyByZXR1
cm4gbV9sZW5ndGg7IH0KICAgICBzdGF0aWMgcHRyZGlmZl90IGxlbmd0aE1lbW9yeU9mZnNldCgp
IHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihTdHJpbmdJbXBsLCBtX2xlbmd0aCk7IH0KSW5kZXg6
IFNvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dU
Ri93dGYvdGV4dC9XVEZTdHJpbmcuaAkocmV2aXNpb24gMjA2MTkzKQorKysgU291cmNlL1dURi93
dGYvdGV4dC9XVEZTdHJpbmcuaAkod29ya2luZyBjb3B5KQpAQCAtMTM4LDEwICsxMzgsMTAgQEAg
cHVibGljOgogCiAgICAgdm9pZCBzd2FwKFN0cmluZyYgbykgeyBtX2ltcGwuc3dhcChvLm1faW1w
bCk7IH0KIAotICAgIHN0YXRpYyBTdHJpbmcgYWRvcHQoU3RyaW5nQnVmZmVyPExDaGFyPiYgYnVm
ZmVyKSB7IHJldHVybiBTdHJpbmdJbXBsOjphZG9wdChidWZmZXIpOyB9Ci0gICAgc3RhdGljIFN0
cmluZyBhZG9wdChTdHJpbmdCdWZmZXI8VUNoYXI+JiBidWZmZXIpIHsgcmV0dXJuIFN0cmluZ0lt
cGw6OmFkb3B0KGJ1ZmZlcik7IH0KKyAgICBzdGF0aWMgU3RyaW5nIGFkb3B0KFN0cmluZ0J1ZmZl
cjxMQ2hhcj4mJiBidWZmZXIpIHsgcmV0dXJuIFN0cmluZ0ltcGw6OmFkb3B0KFdURk1vdmUoYnVm
ZmVyKSk7IH0KKyAgICBzdGF0aWMgU3RyaW5nIGFkb3B0KFN0cmluZ0J1ZmZlcjxVQ2hhcj4mJiBi
dWZmZXIpIHsgcmV0dXJuIFN0cmluZ0ltcGw6OmFkb3B0KFdURk1vdmUoYnVmZmVyKSk7IH0KICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHks
IHR5cGVuYW1lIE92ZXJmbG93SGFuZGxlcj4KLSAgICBzdGF0aWMgU3RyaW5nIGFkb3B0KFZlY3Rv
cjxDaGFyYWN0ZXJUeXBlLCBpbmxpbmVDYXBhY2l0eSwgT3ZlcmZsb3dIYW5kbGVyPiYgdmVjdG9y
KSB7IHJldHVybiBTdHJpbmdJbXBsOjphZG9wdCh2ZWN0b3IpOyB9CisgICAgc3RhdGljIFN0cmlu
ZyBhZG9wdChWZWN0b3I8Q2hhcmFjdGVyVHlwZSwgaW5saW5lQ2FwYWNpdHksIE92ZXJmbG93SGFu
ZGxlcj4mJiB2ZWN0b3IpIHsgcmV0dXJuIFN0cmluZ0ltcGw6OmFkb3B0KFdURk1vdmUodmVjdG9y
KSk7IH0KIAogICAgIGJvb2wgaXNOdWxsKCkgY29uc3QgeyByZXR1cm4gIW1faW1wbDsgfQogICAg
IGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuICFtX2ltcGwgfHwgIW1faW1wbC0+bGVuZ3Ro
KCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNjE5MykKKysrIFNvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE2LTA5LTIwICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVx
dWlyZSBXVEZNb3ZlIGZvciBTdHJpbmc6OmFkb3B0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjIzMTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuICBUaGlzIGp1c3Qg
bWFrZXMgaXQgbW9yZSBjbGVhciB3aGF0IGlzIGdvaW5nIG9uIHdoZW4gYSBTdHJpbmcgYWRvcHRz
IGEgVmVjdG9yLgorCisgICAgICAgICogYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNsb25lRGVzZXJpYWxpemVyOjpyZWFkU3RyaW5nKToK
KyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpx
dW90ZUNTU1N0cmluZ0ludGVybmFsKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y2Fub25pY2FsaXplZFRpdGxlKToKKyAgICAgICAgKiBodG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bm9ybWFs
aXplU3BhY2VzKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTFRyZWVCdWlsZGVyOjpFeHRlcm5hbENoYXJhY3RlclRva2Vu
QnVmZmVyOjp0YWtlUmVtYWluaW5nV2hpdGVzcGFjZSk6CisgICAgICAgICogcGxhdGZvcm0vTGVu
Z3RoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5ld0Nvb3Jkc0FycmF5KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9VUkxQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VVJMUGFyc2VyOjpwYXJz
ZSk6CisgICAgICAgIChXZWJDb3JlOjpVUkxQYXJzZXI6OnNlcmlhbGl6ZSk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXJDQTo6UmVwbGljYVN0YXRlOjpjbG9uZUlEKToKKyAgICAgICAgKiBw
bGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjE2LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRD
b2RlY1VURjE2OjpkZWNvZGUpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRG
OC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0Q29kZWNVVEY4OjpkZWNvZGUpOgorICAgICAg
ICAqIHBsYXRmb3JtL3RleHQvbWFjL1RleHRDb2RlY01hYy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpUZXh0Q29kZWNNYWM6OmRlY29kZSk6CisKIDIwMTYtMDktMjAgIEplciBOb2JsZSAgPGplci5u
b2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRvcHQgTVJNZWRpYVJlbW90ZVNldFBhcmVudEFw
cGxpY2F0aW9uLgpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNj
cmlwdFZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
ZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCShyZXZpc2lvbiAyMDYxOTMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xNzA3LDcgKzE3MDcsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgcmVhZExpdHRsZUVu
ZGlhbihwdHIsIGVuZCwgY2gpOwogICAgICAgICAgICAgYnVmZmVyLmFwcGVuZChjaCk7CiAgICAg
ICAgIH0KLSAgICAgICAgc3RyID0gU3RyaW5nOjphZG9wdChidWZmZXIpOworICAgICAgICBzdHIg
PSBTdHJpbmc6OmFkb3B0KFdURk1vdmUoYnVmZmVyKSk7CiAjZW5kaWYKICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmNw
cAkocmV2aXNpb24gMjA2MTkzKQorKysgU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJz
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzY0NCw3ICsxMzY0NCw3IEBAIHN0YXRpYyBpbmxp
bmUgU3RyaW5nIHF1b3RlQ1NTU3RyaW5nSW50ZXIKICAgICBidWZmZXJbaW5kZXgrK10gPSAnXCcn
OwogCiAgICAgQVNTRVJUKHF1b3RlZFN0cmluZ1NpemUgPT0gaW5kZXgpOwotICAgIHJldHVybiBT
dHJpbmc6OmFkb3B0KGJ1ZmZlcik7CisgICAgcmV0dXJuIFN0cmluZzo6YWRvcHQoV1RGTW92ZShi
dWZmZXIpKTsKIH0KIAogLy8gV2UgdXNlIHNpbmdsZSBxdW90ZXMgZm9yIG5vdyBiZWNhdXNlIG1h
cmt1cC5jcHAgdXNlcyBkb3VibGUgcXVvdGVzLgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CShyZXZpc2lvbiAyMDYxOTMpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xNTc0LDcgKzE1NzQsNyBAQCBzdGF0aWMgaW5saW5lIFN0cmluZ1dp
dGhEaXJlY3Rpb24gY2Fub25pCiAgICAgLy8gUmVwbGFjZSB0aGUgYmFja3NsYXNoZXMgd2l0aCBj
dXJyZW5jeSBzeW1ib2xzIGlmIHRoZSBlbmNvZGluZyByZXF1aXJlcyBpdC4KICAgICBkb2N1bWVu
dC0+ZGlzcGxheUJ1ZmZlck1vZGlmaWVkQnlFbmNvZGluZyhidWZmZXIuY2hhcmFjdGVycygpLCBi
dWZmZXIubGVuZ3RoKCkpOwogICAgIAotICAgIHJldHVybiBTdHJpbmdXaXRoRGlyZWN0aW9uKFN0
cmluZzo6YWRvcHQoYnVmZmVyKSwgdGl0bGVXaXRoRGlyZWN0aW9uLmRpcmVjdGlvbigpKTsKKyAg
ICByZXR1cm4gU3RyaW5nV2l0aERpcmVjdGlvbihTdHJpbmc6OmFkb3B0KFdURk1vdmUoYnVmZmVy
KSksIHRpdGxlV2l0aERpcmVjdGlvbi5kaXJlY3Rpb24oKSk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6
OnVwZGF0ZVRpdGxlKGNvbnN0IFN0cmluZ1dpdGhEaXJlY3Rpb24mIHRpdGxlKQpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQuY3BwCShyZXZpc2lvbiAyMDYxOTMpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzU3LDcg
KzIzNTcsNyBAQCBzdGF0aWMgdm9pZCBub3JtYWxpemVTcGFjZXMoU3RyaW5nJiB0ZXh0CiAgICAg
ICAgIGlmIChpc1NwYWNlVGhhdE5lZWRzUmVwbGFjaW5nKGNoYXJWZWN0b3JbaV0pKQogICAgICAg
ICAgICAgY2hhclZlY3RvcltpXSA9ICcgJzsKICAgICB9Ci0gICAgdGV4dCA9IFN0cmluZzo6YWRv
cHQoY2hhclZlY3Rvcik7CisgICAgdGV4dCA9IFN0cmluZzo6YWRvcHQoV1RGTW92ZShjaGFyVmVj
dG9yKSk7CiB9CiAKIFJlZjxUZXh0TWV0cmljcz4gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpt
ZWFzdXJlVGV4dChjb25zdCBTdHJpbmcmIHRleHQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAJKHJldmlzaW9uIDIwNjE5MykKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTIxOSw3ICsyMTksNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmICh3aGl0ZXNwYWNlLmlz
RW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKIAotICAgICAgICByZXR1cm4g
U3RyaW5nOjphZG9wdCh3aGl0ZXNwYWNlKTsKKyAgICAgICAgcmV0dXJuIFN0cmluZzo6YWRvcHQo
V1RGTW92ZSh3aGl0ZXNwYWNlKSk7CiAgICAgfQogCiBwcml2YXRlOgpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9MZW5ndGguY3BwCShyZXZpc2lvbiAyMDYxOTMpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9MZW5ndGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05OSw3ICs5OSw3IEBAIHN0ZDo6
dW5pcXVlX3B0cjxMZW5ndGhbXT4gbmV3Q29vcmRzQXJyYXkKICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgc3BhY2lmaWVkW2ldID0gY2M7CiAgICAgfQotICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBz
dHIgPSBTdHJpbmdJbXBsOjphZG9wdChzcGFjaWZpZWQpOworICAgIFJlZlB0cjxTdHJpbmdJbXBs
PiBzdHIgPSBTdHJpbmdJbXBsOjphZG9wdChXVEZNb3ZlKHNwYWNpZmllZCkpOwogCiAgICAgc3Ry
ID0gc3RyLT5zaW1wbGlmeVdoaXRlU3BhY2UoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVVJMUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9VUkxQYXJzZXIuY3BwCShyZXZpc2lvbiAyMDYxOTMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9VUkxQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTk5LDEwICsxNTk5LDEwIEBA
IFVSTCBVUkxQYXJzZXI6OnBhcnNlKGNvbnN0IENoYXJhY3RlclR5cGUKICAgICAgICAgYnJlYWs7
CiAgICAgfQogCi0gICAgaWYgKG1fdW5pY29kZUZyYWdtZW50QnVmZmVyLmlzRW1wdHkoKSkgewot
ICAgICAgICAvLyBGSVhNRTogU3RyaW5nOjphZG9wdCBzaG91bGQgcmVxdWlyZSBhIFdURk1vdmUu
Ci0gICAgICAgIG1fdXJsLm1fc3RyaW5nID0gU3RyaW5nOjphZG9wdChtX2FzY2lpQnVmZmVyKTsK
LSAgICB9IGVsc2UgeworICAgIGlmIChtX3VuaWNvZGVGcmFnbWVudEJ1ZmZlci5pc0VtcHR5KCkp
CisgICAgICAgIG1fdXJsLm1fc3RyaW5nID0gU3RyaW5nOjphZG9wdChXVEZNb3ZlKG1fYXNjaWlC
dWZmZXIpKTsKKyAgICBlbHNlIHsKKyAgICAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIHVzZSBh
IFZlY3RvcjxVQ2hhcj4gYW5kIGFkb3B0IGl0LgogICAgICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxk
ZXI7CiAgICAgICAgIGJ1aWxkZXIucmVzZXJ2ZUNhcGFjaXR5KG1fYXNjaWlCdWZmZXIuc2l6ZSgp
ICsgbV91bmljb2RlRnJhZ21lbnRCdWZmZXIuc2l6ZSgpKTsKICAgICAgICAgYnVpbGRlci5hcHBl
bmQobV9hc2NpaUJ1ZmZlci5kYXRhKCksIG1fYXNjaWlCdWZmZXIuc2l6ZSgpKTsKQEAgLTIyMTIs
NyArMjIxMiw3IEBAIFN0cmluZyBVUkxQYXJzZXI6OnNlcmlhbGl6ZShjb25zdCBVUkxFbmMKICAg
ICAgICAgb3V0cHV0LmFwcGVuZCgnPScpOwogICAgICAgICBzZXJpYWxpemVVUkxFbmNvZGVkRm9y
bSh0dXBsZS5zZWNvbmQsIG91dHB1dCk7CiAgICAgfQotICAgIHJldHVybiBTdHJpbmc6OmFkb3B0
KG91dHB1dCk7CisgICAgcmV0dXJuIFN0cmluZzo6YWRvcHQoV1RGTW92ZShvdXRwdXQpKTsKIH0K
IAogYm9vbCBVUkxQYXJzZXI6OmFsbFZhbHVlc0VxdWFsKGNvbnN0IFVSTCYgYSwgY29uc3QgVVJM
JiBiKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NM
YXllckNBLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCShyZXZpc2lvbiAyMDYxOTMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNTcwLDcgKzI1NzAsNyBAQCBHcmFwaGljc0xheWVyQ0E6OkNsb25lSUQgR3JhcGhp
Y3NMYXllckNBCiAgICAgICAgIGN1cnJDaGFyID0gKGN1cnJDaGFyIDw8IDEpIHwgbV9yZXBsaWNh
QnJhbmNoZXNbaV07CiAgICAgfQogICAgIAotICAgIHJldHVybiBTdHJpbmc6OmFkb3B0KHJlc3Vs
dCk7CisgICAgcmV0dXJuIFN0cmluZzo6YWRvcHQoV1RGTW92ZShyZXN1bHQpKTsKIH0KIAogUGFz
c1JlZlB0cjxQbGF0Zm9ybUNBTGF5ZXI+IEdyYXBoaWNzTGF5ZXJDQTo6cmVwbGljYXRlZExheWVy
Um9vdChSZXBsaWNhU3RhdGUmIHJlcGxpY2FTdGF0ZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvTG9jYWxlSUNVLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5jcHAJKHJldmlzaW9uIDIwNjE5MykKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzgs
NyArNzgsNyBAQCBTdHJpbmcgTG9jYWxlSUNVOjpkZWNpbWFsU3ltYm9sKFVOdW1iZXJGCiAgICAg
dW51bV9nZXRTeW1ib2wobV9udW1iZXJGb3JtYXQsIHN5bWJvbCwgYnVmZmVyLmRhdGEoKSwgYnVm
ZmVyTGVuZ3RoLCAmc3RhdHVzKTsKICAgICBpZiAoVV9GQUlMVVJFKHN0YXR1cykpCiAgICAgICAg
IHJldHVybiBTdHJpbmcoKTsKLSAgICByZXR1cm4gU3RyaW5nOjphZG9wdChidWZmZXIpOworICAg
IHJldHVybiBTdHJpbmc6OmFkb3B0KFdURk1vdmUoYnVmZmVyKSk7CiB9CiAKIFN0cmluZyBMb2Nh
bGVJQ1U6OmRlY2ltYWxUZXh0QXR0cmlidXRlKFVOdW1iZXJGb3JtYXRUZXh0QXR0cmlidXRlIHRh
ZykKQEAgLTk0LDcgKzk0LDcgQEAgU3RyaW5nIExvY2FsZUlDVTo6ZGVjaW1hbFRleHRBdHRyaWJ1
dGUoVQogICAgIEFTU0VSVChVX1NVQ0NFU1Moc3RhdHVzKSk7CiAgICAgaWYgKFVfRkFJTFVSRShz
dGF0dXMpKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgcmV0dXJuIFN0cmluZzo6YWRv
cHQoYnVmZmVyKTsKKyAgICByZXR1cm4gU3RyaW5nOjphZG9wdChXVEZNb3ZlKGJ1ZmZlcikpOwog
fQogI2VuZGlmCiAKQEAgLTE1OCw3ICsxNTgsNyBAQCBzdGF0aWMgU3RyaW5nIGdldERhdGVGb3Jt
YXRQYXR0ZXJuKGNvbnN0CiAgICAgdWRhdF90b1BhdHRlcm4oZGF0ZUZvcm1hdCwgVFJVRSwgYnVm
ZmVyLmRhdGEoKSwgbGVuZ3RoLCAmc3RhdHVzKTsKICAgICBpZiAoVV9GQUlMVVJFKHN0YXR1cykp
CiAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgIHJldHVybiBTdHJpbmc6OmFkb3B0
KGJ1ZmZlcik7CisgICAgcmV0dXJuIFN0cmluZzo6YWRvcHQoV1RGTW92ZShidWZmZXIpKTsKIH0K
IAogc3RkOjp1bmlxdWVfcHRyPFZlY3RvcjxTdHJpbmc+PiBMb2NhbGVJQ1U6OmNyZWF0ZUxhYmVs
VmVjdG9yKGNvbnN0IFVEYXRlRm9ybWF0KiBkYXRlRm9ybWF0LCBVRGF0ZUZvcm1hdFN5bWJvbFR5
cGUgdHlwZSwgaW50MzJfdCBzdGFydEluZGV4LCBpbnQzMl90IHNpemUpCkBAIC0xODAsNyArMTgw
LDcgQEAgc3RkOjp1bmlxdWVfcHRyPFZlY3RvcjxTdHJpbmc+PiBMb2NhbGVJQwogICAgICAgICB1
ZGF0X2dldFN5bWJvbHMoZGF0ZUZvcm1hdCwgdHlwZSwgc3RhcnRJbmRleCArIGksIGJ1ZmZlci5k
YXRhKCksIGxlbmd0aCwgJnN0YXR1cyk7CiAgICAgICAgIGlmIChVX0ZBSUxVUkUoc3RhdHVzKSkK
ICAgICAgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPFZlY3RvcjxTdHJpbmc+PigpOwot
ICAgICAgICBsYWJlbHMtPmFwcGVuZChTdHJpbmc6OmFkb3B0KGJ1ZmZlcikpOworICAgICAgICBs
YWJlbHMtPmFwcGVuZChTdHJpbmc6OmFkb3B0KFdURk1vdmUoYnVmZmVyKSkpOwogICAgIH0KICAg
ICByZXR1cm4gV1RGTW92ZShsYWJlbHMpOwogfQpAQCAtMjcwLDcgKzI3MCw3IEBAIHN0YXRpYyBT
dHJpbmcgZ2V0Rm9ybWF0Rm9yU2tlbGV0b24oY29uc3QKICAgICAgICAgc3RhdHVzID0gVV9aRVJP
X0VSUk9SOwogICAgICAgICB1ZGF0cGdfZ2V0QmVzdFBhdHRlcm4ocGF0dGVybkdlbmVyYXRvciwg
c2tlbGV0b24sIHNrZWxldG9uTGVuZ3RoLCBidWZmZXIuZGF0YSgpLCBsZW5ndGgsICZzdGF0dXMp
OwogICAgICAgICBpZiAoVV9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAgICAgICBmb3JtYXQgPSBT
dHJpbmc6OmFkb3B0KGJ1ZmZlcik7CisgICAgICAgICAgICBmb3JtYXQgPSBTdHJpbmc6OmFkb3B0
KFdURk1vdmUoYnVmZmVyKSk7CiAgICAgfQogICAgIHVkYXRwZ19jbG9zZShwYXR0ZXJuR2VuZXJh
dG9yKTsKICAgICByZXR1cm4gZm9ybWF0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9UZXh0Q29kZWNVVEY4LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguY3BwCShyZXZpc2lvbiAyMDYxOTMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNDMsNyArMzQzLDcgQEAgU3RyaW5nIFRleHRDb2RlY1VURjg6OmRlY29kZShjb25zdCBjaGFy
KgogCiAgICAgYnVmZmVyLnNocmluayhkZXN0aW5hdGlvbiAtIGJ1ZmZlci5jaGFyYWN0ZXJzKCkp
OwogCi0gICAgcmV0dXJuIFN0cmluZzo6YWRvcHQoYnVmZmVyKTsKKyAgICByZXR1cm4gU3RyaW5n
OjphZG9wdChXVEZNb3ZlKGJ1ZmZlcikpOwogCiB1cENvbnZlcnRUbzE2Qml0OgogICAgIFN0cmlu
Z0J1ZmZlcjxVQ2hhcj4gYnVmZmVyMTYobV9wYXJ0aWFsU2VxdWVuY2VTaXplICsgbGVuZ3RoKTsK
QEAgLTQxOSw3ICs0MTksNyBAQCB1cENvbnZlcnRUbzE2Qml0OgogICAgIAogICAgIGJ1ZmZlcjE2
LnNocmluayhkZXN0aW5hdGlvbjE2IC0gYnVmZmVyMTYuY2hhcmFjdGVycygpKTsKICAgICAKLSAg
ICByZXR1cm4gU3RyaW5nOjphZG9wdChidWZmZXIxNik7CisgICAgcmV0dXJuIFN0cmluZzo6YWRv
cHQoV1RGTW92ZShidWZmZXIxNikpOwogfQogCiBDU3RyaW5nIFRleHRDb2RlY1VURjg6OmVuY29k
ZShjb25zdCBVQ2hhciogY2hhcmFjdGVycywgc2l6ZV90IGxlbmd0aCwgVW5lbmNvZGFibGVIYW5k
bGluZykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGMTYu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVj
VVRGMTYuY3BwCShyZXZpc2lvbiAyMDYxOTMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L1RleHRDb2RlY1VURjE2LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTExLDcgKzExMSw3IEBA
IFN0cmluZyBUZXh0Q29kZWNVVEYxNjo6ZGVjb2RlKGNvbnN0IGNoYXIKIAogICAgIGJ1ZmZlci5z
aHJpbmsocSAtIGJ1ZmZlci5jaGFyYWN0ZXJzKCkpOwogCi0gICAgcmV0dXJuIFN0cmluZzo6YWRv
cHQoYnVmZmVyKTsKKyAgICByZXR1cm4gU3RyaW5nOjphZG9wdChXVEZNb3ZlKGJ1ZmZlcikpOwog
fQogCiBDU3RyaW5nIFRleHRDb2RlY1VURjE2OjplbmNvZGUoY29uc3QgVUNoYXIqIGNoYXJhY3Rl
cnMsIHNpemVfdCBsZW5ndGgsIFVuZW5jb2RhYmxlSGFuZGxpbmcpCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L21hYy9UZXh0Q29kZWNNYWMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL1RleHRDb2RlY01hYy5jcHAJKHJldmlzaW9u
IDIwNjE5MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL1RleHRDb2RlY01h
Yy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2NCw3ICsyNjQsNyBAQCBTdHJpbmcgVGV4dENvZGVj
TWFjOjpkZWNvZGUoY29uc3QgY2hhciogCiAgICAgICAgIHJlc3VsdC5hcHBlbmQoYnVmZmVyLCBi
eXRlc1dyaXR0ZW4gLyBzaXplb2YoVUNoYXIpKTsKICAgICB9CiAKLSAgICBTdHJpbmcgcmVzdWx0
U3RyaW5nID0gU3RyaW5nOjphZG9wdChyZXN1bHQpOworICAgIFN0cmluZyByZXN1bHRTdHJpbmcg
PSBTdHJpbmc6OmFkb3B0KFdURk1vdmUocmVzdWx0KSk7CiAKICAgICAvLyA8cmRhcjovL3Byb2Js
ZW0vMzIyNTQ3Mj4KICAgICAvLyBTaW1wbGlmaWVkIENoaW5lc2UgcGFnZXMgdXNlIHRoZSBjb2Rl
IEEzQTAgdG8gbWVhbiAiZnVsbC13aWR0aCBzcGFjZSIuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vRmlsZVN5c3RlbVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vd2luL0ZpbGVTeXN0ZW1XaW4uY3BwCShyZXZpc2lvbiAyMDYxOTMpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRmlsZVN5c3RlbVdpbi5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE5MCw3ICsxOTAsNyBAQCBTdHJpbmcgcGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KGNv
bnN0IFN0CiAKICAgICBidWZmZXIuc2hyaW5rKHdjc2xlbihidWZmZXIuZGF0YSgpKSk7CiAKLSAg
ICByZXR1cm4gU3RyaW5nOjphZG9wdChidWZmZXIpOworICAgIHJldHVybiBTdHJpbmc6OmFkb3B0
KFdURk1vdmUoYnVmZmVyKSk7CiB9CiAKICNpZiAhVVNFKENGKQpAQCAtMjcyLDcgKzI3Miw3IEBA
IHN0YXRpYyBTdHJpbmcgc3RvcmFnZURpcmVjdG9yeShEV09SRCBwYXQKICAgICBpZiAoRkFJTEVE
KFNIR2V0Rm9sZGVyUGF0aFcoMCwgcGF0aElkZW50aWZpZXIgfCBDU0lETF9GTEFHX0NSRUFURSwg
MCwgMCwgYnVmZmVyLmRhdGEoKSkpKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgYnVm
ZmVyLnJlc2l6ZSh3Y3NsZW4oYnVmZmVyLmRhdGEoKSkpOwotICAgIFN0cmluZyBkaXJlY3Rvcnkg
PSBTdHJpbmc6OmFkb3B0KGJ1ZmZlcik7CisgICAgU3RyaW5nIGRpcmVjdG9yeSA9IFN0cmluZzo6
YWRvcHQoV1RGTW92ZShidWZmZXIpKTsKIAogICAgIERFUFJFQ0FURURfREVGSU5FX1NUQVRJQ19M
T0NBTChTdHJpbmcsIGNvbXBhbnlOYW1lRGlyZWN0b3J5LCAoQVNDSUlMaXRlcmFsKCJBcHBsZSBD
b21wdXRlclxcIikpKTsKICAgICBkaXJlY3RvcnkgPSBwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQo
ZGlyZWN0b3J5LCBjb21wYW55TmFtZURpcmVjdG9yeSArIGJ1bmRsZU5hbWUoKSk7Cg==
</data>
<flag name="review"
          id="312664"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289580</attachid>
            <date>2016-09-22 11:07:40 -0700</date>
            <delta_ts>2016-09-22 11:45:56 -0700</delta_ts>
            <desc>Build fix for WinCairo</desc>
            <filename>r206196-fix.diff</filename>
            <type>text/plain</type>
            <size>1139</size>
            <attacher name="Don Olmstead">don.olmstead</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhMjMyMDhkYi4uZWIxZGViNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEy
IEBACisyMDE2LTA5LTIyICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAYW0uc29ueS5jb20+
CisKKyAgICAgICAgW1dpbkNhaXJvXSBGaXggYnVpbGQgYWZ0ZXIgcjIwNjE5NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vdGV4dC93
aW4vTG9jYWxlV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxvY2FsZVdpbjo6Z2V0TG9jYWxl
SW5mb1N0cmluZyk6CisKIDIwMTYtMDktMjIgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBw
bGUuY29tPgogCiAgICAgICAgIEF1dG9tYXRpYyBUZXh0IFJlcGxhY2VtZW50IFRlc3RpbmcgaW4g
V2ViS2l0MgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC93aW4vTG9j
YWxlV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5j
cHAKaW5kZXggNjVkMTkyOC4uOTllZjBhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC93aW4vTG9jYWxlV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L3dpbi9Mb2NhbGVXaW4uY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgU3RyaW5nIExvY2Fs
ZVdpbjo6Z2V0TG9jYWxlSW5mb1N0cmluZyhMQ1RZUEUgdHlwZSkKICAgICBWZWN0b3I8VUNoYXI+
IGJ1ZmZlcihidWZmZXJTaXplV2l0aE5VTCk7CiAgICAgOjpHZXRMb2NhbGVJbmZvKG1fbGNpZCwg
dHlwZSwgYnVmZmVyLmRhdGEoKSwgYnVmZmVyU2l6ZVdpdGhOVUwpOwogICAgIGJ1ZmZlci5zaHJp
bmsoYnVmZmVyU2l6ZVdpdGhOVUwgLSAxKTsKLSAgICByZXR1cm4gU3RyaW5nOjphZG9wdChidWZm
ZXIpOworICAgIHJldHVybiBTdHJpbmc6OmFkb3B0KFdURk1vdmUoYnVmZmVyKSk7CiB9CiAKIHZv
aWQgTG9jYWxlV2luOjpnZXRMb2NhbGVJbmZvKExDVFlQRSB0eXBlLCBEV09SRCYgcmVzdWx0KQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>