<?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>234065</bug_id>
          
          <creation_ts>2021-12-08 19:38:43 -0800</creation_ts>
          <short_desc>Add a way to write a `SharedBuffer` to the Pasteboard</short_desc>
          <delta_ts>2021-12-10 11:05:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>191379</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>hi</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1821958</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-12-08 19:38:43 -0800</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821960</commentid>
    <comment_count>1</comment_count>
      <attachid>446490</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-12-08 19:52:09 -0800</bug_when>
    <thetext>Created attachment 446490
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821980</commentid>
    <comment_count>2</comment_count>
      <attachid>446496</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-12-08 20:45:44 -0800</bug_when>
    <thetext>Created attachment 446496
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821999</commentid>
    <comment_count>3</comment_count>
      <attachid>446496</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-08 22:13:18 -0800</bug_when>
    <thetext>Comment on attachment 446496
Patch

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

&gt; Source/WebCore/platform/ios/PlatformPasteboardIOS.mm:553
&gt; +#if !PLATFORM(MACCATALYST)
&gt; +    [representationsToRegister addData:[webIOSPastePboardType dataUsingEncoding:NSUTF8StringEncoding] forType:webIOSPastePboardType];
&gt; +#endif

I&apos;m not sure why we need to preserve this bit of &quot;history&quot; in modern code.

That said, this iOS-specific code is not going to be exercised by anything, right? If that&apos;s the case, should we just leave it as a method stub?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822406</commentid>
    <comment_count>4</comment_count>
      <attachid>446626</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-12-09 16:10:04 -0800</bug_when>
    <thetext>Created attachment 446626
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822823</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-10 11:04:12 -0800</bug_when>
    <thetext>Committed r286861 (245094@main): &lt;https://commits.webkit.org/245094@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 446626.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822825</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-10 11:05:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/86330756&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446490</attachid>
            <date>2021-12-08 19:52:09 -0800</date>
            <delta_ts>2021-12-08 20:48:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234065-20211208205208.patch</filename>
            <type>text/plain</type>
            <size>29583</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5OTFhMTNmZmE0NDIyNjlkNjg0ODdmODY5ZTM1YWVhZTg4NWZlM2RmLi40
OTMwZGZkYTdiMWQwZTc4ZjI0MzM4ODMzYTVkYmE2NzgzMzI5MzgwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDQgQEAKKzIwMjEtMTItMDggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIEFkZCBhIHdheSB0byB3cml0ZSBhIGBTaGFyZWRCdWZmZXJgIHRvIHRoZSBQ
YXN0ZWJvYXJkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzQwNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbiBvcmRlciB0byBtYXRjaCB0aGUgV0sxIGltcGxlbWVudGF0aW9uIG9mIGAtcGFzdGVGb250
OmAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE5MTM3OT4sIHdlCisgICAgICAgIG5lZWQgdG8gYmUg
YWJsZSB0byB3cml0ZSBhIGBTaGFyZWRCdWZmZXJgICh3aXRoIGFuIGFzc29jaWF0ZWQgdHlwZSkg
dG8gdGhlIGZvbnQgcGFzdGVib2FyZC4KKworICAgICAgICBDcmVhdGUgYSBgc3RydWN0IFBhc3Rl
Ym9hcmRCdWZmZXJgIHRvIHdyYXAgdGhlIGBTaGFyZWRCdWZmZXJgIGFuZCBgU3RyaW5nIHR5cGVg
IChhbmQgYQorICAgICAgICBgU3RyaW5nIGNvbnRlbnRPcmlnaW5gIG9uIENvY29hIHBsYXRmb3Jt
cywgd2hpY2ggaXMgdXNlZCB0byBkZWNpZGUgd2hldGhlciB0byBzaG93IGEgIlBhc3RlIgorICAg
ICAgICBjYWxsb3V0IHRvIHRoZSB1c2VyIGFzIGEgZ2F0ZSBvbiBjcm9zc29yaWdpbiBjb250ZW50
IHNoYXJpbmcpIGluIGEgc2luZ2xlIG9iamVjdC4KKworICAgICAgICBUaG91Z2ggaXQgaXNuJ3Qg
dXNlZCBpbiB0aGlzIHBhdGNoLCBgLXBhc3RlRm9udDpgIDxodHRwczovL3dlYmtpdC5vcmcvYi8x
OTEzNzk+IHdpbGwgdXNlCisgICAgICAgIHRoaXMgdG8gd3JpdGUgUlRGIGRhdGEgKHdoaWNoIGNv
bnRhaW5zIHRoZSBuZWNlc3NhcnkgZm9udCBkYXRhKS4KKworICAgICAgICBObyBjaGFuZ2UgaW4g
YmVoYXZpb3IuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9QYXN0ZWJvYXJkLmg6CisgICAgICAgICog
cGxhdGZvcm0vUGFzdGVib2FyZC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbGlid3BlL1Bhc3Rl
Ym9hcmRMaWJXUEUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6d3JpdGUpOgor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBhc3RlYm9hcmQ6OndyaXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvUGFzdGVib2Fy
ZElPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OndyaXRlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBhc3Rl
Ym9hcmQ6OndyaXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vUGFzdGVib2FyZFdpbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjp3cml0ZSk6CisgICAgICAgICogcGxhdGZv
cm0vU3RhdGljUGFzdGVib2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL1N0YXRpY1Bhc3RlYm9h
cmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RhdGljUGFzdGVib2FyZDo6d3JpdGUpOgorCisg
ICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1QYXN0ZWJvYXJkLmg6CisgICAgICAgICogcGxhdGZv
cm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRm
b3JtUGFzdGVib2FyZDo6d3JpdGUpOgorICAgICAgICAqIHBsYXRmb3JtL1Bhc3RlYm9hcmRTdHJh
dGVneS5oOgorICAgICAgICBBZGQgc3BlY2lhbCBoYW5kbGluZyBvZiBgUGFzdGVib2FyZEJ1ZmZl
cmAgZm9yIGlPUy4KKwogMjAyMS0xMi0wOCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBbVlRUXSBGaXggdmFyaW91cyBpc3N1ZXMgd2l0aCBjb21wbGljYXRlZCBy
ZW5kZXJpbmcgb2YgVlRUIGN1ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNWJmODA5ZTZhMjA2YzUwMjE1NzM3MzAw
NTA0YzRhMzhhMjU5ZjcwNy4uZmQyMjEyMmMzY2E4NTA3N2Q1ZGFlMDAwNGY0NzRjYTUxOGE2YTY5
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAyMS0xMi0wOCAgRGV2aW4gUm91c3NvICA8
ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgd2F5IHRvIHdyaXRlIGEgYFNoYXJl
ZEJ1ZmZlcmAgdG8gdGhlIFBhc3RlYm9hcmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzNDA2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEluIG9yZGVyIHRvIG1hdGNoIHRoZSBXSzEgaW1wbGVtZW50YXRp
b24gb2YgYC1wYXN0ZUZvbnQ6YCA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTkxMzc5Piwgd2UKKyAg
ICAgICAgbmVlZCB0byBiZSBhYmxlIHRvIHdyaXRlIGEgYFNoYXJlZEJ1ZmZlcmAgKHdpdGggYW4g
YXNzb2NpYXRlZCB0eXBlKSB0byB0aGUgZm9udCBwYXN0ZWJvYXJkLgorCisgICAgICAgIENyZWF0
ZSBhIGBzdHJ1Y3QgUGFzdGVib2FyZEJ1ZmZlcmAgdG8gd3JhcCB0aGUgYFNoYXJlZEJ1ZmZlcmAg
YW5kIGBTdHJpbmcgdHlwZWAgKGFuZCBhCisgICAgICAgIGBTdHJpbmcgY29udGVudE9yaWdpbmAg
b24gQ29jb2EgcGxhdGZvcm1zLCB3aGljaCBpcyB1c2VkIHRvIGRlY2lkZSB3aGV0aGVyIHRvIHNo
b3cgYSAiUGFzdGUiCisgICAgICAgIGNhbGxvdXQgdG8gdGhlIHVzZXIgYXMgYSBnYXRlIG9uIGNy
b3Nzb3JpZ2luIGNvbnRlbnQgc2hhcmluZykgaW4gYSBzaW5nbGUgb2JqZWN0LgorCisgICAgICAg
IFRob3VnaCBpdCBpc24ndCB1c2VkIGluIHRoaXMgcGF0Y2gsIGAtcGFzdGVGb250OmAgPGh0dHBz
Oi8vd2Via2l0Lm9yZy9iLzE5MTM3OT4gd2lsbCB1c2UKKyAgICAgICAgdGhpcyB0byB3cml0ZSBS
VEYgZGF0YSAod2hpY2ggY29udGFpbnMgdGhlIG5lY2Vzc2FyeSBmb250IGRhdGEpLgorCisgICAg
ICAgIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21l
c3NhZ2VzLnB5OgorICAgICAgICAoaGVhZGVyc19mb3JfdHlwZSk6CisgICAgICAgIEluZGljYXRl
IHdoaWNoIGhlYWRlciBpcyBhc3NvY2lhdGVkIHdpdGggYFBhc3RlYm9hcmRCdWZmZXJgLgorCisg
ICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFNoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVy
PFBhc3RlYm9hcmRCdWZmZXI+OjplbmNvZGUpOiBBZGRlZC4KKyAgICAgICAgKElQQzo6QXJndW1l
bnRDb2RlcjxQYXN0ZWJvYXJkQnVmZmVyPjo6ZGVjb2RlKTogQWRkZWQuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2Vi
UGFzdGVib2FyZFByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhc3RlYm9hcmRQ
cm94eTo6d3JpdGVCdWZmZXJUb1Bhc3RlYm9hcmQpOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZCk6Cisg
ICAgICAgIEFkZCBzcGVjaWFsIGhhbmRsaW5nIG9mIGBQYXN0ZWJvYXJkQnVmZmVyYCBmb3IgaU9T
LgorCiAyMDIxLTEyLTA4ICBKIFBhc2NvZSAgPGpfcGFzY29lQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbV2ViQXV0aG5dIENvbnNpZGVyIHN1cHBvcnQgZm9yIHRoZSBkaXNwbGF5TmFtZSBmb3IgRklE
TyBhdXRoZW50aWNhdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggZDVjOGYyMTY1
OTNmNzUzODczYTVlYjFiMTJlN2Y0MjE2NjY5YmNlYy4uNzU1ZmVlZmMxZjBkYzAxN2Y2Y2FjNDhk
ZTE0MzhlNjVjMzBjMTE0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI3IEBACisyMDIxLTEyLTA4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBBZGQgYSB3YXkgdG8gd3JpdGUgYSBgU2hhcmVkQnVmZmVyYCB0byB0aGUgUGFzdGVi
b2FyZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0
MDY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4g
b3JkZXIgdG8gbWF0Y2ggdGhlIFdLMSBpbXBsZW1lbnRhdGlvbiBvZiBgLXBhc3RlRm9udDpgIDxo
dHRwczovL3dlYmtpdC5vcmcvYi8xOTEzNzk+LCB3ZQorICAgICAgICBuZWVkIHRvIGJlIGFibGUg
dG8gd3JpdGUgYSBgU2hhcmVkQnVmZmVyYCAod2l0aCBhbiBhc3NvY2lhdGVkIHR5cGUpIHRvIHRo
ZSBmb250IHBhc3RlYm9hcmQuCisKKyAgICAgICAgQ3JlYXRlIGEgYHN0cnVjdCBQYXN0ZWJvYXJk
QnVmZmVyYCB0byB3cmFwIHRoZSBgU2hhcmVkQnVmZmVyYCBhbmQgYFN0cmluZyB0eXBlYCAoYW5k
IGEKKyAgICAgICAgYFN0cmluZyBjb250ZW50T3JpZ2luYCBvbiBDb2NvYSBwbGF0Zm9ybXMsIHdo
aWNoIGlzIHVzZWQgdG8gZGVjaWRlIHdoZXRoZXIgdG8gc2hvdyBhICJQYXN0ZSIKKyAgICAgICAg
Y2FsbG91dCB0byB0aGUgdXNlciBhcyBhIGdhdGUgb24gY3Jvc3NvcmlnaW4gY29udGVudCBzaGFy
aW5nKSBpbiBhIHNpbmdsZSBvYmplY3QuCisKKyAgICAgICAgVGhvdWdoIGl0IGlzbid0IHVzZWQg
aW4gdGhpcyBwYXRjaCwgYC1wYXN0ZUZvbnQ6YCA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTkxMzc5
PiB3aWxsIHVzZQorICAgICAgICB0aGlzIHRvIHdyaXRlIFJURiBkYXRhICh3aGljaCBjb250YWlu
cyB0aGUgbmVjZXNzYXJ5IGZvbnQgZGF0YSkuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2
aW9yLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmg6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tOgorICAg
ICAgICAoV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZCk6CisgICAgICAg
IEFkZCBzcGVjaWFsIGhhbmRsaW5nIG9mIGBQYXN0ZWJvYXJkQnVmZmVyYCBmb3IgaU9TLgorCiAy
MDIxLTEyLTA4ICBUcnVpdHQgU2F2ZWxsICA8dHNhdmVsbEBhcHBsZS5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyODY2MzIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3Rl
Ym9hcmQuY3BwCmluZGV4IDE1NzMxZWIyM2ZhNzY5NDk2MGRkODA0OTZmYThmMmY5ZThjNzc4MGYu
LmJkZDEwNzAzMzA4MzQ4NjgzZWI1MTAwMjQ3M2VkODI2OTgxYmUyOWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Bhc3RlYm9hcmQuY3BwCkBAIC0zOCw2ICszOCwxMCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBQYXN0ZWJvYXJkSW1hZ2U6OlBhc3RlYm9hcmRJbWFnZSgpID0gZGVmYXVsdDsKIFBh
c3RlYm9hcmRJbWFnZTo6flBhc3RlYm9hcmRJbWFnZSgpID0gZGVmYXVsdDsKIAorLy8gTWFraW5n
IHRoaXMgbm9uLWlubGluZSBzbyB0aGF0IFdlYktpdCAyJ3MgZGVjb2RpbmcgZG9lc24ndCBoYXZl
IHRvIGluY2x1ZGUgU2hhcmVkQnVmZmVyLmguCitQYXN0ZWJvYXJkQnVmZmVyOjpQYXN0ZWJvYXJk
QnVmZmVyKCkgPSBkZWZhdWx0OworUGFzdGVib2FyZEJ1ZmZlcjo6flBhc3RlYm9hcmRCdWZmZXIo
KSA9IGRlZmF1bHQ7CisKIGJvb2wgUGFzdGVib2FyZDo6aXNTYWZlVHlwZUZvckRPTVRvUmVhZEFu
ZFdyaXRlKGNvbnN0IFN0cmluZyYgdHlwZSkKIHsKICAgICByZXR1cm4gdHlwZSA9PSAidGV4dC9w
bGFpbiIgfHwgdHlwZSA9PSAidGV4dC9odG1sIiB8fCB0eXBlID09ICJ0ZXh0L3VyaS1saXN0IjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCA3ZDI0N2RjZDFhMTZmMzQyYzE3
NTRjNDVjNGE3MzUyOWJmOGY3MWIyLi5iODZiMzgwNTRhMGRkYzQ3OWY0ZmY4NTNhYmM5NzJlZTBm
ZjU5YTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCkBAIC0xMzUsNiArMTM1
LDE3IEBAIHN0cnVjdCBQYXN0ZWJvYXJkSW1hZ2UgewogICAgIEZsb2F0U2l6ZSBpbWFnZVNpemU7
CiB9OwogCitzdHJ1Y3QgUGFzdGVib2FyZEJ1ZmZlciB7CisgICAgV0VCQ09SRV9FWFBPUlQgUGFz
dGVib2FyZEJ1ZmZlcigpOworICAgIFdFQkNPUkVfRVhQT1JUIH5QYXN0ZWJvYXJkQnVmZmVyKCk7
CisKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBTdHJpbmcgY29udGVudE9yaWdpbjsKKyNlbmRp
ZgorICAgIFN0cmluZyB0eXBlOworICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGRhdGE7Cit9Owor
CiAvLyBGb3IgcmVhZGluZyBmcm9tIHRoZSBwYXN0ZWJvYXJkLgogCiBjbGFzcyBQYXN0ZWJvYXJk
V2ViQ29udGVudFJlYWRlciB7CkBAIC0yMjMsNiArMjM0LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgV0VCQ09SRV9FWFBPUlQgdm9pZCB3cml0ZShjb25zdCBQYXN0ZWJvYXJkVVJMJik7CiAgICAg
dmlydHVhbCBXRUJDT1JFX0VYUE9SVCB2b2lkIHdyaXRlVHJ1c3R3b3J0aHlXZWJVUkxzUGJvYXJk
VHlwZShjb25zdCBQYXN0ZWJvYXJkVVJMJik7CiAgICAgdmlydHVhbCBXRUJDT1JFX0VYUE9SVCB2
b2lkIHdyaXRlKGNvbnN0IFBhc3RlYm9hcmRJbWFnZSYpOworICAgIHZpcnR1YWwgV0VCQ09SRV9F
WFBPUlQgdm9pZCB3cml0ZShjb25zdCBQYXN0ZWJvYXJkQnVmZmVyJik7CiAgICAgdmlydHVhbCBX
RUJDT1JFX0VYUE9SVCB2b2lkIHdyaXRlKGNvbnN0IFBhc3RlYm9hcmRXZWJDb250ZW50Jik7CiAK
ICAgICB2aXJ0dWFsIFdFQkNPUkVfRVhQT1JUIHZvaWQgd3JpdGVDdXN0b21EYXRhKGNvbnN0IFZl
Y3RvcjxQYXN0ZWJvYXJkQ3VzdG9tRGF0YT4mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
UGFzdGVib2FyZFN0cmF0ZWd5LmgKaW5kZXggMWMwNzI2ZmViM2UwMmFlZDMyYjQ2ZjI2MmJjZGEx
NjlkNjcyZWIyYy4uNjc4MDY4ZmMzNGM4NzQ0YmIxZjI2NTNmZWRhNWZjYzNhMTFmZGY4YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZFN0cmF0ZWd5LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZFN0cmF0ZWd5LmgKQEAgLTM1LDYg
KzM1LDcgQEAgY2xhc3MgUGFzdGVib2FyZENvbnRleHQ7CiBjbGFzcyBQYXN0ZWJvYXJkQ3VzdG9t
RGF0YTsKIGNsYXNzIFNlbGVjdGlvbkRhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CitzdHJ1Y3Qg
UGFzdGVib2FyZEJ1ZmZlcjsKIHN0cnVjdCBQYXN0ZWJvYXJkSW1hZ2U7CiBzdHJ1Y3QgUGFzdGVi
b2FyZEl0ZW1JbmZvOwogc3RydWN0IFBhc3RlYm9hcmRVUkw7CkBAIC00Niw2ICs0Nyw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgd3JpdGVUb1Bhc3RlYm9hcmQoY29uc3QgUGFzdGVib2Fy
ZFVSTCYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFBhc3RlYm9hcmRDb250
ZXh0KikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB3cml0ZVRvUGFzdGVib2FyZChjb25zdCBQYXN0
ZWJvYXJkV2ViQ29udGVudCYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFBh
c3RlYm9hcmRDb250ZXh0KikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB3cml0ZVRvUGFzdGVib2Fy
ZChjb25zdCBQYXN0ZWJvYXJkSW1hZ2UmLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBj
b25zdCBQYXN0ZWJvYXJkQ29udGV4dCopID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgd3JpdGVUb1Bh
c3RlYm9hcmQoY29uc3QgUGFzdGVib2FyZEJ1ZmZlciYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2Fy
ZE5hbWUsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0KikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB3
cml0ZVRvUGFzdGVib2FyZChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJp
bmcmLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBQYXN0ZWJvYXJkQ29udGV4
dCopID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlU3VwcG9ydGVkVHlwZUlkZW50aWZpZXJz
KGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBpZGVudGlmaWVycywgY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkTmFtZSwgY29uc3QgUGFzdGVib2FyZENvbnRleHQqKSA9IDA7CiAjZW5kaWYgLy8gUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtUGFzdGVib2FyZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1QYXN0ZWJv
YXJkLmgKaW5kZXggN2EyYTMxMDA3NDI1MDAyNDNiYjQ2ZmY1OTg2ODYxZTg0YTJmZDk2ZS4uYzBj
ODZjYzM0Mzg0NzA2YTE2MDIzNjkyOTMzMjY0OWZjNmZlNDgwYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1QYXN0ZWJvYXJkLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vUGxhdGZvcm1QYXN0ZWJvYXJkLmgKQEAgLTUxLDYgKzUxLDcgQEAgY2xhc3Mg
UGFzdGVib2FyZEN1c3RvbURhdGE7CiBjbGFzcyBTZWxlY3Rpb25EYXRhOwogY2xhc3MgU2hhcmVk
QnVmZmVyOwogc3RydWN0IFBhc3RlYm9hcmRJbWFnZTsKK3N0cnVjdCBQYXN0ZWJvYXJkQnVmZmVy
Owogc3RydWN0IFBhc3RlYm9hcmRJdGVtSW5mbzsKIHN0cnVjdCBQYXN0ZWJvYXJkVVJMOwogc3Ry
dWN0IFBhc3RlYm9hcmRXZWJDb250ZW50OwpAQCAtOTEsNiArOTIsNyBAQCBwdWJsaWM6CiAgICAg
V0VCQ09SRV9FWFBPUlQgaW50NjRfdCBzZXRTdHJpbmdGb3JUeXBlKGNvbnN0IFN0cmluZyYsIGNv
bnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgd3Jp
dGUoY29uc3QgUGFzdGVib2FyZFdlYkNvbnRlbnQmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHdyaXRlKGNvbnN0IFBhc3RlYm9hcmRJbWFnZSYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
d3JpdGUoY29uc3QgUGFzdGVib2FyZEJ1ZmZlciYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
d3JpdGUoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJik7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCB3cml0ZShjb25zdCBQYXN0ZWJvYXJkVVJMJik7CiAgICAgV0VC
Q09SRV9FWFBPUlQgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gcmVhZEJ1ZmZlcihzaXplX3QgaW5kZXgs
IGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU3RhdGljUGFzdGVib2FyZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TdGF0aWNQYXN0ZWJvYXJkLmNwcAppbmRleCBiMmQ3YTU1MGQ0NjBlOTRjZDMxNTEz
NGEzMTk1YmNkOTFjN2I3ODk0Li5kMmE4ODZjNjFkZmYzNmJmNmNjYWQ0Mzc0NThkM2FmMWYxNDM0
ZWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TdGF0aWNQYXN0ZWJvYXJk
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TdGF0aWNQYXN0ZWJvYXJkLmNwcApA
QCAtMTM5LDYgKzEzOSwxMyBAQCB2b2lkIFN0YXRpY1Bhc3RlYm9hcmQ6OndyaXRlKGNvbnN0IFBh
c3RlYm9hcmRJbWFnZSYgaW1hZ2UpCiAjZW5kaWYKIH0KIAordm9pZCBTdGF0aWNQYXN0ZWJvYXJk
Ojp3cml0ZShjb25zdCBQYXN0ZWJvYXJkQnVmZmVyJiBwYXN0ZWJvYXJkQnVmZmVyKQoreworICAg
IEFTU0VSVCghcGFzdGVib2FyZEJ1ZmZlci50eXBlLmlzRW1wdHkoKSk7CisgICAgQVNTRVJUKHBh
c3RlYm9hcmRCdWZmZXIuZGF0YSk7CisgICAgd3JpdGVEYXRhKHBhc3RlYm9hcmRCdWZmZXIudHlw
ZSwgKnBhc3RlYm9hcmRCdWZmZXIuZGF0YSk7Cit9CisKIHZvaWQgU3RhdGljUGFzdGVib2FyZDo6
d3JpdGUoY29uc3QgUGFzdGVib2FyZFdlYkNvbnRlbnQmIGNvbnRlbnQpCiB7CiAgICAgU3RyaW5n
IG1hcmt1cDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N0YXRpY1Bhc3Rl
Ym9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N0YXRpY1Bhc3RlYm9hcmQuaAppbmRl
eCBjMDliNmRlMzFmMmVkZWJlMDE4OGRjOWM0NjZhMjcxZTFiOGI5ZTE0Li41MjFkY2NmZDNkZDY4
MWIwYzU1ZjU3N2UzYjkwMDhjZDMzM2MyM2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TdGF0aWNQYXN0ZWJvYXJkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U3RhdGljUGFzdGVib2FyZC5oCkBAIC02Miw2ICs2Miw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQg
d3JpdGUoY29uc3QgUGFzdGVib2FyZFVSTCYpIGZpbmFsOwogICAgIHZvaWQgd3JpdGUoY29uc3Qg
UGFzdGVib2FyZEltYWdlJikgZmluYWw7CisgICAgdm9pZCB3cml0ZShjb25zdCBQYXN0ZWJvYXJk
QnVmZmVyJikgZmluYWw7CiAgICAgdm9pZCB3cml0ZShjb25zdCBQYXN0ZWJvYXJkV2ViQ29udGVu
dCYpIGZpbmFsOwogICAgIHZvaWQgd3JpdGVNYXJrdXAoY29uc3QgU3RyaW5nJikgZmluYWw7CiAg
ICAgdm9pZCB3cml0ZVBsYWluVGV4dChjb25zdCBTdHJpbmcmLCBTbWFydFJlcGxhY2VPcHRpb24p
IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9h
cmRHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3Bw
CmluZGV4IDAxM2M3MDBiZTdhNjAxY2FhMDg0MzdlNDhhNGQwMGQ3YWYyOTY3ZGQuLjc5MDcyMjk1
YzliOTY1NDVhYzQ0NmRiODZmY2NiNmY4MTM2MjdmMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvUGFzdGVib2FyZEd0ay5jcHAKQEAgLTE4Myw2ICsxODMsMTAgQEAgdm9pZCBQ
YXN0ZWJvYXJkOjp3cml0ZShjb25zdCBQYXN0ZWJvYXJkSW1hZ2UmIHBhc3RlYm9hcmRJbWFnZSkK
ICAgICB9CiB9CiAKK3ZvaWQgUGFzdGVib2FyZDo6d3JpdGUoY29uc3QgUGFzdGVib2FyZEJ1ZmZl
ciYpCit7Cit9CisKIHZvaWQgUGFzdGVib2FyZDo6d3JpdGUoY29uc3QgUGFzdGVib2FyZFdlYkNv
bnRlbnQmIHBhc3RlYm9hcmRDb250ZW50KQogewogICAgIGlmIChtX3NlbGVjdGlvbkRhdGEpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Bhc3RlYm9hcmRJT1MubW0KaW5kZXggOTA5
ZThlNzY4YWRiNjhiYWIyODQ0NWQyODI3MzYwYTNmM2ZhMjJjMy4uNTA4ZDBkZTQyN2JkOWYzNWMy
Y2VjZmI5ZjFlNGY5ZjY2YTI3MjVmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1Bhc3RlYm9hcmRJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1Bhc3RlYm9hcmRJT1MubW0KQEAgLTEyOCw2ICsxMjgsMTEgQEAgdm9pZCBQYXN0ZWJvYXJkOjp3
cml0ZShjb25zdCBQYXN0ZWJvYXJkSW1hZ2UmIHBhc3RlYm9hcmRJbWFnZSkKICAgICBwbGF0Zm9y
bVN0cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5KCktPndyaXRlVG9QYXN0ZWJvYXJkKHBh
c3RlYm9hcmRJbWFnZSwgbV9wYXN0ZWJvYXJkTmFtZSwgY29udGV4dCgpKTsKIH0KIAordm9pZCBQ
YXN0ZWJvYXJkOjp3cml0ZShjb25zdCBQYXN0ZWJvYXJkQnVmZmVyJiBwYXN0ZWJvYXJkQnVmZmVy
KQoreworICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRlZ3koKS0+d3Jp
dGVUb1Bhc3RlYm9hcmQocGFzdGVib2FyZEJ1ZmZlciwgbV9wYXN0ZWJvYXJkTmFtZSwgY29udGV4
dCgpKTsKK30KKwogdm9pZCBQYXN0ZWJvYXJkOjp3cml0ZVBsYWluVGV4dChjb25zdCBTdHJpbmcm
IHRleHQsIFNtYXJ0UmVwbGFjZU9wdGlvbikKIHsKICAgICAvLyBGSVhNRTogV2UgdmVuZCAicHVi
bGljLnRleHQiIGhlcmUgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGggcHJlLWlPUyAx
MSBhcHBzLiBJbiB0aGUgZnV0dXJlLCB3ZSBzaG91bGQgc3RvcCB2ZW5kaW5nIHRoaXMgVVRJLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2Fy
ZElPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJ
T1MubW0KaW5kZXggMTY3Y2VmMDJkNzhkNzk0ZGVhYThlNWRkYWY0ZGQ2NmMzZDJjY2E0NS4uYjAz
Yjc2NDIzOGI1MGIyZDQzMmVmZWYxMzMxZDc4MDE4NDkzMjAzNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tCkBAIC01NDEs
NiArNTQxLDI2IEBAIHZvaWQgUGxhdGZvcm1QYXN0ZWJvYXJkOjp3cml0ZShjb25zdCBQYXN0ZWJv
YXJkSW1hZ2UmIHBhc3RlYm9hcmRJbWFnZSkKICAgICByZWdpc3Rlckl0ZW1Ub1Bhc3RlYm9hcmQo
cmVwcmVzZW50YXRpb25zVG9SZWdpc3Rlci5nZXQoKSwgbV9wYXN0ZWJvYXJkLmdldCgpKTsKIH0K
IAordm9pZCBQbGF0Zm9ybVBhc3RlYm9hcmQ6OndyaXRlKGNvbnN0IFBhc3RlYm9hcmRCdWZmZXIm
IHBhc3RlYm9hcmRCdWZmZXIpCit7CisgICAgQVNTRVJUKCFwYXN0ZWJvYXJkQnVmZmVyLnR5cGUu
aXNFbXB0eSgpKTsKKyAgICBBU1NFUlQocGFzdGVib2FyZEJ1ZmZlci5kYXRhKTsKKworICAgIGF1
dG8gcmVwcmVzZW50YXRpb25zVG9SZWdpc3RlciA9IGFkb3B0TlMoW1tXZWJJdGVtUHJvdmlkZXJS
ZWdpc3RyYXRpb25JbmZvTGlzdCBhbGxvY10gaW5pdF0pOworCisjaWYgIVBMQVRGT1JNKE1BQ0NB
VEFMWVNUKQorICAgIFtyZXByZXNlbnRhdGlvbnNUb1JlZ2lzdGVyIGFkZERhdGE6W3dlYklPU1Bh
c3RlUGJvYXJkVHlwZSBkYXRhVXNpbmdFbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ10gZm9y
VHlwZTp3ZWJJT1NQYXN0ZVBib2FyZFR5cGVdOworI2VuZGlmCisKKyAgICBbcmVwcmVzZW50YXRp
b25zVG9SZWdpc3RlciBhZGREYXRhOnBhc3RlYm9hcmRCdWZmZXIuZGF0YS0+Y3JlYXRlTlNEYXRh
KCkuZ2V0KCkgZm9yVHlwZTpwYXN0ZWJvYXJkQnVmZmVyLnR5cGVdOworCisgICAgUGFzdGVib2Fy
ZEN1c3RvbURhdGEgcGFzdGVib2FyZEN1c3RvbURhdGE7CisgICAgcGFzdGVib2FyZEN1c3RvbURh
dGEuc2V0T3JpZ2luKGNvbnRlbnQuY29udGVudE9yaWdpbik7CisgICAgW3JlcHJlc2VudGF0aW9u
c1RvUmVnaXN0ZXIgYWRkRGF0YTpwYXN0ZWJvYXJkQ3VzdG9tRGF0YS5jcmVhdGVTaGFyZWRCdWZm
ZXIoKS0+Y3JlYXRlTlNEYXRhKCkuZ2V0KCkgZm9yVHlwZTpAKFBhc3RlYm9hcmRDdXN0b21EYXRh
Ojpjb2NvYVR5cGUoKSldOworCisgICAgcmVnaXN0ZXJJdGVtVG9QYXN0ZWJvYXJkKHJlcHJlc2Vu
dGF0aW9uc1RvUmVnaXN0ZXIuZ2V0KCksIG1fcGFzdGVib2FyZC5nZXQoKSk7Cit9CisKIHZvaWQg
UGxhdGZvcm1QYXN0ZWJvYXJkOjp3cml0ZShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBj
b25zdCBTdHJpbmcmIHRleHQpCiB7CiAgICAgYXV0byByZXByZXNlbnRhdGlvbnNUb1JlZ2lzdGVy
ID0gYWRvcHROUyhbW1dlYkl0ZW1Qcm92aWRlclJlZ2lzdHJhdGlvbkluZm9MaXN0IGFsbG9jXSBp
bml0XSk7CkBAIC03MDgsNiArNzI4LDEwIEBAIHZvaWQgUGxhdGZvcm1QYXN0ZWJvYXJkOjp3cml0
ZShjb25zdCBQYXN0ZWJvYXJkSW1hZ2UmKQogewogfQogCit2b2lkIFBsYXRmb3JtUGFzdGVib2Fy
ZDo6d3JpdGUoY29uc3QgUGFzdGVib2FyZEJ1ZmZlciYpCit7Cit9CisKIHZvaWQgUGxhdGZvcm1Q
YXN0ZWJvYXJkOjp3cml0ZShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKQogewogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGlid3BlL1Bhc3RlYm9hcmRMaWJXUEUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGlid3BlL1Bhc3RlYm9hcmRMaWJXUEUuY3Bw
CmluZGV4IGY0YzkwNWRjMTVhMjE4MzYyOWIwZTk4MTdkYzI0MTM1ZTBmZjdmZTUuLjE4ODdkOGM2
ZjI0NzE0NDRlZWQzY2YwNmYzNDVhMzg5M2M5ZTZlNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2xpYndwZS9QYXN0ZWJvYXJkTGliV1BFLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9saWJ3cGUvUGFzdGVib2FyZExpYldQRS5jcHAKQEAgLTEyMyw2ICsxMjMs
MTAgQEAgdm9pZCBQYXN0ZWJvYXJkOjp3cml0ZShjb25zdCBQYXN0ZWJvYXJkSW1hZ2UmKQogewog
fQogCit2b2lkIFBhc3RlYm9hcmQ6OndyaXRlKGNvbnN0IFBhc3RlYm9hcmRCdWZmZXImKQorewor
fQorCiB2b2lkIFBhc3RlYm9hcmQ6OndyaXRlKGNvbnN0IFBhc3RlYm9hcmRXZWJDb250ZW50JiBj
b250ZW50KQogewogICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRlZ3ko
KS0+d3JpdGVUb1Bhc3RlYm9hcmQoY29udGVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9QYXN0ZWJvYXJkTWFjLm1tCmluZGV4IDY3N2Y4Y2FkYWI1OTEyM2UxYjYyZDFiYWMyZDE5
MDhiZjY3NmEyZjkuLjM2YmRmYjJjMzM0ZDM0NmUxZTE4YTkwOGM2MWI3MGUxNGMwZWEzNjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCkBAIC0yOTgs
NiArMjk4LDIwIEBAIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogICAgIHdyaXRl
RmlsZVdyYXBwZXJBc1JURkRBdHRhY2htZW50KGZpbGVXcmFwcGVyKHBhc3RlYm9hcmRJbWFnZSks
IG1fcGFzdGVib2FyZE5hbWUsIG1fY2hhbmdlQ291bnQsIGNvbnRleHQoKSk7CiB9CiAKK3ZvaWQg
UGFzdGVib2FyZDo6d3JpdGUoY29uc3QgUGFzdGVib2FyZEJ1ZmZlciYgcGFzdGVib2FyZEJ1ZmZl
cikKK3sKKyAgICBBU1NFUlQoIXBhc3RlYm9hcmRCdWZmZXIudHlwZS5pc0VtcHR5KCkpOworICAg
IEFTU0VSVChwYXN0ZWJvYXJkQnVmZmVyLmRhdGEpOworCisgICAgbV9jaGFuZ2VDb3VudCA9IHBs
YXRmb3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRlZ3koKS0+c2V0VHlwZXMoeyBwYXN0
ZWJvYXJkQnVmZmVyLnR5cGUsIFBhc3RlYm9hcmRDdXN0b21EYXRhOjpjb2NvYVR5cGUoKSB9LCBt
X3Bhc3RlYm9hcmROYW1lLCBjb250ZXh0KCkpOworCisgICAgbV9jaGFuZ2VDb3VudCA9IHBsYXRm
b3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRlZ3koKS0+c2V0QnVmZmVyRm9yVHlwZShw
YXN0ZWJvYXJkQnVmZmVyLmRhdGEuZ2V0KCksIHBhc3RlYm9hcmRCdWZmZXIudHlwZSwgbV9wYXN0
ZWJvYXJkTmFtZSwgY29udGV4dCgpKTsKKworICAgIFBhc3RlYm9hcmRDdXN0b21EYXRhIHBhc3Rl
Ym9hcmRDdXN0b21EYXRhOworICAgIHBhc3RlYm9hcmRDdXN0b21EYXRhLnNldE9yaWdpbihjb250
ZW50LmNvbnRlbnRPcmlnaW4pOworICAgIG1fY2hhbmdlQ291bnQgPSBwbGF0Zm9ybVN0cmF0ZWdp
ZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5KCktPnNldEJ1ZmZlckZvclR5cGUocGFzdGVib2FyZEN1
c3RvbURhdGEuY3JlYXRlU2hhcmVkQnVmZmVyKCkucHRyKCksIFBhc3RlYm9hcmRDdXN0b21EYXRh
Ojpjb2NvYVR5cGUoKSwgbV9wYXN0ZWJvYXJkTmFtZSwgY29udGV4dCgpKTsKK30KKwogYm9vbCBQ
YXN0ZWJvYXJkOjpjYW5TbWFydFJlcGxhY2UoKQogewogICAgIFZlY3RvcjxTdHJpbmc+IHR5cGVz
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1Bhc3RlYm9hcmRXaW4u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1Bhc3RlYm9hcmRXaW4uY3BwCmluZGV4
IDU4ZmU5YjFkNzFjYWFmNGUwZmNlZmIzMjMyOGVmMDA2MmEwNmY2ZWIuLjQzNzYwNTlkNTgzZDhi
ZmFkOTk5NzE0NDBlMzU4ZThmYjI4MzUwZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9QYXN0ZWJvYXJkV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vUGFzdGVib2FyZFdpbi5jcHAKQEAgLTExMTgsNiArMTExOCwxMCBAQCB2b2lkIFBhc3Rl
Ym9hcmQ6OndyaXRlKGNvbnN0IFBhc3RlYm9hcmRJbWFnZSYpCiB7CiB9CiAKK3ZvaWQgUGFzdGVi
b2FyZDo6d3JpdGUoY29uc3QgUGFzdGVib2FyZEJ1ZmZlciYpCit7Cit9CisKIHZvaWQgUGFzdGVi
b2FyZDo6d3JpdGVDdXN0b21EYXRhKGNvbnN0IFZlY3RvcjxQYXN0ZWJvYXJkQ3VzdG9tRGF0YT4m
IGRhdGEpCiB7CiAgICAgaWYgKGRhdGEuaXNFbXB0eSgpIHx8IGRhdGEuc2l6ZSgpID4gMSkgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weSBiL1Nv
dXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXggMDkzMGNmOTE3YmE3
OTBlNTc1ZDg0Yjk2OWVhYzA1ODFmNTJmNTE2ZS4uYTE3NTQ0ZTExODhiMzdiNDcwYjJhNDU5OTQ4
ZTM2YzBmOGY3NWFmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9t
ZXNzYWdlcy5weQorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5
CkBAIC04MDAsNiArODAwLDcgQEAgZGVmIGhlYWRlcnNfZm9yX3R5cGUodHlwZSk6CiAgICAgICAg
ICdXZWJDb3JlOjpNb3VzZUV2ZW50UG9saWN5JzogWyc8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5o
PiddLAogICAgICAgICAnV2ViQ29yZTo6TW92ZURhdGEnOiBbJzxXZWJDb3JlL0lubGluZVBhdGhE
YXRhLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpOZXR3b3JrVHJhbnNhY3Rpb25JbmZvcm1hdGlv
bic6IFsnPFdlYkNvcmUvTmV0d29ya0xvYWRJbmZvcm1hdGlvbi5oPiddLAorICAgICAgICAnV2Vi
Q29yZTo6UGFzdGVib2FyZEJ1ZmZlcic6IFsnPFdlYkNvcmUvUGFzdGVib2FyZC5oPiddLAogICAg
ICAgICAnV2ViQ29yZTo6UGFzdGVib2FyZEN1c3RvbURhdGEnOiBbJzxXZWJDb3JlL1Bhc3RlYm9h
cmQuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlBhc3RlYm9hcmRJbWFnZSc6IFsnPFdlYkNvcmUv
UGFzdGVib2FyZC5oPiddLAogICAgICAgICAnV2ViQ29yZTo6UGFzdGVib2FyZFVSTCc6IFsnPFdl
YkNvcmUvUGFzdGVib2FyZC5oPiddLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5jcHAKaW5kZXggNjQ5ODJiYzQ4MTAyYTRhZGIyMGE3ZTYwZTIxYmQ0OTJk
NjUzMzc0Yy4uMzk2MmE3ZWJjOGUxNmEwNGI2NzRiOTIyNTcxYmE0YTkyMDk3NzdjNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC0xNzU3
LDYgKzE3NTcsMjQgQEAgYm9vbCBBcmd1bWVudENvZGVyPFBhc3RlYm9hcmRJbWFnZT46OmRlY29k
ZShEZWNvZGVyJiBkZWNvZGVyLCBQYXN0ZWJvYXJkSW1hZ2UmIHAKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAordm9pZCBBcmd1bWVudENvZGVyPFBhc3RlYm9hcmRCdWZmZXI+OjplbmNvZGUoRW5jb2Rl
ciYgZW5jb2RlciwgY29uc3QgUGFzdGVib2FyZEJ1ZmZlciYgcGFzdGVib2FyZEJ1ZmZlcikKK3sK
KyAgICBlbmNvZGVyIDw8IHBhc3RlYm9hcmRCdWZmZXIuY29udGVudE9yaWdpbjsKKyAgICBlbmNv
ZGVyIDw8IHBhc3RlYm9hcmRCdWZmZXIudHlwZTsKKyAgICBlbmNvZGVTaGFyZWRCdWZmZXIoZW5j
b2RlciwgcGFzdGVib2FyZEJ1ZmZlci5kYXRhLmdldCgpKTsKK30KKworYm9vbCBBcmd1bWVudENv
ZGVyPFBhc3RlYm9hcmRCdWZmZXI+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUGFzdGVib2Fy
ZEJ1ZmZlciYgcGFzdGVib2FyZEJ1ZmZlcikKK3sKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBh
c3RlYm9hcmRCdWZmZXIuY29udGVudE9yaWdpbikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhc3RlYm9hcmRCdWZmZXIudHlwZSkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZVNoYXJlZEJ1ZmZlcihkZWNvZGVyLCBwYXN0ZWJv
YXJkQnVmZmVyLmRhdGEpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKICNlbmRpZgogCiAjaWYgVVNFKExJQldQRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggMjVmMDFjMDI5MmEwMTlmMDY3NjI0YmJiNTUz
NDAyZGYxYTMzYzViNi4uNmUxMzdmMWE2ZmE5MTA1ZDM2N2NhMjRjZDBiOWFmZGZmODQ5YmNiOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgK
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTE4
Nyw2ICsxODcsNyBAQCBzdHJ1Y3QgS2V5cHJlc3NDb21tYW5kOwogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCiBjbGFzcyBGbG9hdFF1YWQ7CiBjbGFzcyBTZWxlY3Rpb25HZW9tZXRyeTsKK3N0cnVj
dCBQYXN0ZWJvYXJkQnVmZmVyOwogc3RydWN0IFBhc3RlYm9hcmRJbWFnZTsKIHN0cnVjdCBQYXN0
ZWJvYXJkV2ViQ29udGVudDsKICNlbmRpZgpAQCAtNDU5LDYgKzQ2MCwxMSBAQCB0ZW1wbGF0ZTw+
IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBhc3RlYm9hcmRJbWFnZT4gewogICAgIHN0
YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZEltYWdl
Jik7CiAgICAgc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShEZWNvZGVyJiwg
V2ViQ29yZTo6UGFzdGVib2FyZEltYWdlJik7CiB9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1
bWVudENvZGVyPFdlYkNvcmU6OlBhc3RlYm9hcmRCdWZmZXI+IHsKKyAgICBzdGF0aWMgdm9pZCBl
bmNvZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRCdWZmZXImKTsKKyAgICBz
dGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKERlY29kZXImLCBXZWJDb3JlOjpQ
YXN0ZWJvYXJkQnVmZmVyJik7Cit9OwogI2VuZGlmCiAKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3Vt
ZW50Q29kZXI8V2ViQ29yZTo6UGFzdGVib2FyZEN1c3RvbURhdGE+IHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhc3RlYm9hcmRQcm94eUNvY29hLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5Q29jb2EubW0K
aW5kZXggYmJlZjY2NzM1MWEwYTJiZjU4ZGZhZjVhNzIxMDAwNmEzMThlYWY0Yi4uNWJlNjQwZjNh
ZjU3Mjk2MTY2Y2MxZjM2YmExNDNmY2ZkM2Q0NWEyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5Q29jb2EubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5Q29jb2EubW0KQEAgLTYy
OCw2ICs2MjgsMjIgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OndyaXRlSW1hZ2VUb1Bhc3Rl
Ym9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb24KICAgICB9KTsKIH0KIAordm9p
ZCBXZWJQYXN0ZWJvYXJkUHJveHk6OndyaXRlQnVmZmVyVG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVj
dGlvbiYgY29ubmVjdGlvbiwgY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZEJ1ZmZlciYgcGFzdGVi
b2FyZEJ1ZmZlciwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgc3RkOjpvcHRpb25hbDxQ
YWdlSWRlbnRpZmllcj4gcGFnZUlEKQoreworICAgIE1FU1NBR0VfQ0hFQ0soIXBhc3RlYm9hcmRO
YW1lLmlzRW1wdHkoKSk7CisKKyAgICBhdXRvIGRhdGFPd25lciA9IGRldGVybWluZURhdGFPd25l
cihjb25uZWN0aW9uLCBwYXN0ZWJvYXJkTmFtZSwgcGFnZUlELCBQYXN0ZWJvYXJkQWNjZXNzSW50
ZW50OjpXcml0ZSk7CisgICAgTUVTU0FHRV9DSEVDSyhkYXRhT3duZXIpOworCisgICAgUGxhdGZv
cm1QYXN0ZWJvYXJkOjpwZXJmb3JtQXNEYXRhT3duZXIoKmRhdGFPd25lciwgWyZdIHsKKyAgICAg
ICAgYXV0byBwcmV2aW91c0NoYW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9h
cmROYW1lKS5jaGFuZ2VDb3VudCgpOworICAgICAgICBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVi
b2FyZE5hbWUpLndyaXRlKHBhc3RlYm9hcmRCdWZmZXIpOworICAgICAgICBkaWRNb2RpZnlDb250
ZW50c09mUGFzdGVib2FyZChjb25uZWN0aW9uLCBwYXN0ZWJvYXJkTmFtZSwgcHJldmlvdXNDaGFu
Z2VDb3VudCwgUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgp
KTsKKyAgICAgICAgaWYgKGF1dG8gcHJvY2VzcyA9IHdlYlByb2Nlc3NQcm94eUZvckNvbm5lY3Rp
b24oY29ubmVjdGlvbikpCisgICAgICAgICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
cm9jZXNzOjpEaWRXcml0ZVRvUGFzdGVib2FyZEFzeW5jaHJvbm91c2x5KHBhc3RlYm9hcmROYW1l
KSwgMCk7CisgICAgfSk7Cit9CisKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZVN0cmlu
Z1RvUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkTmFtZSwgc3RkOjpvcHRpb25hbDxQYWdlSWRlbnRpZmllcj4gcGFnZUlEKQogewogICAgIE1F
U1NBR0VfQ0hFQ0soIXBhc3RlYm9hcmROYW1lLmlzRW1wdHkoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5oCmluZGV4IDk0YjVhZjQwODUzZDgyMmZjNDkx
ZTFiZTc1M2UxNGU0ZWZiZjA5ZWUuLmQ4NDEwNWQyMTBjODhiNzc1NWEzY2I4ZDE0ZmY4YzJmMjUy
MzM5ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5o
CkBAIC00MSw2ICs0MSw3IEBAIGVudW0gY2xhc3MgRGF0YU93bmVyVHlwZSA6IHVpbnQ4X3Q7CiBj
bGFzcyBDb2xvcjsKIGNsYXNzIFBhc3RlYm9hcmRDdXN0b21EYXRhOwogY2xhc3MgU2VsZWN0aW9u
RGF0YTsKK3N0cnVjdCBQYXN0ZWJvYXJkQnVmZmVyOwogc3RydWN0IFBhc3RlYm9hcmRJbWFnZTsK
IHN0cnVjdCBQYXN0ZWJvYXJkSXRlbUluZm87CiBzdHJ1Y3QgUGFzdGVib2FyZFVSTDsKQEAgLTg2
LDYgKzg3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHdyaXRlVVJMVG9QYXN0ZWJvYXJkKElQQzo6
Q29ubmVjdGlvbiYsIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRVUkwmLCBjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyPik7
CiAgICAgdm9pZCB3cml0ZVdlYkNvbnRlbnRUb1Bhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiwg
Y29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZFdlYkNvbnRlbnQmLCBjb25zdCBTdHJpbmcmIHBhc3Rl
Ym9hcmROYW1lLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyPik7CiAgICAg
dm9pZCB3cml0ZUltYWdlVG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYsIGNvbnN0IFdlYkNv
cmU6OlBhc3RlYm9hcmRJbWFnZSYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIHN0ZDo6
b3B0aW9uYWw8V2ViQ29yZTo6UGFnZUlkZW50aWZpZXI+KTsKKyAgICB2b2lkIHdyaXRlQnVmZmVy
VG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYsIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRC
dWZmZXImLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlvbmFsPFdlYkNv
cmU6OlBhZ2VJZGVudGlmaWVyPik7CiAgICAgdm9pZCB3cml0ZVN0cmluZ1RvUGFzdGVib2FyZChJ
UEM6OkNvbm5lY3Rpb24mLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJp
bmcmLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6
OlBhZ2VJZGVudGlmaWVyPik7CiAgICAgdm9pZCB1cGRhdGVTdXBwb3J0ZWRUeXBlSWRlbnRpZmll
cnMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGlkZW50aWZpZXJzLCBjb25zdCBTdHJpbmcmIHBhc3Rl
Ym9hcmROYW1lLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyPik7CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94
eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94
eS5tZXNzYWdlcy5pbgppbmRleCBiODllN2E3MDZmZGZjMDYzZjBiMGE0ZDhmYjcxZTNiMWJhZjE3
ZjRiLi5jNGZkMTViZTA3NTkwZjZkY2RjZGFiZWQ0NjMxNzkxZDQxZjQ4OGE5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5Lm1lc3NhZ2Vz
LmluCkBAIC0yNSw2ICsyNSw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhc3RlYm9hcmRQcm94eSBOb3RS
ZWZDb3VudGVkIHsKICAgICBXcml0ZVVSTFRvUGFzdGVib2FyZChzdHJ1Y3QgV2ViQ29yZTo6UGFz
dGVib2FyZFVSTCB1cmwsIFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgc3RkOjpvcHRpb25hbDxXZWJD
b3JlOjpQYWdlSWRlbnRpZmllcj4gcGFnZUlEKSBXYW50c0Nvbm5lY3Rpb24KICAgICBXcml0ZVdl
YkNvbnRlbnRUb1Bhc3RlYm9hcmQoc3RydWN0IFdlYkNvcmU6OlBhc3RlYm9hcmRXZWJDb250ZW50
IGNvbnRlbnQsIFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQ
YWdlSWRlbnRpZmllcj4gcGFnZUlEKSBXYW50c0Nvbm5lY3Rpb24KICAgICBXcml0ZUltYWdlVG9Q
YXN0ZWJvYXJkKHN0cnVjdCBXZWJDb3JlOjpQYXN0ZWJvYXJkSW1hZ2UgcGFzdGVib2FyZEltYWdl
LCBTdHJpbmcgcGFzdGVib2FyZE5hbWUsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGFnZUlkZW50
aWZpZXI+IHBhZ2VJRCkgV2FudHNDb25uZWN0aW9uCisgICAgV3JpdGVCdWZmZXJUb1Bhc3RlYm9h
cmQoc3RydWN0IFdlYkNvcmU6OlBhc3RlYm9hcmRCdWZmZXIgcGFzdGVib2FyZEJ1ZmZlciwgU3Ry
aW5nIHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVy
PiBwYWdlSUQpIFdhbnRzQ29ubmVjdGlvbgogICAgIFdyaXRlU3RyaW5nVG9QYXN0ZWJvYXJkKFN0
cmluZyBwYXN0ZWJvYXJkVHlwZSwgU3RyaW5nIHRleHQsIFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwg
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllcj4gcGFnZUlEKSBXYW50c0Nvbm5l
Y3Rpb24KICAgICBVcGRhdGVTdXBwb3J0ZWRUeXBlSWRlbnRpZmllcnMoVmVjdG9yPFN0cmluZz4g
aWRlbnRpZmllcnMsIFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgc3RkOjpvcHRpb25hbDxXZWJDb3Jl
OjpQYWdlSWRlbnRpZmllcj4gcGFnZUlEKQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuY3BwCmluZGV4IGY0MWE3MGVmNWJiNmMwZWNlOGJkODYyNzQxMTYwMWNmNzMwZTYyYTEu
LmYwZTY3NDcxMzZhMDU4NzhhZjFiNTA2YWExY2MyODFiZTBjMTk0NzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCkBAIC0yODYsNiArMjg2LDEyIEBAIHZvaWQgV2ViUGxhdGZv
cm1TdHJhdGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZChjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJk
SW1hZ2UmIGltCiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5l
Y3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUGFzdGVib2FyZFByb3h5OjpXcml0ZUltYWdlVG9Q
YXN0ZWJvYXJkKGltYWdlLCBwYXN0ZWJvYXJkTmFtZSwgcGFnZUlkZW50aWZpZXIoY29udGV4dCkp
LCAwKTsKIH0KIAordm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OndyaXRlVG9QYXN0ZWJvYXJk
KGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRCdWZmZXImIGJ1ZmZlciwgY29uc3QgU3RyaW5nJiBw
YXN0ZWJvYXJkTmFtZSwgY29uc3QgUGFzdGVib2FyZENvbnRleHQqIGNvbnRleHQpCit7CisgICAg
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2lsbFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3Vz
bHkocGFzdGVib2FyZE5hbWUpOworICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhcmVudFBy
b2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhc3RlYm9hcmRQcm94eTo6V3Jp
dGVCdWZmZXJUb1Bhc3RlYm9hcmQoYnVmZmVyLCBwYXN0ZWJvYXJkTmFtZSwgcGFnZUlkZW50aWZp
ZXIoY29udGV4dCkpLCAwKTsKK30KKwogdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OndyaXRl
VG9QYXN0ZWJvYXJkKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYg
dGV4dCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgUGFzdGVib2FyZENvbnRl
eHQqIGNvbnRleHQpCiB7CiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2lsbFdyaXRlVG9Q
YXN0ZWJvYXJkQXN5bmNocm9ub3VzbHkocGFzdGVib2FyZE5hbWUpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2ll
cy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3Jt
U3RyYXRlZ2llcy5oCmluZGV4IGUyODA5OTYzZjRmNTA2ODFiN2QwMWY0MWE2ODUzMWFiNzMyMTRm
YjAuLjk4YzA0NTIxYTg4MGEzNGVlMWNjODNjMjI0Njk5YzJkYTVhZDVhN2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzLmgKQEAgLTUwLDYgKzUwLDcgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHdyaXRlVG9QYXN0ZWJvYXJkKGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRXZWJDb250ZW50Jiwg
Y29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZENv
bnRleHQqKSBvdmVycmlkZTsKICAgICB2b2lkIHdyaXRlVG9QYXN0ZWJvYXJkKGNvbnN0IFdlYkNv
cmU6OiBQYXN0ZWJvYXJkVVJMJiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3Qg
V2ViQ29yZTo6UGFzdGVib2FyZENvbnRleHQqKSBvdmVycmlkZTsKICAgICB2b2lkIHdyaXRlVG9Q
YXN0ZWJvYXJkKGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRJbWFnZSYsIGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZE5hbWUsIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRDb250ZXh0Kikgb3ZlcnJp
ZGU7CisgICAgdm9pZCB3cml0ZVRvUGFzdGVib2FyZChjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJk
QnVmZmVyJiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgV2ViQ29yZTo6UGFz
dGVib2FyZENvbnRleHQqKSBvdmVycmlkZTsKICAgICB2b2lkIHdyaXRlVG9QYXN0ZWJvYXJkKGNv
bnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZE5hbWUsIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRDb250ZXh0Kikgb3ZlcnJp
ZGU7CiAgICAgdm9pZCB1cGRhdGVTdXBwb3J0ZWRUeXBlSWRlbnRpZmllcnMoY29uc3QgVmVjdG9y
PFN0cmluZz4mIGlkZW50aWZpZXJzLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25z
dCBXZWJDb3JlOjpQYXN0ZWJvYXJkQ29udGV4dCopIG92ZXJyaWRlOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0
cmF0ZWdpZXMuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBs
YXRmb3JtU3RyYXRlZ2llcy5oCmluZGV4IDI0YjY5OTcwNmRmMGQ2YjcxOTJhYTUyMDJkZTYxZDhi
MWU1NzMyZjkuLjk0NzZhNTFiNzQ2YzJmNTc1NGI5MTI5NDRkYTMyNmY3ZDczZjFkNWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3Jt
U3RyYXRlZ2llcy5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8V2Vi
Q29yZS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaD4KIAogY2xhc3MgUGFzdGVib2FyZEN1c3RvbURhdGE7
CitzdHJ1Y3QgUGFzdGVib2FyZEJ1ZmZlcjsKIHN0cnVjdCBQYXN0ZWJvYXJkSW1hZ2U7CiBzdHJ1
Y3QgUGFzdGVib2FyZFdlYkNvbnRlbnQ7CiAKQEAgLTUxLDYgKzUyLDcgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHdyaXRlVG9QYXN0ZWJvYXJkKGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRVUkwmLCBj
b25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkQ29u
dGV4dCopIG92ZXJyaWRlOwogICAgIHZvaWQgd3JpdGVUb1Bhc3RlYm9hcmQoY29uc3QgV2ViQ29y
ZTo6UGFzdGVib2FyZFdlYkNvbnRlbnQmLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBj
b25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkQ29udGV4dCopIG92ZXJyaWRlOwogICAgIHZvaWQgd3Jp
dGVUb1Bhc3RlYm9hcmQoY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZEltYWdlJiwgY29uc3QgU3Ry
aW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZENvbnRleHQqKSBv
dmVycmlkZTsKKyAgICB2b2lkIHdyaXRlVG9QYXN0ZWJvYXJkKGNvbnN0IFdlYkNvcmU6OlBhc3Rl
Ym9hcmRCdWZmZXImLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBXZWJDb3Jl
OjpQYXN0ZWJvYXJkQ29udGV4dCopIG92ZXJyaWRlOwogICAgIHZvaWQgd3JpdGVUb1Bhc3RlYm9h
cmQoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3Ry
aW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZENvbnRleHQqKSBv
dmVycmlkZTsKICAgICB2b2lkIHVwZGF0ZVN1cHBvcnRlZFR5cGVJZGVudGlmaWVycyhjb25zdCBW
ZWN0b3I8U3RyaW5nPiYgaWRlbnRpZmllcnMsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUs
IGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRDb250ZXh0Kikgb3ZlcnJpZGU7CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRm
b3JtU3RyYXRlZ2llcy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbQppbmRleCBmYzA3NzZlNjJkNjZiZTlhYzkzZDQ4N2Rk
ZmQzMDBhNmQ0MDdjNTUzLi4xN2FhYjdmNWYxZTUyMTY0ZDBlYWYzZTY0MzgwZmM3ODljOTVmNmE0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXMubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tCkBAIC0yNTEsNiArMjUxLDExIEBAIHZv
aWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZChjb25zdCBXZWJDb3Jl
OjpQYXN0ZWJvYXJkSW1hZ2UmIGltCiAgICAgUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmRO
YW1lKS53cml0ZShpbWFnZSk7CiB9CiAKK3ZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3cml0
ZVRvUGFzdGVib2FyZChjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkQnVmZmVyJiBidWZmZXIsIGNv
bnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0KikKK3sK
KyAgICBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLndyaXRlKGJ1ZmZlcik7Cit9
CisKIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZChjb25zdCBT
dHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZE5hbWUsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0KikKIHsKICAgICBQbGF0Zm9y
bVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLndyaXRlKHBhc3RlYm9hcmRUeXBlLCB0ZXh0KTsK
</data>
<flag name="commit-queue"
          id="471912"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446496</attachid>
            <date>2021-12-08 20:45:44 -0800</date>
            <delta_ts>2021-12-09 16:10:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234065-20211208214543.patch</filename>
            <type>text/plain</type>
            <size>29601</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5OTFhMTNmZmE0NDIyNjlkNjg0ODdmODY5ZTM1YWVhZTg4NWZlM2RmLi40
OTMwZGZkYTdiMWQwZTc4ZjI0MzM4ODMzYTVkYmE2NzgzMzI5MzgwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDQgQEAKKzIwMjEtMTItMDggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIEFkZCBhIHdheSB0byB3cml0ZSBhIGBTaGFyZWRCdWZmZXJgIHRvIHRoZSBQ
YXN0ZWJvYXJkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzQwNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbiBvcmRlciB0byBtYXRjaCB0aGUgV0sxIGltcGxlbWVudGF0aW9uIG9mIGAtcGFzdGVGb250
OmAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE5MTM3OT4sIHdlCisgICAgICAgIG5lZWQgdG8gYmUg
YWJsZSB0byB3cml0ZSBhIGBTaGFyZWRCdWZmZXJgICh3aXRoIGFuIGFzc29jaWF0ZWQgdHlwZSkg
dG8gdGhlIGZvbnQgcGFzdGVib2FyZC4KKworICAgICAgICBDcmVhdGUgYSBgc3RydWN0IFBhc3Rl
Ym9hcmRCdWZmZXJgIHRvIHdyYXAgdGhlIGBTaGFyZWRCdWZmZXJgIGFuZCBgU3RyaW5nIHR5cGVg
IChhbmQgYQorICAgICAgICBgU3RyaW5nIGNvbnRlbnRPcmlnaW5gIG9uIENvY29hIHBsYXRmb3Jt
cywgd2hpY2ggaXMgdXNlZCB0byBkZWNpZGUgd2hldGhlciB0byBzaG93IGEgIlBhc3RlIgorICAg
ICAgICBjYWxsb3V0IHRvIHRoZSB1c2VyIGFzIGEgZ2F0ZSBvbiBjcm9zc29yaWdpbiBjb250ZW50
IHNoYXJpbmcpIGluIGEgc2luZ2xlIG9iamVjdC4KKworICAgICAgICBUaG91Z2ggaXQgaXNuJ3Qg
dXNlZCBpbiB0aGlzIHBhdGNoLCBgLXBhc3RlRm9udDpgIDxodHRwczovL3dlYmtpdC5vcmcvYi8x
OTEzNzk+IHdpbGwgdXNlCisgICAgICAgIHRoaXMgdG8gd3JpdGUgUlRGIGRhdGEgKHdoaWNoIGNv
bnRhaW5zIHRoZSBuZWNlc3NhcnkgZm9udCBkYXRhKS4KKworICAgICAgICBObyBjaGFuZ2UgaW4g
YmVoYXZpb3IuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9QYXN0ZWJvYXJkLmg6CisgICAgICAgICog
cGxhdGZvcm0vUGFzdGVib2FyZC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbGlid3BlL1Bhc3Rl
Ym9hcmRMaWJXUEUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6d3JpdGUpOgor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBhc3RlYm9hcmQ6OndyaXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvUGFzdGVib2Fy
ZElPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OndyaXRlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBhc3Rl
Ym9hcmQ6OndyaXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vUGFzdGVib2FyZFdpbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjp3cml0ZSk6CisgICAgICAgICogcGxhdGZv
cm0vU3RhdGljUGFzdGVib2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL1N0YXRpY1Bhc3RlYm9h
cmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RhdGljUGFzdGVib2FyZDo6d3JpdGUpOgorCisg
ICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1QYXN0ZWJvYXJkLmg6CisgICAgICAgICogcGxhdGZv
cm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRm
b3JtUGFzdGVib2FyZDo6d3JpdGUpOgorICAgICAgICAqIHBsYXRmb3JtL1Bhc3RlYm9hcmRTdHJh
dGVneS5oOgorICAgICAgICBBZGQgc3BlY2lhbCBoYW5kbGluZyBvZiBgUGFzdGVib2FyZEJ1ZmZl
cmAgZm9yIGlPUy4KKwogMjAyMS0xMi0wOCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBbVlRUXSBGaXggdmFyaW91cyBpc3N1ZXMgd2l0aCBjb21wbGljYXRlZCBy
ZW5kZXJpbmcgb2YgVlRUIGN1ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNWJmODA5ZTZhMjA2YzUwMjE1NzM3MzAw
NTA0YzRhMzhhMjU5ZjcwNy4uZmQyMjEyMmMzY2E4NTA3N2Q1ZGFlMDAwNGY0NzRjYTUxOGE2YTY5
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAyMS0xMi0wOCAgRGV2aW4gUm91c3NvICA8
ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgd2F5IHRvIHdyaXRlIGEgYFNoYXJl
ZEJ1ZmZlcmAgdG8gdGhlIFBhc3RlYm9hcmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzNDA2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEluIG9yZGVyIHRvIG1hdGNoIHRoZSBXSzEgaW1wbGVtZW50YXRp
b24gb2YgYC1wYXN0ZUZvbnQ6YCA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTkxMzc5Piwgd2UKKyAg
ICAgICAgbmVlZCB0byBiZSBhYmxlIHRvIHdyaXRlIGEgYFNoYXJlZEJ1ZmZlcmAgKHdpdGggYW4g
YXNzb2NpYXRlZCB0eXBlKSB0byB0aGUgZm9udCBwYXN0ZWJvYXJkLgorCisgICAgICAgIENyZWF0
ZSBhIGBzdHJ1Y3QgUGFzdGVib2FyZEJ1ZmZlcmAgdG8gd3JhcCB0aGUgYFNoYXJlZEJ1ZmZlcmAg
YW5kIGBTdHJpbmcgdHlwZWAgKGFuZCBhCisgICAgICAgIGBTdHJpbmcgY29udGVudE9yaWdpbmAg
b24gQ29jb2EgcGxhdGZvcm1zLCB3aGljaCBpcyB1c2VkIHRvIGRlY2lkZSB3aGV0aGVyIHRvIHNo
b3cgYSAiUGFzdGUiCisgICAgICAgIGNhbGxvdXQgdG8gdGhlIHVzZXIgYXMgYSBnYXRlIG9uIGNy
b3Nzb3JpZ2luIGNvbnRlbnQgc2hhcmluZykgaW4gYSBzaW5nbGUgb2JqZWN0LgorCisgICAgICAg
IFRob3VnaCBpdCBpc24ndCB1c2VkIGluIHRoaXMgcGF0Y2gsIGAtcGFzdGVGb250OmAgPGh0dHBz
Oi8vd2Via2l0Lm9yZy9iLzE5MTM3OT4gd2lsbCB1c2UKKyAgICAgICAgdGhpcyB0byB3cml0ZSBS
VEYgZGF0YSAod2hpY2ggY29udGFpbnMgdGhlIG5lY2Vzc2FyeSBmb250IGRhdGEpLgorCisgICAg
ICAgIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21l
c3NhZ2VzLnB5OgorICAgICAgICAoaGVhZGVyc19mb3JfdHlwZSk6CisgICAgICAgIEluZGljYXRl
IHdoaWNoIGhlYWRlciBpcyBhc3NvY2lhdGVkIHdpdGggYFBhc3RlYm9hcmRCdWZmZXJgLgorCisg
ICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFNoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVy
PFBhc3RlYm9hcmRCdWZmZXI+OjplbmNvZGUpOiBBZGRlZC4KKyAgICAgICAgKElQQzo6QXJndW1l
bnRDb2RlcjxQYXN0ZWJvYXJkQnVmZmVyPjo6ZGVjb2RlKTogQWRkZWQuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2Vi
UGFzdGVib2FyZFByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhc3RlYm9hcmRQ
cm94eTo6d3JpdGVCdWZmZXJUb1Bhc3RlYm9hcmQpOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZCk6Cisg
ICAgICAgIEFkZCBzcGVjaWFsIGhhbmRsaW5nIG9mIGBQYXN0ZWJvYXJkQnVmZmVyYCBmb3IgaU9T
LgorCiAyMDIxLTEyLTA4ICBKIFBhc2NvZSAgPGpfcGFzY29lQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbV2ViQXV0aG5dIENvbnNpZGVyIHN1cHBvcnQgZm9yIHRoZSBkaXNwbGF5TmFtZSBmb3IgRklE
TyBhdXRoZW50aWNhdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggZDVjOGYyMTY1
OTNmNzUzODczYTVlYjFiMTJlN2Y0MjE2NjY5YmNlYy4uNzU1ZmVlZmMxZjBkYzAxN2Y2Y2FjNDhk
ZTE0MzhlNjVjMzBjMTE0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI3IEBACisyMDIxLTEyLTA4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBBZGQgYSB3YXkgdG8gd3JpdGUgYSBgU2hhcmVkQnVmZmVyYCB0byB0aGUgUGFzdGVi
b2FyZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0
MDY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4g
b3JkZXIgdG8gbWF0Y2ggdGhlIFdLMSBpbXBsZW1lbnRhdGlvbiBvZiBgLXBhc3RlRm9udDpgIDxo
dHRwczovL3dlYmtpdC5vcmcvYi8xOTEzNzk+LCB3ZQorICAgICAgICBuZWVkIHRvIGJlIGFibGUg
dG8gd3JpdGUgYSBgU2hhcmVkQnVmZmVyYCAod2l0aCBhbiBhc3NvY2lhdGVkIHR5cGUpIHRvIHRo
ZSBmb250IHBhc3RlYm9hcmQuCisKKyAgICAgICAgQ3JlYXRlIGEgYHN0cnVjdCBQYXN0ZWJvYXJk
QnVmZmVyYCB0byB3cmFwIHRoZSBgU2hhcmVkQnVmZmVyYCBhbmQgYFN0cmluZyB0eXBlYCAoYW5k
IGEKKyAgICAgICAgYFN0cmluZyBjb250ZW50T3JpZ2luYCBvbiBDb2NvYSBwbGF0Zm9ybXMsIHdo
aWNoIGlzIHVzZWQgdG8gZGVjaWRlIHdoZXRoZXIgdG8gc2hvdyBhICJQYXN0ZSIKKyAgICAgICAg
Y2FsbG91dCB0byB0aGUgdXNlciBhcyBhIGdhdGUgb24gY3Jvc3NvcmlnaW4gY29udGVudCBzaGFy
aW5nKSBpbiBhIHNpbmdsZSBvYmplY3QuCisKKyAgICAgICAgVGhvdWdoIGl0IGlzbid0IHVzZWQg
aW4gdGhpcyBwYXRjaCwgYC1wYXN0ZUZvbnQ6YCA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTkxMzc5
PiB3aWxsIHVzZQorICAgICAgICB0aGlzIHRvIHdyaXRlIFJURiBkYXRhICh3aGljaCBjb250YWlu
cyB0aGUgbmVjZXNzYXJ5IGZvbnQgZGF0YSkuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2
aW9yLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmg6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tOgorICAg
ICAgICAoV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZCk6CisgICAgICAg
IEFkZCBzcGVjaWFsIGhhbmRsaW5nIG9mIGBQYXN0ZWJvYXJkQnVmZmVyYCBmb3IgaU9TLgorCiAy
MDIxLTEyLTA4ICBUcnVpdHQgU2F2ZWxsICA8dHNhdmVsbEBhcHBsZS5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyODY2MzIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3Rl
Ym9hcmQuY3BwCmluZGV4IDE1NzMxZWIyM2ZhNzY5NDk2MGRkODA0OTZmYThmMmY5ZThjNzc4MGYu
LmJkZDEwNzAzMzA4MzQ4NjgzZWI1MTAwMjQ3M2VkODI2OTgxYmUyOWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Bhc3RlYm9hcmQuY3BwCkBAIC0zOCw2ICszOCwxMCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBQYXN0ZWJvYXJkSW1hZ2U6OlBhc3RlYm9hcmRJbWFnZSgpID0gZGVmYXVsdDsKIFBh
c3RlYm9hcmRJbWFnZTo6flBhc3RlYm9hcmRJbWFnZSgpID0gZGVmYXVsdDsKIAorLy8gTWFraW5n
IHRoaXMgbm9uLWlubGluZSBzbyB0aGF0IFdlYktpdCAyJ3MgZGVjb2RpbmcgZG9lc24ndCBoYXZl
IHRvIGluY2x1ZGUgU2hhcmVkQnVmZmVyLmguCitQYXN0ZWJvYXJkQnVmZmVyOjpQYXN0ZWJvYXJk
QnVmZmVyKCkgPSBkZWZhdWx0OworUGFzdGVib2FyZEJ1ZmZlcjo6flBhc3RlYm9hcmRCdWZmZXIo
KSA9IGRlZmF1bHQ7CisKIGJvb2wgUGFzdGVib2FyZDo6aXNTYWZlVHlwZUZvckRPTVRvUmVhZEFu
ZFdyaXRlKGNvbnN0IFN0cmluZyYgdHlwZSkKIHsKICAgICByZXR1cm4gdHlwZSA9PSAidGV4dC9w
bGFpbiIgfHwgdHlwZSA9PSAidGV4dC9odG1sIiB8fCB0eXBlID09ICJ0ZXh0L3VyaS1saXN0IjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCA3ZDI0N2RjZDFhMTZmMzQyYzE3
NTRjNDVjNGE3MzUyOWJmOGY3MWIyLi5iODZiMzgwNTRhMGRkYzQ3OWY0ZmY4NTNhYmM5NzJlZTBm
ZjU5YTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCkBAIC0xMzUsNiArMTM1
LDE3IEBAIHN0cnVjdCBQYXN0ZWJvYXJkSW1hZ2UgewogICAgIEZsb2F0U2l6ZSBpbWFnZVNpemU7
CiB9OwogCitzdHJ1Y3QgUGFzdGVib2FyZEJ1ZmZlciB7CisgICAgV0VCQ09SRV9FWFBPUlQgUGFz
dGVib2FyZEJ1ZmZlcigpOworICAgIFdFQkNPUkVfRVhQT1JUIH5QYXN0ZWJvYXJkQnVmZmVyKCk7
CisKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBTdHJpbmcgY29udGVudE9yaWdpbjsKKyNlbmRp
ZgorICAgIFN0cmluZyB0eXBlOworICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGRhdGE7Cit9Owor
CiAvLyBGb3IgcmVhZGluZyBmcm9tIHRoZSBwYXN0ZWJvYXJkLgogCiBjbGFzcyBQYXN0ZWJvYXJk
V2ViQ29udGVudFJlYWRlciB7CkBAIC0yMjMsNiArMjM0LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgV0VCQ09SRV9FWFBPUlQgdm9pZCB3cml0ZShjb25zdCBQYXN0ZWJvYXJkVVJMJik7CiAgICAg
dmlydHVhbCBXRUJDT1JFX0VYUE9SVCB2b2lkIHdyaXRlVHJ1c3R3b3J0aHlXZWJVUkxzUGJvYXJk
VHlwZShjb25zdCBQYXN0ZWJvYXJkVVJMJik7CiAgICAgdmlydHVhbCBXRUJDT1JFX0VYUE9SVCB2
b2lkIHdyaXRlKGNvbnN0IFBhc3RlYm9hcmRJbWFnZSYpOworICAgIHZpcnR1YWwgV0VCQ09SRV9F
WFBPUlQgdm9pZCB3cml0ZShjb25zdCBQYXN0ZWJvYXJkQnVmZmVyJik7CiAgICAgdmlydHVhbCBX
RUJDT1JFX0VYUE9SVCB2b2lkIHdyaXRlKGNvbnN0IFBhc3RlYm9hcmRXZWJDb250ZW50Jik7CiAK
ICAgICB2aXJ0dWFsIFdFQkNPUkVfRVhQT1JUIHZvaWQgd3JpdGVDdXN0b21EYXRhKGNvbnN0IFZl
Y3RvcjxQYXN0ZWJvYXJkQ3VzdG9tRGF0YT4mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
UGFzdGVib2FyZFN0cmF0ZWd5LmgKaW5kZXggMWMwNzI2ZmViM2UwMmFlZDMyYjQ2ZjI2MmJjZGEx
NjlkNjcyZWIyYy4uNjc4MDY4ZmMzNGM4NzQ0YmIxZjI2NTNmZWRhNWZjYzNhMTFmZGY4YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZFN0cmF0ZWd5LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZFN0cmF0ZWd5LmgKQEAgLTM1LDYg
KzM1LDcgQEAgY2xhc3MgUGFzdGVib2FyZENvbnRleHQ7CiBjbGFzcyBQYXN0ZWJvYXJkQ3VzdG9t
RGF0YTsKIGNsYXNzIFNlbGVjdGlvbkRhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CitzdHJ1Y3Qg
UGFzdGVib2FyZEJ1ZmZlcjsKIHN0cnVjdCBQYXN0ZWJvYXJkSW1hZ2U7CiBzdHJ1Y3QgUGFzdGVi
b2FyZEl0ZW1JbmZvOwogc3RydWN0IFBhc3RlYm9hcmRVUkw7CkBAIC00Niw2ICs0Nyw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgd3JpdGVUb1Bhc3RlYm9hcmQoY29uc3QgUGFzdGVib2Fy
ZFVSTCYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFBhc3RlYm9hcmRDb250
ZXh0KikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB3cml0ZVRvUGFzdGVib2FyZChjb25zdCBQYXN0
ZWJvYXJkV2ViQ29udGVudCYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFBh
c3RlYm9hcmRDb250ZXh0KikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB3cml0ZVRvUGFzdGVib2Fy
ZChjb25zdCBQYXN0ZWJvYXJkSW1hZ2UmLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBj
b25zdCBQYXN0ZWJvYXJkQ29udGV4dCopID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgd3JpdGVUb1Bh
c3RlYm9hcmQoY29uc3QgUGFzdGVib2FyZEJ1ZmZlciYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2Fy
ZE5hbWUsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0KikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB3
cml0ZVRvUGFzdGVib2FyZChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJp
bmcmLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBQYXN0ZWJvYXJkQ29udGV4
dCopID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlU3VwcG9ydGVkVHlwZUlkZW50aWZpZXJz
KGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBpZGVudGlmaWVycywgY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkTmFtZSwgY29uc3QgUGFzdGVib2FyZENvbnRleHQqKSA9IDA7CiAjZW5kaWYgLy8gUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtUGFzdGVib2FyZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1QYXN0ZWJv
YXJkLmgKaW5kZXggN2EyYTMxMDA3NDI1MDAyNDNiYjQ2ZmY1OTg2ODYxZTg0YTJmZDk2ZS4uYzBj
ODZjYzM0Mzg0NzA2YTE2MDIzNjkyOTMzMjY0OWZjNmZlNDgwYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1QYXN0ZWJvYXJkLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vUGxhdGZvcm1QYXN0ZWJvYXJkLmgKQEAgLTUxLDYgKzUxLDcgQEAgY2xhc3Mg
UGFzdGVib2FyZEN1c3RvbURhdGE7CiBjbGFzcyBTZWxlY3Rpb25EYXRhOwogY2xhc3MgU2hhcmVk
QnVmZmVyOwogc3RydWN0IFBhc3RlYm9hcmRJbWFnZTsKK3N0cnVjdCBQYXN0ZWJvYXJkQnVmZmVy
Owogc3RydWN0IFBhc3RlYm9hcmRJdGVtSW5mbzsKIHN0cnVjdCBQYXN0ZWJvYXJkVVJMOwogc3Ry
dWN0IFBhc3RlYm9hcmRXZWJDb250ZW50OwpAQCAtOTEsNiArOTIsNyBAQCBwdWJsaWM6CiAgICAg
V0VCQ09SRV9FWFBPUlQgaW50NjRfdCBzZXRTdHJpbmdGb3JUeXBlKGNvbnN0IFN0cmluZyYsIGNv
bnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgd3Jp
dGUoY29uc3QgUGFzdGVib2FyZFdlYkNvbnRlbnQmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHdyaXRlKGNvbnN0IFBhc3RlYm9hcmRJbWFnZSYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
d3JpdGUoY29uc3QgUGFzdGVib2FyZEJ1ZmZlciYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
d3JpdGUoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJik7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCB3cml0ZShjb25zdCBQYXN0ZWJvYXJkVVJMJik7CiAgICAgV0VC
Q09SRV9FWFBPUlQgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gcmVhZEJ1ZmZlcihzaXplX3QgaW5kZXgs
IGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU3RhdGljUGFzdGVib2FyZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TdGF0aWNQYXN0ZWJvYXJkLmNwcAppbmRleCBiMmQ3YTU1MGQ0NjBlOTRjZDMxNTEz
NGEzMTk1YmNkOTFjN2I3ODk0Li5kMmE4ODZjNjFkZmYzNmJmNmNjYWQ0Mzc0NThkM2FmMWYxNDM0
ZWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TdGF0aWNQYXN0ZWJvYXJk
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TdGF0aWNQYXN0ZWJvYXJkLmNwcApA
QCAtMTM5LDYgKzEzOSwxMyBAQCB2b2lkIFN0YXRpY1Bhc3RlYm9hcmQ6OndyaXRlKGNvbnN0IFBh
c3RlYm9hcmRJbWFnZSYgaW1hZ2UpCiAjZW5kaWYKIH0KIAordm9pZCBTdGF0aWNQYXN0ZWJvYXJk
Ojp3cml0ZShjb25zdCBQYXN0ZWJvYXJkQnVmZmVyJiBwYXN0ZWJvYXJkQnVmZmVyKQoreworICAg
IEFTU0VSVCghcGFzdGVib2FyZEJ1ZmZlci50eXBlLmlzRW1wdHkoKSk7CisgICAgQVNTRVJUKHBh
c3RlYm9hcmRCdWZmZXIuZGF0YSk7CisgICAgd3JpdGVEYXRhKHBhc3RlYm9hcmRCdWZmZXIudHlw
ZSwgKnBhc3RlYm9hcmRCdWZmZXIuZGF0YSk7Cit9CisKIHZvaWQgU3RhdGljUGFzdGVib2FyZDo6
d3JpdGUoY29uc3QgUGFzdGVib2FyZFdlYkNvbnRlbnQmIGNvbnRlbnQpCiB7CiAgICAgU3RyaW5n
IG1hcmt1cDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N0YXRpY1Bhc3Rl
Ym9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N0YXRpY1Bhc3RlYm9hcmQuaAppbmRl
eCBjMDliNmRlMzFmMmVkZWJlMDE4OGRjOWM0NjZhMjcxZTFiOGI5ZTE0Li41MjFkY2NmZDNkZDY4
MWIwYzU1ZjU3N2UzYjkwMDhjZDMzM2MyM2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TdGF0aWNQYXN0ZWJvYXJkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U3RhdGljUGFzdGVib2FyZC5oCkBAIC02Miw2ICs2Miw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQg
d3JpdGUoY29uc3QgUGFzdGVib2FyZFVSTCYpIGZpbmFsOwogICAgIHZvaWQgd3JpdGUoY29uc3Qg
UGFzdGVib2FyZEltYWdlJikgZmluYWw7CisgICAgdm9pZCB3cml0ZShjb25zdCBQYXN0ZWJvYXJk
QnVmZmVyJikgZmluYWw7CiAgICAgdm9pZCB3cml0ZShjb25zdCBQYXN0ZWJvYXJkV2ViQ29udGVu
dCYpIGZpbmFsOwogICAgIHZvaWQgd3JpdGVNYXJrdXAoY29uc3QgU3RyaW5nJikgZmluYWw7CiAg
ICAgdm9pZCB3cml0ZVBsYWluVGV4dChjb25zdCBTdHJpbmcmLCBTbWFydFJlcGxhY2VPcHRpb24p
IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9h
cmRHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3Bw
CmluZGV4IDAxM2M3MDBiZTdhNjAxY2FhMDg0MzdlNDhhNGQwMGQ3YWYyOTY3ZGQuLjc5MDcyMjk1
YzliOTY1NDVhYzQ0NmRiODZmY2NiNmY4MTM2MjdmMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvUGFzdGVib2FyZEd0ay5jcHAKQEAgLTE4Myw2ICsxODMsMTAgQEAgdm9pZCBQ
YXN0ZWJvYXJkOjp3cml0ZShjb25zdCBQYXN0ZWJvYXJkSW1hZ2UmIHBhc3RlYm9hcmRJbWFnZSkK
ICAgICB9CiB9CiAKK3ZvaWQgUGFzdGVib2FyZDo6d3JpdGUoY29uc3QgUGFzdGVib2FyZEJ1ZmZl
ciYpCit7Cit9CisKIHZvaWQgUGFzdGVib2FyZDo6d3JpdGUoY29uc3QgUGFzdGVib2FyZFdlYkNv
bnRlbnQmIHBhc3RlYm9hcmRDb250ZW50KQogewogICAgIGlmIChtX3NlbGVjdGlvbkRhdGEpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Bhc3RlYm9hcmRJT1MubW0KaW5kZXggOTA5
ZThlNzY4YWRiNjhiYWIyODQ0NWQyODI3MzYwYTNmM2ZhMjJjMy4uNTA4ZDBkZTQyN2JkOWYzNWMy
Y2VjZmI5ZjFlNGY5ZjY2YTI3MjVmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1Bhc3RlYm9hcmRJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1Bhc3RlYm9hcmRJT1MubW0KQEAgLTEyOCw2ICsxMjgsMTEgQEAgdm9pZCBQYXN0ZWJvYXJkOjp3
cml0ZShjb25zdCBQYXN0ZWJvYXJkSW1hZ2UmIHBhc3RlYm9hcmRJbWFnZSkKICAgICBwbGF0Zm9y
bVN0cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5KCktPndyaXRlVG9QYXN0ZWJvYXJkKHBh
c3RlYm9hcmRJbWFnZSwgbV9wYXN0ZWJvYXJkTmFtZSwgY29udGV4dCgpKTsKIH0KIAordm9pZCBQ
YXN0ZWJvYXJkOjp3cml0ZShjb25zdCBQYXN0ZWJvYXJkQnVmZmVyJiBwYXN0ZWJvYXJkQnVmZmVy
KQoreworICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRlZ3koKS0+d3Jp
dGVUb1Bhc3RlYm9hcmQocGFzdGVib2FyZEJ1ZmZlciwgbV9wYXN0ZWJvYXJkTmFtZSwgY29udGV4
dCgpKTsKK30KKwogdm9pZCBQYXN0ZWJvYXJkOjp3cml0ZVBsYWluVGV4dChjb25zdCBTdHJpbmcm
IHRleHQsIFNtYXJ0UmVwbGFjZU9wdGlvbikKIHsKICAgICAvLyBGSVhNRTogV2UgdmVuZCAicHVi
bGljLnRleHQiIGhlcmUgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGggcHJlLWlPUyAx
MSBhcHBzLiBJbiB0aGUgZnV0dXJlLCB3ZSBzaG91bGQgc3RvcCB2ZW5kaW5nIHRoaXMgVVRJLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2Fy
ZElPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJ
T1MubW0KaW5kZXggMTY3Y2VmMDJkNzhkNzk0ZGVhYThlNWRkYWY0ZGQ2NmMzZDJjY2E0NS4uODlj
MGZiN2ZkOTI5MTc1ZTRkZmE4ZGM1Y2ExZWQ4MTkzYzM3YzA2ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tCkBAIC01NDEs
NiArNTQxLDI2IEBAIHZvaWQgUGxhdGZvcm1QYXN0ZWJvYXJkOjp3cml0ZShjb25zdCBQYXN0ZWJv
YXJkSW1hZ2UmIHBhc3RlYm9hcmRJbWFnZSkKICAgICByZWdpc3Rlckl0ZW1Ub1Bhc3RlYm9hcmQo
cmVwcmVzZW50YXRpb25zVG9SZWdpc3Rlci5nZXQoKSwgbV9wYXN0ZWJvYXJkLmdldCgpKTsKIH0K
IAordm9pZCBQbGF0Zm9ybVBhc3RlYm9hcmQ6OndyaXRlKGNvbnN0IFBhc3RlYm9hcmRCdWZmZXIm
IHBhc3RlYm9hcmRCdWZmZXIpCit7CisgICAgQVNTRVJUKCFwYXN0ZWJvYXJkQnVmZmVyLnR5cGUu
aXNFbXB0eSgpKTsKKyAgICBBU1NFUlQocGFzdGVib2FyZEJ1ZmZlci5kYXRhKTsKKworICAgIGF1
dG8gcmVwcmVzZW50YXRpb25zVG9SZWdpc3RlciA9IGFkb3B0TlMoW1tXZWJJdGVtUHJvdmlkZXJS
ZWdpc3RyYXRpb25JbmZvTGlzdCBhbGxvY10gaW5pdF0pOworCisjaWYgIVBMQVRGT1JNKE1BQ0NB
VEFMWVNUKQorICAgIFtyZXByZXNlbnRhdGlvbnNUb1JlZ2lzdGVyIGFkZERhdGE6W3dlYklPU1Bh
c3RlUGJvYXJkVHlwZSBkYXRhVXNpbmdFbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ10gZm9y
VHlwZTp3ZWJJT1NQYXN0ZVBib2FyZFR5cGVdOworI2VuZGlmCisKKyAgICBbcmVwcmVzZW50YXRp
b25zVG9SZWdpc3RlciBhZGREYXRhOnBhc3RlYm9hcmRCdWZmZXIuZGF0YS0+Y3JlYXRlTlNEYXRh
KCkuZ2V0KCkgZm9yVHlwZTpwYXN0ZWJvYXJkQnVmZmVyLnR5cGVdOworCisgICAgUGFzdGVib2Fy
ZEN1c3RvbURhdGEgcGFzdGVib2FyZEN1c3RvbURhdGE7CisgICAgcGFzdGVib2FyZEN1c3RvbURh
dGEuc2V0T3JpZ2luKHBhc3RlYm9hcmRCdWZmZXIuY29udGVudE9yaWdpbik7CisgICAgW3JlcHJl
c2VudGF0aW9uc1RvUmVnaXN0ZXIgYWRkRGF0YTpwYXN0ZWJvYXJkQ3VzdG9tRGF0YS5jcmVhdGVT
aGFyZWRCdWZmZXIoKS0+Y3JlYXRlTlNEYXRhKCkuZ2V0KCkgZm9yVHlwZTpAKFBhc3RlYm9hcmRD
dXN0b21EYXRhOjpjb2NvYVR5cGUoKSldOworCisgICAgcmVnaXN0ZXJJdGVtVG9QYXN0ZWJvYXJk
KHJlcHJlc2VudGF0aW9uc1RvUmVnaXN0ZXIuZ2V0KCksIG1fcGFzdGVib2FyZC5nZXQoKSk7Cit9
CisKIHZvaWQgUGxhdGZvcm1QYXN0ZWJvYXJkOjp3cml0ZShjb25zdCBTdHJpbmcmIHBhc3RlYm9h
cmRUeXBlLCBjb25zdCBTdHJpbmcmIHRleHQpCiB7CiAgICAgYXV0byByZXByZXNlbnRhdGlvbnNU
b1JlZ2lzdGVyID0gYWRvcHROUyhbW1dlYkl0ZW1Qcm92aWRlclJlZ2lzdHJhdGlvbkluZm9MaXN0
IGFsbG9jXSBpbml0XSk7CkBAIC03MDgsNiArNzI4LDEwIEBAIHZvaWQgUGxhdGZvcm1QYXN0ZWJv
YXJkOjp3cml0ZShjb25zdCBQYXN0ZWJvYXJkSW1hZ2UmKQogewogfQogCit2b2lkIFBsYXRmb3Jt
UGFzdGVib2FyZDo6d3JpdGUoY29uc3QgUGFzdGVib2FyZEJ1ZmZlciYpCit7Cit9CisKIHZvaWQg
UGxhdGZvcm1QYXN0ZWJvYXJkOjp3cml0ZShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKQog
ewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGlid3BlL1Bhc3RlYm9h
cmRMaWJXUEUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGlid3BlL1Bhc3RlYm9hcmRM
aWJXUEUuY3BwCmluZGV4IGY0YzkwNWRjMTVhMjE4MzYyOWIwZTk4MTdkYzI0MTM1ZTBmZjdmZTUu
LjE4ODdkOGM2ZjI0NzE0NDRlZWQzY2YwNmYzNDVhMzg5M2M5ZTZlNzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xpYndwZS9QYXN0ZWJvYXJkTGliV1BFLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saWJ3cGUvUGFzdGVib2FyZExpYldQRS5jcHAKQEAgLTEy
Myw2ICsxMjMsMTAgQEAgdm9pZCBQYXN0ZWJvYXJkOjp3cml0ZShjb25zdCBQYXN0ZWJvYXJkSW1h
Z2UmKQogewogfQogCit2b2lkIFBhc3RlYm9hcmQ6OndyaXRlKGNvbnN0IFBhc3RlYm9hcmRCdWZm
ZXImKQoreworfQorCiB2b2lkIFBhc3RlYm9hcmQ6OndyaXRlKGNvbnN0IFBhc3RlYm9hcmRXZWJD
b250ZW50JiBjb250ZW50KQogewogICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJk
U3RyYXRlZ3koKS0+d3JpdGVUb1Bhc3RlYm9hcmQoY29udGVudCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCmluZGV4IDY3N2Y4Y2FkYWI1OTEyM2UxYjYy
ZDFiYWMyZDE5MDhiZjY3NmEyZjkuLjIxNmVkZDg0NzVlMTQ4OGRiOWVhNjEwZjEyM2JhYTgxOWU2
YjMxZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJk
TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1t
CkBAIC0yOTgsNiArMjk4LDIwIEBAIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAog
ICAgIHdyaXRlRmlsZVdyYXBwZXJBc1JURkRBdHRhY2htZW50KGZpbGVXcmFwcGVyKHBhc3RlYm9h
cmRJbWFnZSksIG1fcGFzdGVib2FyZE5hbWUsIG1fY2hhbmdlQ291bnQsIGNvbnRleHQoKSk7CiB9
CiAKK3ZvaWQgUGFzdGVib2FyZDo6d3JpdGUoY29uc3QgUGFzdGVib2FyZEJ1ZmZlciYgcGFzdGVi
b2FyZEJ1ZmZlcikKK3sKKyAgICBBU1NFUlQoIXBhc3RlYm9hcmRCdWZmZXIudHlwZS5pc0VtcHR5
KCkpOworICAgIEFTU0VSVChwYXN0ZWJvYXJkQnVmZmVyLmRhdGEpOworCisgICAgbV9jaGFuZ2VD
b3VudCA9IHBsYXRmb3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRlZ3koKS0+c2V0VHlw
ZXMoeyBwYXN0ZWJvYXJkQnVmZmVyLnR5cGUsIFBhc3RlYm9hcmRDdXN0b21EYXRhOjpjb2NvYVR5
cGUoKSB9LCBtX3Bhc3RlYm9hcmROYW1lLCBjb250ZXh0KCkpOworCisgICAgbV9jaGFuZ2VDb3Vu
dCA9IHBsYXRmb3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRlZ3koKS0+c2V0QnVmZmVy
Rm9yVHlwZShwYXN0ZWJvYXJkQnVmZmVyLmRhdGEuZ2V0KCksIHBhc3RlYm9hcmRCdWZmZXIudHlw
ZSwgbV9wYXN0ZWJvYXJkTmFtZSwgY29udGV4dCgpKTsKKworICAgIFBhc3RlYm9hcmRDdXN0b21E
YXRhIHBhc3RlYm9hcmRDdXN0b21EYXRhOworICAgIHBhc3RlYm9hcmRDdXN0b21EYXRhLnNldE9y
aWdpbihwYXN0ZWJvYXJkQnVmZmVyLmNvbnRlbnRPcmlnaW4pOworICAgIG1fY2hhbmdlQ291bnQg
PSBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5KCktPnNldEJ1ZmZlckZv
clR5cGUocGFzdGVib2FyZEN1c3RvbURhdGEuY3JlYXRlU2hhcmVkQnVmZmVyKCkucHRyKCksIFBh
c3RlYm9hcmRDdXN0b21EYXRhOjpjb2NvYVR5cGUoKSwgbV9wYXN0ZWJvYXJkTmFtZSwgY29udGV4
dCgpKTsKK30KKwogYm9vbCBQYXN0ZWJvYXJkOjpjYW5TbWFydFJlcGxhY2UoKQogewogICAgIFZl
Y3RvcjxTdHJpbmc+IHR5cGVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
d2luL1Bhc3RlYm9hcmRXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1Bhc3Rl
Ym9hcmRXaW4uY3BwCmluZGV4IDU4ZmU5YjFkNzFjYWFmNGUwZmNlZmIzMjMyOGVmMDA2MmEwNmY2
ZWIuLjQzNzYwNTlkNTgzZDhiZmFkOTk5NzE0NDBlMzU4ZThmYjI4MzUwZmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9QYXN0ZWJvYXJkV2luLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUGFzdGVib2FyZFdpbi5jcHAKQEAgLTExMTgsNiArMTEx
OCwxMCBAQCB2b2lkIFBhc3RlYm9hcmQ6OndyaXRlKGNvbnN0IFBhc3RlYm9hcmRJbWFnZSYpCiB7
CiB9CiAKK3ZvaWQgUGFzdGVib2FyZDo6d3JpdGUoY29uc3QgUGFzdGVib2FyZEJ1ZmZlciYpCit7
Cit9CisKIHZvaWQgUGFzdGVib2FyZDo6d3JpdGVDdXN0b21EYXRhKGNvbnN0IFZlY3RvcjxQYXN0
ZWJvYXJkQ3VzdG9tRGF0YT4mIGRhdGEpCiB7CiAgICAgaWYgKGRhdGEuaXNFbXB0eSgpIHx8IGRh
dGEuc2l6ZSgpID4gMSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtp
dC9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkK
aW5kZXggMDkzMGNmOTE3YmE3OTBlNTc1ZDg0Yjk2OWVhYzA1ODFmNTJmNTE2ZS4uYTE3NTQ0ZTEx
ODhiMzdiNDcwYjJhNDU5OTQ4ZTM2YzBmOGY3NWFmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
d2Via2l0L21lc3NhZ2VzLnB5CkBAIC04MDAsNiArODAwLDcgQEAgZGVmIGhlYWRlcnNfZm9yX3R5
cGUodHlwZSk6CiAgICAgICAgICdXZWJDb3JlOjpNb3VzZUV2ZW50UG9saWN5JzogWyc8V2ViQ29y
ZS9Eb2N1bWVudExvYWRlci5oPiddLAogICAgICAgICAnV2ViQ29yZTo6TW92ZURhdGEnOiBbJzxX
ZWJDb3JlL0lubGluZVBhdGhEYXRhLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpOZXR3b3JrVHJh
bnNhY3Rpb25JbmZvcm1hdGlvbic6IFsnPFdlYkNvcmUvTmV0d29ya0xvYWRJbmZvcm1hdGlvbi5o
PiddLAorICAgICAgICAnV2ViQ29yZTo6UGFzdGVib2FyZEJ1ZmZlcic6IFsnPFdlYkNvcmUvUGFz
dGVib2FyZC5oPiddLAogICAgICAgICAnV2ViQ29yZTo6UGFzdGVib2FyZEN1c3RvbURhdGEnOiBb
JzxXZWJDb3JlL1Bhc3RlYm9hcmQuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlBhc3RlYm9hcmRJ
bWFnZSc6IFsnPFdlYkNvcmUvUGFzdGVib2FyZC5oPiddLAogICAgICAgICAnV2ViQ29yZTo6UGFz
dGVib2FyZFVSTCc6IFsnPFdlYkNvcmUvUGFzdGVib2FyZC5oPiddLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKaW5kZXggNjQ5ODJiYzQ4MTAyYTRh
ZGIyMGE3ZTYwZTIxYmQ0OTJkNjUzMzc0Yy4uMzk2MmE3ZWJjOGUxNmEwNGI2NzRiOTIyNTcxYmE0
YTkyMDk3NzdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuY3BwCkBAIC0xNzU3LDYgKzE3NTcsMjQgQEAgYm9vbCBBcmd1bWVudENvZGVyPFBhc3Rl
Ym9hcmRJbWFnZT46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBQYXN0ZWJvYXJkSW1hZ2UmIHAK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBBcmd1bWVudENvZGVyPFBhc3RlYm9hcmRCdWZm
ZXI+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgUGFzdGVib2FyZEJ1ZmZlciYgcGFz
dGVib2FyZEJ1ZmZlcikKK3sKKyAgICBlbmNvZGVyIDw8IHBhc3RlYm9hcmRCdWZmZXIuY29udGVu
dE9yaWdpbjsKKyAgICBlbmNvZGVyIDw8IHBhc3RlYm9hcmRCdWZmZXIudHlwZTsKKyAgICBlbmNv
ZGVTaGFyZWRCdWZmZXIoZW5jb2RlciwgcGFzdGVib2FyZEJ1ZmZlci5kYXRhLmdldCgpKTsKK30K
KworYm9vbCBBcmd1bWVudENvZGVyPFBhc3RlYm9hcmRCdWZmZXI+OjpkZWNvZGUoRGVjb2RlciYg
ZGVjb2RlciwgUGFzdGVib2FyZEJ1ZmZlciYgcGFzdGVib2FyZEJ1ZmZlcikKK3sKKyAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKHBhc3RlYm9hcmRCdWZmZXIuY29udGVudE9yaWdpbikpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhc3RlYm9hcmRCdWZmZXIu
dHlwZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZVNoYXJlZEJ1ZmZl
cihkZWNvZGVyLCBwYXN0ZWJvYXJkQnVmZmVyLmRhdGEpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgcmV0dXJuIHRydWU7Cit9CisKICNlbmRpZgogCiAjaWYgVVNFKExJQldQRSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggMjVmMDFjMDI5
MmEwMTlmMDY3NjI0YmJiNTUzNDAyZGYxYTMzYzViNi4uNmUxMzdmMWE2ZmE5MTA1ZDM2N2NhMjRj
ZDBiOWFmZGZmODQ5YmNiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgKQEAgLTE4Nyw2ICsxODcsNyBAQCBzdHJ1Y3QgS2V5cHJlc3NDb21tYW5kOwog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiBjbGFzcyBGbG9hdFF1YWQ7CiBjbGFzcyBTZWxlY3Rp
b25HZW9tZXRyeTsKK3N0cnVjdCBQYXN0ZWJvYXJkQnVmZmVyOwogc3RydWN0IFBhc3RlYm9hcmRJ
bWFnZTsKIHN0cnVjdCBQYXN0ZWJvYXJkV2ViQ29udGVudDsKICNlbmRpZgpAQCAtNDU5LDYgKzQ2
MCwxMSBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBhc3RlYm9h
cmRJbWFnZT4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV2ViQ29y
ZTo6UGFzdGVib2FyZEltYWdlJik7CiAgICAgc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29s
IGRlY29kZShEZWNvZGVyJiwgV2ViQ29yZTo6UGFzdGVib2FyZEltYWdlJik7CiB9OworCit0ZW1w
bGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBhc3RlYm9hcmRCdWZmZXI+IHsK
KyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9h
cmRCdWZmZXImKTsKKyAgICBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKERl
Y29kZXImLCBXZWJDb3JlOjpQYXN0ZWJvYXJkQnVmZmVyJik7Cit9OwogI2VuZGlmCiAKIHRlbXBs
YXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UGFzdGVib2FyZEN1c3RvbURhdGE+
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhc3RlYm9h
cmRQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVi
b2FyZFByb3h5Q29jb2EubW0KaW5kZXggYmJlZjY2NzM1MWEwYTJiZjU4ZGZhZjVhNzIxMDAwNmEz
MThlYWY0Yi4uNWJlNjQwZjNhZjU3Mjk2MTY2Y2MxZjM2YmExNDNmY2ZkM2Q0NWEyZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5Q29j
b2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFBy
b3h5Q29jb2EubW0KQEAgLTYyOCw2ICs2MjgsMjIgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6
OndyaXRlSW1hZ2VUb1Bhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb24K
ICAgICB9KTsKIH0KIAordm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OndyaXRlQnVmZmVyVG9QYXN0
ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgV2ViQ29yZTo6UGFzdGVi
b2FyZEJ1ZmZlciYgcGFzdGVib2FyZEJ1ZmZlciwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFt
ZSwgc3RkOjpvcHRpb25hbDxQYWdlSWRlbnRpZmllcj4gcGFnZUlEKQoreworICAgIE1FU1NBR0Vf
Q0hFQ0soIXBhc3RlYm9hcmROYW1lLmlzRW1wdHkoKSk7CisKKyAgICBhdXRvIGRhdGFPd25lciA9
IGRldGVybWluZURhdGFPd25lcihjb25uZWN0aW9uLCBwYXN0ZWJvYXJkTmFtZSwgcGFnZUlELCBQ
YXN0ZWJvYXJkQWNjZXNzSW50ZW50OjpXcml0ZSk7CisgICAgTUVTU0FHRV9DSEVDSyhkYXRhT3du
ZXIpOworCisgICAgUGxhdGZvcm1QYXN0ZWJvYXJkOjpwZXJmb3JtQXNEYXRhT3duZXIoKmRhdGFP
d25lciwgWyZdIHsKKyAgICAgICAgYXV0byBwcmV2aW91c0NoYW5nZUNvdW50ID0gUGxhdGZvcm1Q
YXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpOworICAgICAgICBQbGF0Zm9y
bVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLndyaXRlKHBhc3RlYm9hcmRCdWZmZXIpOworICAg
ICAgICBkaWRNb2RpZnlDb250ZW50c09mUGFzdGVib2FyZChjb25uZWN0aW9uLCBwYXN0ZWJvYXJk
TmFtZSwgcHJldmlvdXNDaGFuZ2VDb3VudCwgUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmRO
YW1lKS5jaGFuZ2VDb3VudCgpKTsKKyAgICAgICAgaWYgKGF1dG8gcHJvY2VzcyA9IHdlYlByb2Nl
c3NQcm94eUZvckNvbm5lY3Rpb24oY29ubmVjdGlvbikpCisgICAgICAgICAgICBwcm9jZXNzLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpEaWRXcml0ZVRvUGFzdGVib2FyZEFzeW5jaHJvbm91
c2x5KHBhc3RlYm9hcmROYW1lKSwgMCk7CisgICAgfSk7Cit9CisKIHZvaWQgV2ViUGFzdGVib2Fy
ZFByb3h5Ojp3cml0ZVN0cmluZ1RvUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rp
b24sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgdGV4dCwgY29u
c3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgc3RkOjpvcHRpb25hbDxQYWdlSWRlbnRpZmllcj4g
cGFnZUlEKQogewogICAgIE1FU1NBR0VfQ0hFQ0soIXBhc3RlYm9hcmROYW1lLmlzRW1wdHkoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5oCmluZGV4IDk0
YjVhZjQwODUzZDgyMmZjNDkxZTFiZTc1M2UxNGU0ZWZiZjA5ZWUuLmQ4NDEwNWQyMTBjODhiNzc1
NWEzY2I4ZDE0ZmY4YzJmMjUyMzM5ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhc3RlYm9hcmRQcm94eS5oCkBAIC00MSw2ICs0MSw3IEBAIGVudW0gY2xhc3MgRGF0YU93bmVy
VHlwZSA6IHVpbnQ4X3Q7CiBjbGFzcyBDb2xvcjsKIGNsYXNzIFBhc3RlYm9hcmRDdXN0b21EYXRh
OwogY2xhc3MgU2VsZWN0aW9uRGF0YTsKK3N0cnVjdCBQYXN0ZWJvYXJkQnVmZmVyOwogc3RydWN0
IFBhc3RlYm9hcmRJbWFnZTsKIHN0cnVjdCBQYXN0ZWJvYXJkSXRlbUluZm87CiBzdHJ1Y3QgUGFz
dGVib2FyZFVSTDsKQEAgLTg2LDYgKzg3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHdyaXRlVVJM
VG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYsIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRV
UkwmLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6
OlBhZ2VJZGVudGlmaWVyPik7CiAgICAgdm9pZCB3cml0ZVdlYkNvbnRlbnRUb1Bhc3RlYm9hcmQo
SVBDOjpDb25uZWN0aW9uJiwgY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZFdlYkNvbnRlbnQmLCBj
b25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhZ2VJ
ZGVudGlmaWVyPik7CiAgICAgdm9pZCB3cml0ZUltYWdlVG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVj
dGlvbiYsIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRJbWFnZSYsIGNvbnN0IFN0cmluZyYgcGFz
dGVib2FyZE5hbWUsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGFnZUlkZW50aWZpZXI+KTsKKyAg
ICB2b2lkIHdyaXRlQnVmZmVyVG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYsIGNvbnN0IFdl
YkNvcmU6OlBhc3RlYm9hcmRCdWZmZXImLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyPik7CiAgICAgdm9pZCB3cml0ZVN0
cmluZ1RvUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9h
cmRUeXBlLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBzdGQ6
Om9wdGlvbmFsPFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyPik7CiAgICAgdm9pZCB1cGRhdGVTdXBw
b3J0ZWRUeXBlSWRlbnRpZmllcnMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGlkZW50aWZpZXJzLCBj
b25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhZ2VJ
ZGVudGlmaWVyPik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhc3RlYm9hcmRQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhc3RlYm9hcmRQcm94eS5tZXNzYWdlcy5pbgppbmRleCBiODllN2E3MDZmZGZjMDYzZjBi
MGE0ZDhmYjcxZTNiMWJhZjE3ZjRiLi5jNGZkMTViZTA3NTkwZjZkY2RjZGFiZWQ0NjMxNzkxZDQx
ZjQ4OGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJk
UHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFzdGVi
b2FyZFByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yNSw2ICsyNSw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBh
c3RlYm9hcmRQcm94eSBOb3RSZWZDb3VudGVkIHsKICAgICBXcml0ZVVSTFRvUGFzdGVib2FyZChz
dHJ1Y3QgV2ViQ29yZTo6UGFzdGVib2FyZFVSTCB1cmwsIFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwg
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllcj4gcGFnZUlEKSBXYW50c0Nvbm5l
Y3Rpb24KICAgICBXcml0ZVdlYkNvbnRlbnRUb1Bhc3RlYm9hcmQoc3RydWN0IFdlYkNvcmU6OlBh
c3RlYm9hcmRXZWJDb250ZW50IGNvbnRlbnQsIFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgc3RkOjpv
cHRpb25hbDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllcj4gcGFnZUlEKSBXYW50c0Nvbm5lY3Rpb24K
ICAgICBXcml0ZUltYWdlVG9QYXN0ZWJvYXJkKHN0cnVjdCBXZWJDb3JlOjpQYXN0ZWJvYXJkSW1h
Z2UgcGFzdGVib2FyZEltYWdlLCBTdHJpbmcgcGFzdGVib2FyZE5hbWUsIHN0ZDo6b3B0aW9uYWw8
V2ViQ29yZTo6UGFnZUlkZW50aWZpZXI+IHBhZ2VJRCkgV2FudHNDb25uZWN0aW9uCisgICAgV3Jp
dGVCdWZmZXJUb1Bhc3RlYm9hcmQoc3RydWN0IFdlYkNvcmU6OlBhc3RlYm9hcmRCdWZmZXIgcGFz
dGVib2FyZEJ1ZmZlciwgU3RyaW5nIHBhc3RlYm9hcmROYW1lLCBzdGQ6Om9wdGlvbmFsPFdlYkNv
cmU6OlBhZ2VJZGVudGlmaWVyPiBwYWdlSUQpIFdhbnRzQ29ubmVjdGlvbgogICAgIFdyaXRlU3Ry
aW5nVG9QYXN0ZWJvYXJkKFN0cmluZyBwYXN0ZWJvYXJkVHlwZSwgU3RyaW5nIHRleHQsIFN0cmlu
ZyBwYXN0ZWJvYXJkTmFtZSwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllcj4g
cGFnZUlEKSBXYW50c0Nvbm5lY3Rpb24KICAgICBVcGRhdGVTdXBwb3J0ZWRUeXBlSWRlbnRpZmll
cnMoVmVjdG9yPFN0cmluZz4gaWRlbnRpZmllcnMsIFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgc3Rk
OjpvcHRpb25hbDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllcj4gcGFnZUlEKQogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZv
cm1TdHJhdGVnaWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCmluZGV4IGY0MWE3MGVmNWJiNmMwZWNlOGJkODYy
NzQxMTYwMWNmNzMwZTYyYTEuLmYwZTY3NDcxMzZhMDU4NzhhZjFiNTA2YWExY2MyODFiZTBjMTk0
NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCkBAIC0yODYsNiArMjg2LDEy
IEBAIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZChjb25zdCBX
ZWJDb3JlOjpQYXN0ZWJvYXJkSW1hZ2UmIGltCiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCku
cGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUGFzdGVib2FyZFBy
b3h5OjpXcml0ZUltYWdlVG9QYXN0ZWJvYXJkKGltYWdlLCBwYXN0ZWJvYXJkTmFtZSwgcGFnZUlk
ZW50aWZpZXIoY29udGV4dCkpLCAwKTsKIH0KIAordm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6
OndyaXRlVG9QYXN0ZWJvYXJkKGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRCdWZmZXImIGJ1ZmZl
ciwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgUGFzdGVib2FyZENvbnRleHQq
IGNvbnRleHQpCit7CisgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2lsbFdyaXRlVG9QYXN0
ZWJvYXJkQXN5bmNocm9ub3VzbHkocGFzdGVib2FyZE5hbWUpOworICAgIFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlBh
c3RlYm9hcmRQcm94eTo6V3JpdGVCdWZmZXJUb1Bhc3RlYm9hcmQoYnVmZmVyLCBwYXN0ZWJvYXJk
TmFtZSwgcGFnZUlkZW50aWZpZXIoY29udGV4dCkpLCAwKTsKK30KKwogdm9pZCBXZWJQbGF0Zm9y
bVN0cmF0ZWdpZXM6OndyaXRlVG9QYXN0ZWJvYXJkKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5
cGUsIGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29u
c3QgUGFzdGVib2FyZENvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkud2lsbFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3VzbHkocGFzdGVib2FyZE5hbWUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlBsYXRmb3JtU3RyYXRlZ2llcy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCmluZGV4IGUyODA5OTYzZjRmNTA2ODFiN2Qw
MWY0MWE2ODUzMWFiNzMyMTRmYjAuLjk4YzA0NTIxYTg4MGEzNGVlMWNjODNjMjI0Njk5YzJkYTVh
ZDVhN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKQEAgLTUwLDYgKzUwLDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHdyaXRlVG9QYXN0ZWJvYXJkKGNvbnN0IFdlYkNvcmU6OlBhc3Rl
Ym9hcmRXZWJDb250ZW50JiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgV2Vi
Q29yZTo6UGFzdGVib2FyZENvbnRleHQqKSBvdmVycmlkZTsKICAgICB2b2lkIHdyaXRlVG9QYXN0
ZWJvYXJkKGNvbnN0IFdlYkNvcmU6OiBQYXN0ZWJvYXJkVVJMJiwgY29uc3QgU3RyaW5nJiBwYXN0
ZWJvYXJkTmFtZSwgY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZENvbnRleHQqKSBvdmVycmlkZTsK
ICAgICB2b2lkIHdyaXRlVG9QYXN0ZWJvYXJkKGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRJbWFn
ZSYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9h
cmRDb250ZXh0Kikgb3ZlcnJpZGU7CisgICAgdm9pZCB3cml0ZVRvUGFzdGVib2FyZChjb25zdCBX
ZWJDb3JlOjpQYXN0ZWJvYXJkQnVmZmVyJiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwg
Y29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZENvbnRleHQqKSBvdmVycmlkZTsKICAgICB2b2lkIHdy
aXRlVG9QYXN0ZWJvYXJkKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmlu
ZyYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9h
cmRDb250ZXh0Kikgb3ZlcnJpZGU7CiAgICAgdm9pZCB1cGRhdGVTdXBwb3J0ZWRUeXBlSWRlbnRp
ZmllcnMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGlkZW50aWZpZXJzLCBjb25zdCBTdHJpbmcmIHBh
c3RlYm9hcmROYW1lLCBjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkQ29udGV4dCopIG92ZXJyaWRl
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCmluZGV4IDI0YjY5OTcwNmRmMGQ2
YjcxOTJhYTUyMDJkZTYxZDhiMWU1NzMyZjkuLjk0NzZhNTFiNzQ2YzJmNTc1NGI5MTI5NDRkYTMy
NmY3ZDczZjFkNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCkBAIC0zMCw2ICszMCw3
IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaD4KIAogY2xhc3MgUGFz
dGVib2FyZEN1c3RvbURhdGE7CitzdHJ1Y3QgUGFzdGVib2FyZEJ1ZmZlcjsKIHN0cnVjdCBQYXN0
ZWJvYXJkSW1hZ2U7CiBzdHJ1Y3QgUGFzdGVib2FyZFdlYkNvbnRlbnQ7CiAKQEAgLTUxLDYgKzUy
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHdyaXRlVG9QYXN0ZWJvYXJkKGNvbnN0IFdlYkNvcmU6
OlBhc3RlYm9hcmRVUkwmLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBXZWJD
b3JlOjpQYXN0ZWJvYXJkQ29udGV4dCopIG92ZXJyaWRlOwogICAgIHZvaWQgd3JpdGVUb1Bhc3Rl
Ym9hcmQoY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZFdlYkNvbnRlbnQmLCBjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmROYW1lLCBjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkQ29udGV4dCopIG92ZXJy
aWRlOwogICAgIHZvaWQgd3JpdGVUb1Bhc3RlYm9hcmQoY29uc3QgV2ViQ29yZTo6UGFzdGVib2Fy
ZEltYWdlJiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgV2ViQ29yZTo6UGFz
dGVib2FyZENvbnRleHQqKSBvdmVycmlkZTsKKyAgICB2b2lkIHdyaXRlVG9QYXN0ZWJvYXJkKGNv
bnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRCdWZmZXImLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRO
YW1lLCBjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkQ29udGV4dCopIG92ZXJyaWRlOwogICAgIHZv
aWQgd3JpdGVUb1Bhc3RlYm9hcmQoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3Qg
U3RyaW5nJiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgV2ViQ29yZTo6UGFz
dGVib2FyZENvbnRleHQqKSBvdmVycmlkZTsKICAgICB2b2lkIHVwZGF0ZVN1cHBvcnRlZFR5cGVJ
ZGVudGlmaWVycyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgaWRlbnRpZmllcnMsIGNvbnN0IFN0cmlu
ZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRDb250ZXh0Kikgb3Zl
cnJpZGU7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbQppbmRleCBmYzA3NzZl
NjJkNjZiZTlhYzkzZDQ4N2RkZmQzMDBhNmQ0MDdjNTUzLi4xN2FhYjdmNWYxZTUyMTY0ZDBlYWYz
ZTY0MzgwZmM3ODljOTVmNmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tCkBAIC0y
NTEsNiArMjUxLDExIEBAIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3cml0ZVRvUGFzdGVi
b2FyZChjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkSW1hZ2UmIGltCiAgICAgUGxhdGZvcm1QYXN0
ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS53cml0ZShpbWFnZSk7CiB9CiAKK3ZvaWQgV2ViUGxhdGZv
cm1TdHJhdGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZChjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJk
QnVmZmVyJiBidWZmZXIsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFBhc3Rl
Ym9hcmRDb250ZXh0KikKK3sKKyAgICBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUp
LndyaXRlKGJ1ZmZlcik7Cit9CisKIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3cml0ZVRv
UGFzdGVib2FyZChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHRl
eHQsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFBhc3RlYm9hcmRDb250ZXh0
KikKIHsKICAgICBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLndyaXRlKHBhc3Rl
Ym9hcmRUeXBlLCB0ZXh0KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446626</attachid>
            <date>2021-12-09 16:10:04 -0800</date>
            <delta_ts>2021-12-10 11:04:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>234065.diff</filename>
            <type>text/plain</type>
            <size>7500</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5OTFhMTNmZmE0NDIyNjlkNjg0ODdmODY5ZTM1YWVhZTg4NWZlM2RmLi40
OTMwZGZkYTdiMWQwZTc4ZjI0MzM4ODMzYTVkYmE2NzgzMzI5MzgwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzUgQEAKKzIwMjEtMTItMDggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIEFkZCBhIHdheSB0byB3cml0ZSBhIGBTaGFyZWRCdWZmZXJgIHRvIHRoZSBQ
YXN0ZWJvYXJkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzQwNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbiBvcmRlciB0byBtYXRjaCB0aGUgV0sxIGltcGxlbWVudGF0aW9uIG9mIGAtcGFzdGVGb250
OmAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE5MTM3OT4sIHdlCisgICAgICAgIG5lZWQgdG8gYmUg
YWJsZSB0byB3cml0ZSBhIGBTaGFyZWRCdWZmZXJgICh3aXRoIGFuIGFzc29jaWF0ZWQgdHlwZSkg
dG8gdGhlIGZvbnQgcGFzdGVib2FyZC4KKworICAgICAgICBDcmVhdGUgYSBgc3RydWN0IFBhc3Rl
Ym9hcmRCdWZmZXJgIHRvIHdyYXAgdGhlIGBTaGFyZWRCdWZmZXJgIGFuZCBgU3RyaW5nIHR5cGVg
IChhbmQgYQorICAgICAgICBgU3RyaW5nIGNvbnRlbnRPcmlnaW5gIG9uIENvY29hIHBsYXRmb3Jt
cywgd2hpY2ggaXMgdXNlZCB0byBkZWNpZGUgd2hldGhlciB0byBzaG93IGEgIlBhc3RlIgorICAg
ICAgICBjYWxsb3V0IHRvIHRoZSB1c2VyIGFzIGEgZ2F0ZSBvbiBjcm9zc29yaWdpbiBjb250ZW50
IHNoYXJpbmcpIGluIGEgc2luZ2xlIG9iamVjdC4KKworICAgICAgICBUaG91Z2ggaXQgaXNuJ3Qg
dXNlZCBpbiB0aGlzIHBhdGNoLCBgLXBhc3RlRm9udDpgIDxodHRwczovL3dlYmtpdC5vcmcvYi8x
OTEzNzk+IHdpbGwgdXNlCisgICAgICAgIHRoaXMgdG8gd3JpdGUgUlRGIGRhdGEgKHdoaWNoIGNv
bnRhaW5zIHRoZSBuZWNlc3NhcnkgZm9udCBkYXRhKS4KKworICAgICAgICBObyBjaGFuZ2UgaW4g
YmVoYXZpb3IuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9QYXN0ZWJvYXJkLmg6CisgICAgICAgICog
cGxhdGZvcm0vUGFzdGVib2FyZC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbGlid3BlL1Bhc3Rl
Ym9hcmRMaWJXUEUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6d3JpdGUpOgor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBhc3RlYm9hcmQ6OndyaXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvUGFzdGVib2Fy
ZElPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OndyaXRlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBhc3Rl
Ym9hcmQ6OndyaXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vUGFzdGVib2FyZFdpbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjp3cml0ZSk6CisKIDIwMjEtMTItMDggIEpl
ciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW1ZUVF0gRml4IHZhcmlv
dXMgaXNzdWVzIHdpdGggY29tcGxpY2F0ZWQgcmVuZGVyaW5nIG9mIFZUVCBjdWVzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuY3BwCmluZGV4IDE1NzMxZWIyM2ZhNzY5NDk2MGRkODA0
OTZmYThmMmY5ZThjNzc4MGYuLmJkZDEwNzAzMzA4MzQ4NjgzZWI1MTAwMjQ3M2VkODI2OTgxYmUy
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuY3BwCkBAIC0zOCw2ICszOCwx
MCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBQYXN0ZWJvYXJkSW1hZ2U6OlBhc3RlYm9hcmRJbWFn
ZSgpID0gZGVmYXVsdDsKIFBhc3RlYm9hcmRJbWFnZTo6flBhc3RlYm9hcmRJbWFnZSgpID0gZGVm
YXVsdDsKIAorLy8gTWFraW5nIHRoaXMgbm9uLWlubGluZSBzbyB0aGF0IFdlYktpdCAyJ3MgZGVj
b2RpbmcgZG9lc24ndCBoYXZlIHRvIGluY2x1ZGUgU2hhcmVkQnVmZmVyLmguCitQYXN0ZWJvYXJk
QnVmZmVyOjpQYXN0ZWJvYXJkQnVmZmVyKCkgPSBkZWZhdWx0OworUGFzdGVib2FyZEJ1ZmZlcjo6
flBhc3RlYm9hcmRCdWZmZXIoKSA9IGRlZmF1bHQ7CisKIGJvb2wgUGFzdGVib2FyZDo6aXNTYWZl
VHlwZUZvckRPTVRvUmVhZEFuZFdyaXRlKGNvbnN0IFN0cmluZyYgdHlwZSkKIHsKICAgICByZXR1
cm4gdHlwZSA9PSAidGV4dC9wbGFpbiIgfHwgdHlwZSA9PSAidGV4dC9odG1sIiB8fCB0eXBlID09
ICJ0ZXh0L3VyaS1saXN0IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bh
c3RlYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCA3
ZDI0N2RjZDFhMTZmMzQyYzE3NTRjNDVjNGE3MzUyOWJmOGY3MWIyLi5iODZiMzgwNTRhMGRkYzQ3
OWY0ZmY4NTNhYmM5NzJlZTBmZjU5YTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2Fy
ZC5oCkBAIC0xMzUsNiArMTM1LDE3IEBAIHN0cnVjdCBQYXN0ZWJvYXJkSW1hZ2UgewogICAgIEZs
b2F0U2l6ZSBpbWFnZVNpemU7CiB9OwogCitzdHJ1Y3QgUGFzdGVib2FyZEJ1ZmZlciB7CisgICAg
V0VCQ09SRV9FWFBPUlQgUGFzdGVib2FyZEJ1ZmZlcigpOworICAgIFdFQkNPUkVfRVhQT1JUIH5Q
YXN0ZWJvYXJkQnVmZmVyKCk7CisKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBTdHJpbmcgY29u
dGVudE9yaWdpbjsKKyNlbmRpZgorICAgIFN0cmluZyB0eXBlOworICAgIFJlZlB0cjxTaGFyZWRC
dWZmZXI+IGRhdGE7Cit9OworCiAvLyBGb3IgcmVhZGluZyBmcm9tIHRoZSBwYXN0ZWJvYXJkLgog
CiBjbGFzcyBQYXN0ZWJvYXJkV2ViQ29udGVudFJlYWRlciB7CkBAIC0yMjMsNiArMjM0LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgV0VCQ09SRV9FWFBPUlQgdm9pZCB3cml0ZShjb25zdCBQYXN0
ZWJvYXJkVVJMJik7CiAgICAgdmlydHVhbCBXRUJDT1JFX0VYUE9SVCB2b2lkIHdyaXRlVHJ1c3R3
b3J0aHlXZWJVUkxzUGJvYXJkVHlwZShjb25zdCBQYXN0ZWJvYXJkVVJMJik7CiAgICAgdmlydHVh
bCBXRUJDT1JFX0VYUE9SVCB2b2lkIHdyaXRlKGNvbnN0IFBhc3RlYm9hcmRJbWFnZSYpOworICAg
IHZpcnR1YWwgV0VCQ09SRV9FWFBPUlQgdm9pZCB3cml0ZShjb25zdCBQYXN0ZWJvYXJkQnVmZmVy
Jik7CiAgICAgdmlydHVhbCBXRUJDT1JFX0VYUE9SVCB2b2lkIHdyaXRlKGNvbnN0IFBhc3RlYm9h
cmRXZWJDb250ZW50Jik7CiAKICAgICB2aXJ0dWFsIFdFQkNPUkVfRVhQT1JUIHZvaWQgd3JpdGVD
dXN0b21EYXRhKGNvbnN0IFZlY3RvcjxQYXN0ZWJvYXJkQ3VzdG9tRGF0YT4mKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcAppbmRleCAwMTNjNzAwYmU3
YTYwMWNhYTA4NDM3ZTQ4YTRkMDBkN2FmMjk2N2RkLi43OTA3MjI5NWM5Yjk2NTQ1YWM0NDZkYjg2
ZmNjYjZmODEzNjI3ZjI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsv
UGFzdGVib2FyZEd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3Rl
Ym9hcmRHdGsuY3BwCkBAIC0xODMsNiArMTgzLDEwIEBAIHZvaWQgUGFzdGVib2FyZDo6d3JpdGUo
Y29uc3QgUGFzdGVib2FyZEltYWdlJiBwYXN0ZWJvYXJkSW1hZ2UpCiAgICAgfQogfQogCit2b2lk
IFBhc3RlYm9hcmQ6OndyaXRlKGNvbnN0IFBhc3RlYm9hcmRCdWZmZXImKQoreworfQorCiB2b2lk
IFBhc3RlYm9hcmQ6OndyaXRlKGNvbnN0IFBhc3RlYm9hcmRXZWJDb250ZW50JiBwYXN0ZWJvYXJk
Q29udGVudCkKIHsKICAgICBpZiAobV9zZWxlY3Rpb25EYXRhKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGFzdGVib2FyZElPUy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tCmluZGV4IDkwOWU4ZTc2OGFkYjY4YmFiMjg0
NDVkMjgyNzM2MGEzZjNmYTIyYzMuLjUwOGQwZGU0MjdiZDlmMzVjMmNlY2ZiOWYxZTRmOWY2NmEy
NzI1ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJk
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1t
CkBAIC0xMjgsNiArMTI4LDEwIEBAIHZvaWQgUGFzdGVib2FyZDo6d3JpdGUoY29uc3QgUGFzdGVi
b2FyZEltYWdlJiBwYXN0ZWJvYXJkSW1hZ2UpCiAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPnBh
c3RlYm9hcmRTdHJhdGVneSgpLT53cml0ZVRvUGFzdGVib2FyZChwYXN0ZWJvYXJkSW1hZ2UsIG1f
cGFzdGVib2FyZE5hbWUsIGNvbnRleHQoKSk7CiB9CiAKK3ZvaWQgUGFzdGVib2FyZDo6d3JpdGUo
Y29uc3QgUGFzdGVib2FyZEJ1ZmZlciYpCit7Cit9CisKIHZvaWQgUGFzdGVib2FyZDo6d3JpdGVQ
bGFpblRleHQoY29uc3QgU3RyaW5nJiB0ZXh0LCBTbWFydFJlcGxhY2VPcHRpb24pCiB7CiAgICAg
Ly8gRklYTUU6IFdlIHZlbmQgInB1YmxpYy50ZXh0IiBoZXJlIGZvciBiYWNrd2FyZHMgY29tcGF0
aWJpbGl0eSB3aXRoIHByZS1pT1MgMTEgYXBwcy4gSW4gdGhlIGZ1dHVyZSwgd2Ugc2hvdWxkIHN0
b3AgdmVuZGluZyB0aGlzIFVUSSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2xpYndwZS9QYXN0ZWJvYXJkTGliV1BFLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xp
YndwZS9QYXN0ZWJvYXJkTGliV1BFLmNwcAppbmRleCBmNGM5MDVkYzE1YTIxODM2MjliMGU5ODE3
ZGMyNDEzNWUwZmY3ZmU1Li4xODg3ZDhjNmYyNDcxNDQ0ZWVkM2NmMDZmMzQ1YTM4OTNjOWU2ZTcz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saWJ3cGUvUGFzdGVib2FyZExp
YldQRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGlid3BlL1Bhc3RlYm9hcmRM
aWJXUEUuY3BwCkBAIC0xMjMsNiArMTIzLDEwIEBAIHZvaWQgUGFzdGVib2FyZDo6d3JpdGUoY29u
c3QgUGFzdGVib2FyZEltYWdlJikKIHsKIH0KIAordm9pZCBQYXN0ZWJvYXJkOjp3cml0ZShjb25z
dCBQYXN0ZWJvYXJkQnVmZmVyJikKK3sKK30KKwogdm9pZCBQYXN0ZWJvYXJkOjp3cml0ZShjb25z
dCBQYXN0ZWJvYXJkV2ViQ29udGVudCYgY29udGVudCkKIHsKICAgICBwbGF0Zm9ybVN0cmF0ZWdp
ZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5KCktPndyaXRlVG9QYXN0ZWJvYXJkKGNvbnRlbnQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQppbmRleCA2Nzdm
OGNhZGFiNTkxMjNlMWI2MmQxYmFjMmQxOTA4YmY2NzZhMmY5Li4yMTZlZGQ4NDc1ZTE0ODhkYjll
YTYxMGYxMjNiYWE4MTllNmIzMWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvUGFzdGVib2FyZE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
UGFzdGVib2FyZE1hYy5tbQpAQCAtMjk4LDYgKzI5OCwyMCBAQCBBTExPV19ERVBSRUNBVEVEX0RF
Q0xBUkFUSU9OU19FTkQKICAgICB3cml0ZUZpbGVXcmFwcGVyQXNSVEZEQXR0YWNobWVudChmaWxl
V3JhcHBlcihwYXN0ZWJvYXJkSW1hZ2UpLCBtX3Bhc3RlYm9hcmROYW1lLCBtX2NoYW5nZUNvdW50
LCBjb250ZXh0KCkpOwogfQogCit2b2lkIFBhc3RlYm9hcmQ6OndyaXRlKGNvbnN0IFBhc3RlYm9h
cmRCdWZmZXImIHBhc3RlYm9hcmRCdWZmZXIpCit7CisgICAgQVNTRVJUKCFwYXN0ZWJvYXJkQnVm
ZmVyLnR5cGUuaXNFbXB0eSgpKTsKKyAgICBBU1NFUlQocGFzdGVib2FyZEJ1ZmZlci5kYXRhKTsK
KworICAgIG1fY2hhbmdlQ291bnQgPSBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0
cmF0ZWd5KCktPnNldFR5cGVzKHsgcGFzdGVib2FyZEJ1ZmZlci50eXBlLCBQYXN0ZWJvYXJkQ3Vz
dG9tRGF0YTo6Y29jb2FUeXBlKCkgfSwgbV9wYXN0ZWJvYXJkTmFtZSwgY29udGV4dCgpKTsKKwor
ICAgIG1fY2hhbmdlQ291bnQgPSBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0cmF0
ZWd5KCktPnNldEJ1ZmZlckZvclR5cGUocGFzdGVib2FyZEJ1ZmZlci5kYXRhLmdldCgpLCBwYXN0
ZWJvYXJkQnVmZmVyLnR5cGUsIG1fcGFzdGVib2FyZE5hbWUsIGNvbnRleHQoKSk7CisKKyAgICBQ
YXN0ZWJvYXJkQ3VzdG9tRGF0YSBwYXN0ZWJvYXJkQ3VzdG9tRGF0YTsKKyAgICBwYXN0ZWJvYXJk
Q3VzdG9tRGF0YS5zZXRPcmlnaW4ocGFzdGVib2FyZEJ1ZmZlci5jb250ZW50T3JpZ2luKTsKKyAg
ICBtX2NoYW5nZUNvdW50ID0gcGxhdGZvcm1TdHJhdGVnaWVzKCktPnBhc3RlYm9hcmRTdHJhdGVn
eSgpLT5zZXRCdWZmZXJGb3JUeXBlKHBhc3RlYm9hcmRDdXN0b21EYXRhLmNyZWF0ZVNoYXJlZEJ1
ZmZlcigpLnB0cigpLCBQYXN0ZWJvYXJkQ3VzdG9tRGF0YTo6Y29jb2FUeXBlKCksIG1fcGFzdGVi
b2FyZE5hbWUsIGNvbnRleHQoKSk7Cit9CisKIGJvb2wgUGFzdGVib2FyZDo6Y2FuU21hcnRSZXBs
YWNlKCkKIHsKICAgICBWZWN0b3I8U3RyaW5nPiB0eXBlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9QYXN0ZWJvYXJkV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9QYXN0ZWJvYXJkV2luLmNwcAppbmRleCA1OGZlOWIxZDcxY2FhZjRlMGZjZWZi
MzIzMjhlZjAwNjJhMDZmNmViLi40Mzc2MDU5ZDU4M2Q4YmZhZDk5OTcxNDQwZTM1OGU4ZmIyODM1
MGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUGFzdGVib2FyZFdp
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1Bhc3RlYm9hcmRXaW4uY3Bw
CkBAIC0xMTE4LDYgKzExMTgsMTAgQEAgdm9pZCBQYXN0ZWJvYXJkOjp3cml0ZShjb25zdCBQYXN0
ZWJvYXJkSW1hZ2UmKQogewogfQogCit2b2lkIFBhc3RlYm9hcmQ6OndyaXRlKGNvbnN0IFBhc3Rl
Ym9hcmRCdWZmZXImKQoreworfQorCiB2b2lkIFBhc3RlYm9hcmQ6OndyaXRlQ3VzdG9tRGF0YShj
b25zdCBWZWN0b3I8UGFzdGVib2FyZEN1c3RvbURhdGE+JiBkYXRhKQogewogICAgIGlmIChkYXRh
LmlzRW1wdHkoKSB8fCBkYXRhLnNpemUoKSA+IDEpIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>