<?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>224683</bug_id>
          
          <creation_ts>2021-04-16 11:09:16 -0700</creation_ts>
          <short_desc>[macOS] Add some support for webpage translation in WebKitLegacy</short_desc>
          <delta_ts>2021-04-17 21:25:09 -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>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>
          <dependson>224680</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>aestes</cc>
    
    <cc>bdakin</cc>
    
    <cc>darin</cc>
    
    <cc>hi</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1751163</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-16 11:09:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/75641882&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751209</commentid>
    <comment_count>1</comment_count>
      <attachid>426262</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-16 13:19:26 -0700</bug_when>
    <thetext>Created attachment 426262
Blocked on #224680</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751223</commentid>
    <comment_count>2</comment_count>
      <attachid>426269</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-16 13:45:48 -0700</bug_when>
    <thetext>Created attachment 426269
Blocked on #224680</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751315</commentid>
    <comment_count>3</comment_count>
      <attachid>426269</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-16 16:17:42 -0700</bug_when>
    <thetext>Comment on attachment 426269
Blocked on #224680

(This is still blocked on the other bug — I&apos;m going to retry all EWS once it&apos;s able to apply)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751330</commentid>
    <comment_count>4</comment_count>
      <attachid>426295</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-16 17:20:39 -0700</bug_when>
    <thetext>Created attachment 426295
Fix iOS 14/Big Sur builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751344</commentid>
    <comment_count>5</comment_count>
      <attachid>426299</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-16 17:44:12 -0700</bug_when>
    <thetext>Created attachment 426299
Fix iOS 14/Big Sur builds (2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751512</commentid>
    <comment_count>6</comment_count>
      <attachid>426299</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-17 18:04:39 -0700</bug_when>
    <thetext>Comment on attachment 426299
Fix iOS 14/Big Sur builds (2)

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

&gt; Source/WebKitLegacy/mac/WebView/WebView.mm:9652
&gt; +    auto textToTranslate = adoptNS([[NSAttributedString alloc] initWithString:text]);

We don’t need this local variable. Could just merge this line with the next.

&gt; Source/WebKitLegacy/mac/WebView/WebView.mm:9655
&gt; +        [translationViewController setPreferredContentSize:NSMakeSize(400, 400)];

Hardcoded magic size without comment is not great.

&gt; Source/WebKitLegacy/mac/WebView/WebView.mm:9670
&gt; +    if (aim == highlight)

Seems wrong to ever compare two floating point values and expect them to be exactly equal. Seems to me this should be some other kind of check, perhaps a check that the absolute value is one pixel or more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751520</commentid>
    <comment_count>7</comment_count>
      <attachid>426299</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-17 20:01:34 -0700</bug_when>
    <thetext>Comment on attachment 426299
Fix iOS 14/Big Sur builds (2)

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

&gt;&gt; Source/WebKitLegacy/mac/WebView/WebView.mm:9670
&gt;&gt; +    if (aim == highlight)
&gt; 
&gt; Seems wrong to ever compare two floating point values and expect them to be exactly equal. Seems to me this should be some other kind of check, perhaps a check that the absolute value is one pixel or more.

Over some threshold. Not sure &quot;1 pixel&quot; is quite right. I don’t really understand the preferred edge heuristic, which is probably why I can’t make a good suggestion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751531</commentid>
    <comment_count>8</comment_count>
      <attachid>426299</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-17 20:26:28 -0700</bug_when>
    <thetext>Comment on attachment 426299
Fix iOS 14/Big Sur builds (2)

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

Thanks for the review!

&gt;&gt; Source/WebKitLegacy/mac/WebView/WebView.mm:9652
&gt;&gt; +    auto textToTranslate = adoptNS([[NSAttributedString alloc] initWithString:text]);
&gt; 
&gt; We don’t need this local variable. Could just merge this line with the next.

Fixed!

&gt;&gt; Source/WebKitLegacy/mac/WebView/WebView.mm:9655
&gt;&gt; +        [translationViewController setPreferredContentSize:NSMakeSize(400, 400)];
&gt; 
&gt; Hardcoded magic size without comment is not great.

Oh, this reminded me that on recent builds of macOS, this fallback size should no longer be necessary. I removed these two lines.

&gt;&gt;&gt; Source/WebKitLegacy/mac/WebView/WebView.mm:9670
&gt;&gt;&gt; +    if (aim == highlight)
&gt;&gt; 
&gt;&gt; Seems wrong to ever compare two floating point values and expect them to be exactly equal. Seems to me this should be some other kind of check, perhaps a check that the absolute value is one pixel or more.
&gt; 
&gt; Over some threshold. Not sure &quot;1 pixel&quot; is quite right. I don’t really understand the preferred edge heuristic, which is probably why I can’t make a good suggestion.

So I actually took this part directly from the Reveal framework&apos;s logic for setting up and presenting `LTUITranslationViewController`. I believe the intent here is to consult the `userInterfaceLayoutDirection` as a sort of tiebreaker in the case where the menu location is exactly in the middle of the bounding rect of the selection, but in practice, it&apos;s pretty unlikely that we&apos;ll end up in this codepath.

I&apos;ll change this to use `areEssentiallyEqual` instead, since that&apos;s what we generally use to (sensibly) compare floating point values elsewhere in WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751534</commentid>
    <comment_count>9</comment_count>
      <attachid>426299</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-17 20:34:34 -0700</bug_when>
    <thetext>Comment on attachment 426299
Fix iOS 14/Big Sur builds (2)

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

&gt;&gt;&gt;&gt; Source/WebKitLegacy/mac/WebView/WebView.mm:9670
&gt;&gt;&gt;&gt; +    if (aim == highlight)
&gt;&gt;&gt; 
&gt;&gt;&gt; Seems wrong to ever compare two floating point values and expect them to be exactly equal. Seems to me this should be some other kind of check, perhaps a check that the absolute value is one pixel or more.
&gt;&gt; 
&gt;&gt; Over some threshold. Not sure &quot;1 pixel&quot; is quite right. I don’t really understand the preferred edge heuristic, which is probably why I can’t make a good suggestion.
&gt; 
&gt; So I actually took this part directly from the Reveal framework&apos;s logic for setting up and presenting `LTUITranslationViewController`. I believe the intent here is to consult the `userInterfaceLayoutDirection` as a sort of tiebreaker in the case where the menu location is exactly in the middle of the bounding rect of the selection, but in practice, it&apos;s pretty unlikely that we&apos;ll end up in this codepath.
&gt; 
&gt; I&apos;ll change this to use `areEssentiallyEqual` instead, since that&apos;s what we generally use to (sensibly) compare floating point values elsewhere in WebKit.

That’s OK, and better but it’s still not logical, even though the Reveal framework does it. Obviously we want to share the same logic as the rest of the OS, so it’s not important to do better and would be best to match as well as we can, ideally sharing the code.

A tie breaker used when a person happens to click super-precisely seems obviously wrong, not logical. The saving grace, I suppose, is that as you say it’s so unlikely that it’s nearly irrelevant. This is essentially dead code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751542</commentid>
    <comment_count>10</comment_count>
      <attachid>426365</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-17 20:51:57 -0700</bug_when>
    <thetext>Created attachment 426365
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751554</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-17 21:25:07 -0700</bug_when>
    <thetext>Committed r276220 (236702@main): &lt;https://commits.webkit.org/236702@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 426365.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426262</attachid>
            <date>2021-04-16 13:19:26 -0700</date>
            <delta_ts>2021-04-16 13:45:46 -0700</delta_ts>
            <desc>Blocked on #224680</desc>
            <filename>bug-224683-20210416131925.patch</filename>
            <type>text/plain</type>
            <size>7414</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5k
ZXggM2U3ODlhYzA2MGI4YzI0MjU3ZmQxY2NkMzgyMTg0YmE2YWJiNjcxNi4uZDI1N2E3NThkYzMy
ZjhiMGUwYjE1NGJjYTlkYjA1NDZjYzE3YzExYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTA0LTE2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gQWRkIHNvbWUgc3VwcG9ydCBmb3Igd2Vi
cGFnZSB0cmFuc2xhdGlvbiBpbiBXZWJLaXRMZWdhY3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDY4MworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NzU2NDE4ODI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIHN1cHBvcnQgZm9yIHRoZSB3ZWJwYWdlIHRyYW5zbGF0aW9uIGNvbnRleHQgbWVudSBp
dGVtIGluIFdlYktpdExlZ2FjeS4gU2VlIGJlbG93IGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAg
ICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm1tOgorICAgICAgICAodG9BY3Rpb24pOgorICAgICAg
ICAodG9UYWcpOgorCisgICAgICAgIEludHJvZHVjZSB0aGUgKFdlYktpdC1pbnRlcm5hbC1vbmx5
KSBgV2ViTWVudUl0ZW1UYWdUcmFuc2xhdGVgIGVudW0gdmFsdWUsIGFuZCB1c2UgaXQgYXMgdGhl
IHRhZyB2YWx1ZSB3aGVuCisgICAgICAgIGNyZWF0aW5nIGFuIGBOU01lbnVJdGVtYCBmb3IgdGhl
IFRyYW5zbGF0ZSBhY3Rpb24uCisKKyAgICAgICAgKGNyZWF0ZU1lbnVJdGVtKToKKyAgICAgICAg
KiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgrW1dlYlZpZXcgX2NhbkhhbmRsZUNvbnRl
eHRNZW51VHJhbnNsYXRpb25dKToKKworICAgICAgICBTb2Z0bGluayBhZ2FpbnN0IGFuZCBjaGVj
ayB3aXRoIGBUcmFuc2xhdGlvblVJU2VydmljZXNgIHRvIHNlZSBpZiB3ZSBzaG91bGQgYmUgc2hv
d2luZyB0aGUgVHJhbnNsYXRlIG1lbnUgaXRlbS4KKworICAgICAgICAoLVtXZWJWaWV3IF9oYW5k
bGVDb250ZXh0TWVudVRyYW5zbGF0aW9uOnNlbGVjdGlvbkJvdW5kczptZW51TG9jYXRpb246XSk6
CisKKyAgICAgICAgSGFuZGxlIHRoZSBtZW51IGFjdGlvbiBieSBjcmVhdGluZyBhbmQgcHJlc2Vu
dGluZyBhIG5ldyBgTFRVSVRyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXJgIHVzaW5nIHRoZSBnaXZl
bgorICAgICAgICBpbmZvcm1hdGlvbi4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlld0ludGVy
bmFsLmg6CisKIDIwMjEtMDQtMTYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5j
b20+CiAKICAgICAgICAgW21hY09TXSBSZWZhY3RvciBzb21lIHdlYnBhZ2UgdHJhbnNsYXRpb24g
Y29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1M
Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0K
aW5kZXggMmI4YTI4MjBmODA5YjhhYjM5NWY2NmZkODA4ZjdhZDA4ZGVkM2FkMy4uNTk1NDdjYjAz
YmExOTcwODQ1YThmM2UzZDczNTMyNmFjOTNmZGNkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCkBAIC0yNDIsNiArMjQyLDEzIEBAIEBlbmQK
IHVzaW5nIFdlYkV2ZW50ID0gTlNFdmVudDsKIGNvbnN0IGF1dG8gV2ViRXZlbnRNb3VzZURvd24g
PSBOU0V2ZW50VHlwZUxlZnRNb3VzZURvd247CiAKKyNkZWZpbmUgV0VCTUVOVUlURU1UQUdfV0VC
S0lUX0lOVEVSTkFMX1NUQVJUIChXZWJNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRW5oYW5jZWRGdWxs
c2NyZWVuICsgMSkKK2VudW0geworICAgIC8vIEluIGxpZXUgb2YgZXhwb3NpbmcgdGhlc2UgYXMg
bmV3IFdlYktpdExlZ2FjeSBTUEksIGp1c3QgZGVmaW5lIHRoZW0gaW50ZXJuYWxseQorICAgIC8v
IChzdGFydGluZyBmcm9tIHRoZSBsYXN0IHByaXZhdGVseS1leHBvc2VkIGNvbnRleHQgbWVudSBp
dGVtIHRhZykuCisgICAgV2ViTWVudUl0ZW1UYWdUcmFuc2xhdGUsCit9OworCiBAaW50ZXJmYWNl
IFdlYk1lbnVUYXJnZXQgOiBOU09iamVjdCB7CiAgICAgTmFrZWRQdHI8V2ViQ29yZTo6Q29udGV4
dE1lbnVDb250cm9sbGVyPiBfbWVudUNvbnRyb2xsZXI7CiB9CkBAIC00MjYsNiArNDMzLDggQEAg
c3RhdGljIE9wdGlvbmFsPFdlYkNvcmU6OkNvbnRleHRNZW51QWN0aW9uPiB0b0FjdGlvbihOU0lu
dGVnZXIgdGFnKQogICAgICAgICByZXR1cm4gQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlOwog
ICAgIGNhc2UgV2ViTWVudUl0ZW1UYWdEaWN0YXRpb25BbHRlcm5hdGl2ZToKICAgICAgICAgcmV0
dXJuIENvbnRleHRNZW51SXRlbVRhZ0RpY3RhdGlvbkFsdGVybmF0aXZlOworICAgIGNhc2UgV2Vi
TWVudUl0ZW1UYWdUcmFuc2xhdGU6CisgICAgICAgIHJldHVybiBDb250ZXh0TWVudUl0ZW1UYWdU
cmFuc2xhdGU7CiAgICAgfQogICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiB9CkBAIC02MTQsOCAr
NjIzLDkgQEAgc3RhdGljIE9wdGlvbmFsPE5TSW50ZWdlcj4gdG9UYWcoV2ViQ29yZTo6Q29udGV4
dE1lbnVBY3Rpb24gYWN0aW9uKQogICAgICAgICByZXR1cm4gV2ViTWVudUl0ZW1UYWdTaGFyZU1l
bnU7CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0VuaGFuY2VkRnVsbHNj
cmVlbjoKICAgICAgICAgcmV0dXJuIFdlYk1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9FbmhhbmNlZEZ1
bGxzY3JlZW47Ci0gICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdSZXZlYWxJbWFnZToKICAgICBj
YXNlIENvbnRleHRNZW51SXRlbVRhZ1RyYW5zbGF0ZToKKyAgICAgICAgcmV0dXJuIFdlYk1lbnVJ
dGVtVGFnVHJhbnNsYXRlOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnUmV2ZWFsSW1hZ2U6
CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKICAgICBjYXNlIENvbnRleHRNZW51SXRl
bUJhc2VDdXN0b21UYWcgLi4uIENvbnRleHRNZW51SXRlbUxhc3RDdXN0b21UYWc6CkBAIC0zNjMy
LDYgKzM2NDIsOSBAQCBzdGF0aWMgUmV0YWluUHRyPE5TTXV0YWJsZUFycmF5PiBjcmVhdGVNZW51
SXRlbXMoY29uc3QgV2ViQ29yZTo6SGl0VGVzdFJlc3VsdCYgaAogCiBzdGF0aWMgUmV0YWluUHRy
PE5TTWVudUl0ZW0+IGNyZWF0ZU1lbnVJdGVtKGNvbnN0IFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQm
IGhpdFRlc3RSZXN1bHQsIGNvbnN0IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbSYgaXRlbSkKIHsK
KyAgICBpZiAoaXRlbS5hY3Rpb24oKSA9PSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUcmFu
c2xhdGUgJiYgIVdlYlZpZXcuX2NhbkhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24pCisgICAg
ICAgIHJldHVybiBuaWw7CisKICAgICBpZiAoaXRlbS5hY3Rpb24oKSA9PSBXZWJDb3JlOjpDb250
ZXh0TWVudUl0ZW1UYWdTaGFyZU1lbnUpCiAgICAgICAgIHJldHVybiBjcmVhdGVTaGFyZU1lbnVJ
dGVtKGhpdFRlc3RSZXN1bHQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KaW5kZXggYjRiNTU0YTliMDNhNTJlZTY4MDA1YzJmMzY0YjJiYzdlODYyOTM0MS4u
YzY0OGM5ZDg4MzU4ZTQ0MDYzMzU3Y2RiYzQ4ZTVkMTc1NzEwMDUwYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMzQ5LDYgKzM0OSwxMyBAQAogI2lt
cG9ydCA8V2ViQ29yZS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oPgogI2VuZGlm
CiAKKyNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKQorI2ltcG9ydCA8VHJhbnNsYXRp
b25VSVNlcnZpY2VzL0xUVUlUcmFuc2xhdGlvblZpZXdDb250cm9sbGVyLmg+CisKK1NPRlRfTElO
S19QUklWQVRFX0ZSQU1FV09SS19PUFRJT05BTChUcmFuc2xhdGlvblVJU2VydmljZXMpCitTT0ZU
X0xJTktfQ0xBU1NfT1BUSU9OQUwoVHJhbnNsYXRpb25VSVNlcnZpY2VzLCBMVFVJVHJhbnNsYXRp
b25WaWV3Q29udHJvbGxlcikKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNp
bXBvcnQgPFVJS2l0L1VJQ29sb3IuaD4KICNpbXBvcnQgPFVJS2l0L1VJSW1hZ2UuaD4KQEAgLTk2
MjksMTIgKzk2MzYsNDMgQEAgLSAodm9pZClfY2xvc2VXaW5kb3cKIAogI2lmIEhBVkUoVFJBTlNM
QVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhUX01FTlVTKQogCisrIChCT09MKV9j
YW5IYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uCit7CisgICAgcmV0dXJuIFRyYW5zbGF0aW9u
VUlTZXJ2aWNlc0xpYnJhcnkoKSAmJiBbZ2V0TFRVSVRyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXJD
bGFzcygpIGlzQXZhaWxhYmxlXTsKK30KKwogLSAodm9pZClfaGFuZGxlQ29udGV4dE1lbnVUcmFu
c2xhdGlvbjooY29uc3QgU3RyaW5nJil0ZXh0IHNlbGVjdGlvbkJvdW5kczooY29uc3QgV2ViQ29y
ZTo6SW50UmVjdCYpc2VsZWN0aW9uQm91bmRzSW5Sb290VmlldyBtZW51TG9jYXRpb246KGNvbnN0
IFdlYkNvcmU6OkludFBvaW50Jilsb2NhdGlvbkluUm9vdFZpZXcKIHsKLSAgICAvLyBGSVhNRSAo
MjI0NjgzKTogTm90IGltcGxlbWVudGVkIHlldC4KLSAgICBVTlVTRURfUEFSQU0odGV4dCk7Ci0g
ICAgVU5VU0VEX1BBUkFNKHNlbGVjdGlvbkJvdW5kc0luUm9vdFZpZXcpOwotICAgIFVOVVNFRF9Q
QVJBTShsb2NhdGlvbkluUm9vdFZpZXcpOworICAgIGlmICghV2ViVmlldy5fY2FuSGFuZGxlQ29u
dGV4dE1lbnVUcmFuc2xhdGlvbikgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gdHJhbnNsYXRpb25WaWV3Q29udHJvbGxl
ciA9IGFkb3B0TlMoW2FsbG9jTFRVSVRyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXJJbnN0YW5jZSgp
IGluaXRdKTsKKyAgICBhdXRvIHRleHRUb1RyYW5zbGF0ZSA9IGFkb3B0TlMoW1tOU0F0dHJpYnV0
ZWRTdHJpbmcgYWxsb2NdIGluaXRXaXRoU3RyaW5nOnRleHRdKTsKKyAgICBbdHJhbnNsYXRpb25W
aWV3Q29udHJvbGxlciBzZXRUZXh0OnRleHRUb1RyYW5zbGF0ZS5nZXQoKV07CisgICAgaWYgKE5T
RXF1YWxTaXplcyhbdHJhbnNsYXRpb25WaWV3Q29udHJvbGxlciBwcmVmZXJyZWRDb250ZW50U2l6
ZV0sIE5TWmVyb1NpemUpKQorICAgICAgICBbdHJhbnNsYXRpb25WaWV3Q29udHJvbGxlciBzZXRQ
cmVmZXJyZWRDb250ZW50U2l6ZTpOU01ha2VTaXplKDQwMCwgNDAwKV07CisKKyAgICBhdXRvIGNv
bnZlcnRlZFNlbGVjdGlvbkJvdW5kcyA9IFtzZWxmIF9jb252ZXJ0UmVjdEZyb21Sb290Vmlldzpz
ZWxlY3Rpb25Cb3VuZHNJblJvb3RWaWV3XTsKKyAgICBhdXRvIGNvbnZlcnRlZE1lbnVMb2NhdGlv
biA9IFtzZWxmIF9jb252ZXJ0UG9pbnRGcm9tUm9vdFZpZXc6bG9jYXRpb25JblJvb3RWaWV3XTsK
KworICAgIGF1dG8gcG9wb3ZlciA9IGFkb3B0TlMoW1tOU1BvcG92ZXIgYWxsb2NdIGluaXRdKTsK
KyAgICBbcG9wb3ZlciBzZXRCZWhhdmlvcjpOU1BvcG92ZXJCZWhhdmlvclRyYW5zaWVudF07Cisg
ICAgW3BvcG92ZXIgc2V0QXBwZWFyYW5jZTpbc2VsZiBlZmZlY3RpdmVBcHBlYXJhbmNlXV07Cisg
ICAgW3BvcG92ZXIgc2V0QW5pbWF0ZXM6WUVTXTsKKyAgICBbcG9wb3ZlciBzZXRDb250ZW50Vmll
d0NvbnRyb2xsZXI6dHJhbnNsYXRpb25WaWV3Q29udHJvbGxlci5nZXQoKV07CisgICAgW3BvcG92
ZXIgc2V0Q29udGVudFNpemU6W3RyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgcHJlZmVycmVkQ29u
dGVudFNpemVdXTsKKworICAgIE5TUmVjdEVkZ2UgcHJlZmVycmVkRWRnZTsKKyAgICBhdXRvIGFp
bSA9IGNvbnZlcnRlZE1lbnVMb2NhdGlvbi54OworICAgIGF1dG8gaGlnaGxpZ2h0ID0gTlNNaWRY
KGNvbnZlcnRlZFNlbGVjdGlvbkJvdW5kcyk7CisgICAgaWYgKGFpbSA9PSBoaWdobGlnaHQpCisg
ICAgICAgIHByZWZlcnJlZEVkZ2UgPSBbc2VsZiB1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9u
XSA9PSBOU1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb25SaWdodFRvTGVmdCA/IE5TUmVjdEVk
Z2VNaW5YIDogTlNSZWN0RWRnZU1heFg7CisgICAgZWxzZQorICAgICAgICBwcmVmZXJyZWRFZGdl
ID0gYWltID4gaGlnaGxpZ2h0ID8gTlNSZWN0RWRnZU1heFggOiBOU1JlY3RFZGdlTWluWDsKKwor
ICAgIFtwb3BvdmVyIHNob3dSZWxhdGl2ZVRvUmVjdDpjb252ZXJ0ZWRTZWxlY3Rpb25Cb3VuZHMg
b2ZWaWV3OnNlbGYgcHJlZmVycmVkRWRnZTpwcmVmZXJyZWRFZGdlXTsKIH0KIAogI2VuZGlmIC8v
IEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhUX01FTlVTKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJu
YWwuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0ludGVybmFsLmgK
aW5kZXggYjExMDgxYTRmMGJiYWNhNTcxZjkxYTUyY2JiODQxYTNjOTFiMGJkMC4uNzcyMWE0Y2Qy
ZjE3ZDFmZmI3NWFmMzBmNmU2ZjY5OWQ5YTViYWFjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oCkBAIC0xNTgsNiArMTU4LDcgQEAg
V2ViTGF5b3V0TWlsZXN0b25lcyBraXRMYXlvdXRNaWxlc3RvbmVzKE9wdGlvblNldDxXZWJDb3Jl
OjpMYXlvdXRNaWxlc3RvbmU+KTsKICNlbmRpZgogCiAjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9T
RVJWSUNFUykgJiYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCitAcHJvcGVydHkgKGNsYXNzLCBub25h
dG9taWMsIHJlYWRvbmx5KSBCT09MIF9jYW5IYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uOwog
LSAodm9pZClfaGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbjooY29uc3QgU3RyaW5nJil0ZXh0
IHNlbGVjdGlvbkJvdW5kczooY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpYm91bmRzSW5WaWV3IG1l
bnVMb2NhdGlvbjooY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKW1lbnVMb2NhdGlvbjsKICNlbmRp
ZgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426269</attachid>
            <date>2021-04-16 13:45:48 -0700</date>
            <delta_ts>2021-04-16 17:13:18 -0700</delta_ts>
            <desc>Blocked on #224680</desc>
            <filename>bug-224683-20210416134547.patch</filename>
            <type>text/plain</type>
            <size>9881</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGNlMDIwZTA5MjBhOGZh
NWM5MTJhNmRiNmE2NWU0YzM2M2FiMmRjOS4uNTc0MTBlOWQ5YWRmMTQ0NGYwNTk0NzQwN2M5OGYw
OTEwNjRlYjAxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA0LTE2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gQWRk
IHNvbWUgc3VwcG9ydCBmb3Igd2VicGFnZSB0cmFuc2xhdGlvbiBpbiBXZWJLaXRMZWdhY3kKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDY4MworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNzU2NDE4ODI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGEgY29tcGlsZS10aW1lIGd1YXJkIGFyb3Vu
ZCBgQ29udGV4dE1lbnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9DdXJyZW50R3JvdXBgIGFuZAorICAg
ICAgICBgQ29udGV4dE1lbnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9OZXdHcm91cGAsIHNvIHRoYXQg
d2UgY2FuIGtlZXAgdGhlc2UgaW50ZXJuYWwgV2ViQ29yZSBjb250ZXh0IG1lbnUgdGFncyBpbiBz
eW5jCisgICAgICAgIHdpdGggdGhlIFNQSS1leHBvc2VkIGVudW0gdmFsdWVzIGluIGBXZWJVSURl
bGVnYXRlUHJpdmF0ZS5oYC4gU2VlIFdlYktpdExlZ2FjeSBDaGFuZ2VMb2cgZm9yIG1vcmUgZGV0
YWlscy4KKworICAgICAgICAqIHBsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oOgorCiAyMDIxLTA0
LTE2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtt
YWNPU10gUmVmYWN0b3Igc29tZSB3ZWJwYWdlIHRyYW5zbGF0aW9uIGNvZGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwppbmRleCAzZTc4OWFjMDYwYjhjMjQyNTdmZDFjY2QzODIxODRiYTZhYmI2
NzE2Li41NGU5MDU4OWNiMzE0ZTgxNzU2YjBjNjE1Zjg2MmM2MGQ5ZGM2OTU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMjEtMDQtMTYgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBBZGQgc29t
ZSBzdXBwb3J0IGZvciB3ZWJwYWdlIHRyYW5zbGF0aW9uIGluIFdlYktpdExlZ2FjeQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NjgzCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS83NTY0MTg4Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgdGhlIHdlYnBhZ2UgdHJhbnNsYXRp
b24gY29udGV4dCBtZW51IGl0ZW0gaW4gV2ViS2l0TGVnYWN5LiBTZWUgYmVsb3cgZm9yIG1vcmUg
ZGV0YWlscy4KKworICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06CisgICAgICAgICh0
b0FjdGlvbik6CisgICAgICAgICh0b1RhZyk6CisKKyAgICAgICAgSW50cm9kdWNlIHRoZSBgV2Vi
TWVudUl0ZW1UYWdUcmFuc2xhdGVgIGVudW0gdmFsdWUsIGFuZCB1c2UgaXQgYXMgdGhlIHRhZyB2
YWx1ZSB3aGVuIGNyZWF0aW5nIGFuIGBOU01lbnVJdGVtYAorICAgICAgICBmb3IgdGhlIFRyYW5z
bGF0ZSBhY3Rpb24uCisKKyAgICAgICAgKGNyZWF0ZU1lbnVJdGVtKToKKyAgICAgICAgKiBXZWJW
aWV3L1dlYlVJRGVsZWdhdGVQcml2YXRlLmg6CisKKyAgICAgICAgVW5mb3J0dW5hdGVseSwgaW4g
b3JkZXIgdG8gc3VwcG9ydCBhIHBhcnRpY3VsYXIgaW50ZXJuYWwgY2xpZW50IG9mIFdlYktpdExl
Z2FjeSwgd2UgbmVlZCB0byBleHBvc2UKKyAgICAgICAgYFdlYk1lbnVJdGVtVGFnVHJhbnNsYXRl
YCBhcyBhbiBlbnVtIHZhbHVlIGluIHRoaXMgZXhpc3RpbmcgZW51bWVyYXRpb24gb2YgY29udGV4
dCBtZW51IGl0ZW0gdGFncy4gVGhpcyBpcworICAgICAgICBiZWNhdXNlIHRoZSBjbGllbnQncyBp
bXBsZW1lbnRhdGlvbiBvZiBgLXdlYlZpZXc6Y29udGV4dE1lbnVJdGVtc0ZvckVsZW1lbnQ6ZGVm
YXVsdE1lbnVJdGVtczpgIHJlamVjdHMgY29udGV4dAorICAgICAgICBtZW51IGl0ZW1zIGJ5IGRl
ZmF1bHQsIHVubGVzcyB0aGUgaXRlbSB0YWcgaXMgd2l0aGluIHRoZSBzZXQgb2YgaXRlbSB0YWdz
IHRoYXQgdGhleSBzdXBwb3J0LgorCisgICAgICAgIFRoaXMgY2xpZW50IHdpbGwgbmVlZCB0byBh
ZGQgdGhlIGVudW0gdmFsdWUgb2YgYFdlYk1lbnVJdGVtVGFnVHJhbnNsYXRlYCBpbnRvIHRoZWly
IGFsbG93LWxpc3QuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgr
W1dlYlZpZXcgX2NhbkhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb25dKToKKworICAgICAgICBT
b2Z0bGluayBhZ2FpbnN0IGFuZCBjaGVjayB3aXRoIGBUcmFuc2xhdGlvblVJU2VydmljZXNgIHRv
IHNlZSBpZiB3ZSBzaG91bGQgYmUgc2hvd2luZyB0aGUgVHJhbnNsYXRlIG1lbnUgaXRlbS4KKwor
ICAgICAgICAoLVtXZWJWaWV3IF9oYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uOnNlbGVjdGlv
bkJvdW5kczptZW51TG9jYXRpb246XSk6CisKKyAgICAgICAgSGFuZGxlIHRoZSBtZW51IGFjdGlv
biBieSBjcmVhdGluZyBhbmQgcHJlc2VudGluZyBhIG5ldyBgTFRVSVRyYW5zbGF0aW9uVmlld0Nv
bnRyb2xsZXJgIHVzaW5nIHRoZSBnaXZlbgorICAgICAgICBpbmZvcm1hdGlvbi4KKworICAgICAg
ICAqIFdlYlZpZXcvV2ViVmlld0ludGVybmFsLmg6CisKIDIwMjEtMDQtMTYgIFdlbnNvbiBIc2ll
aCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXSBSZWZhY3RvciBz
b21lIHdlYnBhZ2UgdHJhbnNsYXRpb24gY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250
ZXh0TWVudUl0ZW0uaAppbmRleCBhYzZlOWQ2NzkwODIzZmFmYzc0MjFiYTg0MDQ5MzRiMGQ2ZGZl
NGRiLi5kYWM1YzMzZjQ2ZWVmYzdhOTI4NDM4OTczOTMyN2QxOWMxZTgyNjZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaApAQCAtMTQ1LDEwICsxNDUsOCBAQCBl
bnVtIENvbnRleHRNZW51QWN0aW9uIHsKICAgICBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRl
b0Z1bGxzY3JlZW4sCiAgICAgQ29udGV4dE1lbnVJdGVtVGFnU2hhcmVNZW51LAogICAgIENvbnRl
eHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRW5oYW5jZWRGdWxsc2NyZWVuLAotI2lmIEVOQUJMRShB
UFBfSElHSExJR0hUUykKICAgICBDb250ZXh0TWVudUl0ZW1UYWdBZGRIaWdobGlnaHRUb0N1cnJl
bnRHcm91cCwKICAgICBDb250ZXh0TWVudUl0ZW1UYWdBZGRIaWdobGlnaHRUb05ld0dyb3VwLAot
I2VuZGlmCiAgICAgQ29udGV4dE1lbnVJdGVtVGFnUmV2ZWFsSW1hZ2UsCiAgICAgQ29udGV4dE1l
bnVJdGVtVGFnVHJhbnNsYXRlLAogICAgIENvbnRleHRNZW51SXRlbUJhc2VDdXN0b21UYWcgPSA1
MDAwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1M
Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0K
aW5kZXggMmI4YTI4MjBmODA5YjhhYjM5NWY2NmZkODA4ZjdhZDA4ZGVkM2FkMy4uMWY1NGY1NzZi
ZTk2NjQxMGY4ZDAyMDVkNGQ5ODdiMGIxNzM3ZjhhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCkBAIC00MjYsNiArNDI2LDggQEAgc3RhdGlj
IE9wdGlvbmFsPFdlYkNvcmU6OkNvbnRleHRNZW51QWN0aW9uPiB0b0FjdGlvbihOU0ludGVnZXIg
dGFnKQogICAgICAgICByZXR1cm4gQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlOwogICAgIGNh
c2UgV2ViTWVudUl0ZW1UYWdEaWN0YXRpb25BbHRlcm5hdGl2ZToKICAgICAgICAgcmV0dXJuIENv
bnRleHRNZW51SXRlbVRhZ0RpY3RhdGlvbkFsdGVybmF0aXZlOworICAgIGNhc2UgV2ViTWVudUl0
ZW1UYWdUcmFuc2xhdGU6CisgICAgICAgIHJldHVybiBDb250ZXh0TWVudUl0ZW1UYWdUcmFuc2xh
dGU7CiAgICAgfQogICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiB9CkBAIC02MTQsOCArNjE2LDkg
QEAgc3RhdGljIE9wdGlvbmFsPE5TSW50ZWdlcj4gdG9UYWcoV2ViQ29yZTo6Q29udGV4dE1lbnVB
Y3Rpb24gYWN0aW9uKQogICAgICAgICByZXR1cm4gV2ViTWVudUl0ZW1UYWdTaGFyZU1lbnU7CiAg
ICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0VuaGFuY2VkRnVsbHNjcmVlbjoK
ICAgICAgICAgcmV0dXJuIFdlYk1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9FbmhhbmNlZEZ1bGxzY3Jl
ZW47Ci0gICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdSZXZlYWxJbWFnZToKICAgICBjYXNlIENv
bnRleHRNZW51SXRlbVRhZ1RyYW5zbGF0ZToKKyAgICAgICAgcmV0dXJuIFdlYk1lbnVJdGVtVGFn
VHJhbnNsYXRlOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnUmV2ZWFsSW1hZ2U6CiAgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKICAgICBjYXNlIENvbnRleHRNZW51SXRlbUJhc2VD
dXN0b21UYWcgLi4uIENvbnRleHRNZW51SXRlbUxhc3RDdXN0b21UYWc6CkBAIC0zNjMyLDYgKzM2
MzUsOSBAQCBzdGF0aWMgUmV0YWluUHRyPE5TTXV0YWJsZUFycmF5PiBjcmVhdGVNZW51SXRlbXMo
Y29uc3QgV2ViQ29yZTo6SGl0VGVzdFJlc3VsdCYgaAogCiBzdGF0aWMgUmV0YWluUHRyPE5TTWVu
dUl0ZW0+IGNyZWF0ZU1lbnVJdGVtKGNvbnN0IFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQmIGhpdFRl
c3RSZXN1bHQsIGNvbnN0IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbSYgaXRlbSkKIHsKKyAgICBp
ZiAoaXRlbS5hY3Rpb24oKSA9PSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUcmFuc2xhdGUg
JiYgIVdlYlZpZXcuX2NhbkhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24pCisgICAgICAgIHJl
dHVybiBuaWw7CisKICAgICBpZiAoaXRlbS5hY3Rpb24oKSA9PSBXZWJDb3JlOjpDb250ZXh0TWVu
dUl0ZW1UYWdTaGFyZU1lbnUpCiAgICAgICAgIHJldHVybiBjcmVhdGVTaGFyZU1lbnVJdGVtKGhp
dFRlc3RSZXN1bHQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlVJRGVsZWdhdGVQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlVJRGVsZWdhdGVQcml2YXRlLmgKaW5kZXggOWIyOTUzZjBhODJhNDljMzY3NDZkOTI1
MDdjN2I0YzE2YzBmNjc1Ni4uY2UwNmUwMjVjZDkyNWIyOThkMzI0MWNjYjI0YTJlZGVlYjk1YTMy
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJVSURlbGVn
YXRlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVUlE
ZWxlZ2F0ZVByaXZhdGUuaApAQCAtMTA3LDYgKzEwNywxMCBAQCBlbnVtIHsKICAgICBXZWJNZW51
SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbiwKICAgICBXZWJNZW51SXRlbVRhZ1NoYXJlTWVu
dSwKICAgICBXZWJNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRW5oYW5jZWRGdWxsc2NyZWVuLAorICAg
IFdlYk1lbnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9DdXJyZW50R3JvdXAsCisgICAgV2ViTWVudUl0
ZW1UYWdBZGRIaWdobGlnaHRUb05ld0dyb3VwLAorICAgIFdlYk1lbnVJdGVtVGFnUmV2ZWFsSW1h
Z2UsCisgICAgV2ViTWVudUl0ZW1UYWdUcmFuc2xhdGUsCiB9OwogCiAvLyBEZXByZWNhdGVkOyBy
ZW1vdmUgd2hlbiB0aGVyZSBhcmUgbm8gbW9yZSBjbGllbnRzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGI0YjU1NGE5YjAzYTUyZWU2ODAwNWMyZjM2
NGIyYmM3ZTg2MjkzNDEuLmM2NDhjOWQ4ODM1OGU0NDA2MzM1N2NkYmM0OGU1ZDE3NTcxMDA1MGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTM0OSw2
ICszNDksMTMgQEAKICNpbXBvcnQgPFdlYkNvcmUvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVs
ZW1lbnQuaD4KICNlbmRpZgogCisjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykKKyNp
bXBvcnQgPFRyYW5zbGF0aW9uVUlTZXJ2aWNlcy9MVFVJVHJhbnNsYXRpb25WaWV3Q29udHJvbGxl
ci5oPgorCitTT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUktfT1BUSU9OQUwoVHJhbnNsYXRpb25V
SVNlcnZpY2VzKQorU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKFRyYW5zbGF0aW9uVUlTZXJ2aWNl
cywgTFRVSVRyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIpCisjZW5kaWYKKwogI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCiAjaW1wb3J0IDxVSUtpdC9VSUNvbG9yLmg+CiAjaW1wb3J0IDxVSUtpdC9V
SUltYWdlLmg+CkBAIC05NjI5LDEyICs5NjM2LDQzIEBAIC0gKHZvaWQpX2Nsb3NlV2luZG93CiAK
ICNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKSAmJiBFTkFCTEUoQ09OVEVYVF9NRU5V
UykKIAorKyAoQk9PTClfY2FuSGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbgoreworICAgIHJl
dHVybiBUcmFuc2xhdGlvblVJU2VydmljZXNMaWJyYXJ5KCkgJiYgW2dldExUVUlUcmFuc2xhdGlv
blZpZXdDb250cm9sbGVyQ2xhc3MoKSBpc0F2YWlsYWJsZV07Cit9CisKIC0gKHZvaWQpX2hhbmRs
ZUNvbnRleHRNZW51VHJhbnNsYXRpb246KGNvbnN0IFN0cmluZyYpdGV4dCBzZWxlY3Rpb25Cb3Vu
ZHM6KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKXNlbGVjdGlvbkJvdW5kc0luUm9vdFZpZXcgbWVu
dUxvY2F0aW9uOihjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpbG9jYXRpb25JblJvb3RWaWV3CiB7
Ci0gICAgLy8gRklYTUUgKDIyNDY4Myk6IE5vdCBpbXBsZW1lbnRlZCB5ZXQuCi0gICAgVU5VU0VE
X1BBUkFNKHRleHQpOwotICAgIFVOVVNFRF9QQVJBTShzZWxlY3Rpb25Cb3VuZHNJblJvb3RWaWV3
KTsKLSAgICBVTlVTRURfUEFSQU0obG9jYXRpb25JblJvb3RWaWV3KTsKKyAgICBpZiAoIVdlYlZp
ZXcuX2NhbkhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24pIHsKKyAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIHRyYW5zbGF0
aW9uVmlld0NvbnRyb2xsZXIgPSBhZG9wdE5TKFthbGxvY0xUVUlUcmFuc2xhdGlvblZpZXdDb250
cm9sbGVySW5zdGFuY2UoKSBpbml0XSk7CisgICAgYXV0byB0ZXh0VG9UcmFuc2xhdGUgPSBhZG9w
dE5TKFtbTlNBdHRyaWJ1dGVkU3RyaW5nIGFsbG9jXSBpbml0V2l0aFN0cmluZzp0ZXh0XSk7Cisg
ICAgW3RyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgc2V0VGV4dDp0ZXh0VG9UcmFuc2xhdGUuZ2V0
KCldOworICAgIGlmIChOU0VxdWFsU2l6ZXMoW3RyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgcHJl
ZmVycmVkQ29udGVudFNpemVdLCBOU1plcm9TaXplKSkKKyAgICAgICAgW3RyYW5zbGF0aW9uVmll
d0NvbnRyb2xsZXIgc2V0UHJlZmVycmVkQ29udGVudFNpemU6TlNNYWtlU2l6ZSg0MDAsIDQwMCld
OworCisgICAgYXV0byBjb252ZXJ0ZWRTZWxlY3Rpb25Cb3VuZHMgPSBbc2VsZiBfY29udmVydFJl
Y3RGcm9tUm9vdFZpZXc6c2VsZWN0aW9uQm91bmRzSW5Sb290Vmlld107CisgICAgYXV0byBjb252
ZXJ0ZWRNZW51TG9jYXRpb24gPSBbc2VsZiBfY29udmVydFBvaW50RnJvbVJvb3RWaWV3OmxvY2F0
aW9uSW5Sb290Vmlld107CisKKyAgICBhdXRvIHBvcG92ZXIgPSBhZG9wdE5TKFtbTlNQb3BvdmVy
IGFsbG9jXSBpbml0XSk7CisgICAgW3BvcG92ZXIgc2V0QmVoYXZpb3I6TlNQb3BvdmVyQmVoYXZp
b3JUcmFuc2llbnRdOworICAgIFtwb3BvdmVyIHNldEFwcGVhcmFuY2U6W3NlbGYgZWZmZWN0aXZl
QXBwZWFyYW5jZV1dOworICAgIFtwb3BvdmVyIHNldEFuaW1hdGVzOllFU107CisgICAgW3BvcG92
ZXIgc2V0Q29udGVudFZpZXdDb250cm9sbGVyOnRyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIuZ2V0
KCldOworICAgIFtwb3BvdmVyIHNldENvbnRlbnRTaXplOlt0cmFuc2xhdGlvblZpZXdDb250cm9s
bGVyIHByZWZlcnJlZENvbnRlbnRTaXplXV07CisKKyAgICBOU1JlY3RFZGdlIHByZWZlcnJlZEVk
Z2U7CisgICAgYXV0byBhaW0gPSBjb252ZXJ0ZWRNZW51TG9jYXRpb24ueDsKKyAgICBhdXRvIGhp
Z2hsaWdodCA9IE5TTWlkWChjb252ZXJ0ZWRTZWxlY3Rpb25Cb3VuZHMpOworICAgIGlmIChhaW0g
PT0gaGlnaGxpZ2h0KQorICAgICAgICBwcmVmZXJyZWRFZGdlID0gW3NlbGYgdXNlckludGVyZmFj
ZUxheW91dERpcmVjdGlvbl0gPT0gTlNVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uUmlnaHRU
b0xlZnQgPyBOU1JlY3RFZGdlTWluWCA6IE5TUmVjdEVkZ2VNYXhYOworICAgIGVsc2UKKyAgICAg
ICAgcHJlZmVycmVkRWRnZSA9IGFpbSA+IGhpZ2hsaWdodCA/IE5TUmVjdEVkZ2VNYXhYIDogTlNS
ZWN0RWRnZU1pblg7CisKKyAgICBbcG9wb3ZlciBzaG93UmVsYXRpdmVUb1JlY3Q6Y29udmVydGVk
U2VsZWN0aW9uQm91bmRzIG9mVmlldzpzZWxmIHByZWZlcnJlZEVkZ2U6cHJlZmVycmVkRWRnZV07
CiB9CiAKICNlbmRpZiAvLyBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKSAmJiBFTkFCTEUo
Q09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViVmlld0ludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlZpZXdJbnRlcm5hbC5oCmluZGV4IGIxMTA4MWE0ZjBiYmFjYTU3MWY5MWE1MmNiYjg0MWEzYzkx
YjBiZDAuLjc3MjFhNGNkMmYxN2QxZmZiNzVhZjMwZjZlNmY2OTlkOWE1YmFhYzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0ludGVybmFsLmgKKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaApAQCAt
MTU4LDYgKzE1OCw3IEBAIFdlYkxheW91dE1pbGVzdG9uZXMga2l0TGF5b3V0TWlsZXN0b25lcyhP
cHRpb25TZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lPik7CiAjZW5kaWYKIAogI2lmIEhBVkUo
VFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhUX01FTlVTKQorQHByb3Bl
cnR5IChjbGFzcywgbm9uYXRvbWljLCByZWFkb25seSkgQk9PTCBfY2FuSGFuZGxlQ29udGV4dE1l
bnVUcmFuc2xhdGlvbjsKIC0gKHZvaWQpX2hhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb246KGNv
bnN0IFN0cmluZyYpdGV4dCBzZWxlY3Rpb25Cb3VuZHM6KGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
KWJvdW5kc0luVmlldyBtZW51TG9jYXRpb246KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiltZW51
TG9jYXRpb247CiAjZW5kaWYKIAo=
</data>
<flag name="commit-queue"
          id="446533"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426295</attachid>
            <date>2021-04-16 17:20:39 -0700</date>
            <delta_ts>2021-04-16 18:08:42 -0700</delta_ts>
            <desc>Fix iOS 14/Big Sur builds</desc>
            <filename>bug-224683-20210416172039.patch</filename>
            <type>text/plain</type>
            <size>17781</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODNmYmQ2ZDQ1ZjUyNTky
NTc5NmU1ZTU3NDY3NzUwMmVmMzgzYmEwNC4uZTljMDIxOGVmY2QxMTlkZGEyYmU1NmU1OGFmOTI3
YzZkYmYyNmZlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA0LTE2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gQWRk
IHNvbWUgc3VwcG9ydCBmb3Igd2VicGFnZSB0cmFuc2xhdGlvbiBpbiBXZWJLaXRMZWdhY3kKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDY4MworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNzU2NDE4ODI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGNvbXBpbGUtdGltZSBndWFyZHMgYXJvdW5k
IGBDb250ZXh0TWVudUl0ZW1UYWdBZGRIaWdobGlnaHRUb0N1cnJlbnRHcm91cGAgYW5kCisgICAg
ICAgIGBDb250ZXh0TWVudUl0ZW1UYWdBZGRIaWdobGlnaHRUb05ld0dyb3VwYCwgc28gdGhhdCB3
ZSBjYW4ga2VlcCB0aGVzZSBpbnRlcm5hbCBXZWJDb3JlIGNvbnRleHQgbWVudSB0YWdzIGluIHN5
bmMKKyAgICAgICAgd2l0aCB0aGUgU1BJLWV4cG9zZWQgZW51bSB2YWx1ZXMgaW4gYFdlYlVJRGVs
ZWdhdGVQcml2YXRlLmhgLiBTZWUgV2ViS2l0TGVnYWN5IENoYW5nZUxvZyBmb3IgbW9yZSBkZXRh
aWxzLgorCisgICAgICAgICogcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250cm9sbGVyOjpjb250ZXh0TWVudUl0ZW1TZWxlY3Rl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNvbnRyb2xsZXI6OmNoZWNrT3JFbmFi
bGVJZk5lZWRlZCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmlzVmFsaWRDb250ZXh0TWVudUFjdGlvbik6CisgICAgICAg
ICogcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmg6CisKIDIwMjEtMDQtMTYgIFdlbnNvbiBIc2ll
aCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXSBSZWZhY3RvciBz
b21lIHdlYnBhZ2UgdHJhbnNsYXRpb24gY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAzNjk1ZjBhZGY4YjM2YzE4
MDVlM2JkNDdhMTQwNWU2YmVjMjIyYTQzLi44NjA1YTQxNjg3ZjY1YmJiM2M1MWRiOWY4YWZlZDAy
ZDI2MmU3MmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA0LTE2ICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gQWRkIHNv
bWUgc3VwcG9ydCBmb3Igd2VicGFnZSB0cmFuc2xhdGlvbiBpbiBXZWJLaXRMZWdhY3kKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDY4MworICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNzU2NDE4ODI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHNvbWUgbW9yZSBjb21waWxlLXRpbWUgZ3VhcmRz
LCBub3cgdGhhdCB0aGUgV2ViQ29yZSBlbnVtIGlzIG5vdCBjb25kaXRpb25hbCBvbiBgRU5BQkxF
KEFQUF9ISUdITElHSFQpYC4KKyAgICAgICAgU2VlIFdlYkNvcmUvQ2hhbmdlTG9nIGZvciBtb3Jl
IGluZm9ybWF0aW9uLgorCisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5o
OgorICAgICAgICAoV2ViS2l0Ojp0b0FQSSk6CisgICAgICAgIChXZWJLaXQ6OnRvSW1wbCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6bWVudUl0
ZW1JZGVudGlmaWVyKToKKwogMjAyMS0wNC0xNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVo
QGFwcGxlLmNvbT4KIAogICAgICAgICBbbWFjT1NdIFJlZmFjdG9yIHNvbWUgd2VicGFnZSB0cmFu
c2xhdGlvbiBjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggNWZjZmRlM2RiNTRj
MGQ1YTI0NzFjNGFkODMxMDE5MTQ0N2Q2ZjFhZS4uMDQyOTQyNGMwOWQyOGYzNzNkZDQ1YmIzYTUy
YTVlNTQ0ZjMxMDZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQy
IEBACisyMDIxLTA0LTE2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgor
CisgICAgICAgIFttYWNPU10gQWRkIHNvbWUgc3VwcG9ydCBmb3Igd2VicGFnZSB0cmFuc2xhdGlv
biBpbiBXZWJLaXRMZWdhY3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNDY4MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzU2NDE4ODI+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQg
Zm9yIHRoZSB3ZWJwYWdlIHRyYW5zbGF0aW9uIGNvbnRleHQgbWVudSBpdGVtIGluIFdlYktpdExl
Z2FjeS4gU2VlIGJlbG93IGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBXZWJWaWV3L1dl
YkhUTUxWaWV3Lm1tOgorICAgICAgICAodG9BY3Rpb24pOgorICAgICAgICAodG9UYWcpOgorCisg
ICAgICAgIEludHJvZHVjZSB0aGUgYFdlYk1lbnVJdGVtVGFnVHJhbnNsYXRlYCBlbnVtIHZhbHVl
LCBhbmQgdXNlIGl0IGFzIHRoZSB0YWcgdmFsdWUgd2hlbiBjcmVhdGluZyBhbiBgTlNNZW51SXRl
bWAKKyAgICAgICAgZm9yIHRoZSBUcmFuc2xhdGUgYWN0aW9uLgorCisgICAgICAgIChjcmVhdGVN
ZW51SXRlbSk6CisgICAgICAgICogV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oOgorCisg
ICAgICAgIFVuZm9ydHVuYXRlbHksIGluIG9yZGVyIHRvIHN1cHBvcnQgYSBwYXJ0aWN1bGFyIGlu
dGVybmFsIGNsaWVudCBvZiBXZWJLaXRMZWdhY3ksIHdlIG5lZWQgdG8gZXhwb3NlCisgICAgICAg
IGBXZWJNZW51SXRlbVRhZ1RyYW5zbGF0ZWAgYXMgYW4gZW51bSB2YWx1ZSBpbiB0aGlzIGV4aXN0
aW5nIGVudW1lcmF0aW9uIG9mIGNvbnRleHQgbWVudSBpdGVtIHRhZ3MuIFRoaXMgaXMKKyAgICAg
ICAgYmVjYXVzZSB0aGUgY2xpZW50J3MgaW1wbGVtZW50YXRpb24gb2YgYC13ZWJWaWV3OmNvbnRl
eHRNZW51SXRlbXNGb3JFbGVtZW50OmRlZmF1bHRNZW51SXRlbXM6YCByZWplY3RzIGNvbnRleHQK
KyAgICAgICAgbWVudSBpdGVtcyBieSBkZWZhdWx0LCB1bmxlc3MgdGhlIGl0ZW0gdGFnIGlzIHdp
dGhpbiB0aGUgc2V0IG9mIGl0ZW0gdGFncyB0aGF0IHRoZXkgc3VwcG9ydC4KKworICAgICAgICBU
aGlzIGNsaWVudCB3aWxsIG5lZWQgdG8gYWRkIHRoZSBlbnVtIHZhbHVlIG9mIGBXZWJNZW51SXRl
bVRhZ1RyYW5zbGF0ZWAgaW50byB0aGVpciBhbGxvdy1saXN0LgorCisgICAgICAgICogV2ViVmll
dy9XZWJWaWV3Lm1tOgorICAgICAgICAoK1tXZWJWaWV3IF9jYW5IYW5kbGVDb250ZXh0TWVudVRy
YW5zbGF0aW9uXSk6CisKKyAgICAgICAgU29mdGxpbmsgYWdhaW5zdCBhbmQgY2hlY2sgd2l0aCBg
VHJhbnNsYXRpb25VSVNlcnZpY2VzYCB0byBzZWUgaWYgd2Ugc2hvdWxkIGJlIHNob3dpbmcgdGhl
IFRyYW5zbGF0ZSBtZW51IGl0ZW0uCisKKyAgICAgICAgKC1bV2ViVmlldyBfaGFuZGxlQ29udGV4
dE1lbnVUcmFuc2xhdGlvbjpzZWxlY3Rpb25Cb3VuZHM6bWVudUxvY2F0aW9uOl0pOgorCisgICAg
ICAgIEhhbmRsZSB0aGUgbWVudSBhY3Rpb24gYnkgY3JlYXRpbmcgYW5kIHByZXNlbnRpbmcgYSBu
ZXcgYExUVUlUcmFuc2xhdGlvblZpZXdDb250cm9sbGVyYCB1c2luZyB0aGUgZ2l2ZW4KKyAgICAg
ICAgaW5mb3JtYXRpb24uCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oOgor
CiAyMDIxLTA0LTE2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFttYWNPU10gUmVmYWN0b3Igc29tZSB3ZWJwYWdlIHRyYW5zbGF0aW9uIGNvZGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAppbmRleCA4ZDdk
OTk0NDdjNTMyYzFmMzUyYTk1NjYwYmZlODAwYWIyYWE0YTg3Li4xMWVjMzFmMGJiM2M3Zjg4YzEz
M2M3OThlZjVhOTgxZjY4NTMxYjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuY3BwCkBAIC00NDAsMTQgKzQ0MCwxMiBAQCB2b2lkIENvbnRleHRNZW51
Q29udHJvbGxlcjo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoQ29udGV4dE1lbnVBY3Rpb24gYWN0
aW9uLCBjbwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvblJpZ2h0VG9M
ZWZ0OgogICAgICAgICBmcmFtZS0+ZWRpdG9yKCkuY29tbWFuZCgiTWFrZVRleHRXcml0aW5nRGly
ZWN0aW9uUmlnaHRUb0xlZnQiKS5leGVjdXRlKCk7CiAgICAgICAgIGJyZWFrOwotI2lmIEVOQUJM
RShBUFBfSElHSExJR0hUUykKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0FkZEhpZ2hsaWdo
dFRvQ3VycmVudEdyb3VwOgogICAgICAgICAvLyBGSVhNRTogQWRkIEhpZ2hsaWdodCBMb2dpYwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0FkZEhpZ2hsaWdodFRv
TmV3R3JvdXA6CiAgICAgICAgIC8vIEZJWE1FOiBBZGQgSGlnaGxpZ2h0IExvZ2ljCiAgICAgICAg
IGJyZWFrOwotI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgY2FzZSBDb250ZXh0TWVu
dUl0ZW1UYWdTZWFyY2hJblNwb3RsaWdodDoKICAgICAgICAgbV9jbGllbnQuc2VhcmNoV2l0aFNw
b3RsaWdodCgpOwpAQCAtMTMxNCwxNCArMTMxMiwxMiBAQCB2b2lkIENvbnRleHRNZW51Q29udHJv
bGxlcjo6Y2hlY2tPckVuYWJsZUlmTmVlZGVkKENvbnRleHRNZW51SXRlbSYgaXRlbSkgY29uc3QK
ICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdDaGVja1NwZWxsaW5nV2hpbGVUeXBpbmc6
CiAgICAgICAgICAgICBzaG91bGRDaGVjayA9IGZyYW1lLT5lZGl0b3IoKS5pc0NvbnRpbnVvdXNT
cGVsbENoZWNraW5nRW5hYmxlZCgpOwogICAgICAgICAgICAgYnJlYWs7Ci0jaWYgRU5BQkxFKEFQ
UF9ISUdITElHSFRTKQogICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0FkZEhpZ2hsaWdo
dFRvQ3VycmVudEdyb3VwOgogICAgICAgICAgICAgc2hvdWxkRW5hYmxlID0gZnJhbWUtPnNlbGVj
dGlvbigpLmlzUmFuZ2UoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENvbnRl
eHRNZW51SXRlbVRhZ0FkZEhpZ2hsaWdodFRvTmV3R3JvdXA6CiAgICAgICAgICAgICBzaG91bGRF
bmFibGUgPSBmcmFtZS0+c2VsZWN0aW9uKCkuaXNSYW5nZSgpOwogICAgICAgICAgICAgYnJlYWs7
Ci0jZW5kaWYKICNpZiBQTEFURk9STShDT0NPQSkKICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0
ZW1UYWdTdWJzdGl0dXRpb25zTWVudToKICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdU
cmFuc2Zvcm1hdGlvbnNNZW51OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Q29udGV4dE1lbnVJdGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51
SXRlbS5jcHAKaW5kZXggMDY5NTYyZDIzY2M5Y2M0OWI2Nzk5OTc0ZWRkYzNkYTNjNmZiNThhYi4u
NTQwMGVkM2ZmMjA2MGEwZTdmNjE1YTlmMzQyODE4NGI4YzMwMWE2ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uY3BwCkBAIC0yMjksMTAgKzIyOSw4IEBAIGJv
b2wgaXNWYWxpZENvbnRleHRNZW51QWN0aW9uKENvbnRleHRNZW51QWN0aW9uIGFjdGlvbikKICAg
ICBjYXNlIENvbnRleHRNZW51QWN0aW9uOjpDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9u
RGVmYXVsdDoKICAgICBjYXNlIENvbnRleHRNZW51QWN0aW9uOjpDb250ZXh0TWVudUl0ZW1UYWdU
ZXh0RGlyZWN0aW9uTGVmdFRvUmlnaHQ6CiAgICAgY2FzZSBDb250ZXh0TWVudUFjdGlvbjo6Q29u
dGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvblJpZ2h0VG9MZWZ0OgotI2lmIEVOQUJMRShBUFBf
SElHSExJR0hUUykKICAgICBjYXNlIENvbnRleHRNZW51QWN0aW9uOjpDb250ZXh0TWVudUl0ZW1U
YWdBZGRIaWdobGlnaHRUb0N1cnJlbnRHcm91cDoKICAgICBjYXNlIENvbnRleHRNZW51QWN0aW9u
OjpDb250ZXh0TWVudUl0ZW1UYWdBZGRIaWdobGlnaHRUb05ld0dyb3VwOgotI2VuZGlmCiAjaWYg
UExBVEZPUk0oQ09DT0EpCiAgICAgY2FzZSBDb250ZXh0TWVudUFjdGlvbjo6Q29udGV4dE1lbnVJ
dGVtVGFnQ29ycmVjdFNwZWxsaW5nQXV0b21hdGljYWxseToKICAgICBjYXNlIENvbnRleHRNZW51
QWN0aW9uOjpDb250ZXh0TWVudUl0ZW1UYWdTdWJzdGl0dXRpb25zTWVudToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKaW5kZXggYWM2ZTlkNjc5MDgyM2ZhZmM3NDIx
YmE4NDA0OTM0YjBkNmRmZTRkYi4uZGFjNWMzM2Y0NmVlZmM3YTkyODQzODk3MzkzMjdkMTljMWU4
MjY2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVt
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKQEAgLTE0
NSwxMCArMTQ1LDggQEAgZW51bSBDb250ZXh0TWVudUFjdGlvbiB7CiAgICAgQ29udGV4dE1lbnVJ
dGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuLAogICAgIENvbnRleHRNZW51SXRlbVRhZ1NoYXJl
TWVudSwKICAgICBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0VuaGFuY2VkRnVsbHNjcmVl
biwKLSNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCiAgICAgQ29udGV4dE1lbnVJdGVtVGFnQWRk
SGlnaGxpZ2h0VG9DdXJyZW50R3JvdXAsCiAgICAgQ29udGV4dE1lbnVJdGVtVGFnQWRkSGlnaGxp
Z2h0VG9OZXdHcm91cCwKLSNlbmRpZgogICAgIENvbnRleHRNZW51SXRlbVRhZ1JldmVhbEltYWdl
LAogICAgIENvbnRleHRNZW51SXRlbVRhZ1RyYW5zbGF0ZSwKICAgICBDb250ZXh0TWVudUl0ZW1C
YXNlQ3VzdG9tVGFnID0gNTAwMCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQ
SS9jL1dLU2hhcmVkQVBJQ2FzdC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvV0tTaGFy
ZWRBUElDYXN0LmgKaW5kZXggZWU0MjQ1YzJmMWVkOWU1ZDlmMzhjYzE5OTBjODA0ZjkyNTEwYjFl
YS4uNjNhMmQ3OTg4MGRkMWM0OGMzZjgzNTBmMWRlYjY1ZTUxMjA5YmNhYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgKQEAgLTUwOSwxMiArNTA5LDEw
IEBAIGlubGluZSBXS0NvbnRleHRNZW51SXRlbVRhZyB0b0FQSShXZWJDb3JlOjpDb250ZXh0TWVu
dUFjdGlvbiBhY3Rpb24pCiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRp
YVBsYXlQYXVzZTsKICAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0
ZToKICAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0ZTsKLSNpZiBF
TkFCTEUoQVBQX0hJR0hMSUdIVFMpCiAgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1U
YWdBZGRIaWdobGlnaHRUb0N1cnJlbnRHcm91cDoKICAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRN
ZW51SXRlbVRhZ0FkZEhpZ2hsaWdodFRvQ3VycmVudEdyb3VwOwogICAgIGNhc2UgV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9OZXdHcm91cDoKICAgICAgICAgcmV0dXJu
IGtXS0NvbnRleHRNZW51SXRlbVRhZ0FkZEhpZ2hsaWdodFRvTmV3R3JvdXA7Ci0jZW5kaWYKICNp
ZiBQTEFURk9STShDT0NPQSkKICAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0Nv
cnJlY3RTcGVsbGluZ0F1dG9tYXRpY2FsbHk6CiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVu
dUl0ZW1UYWdDb3JyZWN0U3BlbGxpbmdBdXRvbWF0aWNhbGx5OwpAQCAtNzEzLDEyICs3MTEsMTAg
QEAgaW5saW5lIFdlYkNvcmU6OkNvbnRleHRNZW51QWN0aW9uIHRvSW1wbChXS0NvbnRleHRNZW51
SXRlbVRhZyB0YWcpCiAgICAgICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdN
ZWRpYVBsYXlQYXVzZTsKICAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0ZToK
ICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0ZTsKLSNp
ZiBFTkFCTEUoQVBQX0hJR0hMSUdIVCkKICAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0Fk
ZEhpZ2hsaWdodFRvQ3VycmVudEdyb3VwOgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4
dE1lbnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9DdXJyZW50R3JvdXA7CiAgICAgY2FzZSBrV0tDb250
ZXh0TWVudUl0ZW1UYWdBZGRIaWdobGlnaHRUb05ld0dyb3VwOgogICAgICAgICByZXR1cm4gV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9OZXdHcm91cDsKLSNlbmRpZgog
I2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29ycmVj
dFNwZWxsaW5nQXV0b21hdGljYWxseToKICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRN
ZW51SXRlbVRhZ0NvcnJlY3RTcGVsbGluZ0F1dG9tYXRpY2FsbHk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCAyMDZlNTFiNjA2ZmY1ZTllMTg4Yjk2ZGEyYTlk
ZjAzN2U3YjFjMDgyLi4xNzRhNGI4ZjQwZGNjMzIxYTMxZjUyMTViMWZmZDc1ZWFlYmU5ZjVmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTY3MjUsMTUgKzY3
MjUsMTcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKGNvbnN0
IFdlYkNvbnRleHRNZW51SXRlbURhdGEmIGl0ZW0pCiAgICAgICAgIFRleHRDaGVja2VyOjp0b2dn
bGVTcGVsbGluZ1VJSXNTaG93aW5nKCk7CiAgICAgICAgIHJldHVybjsKIAotI2lmIEVOQUJMRShB
UFBfSElHSExJR0hUUykKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0FkZEhpZ2hsaWdodFRv
TmV3R3JvdXA6CisjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQogICAgICAgICBjcmVhdGVBcHBI
aWdobGlnaHRJblNlbGVjdGVkUmFuZ2UoQ3JlYXRlTmV3R3JvdXBGb3JIaWdobGlnaHQ6Olllcywg
SGlnaGxpZ2h0UmVxdWVzdE9yaWdpbmF0ZWRJbkFwcDo6Tm8pOworI2VuZGlmCiAgICAgICAgIHJl
dHVybjsKIAogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9DdXJyZW50
R3JvdXA6CisjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQogICAgICAgICBjcmVhdGVBcHBIaWdo
bGlnaHRJblNlbGVjdGVkUmFuZ2UoQ3JlYXRlTmV3R3JvdXBGb3JIaWdobGlnaHQ6Ok5vLCBIaWdo
bGlnaHRSZXF1ZXN0T3JpZ2luYXRlZEluQXBwOjpObyk7Ci0gICAgICAgIHJldHVybjsKICNlbmRp
ZgorICAgICAgICByZXR1cm47CiAKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0xlYXJuU3Bl
bGxpbmc6CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdJZ25vcmVTcGVsbGluZzoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFj
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMu
bW0KaW5kZXggNThiM2EzM2MyOWU5OWIzOGYwZTIzNDQ1ZDFjYTcyYmNkYzc1Yjc0OS4uZDVkOWM4
MDQ4YzQ3NTE4MGIyNWYxZTJhMzFhNWU4N2Q2YzVjOGRhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KQEAgLTQwOCwx
MyArNDA4LDEzIEBAIHN0YXRpYyBOU1N0cmluZyAqbWVudUl0ZW1JZGVudGlmaWVyKGNvbnN0IFdl
YkNvcmU6OkNvbnRleHRNZW51QWN0aW9uIGFjdGlvbikKIAogICAgIGNhc2UgQ29udGV4dE1lbnVJ
dGVtVGFnTG9va1VwSW5EaWN0aW9uYXJ5OgogICAgICAgICByZXR1cm4gX1dLTWVudUl0ZW1JZGVu
dGlmaWVyTG9va1VwOwotI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKKwogICAgIGNhc2UgQ29u
dGV4dE1lbnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9DdXJyZW50R3JvdXA6CiAgICAgICAgIHJldHVy
biBfV0tNZW51SXRlbUlkZW50aWZpZXJBZGRIaWdobGlnaHRUb0N1cnJlbnRHcm91cDsKICAgICAg
ICAgCiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdBZGRIaWdobGlnaHRUb05ld0dyb3VwOgog
ICAgICAgICByZXR1cm4gX1dLTWVudUl0ZW1JZGVudGlmaWVyQWRkSGlnaGxpZ2h0VG9OZXdHcm91
cDsKLSNlbmRpZgorCiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdPcGVuRnJhbWVJbk5ld1dp
bmRvdzoKICAgICAgICAgcmV0dXJuIF9XS01lbnVJdGVtSWRlbnRpZmllck9wZW5GcmFtZUluTmV3
V2luZG93OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YkhUTUxWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmll
dy5tbQppbmRleCAyYjhhMjgyMGY4MDliOGFiMzk1ZjY2ZmQ4MDhmN2FkMDhkZWQzYWQzLi5lMzQ3
OGUwMjA3YWVmY2QzZDlkMzFjY2RkZGY4Mjg3Y2Q3YjdhODkxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KQEAgLTQyNiw2ICs0MjYsOCBAQCBz
dGF0aWMgT3B0aW9uYWw8V2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb24+IHRvQWN0aW9uKE5TSW50
ZWdlciB0YWcpCiAgICAgICAgIHJldHVybiBDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGU7CiAg
ICAgY2FzZSBXZWJNZW51SXRlbVRhZ0RpY3RhdGlvbkFsdGVybmF0aXZlOgogICAgICAgICByZXR1
cm4gQ29udGV4dE1lbnVJdGVtVGFnRGljdGF0aW9uQWx0ZXJuYXRpdmU7CisgICAgY2FzZSBXZWJN
ZW51SXRlbVRhZ1RyYW5zbGF0ZToKKyAgICAgICAgcmV0dXJuIENvbnRleHRNZW51SXRlbVRhZ1Ry
YW5zbGF0ZTsKICAgICB9CiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0KQEAgLTYwNSwxNyAr
NjA3LDE2IEBAIHN0YXRpYyBPcHRpb25hbDxOU0ludGVnZXI+IHRvVGFnKFdlYkNvcmU6OkNvbnRl
eHRNZW51QWN0aW9uIGFjdGlvbikKICAgICAgICAgcmV0dXJuIFdlYk1lbnVJdGVtVGFnRGljdGF0
aW9uQWx0ZXJuYXRpdmU7CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1
bGxzY3JlZW46CiAgICAgICAgIHJldHVybiBXZWJNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNj
cmVlbjsKLSNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCiAgICAgY2FzZSBDb250ZXh0TWVudUl0
ZW1UYWdBZGRIaWdobGlnaHRUb0N1cnJlbnRHcm91cDoKICAgICBjYXNlIENvbnRleHRNZW51SXRl
bVRhZ0FkZEhpZ2hsaWdodFRvTmV3R3JvdXA6CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
Ci0jZW5kaWYKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1NoYXJlTWVudToKICAgICAgICAg
cmV0dXJuIFdlYk1lbnVJdGVtVGFnU2hhcmVNZW51OwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVt
VGFnVG9nZ2xlVmlkZW9FbmhhbmNlZEZ1bGxzY3JlZW46CiAgICAgICAgIHJldHVybiBXZWJNZW51
SXRlbVRhZ1RvZ2dsZVZpZGVvRW5oYW5jZWRGdWxsc2NyZWVuOwotICAgIGNhc2UgQ29udGV4dE1l
bnVJdGVtVGFnUmV2ZWFsSW1hZ2U6CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUcmFuc2xh
dGU6CisgICAgICAgIHJldHVybiBXZWJNZW51SXRlbVRhZ1RyYW5zbGF0ZTsKKyAgICBjYXNlIENv
bnRleHRNZW51SXRlbVRhZ1JldmVhbEltYWdlOgogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OwogCiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1CYXNlQ3VzdG9tVGFnIC4uLiBDb250ZXh0TWVu
dUl0ZW1MYXN0Q3VzdG9tVGFnOgpAQCAtMzYzMiw2ICszNjMzLDkgQEAgc3RhdGljIFJldGFpblB0
cjxOU011dGFibGVBcnJheT4gY3JlYXRlTWVudUl0ZW1zKGNvbnN0IFdlYkNvcmU6OkhpdFRlc3RS
ZXN1bHQmIGgKIAogc3RhdGljIFJldGFpblB0cjxOU01lbnVJdGVtPiBjcmVhdGVNZW51SXRlbShj
b25zdCBXZWJDb3JlOjpIaXRUZXN0UmVzdWx0JiBoaXRUZXN0UmVzdWx0LCBjb25zdCBXZWJDb3Jl
OjpDb250ZXh0TWVudUl0ZW0mIGl0ZW0pCiB7CisgICAgaWYgKGl0ZW0uYWN0aW9uKCkgPT0gV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVHJhbnNsYXRlICYmICFXZWJWaWV3Ll9jYW5IYW5kbGVD
b250ZXh0TWVudVRyYW5zbGF0aW9uKQorICAgICAgICByZXR1cm4gbmlsOworCiAgICAgaWYgKGl0
ZW0uYWN0aW9uKCkgPT0gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU2hhcmVNZW51KQogICAg
ICAgICByZXR1cm4gY3JlYXRlU2hhcmVNZW51SXRlbShoaXRUZXN0UmVzdWx0KTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0
ZS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0
ZS5oCmluZGV4IDliMjk1M2YwYTgyYTQ5YzM2NzQ2ZDkyNTA3YzdiNGMxNmMwZjY3NTYuLmNlMDZl
MDI1Y2Q5MjViMjk4ZDMyNDFjY2IyNGEyZWRlZWI5NWEzMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlVJRGVsZWdhdGVQcml2YXRlLmgKQEAgLTEw
Nyw2ICsxMDcsMTAgQEAgZW51bSB7CiAgICAgV2ViTWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxz
Y3JlZW4sCiAgICAgV2ViTWVudUl0ZW1UYWdTaGFyZU1lbnUsCiAgICAgV2ViTWVudUl0ZW1UYWdU
b2dnbGVWaWRlb0VuaGFuY2VkRnVsbHNjcmVlbiwKKyAgICBXZWJNZW51SXRlbVRhZ0FkZEhpZ2hs
aWdodFRvQ3VycmVudEdyb3VwLAorICAgIFdlYk1lbnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9OZXdH
cm91cCwKKyAgICBXZWJNZW51SXRlbVRhZ1JldmVhbEltYWdlLAorICAgIFdlYk1lbnVJdGVtVGFn
VHJhbnNsYXRlLAogfTsKIAogLy8gRGVwcmVjYXRlZDsgcmVtb3ZlIHdoZW4gdGhlcmUgYXJlIG5v
IG1vcmUgY2xpZW50cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQppbmRleCA4NTAxODZjNzBmNGM2ODRiZTIyYTEwOTYzNWIyYTE5ZDAyYWJmMmExLi45OTBiNzc3
YjYwOGU4MThkZWJkNjgwYzY2M2M1MTgyNmJhOTgyMThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0zNDksNiArMzQ5LDEzIEBACiAjaW1wb3J0IDxX
ZWJDb3JlL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lmg+CiAjZW5kaWYKIAorI2lm
IEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpCisjaW1wb3J0IDxUcmFuc2xhdGlvblVJU2Vy
dmljZXMvTFRVSVRyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIuaD4KKworU09GVF9MSU5LX1BSSVZB
VEVfRlJBTUVXT1JLX09QVElPTkFMKFRyYW5zbGF0aW9uVUlTZXJ2aWNlcykKK1NPRlRfTElOS19D
TEFTU19PUFRJT05BTChUcmFuc2xhdGlvblVJU2VydmljZXMsIExUVUlUcmFuc2xhdGlvblZpZXdD
b250cm9sbGVyKQorI2VuZGlmCisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogI2ltcG9ydCA8
VUlLaXQvVUlDb2xvci5oPgogI2ltcG9ydCA8VUlLaXQvVUlJbWFnZS5oPgpAQCAtOTYyOSwxMiAr
OTYzNiw0MyBAQCAtICh2b2lkKV9jbG9zZVdpbmRvdwogCiAjaWYgSEFWRShUUkFOU0xBVElPTl9V
SV9TRVJWSUNFUykgJiYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCiAKKysgKEJPT0wpX2NhbkhhbmRs
ZUNvbnRleHRNZW51VHJhbnNsYXRpb24KK3sKKyAgICByZXR1cm4gVHJhbnNsYXRpb25VSVNlcnZp
Y2VzTGlicmFyeSgpICYmIFtnZXRMVFVJVHJhbnNsYXRpb25WaWV3Q29udHJvbGxlckNsYXNzKCkg
aXNBdmFpbGFibGVdOworfQorCiAtICh2b2lkKV9oYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9u
Oihjb25zdCBTdHJpbmcmKXRleHQgc2VsZWN0aW9uQm91bmRzOihjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JilzZWxlY3Rpb25Cb3VuZHNJblJvb3RWaWV3IG1lbnVMb2NhdGlvbjooY29uc3QgV2ViQ29y
ZTo6SW50UG9pbnQmKWxvY2F0aW9uSW5Sb290VmlldwogewotICAgIC8vIEZJWE1FICgyMjQ2ODMp
OiBOb3QgaW1wbGVtZW50ZWQgeWV0LgotICAgIFVOVVNFRF9QQVJBTSh0ZXh0KTsKLSAgICBVTlVT
RURfUEFSQU0oc2VsZWN0aW9uQm91bmRzSW5Sb290Vmlldyk7Ci0gICAgVU5VU0VEX1BBUkFNKGxv
Y2F0aW9uSW5Sb290Vmlldyk7CisgICAgaWYgKCFXZWJWaWV3Ll9jYW5IYW5kbGVDb250ZXh0TWVu
dVRyYW5zbGF0aW9uKSB7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgYXV0byB0cmFuc2xhdGlvblZpZXdDb250cm9sbGVyID0gYWRv
cHROUyhbYWxsb2NMVFVJVHJhbnNsYXRpb25WaWV3Q29udHJvbGxlckluc3RhbmNlKCkgaW5pdF0p
OworICAgIGF1dG8gdGV4dFRvVHJhbnNsYXRlID0gYWRvcHROUyhbW05TQXR0cmlidXRlZFN0cmlu
ZyBhbGxvY10gaW5pdFdpdGhTdHJpbmc6dGV4dF0pOworICAgIFt0cmFuc2xhdGlvblZpZXdDb250
cm9sbGVyIHNldFRleHQ6dGV4dFRvVHJhbnNsYXRlLmdldCgpXTsKKyAgICBpZiAoTlNFcXVhbFNp
emVzKFt0cmFuc2xhdGlvblZpZXdDb250cm9sbGVyIHByZWZlcnJlZENvbnRlbnRTaXplXSwgTlNa
ZXJvU2l6ZSkpCisgICAgICAgIFt0cmFuc2xhdGlvblZpZXdDb250cm9sbGVyIHNldFByZWZlcnJl
ZENvbnRlbnRTaXplOk5TTWFrZVNpemUoNDAwLCA0MDApXTsKKworICAgIGF1dG8gY29udmVydGVk
U2VsZWN0aW9uQm91bmRzID0gW3NlbGYgX2NvbnZlcnRSZWN0RnJvbVJvb3RWaWV3OnNlbGVjdGlv
bkJvdW5kc0luUm9vdFZpZXddOworICAgIGF1dG8gY29udmVydGVkTWVudUxvY2F0aW9uID0gW3Nl
bGYgX2NvbnZlcnRQb2ludEZyb21Sb290Vmlldzpsb2NhdGlvbkluUm9vdFZpZXddOworCisgICAg
YXV0byBwb3BvdmVyID0gYWRvcHROUyhbW05TUG9wb3ZlciBhbGxvY10gaW5pdF0pOworICAgIFtw
b3BvdmVyIHNldEJlaGF2aW9yOk5TUG9wb3ZlckJlaGF2aW9yVHJhbnNpZW50XTsKKyAgICBbcG9w
b3ZlciBzZXRBcHBlYXJhbmNlOltzZWxmIGVmZmVjdGl2ZUFwcGVhcmFuY2VdXTsKKyAgICBbcG9w
b3ZlciBzZXRBbmltYXRlczpZRVNdOworICAgIFtwb3BvdmVyIHNldENvbnRlbnRWaWV3Q29udHJv
bGxlcjp0cmFuc2xhdGlvblZpZXdDb250cm9sbGVyLmdldCgpXTsKKyAgICBbcG9wb3ZlciBzZXRD
b250ZW50U2l6ZTpbdHJhbnNsYXRpb25WaWV3Q29udHJvbGxlciBwcmVmZXJyZWRDb250ZW50U2l6
ZV1dOworCisgICAgTlNSZWN0RWRnZSBwcmVmZXJyZWRFZGdlOworICAgIGF1dG8gYWltID0gY29u
dmVydGVkTWVudUxvY2F0aW9uLng7CisgICAgYXV0byBoaWdobGlnaHQgPSBOU01pZFgoY29udmVy
dGVkU2VsZWN0aW9uQm91bmRzKTsKKyAgICBpZiAoYWltID09IGhpZ2hsaWdodCkKKyAgICAgICAg
cHJlZmVycmVkRWRnZSA9IFtzZWxmIHVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb25dID09IE5T
VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvblJpZ2h0VG9MZWZ0ID8gTlNSZWN0RWRnZU1pblgg
OiBOU1JlY3RFZGdlTWF4WDsKKyAgICBlbHNlCisgICAgICAgIHByZWZlcnJlZEVkZ2UgPSBhaW0g
PiBoaWdobGlnaHQgPyBOU1JlY3RFZGdlTWF4WCA6IE5TUmVjdEVkZ2VNaW5YOworCisgICAgW3Bv
cG92ZXIgc2hvd1JlbGF0aXZlVG9SZWN0OmNvbnZlcnRlZFNlbGVjdGlvbkJvdW5kcyBvZlZpZXc6
c2VsZiBwcmVmZXJyZWRFZGdlOnByZWZlcnJlZEVkZ2VdOwogfQogCiAjZW5kaWYgLy8gSEFWRShU
UkFOU0xBVElPTl9VSV9TRVJWSUNFUykgJiYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaAppbmRleCAz
YmIyNDE3ODVmMjdkMTJmZGQwMjcwNTVhYWQ5YzY2MTJjZTdiYTI0Li41NWYwNzE4MjJiYzkyYjFh
OWQ4MTNjM2JjZmE0NThlYTJmZTljZTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViVmlld0ludGVybmFsLmgKQEAgLTE1OCw2ICsxNTgsNyBAQCBXZWJMYXlv
dXRNaWxlc3RvbmVzIGtpdExheW91dE1pbGVzdG9uZXMoT3B0aW9uU2V0PFdlYkNvcmU6OkxheW91
dE1pbGVzdG9uZT4pOwogI2VuZGlmCiAKICNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VT
KSAmJiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKK0Bwcm9wZXJ0eSAoY2xhc3MsIG5vbmF0b21pYywg
cmVhZG9ubHkpIEJPT0wgX2NhbkhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb247CiAtICh2b2lk
KV9oYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uOihjb25zdCBTdHJpbmcmKXRleHQgc2VsZWN0
aW9uQm91bmRzOihjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jilib3VuZHNJblZpZXcgbWVudUxvY2F0
aW9uOihjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpbWVudUxvY2F0aW9uOwogI2VuZGlmCiAK
</data>
<flag name="commit-queue"
          id="446547"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426299</attachid>
            <date>2021-04-16 17:44:12 -0700</date>
            <delta_ts>2021-04-17 18:04:39 -0700</delta_ts>
            <desc>Fix iOS 14/Big Sur builds (2)</desc>
            <filename>bug-224683-20210416174411.patch</filename>
            <type>text/plain</type>
            <size>17825</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODNmYmQ2ZDQ1ZjUyNTky
NTc5NmU1ZTU3NDY3NzUwMmVmMzgzYmEwNC4uZTljMDIxOGVmY2QxMTlkZGEyYmU1NmU1OGFmOTI3
YzZkYmYyNmZlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA0LTE2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gQWRk
IHNvbWUgc3VwcG9ydCBmb3Igd2VicGFnZSB0cmFuc2xhdGlvbiBpbiBXZWJLaXRMZWdhY3kKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDY4MworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNzU2NDE4ODI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGNvbXBpbGUtdGltZSBndWFyZHMgYXJvdW5k
IGBDb250ZXh0TWVudUl0ZW1UYWdBZGRIaWdobGlnaHRUb0N1cnJlbnRHcm91cGAgYW5kCisgICAg
ICAgIGBDb250ZXh0TWVudUl0ZW1UYWdBZGRIaWdobGlnaHRUb05ld0dyb3VwYCwgc28gdGhhdCB3
ZSBjYW4ga2VlcCB0aGVzZSBpbnRlcm5hbCBXZWJDb3JlIGNvbnRleHQgbWVudSB0YWdzIGluIHN5
bmMKKyAgICAgICAgd2l0aCB0aGUgU1BJLWV4cG9zZWQgZW51bSB2YWx1ZXMgaW4gYFdlYlVJRGVs
ZWdhdGVQcml2YXRlLmhgLiBTZWUgV2ViS2l0TGVnYWN5IENoYW5nZUxvZyBmb3IgbW9yZSBkZXRh
aWxzLgorCisgICAgICAgICogcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250cm9sbGVyOjpjb250ZXh0TWVudUl0ZW1TZWxlY3Rl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNvbnRyb2xsZXI6OmNoZWNrT3JFbmFi
bGVJZk5lZWRlZCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmlzVmFsaWRDb250ZXh0TWVudUFjdGlvbik6CisgICAgICAg
ICogcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmg6CisKIDIwMjEtMDQtMTYgIFdlbnNvbiBIc2ll
aCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXSBSZWZhY3RvciBz
b21lIHdlYnBhZ2UgdHJhbnNsYXRpb24gY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAzNjk1ZjBhZGY4YjM2YzE4
MDVlM2JkNDdhMTQwNWU2YmVjMjIyYTQzLi44NjA1YTQxNjg3ZjY1YmJiM2M1MWRiOWY4YWZlZDAy
ZDI2MmU3MmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA0LTE2ICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gQWRkIHNv
bWUgc3VwcG9ydCBmb3Igd2VicGFnZSB0cmFuc2xhdGlvbiBpbiBXZWJLaXRMZWdhY3kKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDY4MworICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNzU2NDE4ODI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHNvbWUgbW9yZSBjb21waWxlLXRpbWUgZ3VhcmRz
LCBub3cgdGhhdCB0aGUgV2ViQ29yZSBlbnVtIGlzIG5vdCBjb25kaXRpb25hbCBvbiBgRU5BQkxF
KEFQUF9ISUdITElHSFQpYC4KKyAgICAgICAgU2VlIFdlYkNvcmUvQ2hhbmdlTG9nIGZvciBtb3Jl
IGluZm9ybWF0aW9uLgorCisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5o
OgorICAgICAgICAoV2ViS2l0Ojp0b0FQSSk6CisgICAgICAgIChXZWJLaXQ6OnRvSW1wbCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6bWVudUl0
ZW1JZGVudGlmaWVyKToKKwogMjAyMS0wNC0xNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVo
QGFwcGxlLmNvbT4KIAogICAgICAgICBbbWFjT1NdIFJlZmFjdG9yIHNvbWUgd2VicGFnZSB0cmFu
c2xhdGlvbiBjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggNWZjZmRlM2RiNTRj
MGQ1YTI0NzFjNGFkODMxMDE5MTQ0N2Q2ZjFhZS4uMDQyOTQyNGMwOWQyOGYzNzNkZDQ1YmIzYTUy
YTVlNTQ0ZjMxMDZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQy
IEBACisyMDIxLTA0LTE2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgor
CisgICAgICAgIFttYWNPU10gQWRkIHNvbWUgc3VwcG9ydCBmb3Igd2VicGFnZSB0cmFuc2xhdGlv
biBpbiBXZWJLaXRMZWdhY3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNDY4MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzU2NDE4ODI+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQg
Zm9yIHRoZSB3ZWJwYWdlIHRyYW5zbGF0aW9uIGNvbnRleHQgbWVudSBpdGVtIGluIFdlYktpdExl
Z2FjeS4gU2VlIGJlbG93IGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBXZWJWaWV3L1dl
YkhUTUxWaWV3Lm1tOgorICAgICAgICAodG9BY3Rpb24pOgorICAgICAgICAodG9UYWcpOgorCisg
ICAgICAgIEludHJvZHVjZSB0aGUgYFdlYk1lbnVJdGVtVGFnVHJhbnNsYXRlYCBlbnVtIHZhbHVl
LCBhbmQgdXNlIGl0IGFzIHRoZSB0YWcgdmFsdWUgd2hlbiBjcmVhdGluZyBhbiBgTlNNZW51SXRl
bWAKKyAgICAgICAgZm9yIHRoZSBUcmFuc2xhdGUgYWN0aW9uLgorCisgICAgICAgIChjcmVhdGVN
ZW51SXRlbSk6CisgICAgICAgICogV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oOgorCisg
ICAgICAgIFVuZm9ydHVuYXRlbHksIGluIG9yZGVyIHRvIHN1cHBvcnQgYSBwYXJ0aWN1bGFyIGlu
dGVybmFsIGNsaWVudCBvZiBXZWJLaXRMZWdhY3ksIHdlIG5lZWQgdG8gZXhwb3NlCisgICAgICAg
IGBXZWJNZW51SXRlbVRhZ1RyYW5zbGF0ZWAgYXMgYW4gZW51bSB2YWx1ZSBpbiB0aGlzIGV4aXN0
aW5nIGVudW1lcmF0aW9uIG9mIGNvbnRleHQgbWVudSBpdGVtIHRhZ3MuIFRoaXMgaXMKKyAgICAg
ICAgYmVjYXVzZSB0aGUgY2xpZW50J3MgaW1wbGVtZW50YXRpb24gb2YgYC13ZWJWaWV3OmNvbnRl
eHRNZW51SXRlbXNGb3JFbGVtZW50OmRlZmF1bHRNZW51SXRlbXM6YCByZWplY3RzIGNvbnRleHQK
KyAgICAgICAgbWVudSBpdGVtcyBieSBkZWZhdWx0LCB1bmxlc3MgdGhlIGl0ZW0gdGFnIGlzIHdp
dGhpbiB0aGUgc2V0IG9mIGl0ZW0gdGFncyB0aGF0IHRoZXkgc3VwcG9ydC4KKworICAgICAgICBU
aGlzIGNsaWVudCB3aWxsIG5lZWQgdG8gYWRkIHRoZSBlbnVtIHZhbHVlIG9mIGBXZWJNZW51SXRl
bVRhZ1RyYW5zbGF0ZWAgaW50byB0aGVpciBhbGxvdy1saXN0LgorCisgICAgICAgICogV2ViVmll
dy9XZWJWaWV3Lm1tOgorICAgICAgICAoK1tXZWJWaWV3IF9jYW5IYW5kbGVDb250ZXh0TWVudVRy
YW5zbGF0aW9uXSk6CisKKyAgICAgICAgU29mdGxpbmsgYWdhaW5zdCBhbmQgY2hlY2sgd2l0aCBg
VHJhbnNsYXRpb25VSVNlcnZpY2VzYCB0byBzZWUgaWYgd2Ugc2hvdWxkIGJlIHNob3dpbmcgdGhl
IFRyYW5zbGF0ZSBtZW51IGl0ZW0uCisKKyAgICAgICAgKC1bV2ViVmlldyBfaGFuZGxlQ29udGV4
dE1lbnVUcmFuc2xhdGlvbjpzZWxlY3Rpb25Cb3VuZHM6bWVudUxvY2F0aW9uOl0pOgorCisgICAg
ICAgIEhhbmRsZSB0aGUgbWVudSBhY3Rpb24gYnkgY3JlYXRpbmcgYW5kIHByZXNlbnRpbmcgYSBu
ZXcgYExUVUlUcmFuc2xhdGlvblZpZXdDb250cm9sbGVyYCB1c2luZyB0aGUgZ2l2ZW4KKyAgICAg
ICAgaW5mb3JtYXRpb24uCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oOgor
CiAyMDIxLTA0LTE2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFttYWNPU10gUmVmYWN0b3Igc29tZSB3ZWJwYWdlIHRyYW5zbGF0aW9uIGNvZGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAppbmRleCA4ZDdk
OTk0NDdjNTMyYzFmMzUyYTk1NjYwYmZlODAwYWIyYWE0YTg3Li4xMWVjMzFmMGJiM2M3Zjg4YzEz
M2M3OThlZjVhOTgxZjY4NTMxYjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuY3BwCkBAIC00NDAsMTQgKzQ0MCwxMiBAQCB2b2lkIENvbnRleHRNZW51
Q29udHJvbGxlcjo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoQ29udGV4dE1lbnVBY3Rpb24gYWN0
aW9uLCBjbwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvblJpZ2h0VG9M
ZWZ0OgogICAgICAgICBmcmFtZS0+ZWRpdG9yKCkuY29tbWFuZCgiTWFrZVRleHRXcml0aW5nRGly
ZWN0aW9uUmlnaHRUb0xlZnQiKS5leGVjdXRlKCk7CiAgICAgICAgIGJyZWFrOwotI2lmIEVOQUJM
RShBUFBfSElHSExJR0hUUykKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0FkZEhpZ2hsaWdo
dFRvQ3VycmVudEdyb3VwOgogICAgICAgICAvLyBGSVhNRTogQWRkIEhpZ2hsaWdodCBMb2dpYwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0FkZEhpZ2hsaWdodFRv
TmV3R3JvdXA6CiAgICAgICAgIC8vIEZJWE1FOiBBZGQgSGlnaGxpZ2h0IExvZ2ljCiAgICAgICAg
IGJyZWFrOwotI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgY2FzZSBDb250ZXh0TWVu
dUl0ZW1UYWdTZWFyY2hJblNwb3RsaWdodDoKICAgICAgICAgbV9jbGllbnQuc2VhcmNoV2l0aFNw
b3RsaWdodCgpOwpAQCAtMTMxNCwxNCArMTMxMiwxMiBAQCB2b2lkIENvbnRleHRNZW51Q29udHJv
bGxlcjo6Y2hlY2tPckVuYWJsZUlmTmVlZGVkKENvbnRleHRNZW51SXRlbSYgaXRlbSkgY29uc3QK
ICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdDaGVja1NwZWxsaW5nV2hpbGVUeXBpbmc6
CiAgICAgICAgICAgICBzaG91bGRDaGVjayA9IGZyYW1lLT5lZGl0b3IoKS5pc0NvbnRpbnVvdXNT
cGVsbENoZWNraW5nRW5hYmxlZCgpOwogICAgICAgICAgICAgYnJlYWs7Ci0jaWYgRU5BQkxFKEFQ
UF9ISUdITElHSFRTKQogICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0FkZEhpZ2hsaWdo
dFRvQ3VycmVudEdyb3VwOgogICAgICAgICAgICAgc2hvdWxkRW5hYmxlID0gZnJhbWUtPnNlbGVj
dGlvbigpLmlzUmFuZ2UoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENvbnRl
eHRNZW51SXRlbVRhZ0FkZEhpZ2hsaWdodFRvTmV3R3JvdXA6CiAgICAgICAgICAgICBzaG91bGRF
bmFibGUgPSBmcmFtZS0+c2VsZWN0aW9uKCkuaXNSYW5nZSgpOwogICAgICAgICAgICAgYnJlYWs7
Ci0jZW5kaWYKICNpZiBQTEFURk9STShDT0NPQSkKICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0
ZW1UYWdTdWJzdGl0dXRpb25zTWVudToKICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdU
cmFuc2Zvcm1hdGlvbnNNZW51OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Q29udGV4dE1lbnVJdGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51
SXRlbS5jcHAKaW5kZXggMDY5NTYyZDIzY2M5Y2M0OWI2Nzk5OTc0ZWRkYzNkYTNjNmZiNThhYi4u
NTQwMGVkM2ZmMjA2MGEwZTdmNjE1YTlmMzQyODE4NGI4YzMwMWE2ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uY3BwCkBAIC0yMjksMTAgKzIyOSw4IEBAIGJv
b2wgaXNWYWxpZENvbnRleHRNZW51QWN0aW9uKENvbnRleHRNZW51QWN0aW9uIGFjdGlvbikKICAg
ICBjYXNlIENvbnRleHRNZW51QWN0aW9uOjpDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9u
RGVmYXVsdDoKICAgICBjYXNlIENvbnRleHRNZW51QWN0aW9uOjpDb250ZXh0TWVudUl0ZW1UYWdU
ZXh0RGlyZWN0aW9uTGVmdFRvUmlnaHQ6CiAgICAgY2FzZSBDb250ZXh0TWVudUFjdGlvbjo6Q29u
dGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvblJpZ2h0VG9MZWZ0OgotI2lmIEVOQUJMRShBUFBf
SElHSExJR0hUUykKICAgICBjYXNlIENvbnRleHRNZW51QWN0aW9uOjpDb250ZXh0TWVudUl0ZW1U
YWdBZGRIaWdobGlnaHRUb0N1cnJlbnRHcm91cDoKICAgICBjYXNlIENvbnRleHRNZW51QWN0aW9u
OjpDb250ZXh0TWVudUl0ZW1UYWdBZGRIaWdobGlnaHRUb05ld0dyb3VwOgotI2VuZGlmCiAjaWYg
UExBVEZPUk0oQ09DT0EpCiAgICAgY2FzZSBDb250ZXh0TWVudUFjdGlvbjo6Q29udGV4dE1lbnVJ
dGVtVGFnQ29ycmVjdFNwZWxsaW5nQXV0b21hdGljYWxseToKICAgICBjYXNlIENvbnRleHRNZW51
QWN0aW9uOjpDb250ZXh0TWVudUl0ZW1UYWdTdWJzdGl0dXRpb25zTWVudToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKaW5kZXggYWM2ZTlkNjc5MDgyM2ZhZmM3NDIx
YmE4NDA0OTM0YjBkNmRmZTRkYi4uZGFjNWMzM2Y0NmVlZmM3YTkyODQzODk3MzkzMjdkMTljMWU4
MjY2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVt
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKQEAgLTE0
NSwxMCArMTQ1LDggQEAgZW51bSBDb250ZXh0TWVudUFjdGlvbiB7CiAgICAgQ29udGV4dE1lbnVJ
dGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuLAogICAgIENvbnRleHRNZW51SXRlbVRhZ1NoYXJl
TWVudSwKICAgICBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0VuaGFuY2VkRnVsbHNjcmVl
biwKLSNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCiAgICAgQ29udGV4dE1lbnVJdGVtVGFnQWRk
SGlnaGxpZ2h0VG9DdXJyZW50R3JvdXAsCiAgICAgQ29udGV4dE1lbnVJdGVtVGFnQWRkSGlnaGxp
Z2h0VG9OZXdHcm91cCwKLSNlbmRpZgogICAgIENvbnRleHRNZW51SXRlbVRhZ1JldmVhbEltYWdl
LAogICAgIENvbnRleHRNZW51SXRlbVRhZ1RyYW5zbGF0ZSwKICAgICBDb250ZXh0TWVudUl0ZW1C
YXNlQ3VzdG9tVGFnID0gNTAwMCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQ
SS9jL1dLU2hhcmVkQVBJQ2FzdC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvV0tTaGFy
ZWRBUElDYXN0LmgKaW5kZXggZWU0MjQ1YzJmMWVkOWU1ZDlmMzhjYzE5OTBjODA0ZjkyNTEwYjFl
YS4uNjNhMmQ3OTg4MGRkMWM0OGMzZjgzNTBmMWRlYjY1ZTUxMjA5YmNhYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgKQEAgLTUwOSwxMiArNTA5LDEw
IEBAIGlubGluZSBXS0NvbnRleHRNZW51SXRlbVRhZyB0b0FQSShXZWJDb3JlOjpDb250ZXh0TWVu
dUFjdGlvbiBhY3Rpb24pCiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRp
YVBsYXlQYXVzZTsKICAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0
ZToKICAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0ZTsKLSNpZiBF
TkFCTEUoQVBQX0hJR0hMSUdIVFMpCiAgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1U
YWdBZGRIaWdobGlnaHRUb0N1cnJlbnRHcm91cDoKICAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRN
ZW51SXRlbVRhZ0FkZEhpZ2hsaWdodFRvQ3VycmVudEdyb3VwOwogICAgIGNhc2UgV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9OZXdHcm91cDoKICAgICAgICAgcmV0dXJu
IGtXS0NvbnRleHRNZW51SXRlbVRhZ0FkZEhpZ2hsaWdodFRvTmV3R3JvdXA7Ci0jZW5kaWYKICNp
ZiBQTEFURk9STShDT0NPQSkKICAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0Nv
cnJlY3RTcGVsbGluZ0F1dG9tYXRpY2FsbHk6CiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVu
dUl0ZW1UYWdDb3JyZWN0U3BlbGxpbmdBdXRvbWF0aWNhbGx5OwpAQCAtNzEzLDEyICs3MTEsMTAg
QEAgaW5saW5lIFdlYkNvcmU6OkNvbnRleHRNZW51QWN0aW9uIHRvSW1wbChXS0NvbnRleHRNZW51
SXRlbVRhZyB0YWcpCiAgICAgICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdN
ZWRpYVBsYXlQYXVzZTsKICAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0ZToK
ICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0ZTsKLSNp
ZiBFTkFCTEUoQVBQX0hJR0hMSUdIVCkKICAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0Fk
ZEhpZ2hsaWdodFRvQ3VycmVudEdyb3VwOgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4
dE1lbnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9DdXJyZW50R3JvdXA7CiAgICAgY2FzZSBrV0tDb250
ZXh0TWVudUl0ZW1UYWdBZGRIaWdobGlnaHRUb05ld0dyb3VwOgogICAgICAgICByZXR1cm4gV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9OZXdHcm91cDsKLSNlbmRpZgog
I2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29ycmVj
dFNwZWxsaW5nQXV0b21hdGljYWxseToKICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRN
ZW51SXRlbVRhZ0NvcnJlY3RTcGVsbGluZ0F1dG9tYXRpY2FsbHk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCAyMDZlNTFiNjA2ZmY1ZTllMTg4Yjk2ZGEyYTlk
ZjAzN2U3YjFjMDgyLi4xNzRhNGI4ZjQwZGNjMzIxYTMxZjUyMTViMWZmZDc1ZWFlYmU5ZjVmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTY3MjUsMTUgKzY3
MjUsMTcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKGNvbnN0
IFdlYkNvbnRleHRNZW51SXRlbURhdGEmIGl0ZW0pCiAgICAgICAgIFRleHRDaGVja2VyOjp0b2dn
bGVTcGVsbGluZ1VJSXNTaG93aW5nKCk7CiAgICAgICAgIHJldHVybjsKIAotI2lmIEVOQUJMRShB
UFBfSElHSExJR0hUUykKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0FkZEhpZ2hsaWdodFRv
TmV3R3JvdXA6CisjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQogICAgICAgICBjcmVhdGVBcHBI
aWdobGlnaHRJblNlbGVjdGVkUmFuZ2UoQ3JlYXRlTmV3R3JvdXBGb3JIaWdobGlnaHQ6Olllcywg
SGlnaGxpZ2h0UmVxdWVzdE9yaWdpbmF0ZWRJbkFwcDo6Tm8pOworI2VuZGlmCiAgICAgICAgIHJl
dHVybjsKIAogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9DdXJyZW50
R3JvdXA6CisjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQogICAgICAgICBjcmVhdGVBcHBIaWdo
bGlnaHRJblNlbGVjdGVkUmFuZ2UoQ3JlYXRlTmV3R3JvdXBGb3JIaWdobGlnaHQ6Ok5vLCBIaWdo
bGlnaHRSZXF1ZXN0T3JpZ2luYXRlZEluQXBwOjpObyk7Ci0gICAgICAgIHJldHVybjsKICNlbmRp
ZgorICAgICAgICByZXR1cm47CiAKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0xlYXJuU3Bl
bGxpbmc6CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdJZ25vcmVTcGVsbGluZzoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFj
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMu
bW0KaW5kZXggNThiM2EzM2MyOWU5OWIzOGYwZTIzNDQ1ZDFjYTcyYmNkYzc1Yjc0OS4uZDVkOWM4
MDQ4YzQ3NTE4MGIyNWYxZTJhMzFhNWU4N2Q2YzVjOGRhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KQEAgLTQwOCwx
MyArNDA4LDEzIEBAIHN0YXRpYyBOU1N0cmluZyAqbWVudUl0ZW1JZGVudGlmaWVyKGNvbnN0IFdl
YkNvcmU6OkNvbnRleHRNZW51QWN0aW9uIGFjdGlvbikKIAogICAgIGNhc2UgQ29udGV4dE1lbnVJ
dGVtVGFnTG9va1VwSW5EaWN0aW9uYXJ5OgogICAgICAgICByZXR1cm4gX1dLTWVudUl0ZW1JZGVu
dGlmaWVyTG9va1VwOwotI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKKwogICAgIGNhc2UgQ29u
dGV4dE1lbnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9DdXJyZW50R3JvdXA6CiAgICAgICAgIHJldHVy
biBfV0tNZW51SXRlbUlkZW50aWZpZXJBZGRIaWdobGlnaHRUb0N1cnJlbnRHcm91cDsKICAgICAg
ICAgCiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdBZGRIaWdobGlnaHRUb05ld0dyb3VwOgog
ICAgICAgICByZXR1cm4gX1dLTWVudUl0ZW1JZGVudGlmaWVyQWRkSGlnaGxpZ2h0VG9OZXdHcm91
cDsKLSNlbmRpZgorCiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdPcGVuRnJhbWVJbk5ld1dp
bmRvdzoKICAgICAgICAgcmV0dXJuIF9XS01lbnVJdGVtSWRlbnRpZmllck9wZW5GcmFtZUluTmV3
V2luZG93OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YkhUTUxWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmll
dy5tbQppbmRleCAyYjhhMjgyMGY4MDliOGFiMzk1ZjY2ZmQ4MDhmN2FkMDhkZWQzYWQzLi42OWY1
NmZhNDZiMTNhNDI5MGM5ZTAyZmE0NmQ5ZmI1NDkwNjc3MTQyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KQEAgLTQyNiw2ICs0MjYsOCBAQCBz
dGF0aWMgT3B0aW9uYWw8V2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb24+IHRvQWN0aW9uKE5TSW50
ZWdlciB0YWcpCiAgICAgICAgIHJldHVybiBDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGU7CiAg
ICAgY2FzZSBXZWJNZW51SXRlbVRhZ0RpY3RhdGlvbkFsdGVybmF0aXZlOgogICAgICAgICByZXR1
cm4gQ29udGV4dE1lbnVJdGVtVGFnRGljdGF0aW9uQWx0ZXJuYXRpdmU7CisgICAgY2FzZSBXZWJN
ZW51SXRlbVRhZ1RyYW5zbGF0ZToKKyAgICAgICAgcmV0dXJuIENvbnRleHRNZW51SXRlbVRhZ1Ry
YW5zbGF0ZTsKICAgICB9CiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0KQEAgLTYwNSwxNyAr
NjA3LDE2IEBAIHN0YXRpYyBPcHRpb25hbDxOU0ludGVnZXI+IHRvVGFnKFdlYkNvcmU6OkNvbnRl
eHRNZW51QWN0aW9uIGFjdGlvbikKICAgICAgICAgcmV0dXJuIFdlYk1lbnVJdGVtVGFnRGljdGF0
aW9uQWx0ZXJuYXRpdmU7CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1
bGxzY3JlZW46CiAgICAgICAgIHJldHVybiBXZWJNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNj
cmVlbjsKLSNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCiAgICAgY2FzZSBDb250ZXh0TWVudUl0
ZW1UYWdBZGRIaWdobGlnaHRUb0N1cnJlbnRHcm91cDoKICAgICBjYXNlIENvbnRleHRNZW51SXRl
bVRhZ0FkZEhpZ2hsaWdodFRvTmV3R3JvdXA6CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
Ci0jZW5kaWYKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1NoYXJlTWVudToKICAgICAgICAg
cmV0dXJuIFdlYk1lbnVJdGVtVGFnU2hhcmVNZW51OwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVt
VGFnVG9nZ2xlVmlkZW9FbmhhbmNlZEZ1bGxzY3JlZW46CiAgICAgICAgIHJldHVybiBXZWJNZW51
SXRlbVRhZ1RvZ2dsZVZpZGVvRW5oYW5jZWRGdWxsc2NyZWVuOwotICAgIGNhc2UgQ29udGV4dE1l
bnVJdGVtVGFnUmV2ZWFsSW1hZ2U6CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUcmFuc2xh
dGU6CisgICAgICAgIHJldHVybiBXZWJNZW51SXRlbVRhZ1RyYW5zbGF0ZTsKKyAgICBjYXNlIENv
bnRleHRNZW51SXRlbVRhZ1JldmVhbEltYWdlOgogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OwogCiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1CYXNlQ3VzdG9tVGFnIC4uLiBDb250ZXh0TWVu
dUl0ZW1MYXN0Q3VzdG9tVGFnOgpAQCAtMzYzMiw2ICszNjMzLDExIEBAIHN0YXRpYyBSZXRhaW5Q
dHI8TlNNdXRhYmxlQXJyYXk+IGNyZWF0ZU1lbnVJdGVtcyhjb25zdCBXZWJDb3JlOjpIaXRUZXN0
UmVzdWx0JiBoCiAKIHN0YXRpYyBSZXRhaW5QdHI8TlNNZW51SXRlbT4gY3JlYXRlTWVudUl0ZW0o
Y29uc3QgV2ViQ29yZTo6SGl0VGVzdFJlc3VsdCYgaGl0VGVzdFJlc3VsdCwgY29uc3QgV2ViQ29y
ZTo6Q29udGV4dE1lbnVJdGVtJiBpdGVtKQogeworI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VS
VklDRVMpCisgICAgaWYgKGl0ZW0uYWN0aW9uKCkgPT0gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVt
VGFnVHJhbnNsYXRlICYmICFXZWJWaWV3Ll9jYW5IYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9u
KQorICAgICAgICByZXR1cm4gbmlsOworI2VuZGlmCisKICAgICBpZiAoaXRlbS5hY3Rpb24oKSA9
PSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdTaGFyZU1lbnUpCiAgICAgICAgIHJldHVybiBj
cmVhdGVTaGFyZU1lbnVJdGVtKGhpdFRlc3RSZXN1bHQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlVJRGVsZWdhdGVQcml2YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlVJRGVsZWdhdGVQcml2YXRlLmgKaW5kZXggOWIy
OTUzZjBhODJhNDljMzY3NDZkOTI1MDdjN2I0YzE2YzBmNjc1Ni4uY2UwNmUwMjVjZDkyNWIyOThk
MzI0MWNjYjI0YTJlZGVlYjk1YTMyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaApAQCAtMTA3LDYgKzEwNywxMCBA
QCBlbnVtIHsKICAgICBXZWJNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbiwKICAgICBX
ZWJNZW51SXRlbVRhZ1NoYXJlTWVudSwKICAgICBXZWJNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRW5o
YW5jZWRGdWxsc2NyZWVuLAorICAgIFdlYk1lbnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9DdXJyZW50
R3JvdXAsCisgICAgV2ViTWVudUl0ZW1UYWdBZGRIaWdobGlnaHRUb05ld0dyb3VwLAorICAgIFdl
Yk1lbnVJdGVtVGFnUmV2ZWFsSW1hZ2UsCisgICAgV2ViTWVudUl0ZW1UYWdUcmFuc2xhdGUsCiB9
OwogCiAvLyBEZXByZWNhdGVkOyByZW1vdmUgd2hlbiB0aGVyZSBhcmUgbm8gbW9yZSBjbGllbnRz
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDg1MDE4
NmM3MGY0YzY4NGJlMjJhMTA5NjM1YjJhMTlkMDJhYmYyYTEuLjk5MGI3NzdiNjA4ZTgxOGRlYmQ2
ODBjNjYzYzUxODI2YmE5ODIxOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0KQEAgLTM0OSw2ICszNDksMTMgQEAKICNpbXBvcnQgPFdlYkNvcmUvUGxheWJh
Y2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQuaD4KICNlbmRpZgogCisjaWYgSEFWRShUUkFOU0xB
VElPTl9VSV9TRVJWSUNFUykKKyNpbXBvcnQgPFRyYW5zbGF0aW9uVUlTZXJ2aWNlcy9MVFVJVHJh
bnNsYXRpb25WaWV3Q29udHJvbGxlci5oPgorCitTT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUktf
T1BUSU9OQUwoVHJhbnNsYXRpb25VSVNlcnZpY2VzKQorU09GVF9MSU5LX0NMQVNTX09QVElPTkFM
KFRyYW5zbGF0aW9uVUlTZXJ2aWNlcywgTFRVSVRyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIpCisj
ZW5kaWYKKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAjaW1wb3J0IDxVSUtpdC9VSUNvbG9y
Lmg+CiAjaW1wb3J0IDxVSUtpdC9VSUltYWdlLmg+CkBAIC05NjI5LDEyICs5NjM2LDQzIEBAIC0g
KHZvaWQpX2Nsb3NlV2luZG93CiAKICNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKSAm
JiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKIAorKyAoQk9PTClfY2FuSGFuZGxlQ29udGV4dE1lbnVU
cmFuc2xhdGlvbgoreworICAgIHJldHVybiBUcmFuc2xhdGlvblVJU2VydmljZXNMaWJyYXJ5KCkg
JiYgW2dldExUVUlUcmFuc2xhdGlvblZpZXdDb250cm9sbGVyQ2xhc3MoKSBpc0F2YWlsYWJsZV07
Cit9CisKIC0gKHZvaWQpX2hhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb246KGNvbnN0IFN0cmlu
ZyYpdGV4dCBzZWxlY3Rpb25Cb3VuZHM6KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKXNlbGVjdGlv
bkJvdW5kc0luUm9vdFZpZXcgbWVudUxvY2F0aW9uOihjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYp
bG9jYXRpb25JblJvb3RWaWV3CiB7Ci0gICAgLy8gRklYTUUgKDIyNDY4Myk6IE5vdCBpbXBsZW1l
bnRlZCB5ZXQuCi0gICAgVU5VU0VEX1BBUkFNKHRleHQpOwotICAgIFVOVVNFRF9QQVJBTShzZWxl
Y3Rpb25Cb3VuZHNJblJvb3RWaWV3KTsKLSAgICBVTlVTRURfUEFSQU0obG9jYXRpb25JblJvb3RW
aWV3KTsKKyAgICBpZiAoIVdlYlZpZXcuX2NhbkhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24p
IHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBhdXRvIHRyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgPSBhZG9wdE5TKFthbGxvY0xU
VUlUcmFuc2xhdGlvblZpZXdDb250cm9sbGVySW5zdGFuY2UoKSBpbml0XSk7CisgICAgYXV0byB0
ZXh0VG9UcmFuc2xhdGUgPSBhZG9wdE5TKFtbTlNBdHRyaWJ1dGVkU3RyaW5nIGFsbG9jXSBpbml0
V2l0aFN0cmluZzp0ZXh0XSk7CisgICAgW3RyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgc2V0VGV4
dDp0ZXh0VG9UcmFuc2xhdGUuZ2V0KCldOworICAgIGlmIChOU0VxdWFsU2l6ZXMoW3RyYW5zbGF0
aW9uVmlld0NvbnRyb2xsZXIgcHJlZmVycmVkQ29udGVudFNpemVdLCBOU1plcm9TaXplKSkKKyAg
ICAgICAgW3RyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgc2V0UHJlZmVycmVkQ29udGVudFNpemU6
TlNNYWtlU2l6ZSg0MDAsIDQwMCldOworCisgICAgYXV0byBjb252ZXJ0ZWRTZWxlY3Rpb25Cb3Vu
ZHMgPSBbc2VsZiBfY29udmVydFJlY3RGcm9tUm9vdFZpZXc6c2VsZWN0aW9uQm91bmRzSW5Sb290
Vmlld107CisgICAgYXV0byBjb252ZXJ0ZWRNZW51TG9jYXRpb24gPSBbc2VsZiBfY29udmVydFBv
aW50RnJvbVJvb3RWaWV3OmxvY2F0aW9uSW5Sb290Vmlld107CisKKyAgICBhdXRvIHBvcG92ZXIg
PSBhZG9wdE5TKFtbTlNQb3BvdmVyIGFsbG9jXSBpbml0XSk7CisgICAgW3BvcG92ZXIgc2V0QmVo
YXZpb3I6TlNQb3BvdmVyQmVoYXZpb3JUcmFuc2llbnRdOworICAgIFtwb3BvdmVyIHNldEFwcGVh
cmFuY2U6W3NlbGYgZWZmZWN0aXZlQXBwZWFyYW5jZV1dOworICAgIFtwb3BvdmVyIHNldEFuaW1h
dGVzOllFU107CisgICAgW3BvcG92ZXIgc2V0Q29udGVudFZpZXdDb250cm9sbGVyOnRyYW5zbGF0
aW9uVmlld0NvbnRyb2xsZXIuZ2V0KCldOworICAgIFtwb3BvdmVyIHNldENvbnRlbnRTaXplOlt0
cmFuc2xhdGlvblZpZXdDb250cm9sbGVyIHByZWZlcnJlZENvbnRlbnRTaXplXV07CisKKyAgICBO
U1JlY3RFZGdlIHByZWZlcnJlZEVkZ2U7CisgICAgYXV0byBhaW0gPSBjb252ZXJ0ZWRNZW51TG9j
YXRpb24ueDsKKyAgICBhdXRvIGhpZ2hsaWdodCA9IE5TTWlkWChjb252ZXJ0ZWRTZWxlY3Rpb25C
b3VuZHMpOworICAgIGlmIChhaW0gPT0gaGlnaGxpZ2h0KQorICAgICAgICBwcmVmZXJyZWRFZGdl
ID0gW3NlbGYgdXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbl0gPT0gTlNVc2VySW50ZXJmYWNl
TGF5b3V0RGlyZWN0aW9uUmlnaHRUb0xlZnQgPyBOU1JlY3RFZGdlTWluWCA6IE5TUmVjdEVkZ2VN
YXhYOworICAgIGVsc2UKKyAgICAgICAgcHJlZmVycmVkRWRnZSA9IGFpbSA+IGhpZ2hsaWdodCA/
IE5TUmVjdEVkZ2VNYXhYIDogTlNSZWN0RWRnZU1pblg7CisKKyAgICBbcG9wb3ZlciBzaG93UmVs
YXRpdmVUb1JlY3Q6Y29udmVydGVkU2VsZWN0aW9uQm91bmRzIG9mVmlldzpzZWxmIHByZWZlcnJl
ZEVkZ2U6cHJlZmVycmVkRWRnZV07CiB9CiAKICNlbmRpZiAvLyBIQVZFKFRSQU5TTEFUSU9OX1VJ
X1NFUlZJQ0VTKSAmJiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0ludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oCmluZGV4IDNiYjI0MTc4NWYyN2Qx
MmZkZDAyNzA1NWFhZDljNjYxMmNlN2JhMjQuLjU1ZjA3MTgyMmJjOTJiMWE5ZDgxM2MzYmNmYTQ1
OGVhMmZlOWNlNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViVmlld0ludGVybmFsLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWV3SW50ZXJuYWwuaApAQCAtMTU4LDYgKzE1OCw3IEBAIFdlYkxheW91dE1pbGVzdG9uZXMg
a2l0TGF5b3V0TWlsZXN0b25lcyhPcHRpb25TZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lPik7
CiAjZW5kaWYKIAogI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShD
T05URVhUX01FTlVTKQorQHByb3BlcnR5IChjbGFzcywgbm9uYXRvbWljLCByZWFkb25seSkgQk9P
TCBfY2FuSGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbjsKIC0gKHZvaWQpX2hhbmRsZUNvbnRl
eHRNZW51VHJhbnNsYXRpb246KGNvbnN0IFN0cmluZyYpdGV4dCBzZWxlY3Rpb25Cb3VuZHM6KGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmKWJvdW5kc0luVmlldyBtZW51TG9jYXRpb246KGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiltZW51TG9jYXRpb247CiAjZW5kaWYKIAo=
</data>
<flag name="review"
          id="446541"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426365</attachid>
            <date>2021-04-17 20:51:57 -0700</date>
            <delta_ts>2021-04-17 21:25:08 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-224683-20210417205156.patch</filename>
            <type>text/plain</type>
            <size>17842</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGY4MmU5NWY1OTkxYzZh
ZDEyZmJkMjMxODM2ZDQ0M2Q3NmM4OGNlMi4uOGY4OWEzOWE0ZTc0ZTQ1MTRkNDZiYjdmYTczZjU1
MmFkZDI5MGQxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA0LTE2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gQWRk
IHNvbWUgc3VwcG9ydCBmb3Igd2VicGFnZSB0cmFuc2xhdGlvbiBpbiBXZWJLaXRMZWdhY3kKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDY4MworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNzU2NDE4ODI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4gQWRsZXIuCisKKyAgICAgICAgUmVtb3ZlIGNvbXBpbGUtdGltZSBndWFyZHMgYXJvdW5kIGBD
b250ZXh0TWVudUl0ZW1UYWdBZGRIaWdobGlnaHRUb0N1cnJlbnRHcm91cGAgYW5kCisgICAgICAg
IGBDb250ZXh0TWVudUl0ZW1UYWdBZGRIaWdobGlnaHRUb05ld0dyb3VwYCwgc28gdGhhdCB3ZSBj
YW4ga2VlcCB0aGVzZSBpbnRlcm5hbCBXZWJDb3JlIGNvbnRleHQgbWVudSB0YWdzIGluIHN5bmMK
KyAgICAgICAgd2l0aCB0aGUgU1BJLWV4cG9zZWQgZW51bSB2YWx1ZXMgaW4gYFdlYlVJRGVsZWdh
dGVQcml2YXRlLmhgLiBTZWUgV2ViS2l0TGVnYWN5IENoYW5nZUxvZyBmb3IgbW9yZSBkZXRhaWxz
LgorCisgICAgICAgICogcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q29udGV4dE1lbnVDb250cm9sbGVyOjpjb250ZXh0TWVudUl0ZW1TZWxlY3RlZCk6
CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNvbnRyb2xsZXI6OmNoZWNrT3JFbmFibGVJ
Zk5lZWRlZCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmlzVmFsaWRDb250ZXh0TWVudUFjdGlvbik6CisgICAgICAgICog
cGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmg6CisKIDIwMjEtMDQtMTcgIFRpbSBOZ3V5ZW4gIDxu
dGltQGFwcGxlLmNvbT4KIAogICAgICAgICBEb24ndCBvbWl0IGNvbmljIGdyYWRpZW50IHN0YXJ0
aW5nIGFuZ2xlIHdoZW4gc2VyaWFsaXppbmcgd2hlbiBzdGFydGluZyBhbmdsZSBpcyB1bmRlciAw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IDE0YWQ5OTU5NDk1NDJmODVhYjRjYTMwMzgwOTNkYWJjNTFhN2UyNTYuLmE2
MWE5OGFiNjUxOWYwYTAyOTY1Yjg3OTM0ZjM5OGJmMmI3ZjZlZWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjIgQEAKKzIwMjEtMDQtMTYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5j
b20+CisKKyAgICAgICAgW21hY09TXSBBZGQgc29tZSBzdXBwb3J0IGZvciB3ZWJwYWdlIHRyYW5z
bGF0aW9uIGluIFdlYktpdExlZ2FjeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI0NjgzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTY0MTg4Mj4K
KworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBSZW1vdmUgc29t
ZSBtb3JlIGNvbXBpbGUtdGltZSBndWFyZHMsIG5vdyB0aGF0IHRoZSBXZWJDb3JlIGVudW0gaXMg
bm90IGNvbmRpdGlvbmFsIG9uIGBFTkFCTEUoQVBQX0hJR0hMSUdIVClgLgorICAgICAgICBTZWUg
V2ViQ29yZS9DaGFuZ2VMb2cgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisKKyAgICAgICAgKiBTaGFy
ZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0Lmg6CisgICAgICAgIChXZWJLaXQ6OnRvQVBJKToKKyAg
ICAgICAgKFdlYktpdDo6dG9JbXBsKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpjb250ZXh0TWVudUl0ZW1TZWxl
Y3RlZCk6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFjLm1t
OgorICAgICAgICAoV2ViS2l0OjptZW51SXRlbUlkZW50aWZpZXIpOgorCiAyMDIxLTA0LTE2ICBS
eW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIERlcGxveSBSZWYvUmVm
UHRyIGluIEVkaXRvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDhkZDdiMDBjNTk3
NWZkMjI5MjZlNDQ2ZmE0MzM0ZGJhMGMzNmIxMWMuLmQ1NjI3ODcxNzgyMDRkZGJmYjFiNjAwYjU2
ODdkZmRjNGUyYjc5OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0
MiBAQAorMjAyMS0wNC0xNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4K
KworICAgICAgICBbbWFjT1NdIEFkZCBzb21lIHN1cHBvcnQgZm9yIHdlYnBhZ2UgdHJhbnNsYXRp
b24gaW4gV2ViS2l0TGVnYWN5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjQ2ODMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1NjQxODgyPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZv
ciB0aGUgd2VicGFnZSB0cmFuc2xhdGlvbiBjb250ZXh0IG1lbnUgaXRlbSBpbiBXZWJLaXRMZWdh
Y3kuIFNlZSBiZWxvdyBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgICogV2ViVmlldy9XZWJI
VE1MVmlldy5tbToKKyAgICAgICAgKHRvQWN0aW9uKToKKyAgICAgICAgKHRvVGFnKToKKworICAg
ICAgICBJbnRyb2R1Y2UgdGhlIGBXZWJNZW51SXRlbVRhZ1RyYW5zbGF0ZWAgZW51bSB2YWx1ZSwg
YW5kIHVzZSBpdCBhcyB0aGUgdGFnIHZhbHVlIHdoZW4gY3JlYXRpbmcgYW4gYE5TTWVudUl0ZW1g
CisgICAgICAgIGZvciB0aGUgVHJhbnNsYXRlIGFjdGlvbi4KKworICAgICAgICAoY3JlYXRlTWVu
dUl0ZW0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaDoKKworICAg
ICAgICBVbmZvcnR1bmF0ZWx5LCBpbiBvcmRlciB0byBzdXBwb3J0IGEgcGFydGljdWxhciBpbnRl
cm5hbCBjbGllbnQgb2YgV2ViS2l0TGVnYWN5LCB3ZSBuZWVkIHRvIGV4cG9zZQorICAgICAgICBg
V2ViTWVudUl0ZW1UYWdUcmFuc2xhdGVgIGFzIGFuIGVudW0gdmFsdWUgaW4gdGhpcyBleGlzdGlu
ZyBlbnVtZXJhdGlvbiBvZiBjb250ZXh0IG1lbnUgaXRlbSB0YWdzLiBUaGlzIGlzCisgICAgICAg
IGJlY2F1c2UgdGhlIGNsaWVudCdzIGltcGxlbWVudGF0aW9uIG9mIGAtd2ViVmlldzpjb250ZXh0
TWVudUl0ZW1zRm9yRWxlbWVudDpkZWZhdWx0TWVudUl0ZW1zOmAgcmVqZWN0cyBjb250ZXh0Cisg
ICAgICAgIG1lbnUgaXRlbXMgYnkgZGVmYXVsdCwgdW5sZXNzIHRoZSBpdGVtIHRhZyBpcyB3aXRo
aW4gdGhlIHNldCBvZiBpdGVtIHRhZ3MgdGhhdCB0aGV5IHN1cHBvcnQuCisKKyAgICAgICAgVGhp
cyBjbGllbnQgd2lsbCBuZWVkIHRvIGFkZCB0aGUgZW51bSB2YWx1ZSBvZiBgV2ViTWVudUl0ZW1U
YWdUcmFuc2xhdGVgIGludG8gdGhlaXIgYWxsb3ctbGlzdC4KKworICAgICAgICAqIFdlYlZpZXcv
V2ViVmlldy5tbToKKyAgICAgICAgKCtbV2ViVmlldyBfY2FuSGFuZGxlQ29udGV4dE1lbnVUcmFu
c2xhdGlvbl0pOgorCisgICAgICAgIFNvZnRsaW5rIGFnYWluc3QgYW5kIGNoZWNrIHdpdGggYFRy
YW5zbGF0aW9uVUlTZXJ2aWNlc2AgdG8gc2VlIGlmIHdlIHNob3VsZCBiZSBzaG93aW5nIHRoZSBU
cmFuc2xhdGUgbWVudSBpdGVtLgorCisgICAgICAgICgtW1dlYlZpZXcgX2hhbmRsZUNvbnRleHRN
ZW51VHJhbnNsYXRpb246c2VsZWN0aW9uQm91bmRzOm1lbnVMb2NhdGlvbjpdKToKKworICAgICAg
ICBIYW5kbGUgdGhlIG1lbnUgYWN0aW9uIGJ5IGNyZWF0aW5nIGFuZCBwcmVzZW50aW5nIGEgbmV3
IGBMVFVJVHJhbnNsYXRpb25WaWV3Q29udHJvbGxlcmAgdXNpbmcgdGhlIGdpdmVuCisgICAgICAg
IGluZm9ybWF0aW9uLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaDoKKwog
MjAyMS0wNC0xNiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBE
ZXBsb3kgUmVmL1JlZlB0ciBpbiBFZGl0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4
dE1lbnVDb250cm9sbGVyLmNwcAppbmRleCA4ZDdkOTk0NDdjNTMyYzFmMzUyYTk1NjYwYmZlODAw
YWIyYWE0YTg3Li4xMWVjMzFmMGJiM2M3Zjg4YzEzM2M3OThlZjVhOTgxZjY4NTMxYjRjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCkBAIC00NDAs
MTQgKzQ0MCwxMiBAQCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6Y29udGV4dE1lbnVJdGVt
U2VsZWN0ZWQoQ29udGV4dE1lbnVBY3Rpb24gYWN0aW9uLCBjbwogICAgIGNhc2UgQ29udGV4dE1l
bnVJdGVtVGFnVGV4dERpcmVjdGlvblJpZ2h0VG9MZWZ0OgogICAgICAgICBmcmFtZS0+ZWRpdG9y
KCkuY29tbWFuZCgiTWFrZVRleHRXcml0aW5nRGlyZWN0aW9uUmlnaHRUb0xlZnQiKS5leGVjdXRl
KCk7CiAgICAgICAgIGJyZWFrOwotI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKICAgICBjYXNl
IENvbnRleHRNZW51SXRlbVRhZ0FkZEhpZ2hsaWdodFRvQ3VycmVudEdyb3VwOgogICAgICAgICAv
LyBGSVhNRTogQWRkIEhpZ2hsaWdodCBMb2dpYwogICAgICAgICBicmVhazsKICAgICBjYXNlIENv
bnRleHRNZW51SXRlbVRhZ0FkZEhpZ2hsaWdodFRvTmV3R3JvdXA6CiAgICAgICAgIC8vIEZJWE1F
OiBBZGQgSGlnaGxpZ2h0IExvZ2ljCiAgICAgICAgIGJyZWFrOwotI2VuZGlmCiAjaWYgUExBVEZP
Uk0oQ09DT0EpCiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdTZWFyY2hJblNwb3RsaWdodDoK
ICAgICAgICAgbV9jbGllbnQuc2VhcmNoV2l0aFNwb3RsaWdodCgpOwpAQCAtMTMxNCwxNCArMTMx
MiwxMiBAQCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6Y2hlY2tPckVuYWJsZUlmTmVlZGVk
KENvbnRleHRNZW51SXRlbSYgaXRlbSkgY29uc3QKICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0
ZW1UYWdDaGVja1NwZWxsaW5nV2hpbGVUeXBpbmc6CiAgICAgICAgICAgICBzaG91bGRDaGVjayA9
IGZyYW1lLT5lZGl0b3IoKS5pc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCgpOwogICAg
ICAgICAgICAgYnJlYWs7Ci0jaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQogICAgICAgICBjYXNl
IENvbnRleHRNZW51SXRlbVRhZ0FkZEhpZ2hsaWdodFRvQ3VycmVudEdyb3VwOgogICAgICAgICAg
ICAgc2hvdWxkRW5hYmxlID0gZnJhbWUtPnNlbGVjdGlvbigpLmlzUmFuZ2UoKTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0FkZEhpZ2hsaWdodFRv
TmV3R3JvdXA6CiAgICAgICAgICAgICBzaG91bGRFbmFibGUgPSBmcmFtZS0+c2VsZWN0aW9uKCku
aXNSYW5nZSgpOwogICAgICAgICAgICAgYnJlYWs7Ci0jZW5kaWYKICNpZiBQTEFURk9STShDT0NP
QSkKICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdTdWJzdGl0dXRpb25zTWVudToKICAg
ICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUcmFuc2Zvcm1hdGlvbnNNZW51OgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5jcHAKaW5kZXggMDY5NTYyZDIzY2M5
Y2M0OWI2Nzk5OTc0ZWRkYzNkYTNjNmZiNThhYi4uNTQwMGVkM2ZmMjA2MGEwZTdmNjE1YTlmMzQy
ODE4NGI4YzMwMWE2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4
dE1lbnVJdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0
ZW0uY3BwCkBAIC0yMjksMTAgKzIyOSw4IEBAIGJvb2wgaXNWYWxpZENvbnRleHRNZW51QWN0aW9u
KENvbnRleHRNZW51QWN0aW9uIGFjdGlvbikKICAgICBjYXNlIENvbnRleHRNZW51QWN0aW9uOjpD
b250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uRGVmYXVsdDoKICAgICBjYXNlIENvbnRleHRN
ZW51QWN0aW9uOjpDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uTGVmdFRvUmlnaHQ6CiAg
ICAgY2FzZSBDb250ZXh0TWVudUFjdGlvbjo6Q29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlv
blJpZ2h0VG9MZWZ0OgotI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKICAgICBjYXNlIENvbnRl
eHRNZW51QWN0aW9uOjpDb250ZXh0TWVudUl0ZW1UYWdBZGRIaWdobGlnaHRUb0N1cnJlbnRHcm91
cDoKICAgICBjYXNlIENvbnRleHRNZW51QWN0aW9uOjpDb250ZXh0TWVudUl0ZW1UYWdBZGRIaWdo
bGlnaHRUb05ld0dyb3VwOgotI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgY2FzZSBD
b250ZXh0TWVudUFjdGlvbjo6Q29udGV4dE1lbnVJdGVtVGFnQ29ycmVjdFNwZWxsaW5nQXV0b21h
dGljYWxseToKICAgICBjYXNlIENvbnRleHRNZW51QWN0aW9uOjpDb250ZXh0TWVudUl0ZW1UYWdT
dWJzdGl0dXRpb25zTWVudToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nv
bnRleHRNZW51SXRlbS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVt
LmgKaW5kZXggYWM2ZTlkNjc5MDgyM2ZhZmM3NDIxYmE4NDA0OTM0YjBkNmRmZTRkYi4uZGFjNWMz
M2Y0NmVlZmM3YTkyODQzODk3MzkzMjdkMTljMWU4MjY2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKQEAgLTE0NSwxMCArMTQ1LDggQEAgZW51bSBDb250ZXh0
TWVudUFjdGlvbiB7CiAgICAgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVu
LAogICAgIENvbnRleHRNZW51SXRlbVRhZ1NoYXJlTWVudSwKICAgICBDb250ZXh0TWVudUl0ZW1U
YWdUb2dnbGVWaWRlb0VuaGFuY2VkRnVsbHNjcmVlbiwKLSNpZiBFTkFCTEUoQVBQX0hJR0hMSUdI
VFMpCiAgICAgQ29udGV4dE1lbnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9DdXJyZW50R3JvdXAsCiAg
ICAgQ29udGV4dE1lbnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9OZXdHcm91cCwKLSNlbmRpZgogICAg
IENvbnRleHRNZW51SXRlbVRhZ1JldmVhbEltYWdlLAogICAgIENvbnRleHRNZW51SXRlbVRhZ1Ry
YW5zbGF0ZSwKICAgICBDb250ZXh0TWVudUl0ZW1CYXNlQ3VzdG9tVGFnID0gNTAwMCwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgKaW5kZXggZWU0MjQ1YzJm
MWVkOWU1ZDlmMzhjYzE5OTBjODA0ZjkyNTEwYjFlYS4uNjNhMmQ3OTg4MGRkMWM0OGMzZjgzNTBm
MWRlYjY1ZTUxMjA5YmNhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2Mv
V0tTaGFyZWRBUElDYXN0LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvV0tTaGFy
ZWRBUElDYXN0LmgKQEAgLTUwOSwxMiArNTA5LDEwIEBAIGlubGluZSBXS0NvbnRleHRNZW51SXRl
bVRhZyB0b0FQSShXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbiBhY3Rpb24pCiAgICAgICAgIHJl
dHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZTsKICAgICBjYXNlIFdlYkNv
cmU6OkNvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0ZToKICAgICAgICAgcmV0dXJuIGtXS0NvbnRl
eHRNZW51SXRlbVRhZ01lZGlhTXV0ZTsKLSNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCiAgICAg
Y2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdBZGRIaWdobGlnaHRUb0N1cnJlbnRHcm91
cDoKICAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0FkZEhpZ2hsaWdodFRvQ3Vy
cmVudEdyb3VwOwogICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQWRkSGlnaGxp
Z2h0VG9OZXdHcm91cDoKICAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0FkZEhp
Z2hsaWdodFRvTmV3R3JvdXA7Ci0jZW5kaWYKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBjYXNl
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0NvcnJlY3RTcGVsbGluZ0F1dG9tYXRpY2FsbHk6
CiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3JyZWN0U3BlbGxpbmdBdXRv
bWF0aWNhbGx5OwpAQCAtNzEzLDEyICs3MTEsMTAgQEAgaW5saW5lIFdlYkNvcmU6OkNvbnRleHRN
ZW51QWN0aW9uIHRvSW1wbChXS0NvbnRleHRNZW51SXRlbVRhZyB0YWcpCiAgICAgICAgIHJldHVy
biBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZTsKICAgICBjYXNlIGtX
S0NvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0ZToKICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVRhZ01lZGlhTXV0ZTsKLSNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVCkKICAg
ICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0FkZEhpZ2hsaWdodFRvQ3VycmVudEdyb3VwOgog
ICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9D
dXJyZW50R3JvdXA7CiAgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdBZGRIaWdobGlnaHRU
b05ld0dyb3VwOgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQWRk
SGlnaGxpZ2h0VG9OZXdHcm91cDsKLSNlbmRpZgogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGNh
c2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29ycmVjdFNwZWxsaW5nQXV0b21hdGljYWxseToKICAg
ICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0NvcnJlY3RTcGVsbGluZ0F1
dG9tYXRpY2FsbHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRl
eCAyMDZlNTFiNjA2ZmY1ZTllMTg4Yjk2ZGEyYTlkZjAzN2U3YjFjMDgyLi4xNzRhNGI4ZjQwZGNj
MzIxYTMxZjUyMTViMWZmZDc1ZWFlYmU5ZjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKQEAgLTY3MjUsMTUgKzY3MjUsMTcgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmIGl0
ZW0pCiAgICAgICAgIFRleHRDaGVja2VyOjp0b2dnbGVTcGVsbGluZ1VJSXNTaG93aW5nKCk7CiAg
ICAgICAgIHJldHVybjsKIAotI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKICAgICBjYXNlIENv
bnRleHRNZW51SXRlbVRhZ0FkZEhpZ2hsaWdodFRvTmV3R3JvdXA6CisjaWYgRU5BQkxFKEFQUF9I
SUdITElHSFRTKQogICAgICAgICBjcmVhdGVBcHBIaWdobGlnaHRJblNlbGVjdGVkUmFuZ2UoQ3Jl
YXRlTmV3R3JvdXBGb3JIaWdobGlnaHQ6OlllcywgSGlnaGxpZ2h0UmVxdWVzdE9yaWdpbmF0ZWRJ
bkFwcDo6Tm8pOworI2VuZGlmCiAgICAgICAgIHJldHVybjsKIAogICAgIGNhc2UgQ29udGV4dE1l
bnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9DdXJyZW50R3JvdXA6CisjaWYgRU5BQkxFKEFQUF9ISUdI
TElHSFRTKQogICAgICAgICBjcmVhdGVBcHBIaWdobGlnaHRJblNlbGVjdGVkUmFuZ2UoQ3JlYXRl
TmV3R3JvdXBGb3JIaWdobGlnaHQ6Ok5vLCBIaWdobGlnaHRSZXF1ZXN0T3JpZ2luYXRlZEluQXBw
OjpObyk7Ci0gICAgICAgIHJldHVybjsKICNlbmRpZgorICAgICAgICByZXR1cm47CiAKICAgICBj
YXNlIENvbnRleHRNZW51SXRlbVRhZ0xlYXJuU3BlbGxpbmc6CiAgICAgY2FzZSBDb250ZXh0TWVu
dUl0ZW1UYWdJZ25vcmVTcGVsbGluZzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KaW5kZXggNThiM2EzM2MyOWU5OWIzOGYw
ZTIzNDQ1ZDFjYTcyYmNkYzc1Yjc0OS4uZDVkOWM4MDQ4YzQ3NTE4MGIyNWYxZTJhMzFhNWU4N2Q2
YzVjOGRhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRl
eHRNZW51UHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkNv
bnRleHRNZW51UHJveHlNYWMubW0KQEAgLTQwOCwxMyArNDA4LDEzIEBAIHN0YXRpYyBOU1N0cmlu
ZyAqbWVudUl0ZW1JZGVudGlmaWVyKGNvbnN0IFdlYkNvcmU6OkNvbnRleHRNZW51QWN0aW9uIGFj
dGlvbikKIAogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnTG9va1VwSW5EaWN0aW9uYXJ5Ogog
ICAgICAgICByZXR1cm4gX1dLTWVudUl0ZW1JZGVudGlmaWVyTG9va1VwOwotI2lmIEVOQUJMRShB
UFBfSElHSExJR0hUUykKKwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnQWRkSGlnaGxpZ2h0
VG9DdXJyZW50R3JvdXA6CiAgICAgICAgIHJldHVybiBfV0tNZW51SXRlbUlkZW50aWZpZXJBZGRI
aWdobGlnaHRUb0N1cnJlbnRHcm91cDsKICAgICAgICAgCiAgICAgY2FzZSBDb250ZXh0TWVudUl0
ZW1UYWdBZGRIaWdobGlnaHRUb05ld0dyb3VwOgogICAgICAgICByZXR1cm4gX1dLTWVudUl0ZW1J
ZGVudGlmaWVyQWRkSGlnaGxpZ2h0VG9OZXdHcm91cDsKLSNlbmRpZgorCiAgICAgY2FzZSBDb250
ZXh0TWVudUl0ZW1UYWdPcGVuRnJhbWVJbk5ld1dpbmRvdzoKICAgICAgICAgcmV0dXJuIF9XS01l
bnVJdGVtSWRlbnRpZmllck9wZW5GcmFtZUluTmV3V2luZG93OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQppbmRleCBkZDcwMTNjMTliMjEzMzky
OGMxZjdkMWFiNmZlNDcxZDJkNzVmNDU4Li44ZTA0NzY1ZDQ4NDc2MjdjMTUwZjBlZDJmOTNhNGI5
MmNiMWJhZGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YkhUTUxWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRN
TFZpZXcubW0KQEAgLTQyNiw2ICs0MjYsOCBAQCBzdGF0aWMgT3B0aW9uYWw8V2ViQ29yZTo6Q29u
dGV4dE1lbnVBY3Rpb24+IHRvQWN0aW9uKE5TSW50ZWdlciB0YWcpCiAgICAgICAgIHJldHVybiBD
b250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGU7CiAgICAgY2FzZSBXZWJNZW51SXRlbVRhZ0RpY3Rh
dGlvbkFsdGVybmF0aXZlOgogICAgICAgICByZXR1cm4gQ29udGV4dE1lbnVJdGVtVGFnRGljdGF0
aW9uQWx0ZXJuYXRpdmU7CisgICAgY2FzZSBXZWJNZW51SXRlbVRhZ1RyYW5zbGF0ZToKKyAgICAg
ICAgcmV0dXJuIENvbnRleHRNZW51SXRlbVRhZ1RyYW5zbGF0ZTsKICAgICB9CiAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKIH0KQEAgLTYwNSwxNyArNjA3LDE2IEBAIHN0YXRpYyBPcHRpb25hbDxO
U0ludGVnZXI+IHRvVGFnKFdlYkNvcmU6OkNvbnRleHRNZW51QWN0aW9uIGFjdGlvbikKICAgICAg
ICAgcmV0dXJuIFdlYk1lbnVJdGVtVGFnRGljdGF0aW9uQWx0ZXJuYXRpdmU7CiAgICAgY2FzZSBD
b250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW46CiAgICAgICAgIHJldHVybiBX
ZWJNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbjsKLSNpZiBFTkFCTEUoQVBQX0hJR0hM
SUdIVFMpCiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdBZGRIaWdobGlnaHRUb0N1cnJlbnRH
cm91cDoKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0FkZEhpZ2hsaWdodFRvTmV3R3JvdXA6
CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0jZW5kaWYKICAgICBjYXNlIENvbnRleHRN
ZW51SXRlbVRhZ1NoYXJlTWVudToKICAgICAgICAgcmV0dXJuIFdlYk1lbnVJdGVtVGFnU2hhcmVN
ZW51OwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9FbmhhbmNlZEZ1bGxz
Y3JlZW46CiAgICAgICAgIHJldHVybiBXZWJNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRW5oYW5jZWRG
dWxsc2NyZWVuOwotICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnUmV2ZWFsSW1hZ2U6CiAgICAg
Y2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUcmFuc2xhdGU6CisgICAgICAgIHJldHVybiBXZWJNZW51
SXRlbVRhZ1RyYW5zbGF0ZTsKKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1JldmVhbEltYWdl
OgogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCiAgICAgY2FzZSBDb250ZXh0TWVudUl0
ZW1CYXNlQ3VzdG9tVGFnIC4uLiBDb250ZXh0TWVudUl0ZW1MYXN0Q3VzdG9tVGFnOgpAQCAtMzYz
Miw2ICszNjMzLDExIEBAIHN0YXRpYyBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+IGNyZWF0ZU1l
bnVJdGVtcyhjb25zdCBXZWJDb3JlOjpIaXRUZXN0UmVzdWx0JiBoCiAKIHN0YXRpYyBSZXRhaW5Q
dHI8TlNNZW51SXRlbT4gY3JlYXRlTWVudUl0ZW0oY29uc3QgV2ViQ29yZTo6SGl0VGVzdFJlc3Vs
dCYgaGl0VGVzdFJlc3VsdCwgY29uc3QgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtJiBpdGVtKQog
eworI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpCisgICAgaWYgKGl0ZW0uYWN0aW9u
KCkgPT0gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVHJhbnNsYXRlICYmICFXZWJWaWV3Ll9j
YW5IYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKQorICAgICAgICByZXR1cm4gbmlsOworI2Vu
ZGlmCisKICAgICBpZiAoaXRlbS5hY3Rpb24oKSA9PSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1U
YWdTaGFyZU1lbnUpCiAgICAgICAgIHJldHVybiBjcmVhdGVTaGFyZU1lbnVJdGVtKGhpdFRlc3RS
ZXN1bHQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlVJRGVsZWdhdGVQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlVJRGVsZWdhdGVQcml2YXRlLmgKaW5kZXggOWIyOTUzZjBhODJhNDljMzY3NDZkOTI1MDdjN2I0
YzE2YzBmNjc1Ni4uY2UwNmUwMjVjZDkyNWIyOThkMzI0MWNjYjI0YTJlZGVlYjk1YTMyMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJVSURlbGVnYXRlUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVUlEZWxlZ2F0
ZVByaXZhdGUuaApAQCAtMTA3LDYgKzEwNywxMCBAQCBlbnVtIHsKICAgICBXZWJNZW51SXRlbVRh
Z1RvZ2dsZVZpZGVvRnVsbHNjcmVlbiwKICAgICBXZWJNZW51SXRlbVRhZ1NoYXJlTWVudSwKICAg
ICBXZWJNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRW5oYW5jZWRGdWxsc2NyZWVuLAorICAgIFdlYk1l
bnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9DdXJyZW50R3JvdXAsCisgICAgV2ViTWVudUl0ZW1UYWdB
ZGRIaWdobGlnaHRUb05ld0dyb3VwLAorICAgIFdlYk1lbnVJdGVtVGFnUmV2ZWFsSW1hZ2UsCisg
ICAgV2ViTWVudUl0ZW1UYWdUcmFuc2xhdGUsCiB9OwogCiAvLyBEZXByZWNhdGVkOyByZW1vdmUg
d2hlbiB0aGVyZSBhcmUgbm8gbW9yZSBjbGllbnRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDU5ZWU0MWM2YTY4MzViNzQyMmMxMDI1ZmZhOTNlZTc3
ODgxNjI3YzkuLjU5Yjg4NjU0Mjk2YTYzMjBmMjQ1MGY1OGIyMDQyYjNhMjNiMGM3Y2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTI1MCw2ICsyNTAs
NyBAQAogI2ltcG9ydCA8d3RmL0hhc2hUcmFpdHMuaD4KICNpbXBvcnQgPHd0Zi9MYW5ndWFnZS5o
PgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KKyNpbXBvcnQgPHd0Zi9NYXRoRXh0cmFzLmg+
CiAjaW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgogI2ltcG9ydCA8d3RmL1JBTVNpemUu
aD4KICNpbXBvcnQgPHd0Zi9SZWZDb3VudGVkTGVha0NvdW50ZXIuaD4KQEAgLTM0OSw2ICszNTAs
MTMgQEAKICNpbXBvcnQgPFdlYkNvcmUvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQu
aD4KICNlbmRpZgogCisjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykKKyNpbXBvcnQg
PFRyYW5zbGF0aW9uVUlTZXJ2aWNlcy9MVFVJVHJhbnNsYXRpb25WaWV3Q29udHJvbGxlci5oPgor
CitTT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUktfT1BUSU9OQUwoVHJhbnNsYXRpb25VSVNlcnZp
Y2VzKQorU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKFRyYW5zbGF0aW9uVUlTZXJ2aWNlcywgTFRV
SVRyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIpCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCiAjaW1wb3J0IDxVSUtpdC9VSUNvbG9yLmg+CiAjaW1wb3J0IDxVSUtpdC9VSUltYWdl
Lmg+CkBAIC05NjI5LDEyICs5NjM3LDQwIEBAIC0gKHZvaWQpX2Nsb3NlV2luZG93CiAKICNpZiBI
QVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKSAmJiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKIAor
KyAoQk9PTClfY2FuSGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbgoreworICAgIHJldHVybiBU
cmFuc2xhdGlvblVJU2VydmljZXNMaWJyYXJ5KCkgJiYgW2dldExUVUlUcmFuc2xhdGlvblZpZXdD
b250cm9sbGVyQ2xhc3MoKSBpc0F2YWlsYWJsZV07Cit9CisKIC0gKHZvaWQpX2hhbmRsZUNvbnRl
eHRNZW51VHJhbnNsYXRpb246KGNvbnN0IFN0cmluZyYpdGV4dCBzZWxlY3Rpb25Cb3VuZHM6KGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmKXNlbGVjdGlvbkJvdW5kc0luUm9vdFZpZXcgbWVudUxvY2F0
aW9uOihjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpbG9jYXRpb25JblJvb3RWaWV3CiB7Ci0gICAg
Ly8gRklYTUUgKDIyNDY4Myk6IE5vdCBpbXBsZW1lbnRlZCB5ZXQuCi0gICAgVU5VU0VEX1BBUkFN
KHRleHQpOwotICAgIFVOVVNFRF9QQVJBTShzZWxlY3Rpb25Cb3VuZHNJblJvb3RWaWV3KTsKLSAg
ICBVTlVTRURfUEFSQU0obG9jYXRpb25JblJvb3RWaWV3KTsKKyAgICBpZiAoIVdlYlZpZXcuX2Nh
bkhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24pIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIHRyYW5zbGF0aW9uVmll
d0NvbnRyb2xsZXIgPSBhZG9wdE5TKFthbGxvY0xUVUlUcmFuc2xhdGlvblZpZXdDb250cm9sbGVy
SW5zdGFuY2UoKSBpbml0XSk7CisgICAgW3RyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgc2V0VGV4
dDphZG9wdE5TKFtbTlNBdHRyaWJ1dGVkU3RyaW5nIGFsbG9jXSBpbml0V2l0aFN0cmluZzp0ZXh0
XSkuZ2V0KCldOworCisgICAgYXV0byBjb252ZXJ0ZWRTZWxlY3Rpb25Cb3VuZHMgPSBbc2VsZiBf
Y29udmVydFJlY3RGcm9tUm9vdFZpZXc6c2VsZWN0aW9uQm91bmRzSW5Sb290Vmlld107CisgICAg
YXV0byBjb252ZXJ0ZWRNZW51TG9jYXRpb24gPSBbc2VsZiBfY29udmVydFBvaW50RnJvbVJvb3RW
aWV3OmxvY2F0aW9uSW5Sb290Vmlld107CisKKyAgICBhdXRvIHBvcG92ZXIgPSBhZG9wdE5TKFtb
TlNQb3BvdmVyIGFsbG9jXSBpbml0XSk7CisgICAgW3BvcG92ZXIgc2V0QmVoYXZpb3I6TlNQb3Bv
dmVyQmVoYXZpb3JUcmFuc2llbnRdOworICAgIFtwb3BvdmVyIHNldEFwcGVhcmFuY2U6c2VsZi5l
ZmZlY3RpdmVBcHBlYXJhbmNlXTsKKyAgICBbcG9wb3ZlciBzZXRBbmltYXRlczpZRVNdOworICAg
IFtwb3BvdmVyIHNldENvbnRlbnRWaWV3Q29udHJvbGxlcjp0cmFuc2xhdGlvblZpZXdDb250cm9s
bGVyLmdldCgpXTsKKyAgICBbcG9wb3ZlciBzZXRDb250ZW50U2l6ZTpbdHJhbnNsYXRpb25WaWV3
Q29udHJvbGxlciBwcmVmZXJyZWRDb250ZW50U2l6ZV1dOworCisgICAgTlNSZWN0RWRnZSBwcmVm
ZXJyZWRFZGdlOworICAgIGF1dG8gYWltID0gY29udmVydGVkTWVudUxvY2F0aW9uLng7CisgICAg
YXV0byBoaWdobGlnaHQgPSBOU01pZFgoY29udmVydGVkU2VsZWN0aW9uQm91bmRzKTsKKyAgICBp
ZiAoV1RGOjphcmVFc3NlbnRpYWxseUVxdWFsPENHRmxvYXQ+KGFpbSwgaGlnaGxpZ2h0KSkKKyAg
ICAgICAgcHJlZmVycmVkRWRnZSA9IHNlbGYudXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbiA9
PSBOU1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb25SaWdodFRvTGVmdCA/IE5TUmVjdEVkZ2VN
aW5YIDogTlNSZWN0RWRnZU1heFg7CisgICAgZWxzZQorICAgICAgICBwcmVmZXJyZWRFZGdlID0g
YWltID4gaGlnaGxpZ2h0ID8gTlNSZWN0RWRnZU1heFggOiBOU1JlY3RFZGdlTWluWDsKKworICAg
IFtwb3BvdmVyIHNob3dSZWxhdGl2ZVRvUmVjdDpjb252ZXJ0ZWRTZWxlY3Rpb25Cb3VuZHMgb2ZW
aWV3OnNlbGYgcHJlZmVycmVkRWRnZTpwcmVmZXJyZWRFZGdlXTsKIH0KIAogI2VuZGlmIC8vIEhB
VkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwu
aCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0ludGVybmFsLmgKaW5k
ZXggM2JiMjQxNzg1ZjI3ZDEyZmRkMDI3MDU1YWFkOWM2NjEyY2U3YmEyNC4uNTVmMDcxODIyYmM5
MmIxYTlkODEzYzNiY2ZhNDU4ZWEyZmU5Y2U0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oCkBAIC0xNTgsNiArMTU4LDcgQEAgV2Vi
TGF5b3V0TWlsZXN0b25lcyBraXRMYXlvdXRNaWxlc3RvbmVzKE9wdGlvblNldDxXZWJDb3JlOjpM
YXlvdXRNaWxlc3RvbmU+KTsKICNlbmRpZgogCiAjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJW
SUNFUykgJiYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCitAcHJvcGVydHkgKGNsYXNzLCBub25hdG9t
aWMsIHJlYWRvbmx5KSBCT09MIF9jYW5IYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uOwogLSAo
dm9pZClfaGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbjooY29uc3QgU3RyaW5nJil0ZXh0IHNl
bGVjdGlvbkJvdW5kczooY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpYm91bmRzSW5WaWV3IG1lbnVM
b2NhdGlvbjooY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKW1lbnVMb2NhdGlvbjsKICNlbmRpZgog
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>