<?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>209133</bug_id>
          
          <creation_ts>2020-03-16 01:13:52 -0700</creation_ts>
          <short_desc>AuthenticatorResponseData::decode should check bufferIsLargeEnoughToContain before allocating buffers</short_desc>
          <delta_ts>2020-03-18 20:08:15 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>209131</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1630263</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-03-16 01:13:52 -0700</bug_when>
    <thetext>AuthenticatorResponseData::decode should check bufferIsLargeEnoughToContain before allocating buffers

This is a sub-task of Bug 209131.
Bug 209131 – Don&apos;t allocate a buffer with the decoded size without ensuring bufferIsLargeEnoughToContain(size)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630264</commentid>
    <comment_count>1</comment_count>
      <attachid>393635</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-03-16 01:17:47 -0700</bug_when>
    <thetext>Created attachment 393635
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630268</commentid>
    <comment_count>2</comment_count>
      <attachid>393637</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-03-16 01:32:50 -0700</bug_when>
    <thetext>Created attachment 393637
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630434</commentid>
    <comment_count>3</comment_count>
      <attachid>393637</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-03-16 13:12:30 -0700</bug_when>
    <thetext>Comment on attachment 393637
Patch

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

Please fix all build failures.

&gt; Source/WebCore/Modules/webauthn/AuthenticatorResponseData.h:114
&gt; +    if (!decoder.template bufferIsLargeEnoughToContain&lt;uint8_t&gt;(rawIdLength))

This doesn&apos;t seem to be a valid C++ expression.

&gt; Source/WebCore/Modules/webauthn/AuthenticatorResponseData.h:134
&gt; +        if (!decoder.template bufferIsLargeEnoughToContain&lt;uint8_t&gt;(attestationObjectLength))

This doesn&apos;t seem to be a valid C++ expression.

&gt; Source/WebCore/Modules/webauthn/AuthenticatorResponseData.h:150
&gt; +    if (!decoder.template bufferIsLargeEnoughToContain&lt;uint8_t&gt;(authenticatorDataLength))

This doesn&apos;t seem to be a valid C++ expression.

&gt; Source/WebCore/Modules/webauthn/AuthenticatorResponseData.h:163
&gt; +    if (!decoder.template bufferIsLargeEnoughToContain&lt;uint8_t&gt;(signatureLength))

This doesn&apos;t seem to be a valid C++ expression.

&gt; Source/WebCore/Modules/webauthn/AuthenticatorResponseData.h:189
&gt; +    if (!decoder.template bufferIsLargeEnoughToContain&lt;uint8_t&gt;(userHandleLength))

This doesn&apos;t seem to be a valid C++ expression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630443</commentid>
    <comment_count>4</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-03-16 13:24:02 -0700</bug_when>
    <thetext>Thanks. Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630452</commentid>
    <comment_count>5</comment_count>
      <attachid>393637</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-16 13:48:29 -0700</bug_when>
    <thetext>Comment on attachment 393637
Patch

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

&gt;&gt; Source/WebCore/Modules/webauthn/AuthenticatorResponseData.h:114
&gt;&gt; +    if (!decoder.template bufferIsLargeEnoughToContain&lt;uint8_t&gt;(rawIdLength))
&gt; 
&gt; This doesn&apos;t seem to be a valid C++ expression.

Needs to be rawIdLength.value(), but otherwise looks valid to me. Are you just saying you’re not familiar with the &quot;.template&quot; syntax?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630458</commentid>
    <comment_count>6</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-03-16 14:12:55 -0700</bug_when>
    <thetext>Oh, that part.  See
https://stackoverflow.com/q/3786360
https://stackoverflow.com/a/613132

Too long, I didn&apos;t read neither understand :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630464</commentid>
    <comment_count>7</comment_count>
      <attachid>393682</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-03-16 14:29:11 -0700</bug_when>
    <thetext>Created attachment 393682
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630472</commentid>
    <comment_count>8</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-03-16 14:45:01 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #5)
&gt; Comment on attachment 393637 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=393637&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/Modules/webauthn/AuthenticatorResponseData.h:114
&gt; &gt;&gt; +    if (!decoder.template bufferIsLargeEnoughToContain&lt;uint8_t&gt;(rawIdLength))
&gt; &gt; 
&gt; &gt; This doesn&apos;t seem to be a valid C++ expression.
&gt; 
&gt; Needs to be rawIdLength.value(), but otherwise looks valid to me. Are you
&gt; just saying you’re not familiar with the &quot;.template&quot; syntax?

My bad, it has been a while since last time I have to use .template.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631268</commentid>
    <comment_count>9</comment_count>
      <attachid>393682</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-18 11:24:55 -0700</bug_when>
    <thetext>Comment on attachment 393682
Patch

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

&gt; Source/WebCore/Modules/webauthn/AuthenticatorResponseData.h:120
&gt;      if (!rawIdLength)
&gt;          return WTF::nullopt;
&gt;  
&gt; -    result.rawId = ArrayBuffer::create(rawIdLength.value(), sizeof(uint8_t));
&gt; +    if (!decoder.template bufferIsLargeEnoughToContain&lt;uint8_t&gt;(rawIdLength.value()))
&gt; +        return WTF::nullopt;
&gt; +    result.rawId = ArrayBuffer::tryCreate(rawIdLength.value(), sizeof(uint8_t));
&gt; +    if (!result.rawId)
&gt; +        return WTF::nullopt;
&gt;      if (!decoder.decodeFixedLengthData(reinterpret_cast&lt;uint8_t*&gt;(result.rawId-&gt;data()), rawIdLength.value(), 1))
&gt;          return WTF::nullopt;

Feels to me like we should refactor so we can share more code. This pattern over and over again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631359</commentid>
    <comment_count>10</comment_count>
      <attachid>393682</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-03-18 14:24:32 -0700</bug_when>
    <thetext>Comment on attachment 393682
Patch

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

&gt;&gt; Source/WebCore/Modules/webauthn/AuthenticatorResponseData.h:120
&gt;&gt;          return WTF::nullopt;
&gt; 
&gt; Feels to me like we should refactor so we can share more code. This pattern over and over again.

Good idea. Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631362</commentid>
    <comment_count>11</comment_count>
      <attachid>393904</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-03-18 14:30:40 -0700</bug_when>
    <thetext>Created attachment 393904
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631469</commentid>
    <comment_count>12</comment_count>
      <attachid>393929</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-03-18 18:14:51 -0700</bug_when>
    <thetext>Created attachment 393929
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631510</commentid>
    <comment_count>13</comment_count>
      <attachid>393929</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-03-18 20:07:04 -0700</bug_when>
    <thetext>Comment on attachment 393929
Patch

Clearing flags on attachment: 393929

Committed r258676: &lt;https://trac.webkit.org/changeset/258676&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631512</commentid>
    <comment_count>14</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-03-18 20:07:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631514</commentid>
    <comment_count>15</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-18 20:08:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/60615555&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393635</attachid>
            <date>2020-03-16 01:17:47 -0700</date>
            <delta_ts>2020-03-16 01:32:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209133-20200316171746.patch</filename>
            <type>text/plain</type>
            <size>4773</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmZlNTVlOWI2MzI5OTE3
MWIxNmJiYzVjOGQwYTYwZjFkMGM5ZDY3NS4uNTcwNzg2ZTI1ZGZhN2VmYmVmMGYwMDNjMDRkMjY3
OTM5NzAzN2E1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTAzLTE2ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIEF1dGhlbnRp
Y2F0b3JSZXNwb25zZURhdGE6OmRlY29kZSBzaG91bGQgY2hlY2sgYnVmZmVySXNMYXJnZUVub3Vn
aFRvQ29udGFpbiBiZWZvcmUgYWxsb2NhdGluZyBidWZmZXJzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkxMzMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJIGhhdmUgbm8gbmV3IHRlc3RzLgorCisgICAg
ICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhLmg6CisgICAg
ICAgIChXZWJDb3JlOjpBdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhOjpkZWNvZGUpOgorICAgICAg
ICBDaGVjayBidWZmZXJJc0xhcmdlRW5vdWdoVG9Db250YWluIGJlZm9yZSBhbGxvY2F0aW5nIGJ1
ZmZlcnMuCisgICAgICAgIFJlcGxhY2VkIEFycmF5QnVmZmVyOjpjcmVhdGUgd2l0aCBBcnJheUJ1
ZmZlcjo6dHJ5Q3JlYXRlLCBhbmQgYWRkZWQgbnVsbCBjaGVja3MuCisKIDIwMjAtMDMtMTUgIEZ1
amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgS2V5ZWRE
ZWNvZGVyR2VuZXJpYyBmYWlscyB0byBhbGxvY2F0ZSBWZWN0b3Igd2hpbGUgZGVjb2RpbmcgYnJv
a2VuIGRhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0
aGVudGljYXRvclJlc3BvbnNlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRo
bi9BdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhLmgKaW5kZXggNzIwNTVhMzFkMDUyNDk4MWNiYjBj
YzI0N2I3NGY3NGE0MjRkYjYxMC4uODM1YWI1M2RmNzZjMDgyNDIwMTVkYTQwZWMxNTQ4MGEyZDFk
NWRkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50
aWNhdG9yUmVzcG9uc2VEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRo
bi9BdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhLmgKQEAgLTExMSw3ICsxMTEsMTEgQEAgT3B0aW9u
YWw8QXV0aGVudGljYXRvclJlc3BvbnNlRGF0YT4gQXV0aGVudGljYXRvclJlc3BvbnNlRGF0YTo6
ZGVjb2RlKERlY29kZXImIGQKICAgICBpZiAoIXJhd0lkTGVuZ3RoKQogICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OwogCi0gICAgcmVzdWx0LnJhd0lkID0gQXJyYXlCdWZmZXI6OmNyZWF0ZShy
YXdJZExlbmd0aC52YWx1ZSgpLCBzaXplb2YodWludDhfdCkpOworICAgIGlmICghZGVjb2Rlci5i
dWZmZXJJc0xhcmdlRW5vdWdoVG9Db250YWluPHVpbnQ4X3Q+KHJhd0lkTGVuZ3RoKSkKKyAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICByZXN1bHQucmF3SWQgPSBBcnJheUJ1ZmZlcjo6
dHJ5Q3JlYXRlKHJhd0lkTGVuZ3RoLnZhbHVlKCksIHNpemVvZih1aW50OF90KSk7CisgICAgaWYg
KCFyZXN1bHQucmF3SWQpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZUZpeGVkTGVuZ3RoRGF0YShyZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihy
ZXN1bHQucmF3SWQtPmRhdGEoKSksIHJhd0lkTGVuZ3RoLnZhbHVlKCksIDEpKQogICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OwogCkBAIC0xMjcsNyArMTMxLDExIEBAIE9wdGlvbmFsPEF1dGhl
bnRpY2F0b3JSZXNwb25zZURhdGE+IEF1dGhlbnRpY2F0b3JSZXNwb25zZURhdGE6OmRlY29kZShE
ZWNvZGVyJiBkCiAgICAgICAgIGlmICghYXR0ZXN0YXRpb25PYmplY3RMZW5ndGgpCiAgICAgICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCi0gICAgICAgIHJlc3VsdC5hdHRlc3RhdGlvbk9i
amVjdCA9IEFycmF5QnVmZmVyOjpjcmVhdGUoYXR0ZXN0YXRpb25PYmplY3RMZW5ndGgudmFsdWUo
KSwgc2l6ZW9mKHVpbnQ4X3QpKTsKKyAgICAgICAgaWYgKCFkZWNvZGVyLmJ1ZmZlcklzTGFyZ2VF
bm91Z2hUb0NvbnRhaW48dWludDhfdD4oYXR0ZXN0YXRpb25PYmplY3RMZW5ndGgpKQorICAgICAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgcmVzdWx0LmF0dGVzdGF0aW9uT2Jq
ZWN0ID0gQXJyYXlCdWZmZXI6OnRyeUNyZWF0ZShhdHRlc3RhdGlvbk9iamVjdExlbmd0aC52YWx1
ZSgpLCBzaXplb2YodWludDhfdCkpOworICAgICAgICBpZiAoIXJlc3VsdC5hdHRlc3RhdGlvbk9i
amVjdCkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAgICAgICAgIGlmICghZGVj
b2Rlci5kZWNvZGVGaXhlZExlbmd0aERhdGEocmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4ocmVz
dWx0LmF0dGVzdGF0aW9uT2JqZWN0LT5kYXRhKCkpLCBhdHRlc3RhdGlvbk9iamVjdExlbmd0aC52
YWx1ZSgpLCAxKSkKICAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKQEAgLTEzOSw3
ICsxNDcsMTEgQEAgT3B0aW9uYWw8QXV0aGVudGljYXRvclJlc3BvbnNlRGF0YT4gQXV0aGVudGlj
YXRvclJlc3BvbnNlRGF0YTo6ZGVjb2RlKERlY29kZXImIGQKICAgICBpZiAoIWF1dGhlbnRpY2F0
b3JEYXRhTGVuZ3RoKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCi0gICAgcmVzdWx0
LmF1dGhlbnRpY2F0b3JEYXRhID0gQXJyYXlCdWZmZXI6OmNyZWF0ZShhdXRoZW50aWNhdG9yRGF0
YUxlbmd0aC52YWx1ZSgpLCBzaXplb2YodWludDhfdCkpOworICAgIGlmICghZGVjb2Rlci5idWZm
ZXJJc0xhcmdlRW5vdWdoVG9Db250YWluPHVpbnQ4X3Q+KGF1dGhlbnRpY2F0b3JEYXRhTGVuZ3Ro
KSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICByZXN1bHQuYXV0aGVudGljYXRv
ckRhdGEgPSBBcnJheUJ1ZmZlcjo6dHJ5Q3JlYXRlKGF1dGhlbnRpY2F0b3JEYXRhTGVuZ3RoLnZh
bHVlKCksIHNpemVvZih1aW50OF90KSk7CisgICAgaWYgKCFyZXN1bHQuYXV0aGVudGljYXRvckRh
dGEpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZUZpeGVkTGVuZ3RoRGF0YShyZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihyZXN1bHQuYXV0aGVu
dGljYXRvckRhdGEtPmRhdGEoKSksIGF1dGhlbnRpY2F0b3JEYXRhTGVuZ3RoLnZhbHVlKCksIDEp
KQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCkBAIC0xNDgsNyArMTYwLDExIEBAIE9w
dGlvbmFsPEF1dGhlbnRpY2F0b3JSZXNwb25zZURhdGE+IEF1dGhlbnRpY2F0b3JSZXNwb25zZURh
dGE6OmRlY29kZShEZWNvZGVyJiBkCiAgICAgaWYgKCFzaWduYXR1cmVMZW5ndGgpCiAgICAgICAg
IHJldHVybiBXVEY6Om51bGxvcHQ7CiAKLSAgICByZXN1bHQuc2lnbmF0dXJlID0gQXJyYXlCdWZm
ZXI6OmNyZWF0ZShzaWduYXR1cmVMZW5ndGgudmFsdWUoKSwgc2l6ZW9mKHVpbnQ4X3QpKTsKKyAg
ICBpZiAoIWRlY29kZXIuYnVmZmVySXNMYXJnZUVub3VnaFRvQ29udGFpbjx1aW50OF90PihzaWdu
YXR1cmVMZW5ndGgpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIHJlc3VsdC5z
aWduYXR1cmUgPSBBcnJheUJ1ZmZlcjo6dHJ5Q3JlYXRlKHNpZ25hdHVyZUxlbmd0aC52YWx1ZSgp
LCBzaXplb2YodWludDhfdCkpOworICAgIGlmICghcmVzdWx0LnNpZ25hdHVyZSkKKyAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlRml4ZWRMZW5ndGhE
YXRhKHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KHJlc3VsdC5zaWduYXR1cmUtPmRhdGEoKSks
IHNpZ25hdHVyZUxlbmd0aC52YWx1ZSgpLCAxKSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKIApAQCAtMTcwLDcgKzE4NiwxMSBAQCBPcHRpb25hbDxBdXRoZW50aWNhdG9yUmVzcG9uc2VE
YXRhPiBBdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhOjpkZWNvZGUoRGVjb2RlciYgZAogICAgIGlm
ICghdXNlckhhbmRsZUxlbmd0aCkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAotICAg
IHJlc3VsdC51c2VySGFuZGxlID0gQXJyYXlCdWZmZXI6OmNyZWF0ZSh1c2VySGFuZGxlTGVuZ3Ro
LnZhbHVlKCksIHNpemVvZih1aW50OF90KSk7CisgICAgaWYgKCFkZWNvZGVyLmJ1ZmZlcklzTGFy
Z2VFbm91Z2hUb0NvbnRhaW48dWludDhfdD4odXNlckhhbmRsZUxlbmd0aCkpCisgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CisgICAgcmVzdWx0LnVzZXJIYW5kbGUgPSBBcnJheUJ1ZmZlcjo6
dHJ5Q3JlYXRlKHVzZXJIYW5kbGVMZW5ndGgudmFsdWUoKSwgc2l6ZW9mKHVpbnQ4X3QpKTsKKyAg
ICBpZiAoIXJlc3VsdC51c2VySGFuZGxlKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owog
ICAgIGlmICghZGVjb2Rlci5kZWNvZGVGaXhlZExlbmd0aERhdGEocmVpbnRlcnByZXRfY2FzdDx1
aW50OF90Kj4ocmVzdWx0LnVzZXJIYW5kbGUtPmRhdGEoKSksIHVzZXJIYW5kbGVMZW5ndGgudmFs
dWUoKSwgMSkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393637</attachid>
            <date>2020-03-16 01:32:50 -0700</date>
            <delta_ts>2020-03-16 14:29:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209133-20200316173249.patch</filename>
            <type>text/plain</type>
            <size>4818</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmZlNTVlOWI2MzI5OTE3
MWIxNmJiYzVjOGQwYTYwZjFkMGM5ZDY3NS4uNTcwNzg2ZTI1ZGZhN2VmYmVmMGYwMDNjMDRkMjY3
OTM5NzAzN2E1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTAzLTE2ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIEF1dGhlbnRp
Y2F0b3JSZXNwb25zZURhdGE6OmRlY29kZSBzaG91bGQgY2hlY2sgYnVmZmVySXNMYXJnZUVub3Vn
aFRvQ29udGFpbiBiZWZvcmUgYWxsb2NhdGluZyBidWZmZXJzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkxMzMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJIGhhdmUgbm8gbmV3IHRlc3RzLgorCisgICAg
ICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhLmg6CisgICAg
ICAgIChXZWJDb3JlOjpBdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhOjpkZWNvZGUpOgorICAgICAg
ICBDaGVjayBidWZmZXJJc0xhcmdlRW5vdWdoVG9Db250YWluIGJlZm9yZSBhbGxvY2F0aW5nIGJ1
ZmZlcnMuCisgICAgICAgIFJlcGxhY2VkIEFycmF5QnVmZmVyOjpjcmVhdGUgd2l0aCBBcnJheUJ1
ZmZlcjo6dHJ5Q3JlYXRlLCBhbmQgYWRkZWQgbnVsbCBjaGVja3MuCisKIDIwMjAtMDMtMTUgIEZ1
amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgS2V5ZWRE
ZWNvZGVyR2VuZXJpYyBmYWlscyB0byBhbGxvY2F0ZSBWZWN0b3Igd2hpbGUgZGVjb2RpbmcgYnJv
a2VuIGRhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0
aGVudGljYXRvclJlc3BvbnNlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRo
bi9BdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhLmgKaW5kZXggNzIwNTVhMzFkMDUyNDk4MWNiYjBj
YzI0N2I3NGY3NGE0MjRkYjYxMC4uZjczZDU4OWMzNDQ0NDNkYjMwNDBiYjRjNWQ3ODhkNTRiZTA5
NGY1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50
aWNhdG9yUmVzcG9uc2VEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRo
bi9BdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhLmgKQEAgLTExMSw3ICsxMTEsMTEgQEAgT3B0aW9u
YWw8QXV0aGVudGljYXRvclJlc3BvbnNlRGF0YT4gQXV0aGVudGljYXRvclJlc3BvbnNlRGF0YTo6
ZGVjb2RlKERlY29kZXImIGQKICAgICBpZiAoIXJhd0lkTGVuZ3RoKQogICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OwogCi0gICAgcmVzdWx0LnJhd0lkID0gQXJyYXlCdWZmZXI6OmNyZWF0ZShy
YXdJZExlbmd0aC52YWx1ZSgpLCBzaXplb2YodWludDhfdCkpOworICAgIGlmICghZGVjb2Rlci50
ZW1wbGF0ZSBidWZmZXJJc0xhcmdlRW5vdWdoVG9Db250YWluPHVpbnQ4X3Q+KHJhd0lkTGVuZ3Ro
KSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICByZXN1bHQucmF3SWQgPSBBcnJh
eUJ1ZmZlcjo6dHJ5Q3JlYXRlKHJhd0lkTGVuZ3RoLnZhbHVlKCksIHNpemVvZih1aW50OF90KSk7
CisgICAgaWYgKCFyZXN1bHQucmF3SWQpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZUZpeGVkTGVuZ3RoRGF0YShyZWludGVycHJldF9jYXN0PHVp
bnQ4X3QqPihyZXN1bHQucmF3SWQtPmRhdGEoKSksIHJhd0lkTGVuZ3RoLnZhbHVlKCksIDEpKQog
ICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCkBAIC0xMjcsNyArMTMxLDExIEBAIE9wdGlv
bmFsPEF1dGhlbnRpY2F0b3JSZXNwb25zZURhdGE+IEF1dGhlbnRpY2F0b3JSZXNwb25zZURhdGE6
OmRlY29kZShEZWNvZGVyJiBkCiAgICAgICAgIGlmICghYXR0ZXN0YXRpb25PYmplY3RMZW5ndGgp
CiAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCi0gICAgICAgIHJlc3VsdC5hdHRl
c3RhdGlvbk9iamVjdCA9IEFycmF5QnVmZmVyOjpjcmVhdGUoYXR0ZXN0YXRpb25PYmplY3RMZW5n
dGgudmFsdWUoKSwgc2l6ZW9mKHVpbnQ4X3QpKTsKKyAgICAgICAgaWYgKCFkZWNvZGVyLnRlbXBs
YXRlIGJ1ZmZlcklzTGFyZ2VFbm91Z2hUb0NvbnRhaW48dWludDhfdD4oYXR0ZXN0YXRpb25PYmpl
Y3RMZW5ndGgpKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgcmVz
dWx0LmF0dGVzdGF0aW9uT2JqZWN0ID0gQXJyYXlCdWZmZXI6OnRyeUNyZWF0ZShhdHRlc3RhdGlv
bk9iamVjdExlbmd0aC52YWx1ZSgpLCBzaXplb2YodWludDhfdCkpOworICAgICAgICBpZiAoIXJl
c3VsdC5hdHRlc3RhdGlvbk9iamVjdCkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CiAgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGVGaXhlZExlbmd0aERhdGEocmVpbnRlcnByZXRf
Y2FzdDx1aW50OF90Kj4ocmVzdWx0LmF0dGVzdGF0aW9uT2JqZWN0LT5kYXRhKCkpLCBhdHRlc3Rh
dGlvbk9iamVjdExlbmd0aC52YWx1ZSgpLCAxKSkKICAgICAgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CiAKQEAgLTEzOSw3ICsxNDcsMTEgQEAgT3B0aW9uYWw8QXV0aGVudGljYXRvclJlc3Bv
bnNlRGF0YT4gQXV0aGVudGljYXRvclJlc3BvbnNlRGF0YTo6ZGVjb2RlKERlY29kZXImIGQKICAg
ICBpZiAoIWF1dGhlbnRpY2F0b3JEYXRhTGVuZ3RoKQogICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OwogCi0gICAgcmVzdWx0LmF1dGhlbnRpY2F0b3JEYXRhID0gQXJyYXlCdWZmZXI6OmNyZWF0
ZShhdXRoZW50aWNhdG9yRGF0YUxlbmd0aC52YWx1ZSgpLCBzaXplb2YodWludDhfdCkpOworICAg
IGlmICghZGVjb2Rlci50ZW1wbGF0ZSBidWZmZXJJc0xhcmdlRW5vdWdoVG9Db250YWluPHVpbnQ4
X3Q+KGF1dGhlbnRpY2F0b3JEYXRhTGVuZ3RoKSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKKyAgICByZXN1bHQuYXV0aGVudGljYXRvckRhdGEgPSBBcnJheUJ1ZmZlcjo6dHJ5Q3JlYXRl
KGF1dGhlbnRpY2F0b3JEYXRhTGVuZ3RoLnZhbHVlKCksIHNpemVvZih1aW50OF90KSk7CisgICAg
aWYgKCFyZXN1bHQuYXV0aGVudGljYXRvckRhdGEpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZUZpeGVkTGVuZ3RoRGF0YShyZWludGVycHJldF9j
YXN0PHVpbnQ4X3QqPihyZXN1bHQuYXV0aGVudGljYXRvckRhdGEtPmRhdGEoKSksIGF1dGhlbnRp
Y2F0b3JEYXRhTGVuZ3RoLnZhbHVlKCksIDEpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OwogCkBAIC0xNDgsNyArMTYwLDExIEBAIE9wdGlvbmFsPEF1dGhlbnRpY2F0b3JSZXNwb25zZURh
dGE+IEF1dGhlbnRpY2F0b3JSZXNwb25zZURhdGE6OmRlY29kZShEZWNvZGVyJiBkCiAgICAgaWYg
KCFzaWduYXR1cmVMZW5ndGgpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKLSAgICBy
ZXN1bHQuc2lnbmF0dXJlID0gQXJyYXlCdWZmZXI6OmNyZWF0ZShzaWduYXR1cmVMZW5ndGgudmFs
dWUoKSwgc2l6ZW9mKHVpbnQ4X3QpKTsKKyAgICBpZiAoIWRlY29kZXIudGVtcGxhdGUgYnVmZmVy
SXNMYXJnZUVub3VnaFRvQ29udGFpbjx1aW50OF90PihzaWduYXR1cmVMZW5ndGgpKQorICAgICAg
ICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIHJlc3VsdC5zaWduYXR1cmUgPSBBcnJheUJ1ZmZl
cjo6dHJ5Q3JlYXRlKHNpZ25hdHVyZUxlbmd0aC52YWx1ZSgpLCBzaXplb2YodWludDhfdCkpOwor
ICAgIGlmICghcmVzdWx0LnNpZ25hdHVyZSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
ICAgICBpZiAoIWRlY29kZXIuZGVjb2RlRml4ZWRMZW5ndGhEYXRhKHJlaW50ZXJwcmV0X2Nhc3Q8
dWludDhfdCo+KHJlc3VsdC5zaWduYXR1cmUtPmRhdGEoKSksIHNpZ25hdHVyZUxlbmd0aC52YWx1
ZSgpLCAxKSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIApAQCAtMTcwLDcgKzE4Niwx
MSBAQCBPcHRpb25hbDxBdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhPiBBdXRoZW50aWNhdG9yUmVz
cG9uc2VEYXRhOjpkZWNvZGUoRGVjb2RlciYgZAogICAgIGlmICghdXNlckhhbmRsZUxlbmd0aCkK
ICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAotICAgIHJlc3VsdC51c2VySGFuZGxlID0g
QXJyYXlCdWZmZXI6OmNyZWF0ZSh1c2VySGFuZGxlTGVuZ3RoLnZhbHVlKCksIHNpemVvZih1aW50
OF90KSk7CisgICAgaWYgKCFkZWNvZGVyLnRlbXBsYXRlIGJ1ZmZlcklzTGFyZ2VFbm91Z2hUb0Nv
bnRhaW48dWludDhfdD4odXNlckhhbmRsZUxlbmd0aCkpCisgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CisgICAgcmVzdWx0LnVzZXJIYW5kbGUgPSBBcnJheUJ1ZmZlcjo6dHJ5Q3JlYXRlKHVz
ZXJIYW5kbGVMZW5ndGgudmFsdWUoKSwgc2l6ZW9mKHVpbnQ4X3QpKTsKKyAgICBpZiAoIXJlc3Vs
dC51c2VySGFuZGxlKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAgIGlmICghZGVj
b2Rlci5kZWNvZGVGaXhlZExlbmd0aERhdGEocmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4ocmVz
dWx0LnVzZXJIYW5kbGUtPmRhdGEoKSksIHVzZXJIYW5kbGVMZW5ndGgudmFsdWUoKSwgMSkpCiAg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393682</attachid>
            <date>2020-03-16 14:29:11 -0700</date>
            <delta_ts>2020-03-18 14:30:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209133-20200317062910.patch</filename>
            <type>text/plain</type>
            <size>4827</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTI4ZmRiMWU5ZDA2NmYw
NjJmODEyZTBhOWQ0NmU5YmFjNWIzZmY1ZC4uNTNjN2MxM2FmNzAwYmZiZmYzZWE5NWZjYWViOWIx
NDllOTc3MWVhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTAzLTE2ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIEF1dGhlbnRp
Y2F0b3JSZXNwb25zZURhdGE6OmRlY29kZSBzaG91bGQgY2hlY2sgYnVmZmVySXNMYXJnZUVub3Vn
aFRvQ29udGFpbiBiZWZvcmUgYWxsb2NhdGluZyBidWZmZXJzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkxMzMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJIGhhdmUgbm8gbmV3IHRlc3RzLgorCisgICAg
ICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhLmg6CisgICAg
ICAgIChXZWJDb3JlOjpBdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhOjpkZWNvZGUpOgorICAgICAg
ICBDaGVjayBidWZmZXJJc0xhcmdlRW5vdWdoVG9Db250YWluIGJlZm9yZSBhbGxvY2F0aW5nIGJ1
ZmZlcnMuCisgICAgICAgIFJlcGxhY2VkIEFycmF5QnVmZmVyOjpjcmVhdGUgd2l0aCBBcnJheUJ1
ZmZlcjo6dHJ5Q3JlYXRlLCBhbmQgYWRkZWQgbnVsbCBjaGVja3MuCisKIDIwMjAtMDMtMTYgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIEZy
YW1lVmlldzo6c2NoZWR1bGVSZW5kZXJpbmdVcGRhdGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZURhdGEuaApp
bmRleCA3MjA1NWEzMWQwNTI0OTgxY2JiMGNjMjQ3Yjc0Zjc0YTQyNGRiNjEwLi5mMzBmY2EwZTBm
MDhkN2Y2ODIwZWFmNjgwMzRiYjcwYWYwNzk4OTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZURhdGEuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZURhdGEuaApA
QCAtMTExLDcgKzExMSwxMSBAQCBPcHRpb25hbDxBdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhPiBB
dXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhOjpkZWNvZGUoRGVjb2RlciYgZAogICAgIGlmICghcmF3
SWRMZW5ndGgpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKLSAgICByZXN1bHQucmF3
SWQgPSBBcnJheUJ1ZmZlcjo6Y3JlYXRlKHJhd0lkTGVuZ3RoLnZhbHVlKCksIHNpemVvZih1aW50
OF90KSk7CisgICAgaWYgKCFkZWNvZGVyLnRlbXBsYXRlIGJ1ZmZlcklzTGFyZ2VFbm91Z2hUb0Nv
bnRhaW48dWludDhfdD4ocmF3SWRMZW5ndGgudmFsdWUoKSkpCisgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisgICAgcmVzdWx0LnJhd0lkID0gQXJyYXlCdWZmZXI6OnRyeUNyZWF0ZShyYXdJ
ZExlbmd0aC52YWx1ZSgpLCBzaXplb2YodWludDhfdCkpOworICAgIGlmICghcmVzdWx0LnJhd0lk
KQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAgIGlmICghZGVjb2Rlci5kZWNvZGVG
aXhlZExlbmd0aERhdGEocmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4ocmVzdWx0LnJhd0lkLT5k
YXRhKCkpLCByYXdJZExlbmd0aC52YWx1ZSgpLCAxKSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKIApAQCAtMTI3LDcgKzEzMSwxMSBAQCBPcHRpb25hbDxBdXRoZW50aWNhdG9yUmVzcG9u
c2VEYXRhPiBBdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhOjpkZWNvZGUoRGVjb2RlciYgZAogICAg
ICAgICBpZiAoIWF0dGVzdGF0aW9uT2JqZWN0TGVuZ3RoKQogICAgICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKIAotICAgICAgICByZXN1bHQuYXR0ZXN0YXRpb25PYmplY3QgPSBBcnJheUJ1
ZmZlcjo6Y3JlYXRlKGF0dGVzdGF0aW9uT2JqZWN0TGVuZ3RoLnZhbHVlKCksIHNpemVvZih1aW50
OF90KSk7CisgICAgICAgIGlmICghZGVjb2Rlci50ZW1wbGF0ZSBidWZmZXJJc0xhcmdlRW5vdWdo
VG9Db250YWluPHVpbnQ4X3Q+KGF0dGVzdGF0aW9uT2JqZWN0TGVuZ3RoLnZhbHVlKCkpKQorICAg
ICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgcmVzdWx0LmF0dGVzdGF0aW9u
T2JqZWN0ID0gQXJyYXlCdWZmZXI6OnRyeUNyZWF0ZShhdHRlc3RhdGlvbk9iamVjdExlbmd0aC52
YWx1ZSgpLCBzaXplb2YodWludDhfdCkpOworICAgICAgICBpZiAoIXJlc3VsdC5hdHRlc3RhdGlv
bk9iamVjdCkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAgICAgICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGVGaXhlZExlbmd0aERhdGEocmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4o
cmVzdWx0LmF0dGVzdGF0aW9uT2JqZWN0LT5kYXRhKCkpLCBhdHRlc3RhdGlvbk9iamVjdExlbmd0
aC52YWx1ZSgpLCAxKSkKICAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKQEAgLTEz
OSw3ICsxNDcsMTEgQEAgT3B0aW9uYWw8QXV0aGVudGljYXRvclJlc3BvbnNlRGF0YT4gQXV0aGVu
dGljYXRvclJlc3BvbnNlRGF0YTo6ZGVjb2RlKERlY29kZXImIGQKICAgICBpZiAoIWF1dGhlbnRp
Y2F0b3JEYXRhTGVuZ3RoKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCi0gICAgcmVz
dWx0LmF1dGhlbnRpY2F0b3JEYXRhID0gQXJyYXlCdWZmZXI6OmNyZWF0ZShhdXRoZW50aWNhdG9y
RGF0YUxlbmd0aC52YWx1ZSgpLCBzaXplb2YodWludDhfdCkpOworICAgIGlmICghZGVjb2Rlci50
ZW1wbGF0ZSBidWZmZXJJc0xhcmdlRW5vdWdoVG9Db250YWluPHVpbnQ4X3Q+KGF1dGhlbnRpY2F0
b3JEYXRhTGVuZ3RoLnZhbHVlKCkpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAg
IHJlc3VsdC5hdXRoZW50aWNhdG9yRGF0YSA9IEFycmF5QnVmZmVyOjp0cnlDcmVhdGUoYXV0aGVu
dGljYXRvckRhdGFMZW5ndGgudmFsdWUoKSwgc2l6ZW9mKHVpbnQ4X3QpKTsKKyAgICBpZiAoIXJl
c3VsdC5hdXRoZW50aWNhdG9yRGF0YSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKICAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlRml4ZWRMZW5ndGhEYXRhKHJlaW50ZXJwcmV0X2Nhc3Q8dWlu
dDhfdCo+KHJlc3VsdC5hdXRoZW50aWNhdG9yRGF0YS0+ZGF0YSgpKSwgYXV0aGVudGljYXRvckRh
dGFMZW5ndGgudmFsdWUoKSwgMSkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKQEAg
LTE0OCw3ICsxNjAsMTEgQEAgT3B0aW9uYWw8QXV0aGVudGljYXRvclJlc3BvbnNlRGF0YT4gQXV0
aGVudGljYXRvclJlc3BvbnNlRGF0YTo6ZGVjb2RlKERlY29kZXImIGQKICAgICBpZiAoIXNpZ25h
dHVyZUxlbmd0aCkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAotICAgIHJlc3VsdC5z
aWduYXR1cmUgPSBBcnJheUJ1ZmZlcjo6Y3JlYXRlKHNpZ25hdHVyZUxlbmd0aC52YWx1ZSgpLCBz
aXplb2YodWludDhfdCkpOworICAgIGlmICghZGVjb2Rlci50ZW1wbGF0ZSBidWZmZXJJc0xhcmdl
RW5vdWdoVG9Db250YWluPHVpbnQ4X3Q+KHNpZ25hdHVyZUxlbmd0aC52YWx1ZSgpKSkKKyAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICByZXN1bHQuc2lnbmF0dXJlID0gQXJyYXlCdWZm
ZXI6OnRyeUNyZWF0ZShzaWduYXR1cmVMZW5ndGgudmFsdWUoKSwgc2l6ZW9mKHVpbnQ4X3QpKTsK
KyAgICBpZiAoIXJlc3VsdC5zaWduYXR1cmUpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZUZpeGVkTGVuZ3RoRGF0YShyZWludGVycHJldF9jYXN0
PHVpbnQ4X3QqPihyZXN1bHQuc2lnbmF0dXJlLT5kYXRhKCkpLCBzaWduYXR1cmVMZW5ndGgudmFs
dWUoKSwgMSkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKQEAgLTE3MCw3ICsxODYs
MTEgQEAgT3B0aW9uYWw8QXV0aGVudGljYXRvclJlc3BvbnNlRGF0YT4gQXV0aGVudGljYXRvclJl
c3BvbnNlRGF0YTo6ZGVjb2RlKERlY29kZXImIGQKICAgICBpZiAoIXVzZXJIYW5kbGVMZW5ndGgp
CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKLSAgICByZXN1bHQudXNlckhhbmRsZSA9
IEFycmF5QnVmZmVyOjpjcmVhdGUodXNlckhhbmRsZUxlbmd0aC52YWx1ZSgpLCBzaXplb2YodWlu
dDhfdCkpOworICAgIGlmICghZGVjb2Rlci50ZW1wbGF0ZSBidWZmZXJJc0xhcmdlRW5vdWdoVG9D
b250YWluPHVpbnQ4X3Q+KHVzZXJIYW5kbGVMZW5ndGgudmFsdWUoKSkpCisgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisgICAgcmVzdWx0LnVzZXJIYW5kbGUgPSBBcnJheUJ1ZmZlcjo6dHJ5
Q3JlYXRlKHVzZXJIYW5kbGVMZW5ndGgudmFsdWUoKSwgc2l6ZW9mKHVpbnQ4X3QpKTsKKyAgICBp
ZiAoIXJlc3VsdC51c2VySGFuZGxlKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAg
IGlmICghZGVjb2Rlci5kZWNvZGVGaXhlZExlbmd0aERhdGEocmVpbnRlcnByZXRfY2FzdDx1aW50
OF90Kj4ocmVzdWx0LnVzZXJIYW5kbGUtPmRhdGEoKSksIHVzZXJIYW5kbGVMZW5ndGgudmFsdWUo
KSwgMSkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393904</attachid>
            <date>2020-03-18 14:30:40 -0700</date>
            <delta_ts>2020-03-18 18:14:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209133-20200319063038.patch</filename>
            <type>text/plain</type>
            <size>7365</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODRkZDIzOTBlZWQzNzI1
NDIxMTEzMTRmYTExNjAzM2FlYmFlYzg5YS4uZWVmZDE4YTBmZGVkYmU5ZDVhMWIyNGNhYzNmODQ4
NGI0NjQ4OWZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAzLTE4ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIEF1dGhlbnRp
Y2F0b3JSZXNwb25zZURhdGE6OmRlY29kZSBzaG91bGQgY2hlY2sgYnVmZmVySXNMYXJnZUVub3Vn
aFRvQ29udGFpbiBiZWZvcmUgYWxsb2NhdGluZyBidWZmZXJzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkxMzMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGVjayBidWZmZXJJc0xhcmdlRW5vdWdoVG9D
b250YWluIHdpdGggdGhlIGRlY29kZWQgc2l6ZSBiZWZvcmUKKyAgICAgICAgYWxsb2NhdGluZyBi
dWZmZXJzLgorCisgICAgICAgIFJlcGxhY2VkIEFycmF5QnVmZmVyOjpjcmVhdGUgd2l0aCBBcnJh
eUJ1ZmZlcjo6dHJ5Q3JlYXRlLCBhbmQKKyAgICAgICAgYWRkZWQgYSBudWxsIGNoZWNrLgorCisg
ICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhLmg6Cisg
ICAgICAgIChXZWJDb3JlOjplbmNvZGVBcnJheUJ1ZmZlcik6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6ZGVjb2RlQXJyYXlCdWZmZXIpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkF1dGhl
bnRpY2F0b3JSZXNwb25zZURhdGE6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpB
dXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhOjpkZWNvZGUpOgorCiAyMDIwLTAzLTE3ICBQaW5raSBH
eWFuY2hhbmRhbmkgIDxwZ3lhbmNoYW5kYW5pQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCBp
biBDU1NQcmltaXRpdmVWYWx1ZTo6Y2xlYW51cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZURhdGEuaAppbmRleCA3
MjA1NWEzMWQwNTI0OTgxY2JiMGNjMjQ3Yjc0Zjc0YTQyNGRiNjEwLi4yOTZlNjc2N2Y1YWQyMjlj
NjQxZDZiMTc5YWNlNjNlMTU3ZmViZDdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZURhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZURhdGEuaApAQCAtNTUs
NiArNTUsMzEgQEAgc3RydWN0IEF1dGhlbnRpY2F0b3JSZXNwb25zZURhdGEgewogICAgIHRlbXBs
YXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxBdXRoZW50aWNhdG9yUmVzcG9uc2VE
YXRhPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK3N0
YXRpYyB2b2lkIGVuY29kZUFycmF5QnVmZmVyKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IEFycmF5
QnVmZmVyJiBidWZmZXIpCit7CisgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4o
YnVmZmVyLmJ5dGVMZW5ndGgoKSk7CisgICAgZW5jb2Rlci5lbmNvZGVGaXhlZExlbmd0aERhdGEo
cmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oYnVmZmVyLmRhdGEoKSksIGJ1ZmZlci5i
eXRlTGVuZ3RoKCksIDEpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorUmVmUHRyPEFy
cmF5QnVmZmVyPiBkZWNvZGVBcnJheUJ1ZmZlcihEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIE9w
dGlvbmFsPHVpbnQ2NF90PiBsZW5ndGg7CisgICAgZGVjb2RlciA+PiBsZW5ndGg7CisgICAgaWYg
KCFsZW5ndGgpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgaWYgKCFkZWNvZGVyLnRl
bXBsYXRlIGJ1ZmZlcklzTGFyZ2VFbm91Z2hUb0NvbnRhaW48dWludDhfdD4obGVuZ3RoLnZhbHVl
KCkpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBhdXRvIGJ1ZmZlciA9IEFycmF5QnVm
ZmVyOjp0cnlDcmVhdGUobGVuZ3RoLnZhbHVlKCksIHNpemVvZih1aW50OF90KSk7CisgICAgaWYg
KCFidWZmZXIpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmICghZGVjb2Rlci5kZWNv
ZGVGaXhlZExlbmd0aERhdGEocmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oYnVmZmVyLT5kYXRh
KCkpLCBsZW5ndGgudmFsdWUoKSwgMSkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJl
dHVybiBidWZmZXI7Cit9CisKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2b2lkIEF1dGhlbnRp
Y2F0b3JSZXNwb25zZURhdGE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewpAQCAt
NjMsMjQgKzg4LDE5IEBAIHZvaWQgQXV0aGVudGljYXRvclJlc3BvbnNlRGF0YTo6ZW5jb2RlKEVu
Y29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgZW5jb2Rl
ciA8PCBmYWxzZTsKLQotICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDY0X3Q+KHJhd0lk
LT5ieXRlTGVuZ3RoKCkpOwotICAgIGVuY29kZXIuZW5jb2RlRml4ZWRMZW5ndGhEYXRhKHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KHJhd0lkLT5kYXRhKCkpLCByYXdJZC0+Ynl0ZUxl
bmd0aCgpLCAxKTsKKyAgICBlbmNvZGVBcnJheUJ1ZmZlcihlbmNvZGVyLCAqcmF3SWQpOwogCiAg
ICAgZW5jb2RlciA8PCBpc0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlOwogCiAgICAg
aWYgKGlzQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UgJiYgYXR0ZXN0YXRpb25PYmpl
Y3QpIHsKLSAgICAgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4oYXR0ZXN0YXRp
b25PYmplY3QtPmJ5dGVMZW5ndGgoKSk7Ci0gICAgICAgIGVuY29kZXIuZW5jb2RlRml4ZWRMZW5n
dGhEYXRhKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGF0dGVzdGF0aW9uT2JqZWN0
LT5kYXRhKCkpLCBhdHRlc3RhdGlvbk9iamVjdC0+Ynl0ZUxlbmd0aCgpLCAxKTsKKyAgICAgICAg
ZW5jb2RlQXJyYXlCdWZmZXIoZW5jb2RlciwgKmF0dGVzdGF0aW9uT2JqZWN0KTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAogICAgIGlmICghYXV0aGVudGljYXRvckRhdGEgfHwgIXNpZ25hdHVy
ZSkKICAgICAgICAgcmV0dXJuOwotICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDY0X3Q+
KGF1dGhlbnRpY2F0b3JEYXRhLT5ieXRlTGVuZ3RoKCkpOwotICAgIGVuY29kZXIuZW5jb2RlRml4
ZWRMZW5ndGhEYXRhKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGF1dGhlbnRpY2F0
b3JEYXRhLT5kYXRhKCkpLCBhdXRoZW50aWNhdG9yRGF0YS0+Ynl0ZUxlbmd0aCgpLCAxKTsKLSAg
ICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ2NF90PihzaWduYXR1cmUtPmJ5dGVMZW5ndGgo
KSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVGaXhlZExlbmd0aERhdGEocmVpbnRlcnByZXRfY2FzdDxj
b25zdCB1aW50OF90Kj4oc2lnbmF0dXJlLT5kYXRhKCkpLCBzaWduYXR1cmUtPmJ5dGVMZW5ndGgo
KSwgMSk7CisgICAgZW5jb2RlQXJyYXlCdWZmZXIoZW5jb2RlciwgKmF1dGhlbnRpY2F0b3JEYXRh
KTsKKyAgICBlbmNvZGVBcnJheUJ1ZmZlcihlbmNvZGVyLCAqc2lnbmF0dXJlKTsKIAogICAgIC8v
IEVuY29kZSBBcHBJRCBiZWZvcmUgdXNlciBoYW5kbGUgdG8gYXZvaWQgdGhlIHVzZXJIYW5kbGUg
ZmxhZy4KICAgICBlbmNvZGVyIDw8IGFwcGlkOwpAQCAtOTAsOCArMTEwLDcgQEAgdm9pZCBBdXRo
ZW50aWNhdG9yUmVzcG9uc2VEYXRhOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KICAgICBlbmNvZGVyIDw8IHRydWU7Ci0gICAgZW5jb2RlciA8
PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4odXNlckhhbmRsZS0+Ynl0ZUxlbmd0aCgpKTsKLSAgICBl
bmNvZGVyLmVuY29kZUZpeGVkTGVuZ3RoRGF0YShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4
X3QqPih1c2VySGFuZGxlLT5kYXRhKCkpLCB1c2VySGFuZGxlLT5ieXRlTGVuZ3RoKCksIDEpOwor
ICAgIGVuY29kZUFycmF5QnVmZmVyKGVuY29kZXIsICp1c2VySGFuZGxlKTsKIH0KIAogdGVtcGxh
dGU8Y2xhc3MgRGVjb2Rlcj4KQEAgLTExMSw4ICsxMzAsOCBAQCBPcHRpb25hbDxBdXRoZW50aWNh
dG9yUmVzcG9uc2VEYXRhPiBBdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhOjpkZWNvZGUoRGVjb2Rl
ciYgZAogICAgIGlmICghcmF3SWRMZW5ndGgpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CiAKLSAgICByZXN1bHQucmF3SWQgPSBBcnJheUJ1ZmZlcjo6Y3JlYXRlKHJhd0lkTGVuZ3RoLnZh
bHVlKCksIHNpemVvZih1aW50OF90KSk7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZUZpeGVkTGVu
Z3RoRGF0YShyZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihyZXN1bHQucmF3SWQtPmRhdGEoKSks
IHJhd0lkTGVuZ3RoLnZhbHVlKCksIDEpKQorICAgIHJlc3VsdC5yYXdJZCA9IGRlY29kZUFycmF5
QnVmZmVyKGRlY29kZXIpOworICAgIGlmICghcmVzdWx0LnJhd0lkKQogICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OwogCiAgICAgT3B0aW9uYWw8Ym9vbD4gaXNBdXRoZW50aWNhdG9yQXR0ZXN0
YXRpb25SZXNwb25zZTsKQEAgLTEyMiwzNCArMTQxLDE4IEBAIE9wdGlvbmFsPEF1dGhlbnRpY2F0
b3JSZXNwb25zZURhdGE+IEF1dGhlbnRpY2F0b3JSZXNwb25zZURhdGE6OmRlY29kZShEZWNvZGVy
JiBkCiAgICAgcmVzdWx0LmlzQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UgPSBpc0F1
dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLnZhbHVlKCk7CiAKICAgICBpZiAocmVzdWx0
LmlzQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UpIHsKLSAgICAgICAgT3B0aW9uYWw8
dWludDY0X3Q+IGF0dGVzdGF0aW9uT2JqZWN0TGVuZ3RoOwotICAgICAgICBkZWNvZGVyID4+IGF0
dGVzdGF0aW9uT2JqZWN0TGVuZ3RoOwotICAgICAgICBpZiAoIWF0dGVzdGF0aW9uT2JqZWN0TGVu
Z3RoKQorICAgICAgICByZXN1bHQuYXR0ZXN0YXRpb25PYmplY3QgPSBkZWNvZGVBcnJheUJ1ZmZl
cihkZWNvZGVyKTsKKyAgICAgICAgaWYgKCFyZXN1bHQuYXR0ZXN0YXRpb25PYmplY3QpCiAgICAg
ICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotCi0gICAgICAgIHJlc3VsdC5hdHRlc3RhdGlv
bk9iamVjdCA9IEFycmF5QnVmZmVyOjpjcmVhdGUoYXR0ZXN0YXRpb25PYmplY3RMZW5ndGgudmFs
dWUoKSwgc2l6ZW9mKHVpbnQ4X3QpKTsKLSAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZUZpeGVk
TGVuZ3RoRGF0YShyZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihyZXN1bHQuYXR0ZXN0YXRpb25P
YmplY3QtPmRhdGEoKSksIGF0dGVzdGF0aW9uT2JqZWN0TGVuZ3RoLnZhbHVlKCksIDEpKQotICAg
ICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQogICAgICAgICByZXR1cm4gcmVzdWx0Owog
ICAgIH0KIAotICAgIE9wdGlvbmFsPHVpbnQ2NF90PiBhdXRoZW50aWNhdG9yRGF0YUxlbmd0aDsK
LSAgICBkZWNvZGVyID4+IGF1dGhlbnRpY2F0b3JEYXRhTGVuZ3RoOwotICAgIGlmICghYXV0aGVu
dGljYXRvckRhdGFMZW5ndGgpCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KLSAgICBy
ZXN1bHQuYXV0aGVudGljYXRvckRhdGEgPSBBcnJheUJ1ZmZlcjo6Y3JlYXRlKGF1dGhlbnRpY2F0
b3JEYXRhTGVuZ3RoLnZhbHVlKCksIHNpemVvZih1aW50OF90KSk7Ci0gICAgaWYgKCFkZWNvZGVy
LmRlY29kZUZpeGVkTGVuZ3RoRGF0YShyZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihyZXN1bHQu
YXV0aGVudGljYXRvckRhdGEtPmRhdGEoKSksIGF1dGhlbnRpY2F0b3JEYXRhTGVuZ3RoLnZhbHVl
KCksIDEpKQorICAgIHJlc3VsdC5hdXRoZW50aWNhdG9yRGF0YSA9IGRlY29kZUFycmF5QnVmZmVy
KGRlY29kZXIpOworICAgIGlmICghcmVzdWx0LmF1dGhlbnRpY2F0b3JEYXRhKQogICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OwogCi0gICAgT3B0aW9uYWw8dWludDY0X3Q+IHNpZ25hdHVyZUxl
bmd0aDsKLSAgICBkZWNvZGVyID4+IHNpZ25hdHVyZUxlbmd0aDsKLSAgICBpZiAoIXNpZ25hdHVy
ZUxlbmd0aCkKLSAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQotICAgIHJlc3VsdC5zaWdu
YXR1cmUgPSBBcnJheUJ1ZmZlcjo6Y3JlYXRlKHNpZ25hdHVyZUxlbmd0aC52YWx1ZSgpLCBzaXpl
b2YodWludDhfdCkpOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGVGaXhlZExlbmd0aERhdGEocmVp
bnRlcnByZXRfY2FzdDx1aW50OF90Kj4ocmVzdWx0LnNpZ25hdHVyZS0+ZGF0YSgpKSwgc2lnbmF0
dXJlTGVuZ3RoLnZhbHVlKCksIDEpKQorICAgIHJlc3VsdC5zaWduYXR1cmUgPSBkZWNvZGVBcnJh
eUJ1ZmZlcihkZWNvZGVyKTsKKyAgICBpZiAoIXJlc3VsdC5zaWduYXR1cmUpCiAgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CiAKICAgICBPcHRpb25hbDxPcHRpb25hbDxib29sPj4gYXBwaWQ7
CkBAIC0xNjUsMTMgKzE2OCw4IEBAIE9wdGlvbmFsPEF1dGhlbnRpY2F0b3JSZXNwb25zZURhdGE+
IEF1dGhlbnRpY2F0b3JSZXNwb25zZURhdGE6OmRlY29kZShEZWNvZGVyJiBkCiAgICAgaWYgKCEq
aGFzVXNlckhhbmRsZSkKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKIAotICAgIE9wdGlvbmFsPHVp
bnQ2NF90PiB1c2VySGFuZGxlTGVuZ3RoOwotICAgIGRlY29kZXIgPj4gdXNlckhhbmRsZUxlbmd0
aDsKLSAgICBpZiAoIXVzZXJIYW5kbGVMZW5ndGgpCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7Ci0KLSAgICByZXN1bHQudXNlckhhbmRsZSA9IEFycmF5QnVmZmVyOjpjcmVhdGUodXNlckhh
bmRsZUxlbmd0aC52YWx1ZSgpLCBzaXplb2YodWludDhfdCkpOwotICAgIGlmICghZGVjb2Rlci5k
ZWNvZGVGaXhlZExlbmd0aERhdGEocmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4ocmVzdWx0LnVz
ZXJIYW5kbGUtPmRhdGEoKSksIHVzZXJIYW5kbGVMZW5ndGgudmFsdWUoKSwgMSkpCisgICAgcmVz
dWx0LnVzZXJIYW5kbGUgPSBkZWNvZGVBcnJheUJ1ZmZlcihkZWNvZGVyKTsKKyAgICBpZiAoIXJl
c3VsdC51c2VySGFuZGxlKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCiAgICAgcmV0
dXJuIHJlc3VsdDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393929</attachid>
            <date>2020-03-18 18:14:51 -0700</date>
            <delta_ts>2020-03-18 20:07:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209133-20200319101450.patch</filename>
            <type>text/plain</type>
            <size>7484</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODRkZDIzOTBlZWQzNzI1
NDIxMTEzMTRmYTExNjAzM2FlYmFlYzg5YS4uZWVmZDE4YTBmZGVkYmU5ZDVhMWIyNGNhYzNmODQ4
NGI0NjQ4OWZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAzLTE4ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIEF1dGhlbnRp
Y2F0b3JSZXNwb25zZURhdGE6OmRlY29kZSBzaG91bGQgY2hlY2sgYnVmZmVySXNMYXJnZUVub3Vn
aFRvQ29udGFpbiBiZWZvcmUgYWxsb2NhdGluZyBidWZmZXJzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkxMzMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGVjayBidWZmZXJJc0xhcmdlRW5vdWdoVG9D
b250YWluIHdpdGggdGhlIGRlY29kZWQgc2l6ZSBiZWZvcmUKKyAgICAgICAgYWxsb2NhdGluZyBi
dWZmZXJzLgorCisgICAgICAgIFJlcGxhY2VkIEFycmF5QnVmZmVyOjpjcmVhdGUgd2l0aCBBcnJh
eUJ1ZmZlcjo6dHJ5Q3JlYXRlLCBhbmQKKyAgICAgICAgYWRkZWQgYSBudWxsIGNoZWNrLgorCisg
ICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhLmg6Cisg
ICAgICAgIChXZWJDb3JlOjplbmNvZGVBcnJheUJ1ZmZlcik6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6ZGVjb2RlQXJyYXlCdWZmZXIpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkF1dGhl
bnRpY2F0b3JSZXNwb25zZURhdGE6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpB
dXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhOjpkZWNvZGUpOgorCiAyMDIwLTAzLTE3ICBQaW5raSBH
eWFuY2hhbmRhbmkgIDxwZ3lhbmNoYW5kYW5pQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCBp
biBDU1NQcmltaXRpdmVWYWx1ZTo6Y2xlYW51cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZURhdGEuaAppbmRleCA3
MjA1NWEzMWQwNTI0OTgxY2JiMGNjMjQ3Yjc0Zjc0YTQyNGRiNjEwLi4yNzY0MmU4YmIyNTQ0Njdl
ZDU1ODI0MTkyODNiNjk3ZjM0NWI2YWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZURhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZURhdGEuaApAQCAtNTUs
NiArNTUsMzEgQEAgc3RydWN0IEF1dGhlbnRpY2F0b3JSZXNwb25zZURhdGEgewogICAgIHRlbXBs
YXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxBdXRoZW50aWNhdG9yUmVzcG9uc2VE
YXRhPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK3N0
YXRpYyB2b2lkIGVuY29kZUFycmF5QnVmZmVyKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IEFycmF5
QnVmZmVyJiBidWZmZXIpCit7CisgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4o
YnVmZmVyLmJ5dGVMZW5ndGgoKSk7CisgICAgZW5jb2Rlci5lbmNvZGVGaXhlZExlbmd0aERhdGEo
cmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oYnVmZmVyLmRhdGEoKSksIGJ1ZmZlci5i
eXRlTGVuZ3RoKCksIDEpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorUmVmUHRyPEFy
cmF5QnVmZmVyPiBkZWNvZGVBcnJheUJ1ZmZlcihEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIE9w
dGlvbmFsPHVpbnQ2NF90PiBsZW5ndGg7CisgICAgZGVjb2RlciA+PiBsZW5ndGg7CisgICAgaWYg
KCFsZW5ndGgpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgaWYgKCFkZWNvZGVyLnRl
bXBsYXRlIGJ1ZmZlcklzTGFyZ2VFbm91Z2hUb0NvbnRhaW48dWludDhfdD4obGVuZ3RoLnZhbHVl
KCkpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBhdXRvIGJ1ZmZlciA9IEFycmF5QnVm
ZmVyOjp0cnlDcmVhdGUobGVuZ3RoLnZhbHVlKCksIHNpemVvZih1aW50OF90KSk7CisgICAgaWYg
KCFidWZmZXIpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmICghZGVjb2Rlci5kZWNv
ZGVGaXhlZExlbmd0aERhdGEocmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oYnVmZmVyLT5kYXRh
KCkpLCBsZW5ndGgudmFsdWUoKSwgMSkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJl
dHVybiBidWZmZXI7Cit9CisKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2b2lkIEF1dGhlbnRp
Y2F0b3JSZXNwb25zZURhdGE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewpAQCAt
NjMsMjQgKzg4LDE5IEBAIHZvaWQgQXV0aGVudGljYXRvclJlc3BvbnNlRGF0YTo6ZW5jb2RlKEVu
Y29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgZW5jb2Rl
ciA8PCBmYWxzZTsKLQotICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDY0X3Q+KHJhd0lk
LT5ieXRlTGVuZ3RoKCkpOwotICAgIGVuY29kZXIuZW5jb2RlRml4ZWRMZW5ndGhEYXRhKHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KHJhd0lkLT5kYXRhKCkpLCByYXdJZC0+Ynl0ZUxl
bmd0aCgpLCAxKTsKKyAgICBlbmNvZGVBcnJheUJ1ZmZlcihlbmNvZGVyLCAqcmF3SWQpOwogCiAg
ICAgZW5jb2RlciA8PCBpc0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlOwogCiAgICAg
aWYgKGlzQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UgJiYgYXR0ZXN0YXRpb25PYmpl
Y3QpIHsKLSAgICAgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4oYXR0ZXN0YXRp
b25PYmplY3QtPmJ5dGVMZW5ndGgoKSk7Ci0gICAgICAgIGVuY29kZXIuZW5jb2RlRml4ZWRMZW5n
dGhEYXRhKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGF0dGVzdGF0aW9uT2JqZWN0
LT5kYXRhKCkpLCBhdHRlc3RhdGlvbk9iamVjdC0+Ynl0ZUxlbmd0aCgpLCAxKTsKKyAgICAgICAg
ZW5jb2RlQXJyYXlCdWZmZXIoZW5jb2RlciwgKmF0dGVzdGF0aW9uT2JqZWN0KTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAogICAgIGlmICghYXV0aGVudGljYXRvckRhdGEgfHwgIXNpZ25hdHVy
ZSkKICAgICAgICAgcmV0dXJuOwotICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDY0X3Q+
KGF1dGhlbnRpY2F0b3JEYXRhLT5ieXRlTGVuZ3RoKCkpOwotICAgIGVuY29kZXIuZW5jb2RlRml4
ZWRMZW5ndGhEYXRhKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGF1dGhlbnRpY2F0
b3JEYXRhLT5kYXRhKCkpLCBhdXRoZW50aWNhdG9yRGF0YS0+Ynl0ZUxlbmd0aCgpLCAxKTsKLSAg
ICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ2NF90PihzaWduYXR1cmUtPmJ5dGVMZW5ndGgo
KSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVGaXhlZExlbmd0aERhdGEocmVpbnRlcnByZXRfY2FzdDxj
b25zdCB1aW50OF90Kj4oc2lnbmF0dXJlLT5kYXRhKCkpLCBzaWduYXR1cmUtPmJ5dGVMZW5ndGgo
KSwgMSk7CisgICAgZW5jb2RlQXJyYXlCdWZmZXIoZW5jb2RlciwgKmF1dGhlbnRpY2F0b3JEYXRh
KTsKKyAgICBlbmNvZGVBcnJheUJ1ZmZlcihlbmNvZGVyLCAqc2lnbmF0dXJlKTsKIAogICAgIC8v
IEVuY29kZSBBcHBJRCBiZWZvcmUgdXNlciBoYW5kbGUgdG8gYXZvaWQgdGhlIHVzZXJIYW5kbGUg
ZmxhZy4KICAgICBlbmNvZGVyIDw8IGFwcGlkOwpAQCAtOTAsOCArMTEwLDcgQEAgdm9pZCBBdXRo
ZW50aWNhdG9yUmVzcG9uc2VEYXRhOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KICAgICBlbmNvZGVyIDw8IHRydWU7Ci0gICAgZW5jb2RlciA8
PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4odXNlckhhbmRsZS0+Ynl0ZUxlbmd0aCgpKTsKLSAgICBl
bmNvZGVyLmVuY29kZUZpeGVkTGVuZ3RoRGF0YShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4
X3QqPih1c2VySGFuZGxlLT5kYXRhKCkpLCB1c2VySGFuZGxlLT5ieXRlTGVuZ3RoKCksIDEpOwor
ICAgIGVuY29kZUFycmF5QnVmZmVyKGVuY29kZXIsICp1c2VySGFuZGxlKTsKIH0KIAogdGVtcGxh
dGU8Y2xhc3MgRGVjb2Rlcj4KQEAgLTEwNiwxMyArMTI1LDggQEAgT3B0aW9uYWw8QXV0aGVudGlj
YXRvclJlc3BvbnNlRGF0YT4gQXV0aGVudGljYXRvclJlc3BvbnNlRGF0YTo6ZGVjb2RlKERlY29k
ZXImIGQKICAgICBpZiAoaXNFbXB0eS52YWx1ZSgpKQogICAgICAgICByZXR1cm4gcmVzdWx0Owog
Ci0gICAgT3B0aW9uYWw8dWludDY0X3Q+IHJhd0lkTGVuZ3RoOwotICAgIGRlY29kZXIgPj4gcmF3
SWRMZW5ndGg7Ci0gICAgaWYgKCFyYXdJZExlbmd0aCkKLSAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKLQotICAgIHJlc3VsdC5yYXdJZCA9IEFycmF5QnVmZmVyOjpjcmVhdGUocmF3SWRMZW5n
dGgudmFsdWUoKSwgc2l6ZW9mKHVpbnQ4X3QpKTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlRml4
ZWRMZW5ndGhEYXRhKHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KHJlc3VsdC5yYXdJZC0+ZGF0
YSgpKSwgcmF3SWRMZW5ndGgudmFsdWUoKSwgMSkpCisgICAgcmVzdWx0LnJhd0lkID0gZGVjb2Rl
QXJyYXlCdWZmZXIoZGVjb2Rlcik7CisgICAgaWYgKCFyZXN1bHQucmF3SWQpCiAgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CiAKICAgICBPcHRpb25hbDxib29sPiBpc0F1dGhlbnRpY2F0b3JB
dHRlc3RhdGlvblJlc3BvbnNlOwpAQCAtMTIyLDM0ICsxMzYsMTggQEAgT3B0aW9uYWw8QXV0aGVu
dGljYXRvclJlc3BvbnNlRGF0YT4gQXV0aGVudGljYXRvclJlc3BvbnNlRGF0YTo6ZGVjb2RlKERl
Y29kZXImIGQKICAgICByZXN1bHQuaXNBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZSA9
IGlzQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UudmFsdWUoKTsKIAogICAgIGlmIChy
ZXN1bHQuaXNBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZSkgewotICAgICAgICBPcHRp
b25hbDx1aW50NjRfdD4gYXR0ZXN0YXRpb25PYmplY3RMZW5ndGg7Ci0gICAgICAgIGRlY29kZXIg
Pj4gYXR0ZXN0YXRpb25PYmplY3RMZW5ndGg7Ci0gICAgICAgIGlmICghYXR0ZXN0YXRpb25PYmpl
Y3RMZW5ndGgpCi0gICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotCi0gICAgICAgIHJl
c3VsdC5hdHRlc3RhdGlvbk9iamVjdCA9IEFycmF5QnVmZmVyOjpjcmVhdGUoYXR0ZXN0YXRpb25P
YmplY3RMZW5ndGgudmFsdWUoKSwgc2l6ZW9mKHVpbnQ4X3QpKTsKLSAgICAgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZUZpeGVkTGVuZ3RoRGF0YShyZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihyZXN1
bHQuYXR0ZXN0YXRpb25PYmplY3QtPmRhdGEoKSksIGF0dGVzdGF0aW9uT2JqZWN0TGVuZ3RoLnZh
bHVlKCksIDEpKQorICAgICAgICByZXN1bHQuYXR0ZXN0YXRpb25PYmplY3QgPSBkZWNvZGVBcnJh
eUJ1ZmZlcihkZWNvZGVyKTsKKyAgICAgICAgaWYgKCFyZXN1bHQuYXR0ZXN0YXRpb25PYmplY3Qp
CiAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotCiAgICAgICAgIHJldHVybiByZXN1
bHQ7CiAgICAgfQogCi0gICAgT3B0aW9uYWw8dWludDY0X3Q+IGF1dGhlbnRpY2F0b3JEYXRhTGVu
Z3RoOwotICAgIGRlY29kZXIgPj4gYXV0aGVudGljYXRvckRhdGFMZW5ndGg7Ci0gICAgaWYgKCFh
dXRoZW50aWNhdG9yRGF0YUxlbmd0aCkKLSAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQot
ICAgIHJlc3VsdC5hdXRoZW50aWNhdG9yRGF0YSA9IEFycmF5QnVmZmVyOjpjcmVhdGUoYXV0aGVu
dGljYXRvckRhdGFMZW5ndGgudmFsdWUoKSwgc2l6ZW9mKHVpbnQ4X3QpKTsKLSAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlRml4ZWRMZW5ndGhEYXRhKHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KHJl
c3VsdC5hdXRoZW50aWNhdG9yRGF0YS0+ZGF0YSgpKSwgYXV0aGVudGljYXRvckRhdGFMZW5ndGgu
dmFsdWUoKSwgMSkpCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KLSAgICBPcHRpb25h
bDx1aW50NjRfdD4gc2lnbmF0dXJlTGVuZ3RoOwotICAgIGRlY29kZXIgPj4gc2lnbmF0dXJlTGVu
Z3RoOwotICAgIGlmICghc2lnbmF0dXJlTGVuZ3RoKQorICAgIHJlc3VsdC5hdXRoZW50aWNhdG9y
RGF0YSA9IGRlY29kZUFycmF5QnVmZmVyKGRlY29kZXIpOworICAgIGlmICghcmVzdWx0LmF1dGhl
bnRpY2F0b3JEYXRhKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCi0gICAgcmVzdWx0
LnNpZ25hdHVyZSA9IEFycmF5QnVmZmVyOjpjcmVhdGUoc2lnbmF0dXJlTGVuZ3RoLnZhbHVlKCks
IHNpemVvZih1aW50OF90KSk7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZUZpeGVkTGVuZ3RoRGF0
YShyZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihyZXN1bHQuc2lnbmF0dXJlLT5kYXRhKCkpLCBz
aWduYXR1cmVMZW5ndGgudmFsdWUoKSwgMSkpCisgICAgcmVzdWx0LnNpZ25hdHVyZSA9IGRlY29k
ZUFycmF5QnVmZmVyKGRlY29kZXIpOworICAgIGlmICghcmVzdWx0LnNpZ25hdHVyZSkKICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAogICAgIE9wdGlvbmFsPE9wdGlvbmFsPGJvb2w+PiBh
cHBpZDsKQEAgLTE2NSwxMyArMTYzLDggQEAgT3B0aW9uYWw8QXV0aGVudGljYXRvclJlc3BvbnNl
RGF0YT4gQXV0aGVudGljYXRvclJlc3BvbnNlRGF0YTo6ZGVjb2RlKERlY29kZXImIGQKICAgICBp
ZiAoISpoYXNVc2VySGFuZGxlKQogICAgICAgICByZXR1cm4gcmVzdWx0OwogCi0gICAgT3B0aW9u
YWw8dWludDY0X3Q+IHVzZXJIYW5kbGVMZW5ndGg7Ci0gICAgZGVjb2RlciA+PiB1c2VySGFuZGxl
TGVuZ3RoOwotICAgIGlmICghdXNlckhhbmRsZUxlbmd0aCkKLSAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKLQotICAgIHJlc3VsdC51c2VySGFuZGxlID0gQXJyYXlCdWZmZXI6OmNyZWF0ZSh1
c2VySGFuZGxlTGVuZ3RoLnZhbHVlKCksIHNpemVvZih1aW50OF90KSk7Ci0gICAgaWYgKCFkZWNv
ZGVyLmRlY29kZUZpeGVkTGVuZ3RoRGF0YShyZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihyZXN1
bHQudXNlckhhbmRsZS0+ZGF0YSgpKSwgdXNlckhhbmRsZUxlbmd0aC52YWx1ZSgpLCAxKSkKKyAg
ICByZXN1bHQudXNlckhhbmRsZSA9IGRlY29kZUFycmF5QnVmZmVyKGRlY29kZXIpOworICAgIGlm
ICghcmVzdWx0LnVzZXJIYW5kbGUpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKICAg
ICByZXR1cm4gcmVzdWx0Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>