<?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>237460</bug_id>
          
          <creation_ts>2022-03-03 20:09:13 -0800</creation_ts>
          <short_desc>[WinCairo] GraphicsContextGL should have one more output texture for double buffering WebGL</short_desc>
          <delta_ts>2022-03-08 00:57:18 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>dino</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zan</cc>
    
    <cc>zdobersek</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1848159</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2022-03-03 20:09:13 -0800</bug_when>
    <thetext>[WinCairo] GraphicsContextGL should have one more output texture for double buffering WebGL

WinCairo&apos;s GraphicsContextGL has only a single output texture now.
The WebGL output can get broken if the page is interactive.
For example, Google Maps is using WebGL for the map.
If a user is drugging the map, the map becomes blank.
https://www.google.com/maps</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848161</commentid>
    <comment_count>1</comment_count>
      <attachid>453808</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2022-03-03 20:19:41 -0800</bug_when>
    <thetext>Created attachment 453808
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848219</commentid>
    <comment_count>2</comment_count>
      <attachid>453808</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-04 02:41:33 -0800</bug_when>
    <thetext>Comment on attachment 453808
Patch

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

&gt; Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:393
&gt; +#define BACKING(backing) backing

FWIW, to me it would appear that the USE(COORDINATED_GRAPHICS) and !USE(COORDINATED_GRAPHICS) do not share that much in common.
Maybe it would make senes to just have two different functions or at least two different function contents, and just write the code linearly.
The BACKING macro and invoking it with sometimes undefined variable name looks very confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848602</commentid>
    <comment_count>3</comment_count>
      <attachid>453808</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2022-03-06 12:43:58 -0800</bug_when>
    <thetext>Comment on attachment 453808
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:393
&gt;&gt; +#define BACKING(backing) backing
&gt; 
&gt; FWIW, to me it would appear that the USE(COORDINATED_GRAPHICS) and !USE(COORDINATED_GRAPHICS) do not share that much in common.
&gt; Maybe it would make senes to just have two different functions or at least two different function contents, and just write the code linearly.
&gt; The BACKING macro and invoking it with sometimes undefined variable name looks very confusing.

Thank you for the comment.
But, I don&apos;t think they are doing different things.
!USE(COORDINATED_GRAPHICS) resizes two textures while USE(COORDINATED_GRAPHICS) resizes three textures or sets backings.
And, they are sharing other code, for example initializing and finalizing m_compositorTexture.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848710</commentid>
    <comment_count>4</comment_count>
      <attachid>453808</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-03-07 06:12:58 -0800</bug_when>
    <thetext>Comment on attachment 453808
Patch

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

&gt; Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:554
&gt; -#if USE(COORDINATED_GRAPHICS)
&gt; +#if !PLATFORM(COCOA)

What if you use `USE(TEXTURE_MAPPER) || USE(COORDINATED_GRAPHICS)` along with guarding the extra swaps, like you&apos;ve done below?

&gt;&gt;&gt; Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:393
&gt;&gt;&gt; +#define BACKING(backing) backing
&gt;&gt; 
&gt;&gt; FWIW, to me it would appear that the USE(COORDINATED_GRAPHICS) and !USE(COORDINATED_GRAPHICS) do not share that much in common.
&gt;&gt; Maybe it would make senes to just have two different functions or at least two different function contents, and just write the code linearly.
&gt;&gt; The BACKING macro and invoking it with sometimes undefined variable name looks very confusing.
&gt; 
&gt; Thank you for the comment.
&gt; But, I don&apos;t think they are doing different things.
&gt; !USE(COORDINATED_GRAPHICS) resizes two textures while USE(COORDINATED_GRAPHICS) resizes three textures or sets backings.
&gt; And, they are sharing other code, for example initializing and finalizing m_compositorTexture.

It&apos;s hard to grasp what&apos;s going on here, and it&apos;s going to change soon for USE(COORDINATED_GRAPHICS) anyway.

Better duplicate the code for now in something like the following block:
```
#if USE(COORDINATED_GRAPHICS)
...
#elif USE(TEXTURE_MAPPER)
...
#endif
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848906</commentid>
    <comment_count>5</comment_count>
      <attachid>453808</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2022-03-07 12:56:06 -0800</bug_when>
    <thetext>Comment on attachment 453808
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:554
&gt;&gt; +#if !PLATFORM(COCOA)
&gt; 
&gt; What if you use `USE(TEXTURE_MAPPER) || USE(COORDINATED_GRAPHICS)` along with guarding the extra swaps, like you&apos;ve done below?

Got it. I will revise. But, if I change here, I have to change the macro for m_compositorTexture definition in GraphicsContextGLANGLE.h for the consistency.

&gt;&gt;&gt;&gt; Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:393
&gt;&gt;&gt;&gt; +#define BACKING(backing) backing
&gt;&gt;&gt; 
&gt;&gt;&gt; FWIW, to me it would appear that the USE(COORDINATED_GRAPHICS) and !USE(COORDINATED_GRAPHICS) do not share that much in common.
&gt;&gt;&gt; Maybe it would make senes to just have two different functions or at least two different function contents, and just write the code linearly.
&gt;&gt;&gt; The BACKING macro and invoking it with sometimes undefined variable name looks very confusing.
&gt;&gt; 
&gt;&gt; Thank you for the comment.
&gt;&gt; But, I don&apos;t think they are doing different things.
&gt;&gt; !USE(COORDINATED_GRAPHICS) resizes two textures while USE(COORDINATED_GRAPHICS) resizes three textures or sets backings.
&gt;&gt; And, they are sharing other code, for example initializing and finalizing m_compositorTexture.
&gt; 
&gt; It&apos;s hard to grasp what&apos;s going on here, and it&apos;s going to change soon for USE(COORDINATED_GRAPHICS) anyway.
&gt; 
&gt; Better duplicate the code for now in something like the following block:
&gt; ```
&gt; #if USE(COORDINATED_GRAPHICS)
&gt; ...
&gt; #elif USE(TEXTURE_MAPPER)
&gt; ...
&gt; #endif
&gt; ```

Got it. I will revise with duplicating approach. But, I thiknk USE(TEXTURE_MAPPER)) isn&apos;t needed here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848916</commentid>
    <comment_count>6</comment_count>
      <attachid>454020</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2022-03-07 13:07:21 -0800</bug_when>
    <thetext>Created attachment 454020
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849118</commentid>
    <comment_count>7</comment_count>
      <attachid>454020</attachid>
    <who name="Zan Dobersek (Reviews)">zdobersek</who>
    <bug_when>2022-03-07 23:30:32 -0800</bug_when>
    <thetext>Comment on attachment 454020
Patch

Awesome, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849119</commentid>
    <comment_count>8</comment_count>
      <attachid>454020</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2022-03-07 23:32:12 -0800</bug_when>
    <thetext>Comment on attachment 454020
Patch

Thank you for the review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849144</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-08 00:56:58 -0800</bug_when>
    <thetext>Committed r290980 (248158@main): &lt;https://commits.webkit.org/248158@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 454020.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849145</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-08 00:57:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/89954884&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453808</attachid>
            <date>2022-03-03 20:19:41 -0800</date>
            <delta_ts>2022-03-07 13:07:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237460-20220304131940.patch</filename>
            <type>text/plain</type>
            <size>9914</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwNzQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTFmNWYwNGUzZTAyNGUy
NzlhNDdhOTcwNWZjOWM5Y2Q4YjYwZWJmNC4uYmU1YzA1ZjI4M2Q0ZjAxMDdhY2NlOWJkNmVlYzUy
NDQzZDEwMDUwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIyLTAzLTAzICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFtXaW5DYWly
b10gR3JhcGhpY3NDb250ZXh0R0wgc2hvdWxkIGhhdmUgb25lIG1vcmUgb3V0cHV0IHRleHR1cmUg
Zm9yIGRvdWJsZSBidWZmZXJpbmcgV2ViR0wKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzNzQ2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdpbkNhaXJvJ3MgR3JhcGhpY3NDb250ZXh0R0wgaGFkIG9ubHkg
YSBzaW5nbGUgb3V0cHV0IHRleHR1cmUuIElmIHRoZQorICAgICAgICBwYWdlIHdhcyBpbnRlcmFj
dGl2ZSBXZWJHTCwgdGhlIHVzZXIgaW50ZXJhY3Rpb24gd2FzIGNhdXNpbmcgdGhlCisgICAgICAg
IHJlbmRlcmluZyB0byB0aGUgdGV4dHVyZSB3aGlsZSB0aGUgY29tcG9zaXRvciBpcyBydW5uaW5n
LgorCisgICAgICAgIENvb3JkaW5hdGVkIEdyYXBoaWNzIGhhcyBhbm90aGVyIG91dHB1dCB0ZXh0
dXJlIG1fY29tcG9zaXRvclRleHR1cmUuCisgICAgICAgIFRoaXMgY2hhbmdlIHJldXNlcyB0aGUg
Y29kZSBmb3IgV2luQ2Fpcm8uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9H
cmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dEdMQU5HTEU6OnByZXBhcmVUZXh0dXJlSW1wbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXI6OnBsYXRm
b3JtSW5pdGlhbGl6ZSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTEFOR0xF
Ojp+R3JhcGhpY3NDb250ZXh0R0xBTkdMRSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHRHTFRleHR1cmVNYXBwZXI6OnJlc2hhcGVEaXNwbGF5QnVmZmVyQmFja2luZyk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHQ0dMUGxhdGZvcm1M
YXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyR0NHTFBsYXRmb3JtTGF5
ZXI6OnBhaW50VG9UZXh0dXJlTWFwcGVyKToKKwogMjAyMi0wMy0wMiAgQW50b2luZSBRdWludCAg
PGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbd2ViLWFuaW1hdGlvbnNdIHNldHRpbmcg
dGhlIGNvbXBvc2l0ZSBwcm9wZXJ0eSBvbiBhIGtleWZyYW1lIGVmZmVjdCBzaG91bGQgaW52YWxp
ZGF0ZSB0aGUgdGFyZ2V0IHN0eWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwCmlu
ZGV4IDBjMzk0OTc1ZjJlNjBlYzdjZmRhMzg0YjEzODI2ZDA1MWY4MzFkYjYuLjg0YzcwOWUxNzJk
NTMzMjM4NzQxOGU3ZTZjZWRiZjE2MTY4ZWMwNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdM
QU5HTEUuY3BwCkBAIC01NTEsMTEgKzU1MSwxMyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dEdMQU5H
TEU6OnByZXBhcmVUZXh0dXJlSW1wbCgpCiAgICAgaWYgKGNvbnRleHRBdHRyaWJ1dGVzKCkuYW50
aWFsaWFzKQogICAgICAgICByZXNvbHZlTXVsdGlzYW1wbGluZ0lmTmVjZXNzYXJ5KCk7CiAKLSNp
ZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCisjaWYgIVBMQVRGT1JNKENPQ09BKQogICAgIHN0
ZDo6c3dhcChtX3RleHR1cmUsIG1fY29tcG9zaXRvclRleHR1cmUpOworI2lmIFVTRShDT09SRElO
QVRFRF9HUkFQSElDUykKICAgICBzdGQ6OnN3YXAobV90ZXh0dXJlLCBtX2ludGVybWVkaWF0ZVRl
eHR1cmUpOwogICAgIHN0ZDo6c3dhcChtX3RleHR1cmVCYWNraW5nLCBtX2NvbXBvc2l0b3JUZXh0
dXJlQmFja2luZyk7CiAgICAgc3RkOjpzd2FwKG1fdGV4dHVyZUJhY2tpbmcsIG1faW50ZXJtZWRp
YXRlVGV4dHVyZUJhY2tpbmcpOworI2VuZGlmCiAKICAgICBHTF9CaW5kRnJhbWVidWZmZXIoR0xf
RlJBTUVCVUZGRVIsIG1fZmJvKTsKICAgICBHTF9GcmFtZWJ1ZmZlclRleHR1cmUyRChHTF9GUkFN
RUJVRkZFUiwgR0xfQ09MT1JfQVRUQUNITUVOVDAsIGRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0
KCksIG1fdGV4dHVyZSwgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmgKaW5kZXggZGMw
YzEzMWU0MThjNTU1YWIwY2JjYTdkMDFlZGUxYWIyN2IzYWIzMy4uNjA0OWI1NjA0MDlmMGQxYmY0
ZWUzZDEwNjE5MjdlZDkzM2JhNzZhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuaApA
QCAtNDU3LDExICs0NTcsMTIgQEAgcHJvdGVjdGVkOgogICAgIC8vIFdoZW4gcHJlc2VydmVEcmF3
aW5nQnVmZmVyID09IHRydWUsIHRoaXMgaXMgYmxpdHRlZCB0byBkdXJpbmcgZGlzcGxheSBwcmVw
YXJlLgogICAgIHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZhY2U+IG1fZGlzcGxheUJ1ZmZlckJhY2tp
bmc7CiAgICAgdm9pZCogbV9kaXNwbGF5QnVmZmVyUGJ1ZmZlciB7IG51bGxwdHIgfTsKLSNlbmRp
ZgotI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKKyNlbHNlCiAgICAgR0NHTHVpbnQgbV9j
b21wb3NpdG9yVGV4dHVyZSB7IDAgfTsKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAg
ICAgR0NHTHVpbnQgbV9pbnRlcm1lZGlhdGVUZXh0dXJlIHsgMCB9OwogI2VuZGlmCisjZW5kaWYK
ICNpZiBVU0UoTklDT1NJQSkKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Tmljb3NpYTo6R0NHTEFOR0xF
TGF5ZXI+IG1fbmljb3NpYUxheWVyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyQU5HTEUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29u
dGV4dEdMVGV4dHVyZU1hcHBlckFOR0xFLmNwcAppbmRleCA1NjUxNTRhODY5Yzg4NTU2YTdjOTA4
ZWZiODc5NjZiNmZiNTAzYzRkLi44Y2MyZmVhZmRkY2MyZTE2YmJjMGE5ZTg3M2ZhNmQ4NmVjMGFk
NGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
R3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyQU5HTEUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBw
ZXJBTkdMRS5jcHAKQEAgLTE5OCw3ICsxOTgsNiBAQCBib29sIEdyYXBoaWNzQ29udGV4dEdMVGV4
dHVyZU1hcHBlcjo6cGxhdGZvcm1Jbml0aWFsaXplKCkKICAgICBHTF9HZW5GcmFtZWJ1ZmZlcnMo
MSwgJm1fZmJvKTsKICAgICBHTF9CaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIG1fZmJv
KTsKIAotI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICBHTF9HZW5UZXh0dXJlcygx
LCAmbV9jb21wb3NpdG9yVGV4dHVyZSk7CiAgICAgR0xfQmluZFRleHR1cmUodGV4dHVyZVRhcmdl
dCwgbV9jb21wb3NpdG9yVGV4dHVyZSk7CiAgICAgR0xfVGV4UGFyYW1ldGVyZih0ZXh0dXJlVGFy
Z2V0LCBHTF9URVhUVVJFX01BR19GSUxURVIsIEdMX0xJTkVBUik7CkBAIC0yMDYsNiArMjA1LDcg
QEAgYm9vbCBHcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXI6OnBsYXRmb3JtSW5pdGlhbGl6
ZSgpCiAgICAgR0xfVGV4UGFyYW1ldGVyaSh0ZXh0dXJlVGFyZ2V0LCBHTF9URVhUVVJFX1dSQVBf
UywgR0xfQ0xBTVBfVE9fRURHRSk7CiAgICAgR0xfVGV4UGFyYW1ldGVyaSh0ZXh0dXJlVGFyZ2V0
LCBHTF9URVhUVVJFX1dSQVBfVCwgR0xfQ0xBTVBfVE9fRURHRSk7CiAKKyNpZiBVU0UoQ09PUkRJ
TkFURURfR1JBUEhJQ1MpCiAgICAgR0xfR2VuVGV4dHVyZXMoMSwgJm1faW50ZXJtZWRpYXRlVGV4
dHVyZSk7CiAgICAgR0xfQmluZFRleHR1cmUodGV4dHVyZVRhcmdldCwgbV9pbnRlcm1lZGlhdGVU
ZXh0dXJlKTsKICAgICBHTF9UZXhQYXJhbWV0ZXJmKHRleHR1cmVUYXJnZXQsIEdMX1RFWFRVUkVf
TUFHX0ZJTFRFUiwgR0xfTElORUFSKTsKQEAgLTMyMywxMCArMzIzLDggQEAgR3JhcGhpY3NDb250
ZXh0R0xBTkdMRTo6fkdyYXBoaWNzQ29udGV4dEdMQU5HTEUoKQogICAgIEFTU0VSVF9VTlVTRUQo
c3VjY2Vzcywgc3VjY2Vzcyk7CiAgICAgaWYgKG1fdGV4dHVyZSkKICAgICAgICAgR0xfRGVsZXRl
VGV4dHVyZXMoMSwgJm1fdGV4dHVyZSk7Ci0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQog
ICAgIGlmIChtX2NvbXBvc2l0b3JUZXh0dXJlKQogICAgICAgICBHTF9EZWxldGVUZXh0dXJlcygx
LCAmbV9jb21wb3NpdG9yVGV4dHVyZSk7Ci0jZW5kaWYKIAogICAgIGF1dG8gYXR0cmlidXRlcyA9
IGNvbnRleHRBdHRyaWJ1dGVzKCk7CiAKQEAgLTM5MSwzMiArMzg5LDMzIEBAIGJvb2wgR3JhcGhp
Y3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyOjpyZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcoKQog
ICAgICAgICBtX2NvbXBvc2l0b3JUZXh0dXJlQmFja2luZy0+cmVzZXQod2lkdGgsIGhlaWdodCwg
YXR0cnMuYWxwaGEpOwogICAgIGlmIChtX2ludGVybWVkaWF0ZVRleHR1cmVCYWNraW5nKQogICAg
ICAgICBtX2ludGVybWVkaWF0ZVRleHR1cmVCYWNraW5nLT5yZXNldCh3aWR0aCwgaGVpZ2h0LCBh
dHRycy5hbHBoYSk7CisKKyNkZWZpbmUgQkFDS0lORyhiYWNraW5nKSBiYWNraW5nCisjZWxzZQor
I2RlZmluZSBCQUNLSU5HKGJhY2tpbmcpIDAKICNlbmRpZgogCi0gICAgU2NvcGVkUmVzdG9yZVRl
eHR1cmVCaW5kaW5nIHJlc3RvcmVCaW5kaW5nKGRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0UXVl
cnlGb3JEcmF3aW5nVGFyZ2V0KHRleHR1cmVUYXJnZXQpLCB0ZXh0dXJlVGFyZ2V0LCB0ZXh0dXJl
VGFyZ2V0ICE9IFRFWFRVUkVfUkVDVEFOR0xFX0FSQik7CisgICAgYXV0byByZXNpemUgPSBbJl0o
YXV0byB0ZXh0dXJlLCBhdXRvJiYgYmFja2luZykgeworICAgICAgICBHTF9CaW5kVGV4dHVyZSh0
ZXh0dXJlVGFyZ2V0LCB0ZXh0dXJlKTsKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCi0g
ICAgaWYgKG1fY29tcG9zaXRvclRleHR1cmUpIHsKLSAgICAgICAgR0xfQmluZFRleHR1cmUodGV4
dHVyZVRhcmdldCwgbV9jb21wb3NpdG9yVGV4dHVyZSk7Ci0gICAgICAgIGlmIChtX2NvbXBvc2l0
b3JUZXh0dXJlQmFja2luZyAmJiBtX2NvbXBvc2l0b3JUZXh0dXJlQmFja2luZy0+aW1hZ2UoKSkK
LSAgICAgICAgICAgIEdMX0VHTEltYWdlVGFyZ2V0VGV4dHVyZTJET0VTKHRleHR1cmVUYXJnZXQs
IG1fY29tcG9zaXRvclRleHR1cmVCYWNraW5nLT5pbWFnZSgpKTsKLSAgICAgICAgZWxzZQotICAg
ICAgICAgICAgR0xfVGV4SW1hZ2UyRCh0ZXh0dXJlVGFyZ2V0LCAwLCBpbnRlcm5hbENvbG9yRm9y
bWF0LCB3aWR0aCwgaGVpZ2h0LCAwLCBjb2xvckZvcm1hdCwgR0xfVU5TSUdORURfQllURSwgMCk7
Ci0gICAgICAgIEdMX0JpbmRUZXh0dXJlKHRleHR1cmVUYXJnZXQsIG1faW50ZXJtZWRpYXRlVGV4
dHVyZSk7Ci0gICAgICAgIGlmIChtX2ludGVybWVkaWF0ZVRleHR1cmVCYWNraW5nICYmIG1faW50
ZXJtZWRpYXRlVGV4dHVyZUJhY2tpbmctPmltYWdlKCkpCi0gICAgICAgICAgICBHTF9FR0xJbWFn
ZVRhcmdldFRleHR1cmUyRE9FUyh0ZXh0dXJlVGFyZ2V0LCBtX2ludGVybWVkaWF0ZVRleHR1cmVC
YWNraW5nLT5pbWFnZSgpKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgR0xfVGV4SW1hZ2Uy
RCh0ZXh0dXJlVGFyZ2V0LCAwLCBpbnRlcm5hbENvbG9yRm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCAw
LCBjb2xvckZvcm1hdCwgR0xfVU5TSUdORURfQllURSwgMCk7Ci0gICAgfQorICAgICAgICBpZiAo
YmFja2luZyAmJiBiYWNraW5nLT5pbWFnZSgpKSB7CisgICAgICAgICAgICBHTF9FR0xJbWFnZVRh
cmdldFRleHR1cmUyRE9FUyh0ZXh0dXJlVGFyZ2V0LCBiYWNraW5nLT5pbWFnZSgpKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQogI2VuZGlmCi0gICAgR0xfQmluZFRleHR1cmUodGV4
dHVyZVRhcmdldCwgbV90ZXh0dXJlKTsKKyAgICAgICAgR0xfVGV4SW1hZ2UyRCh0ZXh0dXJlVGFy
Z2V0LCAwLCBpbnRlcm5hbENvbG9yRm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCAwLCBjb2xvckZvcm1h
dCwgR0xfVU5TSUdORURfQllURSwgMCk7CisgICAgfTsKKworICAgIFNjb3BlZFJlc3RvcmVUZXh0
dXJlQmluZGluZyByZXN0b3JlQmluZGluZyhkcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldFF1ZXJ5
Rm9yRHJhd2luZ1RhcmdldCh0ZXh0dXJlVGFyZ2V0KSwgdGV4dHVyZVRhcmdldCwgdGV4dHVyZVRh
cmdldCAhPSBURVhUVVJFX1JFQ1RBTkdMRV9BUkIpOworICAgIGlmIChtX2NvbXBvc2l0b3JUZXh0
dXJlKSB7CisgICAgICAgIHJlc2l6ZShtX2NvbXBvc2l0b3JUZXh0dXJlLCBCQUNLSU5HKG1fY29t
cG9zaXRvclRleHR1cmVCYWNraW5nKSk7CiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQot
ICAgIGlmIChtX3RleHR1cmVCYWNraW5nICYmIG1fdGV4dHVyZUJhY2tpbmctPmltYWdlKCkpCi0g
ICAgICAgIEdMX0VHTEltYWdlVGFyZ2V0VGV4dHVyZTJET0VTKHRleHR1cmVUYXJnZXQsIG1fdGV4
dHVyZUJhY2tpbmctPmltYWdlKCkpOwotICAgIGVsc2UKKyAgICAgICAgcmVzaXplKG1faW50ZXJt
ZWRpYXRlVGV4dHVyZSwgQkFDS0lORyhtX2ludGVybWVkaWF0ZVRleHR1cmVCYWNraW5nKSk7CiAj
ZW5kaWYKLSAgICBHTF9UZXhJbWFnZTJEKHRleHR1cmVUYXJnZXQsIDAsIGludGVybmFsQ29sb3JG
b3JtYXQsIHdpZHRoLCBoZWlnaHQsIDAsIGNvbG9yRm9ybWF0LCBHTF9VTlNJR05FRF9CWVRFLCAw
KTsKKyAgICB9CisgICAgcmVzaXplKG1fdGV4dHVyZSwgQkFDS0lORyhtX3RleHR1cmVCYWNraW5n
KSk7CiAgICAgR0xfRnJhbWVidWZmZXJUZXh0dXJlMkQoR0xfRlJBTUVCVUZGRVIsIEdMX0NPTE9S
X0FUVEFDSE1FTlQwLCB0ZXh0dXJlVGFyZ2V0LCBtX3RleHR1cmUsIDApOwotCisjdW5kZWYgQkFD
S0lORwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdDR0xQbGF0Zm9ybUxheWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
R0NHTFBsYXRmb3JtTGF5ZXIuY3BwCmluZGV4IDBlMTlkOGM3YjViMDFmZDhkZjY4OTZkY2ZkMjE1
MTI2Y2E4MjczMmIuLjM5NzUyZTFjYmM2ZTRmNjJiNTVkNWU4NzQ0Y2M3NTlkNjE3ODIyYzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJl
TWFwcGVyR0NHTFBsYXRmb3JtTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0NHTFBsYXRmb3JtTGF5ZXIuY3BwCkBAIC00
NSwyNyArNDUsMjAgQEAgVGV4dHVyZU1hcHBlckdDR0xQbGF0Zm9ybUxheWVyOjp+VGV4dHVyZU1h
cHBlckdDR0xQbGF0Zm9ybUxheWVyKCkKIAogdm9pZCBUZXh0dXJlTWFwcGVyR0NHTFBsYXRmb3Jt
TGF5ZXI6OnBhaW50VG9UZXh0dXJlTWFwcGVyKFRleHR1cmVNYXBwZXImIHRleHR1cmVNYXBwZXIs
IGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgm
IG1hdHJpeCwgZmxvYXQgb3BhY2l0eSkKIHsKLSAgICBtX2NvbnRleHQubWFya0xheWVyQ29tcG9z
aXRlZCgpOwotCi0jaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKQotICAgIGF1dG8gYXR0cnMgPSBt
X2NvbnRleHQuY29udGV4dEF0dHJpYnV0ZXMoKTsKLSAgICBBU1NFUlQobV9jb250ZXh0Lm1fc3Rh
dGUuYm91bmRSZWFkRkJPID09IG1fY29udGV4dC5tX3N0YXRlLmJvdW5kRHJhd0ZCTyk7Ci0gICAg
aWYgKGF0dHJzLmFudGlhbGlhcyAmJiBtX2NvbnRleHQubV9zdGF0ZS5ib3VuZERyYXdGQk8gPT0g
bV9jb250ZXh0Lm1fbXVsdGlzYW1wbGVGQk8pIHsKLSAgICAgICAgR0xDb250ZXh0KiBwcmV2aW91
c0FjdGl2ZUNvbnRleHQgPSBHTENvbnRleHQ6OmN1cnJlbnQoKTsKLSAgICAgICAgbV9jb250ZXh0
Lm1ha2VDb250ZXh0Q3VycmVudCgpOworICAgIEdMQ29udGV4dCogcHJldmlvdXNBY3RpdmVDb250
ZXh0ID0gR0xDb250ZXh0OjpjdXJyZW50KCk7CiAKLSAgICAgICAgbV9jb250ZXh0LnJlc29sdmVN
dWx0aXNhbXBsaW5nSWZOZWNlc3NhcnkoKTsKLSAgICAgICAgR0xfQmluZEZyYW1lYnVmZmVyKEdM
X0ZSQU1FQlVGRkVSLCBtX2NvbnRleHQubV9zdGF0ZS5ib3VuZERyYXdGQk8pOworICAgIG1fY29u
dGV4dC5wcmVwYXJlVGV4dHVyZSgpOwogCi0gICAgICAgIGlmIChwcmV2aW91c0FjdGl2ZUNvbnRl
eHQpCi0gICAgICAgICAgICBwcmV2aW91c0FjdGl2ZUNvbnRleHQtPm1ha2VDb250ZXh0Q3VycmVu
dCgpOwotICAgIH0KKyAgICBpZiAocHJldmlvdXNBY3RpdmVDb250ZXh0KQorICAgICAgICBwcmV2
aW91c0FjdGl2ZUNvbnRleHQtPm1ha2VDb250ZXh0Q3VycmVudCgpOwogCisgICAgYXV0byBhdHRy
cyA9IG1fY29udGV4dC5jb250ZXh0QXR0cmlidXRlcygpOwogICAgIFRleHR1cmVNYXBwZXJHTCYg
dGV4bWFwR0wgPSBzdGF0aWNfY2FzdDxUZXh0dXJlTWFwcGVyR0wmPih0ZXh0dXJlTWFwcGVyKTsK
ICAgICBUZXh0dXJlTWFwcGVyR0w6OkZsYWdzIGZsYWdzID0gVGV4dHVyZU1hcHBlckdMOjpTaG91
bGRGbGlwVGV4dHVyZSB8IChhdHRycy5hbHBoYSA/IFRleHR1cmVNYXBwZXJHTDo6U2hvdWxkQmxl
bmQgOiAwKTsKICAgICBJbnRTaXplIHRleHR1cmVTaXplKG1fY29udGV4dC5tX2N1cnJlbnRXaWR0
aCwgbV9jb250ZXh0Lm1fY3VycmVudEhlaWdodCk7Ci0gICAgdGV4bWFwR0wuZHJhd1RleHR1cmUo
bV9jb250ZXh0Lm1fdGV4dHVyZSwgZmxhZ3MsIHRleHR1cmVTaXplLCB0YXJnZXRSZWN0LCBtYXRy
aXgsIG9wYWNpdHkpOwotI2VuZGlmIC8vIFVTRShURVhUVVJFX01BUFBFUl9HTCkKKyAgICB0ZXht
YXBHTC5kcmF3VGV4dHVyZShtX2NvbnRleHQubV9jb21wb3NpdG9yVGV4dHVyZSwgZmxhZ3MsIHRl
eHR1cmVTaXplLCB0YXJnZXRSZWN0LCBtYXRyaXgsIG9wYWNpdHkpOworCisgICAgbV9jb250ZXh0
Lm1hcmtMYXllckNvbXBvc2l0ZWQoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454020</attachid>
            <date>2022-03-07 13:07:21 -0800</date>
            <delta_ts>2022-03-08 00:57:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237460-20220308060720.patch</filename>
            <type>text/plain</type>
            <size>8355</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwNzQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTFmNWYwNGUzZTAyNGUy
NzlhNDdhOTcwNWZjOWM5Y2Q4YjYwZWJmNC4uYmU1YzA1ZjI4M2Q0ZjAxMDdhY2NlOWJkNmVlYzUy
NDQzZDEwMDUwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIyLTAzLTAzICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFtXaW5DYWly
b10gR3JhcGhpY3NDb250ZXh0R0wgc2hvdWxkIGhhdmUgb25lIG1vcmUgb3V0cHV0IHRleHR1cmUg
Zm9yIGRvdWJsZSBidWZmZXJpbmcgV2ViR0wKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzNzQ2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdpbkNhaXJvJ3MgR3JhcGhpY3NDb250ZXh0R0wgaGFkIG9ubHkg
YSBzaW5nbGUgb3V0cHV0IHRleHR1cmUuIElmIHRoZQorICAgICAgICBwYWdlIHdhcyBpbnRlcmFj
dGl2ZSBXZWJHTCwgdGhlIHVzZXIgaW50ZXJhY3Rpb24gd2FzIGNhdXNpbmcgdGhlCisgICAgICAg
IHJlbmRlcmluZyB0byB0aGUgdGV4dHVyZSB3aGlsZSB0aGUgY29tcG9zaXRvciBpcyBydW5uaW5n
LgorCisgICAgICAgIENvb3JkaW5hdGVkIEdyYXBoaWNzIGhhcyBhbm90aGVyIG91dHB1dCB0ZXh0
dXJlIG1fY29tcG9zaXRvclRleHR1cmUuCisgICAgICAgIFRoaXMgY2hhbmdlIHJldXNlcyB0aGUg
Y29kZSBmb3IgV2luQ2Fpcm8uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9H
cmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dEdMQU5HTEU6OnByZXBhcmVUZXh0dXJlSW1wbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXI6OnBsYXRm
b3JtSW5pdGlhbGl6ZSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTEFOR0xF
Ojp+R3JhcGhpY3NDb250ZXh0R0xBTkdMRSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHRHTFRleHR1cmVNYXBwZXI6OnJlc2hhcGVEaXNwbGF5QnVmZmVyQmFja2luZyk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHQ0dMUGxhdGZvcm1M
YXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyR0NHTFBsYXRmb3JtTGF5
ZXI6OnBhaW50VG9UZXh0dXJlTWFwcGVyKToKKwogMjAyMi0wMy0wMiAgQW50b2luZSBRdWludCAg
PGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbd2ViLWFuaW1hdGlvbnNdIHNldHRpbmcg
dGhlIGNvbXBvc2l0ZSBwcm9wZXJ0eSBvbiBhIGtleWZyYW1lIGVmZmVjdCBzaG91bGQgaW52YWxp
ZGF0ZSB0aGUgdGFyZ2V0IHN0eWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwCmlu
ZGV4IDBjMzk0OTc1ZjJlNjBlYzdjZmRhMzg0YjEzODI2ZDA1MWY4MzFkYjYuLmZiODNjZWM0NTdm
MmNmYmQ1N2U1NDFlYjhhMGEyNmNhOGI2NmU0MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdM
QU5HTEUuY3BwCkBAIC01NTEsMTEgKzU1MSwxMyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dEdMQU5H
TEU6OnByZXBhcmVUZXh0dXJlSW1wbCgpCiAgICAgaWYgKGNvbnRleHRBdHRyaWJ1dGVzKCkuYW50
aWFsaWFzKQogICAgICAgICByZXNvbHZlTXVsdGlzYW1wbGluZ0lmTmVjZXNzYXJ5KCk7CiAKLSNp
ZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCisjaWYgVVNFKFRFWFRVUkVfTUFQUEVSKQogICAg
IHN0ZDo6c3dhcChtX3RleHR1cmUsIG1fY29tcG9zaXRvclRleHR1cmUpOworI2lmIFVTRShDT09S
RElOQVRFRF9HUkFQSElDUykKICAgICBzdGQ6OnN3YXAobV90ZXh0dXJlLCBtX2ludGVybWVkaWF0
ZVRleHR1cmUpOwogICAgIHN0ZDo6c3dhcChtX3RleHR1cmVCYWNraW5nLCBtX2NvbXBvc2l0b3JU
ZXh0dXJlQmFja2luZyk7CiAgICAgc3RkOjpzd2FwKG1fdGV4dHVyZUJhY2tpbmcsIG1faW50ZXJt
ZWRpYXRlVGV4dHVyZUJhY2tpbmcpOworI2VuZGlmCiAKICAgICBHTF9CaW5kRnJhbWVidWZmZXIo
R0xfRlJBTUVCVUZGRVIsIG1fZmJvKTsKICAgICBHTF9GcmFtZWJ1ZmZlclRleHR1cmUyRChHTF9G
UkFNRUJVRkZFUiwgR0xfQ09MT1JfQVRUQUNITUVOVDAsIGRyYXdpbmdCdWZmZXJUZXh0dXJlVGFy
Z2V0KCksIG1fdGV4dHVyZSwgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmgKaW5kZXgg
ZGMwYzEzMWU0MThjNTU1YWIwY2JjYTdkMDFlZGUxYWIyN2IzYWIzMy4uNzk1MWJhZDEwYmViYzVk
MzI4Y2I1MjE1NmI0OGVhYzhhZjQ1ZDI4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUu
aApAQCAtNDU3LDExICs0NTcsMTIgQEAgcHJvdGVjdGVkOgogICAgIC8vIFdoZW4gcHJlc2VydmVE
cmF3aW5nQnVmZmVyID09IHRydWUsIHRoaXMgaXMgYmxpdHRlZCB0byBkdXJpbmcgZGlzcGxheSBw
cmVwYXJlLgogICAgIHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZhY2U+IG1fZGlzcGxheUJ1ZmZlckJh
Y2tpbmc7CiAgICAgdm9pZCogbV9kaXNwbGF5QnVmZmVyUGJ1ZmZlciB7IG51bGxwdHIgfTsKLSNl
bmRpZgotI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKKyNlbGlmIFVTRShURVhUVVJFX01B
UFBFUikKICAgICBHQ0dMdWludCBtX2NvbXBvc2l0b3JUZXh0dXJlIHsgMCB9OworI2lmIFVTRShD
T09SRElOQVRFRF9HUkFQSElDUykKICAgICBHQ0dMdWludCBtX2ludGVybWVkaWF0ZVRleHR1cmUg
eyAwIH07CiAjZW5kaWYKKyNlbmRpZgogI2lmIFVTRShOSUNPU0lBKQogICAgIHN0ZDo6dW5pcXVl
X3B0cjxOaWNvc2lhOjpHQ0dMQU5HTEVMYXllcj4gbV9uaWNvc2lhTGF5ZXI7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0NvbnRl
eHRHTFRleHR1cmVNYXBwZXJBTkdMRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvR3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyQU5HTEUuY3BwCmluZGV4
IDU2NTE1NGE4NjljODg1NTZhN2M5MDhlZmI4Nzk2NmI2ZmI1MDNjNGQuLmNiNThiNTAwYTYwM2U5
Y2I3MzMwZjcwMzg1N2I4NmE5NDgwODcyMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdM
RS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBo
aWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlckFOR0xFLmNwcApAQCAtMTk4LDcgKzE5OCw2IEBAIGJv
b2wgR3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyOjpwbGF0Zm9ybUluaXRpYWxpemUoKQog
ICAgIEdMX0dlbkZyYW1lYnVmZmVycygxLCAmbV9mYm8pOwogICAgIEdMX0JpbmRGcmFtZWJ1ZmZl
cihHTF9GUkFNRUJVRkZFUiwgbV9mYm8pOwogCi0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNT
KQogICAgIEdMX0dlblRleHR1cmVzKDEsICZtX2NvbXBvc2l0b3JUZXh0dXJlKTsKICAgICBHTF9C
aW5kVGV4dHVyZSh0ZXh0dXJlVGFyZ2V0LCBtX2NvbXBvc2l0b3JUZXh0dXJlKTsKICAgICBHTF9U
ZXhQYXJhbWV0ZXJmKHRleHR1cmVUYXJnZXQsIEdMX1RFWFRVUkVfTUFHX0ZJTFRFUiwgR0xfTElO
RUFSKTsKQEAgLTIwNiw2ICsyMDUsNyBAQCBib29sIEdyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1h
cHBlcjo6cGxhdGZvcm1Jbml0aWFsaXplKCkKICAgICBHTF9UZXhQYXJhbWV0ZXJpKHRleHR1cmVU
YXJnZXQsIEdMX1RFWFRVUkVfV1JBUF9TLCBHTF9DTEFNUF9UT19FREdFKTsKICAgICBHTF9UZXhQ
YXJhbWV0ZXJpKHRleHR1cmVUYXJnZXQsIEdMX1RFWFRVUkVfV1JBUF9ULCBHTF9DTEFNUF9UT19F
REdFKTsKIAorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICBHTF9HZW5UZXh0dXJl
cygxLCAmbV9pbnRlcm1lZGlhdGVUZXh0dXJlKTsKICAgICBHTF9CaW5kVGV4dHVyZSh0ZXh0dXJl
VGFyZ2V0LCBtX2ludGVybWVkaWF0ZVRleHR1cmUpOwogICAgIEdMX1RleFBhcmFtZXRlcmYodGV4
dHVyZVRhcmdldCwgR0xfVEVYVFVSRV9NQUdfRklMVEVSLCBHTF9MSU5FQVIpOwpAQCAtMzIzLDEw
ICszMjMsOCBAQCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjp+R3JhcGhpY3NDb250ZXh0R0xBTkdM
RSgpCiAgICAgQVNTRVJUX1VOVVNFRChzdWNjZXNzLCBzdWNjZXNzKTsKICAgICBpZiAobV90ZXh0
dXJlKQogICAgICAgICBHTF9EZWxldGVUZXh0dXJlcygxLCAmbV90ZXh0dXJlKTsKLSNpZiBVU0Uo
Q09PUkRJTkFURURfR1JBUEhJQ1MpCiAgICAgaWYgKG1fY29tcG9zaXRvclRleHR1cmUpCiAgICAg
ICAgIEdMX0RlbGV0ZVRleHR1cmVzKDEsICZtX2NvbXBvc2l0b3JUZXh0dXJlKTsKLSNlbmRpZgog
CiAgICAgYXV0byBhdHRyaWJ1dGVzID0gY29udGV4dEF0dHJpYnV0ZXMoKTsKIApAQCAtNDA3LDE0
ICs0MDUsMTcgQEAgYm9vbCBHcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXI6OnJlc2hhcGVE
aXNwbGF5QnVmZmVyQmFja2luZygpCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIEdMX1RleElt
YWdlMkQodGV4dHVyZVRhcmdldCwgMCwgaW50ZXJuYWxDb2xvckZvcm1hdCwgd2lkdGgsIGhlaWdo
dCwgMCwgY29sb3JGb3JtYXQsIEdMX1VOU0lHTkVEX0JZVEUsIDApOwogICAgIH0KLSNlbmRpZgog
ICAgIEdMX0JpbmRUZXh0dXJlKHRleHR1cmVUYXJnZXQsIG1fdGV4dHVyZSk7Ci0jaWYgVVNFKENP
T1JESU5BVEVEX0dSQVBISUNTKQogICAgIGlmIChtX3RleHR1cmVCYWNraW5nICYmIG1fdGV4dHVy
ZUJhY2tpbmctPmltYWdlKCkpCiAgICAgICAgIEdMX0VHTEltYWdlVGFyZ2V0VGV4dHVyZTJET0VT
KHRleHR1cmVUYXJnZXQsIG1fdGV4dHVyZUJhY2tpbmctPmltYWdlKCkpOwogICAgIGVsc2UKLSNl
bmRpZgorICAgICAgICBHTF9UZXhJbWFnZTJEKHRleHR1cmVUYXJnZXQsIDAsIGludGVybmFsQ29s
b3JGb3JtYXQsIHdpZHRoLCBoZWlnaHQsIDAsIGNvbG9yRm9ybWF0LCBHTF9VTlNJR05FRF9CWVRF
LCAwKTsKKyNlbHNlCisgICAgR0xfQmluZFRleHR1cmUodGV4dHVyZVRhcmdldCwgbV9jb21wb3Np
dG9yVGV4dHVyZSk7CiAgICAgR0xfVGV4SW1hZ2UyRCh0ZXh0dXJlVGFyZ2V0LCAwLCBpbnRlcm5h
bENvbG9yRm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCAwLCBjb2xvckZvcm1hdCwgR0xfVU5TSUdORURf
QllURSwgMCk7CisgICAgR0xfQmluZFRleHR1cmUodGV4dHVyZVRhcmdldCwgbV90ZXh0dXJlKTsK
KyAgICBHTF9UZXhJbWFnZTJEKHRleHR1cmVUYXJnZXQsIDAsIGludGVybmFsQ29sb3JGb3JtYXQs
IHdpZHRoLCBoZWlnaHQsIDAsIGNvbG9yRm9ybWF0LCBHTF9VTlNJR05FRF9CWVRFLCAwKTsKKyNl
bmRpZgogICAgIEdMX0ZyYW1lYnVmZmVyVGV4dHVyZTJEKEdMX0ZSQU1FQlVGRkVSLCBHTF9DT0xP
Ul9BVFRBQ0hNRU5UMCwgdGV4dHVyZVRhcmdldCwgbV90ZXh0dXJlLCAwKTsKIAogICAgIHJldHVy
biB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL1RleHR1cmVNYXBwZXJHQ0dMUGxhdGZvcm1MYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdDR0xQbGF0Zm9ybUxheWVyLmNw
cAppbmRleCAwZTE5ZDhjN2I1YjAxZmQ4ZGY2ODk2ZGNmZDIxNTEyNmNhODI3MzJiLi4zOTc1MmUx
Y2JjNmU0ZjYyYjU1ZDVlODc0NGNjNzU5ZDYxNzgyMmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdDR0xQbGF0Zm9ybUxh
eWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4
dHVyZU1hcHBlckdDR0xQbGF0Zm9ybUxheWVyLmNwcApAQCAtNDUsMjcgKzQ1LDIwIEBAIFRleHR1
cmVNYXBwZXJHQ0dMUGxhdGZvcm1MYXllcjo6flRleHR1cmVNYXBwZXJHQ0dMUGxhdGZvcm1MYXll
cigpCiAKIHZvaWQgVGV4dHVyZU1hcHBlckdDR0xQbGF0Zm9ybUxheWVyOjpwYWludFRvVGV4dHVy
ZU1hcHBlcihUZXh0dXJlTWFwcGVyJiB0ZXh0dXJlTWFwcGVyLCBjb25zdCBGbG9hdFJlY3QmIHRh
cmdldFJlY3QsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyaXgsIGZsb2F0IG9wYWNp
dHkpCiB7Ci0gICAgbV9jb250ZXh0Lm1hcmtMYXllckNvbXBvc2l0ZWQoKTsKLQotI2lmIFVTRShU
RVhUVVJFX01BUFBFUl9HTCkKLSAgICBhdXRvIGF0dHJzID0gbV9jb250ZXh0LmNvbnRleHRBdHRy
aWJ1dGVzKCk7Ci0gICAgQVNTRVJUKG1fY29udGV4dC5tX3N0YXRlLmJvdW5kUmVhZEZCTyA9PSBt
X2NvbnRleHQubV9zdGF0ZS5ib3VuZERyYXdGQk8pOwotICAgIGlmIChhdHRycy5hbnRpYWxpYXMg
JiYgbV9jb250ZXh0Lm1fc3RhdGUuYm91bmREcmF3RkJPID09IG1fY29udGV4dC5tX211bHRpc2Ft
cGxlRkJPKSB7Ci0gICAgICAgIEdMQ29udGV4dCogcHJldmlvdXNBY3RpdmVDb250ZXh0ID0gR0xD
b250ZXh0OjpjdXJyZW50KCk7Ci0gICAgICAgIG1fY29udGV4dC5tYWtlQ29udGV4dEN1cnJlbnQo
KTsKKyAgICBHTENvbnRleHQqIHByZXZpb3VzQWN0aXZlQ29udGV4dCA9IEdMQ29udGV4dDo6Y3Vy
cmVudCgpOwogCi0gICAgICAgIG1fY29udGV4dC5yZXNvbHZlTXVsdGlzYW1wbGluZ0lmTmVjZXNz
YXJ5KCk7Ci0gICAgICAgIEdMX0JpbmRGcmFtZWJ1ZmZlcihHTF9GUkFNRUJVRkZFUiwgbV9jb250
ZXh0Lm1fc3RhdGUuYm91bmREcmF3RkJPKTsKKyAgICBtX2NvbnRleHQucHJlcGFyZVRleHR1cmUo
KTsKIAotICAgICAgICBpZiAocHJldmlvdXNBY3RpdmVDb250ZXh0KQotICAgICAgICAgICAgcHJl
dmlvdXNBY3RpdmVDb250ZXh0LT5tYWtlQ29udGV4dEN1cnJlbnQoKTsKLSAgICB9CisgICAgaWYg
KHByZXZpb3VzQWN0aXZlQ29udGV4dCkKKyAgICAgICAgcHJldmlvdXNBY3RpdmVDb250ZXh0LT5t
YWtlQ29udGV4dEN1cnJlbnQoKTsKIAorICAgIGF1dG8gYXR0cnMgPSBtX2NvbnRleHQuY29udGV4
dEF0dHJpYnV0ZXMoKTsKICAgICBUZXh0dXJlTWFwcGVyR0wmIHRleG1hcEdMID0gc3RhdGljX2Nh
c3Q8VGV4dHVyZU1hcHBlckdMJj4odGV4dHVyZU1hcHBlcik7CiAgICAgVGV4dHVyZU1hcHBlckdM
OjpGbGFncyBmbGFncyA9IFRleHR1cmVNYXBwZXJHTDo6U2hvdWxkRmxpcFRleHR1cmUgfCAoYXR0
cnMuYWxwaGEgPyBUZXh0dXJlTWFwcGVyR0w6OlNob3VsZEJsZW5kIDogMCk7CiAgICAgSW50U2l6
ZSB0ZXh0dXJlU2l6ZShtX2NvbnRleHQubV9jdXJyZW50V2lkdGgsIG1fY29udGV4dC5tX2N1cnJl
bnRIZWlnaHQpOwotICAgIHRleG1hcEdMLmRyYXdUZXh0dXJlKG1fY29udGV4dC5tX3RleHR1cmUs
IGZsYWdzLCB0ZXh0dXJlU2l6ZSwgdGFyZ2V0UmVjdCwgbWF0cml4LCBvcGFjaXR5KTsKLSNlbmRp
ZiAvLyBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCisgICAgdGV4bWFwR0wuZHJhd1RleHR1cmUobV9j
b250ZXh0Lm1fY29tcG9zaXRvclRleHR1cmUsIGZsYWdzLCB0ZXh0dXJlU2l6ZSwgdGFyZ2V0UmVj
dCwgbWF0cml4LCBvcGFjaXR5KTsKKworICAgIG1fY29udGV4dC5tYXJrTGF5ZXJDb21wb3NpdGVk
KCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
      

    </bug>

</bugzilla>