<?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>169382</bug_id>
          
          <creation_ts>2017-03-08 14:05:23 -0800</creation_ts>
          <short_desc>Simplify the PaymentCoordinator interface</short_desc>
          <delta_ts>2017-03-08 14:56:27 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>japhet</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1285006</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2017-03-08 14:05:23 -0800</bug_when>
    <thetext>Simplify the PaymentCoordinator interface</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285017</commentid>
    <comment_count>1</comment_count>
      <attachid>303841</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2017-03-08 14:22:24 -0800</bug_when>
    <thetext>Created attachment 303841
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285021</commentid>
    <comment_count>2</comment_count>
      <attachid>303841</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-03-08 14:26:54 -0800</bug_when>
    <thetext>Comment on attachment 303841
Patch

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

&gt; Source/WebCore/Modules/applepay/PaymentRequest.h:173
&gt; +

extra space :P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285045</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2017-03-08 14:56:27 -0800</bug_when>
    <thetext>Committed r213601: &lt;http://trac.webkit.org/changeset/213601&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303841</attachid>
            <date>2017-03-08 14:22:24 -0800</date>
            <delta_ts>2017-03-08 14:26:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169382-20170308142223.patch</filename>
            <type>text/plain</type>
            <size>54814</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzNTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDJiOGY4MWU2NTFjMTJmMTk2OGNhNzM2
YjczM2E4NjVjZGE3NWIxZDguLjU5YWVmYzQ5YTJmOTk5ODFiMmM3YmIzMTc4MWI0ZTljOGNiYWU0
NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTctMDMtMDggIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBTaW1wbGlmeSB0aGUgUGF5bWVudENvb3JkaW5h
dG9yIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTY5MzgyCisgICAgICAgIFBhcnQgb2YgcmRhcjovL3Byb2JsZW0vMjg4ODA3MTQuCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvRW51
bVRyYWl0cy5oOgorICAgICAgICBGaXggYSBidWlsZCB3YXJuaW5nLgorCiAyMDE3LTAzLTA2ICBB
bmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBSZXBvcnQg
ZG9tYWlucyBjcmFzaGluZyB1bmRlciBtZW1vcnkgcHJlc3N1cmUgdmlhIGVuaGFuY2VkIHByaXZh
Y3kgbG9nZ2luZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5NmRkYmQ0MjVkZDBiM2E4NjkxMmE1NTFkMTBlYmY1
ZmU0OTQzYWU0Li41MjgxMDkxMDEwNmY4NGYxZTNkYzA4NmZmMDM0OWYzYWEyMzI2ODg2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTctMDMtMDggIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBTaW1wbGlmeSB0aGUgUGF5bWVudENvb3JkaW5h
dG9yIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTY5MzgyCisgICAgICAgIFBhcnQgb2YgcmRhcjovL3Byb2JsZW0vMjg4ODA3MTQuCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGZvdXIg
bmV3IHN0cnVjdHM6IFBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0LCBQYXltZW50TWV0aG9kVXBk
YXRlLCBTaGlwcGluZ0NvbnRhY3RVcGRhdGUgYW5kIFNoaXBwaW5nTWV0aG9kVXBkYXRlLgorICAg
ICAgICBDaGFuZ2UgdGhlIHZhcmlvdXMgUGF5bWVudENvb3JkaW5hdG9yIGFuZCBQYXltZW50Q29v
cmRpbmF0b3JDbGllbnQgZnVuY3Rpb25zIHRvIHRha2UgdGhlc2UgbmV3IG9iamVjdHMgaW5zdGVh
ZCBvZiBtdWx0aXBsZSBwYXJhbWV0ZXJzLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjpj
b21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxl
UGF5U2Vzc2lvbjo6Y29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24pOgorICAgICAgICAo
V2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjpjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24p
OgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjpjb21wbGV0ZVBheW1lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjpkaWRTZWxlY3RTaGlwcGluZ01ldGhv
ZCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNlc3Npb246OmRpZFNlbGVjdFNoaXBwaW5n
Q29udGFjdCk6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50QXV0aG9yaXphdGlv
blN0YXR1cy5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9y
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVTaGlw
cGluZ01ldGhvZFNlbGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0
b3I6OmNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OlBheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVQYXltZW50U2Vzc2lv
bik6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuaDoKKyAg
ICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5oOgorICAg
ICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudFJlcXVlc3QuaDoKKyAgICAgICAgKiBsb2Fk
ZXIvRW1wdHlDbGllbnRzLmNwcDoKKwogMjAxNy0wMy0wNyAgQW5kZXJzIENhcmxzc29uICA8YW5k
ZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSB0aGUgbmV3IGNvZGUgcGF0aCB3aGVuIGRy
YWdnaW5nIHdlYiBjb250ZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDI4MjI4YWYwM2VhZjlkYjkw
NWRiYmQ2NjA2MzA4NWFiOTMzNjRkZmYuLjZiOGVlMDgzYzkyMzUzYTVhN2UwY2Q5OTY3MDVkZjMw
ZDFkZjIzYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxNy0wMy0wOCAg
QW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIFNpbXBsaWZ5
IHRoZSBQYXltZW50Q29vcmRpbmF0b3IgaW50ZXJmYWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjkzODIKKyAgICAgICAgUGFydCBvZiByZGFyOi8v
cHJvYmxlbS8yODg4MDcxNC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBVcGRhdGUgZm9yIFBheW1lbnRDb29yZGluYXRvckNsaWVudCBjaGFuZ2VzLgor
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lmg6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lm1t
OgorICAgICAgICAoV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Ojpjb21wbGV0ZVNoaXBwaW5n
TWV0aG9kU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6
Y29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24pOgorICAgICAgICAoV2ViUGF5bWVudENv
b3JkaW5hdG9yQ2xpZW50Ojpjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24pOgorICAgICAg
ICAoV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Ojpjb21wbGV0ZVBheW1lbnRTZXNzaW9uKToK
KwogMjAxNy0wMy0wOCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIEZpeCBmb3IgZGVwZW5kZW5jeSBmaXgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA5YTNhN2YxMjg2
YTc1YzYxOWJmNzFkZTc5YzdjMmNlNjZlNDVkZGIwLi5hMDE2NzcwNWM2OThhNTllYTFlYWE1NThi
Njk2NGJiZDJlNGU3NGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDggQEAKKzIwMTctMDMtMDgg
IEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBTaW1wbGlm
eSB0aGUgUGF5bWVudENvb3JkaW5hdG9yIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5MzgyCisgICAgICAgIFBhcnQgb2YgcmRhcjov
L3Byb2JsZW0vMjg4ODA3MTQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgU2VuZCB0aGUgbmV3IHN0cnVjdHMgb3ZlciB0aGUgd2lyZSB0byB0aGUgVUkg
cHJvY2VzcyBhbmQgdXBkYXRlIHRoZSB2YXJpb3VzIHByb3h5IG9iamVjdCB0byB0YWtlIHRoZW0g
aW5zdGVhZCBvZgorICAgICAgICBtdWx0aXBsZSBwYXJhbWV0ZXJzLgorCisgICAgICAgICogU2Ny
aXB0cy93ZWJraXQvbWVzc2FnZXMucHk6CisgICAgICAgIChoZWFkZXJzX2Zvcl90eXBlKToKKyAg
ICAgICAgKiBTaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW06CisgICAg
ICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25SZXN1
bHQ+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBheW1l
bnRBdXRob3JpemF0aW9uUmVzdWx0Pjo6ZGVjb2RlKToKKyAgICAgICAgKElQQzo6QXJndW1lbnRD
b2RlcjxXZWJDb3JlOjpQYXltZW50RXJyb3I+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1
bWVudENvZGVyPFdlYkNvcmU6OlBheW1lbnRFcnJvcj46OmRlY29kZSk6CisgICAgICAgIChJUEM6
OkFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UGF5bWVudE1ldGhvZFVwZGF0ZT46OmVuY29kZSk6Cisg
ICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UGF5bWVudE1ldGhvZFVwZGF0ZT46
OmRlY29kZSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6U2hpcHBpbmdD
b250YWN0VXBkYXRlPjo6ZW5jb2RlKToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxXZWJD
b3JlOjpTaGlwcGluZ0NvbnRhY3RVcGRhdGU+OjpkZWNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1
bWVudENvZGVyPFdlYkNvcmU6OlNoaXBwaW5nTWV0aG9kVXBkYXRlPjo6ZW5jb2RlKToKKyAgICAg
ICAgKElQQzo6QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpTaGlwcGluZ01ldGhvZFVwZGF0ZT46OmRl
Y29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5Ojpjb21wbGV0ZVNoaXBw
aW5nTWV0aG9kU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHk6OmNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNvbXBsZXRlUGF5bWVudE1ldGhvZFNl
bGVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5Ojpj
b21wbGV0ZVBheW1lbnRTZXNzaW9uKToKKyAgICAgICAgKFdlYktpdDo6aXNWYWxpZEVudW0pOiBE
ZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvQXBwbGVQYXkvY29j
b2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtQ29tcGxldGVQYXltZW50U2Vzc2lv
bik6CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9y
bUNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1Db21wbGV0ZVNoaXBwaW5nQ29udGFjdFNl
bGVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5Ojpw
bGF0Zm9ybUNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbik6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24p
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlU2hpcHBp
bmdDb250YWN0U2VsZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5h
dG9yOjpjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudFNlc3Npb24pOgorICAgICAgICAq
IFdlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmg6CisKIDIwMTctMDMt
MDggIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3Zl
IHRoZSB0cmFjZSBjb21tYW5kIGZyb20gdGhlIHNhbmRib3ggcHJvZmlsZS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL0VudW1UcmFpdHMuaCBiL1NvdXJjZS9XVEYvd3RmL0VudW1UcmFpdHMu
aAppbmRleCBjNmJkZTlmYjUwMmIyNjFjMzlkMDk4MWZlOTE0MjYwM2RjMWY0NThiLi43YmQyZTM4
Nzc3MTdkN2I3ZmRmYjk5NmE3OTViOTU2MmI0YmM2MDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9FbnVtVHJhaXRzLmgKKysrIGIvU291cmNlL1dURi93dGYvRW51bVRyYWl0cy5oCkBAIC00
NSw3ICs0NSw3IEBAIHN0cnVjdCBFbnVtVmFsdWVDaGVja2VyPFQsIEVudW1WYWx1ZXM8RSwgZSwg
ZXMuLi4+PiB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEU+CiBzdHJ1Y3QgRW51
bVZhbHVlQ2hlY2tlcjxULCBFbnVtVmFsdWVzPEU+PiB7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBi
b29sIGlzVmFsaWRFbnVtKFQgdCkKKyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgaXNWYWxpZEVu
dW0oVCkKICAgICB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5jcHAKaW5kZXggNjhk
OTFkMTJlNWY3NGQxYTY5NzE2ZWUxMzQ3YzYyNTBiM2Y4MzU2Yy4uOTBkMGI4NTA1NDhjNmJlZDZl
OTNlMjc4ZGVhMDE2Zjc4ODY0ZmJlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmNwcApAQCAtNjQ1LDggKzY0NSwxMiBAQCBFeGNl
cHRpb25Pcjx2b2lkPiBBcHBsZVBheVNlc3Npb246OmNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxl
Y3Rpb24odW5zaWduZWQgc2hvcgogCiAgICAgdG90YWxBbmRMaW5lSXRlbXMubGluZUl0ZW1zID0g
Y29udmVydGVkTmV3TGluZUl0ZW1zLnJlbGVhc2VSZXR1cm5WYWx1ZSgpOwogCisgICAgU2hpcHBp
bmdNZXRob2RVcGRhdGUgdXBkYXRlOworICAgIHVwZGF0ZS5zdGF0dXMgPSAqYXV0aG9yaXphdGlv
blN0YXR1czsKKyAgICB1cGRhdGUubmV3VG90YWxBbmRMaW5lSXRlbXMgPSBXVEZNb3ZlKHRvdGFs
QW5kTGluZUl0ZW1zKTsKKwogICAgIG1fc3RhdGUgPSBTdGF0ZTo6QWN0aXZlOwotICAgIHBheW1l
bnRDb29yZGluYXRvcigpLmNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oKmF1dGhvcml6
YXRpb25TdGF0dXMsIHRvdGFsQW5kTGluZUl0ZW1zKTsKKyAgICBwYXltZW50Q29vcmRpbmF0b3Io
KS5jb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKFdURk1vdmUodXBkYXRlKSk7CiAKICAg
ICByZXR1cm4geyB9OwogfQpAQCAtNjgyLDggKzY4NiwxMyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBB
cHBsZVBheVNlc3Npb246OmNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKHVuc2lnbmVk
IHNobwogCiAgICAgdG90YWxBbmRMaW5lSXRlbXMubGluZUl0ZW1zID0gY29udmVydGVkTmV3TGlu
ZUl0ZW1zLnJlbGVhc2VSZXR1cm5WYWx1ZSgpOwogCisgICAgU2hpcHBpbmdDb250YWN0VXBkYXRl
IHVwZGF0ZTsKKyAgICB1cGRhdGUuc3RhdHVzID0gKmF1dGhvcml6YXRpb25TdGF0dXM7CisgICAg
dXBkYXRlLm5ld1NoaXBwaW5nTWV0aG9kcyA9IGNvbnZlcnRlZE5ld1NoaXBwaW5nTWV0aG9kcy5y
ZWxlYXNlUmV0dXJuVmFsdWUoKTsKKyAgICB1cGRhdGUubmV3VG90YWxBbmRMaW5lSXRlbXMgPSBX
VEZNb3ZlKHRvdGFsQW5kTGluZUl0ZW1zKTsKKwogICAgIG1fc3RhdGUgPSBTdGF0ZTo6QWN0aXZl
OwotICAgIHBheW1lbnRDb29yZGluYXRvcigpLmNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0
aW9uKCphdXRob3JpemF0aW9uU3RhdHVzLCBjb252ZXJ0ZWROZXdTaGlwcGluZ01ldGhvZHMucmVs
ZWFzZVJldHVyblZhbHVlKCksIHRvdGFsQW5kTGluZUl0ZW1zKTsKKyAgICBwYXltZW50Q29vcmRp
bmF0b3IoKS5jb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihXVEZNb3ZlKHVwZGF0ZSkp
OwogCiAgICAgcmV0dXJuIHsgfTsKIH0KQEAgLTcxMSw4ICs3MjAsMTIgQEAgRXhjZXB0aW9uT3I8
dm9pZD4gQXBwbGVQYXlTZXNzaW9uOjpjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oQXBw
bGVQYXlMaW5lSXQKIAogICAgIHRvdGFsQW5kTGluZUl0ZW1zLmxpbmVJdGVtcyA9IGNvbnZlcnRl
ZE5ld0xpbmVJdGVtcy5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKIAorICAgIFBheW1lbnRNZXRob2RV
cGRhdGUgdXBkYXRlOworICAgIHVwZGF0ZS5zdGF0dXMgPSBQYXltZW50QXV0aG9yaXphdGlvblN0
YXR1czo6U3VjY2VzczsKKyAgICB1cGRhdGUubmV3VG90YWxBbmRMaW5lSXRlbXMgPSBXVEZNb3Zl
KHRvdGFsQW5kTGluZUl0ZW1zKTsKKwogICAgIG1fc3RhdGUgPSBTdGF0ZTo6QWN0aXZlOwotICAg
IHBheW1lbnRDb29yZGluYXRvcigpLmNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbih0b3Rh
bEFuZExpbmVJdGVtcyk7CisgICAgcGF5bWVudENvb3JkaW5hdG9yKCkuY29tcGxldGVQYXltZW50
TWV0aG9kU2VsZWN0aW9uKFdURk1vdmUodXBkYXRlKSk7CiAKICAgICByZXR1cm4geyB9OwogfQpA
QCAtNzI2LDcgKzczOSwxMCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVNlc3Npb246OmNv
bXBsZXRlUGF5bWVudCh1bnNpZ25lZCBzaG9ydCBzdGF0dXMpCiAgICAgaWYgKCFhdXRob3JpemF0
aW9uU3RhdHVzKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9BQ0NFU1NfRVJS
IH07CiAKLSAgICBwYXltZW50Q29vcmRpbmF0b3IoKS5jb21wbGV0ZVBheW1lbnRTZXNzaW9uKCph
dXRob3JpemF0aW9uU3RhdHVzKTsKKyAgICBQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdCByZXN1
bHQ7CisgICAgcmVzdWx0LnN0YXR1cyA9ICphdXRob3JpemF0aW9uU3RhdHVzOworCisgICAgcGF5
bWVudENvb3JkaW5hdG9yKCkuY29tcGxldGVQYXltZW50U2Vzc2lvbihXVEZNb3ZlKHJlc3VsdCkp
OwogCiAgICAgaWYgKCFpc0ZpbmFsU3RhdGVTdGF0dXMoKmF1dGhvcml6YXRpb25TdGF0dXMpKSB7
CiAgICAgICAgIG1fc3RhdGUgPSBTdGF0ZTo6QWN0aXZlOwpAQCAtNzc1LDcgKzc5MSw3IEBAIHZv
aWQgQXBwbGVQYXlTZXNzaW9uOjpkaWRTZWxlY3RTaGlwcGluZ01ldGhvZChjb25zdCBQYXltZW50
UmVxdWVzdDo6U2hpcHBpbmdNZXRoCiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gU3RhdGU6OkFjdGl2
ZSk7CiAKICAgICBpZiAoIWhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS5zaGlwcGluZ21l
dGhvZHNlbGVjdGVkRXZlbnQpKSB7Ci0gICAgICAgIHBheW1lbnRDb29yZGluYXRvcigpLmNvbXBs
ZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXM6OlN1
Y2Nlc3MsIHsgfSk7CisgICAgICAgIHBheW1lbnRDb29yZGluYXRvcigpLmNvbXBsZXRlU2hpcHBp
bmdNZXRob2RTZWxlY3Rpb24oeyB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNzg5
LDcgKzgwNSw3IEBAIHZvaWQgQXBwbGVQYXlTZXNzaW9uOjpkaWRTZWxlY3RTaGlwcGluZ0NvbnRh
Y3QoY29uc3QgUGF5bWVudENvbnRhY3QmIHNoaXBwaW5nQ29uCiAgICAgQVNTRVJUKG1fc3RhdGUg
PT0gU3RhdGU6OkFjdGl2ZSk7CiAKICAgICBpZiAoIWhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFt
ZXMoKS5zaGlwcGluZ2NvbnRhY3RzZWxlY3RlZEV2ZW50KSkgewotICAgICAgICBwYXltZW50Q29v
cmRpbmF0b3IoKS5jb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihQYXltZW50QXV0aG9y
aXphdGlvblN0YXR1czo6U3VjY2VzcywgeyB9LCB7IH0pOworICAgICAgICBwYXltZW50Q29vcmRp
bmF0b3IoKS5jb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbih7IH0pOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzLmgKaW5kZXggOTdjNzc4NDJhOTVh
NTEzZTZlNTA0YWIwYTM4YWUyMzJhN2Y5ZTgzZS4uNGE0YjkwYjhmOWViNTEyNDJmNTE5N2U2OWVk
YTliMzliZTdiMWFhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9QYXltZW50QXV0aG9yaXphdGlvblN0YXR1cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMuaApAQCAtMjcsNiArMjcsOCBA
QAogCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKIAorI2luY2x1ZGUgPHd0Zi9FbnVtVHJhaXRzLmg+
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBjbGFzcyBQYXltZW50QXV0aG9yaXphdGlv
blN0YXR1cyB7CkBAIC01OSw0ICs2MSwyMCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNGaW5hbFN0
YXRlU3RhdHVzKFBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzIHN0YXR1cykKIAogfQogCituYW1l
c3BhY2UgV1RGIHsKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6UGF5bWVu
dEF1dGhvcml6YXRpb25TdGF0dXM+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAor
ICAgICAgICBXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cywKKyAgICAgICAgV2Vi
Q29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXM6OlN1Y2Nlc3MsCisgICAgICAgIFdlYkNv
cmU6OlBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzOjpGYWlsdXJlLAorICAgICAgICBXZWJDb3Jl
OjpQYXltZW50QXV0aG9yaXphdGlvblN0YXR1czo6SW52YWxpZEJpbGxpbmdQb3N0YWxBZGRyZXNz
LAorICAgICAgICBXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblN0YXR1czo6SW52YWxpZFNo
aXBwaW5nUG9zdGFsQWRkcmVzcywKKyAgICAgICAgV2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRp
b25TdGF0dXM6OkludmFsaWRTaGlwcGluZ0NvbnRhY3QsCisgICAgICAgIFdlYkNvcmU6OlBheW1l
bnRBdXRob3JpemF0aW9uU3RhdHVzOjpQSU5SZXF1aXJlZCwKKyAgICAgICAgV2ViQ29yZTo6UGF5
bWVudEF1dGhvcml6YXRpb25TdGF0dXM6OlBJTkluY29ycmVjdCwKKyAgICAgICAgV2ViQ29yZTo6
UGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXM6OlBJTkxvY2tvdXQKKyAgICA+OworfTsKK30KKwog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1l
bnRDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1l
bnRDb29yZGluYXRvci5jcHAKaW5kZXggMTU0YTZkMDVjODJlYzdhZGFiZmJmMmZlN2M3M2NhZDFk
MDAyMzRhMS4uOWY0YjZjODcxYjM5YmZiMzdlZGYzNDYwMmE5ODBiOWY2ZWQ5M2YyYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5h
dG9yLmNwcApAQCAtODMsMzIgKzgzLDM0IEBAIHZvaWQgUGF5bWVudENvb3JkaW5hdG9yOjpjb21w
bGV0ZU1lcmNoYW50VmFsaWRhdGlvbihjb25zdCBQYXltZW50TWVyY2hhbnRTZXNzaW9uCiAgICAg
bV9jbGllbnQuY29tcGxldGVNZXJjaGFudFZhbGlkYXRpb24ocGF5bWVudE1lcmNoYW50U2Vzc2lv
bik7CiB9CiAKLXZvaWQgUGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVNoaXBwaW5nTWV0aG9k
U2VsZWN0aW9uKFBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzIHN0YXR1cywgc3RkOjpvcHRpb25h
bDxQYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXM+IG5ld1RvdGFsQW5kSXRlbXMpCit2
b2lkIFBheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbihz
dGQ6Om9wdGlvbmFsPFNoaXBwaW5nTWV0aG9kVXBkYXRlPiYmIHVwZGF0ZSkKIHsKICAgICBBU1NF
UlQobV9hY3RpdmVTZXNzaW9uKTsKIAotICAgIG1fY2xpZW50LmNvbXBsZXRlU2hpcHBpbmdNZXRo
b2RTZWxlY3Rpb24oc3RhdHVzLCBXVEZNb3ZlKG5ld1RvdGFsQW5kSXRlbXMpKTsKKyAgICBtX2Ns
aWVudC5jb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKFdURk1vdmUodXBkYXRlKSk7CiB9
CiAKLXZvaWQgUGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVj
dGlvbihQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cyBzdGF0dXMsIGNvbnN0IFZlY3RvcjxQYXlt
ZW50UmVxdWVzdDo6U2hpcHBpbmdNZXRob2Q+JiBuZXdTaGlwcGluZ01ldGhvZHMsIHN0ZDo6b3B0
aW9uYWw8UGF5bWVudFJlcXVlc3Q6OlRvdGFsQW5kTGluZUl0ZW1zPiBuZXdUb3RhbEFuZEl0ZW1z
KQordm9pZCBQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0
aW9uKHN0ZDo6b3B0aW9uYWw8U2hpcHBpbmdDb250YWN0VXBkYXRlPiYmIHVwZGF0ZSkKIHsKICAg
ICBBU1NFUlQobV9hY3RpdmVTZXNzaW9uKTsKIAotICAgIG1fY2xpZW50LmNvbXBsZXRlU2hpcHBp
bmdDb250YWN0U2VsZWN0aW9uKHN0YXR1cywgbmV3U2hpcHBpbmdNZXRob2RzLCBXVEZNb3ZlKG5l
d1RvdGFsQW5kSXRlbXMpKTsKKyAgICBtX2NsaWVudC5jb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNl
bGVjdGlvbihXVEZNb3ZlKHVwZGF0ZSkpOwogfQogCi12b2lkIFBheW1lbnRDb29yZGluYXRvcjo6
Y29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8UGF5bWVudFJlcXVl
c3Q6OlRvdGFsQW5kTGluZUl0ZW1zPiBuZXdUb3RhbEFuZEl0ZW1zKQordm9pZCBQYXltZW50Q29v
cmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFBh
eW1lbnRNZXRob2RVcGRhdGU+JiYgdXBkYXRlKQogewogICAgIEFTU0VSVChtX2FjdGl2ZVNlc3Np
b24pOwogCi0gICAgbV9jbGllbnQuY29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKFdURk1v
dmUobmV3VG90YWxBbmRJdGVtcykpOworICAgIG1fY2xpZW50LmNvbXBsZXRlUGF5bWVudE1ldGhv
ZFNlbGVjdGlvbihXVEZNb3ZlKHVwZGF0ZSkpOwogfQogCi12b2lkIFBheW1lbnRDb29yZGluYXRv
cjo6Y29tcGxldGVQYXltZW50U2Vzc2lvbihQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cyBzdGF0
dXMpCit2b2lkIFBheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVQYXltZW50U2Vzc2lvbihzdGQ6
Om9wdGlvbmFsPFBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0PiYmIHJlc3VsdCkKIHsKICAgICBB
U1NFUlQobV9hY3RpdmVTZXNzaW9uKTsKIAotICAgIG1fY2xpZW50LmNvbXBsZXRlUGF5bWVudFNl
c3Npb24oc3RhdHVzKTsKKyAgICBhdXRvIHN0YXR1cyA9IHJlc3VsdCA/IHJlc3VsdC0+c3RhdHVz
IDogUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXM6OlN1Y2Nlc3M7CisKKyAgICBtX2NsaWVudC5j
b21wbGV0ZVBheW1lbnRTZXNzaW9uKFdURk1vdmUocmVzdWx0KSk7CiAKICAgICBpZiAoIWlzRmlu
YWxTdGF0ZVN0YXR1cyhzdGF0dXMpKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuaAppbmRleCA1MDBh
ZTE2ZDE5ZmQzY2MwYmJjYTBiZWRhZTc0NTZmNTUzNTcyOWNiLi5mOGQwNTZjZjgxZTcwNWEyMjU0
NzVkZDk2MGQ4NGQwMDEzNDk0YjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmgKQEAgLTQwLDYgKzQwLDEwIEBAIGNsYXNz
IFBheW1lbnRNZXJjaGFudFNlc3Npb247CiBjbGFzcyBQYXltZW50TWV0aG9kOwogY2xhc3MgVVJM
OwogZW51bSBjbGFzcyBQYXltZW50QXV0aG9yaXphdGlvblN0YXR1czsKK3N0cnVjdCBQYXltZW50
QXV0aG9yaXphdGlvblJlc3VsdDsKK3N0cnVjdCBQYXltZW50TWV0aG9kVXBkYXRlOworc3RydWN0
IFNoaXBwaW5nQ29udGFjdFVwZGF0ZTsKK3N0cnVjdCBTaGlwcGluZ01ldGhvZFVwZGF0ZTsKIAog
Y2xhc3MgUGF5bWVudENvb3JkaW5hdG9yIHsKIHB1YmxpYzoKQEAgLTU1LDEwICs1OSwxMCBAQCBw
dWJsaWM6CiAKICAgICBib29sIGJlZ2luUGF5bWVudFNlc3Npb24oQXBwbGVQYXlTZXNzaW9uJiwg
Y29uc3QgVVJMJiBvcmlnaW5hdGluZ1VSTCwgY29uc3QgVmVjdG9yPFVSTD4mIGxpbmtJY29uVVJM
cywgY29uc3QgUGF5bWVudFJlcXVlc3QmKTsKICAgICB2b2lkIGNvbXBsZXRlTWVyY2hhbnRWYWxp
ZGF0aW9uKGNvbnN0IFBheW1lbnRNZXJjaGFudFNlc3Npb24mKTsKLSAgICB2b2lkIGNvbXBsZXRl
U2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMsIHN0ZDo6
b3B0aW9uYWw8UGF5bWVudFJlcXVlc3Q6OlRvdGFsQW5kTGluZUl0ZW1zPiBuZXdJdGVtcyk7Ci0g
ICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihQYXltZW50QXV0aG9yaXph
dGlvblN0YXR1cywgY29uc3QgVmVjdG9yPFBheW1lbnRSZXF1ZXN0OjpTaGlwcGluZ01ldGhvZD4m
IG5ld1NoaXBwaW5nTWV0aG9kcywgc3RkOjpvcHRpb25hbDxQYXltZW50UmVxdWVzdDo6VG90YWxB
bmRMaW5lSXRlbXM+IG5ld0l0ZW1zKTsKLSAgICB2b2lkIGNvbXBsZXRlUGF5bWVudE1ldGhvZFNl
bGVjdGlvbihzdGQ6Om9wdGlvbmFsPFBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcz4g
bmV3SXRlbXMpOwotICAgIHZvaWQgY29tcGxldGVQYXltZW50U2Vzc2lvbihQYXltZW50QXV0aG9y
aXphdGlvblN0YXR1cyk7CisgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9u
KHN0ZDo6b3B0aW9uYWw8U2hpcHBpbmdNZXRob2RVcGRhdGU+JiYpOworICAgIHZvaWQgY29tcGxl
dGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxTaGlwcGluZ0NvbnRhY3RV
cGRhdGU+JiYpOworICAgIHZvaWQgY29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6
b3B0aW9uYWw8UGF5bWVudE1ldGhvZFVwZGF0ZT4mJik7CisgICAgdm9pZCBjb21wbGV0ZVBheW1l
bnRTZXNzaW9uKHN0ZDo6b3B0aW9uYWw8UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQ+JiYpOwog
ICAgIHZvaWQgYWJvcnRQYXltZW50U2Vzc2lvbigpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCB2YWxpZGF0ZU1lcmNoYW50KGNvbnN0IFVSTCYgdmFsaWRhdGlvblVSTCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JD
bGllbnQuaAppbmRleCAzZDZlY2MwNzMwOTQxZmViYWYwNGJjZDQ4YTQ5NTI5ZGUzNzU4MmE1Li45
OGRjOThjZWJlMTJlZWQ3M2VjYTU2YzcyNjQxZTVmOTIwZWM0Nzc3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xp
ZW50LmgKQEAgLTM1LDcgKzM1LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUGF5
bWVudE1lcmNoYW50U2Vzc2lvbjsKIGNsYXNzIFVSTDsKLWVudW0gY2xhc3MgUGF5bWVudEF1dGhv
cml6YXRpb25TdGF0dXM7CitzdHJ1Y3QgUGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQ7CitzdHJ1
Y3QgUGF5bWVudE1ldGhvZFVwZGF0ZTsKK3N0cnVjdCBTaGlwcGluZ0NvbnRhY3RVcGRhdGU7Citz
dHJ1Y3QgU2hpcHBpbmdNZXRob2RVcGRhdGU7CiAKIGNsYXNzIFBheW1lbnRDb29yZGluYXRvckNs
aWVudCB7CiBwdWJsaWM6CkBAIC00NiwxMCArNDksMTAgQEAgcHVibGljOgogCiAgICAgdmlydHVh
bCBib29sIHNob3dQYXltZW50VUkoY29uc3QgVVJMJiBvcmlnaW5hdGluZ1VSTCwgY29uc3QgVmVj
dG9yPFVSTD4mIGxpbmtJY29uVVJMcywgY29uc3QgUGF5bWVudFJlcXVlc3QmKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKGNvbnN0IFBheW1lbnRNZXJj
aGFudFNlc3Npb24mKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGNvbXBsZXRlU2hpcHBpbmdNZXRo
b2RTZWxlY3Rpb24oUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMsIHN0ZDo6b3B0aW9uYWw8UGF5
bWVudFJlcXVlc3Q6OlRvdGFsQW5kTGluZUl0ZW1zPiBuZXdUb3RhbEFuZEl0ZW1zKSA9IDA7Ci0g
ICAgdmlydHVhbCB2b2lkIGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKFBheW1lbnRB
dXRob3JpemF0aW9uU3RhdHVzLCBjb25zdCBWZWN0b3I8UGF5bWVudFJlcXVlc3Q6OlNoaXBwaW5n
TWV0aG9kPiYgbmV3U2hpcHBpbmdNZXRob2RzLCBzdGQ6Om9wdGlvbmFsPFBheW1lbnRSZXF1ZXN0
OjpUb3RhbEFuZExpbmVJdGVtcz4gbmV3VG90YWxBbmRJdGVtcykgPSAwOwotICAgIHZpcnR1YWwg
dm9pZCBjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXZWJDb3Jl
OjpQYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXM+IG5ld1RvdGFsQW5kSXRlbXMpID0g
MDsKLSAgICB2aXJ0dWFsIHZvaWQgY29tcGxldGVQYXltZW50U2Vzc2lvbihQYXltZW50QXV0aG9y
aXphdGlvblN0YXR1cykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0
aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8U2hpcHBpbmdNZXRob2RVcGRhdGU+JiYpID0gMDsK
KyAgICB2aXJ0dWFsIHZvaWQgY29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oc3RkOjpv
cHRpb25hbDxTaGlwcGluZ0NvbnRhY3RVcGRhdGU+JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
Y29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8UGF5bWVudE1ldGhv
ZFVwZGF0ZT4mJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBjb21wbGV0ZVBheW1lbnRTZXNzaW9u
KHN0ZDo6b3B0aW9uYWw8UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQ+JiYpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgYWJvcnRQYXltZW50U2Vzc2lvbigpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
cGF5bWVudENvb3JkaW5hdG9yRGVzdHJveWVkKCkgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0LmgKaW5kZXggZWMzZWUxZmFmM2IyNjUz
ODgxYWNjOTQzYTIzNmFmNzZmZjQ3M2IzOS4uZWNjYWNiYTk3ODY1ZmNlMzM5ZDY0OGI5ZTZjZmIx
ZTVmYWMwMjRhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9Q
YXltZW50UmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5
bWVudFJlcXVlc3QuaApAQCAtMjgsMTIgKzI4LDE1IEBACiAjaWYgRU5BQkxFKEFQUExFX1BBWSkK
IAogI2luY2x1ZGUgIlBheW1lbnRDb250YWN0LmgiCisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMu
aD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAor
ZW51bSBjbGFzcyBQYXltZW50QXV0aG9yaXphdGlvblN0YXR1czsKKwogY2xhc3MgUGF5bWVudFJl
cXVlc3QgewogcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIFBheW1lbnRSZXF1ZXN0KCk7CkBA
IC0xNDcsNiArMTUwLDg2IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fYXBwbGljYXRpb25EYXRh
OwogfTsKIAorc3RydWN0IFBheW1lbnRFcnJvciB7CisgICAgZW51bSBjbGFzcyBDb2RlIHsKKyAg
ICAgICAgVW5rbm93biwKKyAgICAgICAgU2hpcHBpbmdDb250YWN0SW52YWxpZCwKKyAgICAgICAg
QmlsbGluZ0NvbnRhY3RJbnZhbGlkLAorICAgICAgICBBZGRyZXNzVW5zZXJ2aWNhYmxlLAorICAg
IH07CisKKyAgICBlbnVtIGNsYXNzIENvbnRhY3RGaWVsZCB7CisgICAgICAgIFBob25lTnVtYmVy
LAorICAgICAgICBFbWFpbEFkZHJlc3MsCisgICAgICAgIEdpdmVuTmFtZSwKKyAgICAgICAgRmFt
aWx5TmFtZSwKKyAgICAgICAgQWRkcmVzc0xpbmVzLAorICAgICAgICBMb2NhbGl0eSwKKyAgICAg
ICAgUG9zdGFsQ29kZSwKKyAgICAgICAgQWRtaW5pc3RyYXRpdmVBcmVhLAorICAgICAgICBDb3Vu
dHJ5LAorICAgICAgICBDb3VudHJ5Q29kZSwKKyAgICB9OworCisKKyAgICBDb2RlIGNvZGU7Cisg
ICAgU3RyaW5nIG1lc3NhZ2U7CisgICAgc3RkOjpvcHRpb25hbDxDb250YWN0RmllbGQ+IGNvbnRh
Y3RGaWVsZDsKK307CisKK3N0cnVjdCBQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdCB7CisgICAg
UGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMgc3RhdHVzOworICAgIFZlY3RvcjxQYXltZW50RXJy
b3I+IGVycm9yczsKK307CisKK3N0cnVjdCBQYXltZW50TWV0aG9kVXBkYXRlIHsKKyAgICBQYXlt
ZW50QXV0aG9yaXphdGlvblN0YXR1cyBzdGF0dXM7CisgICAgUGF5bWVudFJlcXVlc3Q6OlRvdGFs
QW5kTGluZUl0ZW1zIG5ld1RvdGFsQW5kTGluZUl0ZW1zOworfTsKKworc3RydWN0IFNoaXBwaW5n
Q29udGFjdFVwZGF0ZSB7CisgICAgUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMgc3RhdHVzOwor
ICAgIFZlY3RvcjxQYXltZW50RXJyb3I+IGVycm9yczsKKworICAgIFZlY3RvcjxQYXltZW50UmVx
dWVzdDo6U2hpcHBpbmdNZXRob2Q+IG5ld1NoaXBwaW5nTWV0aG9kczsKKyAgICBQYXltZW50UmVx
dWVzdDo6VG90YWxBbmRMaW5lSXRlbXMgbmV3VG90YWxBbmRMaW5lSXRlbXM7Cit9OworCitzdHJ1
Y3QgU2hpcHBpbmdNZXRob2RVcGRhdGUgeworICAgIFBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVz
IHN0YXR1czsKKyAgICBQYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXMgbmV3VG90YWxB
bmRMaW5lSXRlbXM7Cit9OworCit9CisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0
cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlBheW1lbnRFcnJvcjo6Q29kZT4geworICAgIHVzaW5n
IHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OlBheW1lbnRFcnJvcjo6Q29k
ZSwKKyAgICAgICAgV2ViQ29yZTo6UGF5bWVudEVycm9yOjpDb2RlOjpVbmtub3duLAorICAgICAg
ICBXZWJDb3JlOjpQYXltZW50RXJyb3I6OkNvZGU6OlNoaXBwaW5nQ29udGFjdEludmFsaWQsCisg
ICAgICAgIFdlYkNvcmU6OlBheW1lbnRFcnJvcjo6Q29kZTo6QmlsbGluZ0NvbnRhY3RJbnZhbGlk
LAorICAgICAgICBXZWJDb3JlOjpQYXltZW50RXJyb3I6OkNvZGU6OkFkZHJlc3NVbnNlcnZpY2Fi
bGUKKyAgICA+OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpQ
YXltZW50RXJyb3I6OkNvbnRhY3RGaWVsZD4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1
ZXM8CisgICAgICAgIFdlYkNvcmU6OlBheW1lbnRFcnJvcjo6Q29udGFjdEZpZWxkLAorICAgICAg
ICBXZWJDb3JlOjpQYXltZW50RXJyb3I6OkNvbnRhY3RGaWVsZDo6UGhvbmVOdW1iZXIsCisgICAg
ICAgIFdlYkNvcmU6OlBheW1lbnRFcnJvcjo6Q29udGFjdEZpZWxkOjpFbWFpbEFkZHJlc3MsCisg
ICAgICAgIFdlYkNvcmU6OlBheW1lbnRFcnJvcjo6Q29udGFjdEZpZWxkOjpHaXZlbk5hbWUsCisg
ICAgICAgIFdlYkNvcmU6OlBheW1lbnRFcnJvcjo6Q29udGFjdEZpZWxkOjpGYW1pbHlOYW1lLAor
ICAgICAgICBXZWJDb3JlOjpQYXltZW50RXJyb3I6OkNvbnRhY3RGaWVsZDo6QWRkcmVzc0xpbmVz
LAorICAgICAgICBXZWJDb3JlOjpQYXltZW50RXJyb3I6OkNvbnRhY3RGaWVsZDo6TG9jYWxpdHks
CisgICAgICAgIFdlYkNvcmU6OlBheW1lbnRFcnJvcjo6Q29udGFjdEZpZWxkOjpQb3N0YWxDb2Rl
LAorICAgICAgICBXZWJDb3JlOjpQYXltZW50RXJyb3I6OkNvbnRhY3RGaWVsZDo6QWRtaW5pc3Ry
YXRpdmVBcmVhLAorICAgICAgICBXZWJDb3JlOjpQYXltZW50RXJyb3I6OkNvbnRhY3RGaWVsZDo6
Q291bnRyeSwKKyAgICAgICAgV2ViQ29yZTo6UGF5bWVudEVycm9yOjpDb250YWN0RmllbGQ6OkNv
dW50cnlDb2RlCisgICAgPjsKK307CisKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuY3BwCmluZGV4IGFmYzg1NmE1NDM5ZjJlYTYzNDRmNGE5ZDQwMDdjYTcxYTUw
YmVkNzUuLjhjMGFhNjViYjA4NWYxMTQxOTRjMDNkZTFlNTJiYTE4MjU1Yzk2NzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCkBAIC00OTAsMTAgKzQ5MCwxMCBAQCBjbGFz
cyBFbXB0eVBheW1lbnRDb29yZGluYXRvckNsaWVudCBmaW5hbCA6IHB1YmxpYyBQYXltZW50Q29v
cmRpbmF0b3JDbGllbnQgewogICAgIHZvaWQgb3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcm
LCBjb25zdCBTdHJpbmcmLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoYm9vbCk+IGNvbXBsZXRpb25IYW5k
bGVyKSBmaW5hbCB7IGNhbGxPbk1haW5UaHJlYWQoW2NvbXBsZXRpb25IYW5kbGVyXSB7IGNvbXBs
ZXRpb25IYW5kbGVyKGZhbHNlKTsgfSk7IH0KICAgICBib29sIHNob3dQYXltZW50VUkoY29uc3Qg
VVJMJiwgY29uc3QgVmVjdG9yPFVSTD4mLCBjb25zdCBQYXltZW50UmVxdWVzdCYpIGZpbmFsIHsg
cmV0dXJuIGZhbHNlOyB9CiAgICAgdm9pZCBjb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlvbihjb25z
dCBQYXltZW50TWVyY2hhbnRTZXNzaW9uJikgZmluYWwgeyB9Ci0gICAgdm9pZCBjb21wbGV0ZVNo
aXBwaW5nTWV0aG9kU2VsZWN0aW9uKFBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzLCBzdGQ6Om9w
dGlvbmFsPFBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcz4pIGZpbmFsIHsgfQotICAg
IHZvaWQgY29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oUGF5bWVudEF1dGhvcml6YXRp
b25TdGF0dXMsIGNvbnN0IFZlY3RvcjxQYXltZW50UmVxdWVzdDo6U2hpcHBpbmdNZXRob2Q+Jiwg
c3RkOjpvcHRpb25hbDxQYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXM+KSBmaW5hbCB7
IH0KLSAgICB2b2lkIGNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFs
PFdlYkNvcmU6OlBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcz4pIGZpbmFsIHsgfQot
ICAgIHZvaWQgY29tcGxldGVQYXltZW50U2Vzc2lvbihQYXltZW50QXV0aG9yaXphdGlvblN0YXR1
cykgZmluYWwgeyB9CisgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHN0
ZDo6b3B0aW9uYWw8U2hpcHBpbmdNZXRob2RVcGRhdGU+JiYpIGZpbmFsIHsgfQorICAgIHZvaWQg
Y29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxTaGlwcGluZ0Nv
bnRhY3RVcGRhdGU+JiYpIGZpbmFsIHsgfQorICAgIHZvaWQgY29tcGxldGVQYXltZW50TWV0aG9k
U2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8UGF5bWVudE1ldGhvZFVwZGF0ZT4mJikgZmluYWwgeyB9
CisgICAgdm9pZCBjb21wbGV0ZVBheW1lbnRTZXNzaW9uKHN0ZDo6b3B0aW9uYWw8UGF5bWVudEF1
dGhvcml6YXRpb25SZXN1bHQ+JiYpIGZpbmFsIHsgfQogICAgIHZvaWQgYWJvcnRQYXltZW50U2Vz
c2lvbigpIGZpbmFsIHsgfQogICAgIHZvaWQgcGF5bWVudENvb3JkaW5hdG9yRGVzdHJveWVkKCkg
ZmluYWwgeyB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaAppbmRleCAwMjEwMDY0YjU3
NDZhYjVlN2U4OTJhZWQyMGQyYWFjOGI2NmExZWI3Li43OTA4M2ZhYTdjZTJhNDc2YzAxNjBmZDAw
ZDg2OWNmMjJhOTczOTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaApAQCAtNDIsMTAg
KzQyLDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBvcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmlu
ZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIHN0ZDo6ZnVu
Y3Rpb248dm9pZCAoYm9vbCk+IGNvbXBsZXRpb25IYW5kbGVyKSBvdmVycmlkZTsKICAgICBib29s
IHNob3dQYXltZW50VUkoY29uc3QgV2ViQ29yZTo6VVJMJiwgY29uc3QgVmVjdG9yPFdlYkNvcmU6
OlVSTD4mIGxpbmtJY29uVVJMcywgY29uc3QgV2ViQ29yZTo6UGF5bWVudFJlcXVlc3QmKSBvdmVy
cmlkZTsKICAgICB2b2lkIGNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKGNvbnN0IFdlYkNvcmU6
OlBheW1lbnRNZXJjaGFudFNlc3Npb24mKSBvdmVycmlkZTsKLSAgICB2b2lkIGNvbXBsZXRlU2hp
cHBpbmdNZXRob2RTZWxlY3Rpb24oV2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMs
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudFJlcXVlc3Q6OlRvdGFsQW5kTGluZUl0ZW1z
PiBuZXdUb3RhbEFuZEl0ZW1zKSBvdmVycmlkZTsKLSAgICB2b2lkIGNvbXBsZXRlU2hpcHBpbmdD
b250YWN0U2VsZWN0aW9uKFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzLCBjb25z
dCBWZWN0b3I8V2ViQ29yZTo6UGF5bWVudFJlcXVlc3Q6OlNoaXBwaW5nTWV0aG9kPiYsIHN0ZDo6
b3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudFJlcXVlc3Q6OlRvdGFsQW5kTGluZUl0ZW1zPiBuZXdU
b3RhbEFuZEl0ZW1zKSBvdmVycmlkZTsKLSAgICB2b2lkIGNvbXBsZXRlUGF5bWVudE1ldGhvZFNl
bGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExp
bmVJdGVtcz4pIG92ZXJyaWRlOwotICAgIHZvaWQgY29tcGxldGVQYXltZW50U2Vzc2lvbihXZWJD
b3JlOjpQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cykgb3ZlcnJpZGU7CisgICAgdm9pZCBjb21w
bGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2hpcHBp
bmdNZXRob2RVcGRhdGU+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgY29tcGxldGVTaGlwcGluZ0Nv
bnRhY3RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTaGlwcGluZ0NvbnRhY3RVcGRh
dGU+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgY29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9u
KHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudE1ldGhvZFVwZGF0ZT4mJikgb3ZlcnJpZGU7
CisgICAgdm9pZCBjb21wbGV0ZVBheW1lbnRTZXNzaW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6
UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQ+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgYWJvcnRQ
YXltZW50U2Vzc2lvbigpIG92ZXJyaWRlOwogICAgIHZvaWQgcGF5bWVudENvb3JkaW5hdG9yRGVz
dHJveWVkKCkgb3ZlcnJpZGU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lm1tIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lm1tCmluZGV4
IGViZmQ4MzU0MGYxMjJiZTdlOWNmZjc5YWY1OGQyN2YwNzJiOWE4NzguLjMyMDY4YjUxYWY2NmM5
MmMwNTljZDVkYTljZGZhYjA1OWNkZGIyMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVudC5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQu
bW0KQEAgLTcxLDE5ICs3MSwxOSBAQCB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6
Y29tcGxldGVNZXJjaGFudFZhbGlkYXRpb24oY29uc3QgV2ViQ29yZTo6UGF5bQogewogfQogCi12
b2lkIFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6Y29tcGxldGVTaGlwcGluZ01ldGhvZFNl
bGVjdGlvbihXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cywgc3RkOjpvcHRpb25h
bDxXZWJDb3JlOjpQYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXM+KQordm9pZCBXZWJQ
YXltZW50Q29vcmRpbmF0b3JDbGllbnQ6OmNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24o
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTaGlwcGluZ01ldGhvZFVwZGF0ZT4mJikKIHsKIH0KIAot
dm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6OmNvbXBsZXRlU2hpcHBpbmdDb250YWN0
U2VsZWN0aW9uKFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzLCBjb25zdCBWZWN0
b3I8V2ViQ29yZTo6UGF5bWVudFJlcXVlc3Q6OlNoaXBwaW5nTWV0aG9kPiYsIHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6UGF5bWVudFJlcXVlc3Q6OlRvdGFsQW5kTGluZUl0ZW1zPikKK3ZvaWQgV2Vi
UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Ojpjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlv
bihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNoaXBwaW5nQ29udGFjdFVwZGF0ZT4mJikKIHsKIH0K
IAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6OmNvbXBsZXRlUGF5bWVudE1ldGhv
ZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1lbnRSZXF1ZXN0OjpUb3RhbEFu
ZExpbmVJdGVtcz4pCit2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6Y29tcGxldGVQ
YXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudE1ldGhv
ZFVwZGF0ZT4mJikKIHsKIH0KIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6OmNv
bXBsZXRlUGF5bWVudFNlc3Npb24oV2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMp
Cit2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6Y29tcGxldGVQYXltZW50U2Vzc2lv
bihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0PiYmKQog
ewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdC9tZXNzYWdl
cy5weSBiL1NvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IDIy
ODczMWYwOGY4N2I5ZmY3M2U3YTRhYThjNWNjY2FkNGYzNDIzZjUuLjE0ZGQ2OTdlOGI4YzlkYzg2
MGU5NzQ4MjVjOTMwN2QzMGFhODQ0ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1Njcmlw
dHMvd2Via2l0L21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0
L21lc3NhZ2VzLnB5CkBAIC0zNTgsOCArMzU4LDEyIEBAIGRlZiBoZWFkZXJzX2Zvcl90eXBlKHR5
cGUpOgogICAgICAgICAnV2ViQ29yZTo6TWVkaWFDb25zdHJhaW50c0RhdGEnOiBbJzxXZWJDb3Jl
L01lZGlhQ29uc3RyYWludHNJbXBsLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpQYXN0ZWJvYXJk
SW1hZ2UnOiBbJzxXZWJDb3JlL1Bhc3RlYm9hcmQuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlBh
c3RlYm9hcmRXZWJDb250ZW50JzogWyc8V2ViQ29yZS9QYXN0ZWJvYXJkLmg+J10sCisgICAgICAg
ICdXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdCc6IFsnPFdlYkNvcmUvUGF5bWVu
dFJlcXVlc3QuaD4nXSwKKyAgICAgICAgJ1dlYkNvcmU6OlBheW1lbnRNZXRob2RVcGRhdGUnOiBb
JzxXZWJDb3JlL1BheW1lbnRSZXF1ZXN0Lmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpQbHVnaW5J
bmZvJzogWyc8V2ViQ29yZS9QbHVnaW5EYXRhLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpSZWNl
bnRTZWFyY2gnOiBbJzxXZWJDb3JlL1NlYXJjaFBvcHVwTWVudS5oPiddLAorICAgICAgICAnV2Vi
Q29yZTo6U2hpcHBpbmdDb250YWN0VXBkYXRlJzogWyc8V2ViQ29yZS9QYXltZW50UmVxdWVzdC5o
PiddLAorICAgICAgICAnV2ViQ29yZTo6U2hpcHBpbmdNZXRob2RVcGRhdGUnOiBbJzxXZWJDb3Jl
L1BheW1lbnRSZXF1ZXN0Lmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpTaG91bGRTYW1wbGUnOiBb
JzxXZWJDb3JlL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lmg+J10sCiAgICAgICAgICdXZWJDb3Jl
OjpUZXh0Q2hlY2tpbmdSZXF1ZXN0RGF0YSc6IFsnPFdlYkNvcmUvVGV4dENoZWNraW5nLmg+J10s
CiAgICAgICAgICdXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXN1bHQnOiBbJzxXZWJDb3JlL1RleHRD
aGVja2VyQ2xpZW50Lmg+J10sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29j
b2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
Q29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0KaW5kZXggMzdiMmQ3MTM0ZTlkMjlk
MzZjMzk5YWQ0NjRlZjliZTU0ODEyYjQ1Yi4uZWQ5YzYzMmZmY2VmMzRhYWJkY2M5M2RlNTM1YzRm
NzY1YmJmYTFkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NvY29hL1dlYkNv
cmVBcmd1bWVudENvZGVyc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db2Nv
YS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQpAQCAtMzAsNiArMzAsNyBAQAogCiAjaW1w
b3J0ICJEYXRhUmVmZXJlbmNlLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1Bhc3NLaXRTUEkuaD4KKyNp
bXBvcnQgPFdlYkNvcmUvUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMuaD4KICNpbXBvcnQgPFdl
YkNvcmUvU29mdExpbmtpbmcuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTgxLDYgKzgyLDIy
IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpQYXltZW50Pjo6ZGVjb2RlKERlY29kZXIm
IGRlY29kZXIsIFdlYkNvcmU6OlBheW1lbnQmCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQg
QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdD46OmVuY29k
ZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblJl
c3VsdCYgcmVzdWx0KQoreworICAgIGVuY29kZXIgPDwgcmVzdWx0LnN0YXR1czsKKyAgICBlbmNv
ZGVyIDw8IHJlc3VsdC5lcnJvcnM7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpQ
YXltZW50QXV0aG9yaXphdGlvblJlc3VsdD46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBXZWJD
b3JlOjpQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdCYgcmVzdWx0KQoreworICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocmVzdWx0LnN0YXR1cykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5lcnJvcnMpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBh
eW1lbnRDb250YWN0Pjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFdlYkNvcmU6OlBh
eW1lbnRDb250YWN0JiBwYXltZW50Q29udGFjdCkKIHsKICAgICBhdXRvIGRhdGEgPSBhZG9wdE5T
KFtbTlNNdXRhYmxlRGF0YSBhbGxvY10gaW5pdF0pOwpAQCAtMTE1LDYgKzEzMiwyNSBAQCBib29s
IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UGF5bWVudENvbnRhY3Q+OjpkZWNvZGUoRGVjb2RlciYg
ZGVjb2RlciwgV2ViQ29yZTo6UAogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIEFyZ3VtZW50
Q29kZXI8V2ViQ29yZTo6UGF5bWVudEVycm9yPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNv
bnN0IFdlYkNvcmU6OlBheW1lbnRFcnJvciYgZXJyb3IpCit7CisgICAgZW5jb2RlciA8PCBlcnJv
ci5jb2RlOworICAgIGVuY29kZXIgPDwgZXJyb3IubWVzc2FnZTsKKyAgICBlbmNvZGVyIDw8IGVy
cm9yLmNvbnRhY3RGaWVsZDsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBheW1l
bnRFcnJvcj46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBXZWJDb3JlOjpQYXltZW50RXJyb3Im
IGVycm9yKQoreworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZXJyb3IuY29kZSkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGVycm9yLm1lc3NhZ2UpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShlcnJvci5jb250
YWN0RmllbGQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30K
Kwogdm9pZCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBheW1lbnRNZXJjaGFudFNlc3Npb24+Ojpl
bmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgV2ViQ29yZTo6UGF5bWVudE1lcmNoYW50U2Vz
c2lvbiYgcGF5bWVudE1lcmNoYW50U2Vzc2lvbikKIHsKICAgICBhdXRvIGRhdGEgPSBhZG9wdE5T
KFtbTlNNdXRhYmxlRGF0YSBhbGxvY10gaW5pdF0pOwpAQCAtMTg0LDYgKzIyMCwyMiBAQCBib29s
IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UGF5bWVudE1ldGhvZD46OmRlY29kZShEZWNvZGVyJiBk
ZWNvZGVyLCBXZWJDb3JlOjpQYQogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIEFyZ3VtZW50
Q29kZXI8V2ViQ29yZTo6UGF5bWVudE1ldGhvZFVwZGF0ZT46OmVuY29kZShFbmNvZGVyJiBlbmNv
ZGVyLCBjb25zdCBXZWJDb3JlOjpQYXltZW50TWV0aG9kVXBkYXRlJiB1cGRhdGUpCit7CisgICAg
ZW5jb2RlciA8PCB1cGRhdGUuc3RhdHVzOworICAgIGVuY29kZXIgPDwgdXBkYXRlLm5ld1RvdGFs
QW5kTGluZUl0ZW1zOworfQorCitib29sIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UGF5bWVudE1l
dGhvZFVwZGF0ZT46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBXZWJDb3JlOjpQYXltZW50TWV0
aG9kVXBkYXRlJiB1cGRhdGUpCit7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh1cGRhdGUuc3Rh
dHVzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodXBk
YXRlLm5ld1RvdGFsQW5kTGluZUl0ZW1zKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
cmV0dXJuIHRydWU7Cit9CisKIHZvaWQgQXJndW1lbnRDb2RlcjxQYXltZW50UmVxdWVzdD46OmVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBQYXltZW50UmVxdWVzdCYgcmVxdWVzdCkKIHsK
ICAgICBlbmNvZGVyIDw8IHJlcXVlc3QuY291bnRyeUNvZGUoKTsKQEAgLTM3MCw2ICs0MjIsNDQg
QEAgYm9vbCBBcmd1bWVudENvZGVyPFBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcz46
OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLAogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIEFy
Z3VtZW50Q29kZXI8V2ViQ29yZTo6U2hpcHBpbmdDb250YWN0VXBkYXRlPjo6ZW5jb2RlKEVuY29k
ZXImIGVuY29kZXIsIGNvbnN0IFdlYkNvcmU6OlNoaXBwaW5nQ29udGFjdFVwZGF0ZSYgdXBkYXRl
KQoreworICAgIGVuY29kZXIgPDwgdXBkYXRlLnN0YXR1czsKKyAgICBlbmNvZGVyIDw8IHVwZGF0
ZS5lcnJvcnM7CisgICAgZW5jb2RlciA8PCB1cGRhdGUubmV3U2hpcHBpbmdNZXRob2RzOworICAg
IGVuY29kZXIgPDwgdXBkYXRlLm5ld1RvdGFsQW5kTGluZUl0ZW1zOworfQorCitib29sIEFyZ3Vt
ZW50Q29kZXI8V2ViQ29yZTo6U2hpcHBpbmdDb250YWN0VXBkYXRlPjo6ZGVjb2RlKERlY29kZXIm
IGRlY29kZXIsIFdlYkNvcmU6OlNoaXBwaW5nQ29udGFjdFVwZGF0ZSYgdXBkYXRlKQoreworICAg
IGlmICghZGVjb2Rlci5kZWNvZGUodXBkYXRlLnN0YXR1cykpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHVwZGF0ZS5lcnJvcnMpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh1cGRhdGUubmV3U2hpcHBpbmdNZXRo
b2RzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodXBk
YXRlLm5ld1RvdGFsQW5kTGluZUl0ZW1zKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
cmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpTaGlwcGluZ01l
dGhvZFVwZGF0ZT46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBXZWJDb3JlOjpTaGlw
cGluZ01ldGhvZFVwZGF0ZSYgdXBkYXRlKQoreworICAgIGVuY29kZXIgPDwgdXBkYXRlLnN0YXR1
czsKKyAgICBlbmNvZGVyIDw8IHVwZGF0ZS5uZXdUb3RhbEFuZExpbmVJdGVtczsKK30KKworYm9v
bCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlNoaXBwaW5nTWV0aG9kVXBkYXRlPjo6ZGVjb2RlKERl
Y29kZXImIGRlY29kZXIsIFdlYkNvcmU6OlNoaXBwaW5nTWV0aG9kVXBkYXRlJiB1cGRhdGUpCit7
CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh1cGRhdGUuc3RhdHVzKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodXBkYXRlLm5ld1RvdGFsQW5kTGluZUl0
ZW1zKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIH0K
IAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmgKaW5kZXggZWFiMTMxYzg4YmUwZDUwZjFlZThhOWNlYzE4ZWE3NzRhNmU0YTRkZS4uZWQ0NTdh
ODljNTE0Y2RmODg3N2IyM2E3OWFjOWJmY2Q4YjVjYTBkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtNTQ2LDExICs1NDYsMjEgQEAgdGVt
cGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpQYXltZW50PiB7CiAgICAgc3Rh
dGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXZWJDb3JlOjpQYXltZW50Jik7CiB9OwogCit0ZW1w
bGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9u
UmVzdWx0PiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXZWJDb3Jl
OjpQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdCYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShE
ZWNvZGVyJiwgV2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQmKTsKK307CisKIHRl
bXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UGF5bWVudENvbnRhY3Q+IHsK
ICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlBheW1lbnRD
b250YWN0Jik7CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXZWJDb3JlOjpQYXlt
ZW50Q29udGFjdCYpOwogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJD
b3JlOjpQYXltZW50RXJyb3I+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNv
bnN0IFdlYkNvcmU6OlBheW1lbnRFcnJvciYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNv
ZGVyJiwgV2ViQ29yZTo6UGF5bWVudEVycm9yJik7Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBB
cmd1bWVudENvZGVyPFdlYkNvcmU6OlBheW1lbnRNZXJjaGFudFNlc3Npb24+IHsKICAgICBzdGF0
aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlBheW1lbnRNZXJjaGFudFNl
c3Npb24mKTsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdlYkNvcmU6OlBheW1l
bnRNZXJjaGFudFNlc3Npb24mKTsKQEAgLTU2MSw2ICs1NzEsMTEgQEAgdGVtcGxhdGU8PiBzdHJ1
Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpQYXltZW50TWV0aG9kPiB7CiAgICAgc3RhdGljIGJv
b2wgZGVjb2RlKERlY29kZXImLCBXZWJDb3JlOjpQYXltZW50TWV0aG9kJik7CiB9OwogCit0ZW1w
bGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBheW1lbnRNZXRob2RVcGRhdGU+
IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlBheW1l
bnRNZXRob2RVcGRhdGUmKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdlYkNv
cmU6OlBheW1lbnRNZXRob2RVcGRhdGUmKTsKK307CisKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3Vt
ZW50Q29kZXI8V2ViQ29yZTo6UGF5bWVudFJlcXVlc3Q+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNv
ZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlBheW1lbnRSZXF1ZXN0Jik7CiAgICAgc3RhdGlj
IGJvb2wgZGVjb2RlKERlY29kZXImLCBXZWJDb3JlOjpQYXltZW50UmVxdWVzdCYpOwpAQCAtNTkx
LDYgKzYwNiwxNiBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBh
eW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcz4gewogICAgIHN0YXRpYyBib29sIGRlY29k
ZShEZWNvZGVyJiwgV2ViQ29yZTo6UGF5bWVudFJlcXVlc3Q6OlRvdGFsQW5kTGluZUl0ZW1zJik7
CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlNoaXBwaW5n
Q29udGFjdFVwZGF0ZT4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3Qg
V2ViQ29yZTo6U2hpcHBpbmdDb250YWN0VXBkYXRlJik7CisgICAgc3RhdGljIGJvb2wgZGVjb2Rl
KERlY29kZXImLCBXZWJDb3JlOjpTaGlwcGluZ0NvbnRhY3RVcGRhdGUmKTsKK307CisKK3RlbXBs
YXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6U2hpcHBpbmdNZXRob2RVcGRhdGU+
IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlNoaXBw
aW5nTWV0aG9kVXBkYXRlJik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXZWJD
b3JlOjpTaGlwcGluZ01ldGhvZFVwZGF0ZSYpOworfTsKKwogI2VuZGlmCiAKICNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FwcGxl
UGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5jcHAKaW5kZXggOTJhMTlm
OGUzZTBiZmM4MzA5NjkxNTExNTNjYzI1NjY3OGVmNjcyMS4uNWIwY2I2NTNhYzIzZDk2NTRiMjg2
YmUxZTM5MDU1ZmJjMTkxMzJhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuY3BwCkBA
IC0xMjAsMjMgKzEyMCw3IEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnNob3dQ
YXltZW50VUkoY29uc3QgU3RyaW5nJiBvcmlnaW5hdGluZ1VSTFN0cmluCiAgICAgcmVzdWx0ID0g
dHJ1ZTsKIH0KIAotc3RhdGljIGJvb2wgaXNWYWxpZEVudW0oV2ViQ29yZTo6UGF5bWVudEF1dGhv
cml6YXRpb25TdGF0dXMgc3RhdHVzKQotewotICAgIHN3aXRjaCAoc3RhdHVzKSB7Ci0gICAgY2Fz
ZSBXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblN0YXR1czo6U3VjY2VzczoKLSAgICBjYXNl
IFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzOjpGYWlsdXJlOgotICAgIGNhc2Ug
V2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXM6OkludmFsaWRCaWxsaW5nUG9zdGFs
QWRkcmVzczoKLSAgICBjYXNlIFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzOjpJ
bnZhbGlkU2hpcHBpbmdQb3N0YWxBZGRyZXNzOgotICAgIGNhc2UgV2ViQ29yZTo6UGF5bWVudEF1
dGhvcml6YXRpb25TdGF0dXM6OkludmFsaWRTaGlwcGluZ0NvbnRhY3Q6Ci0gICAgY2FzZSBXZWJD
b3JlOjpQYXltZW50QXV0aG9yaXphdGlvblN0YXR1czo6UElOUmVxdWlyZWQ6Ci0gICAgY2FzZSBX
ZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblN0YXR1czo6UElOSW5jb3JyZWN0OgotICAgIGNh
c2UgV2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXM6OlBJTkxvY2tvdXQ6Ci0gICAg
ICAgIHJldHVybiB0cnVlOwotICAgIH0KLQotICAgIHJldHVybiBmYWxzZTsKLX0KLQorICAgIAog
dm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y29tcGxldGVNZXJjaGFudFZhbGlkYXRp
b24oY29uc3QgV2ViQ29yZTo6UGF5bWVudE1lcmNoYW50U2Vzc2lvbiYgcGF5bWVudE1lcmNoYW50
U2Vzc2lvbikKIHsKICAgICAvLyBJdCdzIHBvc3NpYmxlIHRoYXQgdGhlIHBheW1lbnQgaGFzIGJl
ZW4gY2FuY2VsZWQgYWxyZWFkeS4KQEAgLTE1MCw3ICsxMzQsNyBAQCB2b2lkIFdlYlBheW1lbnRD
b29yZGluYXRvclByb3h5Ojpjb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlvbihjb25zdCBXZWJDb3Jl
OjpQYXltZQogICAgIG1fbWVyY2hhbnRWYWxpZGF0aW9uU3RhdGUgPSBNZXJjaGFudFZhbGlkYXRp
b25TdGF0ZTo6VmFsaWRhdGlvbkNvbXBsZXRlOwogfQogCi12b2lkIFdlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5Ojpjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHVpbnQzMl90IG9wYXF1
ZVN0YXR1cywgY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYXltZW50UmVxdWVzdDo6VG90
YWxBbmRMaW5lSXRlbXM+JiBuZXdUb3RhbEFuZExpbmVJdGVtcykKK3ZvaWQgV2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHk6OmNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oY29uc3Qgc3Rk
OjpvcHRpb25hbDxXZWJDb3JlOjpTaGlwcGluZ01ldGhvZFVwZGF0ZT4mIHVwZGF0ZSkKIHsKICAg
ICAvLyBJdCdzIHBvc3NpYmxlIHRoYXQgdGhlIHBheW1lbnQgaGFzIGJlZW4gY2FuY2VsZWQgYWxy
ZWFkeS4KICAgICBpZiAobV9zdGF0ZSA9PSBTdGF0ZTo6SWRsZSkKQEAgLTE1OSwxNiArMTQzLDEx
IEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNvbXBsZXRlU2hpcHBpbmdNZXRo
b2RTZWxlY3Rpb24odWludDMyX3Qgb3BhcXVlCiAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJl
IGEgTUVTU0FHRV9DSEVDSy4KICAgICBBU1NFUlQobV9zdGF0ZSA9PSBTdGF0ZTo6U2hpcHBpbmdN
ZXRob2RTZWxlY3RlZCk7CiAKLSAgICBhdXRvIHN0YXR1cyA9IHN0YXRpY19jYXN0PFdlYkNvcmU6
OlBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzPihvcGFxdWVTdGF0dXMpOwotCi0gICAgLy8gRklY
TUU6IE1ha2UgdGhpcyBhIG1lc3NhZ2UgY2hlY2suCi0gICAgUkVMRUFTRV9BU1NFUlQoaXNWYWxp
ZEVudW0oc3RhdHVzKSk7Ci0KLSAgICBwbGF0Zm9ybUNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxl
Y3Rpb24oc3RhdHVzLCBuZXdUb3RhbEFuZExpbmVJdGVtcyk7CisgICAgcGxhdGZvcm1Db21wbGV0
ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHVwZGF0ZSk7CiAgICAgbV9zdGF0ZSA9IFN0YXRlOjpB
Y3RpdmU7CiB9CiAKLXZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNvbXBsZXRlU2hp
cHBpbmdDb250YWN0U2VsZWN0aW9uKHVpbnQzMl90IG9wYXF1ZVN0YXR1cywgY29uc3QgVmVjdG9y
PFdlYkNvcmU6OlBheW1lbnRSZXF1ZXN0OjpTaGlwcGluZ01ldGhvZD4mIG5ld1NoaXBwaW5nTWV0
aG9kcywgY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYXltZW50UmVxdWVzdDo6VG90YWxB
bmRMaW5lSXRlbXM+JiBuZXdUb3RhbEFuZExpbmVJdGVtcykKK3ZvaWQgV2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHk6OmNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKGNvbnN0IHN0ZDo6
b3B0aW9uYWw8V2ViQ29yZTo6U2hpcHBpbmdDb250YWN0VXBkYXRlPiYgdXBkYXRlKQogewogICAg
IC8vIEl0J3MgcG9zc2libGUgdGhhdCB0aGUgcGF5bWVudCBoYXMgYmVlbiBjYW5jZWxlZCBhbHJl
YWR5LgogICAgIGlmIChtX3N0YXRlID09IFN0YXRlOjpJZGxlKQpAQCAtMTc3LDE2ICsxNTYsMTEg
QEAgdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y29tcGxldGVTaGlwcGluZ0NvbnRh
Y3RTZWxlY3Rpb24odWludDMyX3Qgb3BhcXUKICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUg
YSBNRVNTQUdFX0NIRUNLLgogICAgIEFTU0VSVChtX3N0YXRlID09IFN0YXRlOjpTaGlwcGluZ0Nv
bnRhY3RTZWxlY3RlZCk7CiAKLSAgICBhdXRvIHN0YXR1cyA9IHN0YXRpY19jYXN0PFdlYkNvcmU6
OlBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzPihvcGFxdWVTdGF0dXMpOwotCi0gICAgLy8gRklY
TUU6IE1ha2UgdGhpcyBhIG1lc3NhZ2UgY2hlY2suCi0gICAgUkVMRUFTRV9BU1NFUlQoaXNWYWxp
ZEVudW0oc3RhdHVzKSk7Ci0KLSAgICBwbGF0Zm9ybUNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2Vs
ZWN0aW9uKHN0YXR1cywgbmV3U2hpcHBpbmdNZXRob2RzLCBuZXdUb3RhbEFuZExpbmVJdGVtcyk7
CisgICAgcGxhdGZvcm1Db21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbih1cGRhdGUpOwog
ICAgIG1fc3RhdGUgPSBTdGF0ZTo6QWN0aXZlOwogfQogCi12b2lkIFdlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5Ojpjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oY29uc3Qgc3RkOjpvcHRp
b25hbDxXZWJDb3JlOjpQYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXM+JiBuZXdUb3Rh
bEFuZExpbmVJdGVtcykKK3ZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNvbXBsZXRl
UGF5bWVudE1ldGhvZFNlbGVjdGlvbihjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1l
bnRNZXRob2RVcGRhdGU+JiB1cGRhdGUpCiB7CiAgICAgLy8gSXQncyBwb3NzaWJsZSB0aGF0IHRo
ZSBwYXltZW50IGhhcyBiZWVuIGNhbmNlbGVkIGFscmVhZHkuCiAgICAgaWYgKG1fc3RhdGUgPT0g
U3RhdGU6OklkbGUpCkBAIC0xOTUsMjQgKzE2OSwxOSBAQCB2b2lkIFdlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5Ojpjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oY29uc3Qgc3RkOjpvcHRp
bwogICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBhIE1FU1NBR0VfQ0hFQ0suCiAgICAgQVNT
RVJUKG1fc3RhdGUgPT0gU3RhdGU6OlBheW1lbnRNZXRob2RTZWxlY3RlZCk7CiAKLSAgICBwbGF0
Zm9ybUNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihuZXdUb3RhbEFuZExpbmVJdGVtcyk7
CisgICAgcGxhdGZvcm1Db21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24odXBkYXRlKTsKICAg
ICBtX3N0YXRlID0gU3RhdGU6OkFjdGl2ZTsKIH0KIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eTo6Y29tcGxldGVQYXltZW50U2Vzc2lvbih1aW50MzJfdCBvcGFxdWVTdGF0dXMpCit2
b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5Ojpjb21wbGV0ZVBheW1lbnRTZXNzaW9uKGNv
bnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQ+JiBy
ZXN1bHQpCiB7CiAgICAgLy8gSXQncyBwb3NzaWJsZSB0aGF0IHRoZSBwYXltZW50IGhhcyBiZWVu
IGNhbmNlbGVkIGFscmVhZHkuCiAgICAgaWYgKCFjYW5Db21wbGV0ZVBheW1lbnQoKSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgYXV0byBzdGF0dXMgPSBzdGF0aWNfY2FzdDxXZWJDb3JlOjpQYXlt
ZW50QXV0aG9yaXphdGlvblN0YXR1cz4ob3BhcXVlU3RhdHVzKTsKLQotICAgIC8vIEZJWE1FOiBN
YWtlIHRoaXMgYSBtZXNzYWdlIGNoZWNrLgotICAgIFJFTEVBU0VfQVNTRVJUKGlzVmFsaWRFbnVt
KHN0YXR1cykpOwotCi0gICAgcGxhdGZvcm1Db21wbGV0ZVBheW1lbnRTZXNzaW9uKHN0YXR1cyk7
CisgICAgcGxhdGZvcm1Db21wbGV0ZVBheW1lbnRTZXNzaW9uKHJlc3VsdCk7CiAKLSAgICBpZiAo
IVdlYkNvcmU6OmlzRmluYWxTdGF0ZVN0YXR1cyhzdGF0dXMpKSB7CisgICAgaWYgKCFXZWJDb3Jl
Ojppc0ZpbmFsU3RhdGVTdGF0dXMocmVzdWx0ID8gcmVzdWx0LT5zdGF0dXMgOiBXZWJDb3JlOjpQ
YXltZW50QXV0aG9yaXphdGlvblN0YXR1czo6U3VjY2VzcykpIHsKICAgICAgICAgbV9zdGF0ZSA9
IFN0YXRlOjpBY3RpdmU7CiAgICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eS5oCmluZGV4IGMyNmY3Y2VlZTFkNDJkNzllNjdjNjhhZjI5YjQ2NTU2MjkwODE0NzEu
LjdjMzgzMTQ2YTYwOGMzMDVjMWRlODc5M2FmZGJlYzg5YWEzNTA1NGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eS5oCkBAIC04MCwxMCArODAsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIG9w
ZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0
cmluZyYgZG9tYWluTmFtZSwgdWludDY0X3QgcmVxdWVzdElEKTsKICAgICB2b2lkIHNob3dQYXlt
ZW50VUkoY29uc3QgU3RyaW5nJiBvcmlnaW5hdGluZ1VSTFN0cmluZywgY29uc3QgVmVjdG9yPFN0
cmluZz4mIGxpbmtJY29uVVJMU3RyaW5ncywgY29uc3QgV2ViQ29yZTo6UGF5bWVudFJlcXVlc3Qm
LCBib29sJiByZXN1bHQpOwogICAgIHZvaWQgY29tcGxldGVNZXJjaGFudFZhbGlkYXRpb24oY29u
c3QgV2ViQ29yZTo6UGF5bWVudE1lcmNoYW50U2Vzc2lvbiYpOwotICAgIHZvaWQgY29tcGxldGVT
aGlwcGluZ01ldGhvZFNlbGVjdGlvbih1aW50MzJfdCBvcGFxdWVTdGF0dXMsIGNvbnN0IHN0ZDo6
b3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudFJlcXVlc3Q6OlRvdGFsQW5kTGluZUl0ZW1zPiYpOwot
ICAgIHZvaWQgY29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24odWludDMyX3Qgb3BhcXVl
U3RhdHVzLCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6UGF5bWVudFJlcXVlc3Q6OlNoaXBwaW5nTWV0
aG9kPiYgbmV3U2hpcHBpbmdNZXRob2RzLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBh
eW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcz4mKTsKLSAgICB2b2lkIGNvbXBsZXRlUGF5
bWVudE1ldGhvZFNlbGVjdGlvbihjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1lbnRS
ZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcz4mKTsKLSAgICB2b2lkIGNvbXBsZXRlUGF5bWVudFNl
c3Npb24odWludDMyX3Qgb3BhcXVlU3RhdHVzKTsKKyAgICB2b2lkIGNvbXBsZXRlU2hpcHBpbmdN
ZXRob2RTZWxlY3Rpb24oY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTaGlwcGluZ01ldGhv
ZFVwZGF0ZT4mKTsKKyAgICB2b2lkIGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKGNv
bnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2hpcHBpbmdDb250YWN0VXBkYXRlPiYpOworICAg
IHZvaWQgY29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKGNvbnN0IHN0ZDo6b3B0aW9uYWw8
V2ViQ29yZTo6UGF5bWVudE1ldGhvZFVwZGF0ZT4mKTsKKyAgICB2b2lkIGNvbXBsZXRlUGF5bWVu
dFNlc3Npb24oY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlv
blJlc3VsdD4mKTsKICAgICB2b2lkIGFib3J0UGF5bWVudFNlc3Npb24oKTsKIAogICAgIGJvb2wg
Y2FuQmVnaW4oKSBjb25zdDsKQEAgLTk4LDEwICs5OCwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQg
cGxhdGZvcm1PcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVy
LCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoYm9vbCk+IGNv
bXBsZXRpb25IYW5kbGVyKTsKICAgICB2b2lkIHBsYXRmb3JtU2hvd1BheW1lbnRVSShjb25zdCBX
ZWJDb3JlOjpVUkwmIG9yaWdpbmF0aW5nVVJMLCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6VVJMPiYg
bGlua0ljb25VUkxzLCBjb25zdCBXZWJDb3JlOjpQYXltZW50UmVxdWVzdCYsIHN0ZDo6ZnVuY3Rp
b248dm9pZCAoYm9vbCk+IGNvbXBsZXRpb25IYW5kbGVyKTsKICAgICB2b2lkIHBsYXRmb3JtQ29t
cGxldGVNZXJjaGFudFZhbGlkYXRpb24oY29uc3QgV2ViQ29yZTo6UGF5bWVudE1lcmNoYW50U2Vz
c2lvbiYpOwotICAgIHZvaWQgcGxhdGZvcm1Db21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9u
KFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzLCBjb25zdCBzdGQ6Om9wdGlvbmFs
PFdlYkNvcmU6OlBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcz4mKTsKLSAgICB2b2lk
IHBsYXRmb3JtQ29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oV2ViQ29yZTo6UGF5bWVu
dEF1dGhvcml6YXRpb25TdGF0dXMsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpQYXltZW50UmVxdWVz
dDo6U2hpcHBpbmdNZXRob2Q+JiBuZXdTaGlwcGluZ01ldGhvZHMsIGNvbnN0IHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6UGF5bWVudFJlcXVlc3Q6OlRvdGFsQW5kTGluZUl0ZW1zPiYpOwotICAgIHZv
aWQgcGxhdGZvcm1Db21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oY29uc3Qgc3RkOjpvcHRp
b25hbDxXZWJDb3JlOjpQYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXM+Jik7Ci0gICAg
dm9pZCBwbGF0Zm9ybUNvbXBsZXRlUGF5bWVudFNlc3Npb24oV2ViQ29yZTo6UGF5bWVudEF1dGhv
cml6YXRpb25TdGF0dXMpOworICAgIHZvaWQgcGxhdGZvcm1Db21wbGV0ZVNoaXBwaW5nTWV0aG9k
U2VsZWN0aW9uKGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2hpcHBpbmdNZXRob2RVcGRh
dGU+Jik7CisgICAgdm9pZCBwbGF0Zm9ybUNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9u
KGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2hpcHBpbmdDb250YWN0VXBkYXRlPiYpOwor
ICAgIHZvaWQgcGxhdGZvcm1Db21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oY29uc3Qgc3Rk
OjpvcHRpb25hbDxXZWJDb3JlOjpQYXltZW50TWV0aG9kVXBkYXRlPiYpOworICAgIHZvaWQgcGxh
dGZvcm1Db21wbGV0ZVBheW1lbnRTZXNzaW9uKGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6
UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQ+Jik7CiAKICAgICBXZWJQYWdlUHJveHkmIG1fd2Vi
UGFnZVByb3h5OwogICAgIFdlYWtQdHJGYWN0b3J5PFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5
PiBtX3dlYWtQdHJGYWN0b3J5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Lm1l
c3NhZ2VzLmluCmluZGV4IDg2NDk4MTZiZDhiMWIxNjI3MTNjNmFmNTA1MTdmNzc1MWNhN2QyYmQu
LjM1OGE4MjNlZDBlZTI1YmI4ZTI5YzFlMDA2ZWI4ODk4MjM5NDFiZWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXBwbGVQYXkvV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4KQEAgLTMxLDExICszMSwxMSBAQCBt
ZXNzYWdlcyAtPiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eSB7CiAgICAgT3BlblBheW1lbnRT
ZXR1cChTdHJpbmcgbWVyY2hhbnRJZGVudGlmaWVyLCBTdHJpbmcgZG9tYWluTmFtZSwgdWludDY0
X3QgcmVxdWVzdElEKQogCiAgICAgU2hvd1BheW1lbnRVSShTdHJpbmcgb3JpZ2luYXRpbmdVUkxT
dHJpbmcsIFZlY3RvcjxTdHJpbmc+IGxpbmtJY29uVVJMU3RyaW5ncywgV2ViQ29yZTo6UGF5bWVu
dFJlcXVlc3QgcGF5bWVudFJlcXVlc3QpIC0+IChib29sIHJlc3VsdCkKLSAgICBDb21wbGV0ZU1l
cmNoYW50VmFsaWRhdGlvbihXZWJDb3JlOjpQYXltZW50TWVyY2hhbnRTZXNzaW9uIHBheW1lbnRN
ZXJjaGFudFNlc3Npb24pOwotICAgIENvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24odWlu
dDMyX3Qgb3BhcXVlU3RhdHVzLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1lbnRSZXF1ZXN0
OjpUb3RhbEFuZExpbmVJdGVtcz4gbmV3VG90YWxBbmRJdGVtcykKLSAgICBDb21wbGV0ZVNoaXBw
aW5nQ29udGFjdFNlbGVjdGlvbih1aW50MzJfdCBvcGFxdWVTdGF0dXMsIFZlY3RvcjxXZWJDb3Jl
OjpQYXltZW50UmVxdWVzdDo6U2hpcHBpbmdNZXRob2Q+IG5ld1NoaXBwaW5nTWV0aG9kcywgc3Rk
OjpvcHRpb25hbDxXZWJDb3JlOjpQYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXM+IG5l
d1RvdGFsQW5kSXRlbXMpCi0gICAgQ29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6
b3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudFJlcXVlc3Q6OlRvdGFsQW5kTGluZUl0ZW1zPiBuZXdU
b3RhbEFuZEl0ZW1zKQotICAgIENvbXBsZXRlUGF5bWVudFNlc3Npb24odWludDMyX3Qgb3BhcXVl
U3RhdHVzKQorICAgIENvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKFdlYkNvcmU6OlBheW1lbnRN
ZXJjaGFudFNlc3Npb24gcGF5bWVudE1lcmNoYW50U2Vzc2lvbikKKyAgICBDb21wbGV0ZVNoaXBw
aW5nTWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2hpcHBpbmdNZXRob2RV
cGRhdGU+IHVwZGF0ZSkKKyAgICBDb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihzdGQ6
Om9wdGlvbmFsPFdlYkNvcmU6OlNoaXBwaW5nQ29udGFjdFVwZGF0ZT4gdXBkYXRlKQorICAgIENv
bXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1l
bnRNZXRob2RVcGRhdGU+IHVwZGF0ZSkKKyAgICBDb21wbGV0ZVBheW1lbnRTZXNzaW9uKHN0ZDo6
b3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQ+IHJlc3VsdCkKICAg
ICBBYm9ydFBheW1lbnRTZXNzaW9uKCkKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2Eu
bW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHlDb2NvYS5tbQppbmRleCA5NTAzMjBkMmVmZmVhYTUzOWVlN2Q4ZjkwMjM3
MDVkMTEzZjQ2NGQ1Li5mMTg4YzdhZGJkM2QyYjllMTY5NjZhYTJkOGJjM2IxM2I3MTdmYTcwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5
bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQpAQCAt
NDUxLDExICs0NTEsMTMgQEAgc3RhdGljIFBLUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMgdG9Q
S1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzKFdlYkNvcmU6OlBheW0KICNwcmFnbWEgY2xhbmcg
ZGlhZ25vc3RpYyBwb3AKIH0KIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxh
dGZvcm1Db21wbGV0ZVBheW1lbnRTZXNzaW9uKFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9u
U3RhdHVzIHN0YXR1cykKK3ZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3Jt
Q29tcGxldGVQYXltZW50U2Vzc2lvbihjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1l
bnRBdXRob3JpemF0aW9uUmVzdWx0PiYgcmVzdWx0KQogewogICAgIEFTU0VSVChtX3BheW1lbnRB
dXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXIpOwogICAgIEFTU0VSVChtX3BheW1lbnRBdXRob3Jp
emF0aW9uVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSk7CiAKKyAgICBhdXRvIHN0YXR1cyA9IHJlc3Vs
dCA/IHJlc3VsdC0+c3RhdHVzIDogV2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXM6
OlN1Y2Nlc3M7CisKICAgICBtX3BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJEZWxl
Z2F0ZS0+X2RpZFJlYWNoRmluYWxTdGF0ZSA9IFdlYkNvcmU6OmlzRmluYWxTdGF0ZVN0YXR1cyhz
dGF0dXMpOwogICAgIG1fcGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlckRlbGVnYXRl
LT5fcGF5bWVudEF1dGhvcml6ZWRDb21wbGV0aW9uKHRvUEtQYXltZW50QXV0aG9yaXphdGlvblN0
YXR1cyhzdGF0dXMpKTsKICAgICBtX3BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJE
ZWxlZ2F0ZS0+X3BheW1lbnRBdXRob3JpemVkQ29tcGxldGlvbiA9IG51bGxwdHI7CkBAIC00NzAs
MTkgKzQ3MiwyMSBAQCB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUNv
bXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKGNvbnN0IFdlYkNvcgogICAgIG1fcGF5bWVudEF1dGhv
cml6YXRpb25WaWV3Q29udHJvbGxlckRlbGVnYXRlLT5fc2Vzc2lvbkJsb2NrID0gbnVsbHB0cjsK
IH0KIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1Db21wbGV0ZVNo
aXBwaW5nTWV0aG9kU2VsZWN0aW9uKFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVz
IHN0YXR1cywgY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYXltZW50UmVxdWVzdDo6VG90
YWxBbmRMaW5lSXRlbXM+JiBuZXdUb3RhbEFuZExpbmVJdGVtcykKK3ZvaWQgV2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtQ29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbihj
b25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNoaXBwaW5nTWV0aG9kVXBkYXRlPiYgdXBkYXRl
KQogewogICAgIEFTU0VSVChtX3BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXIpOwog
ICAgIEFTU0VSVChtX3BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSk7
CiAKLSAgICBpZiAobmV3VG90YWxBbmRMaW5lSXRlbXMpIHsKKyAgICBhdXRvIHN0YXR1cyA9IHVw
ZGF0ZSA/IHVwZGF0ZS0+c3RhdHVzIDogV2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25TdGF0
dXM6OlN1Y2Nlc3M7CisKKyAgICBpZiAodXBkYXRlKSB7CiAgICAgICAgIGF1dG8gcGF5bWVudFN1
bW1hcnlJdGVtcyA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOwotICAg
ICAgICBmb3IgKGF1dG8mIGxpbmVJdGVtIDogbmV3VG90YWxBbmRMaW5lSXRlbXMtPmxpbmVJdGVt
cykgeworICAgICAgICBmb3IgKGF1dG8mIGxpbmVJdGVtIDogdXBkYXRlLT5uZXdUb3RhbEFuZExp
bmVJdGVtcy5saW5lSXRlbXMpIHsKICAgICAgICAgICAgIGlmIChhdXRvIHN1bW1hcnlJdGVtID0g
dG9QS1BheW1lbnRTdW1tYXJ5SXRlbShsaW5lSXRlbSkpCiAgICAgICAgICAgICAgICAgW3BheW1l
bnRTdW1tYXJ5SXRlbXMgYWRkT2JqZWN0OnN1bW1hcnlJdGVtLmdldCgpXTsKICAgICAgICAgfQog
Ci0gICAgICAgIGlmIChhdXRvIHRvdGFsSXRlbSA9IHRvUEtQYXltZW50U3VtbWFyeUl0ZW0obmV3
VG90YWxBbmRMaW5lSXRlbXMtPnRvdGFsKSkKKyAgICAgICAgaWYgKGF1dG8gdG90YWxJdGVtID0g
dG9QS1BheW1lbnRTdW1tYXJ5SXRlbSh1cGRhdGUtPm5ld1RvdGFsQW5kTGluZUl0ZW1zLnRvdGFs
KSkKICAgICAgICAgICAgIFtwYXltZW50U3VtbWFyeUl0ZW1zIGFkZE9iamVjdDp0b3RhbEl0ZW0u
Z2V0KCldOwogCiAgICAgICAgIG1fcGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlckRl
bGVnYXRlLT5fcGF5bWVudFN1bW1hcnlJdGVtcyA9IFdURk1vdmUocGF5bWVudFN1bW1hcnlJdGVt
cyk7CkBAIC00OTIsMjUgKzQ5NiwyNyBAQCB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5
OjpwbGF0Zm9ybUNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oV2ViQ29yZQogICAgIG1f
cGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlckRlbGVnYXRlLT5fZGlkU2VsZWN0U2hp
cHBpbmdNZXRob2RDb21wbGV0aW9uID0gbnVsbHB0cjsKIH0KIAotdm9pZCBXZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eTo6cGxhdGZvcm1Db21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihX
ZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cyBzdGF0dXMsIGNvbnN0IFZlY3RvcjxX
ZWJDb3JlOjpQYXltZW50UmVxdWVzdDo6U2hpcHBpbmdNZXRob2Q+JiBuZXdTaGlwcGluZ01ldGhv
ZHMsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudFJlcXVlc3Q6OlRvdGFsQW5k
TGluZUl0ZW1zPiYgbmV3VG90YWxBbmRMaW5lSXRlbXMpCit2b2lkIFdlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5OjpwbGF0Zm9ybUNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKGNvbnN0
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2hpcHBpbmdDb250YWN0VXBkYXRlPiYgdXBkYXRlKQog
ewogICAgIEFTU0VSVChtX3BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXIpOwogICAg
IEFTU0VSVChtX3BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSk7CiAK
LSAgICBpZiAobmV3VG90YWxBbmRMaW5lSXRlbXMpIHsKKyAgICBhdXRvIHN0YXR1cyA9IHVwZGF0
ZSA/IHVwZGF0ZS0+c3RhdHVzIDogV2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXM6
OlN1Y2Nlc3M7CisKKyAgICBpZiAodXBkYXRlKSB7CiAgICAgICAgIGF1dG8gcGF5bWVudFN1bW1h
cnlJdGVtcyA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOwotICAgICAg
ICBmb3IgKGF1dG8mIGxpbmVJdGVtIDogbmV3VG90YWxBbmRMaW5lSXRlbXMtPmxpbmVJdGVtcykg
eworICAgICAgICBmb3IgKGF1dG8mIGxpbmVJdGVtIDogdXBkYXRlLT5uZXdUb3RhbEFuZExpbmVJ
dGVtcy5saW5lSXRlbXMpIHsKICAgICAgICAgICAgIGlmIChhdXRvIHN1bW1hcnlJdGVtID0gdG9Q
S1BheW1lbnRTdW1tYXJ5SXRlbShsaW5lSXRlbSkpCiAgICAgICAgICAgICAgICAgW3BheW1lbnRT
dW1tYXJ5SXRlbXMgYWRkT2JqZWN0OnN1bW1hcnlJdGVtLmdldCgpXTsKICAgICAgICAgfQogCi0g
ICAgICAgIGlmIChhdXRvIHRvdGFsSXRlbSA9IHRvUEtQYXltZW50U3VtbWFyeUl0ZW0obmV3VG90
YWxBbmRMaW5lSXRlbXMtPnRvdGFsKSkKKyAgICAgICAgaWYgKGF1dG8gdG90YWxJdGVtID0gdG9Q
S1BheW1lbnRTdW1tYXJ5SXRlbSh1cGRhdGUtPm5ld1RvdGFsQW5kTGluZUl0ZW1zLnRvdGFsKSkK
ICAgICAgICAgICAgIFtwYXltZW50U3VtbWFyeUl0ZW1zIGFkZE9iamVjdDp0b3RhbEl0ZW0uZ2V0
KCldOwogCiAgICAgICAgIG1fcGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlckRlbGVn
YXRlLT5fcGF5bWVudFN1bW1hcnlJdGVtcyA9IFdURk1vdmUocGF5bWVudFN1bW1hcnlJdGVtcyk7
CiAKICAgICAgICAgYXV0byBzaGlwcGluZ01ldGhvZHMgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJy
YXkgYWxsb2NdIGluaXRdKTsKLSAgICAgICAgZm9yIChhdXRvJiBzaGlwcGluZ01ldGhvZCA6IG5l
d1NoaXBwaW5nTWV0aG9kcykKKyAgICAgICAgZm9yIChhdXRvJiBzaGlwcGluZ01ldGhvZCA6IHVw
ZGF0ZS0+bmV3U2hpcHBpbmdNZXRob2RzKQogICAgICAgICAgICAgW3NoaXBwaW5nTWV0aG9kcyBh
ZGRPYmplY3Q6dG9QS1NoaXBwaW5nTWV0aG9kKHNoaXBwaW5nTWV0aG9kKS5nZXQoKV07CiAKICAg
ICAgICAgbV9wYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyRGVsZWdhdGUtPl9zaGlw
cGluZ01ldGhvZHMgPSBXVEZNb3ZlKHNoaXBwaW5nTWV0aG9kcyk7CkBAIC01MjAsMTkgKzUyNiwx
OSBAQCB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUNvbXBsZXRlU2hp
cHBpbmdDb250YWN0U2VsZWN0aW9uKFdlYkNvcgogICAgIG1fcGF5bWVudEF1dGhvcml6YXRpb25W
aWV3Q29udHJvbGxlckRlbGVnYXRlLT5fZGlkU2VsZWN0U2hpcHBpbmdDb250YWN0Q29tcGxldGlv
biA9IG51bGxwdHI7CiB9CiAKLXZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRm
b3JtQ29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2Vi
Q29yZTo6UGF5bWVudFJlcXVlc3Q6OlRvdGFsQW5kTGluZUl0ZW1zPiYgbmV3VG90YWxBbmRMaW5l
SXRlbXMpCit2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUNvbXBsZXRl
UGF5bWVudE1ldGhvZFNlbGVjdGlvbihjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1l
bnRNZXRob2RVcGRhdGU+JiB1cGRhdGUpCiB7CiAgICAgQVNTRVJUKG1fcGF5bWVudEF1dGhvcml6
YXRpb25WaWV3Q29udHJvbGxlcik7CiAgICAgQVNTRVJUKG1fcGF5bWVudEF1dGhvcml6YXRpb25W
aWV3Q29udHJvbGxlckRlbGVnYXRlKTsKIAotICAgIGlmIChuZXdUb3RhbEFuZExpbmVJdGVtcykg
eworICAgIGlmICh1cGRhdGUpIHsKICAgICAgICAgYXV0byBwYXltZW50U3VtbWFyeUl0ZW1zID0g
YWRvcHROUyhbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0XSk7Ci0gICAgICAgIGZvciAoYXV0
byYgbGluZUl0ZW0gOiBuZXdUb3RhbEFuZExpbmVJdGVtcy0+bGluZUl0ZW1zKSB7CisgICAgICAg
IGZvciAoYXV0byYgbGluZUl0ZW0gOiB1cGRhdGUtPm5ld1RvdGFsQW5kTGluZUl0ZW1zLmxpbmVJ
dGVtcykgewogICAgICAgICAgICAgaWYgKGF1dG8gc3VtbWFyeUl0ZW0gPSB0b1BLUGF5bWVudFN1
bW1hcnlJdGVtKGxpbmVJdGVtKSkKICAgICAgICAgICAgICAgICBbcGF5bWVudFN1bW1hcnlJdGVt
cyBhZGRPYmplY3Q6c3VtbWFyeUl0ZW0uZ2V0KCldOwogICAgICAgICB9CiAKLSAgICAgICAgaWYg
KGF1dG8gdG90YWxJdGVtID0gdG9QS1BheW1lbnRTdW1tYXJ5SXRlbShuZXdUb3RhbEFuZExpbmVJ
dGVtcy0+dG90YWwpKQorICAgICAgICBpZiAoYXV0byB0b3RhbEl0ZW0gPSB0b1BLUGF5bWVudFN1
bW1hcnlJdGVtKHVwZGF0ZS0+bmV3VG90YWxBbmRMaW5lSXRlbXMudG90YWwpKQogICAgICAgICAg
ICAgW3BheW1lbnRTdW1tYXJ5SXRlbXMgYWRkT2JqZWN0OnRvdGFsSXRlbS5nZXQoKV07CiAKICAg
ICAgICAgbV9wYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyRGVsZWdhdGUtPl9wYXlt
ZW50U3VtbWFyeUl0ZW1zID0gV1RGTW92ZShwYXltZW50U3VtbWFyeUl0ZW1zKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5h
dG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENv
b3JkaW5hdG9yLmNwcAppbmRleCAwZGRmNjNmZDIzZWViZDk4MjdmYzgzMGExZDJmMWNiZGZlNWE0
ZjZmLi44MDNiNTVmZTgwOTBjNjhjMTIxZWY5NWMzNjljMDg2MDJiZDkxOWUyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50
Q29vcmRpbmF0b3IuY3BwCkBAIC0xMTcsMjQgKzExNywyNCBAQCB2b2lkIFdlYlBheW1lbnRDb29y
ZGluYXRvcjo6Y29tcGxldGVNZXJjaGFudFZhbGlkYXRpb24oY29uc3QgV2ViQ29yZTo6UGF5bWVu
dE1lcgogICAgIG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eTo6Q29tcGxldGVNZXJjaGFudFZhbGlkYXRpb24ocGF5bWVudE1lcmNoYW50U2Vzc2lvbikp
OwogfQogCi12b2lkIFdlYlBheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVTaGlwcGluZ01ldGhv
ZFNlbGVjdGlvbihXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cyBzdGF0dXMsIHN0
ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudFJlcXVlc3Q6OlRvdGFsQW5kTGluZUl0ZW1zPiBu
ZXdUb3RhbEFuZEl0ZW1zKQordm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlU2hp
cHBpbmdNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTaGlwcGluZ01ldGhv
ZFVwZGF0ZT4mJiB1cGRhdGUpCiB7Ci0gICAgbV93ZWJQYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBh
eW1lbnRDb29yZGluYXRvclByb3h5OjpDb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHN0
YXRpY19jYXN0PHVpbnQzMl90PihzdGF0dXMpLCBuZXdUb3RhbEFuZEl0ZW1zKSk7CisgICAgbV93
ZWJQYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpDb21wbGV0
ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHVwZGF0ZSkpOwogfQogCi12b2lkIFdlYlBheW1lbnRD
b29yZGluYXRvcjo6Y29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oV2ViQ29yZTo6UGF5
bWVudEF1dGhvcml6YXRpb25TdGF0dXMgc3RhdHVzLCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6UGF5
bWVudFJlcXVlc3Q6OlNoaXBwaW5nTWV0aG9kPiYgbmV3U2hpcHBpbmdNZXRob2RzLCBzdGQ6Om9w
dGlvbmFsPFdlYkNvcmU6OlBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcz4gbmV3VG90
YWxBbmRJdGVtcykKK3ZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVNoaXBwaW5n
Q29udGFjdFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNoaXBwaW5nQ29udGFjdFVw
ZGF0ZT4mJiB1cGRhdGUpCiB7Ci0gICAgbV93ZWJQYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBheW1l
bnRDb29yZGluYXRvclByb3h5OjpDb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihzdGF0
aWNfY2FzdDx1aW50MzJfdD4oc3RhdHVzKSwgbmV3U2hpcHBpbmdNZXRob2RzLCBuZXdUb3RhbEFu
ZEl0ZW1zKSk7CisgICAgbV93ZWJQYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5OjpDb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbih1cGRhdGUpKTsKIH0K
IAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVj
dGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJ
dGVtcz4gbmV3VG90YWxBbmRJdGVtcykKK3ZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yOjpjb21w
bGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYXltZW50
TWV0aG9kVXBkYXRlPiYmIHVwZGF0ZSkKIHsKLSAgICBtX3dlYlBhZ2Uuc2VuZChNZXNzYWdlczo6
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OkNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlv
bihuZXdUb3RhbEFuZEl0ZW1zKSk7CisgICAgbV93ZWJQYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBh
eW1lbnRDb29yZGluYXRvclByb3h5OjpDb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24odXBk
YXRlKSk7CiB9CiAKLXZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVBheW1lbnRT
ZXNzaW9uKFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzIHN0YXR1cykKK3ZvaWQg
V2ViUGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVBheW1lbnRTZXNzaW9uKHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQ+JiYgcmVzdWx0KQogewotICAg
IG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Q29t
cGxldGVQYXltZW50U2Vzc2lvbihzdGF0aWNfY2FzdDx1aW50MzJfdD4oc3RhdHVzKSkpOworICAg
IG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Q29t
cGxldGVQYXltZW50U2Vzc2lvbihyZXN1bHQpKTsKIH0KIAogdm9pZCBXZWJQYXltZW50Q29vcmRp
bmF0b3I6OmFib3J0UGF5bWVudFNlc3Npb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmgKaW5kZXggMjM5
Y2U3NzM5MDczOTQ3MTcxZGQwOWE4YWRlZDY0ZjRmNGNlNTE3OS4uZDg3M2NmMzhlNjZmYTY5NTFj
MTI0NDc4OWYyODI3MjU0NGZhOWZmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5oCkBAIC01OSwxMCAr
NTksMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIG9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5n
JiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgc3RkOjpmdW5j
dGlvbjx2b2lkIChib29sKT4gY29tcGxldGlvbkhhbmRsZXIpIG92ZXJyaWRlOwogICAgIGJvb2wg
c2hvd1BheW1lbnRVSShjb25zdCBXZWJDb3JlOjpVUkwmIG9yaWdpbmF0aW5nVVJMLCBjb25zdCBW
ZWN0b3I8V2ViQ29yZTo6VVJMPiYgbGlua0ljb25VUkxzLCBjb25zdCBXZWJDb3JlOjpQYXltZW50
UmVxdWVzdCYpIG92ZXJyaWRlOwogICAgIHZvaWQgY29tcGxldGVNZXJjaGFudFZhbGlkYXRpb24o
Y29uc3QgV2ViQ29yZTo6UGF5bWVudE1lcmNoYW50U2Vzc2lvbiYpIG92ZXJyaWRlOwotICAgIHZv
aWQgY29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbihXZWJDb3JlOjpQYXltZW50QXV0aG9y
aXphdGlvblN0YXR1cywgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYXltZW50UmVxdWVzdDo6VG90
YWxBbmRMaW5lSXRlbXM+IG5ld1RvdGFsQW5kSXRlbXMpIG92ZXJyaWRlOwotICAgIHZvaWQgY29t
cGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oV2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRp
b25TdGF0dXMsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpQYXltZW50UmVxdWVzdDo6U2hpcHBpbmdN
ZXRob2Q+Jiwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYXltZW50UmVxdWVzdDo6VG90YWxBbmRM
aW5lSXRlbXM+IG5ld1RvdGFsQW5kSXRlbXMpIG92ZXJyaWRlOwotICAgIHZvaWQgY29tcGxldGVQ
YXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudFJlcXVl
c3Q6OlRvdGFsQW5kTGluZUl0ZW1zPikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBjb21wbGV0ZVBheW1l
bnRTZXNzaW9uKFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzKSBvdmVycmlkZTsK
KyAgICB2b2lkIGNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpTaGlwcGluZ01ldGhvZFVwZGF0ZT4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCBjb21w
bGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNoaXBw
aW5nQ29udGFjdFVwZGF0ZT4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCBjb21wbGV0ZVBheW1lbnRN
ZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYXltZW50TWV0aG9kVXBkYXRl
PiYmKSBvdmVycmlkZTsKKyAgICB2b2lkIGNvbXBsZXRlUGF5bWVudFNlc3Npb24oc3RkOjpvcHRp
b25hbDxXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdD4mJikgb3ZlcnJpZGU7CisK
ICAgICB2b2lkIGFib3J0UGF5bWVudFNlc3Npb24oKSBvdmVycmlkZTsKIAogICAgIHZvaWQgcGF5
bWVudENvb3JkaW5hdG9yRGVzdHJveWVkKCkgb3ZlcnJpZGU7Cg==
</data>
<flag name="review"
          id="325439"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>