<?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>100910</bug_id>
          
          <creation_ts>2012-10-31 18:55:31 -0700</creation_ts>
          <short_desc>Remove unused Locale::parseDateTime</short_desc>
          <delta_ts>2012-11-01 02:37:12 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>100935</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>haraken</cc>
    
    <cc>mifenton</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>755793</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-31 18:55:31 -0700</bug_when>
    <thetext>Remove unused Locale::parseDateTime</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755797</commentid>
    <comment_count>1</comment_count>
      <attachid>171756</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-31 19:03:33 -0700</bug_when>
    <thetext>Created attachment 171756
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755922</commentid>
    <comment_count>2</comment_count>
      <attachid>171756</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-10-31 23:27:10 -0700</bug_when>
    <thetext>Comment on attachment 171756
Patch

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

&gt; Source/WebCore/ChangeLog:7
&gt; +

Would you describe why parseDateTime() is unused? (I wonder why.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755933</commentid>
    <comment_count>3</comment_count>
      <attachid>171756</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-31 23:45:33 -0700</bug_when>
    <thetext>Comment on attachment 171756
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:7
&gt;&gt; +
&gt; 
&gt; Would you describe why parseDateTime() is unused? (I wonder why.)

The comment in BaseDateAndTimeInputType::convertFromVisibleValue explains it.  I&apos;ll explain in ChangeLog too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755937</commentid>
    <comment_count>4</comment_count>
      <attachid>171756</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-10-31 23:52:07 -0700</bug_when>
    <thetext>Comment on attachment 171756
Patch

Makes sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755939</commentid>
    <comment_count>5</comment_count>
      <attachid>171782</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-31 23:55:59 -0700</bug_when>
    <thetext>Created attachment 171782
Patch for landing

Update ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755959</commentid>
    <comment_count>6</comment_count>
      <attachid>171782</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-01 00:32:20 -0700</bug_when>
    <thetext>Comment on attachment 171782
Patch for landing

Clearing flags on attachment: 171782

Committed r133134: &lt;http://trac.webkit.org/changeset/133134&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755960</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-01 00:32:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171756</attachid>
            <date>2012-10-31 19:03:33 -0700</date>
            <delta_ts>2012-10-31 23:55:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100910-20121101110155.patch</filename>
            <type>text/plain</type>
            <size>22906</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGU3ODlmMDM5MmE4Njk2
ZWJmMmRmZTM2N2I5M2ZmNTk4NzE2Mzg5MS4uOTBhMzQ3ZTViYjYxNTRiNDFkNmFiZWViMjdlOGVh
MDRhNDY3MmI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTEwLTMxICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmUgdW51c2VkIExv
Y2FsZTo6cGFyc2VEYXRlVGltZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAwOTEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2Ugb2Ygbm8gYmVoYXZpb3IgY2hhbmdlcy4K
KworICAgICAgICAqIGh0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6Y29udmVydEZyb21WaXNpYmxlVmFs
dWUpOgorICAgICAgICBSZW1vdmUgTG9jYWxlOjpwYXJzZURhdGVUaWVtIGFuZCBwdXQgQVNTRVJU
X05PVF9SRUFDSEVELgorCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5o
OiBSZW1vdmUgcGFyc2VEYXRlVGltZS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9jYWxl
SUNVLmg6IFJlbW92ZSBwYXJzZURhdGVUaW1lIGFuZCBhIGJvZ3VzIGNvbW1lbnQuCisgICAgICAg
ICogcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwOiBSZW1vdmUgcGFyc2VEYXRlVGltZS4KKwor
ICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9jYWxlTm9uZS5jcHA6IFJlbW92ZSBwYXJzZURhdGVU
aW1lLgorCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLmg6IFJlbW92ZSBw
YXJzZURhdGVUaW1lLgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5tbTog
RGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vdGV4dC93aW4vTG9jYWxlV2luLmg6CisgICAgICAg
IC0gUmVtb3ZlIHBhcnNlRGF0ZVRpbWUsIGl0cyBoZWxwZXJzLCBhbmQgbV9iYXNlWWVhci4KKyAg
ICAgICAgLSBSZW1vdmUgYXBwZW5kTnVtYmVyLCBhcHBlbmRUd29EaWdpdHNOdW1iZXIsIGFwcGVu
ZEZvdXJEaWdpdHNOdW1iZXIsCisgICAgICAgICAgYW5kIGZvcm1hdERhdGUuIFRoZXkgZG9uJ3Qg
ZXhpc3QuCisgICAgICAgICogcGxhdGZvcm0vdGV4dC93aW4vTG9jYWxlV2luLmNwcDoKKyAgICAg
ICAgUmVtb3ZlIHRoZSBhYm92ZSBmdW5jdGlvbnMuCisgICAgICAgIChXZWJDb3JlOjpMb2NhbGVX
aW46OkxvY2FsZVdpbik6IFJlbW92ZSBtX2Jhc2VZZWFyIGluaWl0YWxpemF0aW9uLgorCiAyMDEy
LTEwLTMxICBDaHJpcyBSb2dlcnMgIDxjcm9nZXJzQGdvb2dsZS5jb20+CiAKICAgICAgICAgSW1w
bGVtZW50IG9wdGlvbmFsIGFyZ3VtZW50cyBpbiBBdWRpb0J1ZmZlclNvdXJjZU5vZGUgc3RhcnQo
KSBtZXRob2QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggYzY3N2IyMmI1MjBlYmM5NzEx
MzJlMzA2ZTgzNWU0ZDZjYTdjMzJlOC4uYjRiNDc4MGFjNzMwZDMzZWE2MWZiMjAzZjllZGY2OGZl
NGQ1ZjYyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAx
Mi0xMC0zMSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVt
b3ZlIHVudXNlZCBMb2NhbGU6OnBhcnNlRGF0ZVRpbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDkxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogdGVzdHMvTG9jYWxlTWFjVGVzdC5jcHA6IFJlbW92
ZSB0ZXN0cyBmb3IgcGFyc2VEYXRlVGltZS4KKyAgICAgICAgKiB0ZXN0cy9Mb2NhbGVXaW5UZXN0
LmNwcDogRGl0dG8uCisKIDIwMTItMTAtMzEgIFRpZW4tUmVuIENoZW4gIDx0cmNoZW5AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIEFwcGx5IHRyYW5zZm9ybWF0aW9uIGZvciBoaWdobGlnaHRzIG9u
IG5vbi1jb21wb3NpdGVkIGNvbnRlbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VE
YXRlQW5kVGltZUlucHV0VHlwZS5jcHAKaW5kZXggODMwYzE5ODA2NzIzMDc4MzQ2YTQ0NmFlYmM5
YzJlZWRmMTFhNzNhNC4uNmJlMzBlZTg0NTFlYWQ4MGE5YzkxY2M5MTQxOTk3YzE3OWYyNjk0ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNw
cApAQCAtMTY3LDE0ICsxNjcsMTEgQEAgU3RyaW5nIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6
dmlzaWJsZVZhbHVlKCkgY29uc3QKIAogU3RyaW5nIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6
Y29udmVydEZyb21WaXNpYmxlVmFsdWUoY29uc3QgU3RyaW5nJiB2aXNpYmxlVmFsdWUpIGNvbnN0
CiB7Ci0gICAgaWYgKHZpc2libGVWYWx1ZS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiB2aXNp
YmxlVmFsdWU7Ci0KLSAgICBkb3VibGUgcGFyc2VkVmFsdWUgPSBlbGVtZW50KCktPmxvY2FsZSgp
LnBhcnNlRGF0ZVRpbWUodmlzaWJsZVZhbHVlLCBkYXRlVHlwZSgpKTsKLSAgICBpZiAoIWlzZmlu
aXRlKHBhcnNlZFZhbHVlKSkKLSAgICAgICAgcmV0dXJuIHZpc2libGVWYWx1ZTsKLQotICAgIHJl
dHVybiBzZXJpYWxpemVXaXRoTWlsbGlzZWNvbmRzKHBhcnNlZFZhbHVlKTsKKyAgICAvLyBjb252
ZXJ0RnJvbVZpc2libGVWYWx1ZSBpcyB1c2VkIGluIHRoZSB0ZXh0ZmllbGQgVUkuIFRob3VnaCB0
aGlzIGNsYXNzCisgICAgLy8gaW5oZXJpdHMgVGV4dEZpZWxkSW5wdXRUeXBlLCB1c2VycyBhcmUg
dW5hYmxlIHRvIGVkaXQgdmlzaWJsZSB2YWx1ZXMsIGFuZAorICAgIC8vIHRoaXMgZnVuY3Rpb24g
aXMgbmV2ZXIgY2FsbGVkLgorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiB2
aXNpYmxlVmFsdWU7CiB9CiAKIFN0cmluZyBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnNhbml0
aXplVmFsdWUoY29uc3QgU3RyaW5nJiBwcm9wb3NlZFZhbHVlKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwCmluZGV4IDMwMjExOGU4YmE3NGMwYTA2M2Vk
OGRlMGQ0MmY2ZDRmMWFhMDM1ODEuLjgzMzM2OTM5MzNlZDQ1OTNlZWJmMWI3NTlmZjg1NjFjNTI5
ZjY1MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNV
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5jcHAKQEAg
LTE1NSwyNCArMTU1LDYgQEAgVURhdGVGb3JtYXQqIExvY2FsZUlDVTo6b3BlbkRhdGVGb3JtYXQo
VURhdGVGb3JtYXRTdHlsZSB0aW1lU3R5bGUsIFVEYXRlRm9ybWF0U3QKICAgICByZXR1cm4gdWRh
dF9vcGVuKHRpbWVTdHlsZSwgZGF0ZVN0eWxlLCBtX2xvY2FsZS5kYXRhKCksIGdtdFRpbWV6b25l
LCBXVEZfQVJSQVlfTEVOR1RIKGdtdFRpbWV6b25lKSwgMCwgLTEsICZzdGF0dXMpOwogfQogCi1k
b3VibGUgTG9jYWxlSUNVOjpwYXJzZURhdGVUaW1lKGNvbnN0IFN0cmluZyYgaW5wdXQsIERhdGVD
b21wb25lbnRzOjpUeXBlIHR5cGUpCi17Ci0gICAgaWYgKHR5cGUgIT0gRGF0ZUNvbXBvbmVudHM6
OkRhdGUpCi0gICAgICAgIHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0
X05hTigpOwotICAgIGlmICghaW5pdGlhbGl6ZVNob3J0RGF0ZUZvcm1hdCgpKQotICAgICAgICBy
ZXR1cm4gbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7Ci0gICAgaWYgKGlucHV0
Lmxlbmd0aCgpID4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG51bWVyaWNfbGltaXRzPGludDMyX3Q+
OjptYXgoKSkpCi0gICAgICAgIHJldHVybiBudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9O
YU4oKTsKLSAgICBpbnQzMl90IGlucHV0TGVuZ3RoID0gc3RhdGljX2Nhc3Q8aW50MzJfdD4oaW5w
dXQubGVuZ3RoKCkpOwotICAgIFVFcnJvckNvZGUgc3RhdHVzID0gVV9aRVJPX0VSUk9SOwotICAg
IGludDMyX3QgcGFyc2VQb3NpdGlvbiA9IDA7Ci0gICAgVURhdGUgZGF0ZSA9IHVkYXRfcGFyc2Uo
bV9zaG9ydERhdGVGb3JtYXQsIGlucHV0LmNoYXJhY3RlcnMoKSwgaW5wdXRMZW5ndGgsICZwYXJz
ZVBvc2l0aW9uLCAmc3RhdHVzKTsKLSAgICBpZiAocGFyc2VQb3NpdGlvbiAhPSBpbnB1dExlbmd0
aCB8fCBVX0ZBSUxVUkUoc3RhdHVzKSkKLSAgICAgICAgcmV0dXJuIG51bWVyaWNfbGltaXRzPGRv
dWJsZT46OnF1aWV0X05hTigpOwotICAgIC8vIFVEYXRlLCB3aGljaCBpcyBhbiBhbGlhcyBvZiBk
b3VibGUsIGlzIGNvbXBhdGlibGUgd2l0aCBvdXIgZXhwZWN0YXRpb24uCi0gICAgcmV0dXJuIGRh
dGU7Ci19Ci0KICNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKSB8fCBFTkFCTEUoSU5QVVRfTVVM
VElQTEVfRklFTERTX1VJKQogc3RhdGljIFN0cmluZyBnZXREYXRlRm9ybWF0UGF0dGVybihjb25z
dCBVRGF0ZUZvcm1hdCogZGF0ZUZvcm1hdCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L0xvY2FsZUlDVS5oCmluZGV4IDFjZDY3YzgwYWZjMGE0NmFlOTYyODdlZjRjODc0YjIyZmM4ZTA3
MzcuLmQyYWExMjYxMmNjYzJmYTEwZWRhMzkwN2QwYzM3MzA0ZjViMGM1YjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuaApAQCAtNDksOCArNDksNiBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NPd25QdHI8TG9jYWxlSUNVPiBjcmVhdGUoY29uc3QgY2hhciogbG9j
YWxlU3RyaW5nKTsKICAgICB2aXJ0dWFsIH5Mb2NhbGVJQ1UoKTsKIAotICAgIC8vIEZvciBMb2Nh
bGl6ZWREYXRlCi0gICAgdmlydHVhbCBkb3VibGUgcGFyc2VEYXRlVGltZShjb25zdCBTdHJpbmcm
LCBEYXRlQ29tcG9uZW50czo6VHlwZSkgT1ZFUlJJREU7CiAjaWYgRU5BQkxFKENBTEVOREFSX1BJ
Q0tFUikKICAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB3ZWVrRGF5U2hvcnRMYWJl
bHMoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGZpcnN0RGF5T2ZXZWVrKCkgT1ZF
UlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZU5v
bmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVOb25lLmNwcAppbmRl
eCA4Mjg1OGI2MzJmZDE2ZmNmMTFlY2U1NWM4NWUyMzY1MzRmMmNhNDliLi4yYjBiMTE1YTA0ZmFl
ZWUxZmFlOTVhNTlhOGE4MDRlNzI0ZTBiNTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L0xvY2FsZU5vbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvTG9jYWxlTm9uZS5jcHAKQEAgLTM2LDcgKzM2LDYgQEAgcHVibGljOgogCiBwcml2YXRl
OgogICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplTG9jYWxlRGF0YSgpIE9WRVJSSURFIEZJTkFM
OwotICAgIHZpcnR1YWwgZG91YmxlIHBhcnNlRGF0ZVRpbWUoY29uc3QgU3RyaW5nJiwgRGF0ZUNv
bXBvbmVudHM6OlR5cGUpIE9WRVJSSURFOwogI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiAg
ICAgdmlydHVhbCBib29sIGlzUlRMKCkgT1ZFUlJJREU7CiAjZW5kaWYKQEAgLTc0LDExICs3Myw2
IEBAIHZvaWQgTG9jYWxlTm9uZTo6aW5pdGlhbGl6ZUxvY2FsZURhdGEoKQogewogfQogCi1kb3Vi
bGUgTG9jYWxlTm9uZTo6cGFyc2VEYXRlVGltZShjb25zdCBTdHJpbmcmLCBEYXRlQ29tcG9uZW50
czo6VHlwZSkKLXsKLSAgICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWll
dF9OYU4oKTsKLX0KLQogI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiBib29sIExvY2FsZU5v
bmU6OmlzUlRMKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
UGxhdGZvcm1Mb2NhbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUGxhdGZvcm1M
b2NhbGUuaAppbmRleCBlZmE0NWY4MTRjZjhkODc1MzZiMDc4YzFmZDMyMmYwMjNhYTQ3N2U0Li5l
MzNlMGJmZDMyZDUxYzc1ZmM3ZjQ1ZmM3OWZmZGFiYjA2YjI4YjkxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5oCkBAIC0xMjIsMTQgKzEyMiw2IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNSVEwoKSA9IDA7CiAjZW5kaWYKIAotICAgIC8v
IFBhcnNlcyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRhdGUvdGltZSBzdHJpbmcgbG9j
YWxpemVkCi0gICAgLy8gZm9yIHRoaXMgTG9jYWxlIGxvY2FsZS4gSWYgdGhlIGlucHV0IHN0cmlu
ZyBpcyBub3QgdmFsaWQgb3IKLSAgICAvLyBhbiBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHN1cHBv
cnQgbG9jYWxpemVkIGRhdGVzLCB0aGlzCi0gICAgLy8gZnVuY3Rpb24gcmV0dXJucyBOYU4uIElm
IHRoZSBpbnB1dCBzdHJpbmcgaXMgdmFsaWQgdGhpcwotICAgIC8vIGZ1bmN0aW9uIHJldHVybnMg
dGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgc2luY2UgMTk3MC0wMS0wMQotICAgIC8vIDAwOjAw
OjAwLjAwMCBVVEMuCi0gICAgdmlydHVhbCBkb3VibGUgcGFyc2VEYXRlVGltZShjb25zdCBTdHJp
bmcmLCBEYXRlQ29tcG9uZW50czo6VHlwZSkgPSAwOwotCiAgICAgZW51bSBGb3JtYXRUeXBlIHsg
Rm9ybWF0VHlwZVVuc3BlY2lmaWVkLCBGb3JtYXRUeXBlU2hvcnQsIEZvcm1hdFR5cGVNZWRpdW0g
fTsKIAogICAgIC8vIFNlcmlhbGl6ZXMgdGhlIHNwZWNpZmllZCBkYXRlIGludG8gYSBmb3JtYXR0
ZWQgZGF0ZSBzdHJpbmcgdG8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvbWFjL0xvY2FsZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9j
YWxlTWFjLmgKaW5kZXggNmZlYTkzMWFiOTUxZGEyNzhkMGFjNGM3YTIxNDgzYjkwOWIxMWYyYS4u
ODc2ZDhlM2IwYjZmNjVlNWQ3ZWExOGUyYzVjNGFhNDA2N2Q0NjdkYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLmgKQEAgLTUwLDcgKzUwLDYgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPExvY2FsZU1hYz4gY3JlYXRlKGNvbnN0IFN0cmlu
ZyYpOwogICAgIHN0YXRpYyBQYXNzT3duUHRyPExvY2FsZU1hYz4gY3JlYXRlKE5TTG9jYWxlKik7
CiAgICAgfkxvY2FsZU1hYygpOwotICAgIHZpcnR1YWwgZG91YmxlIHBhcnNlRGF0ZVRpbWUoY29u
c3QgU3RyaW5nJiwgRGF0ZUNvbXBvbmVudHM6OlR5cGUpIE9WRVJSSURFOwogCiAjaWYgRU5BQkxF
KENBTEVOREFSX1BJQ0tFUikKICAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB3ZWVr
RGF5U2hvcnRMYWJlbHMoKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvbWFjL0xvY2FsZU1hYy5tbQppbmRleCBjMDZjMDA1NTQ0ZWVjN2Y3MzNmMjM1ODg1ZjE0NjQ2
NDk2NjhkOTAxLi40NWEyOTQ5N2RmZWMwYTRhYTdhYWFhZTUxY2FlM2UzOGIxYjBkNjg1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1tCkBAIC0xMTQs
MTYgKzExNCw2IEBAIFJldGFpblB0cjxOU0RhdGVGb3JtYXR0ZXI+IExvY2FsZU1hYzo6c2hvcnRE
YXRlRm9ybWF0dGVyKCkKICAgICByZXR1cm4gY3JlYXRlRGF0ZVRpbWVGb3JtYXR0ZXIobV9sb2Nh
bGUuZ2V0KCksIG1fZ3JlZ29yaWFuQ2FsZW5kYXIuZ2V0KCksIE5TRGF0ZUZvcm1hdHRlclNob3J0
U3R5bGUsIE5TRGF0ZUZvcm1hdHRlck5vU3R5bGUpOwogfQogCi1kb3VibGUgTG9jYWxlTWFjOjpw
YXJzZURhdGVUaW1lKGNvbnN0IFN0cmluZyYgaW5wdXQsIERhdGVDb21wb25lbnRzOjpUeXBlIHR5
cGUpCi17Ci0gICAgaWYgKHR5cGUgIT0gRGF0ZUNvbXBvbmVudHM6OkRhdGUpCi0gICAgICAgIHJl
dHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpOwotICAgIE5TRGF0
ZSAqZGF0ZSA9IFtzaG9ydERhdGVGb3JtYXR0ZXIoKS5nZXQoKSBkYXRlRnJvbVN0cmluZzppbnB1
dF07Ci0gICAgaWYgKCFkYXRlKQotICAgICAgICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxk
b3VibGU+OjpxdWlldF9OYU4oKTsKLSAgICByZXR1cm4gW2RhdGUgdGltZUludGVydmFsU2luY2Ux
OTcwXSAqIG1zUGVyU2Vjb25kOwotfQotCiAjaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikgfHwg
RU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBM
b2NhbGVNYWM6Om1vbnRoTGFiZWxzKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L3dpbi9Mb2NhbGVXaW4uY3BwCmluZGV4IGEyODQwZjk4ZWYxYzY4ODE3ODRkMjE4ZjBmMjky
ZTZjYzY2MzQ0ZDQuLjk2MzM3NmUxM2NhZTk4ZDA1NDliMDg1MTJiZjE0OTA0YzQwNzQwNGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC93aW4vTG9jYWxlV2luLmNwcApAQCAt
OTEsMjAgKzkxLDEwIEBAIFBhc3NPd25QdHI8TG9jYWxlPiBMb2NhbGU6OmNyZWF0ZShjb25zdCBB
dG9taWNTdHJpbmcmIGxvY2FsZSkKICAgICByZXR1cm4gTG9jYWxlV2luOjpjcmVhdGUoTENJREZy
b21Mb2NhbGUobG9jYWxlKSk7CiB9CiAKLS8vIFdpbmRvd3MgZG9lc24ndCBoYXZlIGFuIEFQSSB0
byBwYXJzZSBsb2NhbGUtc3BlY2lmaWMgZGF0ZSBzdHJpbmcsCi0vLyBhbmQgR2V0RGF0ZUZvcm1h
dCgpIGFuZCBHZXREYXRlRm9ybWF0RXgoKSBkb24ndCBzdXBwb3J0IHllYXJzIG9sZGVyCi0vLyB0
aGFuIDE2MDAsIHdoaWNoIHdlIHNob3VsZCBzdXBwb3J0IGFjY29yZGluZyB0byB0aGUgSFRNTAot
Ly8gc3RhbmRhcmQuIFNvLCB3ZSBvYnRhaW4gdGhlIGRhdGUgZm9ybWF0IGZyb20gdGhlIHN5c3Rl
bSwgYnV0IHdlCi0vLyBmb3JtYXQvcGFyc2UgYSBkYXRlIGJ5IG91ciBvd24gY29kZS4KLQogaW5s
aW5lIExvY2FsZVdpbjo6TG9jYWxlV2luKExDSUQgbGNpZCkKICAgICA6IG1fbGNpZChsY2lkKQog
ICAgICwgbV9kaWRJbml0aWFsaXplTnVtYmVyRGF0YShmYWxzZSkKIHsKLSAgICBTWVNURU1USU1F
IHN5c3RlbVRpbWU7Ci0gICAgR2V0TG9jYWxUaW1lKCZzeXN0ZW1UaW1lKTsKLSAgICBtX2Jhc2VZ
ZWFyID0gc3lzdGVtVGltZS53WWVhcjsKLQogI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiAg
ICAgRFdPUkQgdmFsdWUgPSAwOwogICAgIGdldExvY2FsZUluZm8oTE9DQUxFX0lGSVJTVERBWU9G
V0VFSywgdmFsdWUpOwpAQCAtMjk4LDE1MSArMjg4LDYgQEAgc3RhdGljIFZlY3RvcjxEYXRlRm9y
bWF0VG9rZW4+IHBhcnNlRGF0ZUZvcm1hdChjb25zdCBTdHJpbmcgZm9ybWF0KQogICAgIHJldHVy
biB0b2tlbnM7CiB9CiAKLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFBhcnNp
bmcKLQotYm9vbCBMb2NhbGVXaW46OmlzTG9jYWxpemVkRGlnaXQoVUNoYXIgY2gpCi17Ci0gICAg
U3RyaW5nIG5vcm1hbGl6ZWREaWdpdCA9IGNvbnZlcnRGcm9tTG9jYWxpemVkTnVtYmVyKFN0cmlu
ZygmY2gsIDEpKTsKLSAgICBpZiAobm9ybWFsaXplZERpZ2l0Lmxlbmd0aCgpICE9IDEpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gaXNBU0NJSURpZ2l0KG5vcm1hbGl6ZWREaWdp
dFswXSk7Ci19Ci0KLS8vIFJldHVybnMgLTEgaWYgcGFyc2luZyBmYWlscy4KLWludCBMb2NhbGVX
aW46OnBhcnNlTnVtYmVyKGNvbnN0IFN0cmluZyYgaW5wdXQsIHVuc2lnbmVkJiBpbmRleCkKLXsK
LSAgICB1bnNpZ25lZCBkaWdpdHNTdGFydCA9IGluZGV4OwotICAgIHdoaWxlIChpbmRleCA8IGlu
cHV0Lmxlbmd0aCgpICYmIGlzQVNDSUlEaWdpdChpbnB1dFtpbmRleF0pKQotICAgICAgICBpbmRl
eCsrOwotICAgIGlmIChkaWdpdHNTdGFydCAhPSBpbmRleCkgewotICAgICAgICBib29sIG9rID0g
ZmFsc2U7Ci0gICAgICAgIGludCBudW1iZXIgPSBpbnB1dC5zdWJzdHJpbmcoZGlnaXRzU3RhcnQs
IGluZGV4IC0gZGlnaXRzU3RhcnQpLnRvSW50KCZvayk7Ci0gICAgICAgIHJldHVybiBvayA/IG51
bWJlciA6IC0xOwotICAgIH0KLQotICAgIHdoaWxlIChpbmRleCA8IGlucHV0Lmxlbmd0aCgpICYm
IGlzTG9jYWxpemVkRGlnaXQoaW5wdXRbaW5kZXhdKSkKLSAgICAgICAgaW5kZXgrKzsKLSAgICBp
ZiAoZGlnaXRzU3RhcnQgPT0gaW5kZXgpCi0gICAgICAgIHJldHVybiAtMTsKLSAgICBib29sIG9r
ID0gZmFsc2U7Ci0gICAgaW50IG51bWJlciA9IGNvbnZlcnRGcm9tTG9jYWxpemVkTnVtYmVyKGlu
cHV0LnN1YnN0cmluZyhkaWdpdHNTdGFydCwgaW5kZXggLSBkaWdpdHNTdGFydCkpLnRvSW50KCZv
ayk7Ci0gICAgcmV0dXJuIG9rID8gbnVtYmVyIDogLTE7Ci19Ci0KLS8vIFJldHVybnMgMC1iYXNl
ZCBtb250aCBudW1iZXIuIFJldHVybnMgLTEgaWYgcGFyc2luZyBmYWlscy4KLWludCBMb2NhbGVX
aW46OnBhcnNlTnVtYmVyT3JNb250aChjb25zdCBTdHJpbmcmIGlucHV0LCB1bnNpZ25lZCYgaW5k
ZXgpCi17Ci0gICAgaW50IHJlc3VsdCA9IHBhcnNlTnVtYmVyKGlucHV0LCBpbmRleCk7Ci0gICAg
aWYgKHJlc3VsdCA+PSAwKSB7Ci0gICAgICAgIGlmIChyZXN1bHQgPCAxIHx8IHJlc3VsdCA+IDEy
KQotICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICByZXR1cm4gcmVzdWx0IC0gMTsKLSAg
ICB9Ci0gICAgZm9yICh1bnNpZ25lZCBtID0gMDsgbSA8IG1fbW9udGhMYWJlbHMuc2l6ZSgpOyAr
K20pIHsKLSAgICAgICAgdW5zaWduZWQgbGFiZWxMZW5ndGggPSBtX21vbnRoTGFiZWxzW21dLmxl
bmd0aCgpOwotICAgICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoaW5wdXQuc3Vic3RyaW5nKGlu
ZGV4LCBsYWJlbExlbmd0aCksIG1fbW9udGhMYWJlbHNbbV0pKSB7Ci0gICAgICAgICAgICBpbmRl
eCArPSBsYWJlbExlbmd0aDsKLSAgICAgICAgICAgIHJldHVybiBtOwotICAgICAgICB9Ci0gICAg
fQotICAgIGZvciAodW5zaWduZWQgbSA9IDA7IG0gPCBtX3Nob3J0TW9udGhMYWJlbHMuc2l6ZSgp
OyArK20pIHsKLSAgICAgICAgdW5zaWduZWQgbGFiZWxMZW5ndGggPSBtX3Nob3J0TW9udGhMYWJl
bHNbbV0ubGVuZ3RoKCk7Ci0gICAgICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShpbnB1dC5zdWJz
dHJpbmcoaW5kZXgsIGxhYmVsTGVuZ3RoKSwgbV9zaG9ydE1vbnRoTGFiZWxzW21dKSkgewotICAg
ICAgICAgICAgaW5kZXggKz0gbGFiZWxMZW5ndGg7Ci0gICAgICAgICAgICByZXR1cm4gbTsKLSAg
ICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gLTE7Ci19Ci0KLWRvdWJsZSBMb2NhbGVXaW46OnBh
cnNlRGF0ZVRpbWUoY29uc3QgU3RyaW5nJiBpbnB1dCwgRGF0ZUNvbXBvbmVudHM6OlR5cGUgdHlw
ZSkKLXsKLSAgICBpZiAodHlwZSAhPSBEYXRlQ29tcG9uZW50czo6RGF0ZSkKLSAgICAgICAgcmV0
dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7Ci0gICAgZW5zdXJl
U2hvcnREYXRlVG9rZW5zKCk7Ci0gICAgcmV0dXJuIHBhcnNlRGF0ZShtX3Nob3J0RGF0ZVRva2Vu
cywgbV9iYXNlWWVhciwgaW5wdXQpOwotfQotCi1kb3VibGUgTG9jYWxlV2luOjpwYXJzZURhdGUo
Y29uc3QgU3RyaW5nJiBmb3JtYXQsIGludCBiYXNlWWVhciwgY29uc3QgU3RyaW5nJiBpbnB1dCkK
LXsKLSAgICByZXR1cm4gcGFyc2VEYXRlKHBhcnNlRGF0ZUZvcm1hdChmb3JtYXQpLCBiYXNlWWVh
ciwgaW5wdXQpOwotfQotCi1kb3VibGUgTG9jYWxlV2luOjpwYXJzZURhdGUoY29uc3QgVmVjdG9y
PERhdGVGb3JtYXRUb2tlbj4mIHRva2VucywgaW50IGJhc2VZZWFyLCBjb25zdCBTdHJpbmcmIGlu
cHV0KQotewotICAgIGVuc3VyZVNob3J0TW9udGhMYWJlbHMoKTsKLSAgICBlbnN1cmVNb250aExh
YmVscygpOwotICAgIGNvbnN0IGRvdWJsZSBOYU4gPSBudW1lcmljX2xpbWl0czxkb3VibGU+Ojpx
dWlldF9OYU4oKTsKLSAgICB1bnNpZ25lZCBpbnB1dEluZGV4ID0gMDsKLSAgICBpbnQgZGF5ID0g
LTEsIG1vbnRoID0gLTEsIHllYXIgPSAtMTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
dG9rZW5zLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIHN3aXRjaCAodG9rZW5zW2ldLnR5cGUpIHsK
LSAgICAgICAgY2FzZSBEYXRlRm9ybWF0VG9rZW46OkxpdGVyYWw6IHsKLSAgICAgICAgICAgIFN0
cmluZyBkYXRhID0gdG9rZW5zW2ldLmRhdGE7Ci0gICAgICAgICAgICB1bnNpZ25lZCBsaXRlcmFs
TGVuZ3RoID0gZGF0YS5sZW5ndGgoKTsKLSAgICAgICAgICAgIGlmIChpbnB1dC5zdWJzdHJpbmco
aW5wdXRJbmRleCwgbGl0ZXJhbExlbmd0aCkgPT0gZGF0YSkKLSAgICAgICAgICAgICAgICBpbnB1
dEluZGV4ICs9IGxpdGVyYWxMZW5ndGg7Ci0gICAgICAgICAgICAvLyBHbyBhaGVhZCBldmVuIGlm
IHRoZSBpbnB1dCBkb2Vzbid0IGhhdmUgdGhpcyBzdHJpbmcuCi0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgfQotICAgICAgICBjYXNlIERhdGVGb3JtYXRUb2tlbjo6RGF5MToKLSAgICAgICAg
Y2FzZSBEYXRlRm9ybWF0VG9rZW46OkRheTI6Ci0gICAgICAgICAgICBkYXkgPSBwYXJzZU51bWJl
cihpbnB1dCwgaW5wdXRJbmRleCk7Ci0gICAgICAgICAgICBpZiAoZGF5IDwgMSB8fCBkYXkgPiAz
MSkKLSAgICAgICAgICAgICAgICByZXR1cm4gTmFOOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGNhc2UgRGF0ZUZvcm1hdFRva2VuOjpNb250aDE6Ci0gICAgICAgIGNhc2UgRGF0ZUZvcm1h
dFRva2VuOjpNb250aDI6Ci0gICAgICAgIGNhc2UgRGF0ZUZvcm1hdFRva2VuOjpNb250aDM6Ci0g
ICAgICAgIGNhc2UgRGF0ZUZvcm1hdFRva2VuOjpNb250aDQ6Ci0gICAgICAgICAgICBtb250aCA9
IHBhcnNlTnVtYmVyT3JNb250aChpbnB1dCwgaW5wdXRJbmRleCk7Ci0gICAgICAgICAgICBpZiAo
bW9udGggPCAwIHx8IG1vbnRoID4gMTEpCi0gICAgICAgICAgICAgICAgcmV0dXJuIE5hTjsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIERhdGVGb3JtYXRUb2tlbjo6WWVhcjE6IHsK
LSAgICAgICAgICAgIHVuc2lnbmVkIG9sZEluZGV4ID0gaW5wdXRJbmRleDsKLSAgICAgICAgICAg
IHllYXIgPSBwYXJzZU51bWJlcihpbnB1dCwgaW5wdXRJbmRleCk7Ci0gICAgICAgICAgICBpZiAo
eWVhciA8PSAwKQotICAgICAgICAgICAgICAgIHJldHVybiBOYU47Ci0gICAgICAgICAgICBpZiAo
aW5wdXRJbmRleCAtIG9sZEluZGV4ID09IDEpIHsKLSAgICAgICAgICAgICAgICBpbnQgc2hvcnRZ
ZWFyID0gYmFzZVllYXIgJSAxMDsKLSAgICAgICAgICAgICAgICBpbnQgZGVjYWRlID0gYmFzZVll
YXIgLSBzaG9ydFllYXI7Ci0gICAgICAgICAgICAgICAgaWYgKHNob3J0WWVhciA+PSA1KQotICAg
ICAgICAgICAgICAgICAgICB5ZWFyICs9IHNob3J0WWVhciAtIDQgPD0geWVhciA/IGRlY2FkZSA6
IGRlY2FkZSArIDEwOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAg
eWVhciArPSBzaG9ydFllYXIgKyA1ID49IHllYXIgPyBkZWNhZGUgOiBkZWNhZGUgLSAxMDsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2Ug
RGF0ZUZvcm1hdFRva2VuOjpZZWFyMjogewotICAgICAgICAgICAgdW5zaWduZWQgb2xkSW5kZXgg
PSBpbnB1dEluZGV4OwotICAgICAgICAgICAgeWVhciA9IHBhcnNlTnVtYmVyKGlucHV0LCBpbnB1
dEluZGV4KTsKLSAgICAgICAgICAgIGlmICh5ZWFyIDw9IDApCi0gICAgICAgICAgICAgICAgcmV0
dXJuIE5hTjsKLSAgICAgICAgICAgIGlmIChpbnB1dEluZGV4IC0gb2xkSW5kZXggPT0gMikgewot
ICAgICAgICAgICAgICAgIGludCBzaG9ydFllYXIgPSBiYXNlWWVhciAlIDEwMDsKLSAgICAgICAg
ICAgICAgICBpbnQgY2VudHVyeSA9IGJhc2VZZWFyIC0gc2hvcnRZZWFyOwotICAgICAgICAgICAg
ICAgIGlmIChzaG9ydFllYXIgPj0gNTApCi0gICAgICAgICAgICAgICAgICAgIHllYXIgKz0gc2hv
cnRZZWFyIC0gNDkgPD0geWVhciA/IGNlbnR1cnkgOiBjZW50dXJ5ICsgMTAwOwotICAgICAgICAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgeWVhciArPSBzaG9ydFllYXIgKyA1MCA+
PSB5ZWFyID8gY2VudHVyeSA6IGNlbnR1cnkgLSAxMDA7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBjYXNlIERhdGVGb3JtYXRUb2tlbjo6WWVh
cjQ6Ci0gICAgICAgICAgICB5ZWFyID0gcGFyc2VOdW1iZXIoaW5wdXQsIGlucHV0SW5kZXgpOwot
ICAgICAgICAgICAgaWYgKHllYXIgPD0gMCkKLSAgICAgICAgICAgICAgICByZXR1cm4gTmFOOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgaWYgKHllYXIgPD0gMCB8
fCBtb250aCA8IDAgfHwgZGF5IDw9IDApCi0gICAgICAgIHJldHVybiBOYU47Ci0gICAgcmV0dXJu
IGRhdGVUb0RheXNGcm9tMTk3MCh5ZWFyLCBtb250aCwgZGF5KSAqIG1zUGVyRGF5OwotfQotCi0v
LyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGb3JtYXR0aW5nCi0KIHZvaWQgTG9j
YWxlV2luOjplbnN1cmVTaG9ydERhdGVUb2tlbnMoKQogewogICAgIGlmICghbV9zaG9ydERhdGVU
b2tlbnMuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC93aW4vTG9jYWxlV2luLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3dpbi9Mb2Nh
bGVXaW4uaAppbmRleCA0MWY0ZjQ1NjBmMzNkYjYwZDllZmMzNGU5NzcxYWFiMjJlNTY2Mjc3Li5m
MzNmOTk3NWZlYWZiODExOWUyNDkyYzA1ZDk4MmRjMzZkOWJiYjE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3dpbi9Mb2NhbGVXaW4uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L3dpbi9Mb2NhbGVXaW4uaApAQCAtNDYsNyArNDYsNiBAQCBjbGFz
cyBMb2NhbGVXaW4gOiBwdWJsaWMgTG9jYWxlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093
blB0cjxMb2NhbGVXaW4+IGNyZWF0ZShMQ0lEKTsKICAgICB+TG9jYWxlV2luKCk7Ci0gICAgdmly
dHVhbCBkb3VibGUgcGFyc2VEYXRlVGltZShjb25zdCBTdHJpbmcmLCBEYXRlQ29tcG9uZW50czo6
VHlwZSkgT1ZFUlJJREU7CiAjaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKICAgICB2aXJ0dWFs
IGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB3ZWVrRGF5U2hvcnRMYWJlbHMoKSBPVkVSUklERTsKICAg
ICB2aXJ0dWFsIHVuc2lnbmVkIGZpcnN0RGF5T2ZXZWVrKCkgT1ZFUlJJREU7CkBAIC02Niw4ICs2
NSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB0aW1lQU1Q
TUxhYmVscygpIE9WRVJSSURFOwogI2VuZGlmCiAKLSAgICAvLyBGb3IgdGVzdGluZy4KLSAgICBk
b3VibGUgcGFyc2VEYXRlKGNvbnN0IFN0cmluZyYgZm9ybWF0LCBpbnQgYmFzZVllYXIsIGNvbnN0
IFN0cmluZyYgaW5wdXQpOwogI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAg
ICAgc3RhdGljIFN0cmluZyBkYXRlRm9ybWF0KGNvbnN0IFN0cmluZyYpOwogI2VuZGlmCkBAIC03
OSwxNCArNzYsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgZW5zdXJlU2hvcnRNb250aExhYmVscygp
OwogICAgIHZvaWQgZW5zdXJlTW9udGhMYWJlbHMoKTsKICAgICB2b2lkIGVuc3VyZVNob3J0RGF0
ZVRva2VucygpOwotICAgIGJvb2wgaXNMb2NhbGl6ZWREaWdpdChVQ2hhcik7Ci0gICAgaW50IHBh
cnNlTnVtYmVyKGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkJiBpbmRleCk7Ci0gICAgaW50IHBhcnNl
TnVtYmVyT3JNb250aChjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCYgaW5kZXgpOwotICAgIGRvdWJs
ZSBwYXJzZURhdGUoY29uc3QgVmVjdG9yPERhdGVGb3JtYXRUb2tlbj4mLCBpbnQgYmFzZVllYXIs
IGNvbnN0IFN0cmluZyYpOwotICAgIHZvaWQgYXBwZW5kTnVtYmVyKGludCwgU3RyaW5nQnVpbGRl
ciYpOwotICAgIHZvaWQgYXBwZW5kVHdvRGlnaXRzTnVtYmVyKGludCwgU3RyaW5nQnVpbGRlciYp
OwotICAgIHZvaWQgYXBwZW5kRm91ckRpZ2l0c051bWJlcihpbnQsIFN0cmluZ0J1aWxkZXImKTsK
LSAgICBTdHJpbmcgZm9ybWF0RGF0ZShjb25zdCBWZWN0b3I8RGF0ZUZvcm1hdFRva2VuPiYsIGlu
dCBiYXNlWWVhciwgaW50IHllYXIsIGludCBtb250aCwgaW50IGRheSk7CiAjaWYgRU5BQkxFKENB
TEVOREFSX1BJQ0tFUikKICAgICB2b2lkIGVuc3VyZVdlZWtEYXlTaG9ydExhYmVscygpOwogI2Vu
ZGlmCkBAIC05NCw3ICs4Myw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxp
emVMb2NhbGVEYXRhKCkgT1ZFUlJJREU7CiAKICAgICBMQ0lEIG1fbGNpZDsKLSAgICBpbnQgbV9i
YXNlWWVhcjsKICAgICBWZWN0b3I8RGF0ZUZvcm1hdFRva2VuPiBtX3Nob3J0RGF0ZVRva2VuczsK
ICAgICBWZWN0b3I8U3RyaW5nPiBtX3Nob3J0TW9udGhMYWJlbHM7CiAgICAgVmVjdG9yPFN0cmlu
Zz4gbV9tb250aExhYmVsczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvTG9jYWxlTWFjVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0xvY2Fs
ZU1hY1Rlc3QuY3BwCmluZGV4IDAzODg5NzYzYjk3NmVlMThhODM5MDk4Yzk4MmM3MDRhYjljMmM0
ZjEuLjBkMmZlZDE1NGNiN2MwZTQyNTE3NTczYjYzOGY1OThjNjM0MDIwODMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTG9jYWxlTWFjVGVzdC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Mb2NhbGVNYWNUZXN0LmNwcApAQCAtODEsMTIgKzgx
LDYgQEAgcHJvdGVjdGVkOgogICAgICAgICByZXR1cm4gbG9jYWxlLT5mb3JtYXREYXRlVGltZSh0
aW1lQ29tcG9uZW50cyhob3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGlzZWNvbmQpLCAodXNlU2hv
cnRGb3JtYXQgPyBMb2NhbGU6OkZvcm1hdFR5cGVTaG9ydCA6IExvY2FsZTo6Rm9ybWF0VHlwZU1l
ZGl1bSkpOwogICAgIH0KIAotICAgIGRvdWJsZSBwYXJzZURhdGUoY29uc3QgU3RyaW5nJiBsb2Nh
bGVTdHJpbmcsIGNvbnN0IFN0cmluZyYgZGF0ZVN0cmluZykKLSAgICB7Ci0gICAgICAgIE93blB0
cjxMb2NhbGVNYWM+IGxvY2FsZSA9IExvY2FsZU1hYzo6Y3JlYXRlKGxvY2FsZVN0cmluZyk7Ci0g
ICAgICAgIHJldHVybiBsb2NhbGUtPnBhcnNlRGF0ZVRpbWUoZGF0ZVN0cmluZywgRGF0ZUNvbXBv
bmVudHM6OkRhdGUpOwotICAgIH0KLQogI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiAgICAg
dW5zaWduZWQgZmlyc3REYXlPZldlZWsoY29uc3QgU3RyaW5nJiBsb2NhbGVTdHJpbmcpCiAgICAg
ewpAQCAtMTkyLDEzICsxODYsNiBAQCBURVNUX0YoTG9jYWxlTWFjVGVzdCwgZm9ybWF0VGltZSkK
ICAgICBFWFBFQ1RfU1RSRVEoIlx4REJceEI3Olx4REJceEIwXHhEQlx4Qjc6XHhEQlx4QjBceERC
XHhCN1x4RDlceEFCXHhEQlx4QjBceERCXHhCMFx4REJceEI3IiwgZm9ybWF0VGltZSgiZmEiLCAw
NywgMDcsIDA3LCAwMDcsIGZhbHNlKS51dGY4KCkuZGF0YSgpKTsKIH0KIAotVEVTVF9GKExvY2Fs
ZU1hY1Rlc3QsIHBhcnNlRGF0ZSkKLXsKLSAgICBFWFBFQ1RfRVEobXNGb3JEYXRlKDIwMDUsIEFw
cmlsLCAyNyksIHBhcnNlRGF0ZSgiZW5fVVMiLCAiQXByaWwgMjcsIDIwMDUiKSk7Ci0gICAgRVhQ
RUNUX0VRKG1zRm9yRGF0ZSgyMDA1LCBBcHJpbCwgMjcpLCBwYXJzZURhdGUoImZyX0ZSIiwgIjI3
IGF2cmlsIDIwMDUiKSk7Ci0gICAgRVhQRUNUX0VRKG1zRm9yRGF0ZSgyMDA1LCBBcHJpbCwgMjcp
LCBwYXJzZURhdGUoImphX0pQIiwgIjIwMDUvMDQvMjciKSk7Ci19Ci0KICNpZiBFTkFCTEUoQ0FM
RU5EQVJfUElDS0VSKQogVEVTVF9GKExvY2FsZU1hY1Rlc3QsIGZpcnN0RGF5T2ZXZWVrKQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Mb2NhbGVXaW5UZXN0LmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTG9jYWxlV2luVGVzdC5jcHAKaW5kZXgg
ZTJlMDNjMTM4OGI3YmY1YmE2ODM4ZmM2YWQ4NGJkN2QzOGE2ZjgzNS4uMTM4Njk4NDNkNWY1MTMy
MDBlZGQzODg0NjJjYzMzZmVjNDUxMWJhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS90ZXN0cy9Mb2NhbGVXaW5UZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL0xvY2FsZVdpblRlc3QuY3BwCkBAIC05MCwxMiArOTAsNiBAQCBwcm90ZWN0ZWQ6CiAg
ICAgICAgIHJldHVybiBsb2NhbGUtPmZvcm1hdERhdGVUaW1lKGRhdGVDb21wb25lbnRzKHllYXIs
IG1vbnRoLCBkYXkpKTsKICAgICB9CiAKLSAgICBkb3VibGUgcGFyc2VEYXRlKExDSUQgbGNpZCwg
Y29uc3QgU3RyaW5nJiBkYXRlU3RyaW5nKQotICAgIHsKLSAgICAgICAgT3duUHRyPExvY2FsZVdp
bj4gbG9jYWxlID0gTG9jYWxlV2luOjpjcmVhdGUobGNpZCk7Ci0gICAgICAgIHJldHVybiBsb2Nh
bGUtPnBhcnNlRGF0ZVRpbWUoZGF0ZVN0cmluZywgRGF0ZUNvbXBvbmVudHM6OkRhdGUpOwotICAg
IH0KLQogI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiAgICAgdW5zaWduZWQgZmlyc3REYXlP
ZldlZWsoTENJRCBsY2lkKQogICAgIHsKQEAgLTE2MSw0NSArMTU1LDYgQEAgcHJvdGVjdGVkOgog
I2VuZGlmCiB9OwogCi1URVNUX0YoTG9jYWxlV2luVGVzdCwgVGVzdFBhcnNlKQotewotICAgIE93
blB0cjxMb2NhbGVXaW4+IGxvY2FsZSA9IExvY2FsZVdpbjo6Y3JlYXRlKEVuZ2xpc2hVUyk7Ci0K
LSAgICBFWFBFQ1RfRVEobXNGb3JEYXRlKDIwMTIsIEFwcmlsLCAyNyksIGxvY2FsZS0+cGFyc2VE
YXRlKCJNTS9kZC95eSIsIDIwMTIsICIwNC8yNy8xMiIpKTsKLSAgICBFWFBFQ1RfRVEobXNGb3JE
YXRlKDIwNjIsIEFwcmlsLCAyNyksIGxvY2FsZS0+cGFyc2VEYXRlKCJNTS9kZC95eSIsIDIwMTIs
ICIwNC8yNy82MiIpKTsKLSAgICBFWFBFQ1RfRVEobXNGb3JEYXRlKDE5NjMsIEFwcmlsLCAyNyks
IGxvY2FsZS0+cGFyc2VEYXRlKCJNTS9kZC95eSIsIDIwMTIsICIwNC8yNy82MyIpKTsKLSAgICBF
WFBFQ1RfRVEobXNGb3JEYXRlKDIwMTIsIEFwcmlsLCAyNyksIGxvY2FsZS0+cGFyc2VEYXRlKCJN
TS9kZC95eSIsIDIwMTIsICI0LzI3LzIwMTIiKSk7Ci0gICAgRVhQRUNUX0VRKG1zRm9yRGF0ZSgy
MDEyLCBBcHJpbCwgMjcpLCBsb2NhbGUtPnBhcnNlRGF0ZSgiTU0vZGQveXkiLCAyMDEyLCAiQXBy
LzI3LzIwMTIiKSk7Ci0gICAgRVhQRUNUX0VRKG1zRm9yRGF0ZSgyLCBBcHJpbCwgMjcpLCBsb2Nh
bGUtPnBhcnNlRGF0ZSgiTU0vZC95eSIsIDIwMTIsICJBcHJpbC8yNy8yIikpOwotICAgIEVYUEVD
VF9FUShtc0ZvckRhdGUoMiwgQXByaWwsIDI3KSwgbG9jYWxlLT5wYXJzZURhdGUoIk1NL2QveXki
LCAyMDEyLCAiYXByaWwvMjcvMiIpKTsKLSAgICBFWFBFQ1RfVFJVRShpc25hbihsb2NhbGUtPnBh
cnNlRGF0ZSgiTU0vZC95eSIsIDIwMTIsICJhcHJpbC8yNyIpKSk7Ci0gICAgRVhQRUNUX1RSVUUo
aXNuYW4obG9jYWxlLT5wYXJzZURhdGUoIk1NL2QveXkiLCAyMDEyLCAiYXByaWwvMjcvIikpKTsK
LSAgICBFWFBFQ1RfVFJVRShpc25hbihsb2NhbGUtPnBhcnNlRGF0ZSgiTU0vZC95eSIsIDIwMTIs
ICIgYXByaWwvMjcvIikpKTsKLQotICAgIEVYUEVDVF9FUShtc0ZvckRhdGUoMTIsIEFwcmlsLCA3
KSwgbG9jYWxlLT5wYXJzZURhdGUoIk1NTS9kL3l5eXkiLCAyMDEyLCAiMDQvNy8xMiIpKTsKLSAg
ICBFWFBFQ1RfRVEobXNGb3JEYXRlKDYyLCBBcHJpbCwgNyksIGxvY2FsZS0+cGFyc2VEYXRlKCJN
TU0vZC95eXl5IiwgMjAxMiwgIjA0LzA3LzYyIikpOwotICAgIEVYUEVDVF9FUShtc0ZvckRhdGUo
NjMsIEFwcmlsLCA3KSwgbG9jYWxlLT5wYXJzZURhdGUoIk1NTS9kL3l5eXkiLCAyMDEyLCAiMDQv
MDcvNjMiKSk7Ci0gICAgRVhQRUNUX0VRKG1zRm9yRGF0ZSgyMDEyLCBBcHJpbCwgNyksIGxvY2Fs
ZS0+cGFyc2VEYXRlKCJNTU0vZC95eXl5IiwgMjAxMiwgIjQvNy8yMDEyIikpOwotICAgIEVYUEVD
VF9FUShtc0ZvckRhdGUoMjAxMiwgTWF5LCA3KSwgbG9jYWxlLT5wYXJzZURhdGUoIk1NTS9kL3l5
eXkiLCAyMDEyLCAiTWF5LzAwNy8yMDEyIikpOwotICAgIEVYUEVDVF9FUShtc0ZvckRhdGUoMiwg
TWF5LCAyNyksIGxvY2FsZS0+cGFyc2VEYXRlKCJNTS9kL3l5eXkiLCAyMDEyLCAiTWF5LzAwMjcv
MiIpKTsKLSAgICBFWFBFQ1RfVFJVRShpc25hbihsb2NhbGUtPnBhcnNlRGF0ZSgiTU0vZC95eXl5
IiwgMjAxMiwgIk1heS8vLzAwMjcvLy8yIikpKTsKLSAgICBFWFBFQ1RfVFJVRShpc25hbihsb2Nh
bGUtPnBhcnNlRGF0ZSgiTU0vZC95eXl5IiwgMjAxMiwgIk1heXl5eXl5LzAwMjcvMiIpKSk7Ci0K
LSAgICBFWFBFQ1RfRVEobXNGb3JEYXRlKDIwMTIsIEFwcmlsLCAyNyksIGxvY2FsZS0+cGFyc2VE
YXRlKCJNTU1NL2RkL3kiLCAyMDEyLCAiMDQvMjcvMiIpKTsKLSAgICBFWFBFQ1RfRVEobXNGb3JE
YXRlKDIwMTcsIEFwcmlsLCAyNyksIGxvY2FsZS0+cGFyc2VEYXRlKCJNTU1NL2RkL3kiLCAyMDEy
LCAiMDQvMjcvNyIpKTsKLSAgICBFWFBFQ1RfRVEobXNGb3JEYXRlKDIwMDgsIEFwcmlsLCAyNyks
IGxvY2FsZS0+cGFyc2VEYXRlKCJNTU1NL2RkL3kiLCAyMDEyLCAiMDQvMjcvOCIpKTsKLSAgICBF
WFBFQ1RfRVEobXNGb3JEYXRlKDIwMTIsIEFwcmlsLCAyNyksIGxvY2FsZS0+cGFyc2VEYXRlKCJN
TU1NL2RkL3kiLCAyMDEyLCAiNC8yNy8yMDEyIikpOwotICAgIEVYUEVDVF9FUShtc0ZvckRhdGUo
MjAxMiwgRGVjZW1iZXIsIDI3KSwgbG9jYWxlLT5wYXJzZURhdGUoIk1NTU0vZGQveSIsIDIwMTIs
ICJEZWNlbWJlci8yNy8yMDEyIikpOwotICAgIEVYUEVDVF9FUShtc0ZvckRhdGUoMjAxMiwgTm92
ZW1iZXIsIDI3KSwgbG9jYWxlLT5wYXJzZURhdGUoIk1NTU0vZC95IiwgMjAxMiwgIk5vdmVtYmVy
LzI3LzIiKSk7Ci0gICAgRVhQRUNUX1RSVUUoaXNuYW4obG9jYWxlLT5wYXJzZURhdGUoIk1NTU0v
ZC95IiwgMjAxMiwgIk5vdmVtYmVyIDI3IDIiKSkpOwotICAgIEVYUEVDVF9UUlVFKGlzbmFuKGxv
Y2FsZS0+cGFyc2VEYXRlKCJNTU1NL2QveSIsIDIwMTIsICJOb3ZlbWJlciAzMiAyIikpKTsKLSAg
ICBFWFBFQ1RfVFJVRShpc25hbihsb2NhbGUtPnBhcnNlRGF0ZSgiTU1NTS9kL3kiLCAyMDEyLCAi
LTEvLTEvLTEiKSkpOwotCi0gICAgT3duUHRyPExvY2FsZVdpbj4gcGVyc2lhbiA9IExvY2FsZVdp
bjo6Y3JlYXRlKFBlcnNpYW4pOwotICAgIC8vIFUrMDZGMSBVKzA2RjYgLyBVKzA2RjAgVSswNkY4
IC8gMjAxMgotICAgIEVYUEVDVF9FUShtc0ZvckRhdGUoMjAxMiwgQXVndXN0LCAxNiksIHBlcnNp
YW4tPnBhcnNlRGF0ZSgiZGQvTU0veXl5eSIsIDIwMTIsIFN0cmluZzo6ZnJvbVVURjgoIlx4REJc
eEIxXHhEQlx4QjYvXHhEQlx4QjBceERCXHhCOC8yMDEyIikpKTsKLX0KLQogVEVTVF9GKExvY2Fs
ZVdpblRlc3QsIGZvcm1hdERhdGUpCiB7CiAgICAgRVhQRUNUX1NUUkVRKCIwNC8yNy8yMDA1Iiwg
Zm9ybWF0RGF0ZShFbmdsaXNoVVMsIDIwMDUsIEFwcmlsLCAyNykudXRmOCgpLmRhdGEoKSk7CkBA
IC0yMDcsMTMgKzE2Miw2IEBAIFRFU1RfRihMb2NhbGVXaW5UZXN0LCBmb3JtYXREYXRlKQogICAg
IEVYUEVDVF9TVFJFUSgiMjAwNS8wNC8yNyIsIGZvcm1hdERhdGUoSmFwYW5lc2VKUCwgMjAwNSwg
QXByaWwsIDI3KS51dGY4KCkuZGF0YSgpKTsKIH0KIAotVEVTVF9GKExvY2FsZVdpblRlc3QsIHBh
cnNlRGF0ZSkKLXsKLSAgICBFWFBFQ1RfRVEobXNGb3JEYXRlKDIwMDUsIEFwcmlsLCAyNyksIHBh
cnNlRGF0ZShFbmdsaXNoVVMsICJBcHJpbC8yNy8yMDA1IikpOwotICAgIEVYUEVDVF9FUShtc0Zv
ckRhdGUoMjAwNSwgQXByaWwsIDI3KSwgcGFyc2VEYXRlKEZyZW5jaEZSLCAiMjcvYXZyaWwvMjAw
NSIpKTsKLSAgICBFWFBFQ1RfRVEobXNGb3JEYXRlKDIwMDUsIEFwcmlsLCAyNyksIHBhcnNlRGF0
ZShKYXBhbmVzZUpQLCAiMjAwNS8wNC8yNyIpKTsKLX0KLQogI2lmIEVOQUJMRShDQUxFTkRBUl9Q
SUNLRVIpCiBURVNUX0YoTG9jYWxlV2luVGVzdCwgZmlyc3REYXlPZldlZWspCiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171782</attachid>
            <date>2012-10-31 23:55:59 -0700</date>
            <delta_ts>2012-11-01 00:32:20 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-100910-20121101155421.patch</filename>
            <type>text/plain</type>
            <size>23419</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMTMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTNkOGQzOWQ2MWI1MmMw
NzBkNTMxODdlMWMzZTcxYjU2ZmM1NzBkNC4uOWM4ZjEzNzJjZDZhZmY2ZjRlZjQ2ZDcxNGVhZjlj
OGYzZTUxZDFmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTEwLTMxICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmUgdW51c2VkIExv
Y2FsZTo6cGFyc2VEYXRlVGltZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAwOTEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VudGFybyBIYXJhLgor
CisgICAgICAgIEZvciBkYXRlL3RpbWUgaW5wdXQgdHlwZXMsIElucHV0VHlwZTo6Y29udmVydEZy
b21WaXNpYmxlVmFsdWUgaXMgbmV2ZXIKKyAgICAgICAgY2FsbGVkLiBjb252ZXJ0RnJvbVZpc2li
bGVWYWx1ZSBpcyBjYWxsZWQgd2hlbiBhbiBpbm5lciBlZGl0YWJsZSBub2RlIGlzCisgICAgICAg
IHVwZGF0ZWQuIEhvd2V2ZXIgaW5wdXQgZWxlbWVudHMgZG9uJ3QgaGF2ZSBzdWNoIGVkaXRhYmxl
IG5vZGVzIGlmCisgICAgICAgIEVOQUJMRV9JTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkgaXMgZW5h
YmxlZCwgYW5kIGEgdXNlciBjYW4ndCBlZGl0IHRoZQorICAgICAgICBpbm5lciBlZGl0YWJsZSBu
b2RlIG90aGVyd2lzZSBiZWNhdXNlIHdlIG9wZW4gZGF0ZS90aW1lIHBpY2tlcnMgd2hlbiBhCisg
ICAgICAgIHVzZXIgdHJ5IHRvIGNoYW5nZSB0aGUgZmllbGQgdmFsdWUuCisKKyAgICAgICAgV2Ug
aGFkIHVzZWQgY29udmVydEZyb21WaXNpYmxlVmFsdWUgZm9yIGlucHV0W3R5cGU9ZGF0ZV0gd2l0
aCBhbiBvbGQgVUkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2Ugb2Ygbm8gYmVoYXZp
b3IgY2hhbmdlcy4KKworICAgICAgICAqIGh0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6Y29udmVydEZy
b21WaXNpYmxlVmFsdWUpOgorICAgICAgICBSZW1vdmUgTG9jYWxlOjpwYXJzZURhdGVUaWVtIGFu
ZCBwdXQgQVNTRVJUX05PVF9SRUFDSEVELgorCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9QbGF0
Zm9ybUxvY2FsZS5oOiBSZW1vdmUgcGFyc2VEYXRlVGltZS4KKworICAgICAgICAqIHBsYXRmb3Jt
L3RleHQvTG9jYWxlSUNVLmg6IFJlbW92ZSBwYXJzZURhdGVUaW1lIGFuZCBhIGJvZ3VzIGNvbW1l
bnQuCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwOiBSZW1vdmUgcGFyc2VE
YXRlVGltZS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9jYWxlTm9uZS5jcHA6IFJlbW92
ZSBwYXJzZURhdGVUaW1lLgorCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFj
Lmg6IFJlbW92ZSBwYXJzZURhdGVUaW1lLgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvbWFjL0xv
Y2FsZU1hYy5tbTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vdGV4dC93aW4vTG9jYWxlV2lu
Lmg6CisgICAgICAgIC0gUmVtb3ZlIHBhcnNlRGF0ZVRpbWUsIGl0cyBoZWxwZXJzLCBhbmQgbV9i
YXNlWWVhci4KKyAgICAgICAgLSBSZW1vdmUgYXBwZW5kTnVtYmVyLCBhcHBlbmRUd29EaWdpdHNO
dW1iZXIsIGFwcGVuZEZvdXJEaWdpdHNOdW1iZXIsCisgICAgICAgICAgYW5kIGZvcm1hdERhdGUu
IFRoZXkgZG9uJ3QgZXhpc3QuCisgICAgICAgICogcGxhdGZvcm0vdGV4dC93aW4vTG9jYWxlV2lu
LmNwcDoKKyAgICAgICAgUmVtb3ZlIHRoZSBhYm92ZSBmdW5jdGlvbnMuCisgICAgICAgIChXZWJD
b3JlOjpMb2NhbGVXaW46OkxvY2FsZVdpbik6IFJlbW92ZSBtX2Jhc2VZZWFyIGluaWl0YWxpemF0
aW9uLgorCiAyMDEyLTEwLTMxICBOYXRlIENoYXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUmVtb3ZlIHNvbWUgQ2FjaGVkUmVzb3VyY2U6OlN0YXR1cydzIGluIGZhdm9yIG9m
IGxvb2tpbmcgYXQgQ2FjaGVkUmVzb3VyY2U6Om1fZXJyb3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKaW5kZXggYjRiYTY2MjBjZDdjOTRlMzYzNmNiNTM0NWNhODNlYzBiNmQ3MjYyOS4uZGU1MjYz
MTk1MTk4Y2RjNTJiMGQ3YmI4YmE5N2ZhYWViMTYyNDkzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0xMC0zMSAgS2VudCBUYW11cmEgIDx0a2VudEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHVudXNlZCBMb2NhbGU6OnBhcnNlRGF0ZVRp
bWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDkx
MAorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbnRhcm8gSGFyYS4KKworICAgICAgICAqIHRlc3Rz
L0xvY2FsZU1hY1Rlc3QuY3BwOiBSZW1vdmUgdGVzdHMgZm9yIHBhcnNlRGF0ZVRpbWUuCisgICAg
ICAgICogdGVzdHMvTG9jYWxlV2luVGVzdC5jcHA6IERpdHRvLgorCiAyMDEyLTEwLTMxICBTdGVw
aGVuIFdoaXRlICA8c2Vub3JibGFuY29AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHIxMzMxMjIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VE
YXRlQW5kVGltZUlucHV0VHlwZS5jcHAKaW5kZXggODMwYzE5ODA2NzIzMDc4MzQ2YTQ0NmFlYmM5
YzJlZWRmMTFhNzNhNC4uNmJlMzBlZTg0NTFlYWQ4MGE5YzkxY2M5MTQxOTk3YzE3OWYyNjk0ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNw
cApAQCAtMTY3LDE0ICsxNjcsMTEgQEAgU3RyaW5nIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6
dmlzaWJsZVZhbHVlKCkgY29uc3QKIAogU3RyaW5nIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6
Y29udmVydEZyb21WaXNpYmxlVmFsdWUoY29uc3QgU3RyaW5nJiB2aXNpYmxlVmFsdWUpIGNvbnN0
CiB7Ci0gICAgaWYgKHZpc2libGVWYWx1ZS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiB2aXNp
YmxlVmFsdWU7Ci0KLSAgICBkb3VibGUgcGFyc2VkVmFsdWUgPSBlbGVtZW50KCktPmxvY2FsZSgp
LnBhcnNlRGF0ZVRpbWUodmlzaWJsZVZhbHVlLCBkYXRlVHlwZSgpKTsKLSAgICBpZiAoIWlzZmlu
aXRlKHBhcnNlZFZhbHVlKSkKLSAgICAgICAgcmV0dXJuIHZpc2libGVWYWx1ZTsKLQotICAgIHJl
dHVybiBzZXJpYWxpemVXaXRoTWlsbGlzZWNvbmRzKHBhcnNlZFZhbHVlKTsKKyAgICAvLyBjb252
ZXJ0RnJvbVZpc2libGVWYWx1ZSBpcyB1c2VkIGluIHRoZSB0ZXh0ZmllbGQgVUkuIFRob3VnaCB0
aGlzIGNsYXNzCisgICAgLy8gaW5oZXJpdHMgVGV4dEZpZWxkSW5wdXRUeXBlLCB1c2VycyBhcmUg
dW5hYmxlIHRvIGVkaXQgdmlzaWJsZSB2YWx1ZXMsIGFuZAorICAgIC8vIHRoaXMgZnVuY3Rpb24g
aXMgbmV2ZXIgY2FsbGVkLgorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiB2
aXNpYmxlVmFsdWU7CiB9CiAKIFN0cmluZyBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnNhbml0
aXplVmFsdWUoY29uc3QgU3RyaW5nJiBwcm9wb3NlZFZhbHVlKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwCmluZGV4IDMwMjExOGU4YmE3NGMwYTA2M2Vk
OGRlMGQ0MmY2ZDRmMWFhMDM1ODEuLjgzMzM2OTM5MzNlZDQ1OTNlZWJmMWI3NTlmZjg1NjFjNTI5
ZjY1MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNV
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5jcHAKQEAg
LTE1NSwyNCArMTU1LDYgQEAgVURhdGVGb3JtYXQqIExvY2FsZUlDVTo6b3BlbkRhdGVGb3JtYXQo
VURhdGVGb3JtYXRTdHlsZSB0aW1lU3R5bGUsIFVEYXRlRm9ybWF0U3QKICAgICByZXR1cm4gdWRh
dF9vcGVuKHRpbWVTdHlsZSwgZGF0ZVN0eWxlLCBtX2xvY2FsZS5kYXRhKCksIGdtdFRpbWV6b25l
LCBXVEZfQVJSQVlfTEVOR1RIKGdtdFRpbWV6b25lKSwgMCwgLTEsICZzdGF0dXMpOwogfQogCi1k
b3VibGUgTG9jYWxlSUNVOjpwYXJzZURhdGVUaW1lKGNvbnN0IFN0cmluZyYgaW5wdXQsIERhdGVD
b21wb25lbnRzOjpUeXBlIHR5cGUpCi17Ci0gICAgaWYgKHR5cGUgIT0gRGF0ZUNvbXBvbmVudHM6
OkRhdGUpCi0gICAgICAgIHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0
X05hTigpOwotICAgIGlmICghaW5pdGlhbGl6ZVNob3J0RGF0ZUZvcm1hdCgpKQotICAgICAgICBy
ZXR1cm4gbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7Ci0gICAgaWYgKGlucHV0
Lmxlbmd0aCgpID4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG51bWVyaWNfbGltaXRzPGludDMyX3Q+
OjptYXgoKSkpCi0gICAgICAgIHJldHVybiBudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9O
YU4oKTsKLSAgICBpbnQzMl90IGlucHV0TGVuZ3RoID0gc3RhdGljX2Nhc3Q8aW50MzJfdD4oaW5w
dXQubGVuZ3RoKCkpOwotICAgIFVFcnJvckNvZGUgc3RhdHVzID0gVV9aRVJPX0VSUk9SOwotICAg
IGludDMyX3QgcGFyc2VQb3NpdGlvbiA9IDA7Ci0gICAgVURhdGUgZGF0ZSA9IHVkYXRfcGFyc2Uo
bV9zaG9ydERhdGVGb3JtYXQsIGlucHV0LmNoYXJhY3RlcnMoKSwgaW5wdXRMZW5ndGgsICZwYXJz
ZVBvc2l0aW9uLCAmc3RhdHVzKTsKLSAgICBpZiAocGFyc2VQb3NpdGlvbiAhPSBpbnB1dExlbmd0
aCB8fCBVX0ZBSUxVUkUoc3RhdHVzKSkKLSAgICAgICAgcmV0dXJuIG51bWVyaWNfbGltaXRzPGRv
dWJsZT46OnF1aWV0X05hTigpOwotICAgIC8vIFVEYXRlLCB3aGljaCBpcyBhbiBhbGlhcyBvZiBk
b3VibGUsIGlzIGNvbXBhdGlibGUgd2l0aCBvdXIgZXhwZWN0YXRpb24uCi0gICAgcmV0dXJuIGRh
dGU7Ci19Ci0KICNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKSB8fCBFTkFCTEUoSU5QVVRfTVVM
VElQTEVfRklFTERTX1VJKQogc3RhdGljIFN0cmluZyBnZXREYXRlRm9ybWF0UGF0dGVybihjb25z
dCBVRGF0ZUZvcm1hdCogZGF0ZUZvcm1hdCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L0xvY2FsZUlDVS5oCmluZGV4IDFjZDY3YzgwYWZjMGE0NmFlOTYyODdlZjRjODc0YjIyZmM4ZTA3
MzcuLmQyYWExMjYxMmNjYzJmYTEwZWRhMzkwN2QwYzM3MzA0ZjViMGM1YjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuaApAQCAtNDksOCArNDksNiBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NPd25QdHI8TG9jYWxlSUNVPiBjcmVhdGUoY29uc3QgY2hhciogbG9j
YWxlU3RyaW5nKTsKICAgICB2aXJ0dWFsIH5Mb2NhbGVJQ1UoKTsKIAotICAgIC8vIEZvciBMb2Nh
bGl6ZWREYXRlCi0gICAgdmlydHVhbCBkb3VibGUgcGFyc2VEYXRlVGltZShjb25zdCBTdHJpbmcm
LCBEYXRlQ29tcG9uZW50czo6VHlwZSkgT1ZFUlJJREU7CiAjaWYgRU5BQkxFKENBTEVOREFSX1BJ
Q0tFUikKICAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB3ZWVrRGF5U2hvcnRMYWJl
bHMoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGZpcnN0RGF5T2ZXZWVrKCkgT1ZF
UlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZU5v
bmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVOb25lLmNwcAppbmRl
eCA4Mjg1OGI2MzJmZDE2ZmNmMTFlY2U1NWM4NWUyMzY1MzRmMmNhNDliLi4yYjBiMTE1YTA0ZmFl
ZWUxZmFlOTVhNTlhOGE4MDRlNzI0ZTBiNTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L0xvY2FsZU5vbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvTG9jYWxlTm9uZS5jcHAKQEAgLTM2LDcgKzM2LDYgQEAgcHVibGljOgogCiBwcml2YXRl
OgogICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplTG9jYWxlRGF0YSgpIE9WRVJSSURFIEZJTkFM
OwotICAgIHZpcnR1YWwgZG91YmxlIHBhcnNlRGF0ZVRpbWUoY29uc3QgU3RyaW5nJiwgRGF0ZUNv
bXBvbmVudHM6OlR5cGUpIE9WRVJSSURFOwogI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiAg
ICAgdmlydHVhbCBib29sIGlzUlRMKCkgT1ZFUlJJREU7CiAjZW5kaWYKQEAgLTc0LDExICs3Myw2
IEBAIHZvaWQgTG9jYWxlTm9uZTo6aW5pdGlhbGl6ZUxvY2FsZURhdGEoKQogewogfQogCi1kb3Vi
bGUgTG9jYWxlTm9uZTo6cGFyc2VEYXRlVGltZShjb25zdCBTdHJpbmcmLCBEYXRlQ29tcG9uZW50
czo6VHlwZSkKLXsKLSAgICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWll
dF9OYU4oKTsKLX0KLQogI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiBib29sIExvY2FsZU5v
bmU6OmlzUlRMKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
UGxhdGZvcm1Mb2NhbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUGxhdGZvcm1M
b2NhbGUuaAppbmRleCBlZmE0NWY4MTRjZjhkODc1MzZiMDc4YzFmZDMyMmYwMjNhYTQ3N2U0Li5l
MzNlMGJmZDMyZDUxYzc1ZmM3ZjQ1ZmM3OWZmZGFiYjA2YjI4YjkxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5oCkBAIC0xMjIsMTQgKzEyMiw2IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNSVEwoKSA9IDA7CiAjZW5kaWYKIAotICAgIC8v
IFBhcnNlcyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGRhdGUvdGltZSBzdHJpbmcgbG9j
YWxpemVkCi0gICAgLy8gZm9yIHRoaXMgTG9jYWxlIGxvY2FsZS4gSWYgdGhlIGlucHV0IHN0cmlu
ZyBpcyBub3QgdmFsaWQgb3IKLSAgICAvLyBhbiBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHN1cHBv
cnQgbG9jYWxpemVkIGRhdGVzLCB0aGlzCi0gICAgLy8gZnVuY3Rpb24gcmV0dXJucyBOYU4uIElm
IHRoZSBpbnB1dCBzdHJpbmcgaXMgdmFsaWQgdGhpcwotICAgIC8vIGZ1bmN0aW9uIHJldHVybnMg
dGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgc2luY2UgMTk3MC0wMS0wMQotICAgIC8vIDAwOjAw
OjAwLjAwMCBVVEMuCi0gICAgdmlydHVhbCBkb3VibGUgcGFyc2VEYXRlVGltZShjb25zdCBTdHJp
bmcmLCBEYXRlQ29tcG9uZW50czo6VHlwZSkgPSAwOwotCiAgICAgZW51bSBGb3JtYXRUeXBlIHsg
Rm9ybWF0VHlwZVVuc3BlY2lmaWVkLCBGb3JtYXRUeXBlU2hvcnQsIEZvcm1hdFR5cGVNZWRpdW0g
fTsKIAogICAgIC8vIFNlcmlhbGl6ZXMgdGhlIHNwZWNpZmllZCBkYXRlIGludG8gYSBmb3JtYXR0
ZWQgZGF0ZSBzdHJpbmcgdG8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvbWFjL0xvY2FsZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9j
YWxlTWFjLmgKaW5kZXggNmZlYTkzMWFiOTUxZGEyNzhkMGFjNGM3YTIxNDgzYjkwOWIxMWYyYS4u
ODc2ZDhlM2IwYjZmNjVlNWQ3ZWExOGUyYzVjNGFhNDA2N2Q0NjdkYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLmgKQEAgLTUwLDcgKzUwLDYgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPExvY2FsZU1hYz4gY3JlYXRlKGNvbnN0IFN0cmlu
ZyYpOwogICAgIHN0YXRpYyBQYXNzT3duUHRyPExvY2FsZU1hYz4gY3JlYXRlKE5TTG9jYWxlKik7
CiAgICAgfkxvY2FsZU1hYygpOwotICAgIHZpcnR1YWwgZG91YmxlIHBhcnNlRGF0ZVRpbWUoY29u
c3QgU3RyaW5nJiwgRGF0ZUNvbXBvbmVudHM6OlR5cGUpIE9WRVJSSURFOwogCiAjaWYgRU5BQkxF
KENBTEVOREFSX1BJQ0tFUikKICAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB3ZWVr
RGF5U2hvcnRMYWJlbHMoKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvbWFjL0xvY2FsZU1hYy5tbQppbmRleCBjMDZjMDA1NTQ0ZWVjN2Y3MzNmMjM1ODg1ZjE0NjQ2
NDk2NjhkOTAxLi40NWEyOTQ5N2RmZWMwYTRhYTdhYWFhZTUxY2FlM2UzOGIxYjBkNjg1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1tCkBAIC0xMTQs
MTYgKzExNCw2IEBAIFJldGFpblB0cjxOU0RhdGVGb3JtYXR0ZXI+IExvY2FsZU1hYzo6c2hvcnRE
YXRlRm9ybWF0dGVyKCkKICAgICByZXR1cm4gY3JlYXRlRGF0ZVRpbWVGb3JtYXR0ZXIobV9sb2Nh
bGUuZ2V0KCksIG1fZ3JlZ29yaWFuQ2FsZW5kYXIuZ2V0KCksIE5TRGF0ZUZvcm1hdHRlclNob3J0
U3R5bGUsIE5TRGF0ZUZvcm1hdHRlck5vU3R5bGUpOwogfQogCi1kb3VibGUgTG9jYWxlTWFjOjpw
YXJzZURhdGVUaW1lKGNvbnN0IFN0cmluZyYgaW5wdXQsIERhdGVDb21wb25lbnRzOjpUeXBlIHR5
cGUpCi17Ci0gICAgaWYgKHR5cGUgIT0gRGF0ZUNvbXBvbmVudHM6OkRhdGUpCi0gICAgICAgIHJl
dHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpOwotICAgIE5TRGF0
ZSAqZGF0ZSA9IFtzaG9ydERhdGVGb3JtYXR0ZXIoKS5nZXQoKSBkYXRlRnJvbVN0cmluZzppbnB1
dF07Ci0gICAgaWYgKCFkYXRlKQotICAgICAgICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxk
b3VibGU+OjpxdWlldF9OYU4oKTsKLSAgICByZXR1cm4gW2RhdGUgdGltZUludGVydmFsU2luY2Ux
OTcwXSAqIG1zUGVyU2Vjb25kOwotfQotCiAjaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikgfHwg
RU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBM
b2NhbGVNYWM6Om1vbnRoTGFiZWxzKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L3dpbi9Mb2NhbGVXaW4uY3BwCmluZGV4IGEyODQwZjk4ZWYxYzY4ODE3ODRkMjE4ZjBmMjky
ZTZjYzY2MzQ0ZDQuLjk2MzM3NmUxM2NhZTk4ZDA1NDliMDg1MTJiZjE0OTA0YzQwNzQwNGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC93aW4vTG9jYWxlV2luLmNwcApAQCAt
OTEsMjAgKzkxLDEwIEBAIFBhc3NPd25QdHI8TG9jYWxlPiBMb2NhbGU6OmNyZWF0ZShjb25zdCBB
dG9taWNTdHJpbmcmIGxvY2FsZSkKICAgICByZXR1cm4gTG9jYWxlV2luOjpjcmVhdGUoTENJREZy
b21Mb2NhbGUobG9jYWxlKSk7CiB9CiAKLS8vIFdpbmRvd3MgZG9lc24ndCBoYXZlIGFuIEFQSSB0
byBwYXJzZSBsb2NhbGUtc3BlY2lmaWMgZGF0ZSBzdHJpbmcsCi0vLyBhbmQgR2V0RGF0ZUZvcm1h
dCgpIGFuZCBHZXREYXRlRm9ybWF0RXgoKSBkb24ndCBzdXBwb3J0IHllYXJzIG9sZGVyCi0vLyB0
aGFuIDE2MDAsIHdoaWNoIHdlIHNob3VsZCBzdXBwb3J0IGFjY29yZGluZyB0byB0aGUgSFRNTAot
Ly8gc3RhbmRhcmQuIFNvLCB3ZSBvYnRhaW4gdGhlIGRhdGUgZm9ybWF0IGZyb20gdGhlIHN5c3Rl
bSwgYnV0IHdlCi0vLyBmb3JtYXQvcGFyc2UgYSBkYXRlIGJ5IG91ciBvd24gY29kZS4KLQogaW5s
aW5lIExvY2FsZVdpbjo6TG9jYWxlV2luKExDSUQgbGNpZCkKICAgICA6IG1fbGNpZChsY2lkKQog
ICAgICwgbV9kaWRJbml0aWFsaXplTnVtYmVyRGF0YShmYWxzZSkKIHsKLSAgICBTWVNURU1USU1F
IHN5c3RlbVRpbWU7Ci0gICAgR2V0TG9jYWxUaW1lKCZzeXN0ZW1UaW1lKTsKLSAgICBtX2Jhc2VZ
ZWFyID0gc3lzdGVtVGltZS53WWVhcjsKLQogI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiAg
ICAgRFdPUkQgdmFsdWUgPSAwOwogICAgIGdldExvY2FsZUluZm8oTE9DQUxFX0lGSVJTVERBWU9G
V0VFSywgdmFsdWUpOwpAQCAtMjk4LDE1MSArMjg4LDYgQEAgc3RhdGljIFZlY3RvcjxEYXRlRm9y
bWF0VG9rZW4+IHBhcnNlRGF0ZUZvcm1hdChjb25zdCBTdHJpbmcgZm9ybWF0KQogICAgIHJldHVy
biB0b2tlbnM7CiB9CiAKLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFBhcnNp
bmcKLQotYm9vbCBMb2NhbGVXaW46OmlzTG9jYWxpemVkRGlnaXQoVUNoYXIgY2gpCi17Ci0gICAg
U3RyaW5nIG5vcm1hbGl6ZWREaWdpdCA9IGNvbnZlcnRGcm9tTG9jYWxpemVkTnVtYmVyKFN0cmlu
ZygmY2gsIDEpKTsKLSAgICBpZiAobm9ybWFsaXplZERpZ2l0Lmxlbmd0aCgpICE9IDEpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gaXNBU0NJSURpZ2l0KG5vcm1hbGl6ZWREaWdp
dFswXSk7Ci19Ci0KLS8vIFJldHVybnMgLTEgaWYgcGFyc2luZyBmYWlscy4KLWludCBMb2NhbGVX
aW46OnBhcnNlTnVtYmVyKGNvbnN0IFN0cmluZyYgaW5wdXQsIHVuc2lnbmVkJiBpbmRleCkKLXsK
LSAgICB1bnNpZ25lZCBkaWdpdHNTdGFydCA9IGluZGV4OwotICAgIHdoaWxlIChpbmRleCA8IGlu
cHV0Lmxlbmd0aCgpICYmIGlzQVNDSUlEaWdpdChpbnB1dFtpbmRleF0pKQotICAgICAgICBpbmRl
eCsrOwotICAgIGlmIChkaWdpdHNTdGFydCAhPSBpbmRleCkgewotICAgICAgICBib29sIG9rID0g
ZmFsc2U7Ci0gICAgICAgIGludCBudW1iZXIgPSBpbnB1dC5zdWJzdHJpbmcoZGlnaXRzU3RhcnQs
IGluZGV4IC0gZGlnaXRzU3RhcnQpLnRvSW50KCZvayk7Ci0gICAgICAgIHJldHVybiBvayA/IG51
bWJlciA6IC0xOwotICAgIH0KLQotICAgIHdoaWxlIChpbmRleCA8IGlucHV0Lmxlbmd0aCgpICYm
IGlzTG9jYWxpemVkRGlnaXQoaW5wdXRbaW5kZXhdKSkKLSAgICAgICAgaW5kZXgrKzsKLSAgICBp
ZiAoZGlnaXRzU3RhcnQgPT0gaW5kZXgpCi0gICAgICAgIHJldHVybiAtMTsKLSAgICBib29sIG9r
ID0gZmFsc2U7Ci0gICAgaW50IG51bWJlciA9IGNvbnZlcnRGcm9tTG9jYWxpemVkTnVtYmVyKGlu
cHV0LnN1YnN0cmluZyhkaWdpdHNTdGFydCwgaW5kZXggLSBkaWdpdHNTdGFydCkpLnRvSW50KCZv
ayk7Ci0gICAgcmV0dXJuIG9rID8gbnVtYmVyIDogLTE7Ci19Ci0KLS8vIFJldHVybnMgMC1iYXNl
ZCBtb250aCBudW1iZXIuIFJldHVybnMgLTEgaWYgcGFyc2luZyBmYWlscy4KLWludCBMb2NhbGVX
aW46OnBhcnNlTnVtYmVyT3JNb250aChjb25zdCBTdHJpbmcmIGlucHV0LCB1bnNpZ25lZCYgaW5k
ZXgpCi17Ci0gICAgaW50IHJlc3VsdCA9IHBhcnNlTnVtYmVyKGlucHV0LCBpbmRleCk7Ci0gICAg
aWYgKHJlc3VsdCA+PSAwKSB7Ci0gICAgICAgIGlmIChyZXN1bHQgPCAxIHx8IHJlc3VsdCA+IDEy
KQotICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICByZXR1cm4gcmVzdWx0IC0gMTsKLSAg
ICB9Ci0gICAgZm9yICh1bnNpZ25lZCBtID0gMDsgbSA8IG1fbW9udGhMYWJlbHMuc2l6ZSgpOyAr
K20pIHsKLSAgICAgICAgdW5zaWduZWQgbGFiZWxMZW5ndGggPSBtX21vbnRoTGFiZWxzW21dLmxl
bmd0aCgpOwotICAgICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoaW5wdXQuc3Vic3RyaW5nKGlu
ZGV4LCBsYWJlbExlbmd0aCksIG1fbW9udGhMYWJlbHNbbV0pKSB7Ci0gICAgICAgICAgICBpbmRl
eCArPSBsYWJlbExlbmd0aDsKLSAgICAgICAgICAgIHJldHVybiBtOwotICAgICAgICB9Ci0gICAg
fQotICAgIGZvciAodW5zaWduZWQgbSA9IDA7IG0gPCBtX3Nob3J0TW9udGhMYWJlbHMuc2l6ZSgp
OyArK20pIHsKLSAgICAgICAgdW5zaWduZWQgbGFiZWxMZW5ndGggPSBtX3Nob3J0TW9udGhMYWJl
bHNbbV0ubGVuZ3RoKCk7Ci0gICAgICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShpbnB1dC5zdWJz
dHJpbmcoaW5kZXgsIGxhYmVsTGVuZ3RoKSwgbV9zaG9ydE1vbnRoTGFiZWxzW21dKSkgewotICAg
ICAgICAgICAgaW5kZXggKz0gbGFiZWxMZW5ndGg7Ci0gICAgICAgICAgICByZXR1cm4gbTsKLSAg
ICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gLTE7Ci19Ci0KLWRvdWJsZSBMb2NhbGVXaW46OnBh
cnNlRGF0ZVRpbWUoY29uc3QgU3RyaW5nJiBpbnB1dCwgRGF0ZUNvbXBvbmVudHM6OlR5cGUgdHlw
ZSkKLXsKLSAgICBpZiAodHlwZSAhPSBEYXRlQ29tcG9uZW50czo6RGF0ZSkKLSAgICAgICAgcmV0
dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7Ci0gICAgZW5zdXJl
U2hvcnREYXRlVG9rZW5zKCk7Ci0gICAgcmV0dXJuIHBhcnNlRGF0ZShtX3Nob3J0RGF0ZVRva2Vu
cywgbV9iYXNlWWVhciwgaW5wdXQpOwotfQotCi1kb3VibGUgTG9jYWxlV2luOjpwYXJzZURhdGUo
Y29uc3QgU3RyaW5nJiBmb3JtYXQsIGludCBiYXNlWWVhciwgY29uc3QgU3RyaW5nJiBpbnB1dCkK
LXsKLSAgICByZXR1cm4gcGFyc2VEYXRlKHBhcnNlRGF0ZUZvcm1hdChmb3JtYXQpLCBiYXNlWWVh
ciwgaW5wdXQpOwotfQotCi1kb3VibGUgTG9jYWxlV2luOjpwYXJzZURhdGUoY29uc3QgVmVjdG9y
PERhdGVGb3JtYXRUb2tlbj4mIHRva2VucywgaW50IGJhc2VZZWFyLCBjb25zdCBTdHJpbmcmIGlu
cHV0KQotewotICAgIGVuc3VyZVNob3J0TW9udGhMYWJlbHMoKTsKLSAgICBlbnN1cmVNb250aExh
YmVscygpOwotICAgIGNvbnN0IGRvdWJsZSBOYU4gPSBudW1lcmljX2xpbWl0czxkb3VibGU+Ojpx
dWlldF9OYU4oKTsKLSAgICB1bnNpZ25lZCBpbnB1dEluZGV4ID0gMDsKLSAgICBpbnQgZGF5ID0g
LTEsIG1vbnRoID0gLTEsIHllYXIgPSAtMTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
dG9rZW5zLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIHN3aXRjaCAodG9rZW5zW2ldLnR5cGUpIHsK
LSAgICAgICAgY2FzZSBEYXRlRm9ybWF0VG9rZW46OkxpdGVyYWw6IHsKLSAgICAgICAgICAgIFN0
cmluZyBkYXRhID0gdG9rZW5zW2ldLmRhdGE7Ci0gICAgICAgICAgICB1bnNpZ25lZCBsaXRlcmFs
TGVuZ3RoID0gZGF0YS5sZW5ndGgoKTsKLSAgICAgICAgICAgIGlmIChpbnB1dC5zdWJzdHJpbmco
aW5wdXRJbmRleCwgbGl0ZXJhbExlbmd0aCkgPT0gZGF0YSkKLSAgICAgICAgICAgICAgICBpbnB1
dEluZGV4ICs9IGxpdGVyYWxMZW5ndGg7Ci0gICAgICAgICAgICAvLyBHbyBhaGVhZCBldmVuIGlm
IHRoZSBpbnB1dCBkb2Vzbid0IGhhdmUgdGhpcyBzdHJpbmcuCi0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgfQotICAgICAgICBjYXNlIERhdGVGb3JtYXRUb2tlbjo6RGF5MToKLSAgICAgICAg
Y2FzZSBEYXRlRm9ybWF0VG9rZW46OkRheTI6Ci0gICAgICAgICAgICBkYXkgPSBwYXJzZU51bWJl
cihpbnB1dCwgaW5wdXRJbmRleCk7Ci0gICAgICAgICAgICBpZiAoZGF5IDwgMSB8fCBkYXkgPiAz
MSkKLSAgICAgICAgICAgICAgICByZXR1cm4gTmFOOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGNhc2UgRGF0ZUZvcm1hdFRva2VuOjpNb250aDE6Ci0gICAgICAgIGNhc2UgRGF0ZUZvcm1h
dFRva2VuOjpNb250aDI6Ci0gICAgICAgIGNhc2UgRGF0ZUZvcm1hdFRva2VuOjpNb250aDM6Ci0g
ICAgICAgIGNhc2UgRGF0ZUZvcm1hdFRva2VuOjpNb250aDQ6Ci0gICAgICAgICAgICBtb250aCA9
IHBhcnNlTnVtYmVyT3JNb250aChpbnB1dCwgaW5wdXRJbmRleCk7Ci0gICAgICAgICAgICBpZiAo
bW9udGggPCAwIHx8IG1vbnRoID4gMTEpCi0gICAgICAgICAgICAgICAgcmV0dXJuIE5hTjsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIERhdGVGb3JtYXRUb2tlbjo6WWVhcjE6IHsK
LSAgICAgICAgICAgIHVuc2lnbmVkIG9sZEluZGV4ID0gaW5wdXRJbmRleDsKLSAgICAgICAgICAg
IHllYXIgPSBwYXJzZU51bWJlcihpbnB1dCwgaW5wdXRJbmRleCk7Ci0gICAgICAgICAgICBpZiAo
eWVhciA8PSAwKQotICAgICAgICAgICAgICAgIHJldHVybiBOYU47Ci0gICAgICAgICAgICBpZiAo
aW5wdXRJbmRleCAtIG9sZEluZGV4ID09IDEpIHsKLSAgICAgICAgICAgICAgICBpbnQgc2hvcnRZ
ZWFyID0gYmFzZVllYXIgJSAxMDsKLSAgICAgICAgICAgICAgICBpbnQgZGVjYWRlID0gYmFzZVll
YXIgLSBzaG9ydFllYXI7Ci0gICAgICAgICAgICAgICAgaWYgKHNob3J0WWVhciA+PSA1KQotICAg
ICAgICAgICAgICAgICAgICB5ZWFyICs9IHNob3J0WWVhciAtIDQgPD0geWVhciA/IGRlY2FkZSA6
IGRlY2FkZSArIDEwOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAg
eWVhciArPSBzaG9ydFllYXIgKyA1ID49IHllYXIgPyBkZWNhZGUgOiBkZWNhZGUgLSAxMDsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2Ug
RGF0ZUZvcm1hdFRva2VuOjpZZWFyMjogewotICAgICAgICAgICAgdW5zaWduZWQgb2xkSW5kZXgg
PSBpbnB1dEluZGV4OwotICAgICAgICAgICAgeWVhciA9IHBhcnNlTnVtYmVyKGlucHV0LCBpbnB1
dEluZGV4KTsKLSAgICAgICAgICAgIGlmICh5ZWFyIDw9IDApCi0gICAgICAgICAgICAgICAgcmV0
dXJuIE5hTjsKLSAgICAgICAgICAgIGlmIChpbnB1dEluZGV4IC0gb2xkSW5kZXggPT0gMikgewot
ICAgICAgICAgICAgICAgIGludCBzaG9ydFllYXIgPSBiYXNlWWVhciAlIDEwMDsKLSAgICAgICAg
ICAgICAgICBpbnQgY2VudHVyeSA9IGJhc2VZZWFyIC0gc2hvcnRZZWFyOwotICAgICAgICAgICAg
ICAgIGlmIChzaG9ydFllYXIgPj0gNTApCi0gICAgICAgICAgICAgICAgICAgIHllYXIgKz0gc2hv
cnRZZWFyIC0gNDkgPD0geWVhciA/IGNlbnR1cnkgOiBjZW50dXJ5ICsgMTAwOwotICAgICAgICAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgeWVhciArPSBzaG9ydFllYXIgKyA1MCA+
PSB5ZWFyID8gY2VudHVyeSA6IGNlbnR1cnkgLSAxMDA7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBjYXNlIERhdGVGb3JtYXRUb2tlbjo6WWVh
cjQ6Ci0gICAgICAgICAgICB5ZWFyID0gcGFyc2VOdW1iZXIoaW5wdXQsIGlucHV0SW5kZXgpOwot
ICAgICAgICAgICAgaWYgKHllYXIgPD0gMCkKLSAgICAgICAgICAgICAgICByZXR1cm4gTmFOOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgaWYgKHllYXIgPD0gMCB8
fCBtb250aCA8IDAgfHwgZGF5IDw9IDApCi0gICAgICAgIHJldHVybiBOYU47Ci0gICAgcmV0dXJu
IGRhdGVUb0RheXNGcm9tMTk3MCh5ZWFyLCBtb250aCwgZGF5KSAqIG1zUGVyRGF5OwotfQotCi0v
LyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGb3JtYXR0aW5nCi0KIHZvaWQgTG9j
YWxlV2luOjplbnN1cmVTaG9ydERhdGVUb2tlbnMoKQogewogICAgIGlmICghbV9zaG9ydERhdGVU
b2tlbnMuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC93aW4vTG9jYWxlV2luLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3dpbi9Mb2Nh
bGVXaW4uaAppbmRleCA0MWY0ZjQ1NjBmMzNkYjYwZDllZmMzNGU5NzcxYWFiMjJlNTY2Mjc3Li5m
MzNmOTk3NWZlYWZiODExOWUyNDkyYzA1ZDk4MmRjMzZkOWJiYjE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3dpbi9Mb2NhbGVXaW4uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L3dpbi9Mb2NhbGVXaW4uaApAQCAtNDYsNyArNDYsNiBAQCBjbGFz
cyBMb2NhbGVXaW4gOiBwdWJsaWMgTG9jYWxlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093
blB0cjxMb2NhbGVXaW4+IGNyZWF0ZShMQ0lEKTsKICAgICB+TG9jYWxlV2luKCk7Ci0gICAgdmly
dHVhbCBkb3VibGUgcGFyc2VEYXRlVGltZShjb25zdCBTdHJpbmcmLCBEYXRlQ29tcG9uZW50czo6
VHlwZSkgT1ZFUlJJREU7CiAjaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKICAgICB2aXJ0dWFs
IGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB3ZWVrRGF5U2hvcnRMYWJlbHMoKSBPVkVSUklERTsKICAg
ICB2aXJ0dWFsIHVuc2lnbmVkIGZpcnN0RGF5T2ZXZWVrKCkgT1ZFUlJJREU7CkBAIC02Niw4ICs2
NSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB0aW1lQU1Q
TUxhYmVscygpIE9WRVJSSURFOwogI2VuZGlmCiAKLSAgICAvLyBGb3IgdGVzdGluZy4KLSAgICBk
b3VibGUgcGFyc2VEYXRlKGNvbnN0IFN0cmluZyYgZm9ybWF0LCBpbnQgYmFzZVllYXIsIGNvbnN0
IFN0cmluZyYgaW5wdXQpOwogI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAg
ICAgc3RhdGljIFN0cmluZyBkYXRlRm9ybWF0KGNvbnN0IFN0cmluZyYpOwogI2VuZGlmCkBAIC03
OSwxNCArNzYsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgZW5zdXJlU2hvcnRNb250aExhYmVscygp
OwogICAgIHZvaWQgZW5zdXJlTW9udGhMYWJlbHMoKTsKICAgICB2b2lkIGVuc3VyZVNob3J0RGF0
ZVRva2VucygpOwotICAgIGJvb2wgaXNMb2NhbGl6ZWREaWdpdChVQ2hhcik7Ci0gICAgaW50IHBh
cnNlTnVtYmVyKGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkJiBpbmRleCk7Ci0gICAgaW50IHBhcnNl
TnVtYmVyT3JNb250aChjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCYgaW5kZXgpOwotICAgIGRvdWJs
ZSBwYXJzZURhdGUoY29uc3QgVmVjdG9yPERhdGVGb3JtYXRUb2tlbj4mLCBpbnQgYmFzZVllYXIs
IGNvbnN0IFN0cmluZyYpOwotICAgIHZvaWQgYXBwZW5kTnVtYmVyKGludCwgU3RyaW5nQnVpbGRl
ciYpOwotICAgIHZvaWQgYXBwZW5kVHdvRGlnaXRzTnVtYmVyKGludCwgU3RyaW5nQnVpbGRlciYp
OwotICAgIHZvaWQgYXBwZW5kRm91ckRpZ2l0c051bWJlcihpbnQsIFN0cmluZ0J1aWxkZXImKTsK
LSAgICBTdHJpbmcgZm9ybWF0RGF0ZShjb25zdCBWZWN0b3I8RGF0ZUZvcm1hdFRva2VuPiYsIGlu
dCBiYXNlWWVhciwgaW50IHllYXIsIGludCBtb250aCwgaW50IGRheSk7CiAjaWYgRU5BQkxFKENB
TEVOREFSX1BJQ0tFUikKICAgICB2b2lkIGVuc3VyZVdlZWtEYXlTaG9ydExhYmVscygpOwogI2Vu
ZGlmCkBAIC05NCw3ICs4Myw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxp
emVMb2NhbGVEYXRhKCkgT1ZFUlJJREU7CiAKICAgICBMQ0lEIG1fbGNpZDsKLSAgICBpbnQgbV9i
YXNlWWVhcjsKICAgICBWZWN0b3I8RGF0ZUZvcm1hdFRva2VuPiBtX3Nob3J0RGF0ZVRva2VuczsK
ICAgICBWZWN0b3I8U3RyaW5nPiBtX3Nob3J0TW9udGhMYWJlbHM7CiAgICAgVmVjdG9yPFN0cmlu
Zz4gbV9tb250aExhYmVsczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvTG9jYWxlTWFjVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0xvY2Fs
ZU1hY1Rlc3QuY3BwCmluZGV4IDAzODg5NzYzYjk3NmVlMThhODM5MDk4Yzk4MmM3MDRhYjljMmM0
ZjEuLjBkMmZlZDE1NGNiN2MwZTQyNTE3NTczYjYzOGY1OThjNjM0MDIwODMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTG9jYWxlTWFjVGVzdC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Mb2NhbGVNYWNUZXN0LmNwcApAQCAtODEsMTIgKzgx
LDYgQEAgcHJvdGVjdGVkOgogICAgICAgICByZXR1cm4gbG9jYWxlLT5mb3JtYXREYXRlVGltZSh0
aW1lQ29tcG9uZW50cyhob3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGlzZWNvbmQpLCAodXNlU2hv
cnRGb3JtYXQgPyBMb2NhbGU6OkZvcm1hdFR5cGVTaG9ydCA6IExvY2FsZTo6Rm9ybWF0VHlwZU1l
ZGl1bSkpOwogICAgIH0KIAotICAgIGRvdWJsZSBwYXJzZURhdGUoY29uc3QgU3RyaW5nJiBsb2Nh
bGVTdHJpbmcsIGNvbnN0IFN0cmluZyYgZGF0ZVN0cmluZykKLSAgICB7Ci0gICAgICAgIE93blB0
cjxMb2NhbGVNYWM+IGxvY2FsZSA9IExvY2FsZU1hYzo6Y3JlYXRlKGxvY2FsZVN0cmluZyk7Ci0g
ICAgICAgIHJldHVybiBsb2NhbGUtPnBhcnNlRGF0ZVRpbWUoZGF0ZVN0cmluZywgRGF0ZUNvbXBv
bmVudHM6OkRhdGUpOwotICAgIH0KLQogI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiAgICAg
dW5zaWduZWQgZmlyc3REYXlPZldlZWsoY29uc3QgU3RyaW5nJiBsb2NhbGVTdHJpbmcpCiAgICAg
ewpAQCAtMTkyLDEzICsxODYsNiBAQCBURVNUX0YoTG9jYWxlTWFjVGVzdCwgZm9ybWF0VGltZSkK
ICAgICBFWFBFQ1RfU1RSRVEoIlx4REJceEI3Olx4REJceEIwXHhEQlx4Qjc6XHhEQlx4QjBceERC
XHhCN1x4RDlceEFCXHhEQlx4QjBceERCXHhCMFx4REJceEI3IiwgZm9ybWF0VGltZSgiZmEiLCAw
NywgMDcsIDA3LCAwMDcsIGZhbHNlKS51dGY4KCkuZGF0YSgpKTsKIH0KIAotVEVTVF9GKExvY2Fs
ZU1hY1Rlc3QsIHBhcnNlRGF0ZSkKLXsKLSAgICBFWFBFQ1RfRVEobXNGb3JEYXRlKDIwMDUsIEFw
cmlsLCAyNyksIHBhcnNlRGF0ZSgiZW5fVVMiLCAiQXByaWwgMjcsIDIwMDUiKSk7Ci0gICAgRVhQ
RUNUX0VRKG1zRm9yRGF0ZSgyMDA1LCBBcHJpbCwgMjcpLCBwYXJzZURhdGUoImZyX0ZSIiwgIjI3
IGF2cmlsIDIwMDUiKSk7Ci0gICAgRVhQRUNUX0VRKG1zRm9yRGF0ZSgyMDA1LCBBcHJpbCwgMjcp
LCBwYXJzZURhdGUoImphX0pQIiwgIjIwMDUvMDQvMjciKSk7Ci19Ci0KICNpZiBFTkFCTEUoQ0FM
RU5EQVJfUElDS0VSKQogVEVTVF9GKExvY2FsZU1hY1Rlc3QsIGZpcnN0RGF5T2ZXZWVrKQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Mb2NhbGVXaW5UZXN0LmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTG9jYWxlV2luVGVzdC5jcHAKaW5kZXgg
ZTJlMDNjMTM4OGI3YmY1YmE2ODM4ZmM2YWQ4NGJkN2QzOGE2ZjgzNS4uMTM4Njk4NDNkNWY1MTMy
MDBlZGQzODg0NjJjYzMzZmVjNDUxMWJhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS90ZXN0cy9Mb2NhbGVXaW5UZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL0xvY2FsZVdpblRlc3QuY3BwCkBAIC05MCwxMiArOTAsNiBAQCBwcm90ZWN0ZWQ6CiAg
ICAgICAgIHJldHVybiBsb2NhbGUtPmZvcm1hdERhdGVUaW1lKGRhdGVDb21wb25lbnRzKHllYXIs
IG1vbnRoLCBkYXkpKTsKICAgICB9CiAKLSAgICBkb3VibGUgcGFyc2VEYXRlKExDSUQgbGNpZCwg
Y29uc3QgU3RyaW5nJiBkYXRlU3RyaW5nKQotICAgIHsKLSAgICAgICAgT3duUHRyPExvY2FsZVdp
bj4gbG9jYWxlID0gTG9jYWxlV2luOjpjcmVhdGUobGNpZCk7Ci0gICAgICAgIHJldHVybiBsb2Nh
bGUtPnBhcnNlRGF0ZVRpbWUoZGF0ZVN0cmluZywgRGF0ZUNvbXBvbmVudHM6OkRhdGUpOwotICAg
IH0KLQogI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiAgICAgdW5zaWduZWQgZmlyc3REYXlP
ZldlZWsoTENJRCBsY2lkKQogICAgIHsKQEAgLTE2MSw0NSArMTU1LDYgQEAgcHJvdGVjdGVkOgog
I2VuZGlmCiB9OwogCi1URVNUX0YoTG9jYWxlV2luVGVzdCwgVGVzdFBhcnNlKQotewotICAgIE93
blB0cjxMb2NhbGVXaW4+IGxvY2FsZSA9IExvY2FsZVdpbjo6Y3JlYXRlKEVuZ2xpc2hVUyk7Ci0K
LSAgICBFWFBFQ1RfRVEobXNGb3JEYXRlKDIwMTIsIEFwcmlsLCAyNyksIGxvY2FsZS0+cGFyc2VE
YXRlKCJNTS9kZC95eSIsIDIwMTIsICIwNC8yNy8xMiIpKTsKLSAgICBFWFBFQ1RfRVEobXNGb3JE
YXRlKDIwNjIsIEFwcmlsLCAyNyksIGxvY2FsZS0+cGFyc2VEYXRlKCJNTS9kZC95eSIsIDIwMTIs
ICIwNC8yNy82MiIpKTsKLSAgICBFWFBFQ1RfRVEobXNGb3JEYXRlKDE5NjMsIEFwcmlsLCAyNyks
IGxvY2FsZS0+cGFyc2VEYXRlKCJNTS9kZC95eSIsIDIwMTIsICIwNC8yNy82MyIpKTsKLSAgICBF
WFBFQ1RfRVEobXNGb3JEYXRlKDIwMTIsIEFwcmlsLCAyNyksIGxvY2FsZS0+cGFyc2VEYXRlKCJN
TS9kZC95eSIsIDIwMTIsICI0LzI3LzIwMTIiKSk7Ci0gICAgRVhQRUNUX0VRKG1zRm9yRGF0ZSgy
MDEyLCBBcHJpbCwgMjcpLCBsb2NhbGUtPnBhcnNlRGF0ZSgiTU0vZGQveXkiLCAyMDEyLCAiQXBy
LzI3LzIwMTIiKSk7Ci0gICAgRVhQRUNUX0VRKG1zRm9yRGF0ZSgyLCBBcHJpbCwgMjcpLCBsb2Nh
bGUtPnBhcnNlRGF0ZSgiTU0vZC95eSIsIDIwMTIsICJBcHJpbC8yNy8yIikpOwotICAgIEVYUEVD
VF9FUShtc0ZvckRhdGUoMiwgQXByaWwsIDI3KSwgbG9jYWxlLT5wYXJzZURhdGUoIk1NL2QveXki
LCAyMDEyLCAiYXByaWwvMjcvMiIpKTsKLSAgICBFWFBFQ1RfVFJVRShpc25hbihsb2NhbGUtPnBh
cnNlRGF0ZSgiTU0vZC95eSIsIDIwMTIsICJhcHJpbC8yNyIpKSk7Ci0gICAgRVhQRUNUX1RSVUUo
aXNuYW4obG9jYWxlLT5wYXJzZURhdGUoIk1NL2QveXkiLCAyMDEyLCAiYXByaWwvMjcvIikpKTsK
LSAgICBFWFBFQ1RfVFJVRShpc25hbihsb2NhbGUtPnBhcnNlRGF0ZSgiTU0vZC95eSIsIDIwMTIs
ICIgYXByaWwvMjcvIikpKTsKLQotICAgIEVYUEVDVF9FUShtc0ZvckRhdGUoMTIsIEFwcmlsLCA3
KSwgbG9jYWxlLT5wYXJzZURhdGUoIk1NTS9kL3l5eXkiLCAyMDEyLCAiMDQvNy8xMiIpKTsKLSAg
ICBFWFBFQ1RfRVEobXNGb3JEYXRlKDYyLCBBcHJpbCwgNyksIGxvY2FsZS0+cGFyc2VEYXRlKCJN
TU0vZC95eXl5IiwgMjAxMiwgIjA0LzA3LzYyIikpOwotICAgIEVYUEVDVF9FUShtc0ZvckRhdGUo
NjMsIEFwcmlsLCA3KSwgbG9jYWxlLT5wYXJzZURhdGUoIk1NTS9kL3l5eXkiLCAyMDEyLCAiMDQv
MDcvNjMiKSk7Ci0gICAgRVhQRUNUX0VRKG1zRm9yRGF0ZSgyMDEyLCBBcHJpbCwgNyksIGxvY2Fs
ZS0+cGFyc2VEYXRlKCJNTU0vZC95eXl5IiwgMjAxMiwgIjQvNy8yMDEyIikpOwotICAgIEVYUEVD
VF9FUShtc0ZvckRhdGUoMjAxMiwgTWF5LCA3KSwgbG9jYWxlLT5wYXJzZURhdGUoIk1NTS9kL3l5
eXkiLCAyMDEyLCAiTWF5LzAwNy8yMDEyIikpOwotICAgIEVYUEVDVF9FUShtc0ZvckRhdGUoMiwg
TWF5LCAyNyksIGxvY2FsZS0+cGFyc2VEYXRlKCJNTS9kL3l5eXkiLCAyMDEyLCAiTWF5LzAwMjcv
MiIpKTsKLSAgICBFWFBFQ1RfVFJVRShpc25hbihsb2NhbGUtPnBhcnNlRGF0ZSgiTU0vZC95eXl5
IiwgMjAxMiwgIk1heS8vLzAwMjcvLy8yIikpKTsKLSAgICBFWFBFQ1RfVFJVRShpc25hbihsb2Nh
bGUtPnBhcnNlRGF0ZSgiTU0vZC95eXl5IiwgMjAxMiwgIk1heXl5eXl5LzAwMjcvMiIpKSk7Ci0K
LSAgICBFWFBFQ1RfRVEobXNGb3JEYXRlKDIwMTIsIEFwcmlsLCAyNyksIGxvY2FsZS0+cGFyc2VE
YXRlKCJNTU1NL2RkL3kiLCAyMDEyLCAiMDQvMjcvMiIpKTsKLSAgICBFWFBFQ1RfRVEobXNGb3JE
YXRlKDIwMTcsIEFwcmlsLCAyNyksIGxvY2FsZS0+cGFyc2VEYXRlKCJNTU1NL2RkL3kiLCAyMDEy
LCAiMDQvMjcvNyIpKTsKLSAgICBFWFBFQ1RfRVEobXNGb3JEYXRlKDIwMDgsIEFwcmlsLCAyNyks
IGxvY2FsZS0+cGFyc2VEYXRlKCJNTU1NL2RkL3kiLCAyMDEyLCAiMDQvMjcvOCIpKTsKLSAgICBF
WFBFQ1RfRVEobXNGb3JEYXRlKDIwMTIsIEFwcmlsLCAyNyksIGxvY2FsZS0+cGFyc2VEYXRlKCJN
TU1NL2RkL3kiLCAyMDEyLCAiNC8yNy8yMDEyIikpOwotICAgIEVYUEVDVF9FUShtc0ZvckRhdGUo
MjAxMiwgRGVjZW1iZXIsIDI3KSwgbG9jYWxlLT5wYXJzZURhdGUoIk1NTU0vZGQveSIsIDIwMTIs
ICJEZWNlbWJlci8yNy8yMDEyIikpOwotICAgIEVYUEVDVF9FUShtc0ZvckRhdGUoMjAxMiwgTm92
ZW1iZXIsIDI3KSwgbG9jYWxlLT5wYXJzZURhdGUoIk1NTU0vZC95IiwgMjAxMiwgIk5vdmVtYmVy
LzI3LzIiKSk7Ci0gICAgRVhQRUNUX1RSVUUoaXNuYW4obG9jYWxlLT5wYXJzZURhdGUoIk1NTU0v
ZC95IiwgMjAxMiwgIk5vdmVtYmVyIDI3IDIiKSkpOwotICAgIEVYUEVDVF9UUlVFKGlzbmFuKGxv
Y2FsZS0+cGFyc2VEYXRlKCJNTU1NL2QveSIsIDIwMTIsICJOb3ZlbWJlciAzMiAyIikpKTsKLSAg
ICBFWFBFQ1RfVFJVRShpc25hbihsb2NhbGUtPnBhcnNlRGF0ZSgiTU1NTS9kL3kiLCAyMDEyLCAi
LTEvLTEvLTEiKSkpOwotCi0gICAgT3duUHRyPExvY2FsZVdpbj4gcGVyc2lhbiA9IExvY2FsZVdp
bjo6Y3JlYXRlKFBlcnNpYW4pOwotICAgIC8vIFUrMDZGMSBVKzA2RjYgLyBVKzA2RjAgVSswNkY4
IC8gMjAxMgotICAgIEVYUEVDVF9FUShtc0ZvckRhdGUoMjAxMiwgQXVndXN0LCAxNiksIHBlcnNp
YW4tPnBhcnNlRGF0ZSgiZGQvTU0veXl5eSIsIDIwMTIsIFN0cmluZzo6ZnJvbVVURjgoIlx4REJc
eEIxXHhEQlx4QjYvXHhEQlx4QjBceERCXHhCOC8yMDEyIikpKTsKLX0KLQogVEVTVF9GKExvY2Fs
ZVdpblRlc3QsIGZvcm1hdERhdGUpCiB7CiAgICAgRVhQRUNUX1NUUkVRKCIwNC8yNy8yMDA1Iiwg
Zm9ybWF0RGF0ZShFbmdsaXNoVVMsIDIwMDUsIEFwcmlsLCAyNykudXRmOCgpLmRhdGEoKSk7CkBA
IC0yMDcsMTMgKzE2Miw2IEBAIFRFU1RfRihMb2NhbGVXaW5UZXN0LCBmb3JtYXREYXRlKQogICAg
IEVYUEVDVF9TVFJFUSgiMjAwNS8wNC8yNyIsIGZvcm1hdERhdGUoSmFwYW5lc2VKUCwgMjAwNSwg
QXByaWwsIDI3KS51dGY4KCkuZGF0YSgpKTsKIH0KIAotVEVTVF9GKExvY2FsZVdpblRlc3QsIHBh
cnNlRGF0ZSkKLXsKLSAgICBFWFBFQ1RfRVEobXNGb3JEYXRlKDIwMDUsIEFwcmlsLCAyNyksIHBh
cnNlRGF0ZShFbmdsaXNoVVMsICJBcHJpbC8yNy8yMDA1IikpOwotICAgIEVYUEVDVF9FUShtc0Zv
ckRhdGUoMjAwNSwgQXByaWwsIDI3KSwgcGFyc2VEYXRlKEZyZW5jaEZSLCAiMjcvYXZyaWwvMjAw
NSIpKTsKLSAgICBFWFBFQ1RfRVEobXNGb3JEYXRlKDIwMDUsIEFwcmlsLCAyNyksIHBhcnNlRGF0
ZShKYXBhbmVzZUpQLCAiMjAwNS8wNC8yNyIpKTsKLX0KLQogI2lmIEVOQUJMRShDQUxFTkRBUl9Q
SUNLRVIpCiBURVNUX0YoTG9jYWxlV2luVGVzdCwgZmlyc3REYXlPZldlZWspCiB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>