<?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>47373</bug_id>
          
          <creation_ts>2010-10-07 13:02:56 -0700</creation_ts>
          <short_desc>Add a WKPageFindClient, hook up WKPageCountStringMatches</short_desc>
          <delta_ts>2010-10-07 14:50:49 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>291210</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-10-07 13:02:56 -0700</bug_when>
    <thetext>Add a WKPageFindClient, hook up WKPageCountStringMatches</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291213</commentid>
    <comment_count>1</comment_count>
      <attachid>70140</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-10-07 13:07:53 -0700</bug_when>
    <thetext>Created attachment 70140
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291215</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-07 13:09:32 -0700</bug_when>
    <thetext>Attachment 70140 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit2/UIProcess/API/C/WKPage.h:162:  Extra space between int and version  [whitespace/declaration] [3]
WebKit2/UIProcess/API/C/WKPage.h:164:  Extra space between WKPageDidCountStringMatchesCallback and didCountStringMatches  [whitespace/declaration] [3]
WebKitTools/TestWebKitAPI/Tests/WebKit2/Find.cpp:26:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKitTools/TestWebKitAPI/Tests/WebKit2/Find.cpp:28:  Alphabetical sorting problem.  [build/include_order] [4]
WebKitTools/TestWebKitAPI/Tests/WTF/VectorBasic.cpp:37:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
WebKit2/UIProcess/WebFindClient.cpp:26:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 6 in 22 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291268</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-10-07 14:50:49 -0700</bug_when>
    <thetext>Committed r69343: &lt;http://trac.webkit.org/changeset/69343&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70140</attachid>
            <date>2010-10-07 13:07:53 -0700</date>
            <delta_ts>2010-10-07 14:45:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47373-20101007130751.patch</filename>
            <type>text/plain</type>
            <size>37642</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OGUyMzhiZmEyMzYwYTQxYzExOWZmNmI5ZWFjYjQ5ZWE5MzA5MmFiOC4uZTM0YzU2YzQxYjMyOWUw
ZmE4N2ExOGQzYzJjMjM3MjYwZDc1NzMzYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0xMC0wNyAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIFdLUGFnZUZpbmRDbGllbnQsIGhvb2sg
dXAgV0tQYWdlQ291bnRTdHJpbmdNYXRjaGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00NzM3MworCisgICAgICAgIEV4cG9ydCBmaW5kIHJlbGF0ZWQg
c3ltYm9scyBuZWVkZWQgYnkgV2ViS2l0Mi4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgor
CiAyMDEwLTEwLTA3ICBLd2FuZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluIGIvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA2NWQyYWU5NDQ0YWYxZjkx
MTRmNGU4NTEzOGNiYWZkN2NkZTMzMGY3Li4zMjhiYWZmOTFlMTE1YTAwMzg3YzA2M2YyNmIyOTll
MTA1MjVlOTNmIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KQEAgLTU2OCw2ICs1NjgsOCBAQCBfX1pON1dlYkNvcmU0UGFnZTE2
c2V0RGVmZXJzTG9hZGluZ0ViCiBfX1pON1dlYkNvcmU0UGFnZTE3d2lsbE1vdmVPZmZzY3JlZW5F
dgogX19aTjdXZWJDb3JlNFBhZ2UxOHJlbW92ZVNjaGVkdWxlUGFpckVOM1dURjEwUGFzc1JlZlB0
cklOU18xMlNjaGVkdWxlUGFpckVFRQogX19aTjdXZWJDb3JlNFBhZ2UxOXZpc2l0ZWRTdGF0ZUNo
YW5nZWRFUE5TXzlQYWdlR3JvdXBFeQorX19aTjdXZWJDb3JlNFBhZ2UyMHVubWFya0FsbFRleHRN
YXRjaGVzRXYKK19fWk43V2ViQ29yZTRQYWdlMjFtYXJrQWxsTWF0Y2hlc0ZvclRleHRFUktOM1dU
RjZTdHJpbmdFTlMxXzE5VGV4dENhc2VTZW5zaXRpdml0eUViagogX19aTjdXZWJDb3JlNFBhZ2Uy
MmFsbFZpc2l0ZWRTdGF0ZUNoYW5nZWRFUE5TXzlQYWdlR3JvdXBFCiBfX1pON1dlYkNvcmU0UGFn
ZTIzY2xlYXJVbmRvUmVkb09wZXJhdGlvbnNFdgogX19aTjdXZWJDb3JlNFBhZ2UyN3NldEphdmFT
Y3JpcHRVUkxzQXJlQWxsb3dlZEViCmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dl
YktpdDIvQ2hhbmdlTG9nCmluZGV4IGU1YzVjZGYzMjVhNGUyZmIxYjIwYWIxY2Q1MjJjNjgwYWQ3
ZjRkZTAuLjA0MWE1NTU0MWE0NWMwMjBhNWYxN2FmNDQ2MmYyYWMzNDE3YmNhNzEgMTAwNjQ0Ci0t
LSBhL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NjIgQEAKKzIwMTAtMTAtMDcgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBX
S1BhZ2VGaW5kQ2xpZW50LCBob29rIHVwIFdLUGFnZUNvdW50U3RyaW5nTWF0Y2hlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDczNzMKKworICAgICAg
ICAqIFNoYXJlZC9BUElDbGllbnQuaDogQWRkZWQuCisgICAgICAgIEFkZCBhbiBBUElDbGllbnQg
Y2xhc3MgdGVtcGxhdGUgd2hpY2ggY2FuIGJlIHVzZWQgdG8gcmVkdWNlIGR1cGxpY2F0ZWQKKyAg
ICAgICAgY29kZSBpbiB0aGUgY2xpZW50IHdyYXBwZXJzLgorCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChXS1BhZ2VTZXRQYWdlRmluZENsaWVudCk6Cisg
ICAgICAgIEluaXRpYWxpemUgdGhlIHBhZ2UgZmluZCBjbGllbnQuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZpbmRDbGllbnQu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViRmluZENsaWVudDo6ZGlkQ291bnRTdHJp
bmdNYXRjaGVzKToKKyAgICAgICAgQ2FsbCB0aGUgV0tQYWdlRmluZENsaWVudCBmdW5jdGlvbi4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGaW5kQ2xpZW50Lmg6IEFkZGVkLgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OmluaXRpYWxpemVGaW5kQ2xpZW50KToKKyAgICAgICAgSW5pdGlhbGl6ZSB0aGUgV2ViRmlu
ZENsaWVudC4KKworICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmZpbmRTdHJpbmcpOgor
ICAgICAgICBTZW5kIGEgRmluZFN0cmluZyBtZXNzYWdlLgorCisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6aGlkZUZpbmRVSSk6CisgICAgICAgIFNlbmQgYSBIaWRlRmluZFVJIG1lc3Nh
Z2UuCisKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpjb3VudFN0cmluZ01hdGNoZXMp
OgorICAgICAgICBTZW5kIGEgQ291bnRTdHJpbmdNYXRjaGVzIG1lc3NhZ2UuCisKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRDb3VudFN0cmluZ01hdGNoZXMpOgorICAgICAgICBD
YWxsIHRoZSBmaW5kIGNsaWVudC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW46CisgICAgICAgIEFkZCBuZXcgbWVzc2FnZS4KKworICAgICAgICAqIFdlYktp
dDIucHJvOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgQWRkIG5ldyBmaWxlcy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZmluZFN0cmluZyk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6OmhpZGVGaW5kVUkpOgorICAgICAgICBBZGQgc3R1YnMuCisKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y291bnRTdHJpbmdNYXRjaGVzKToKKyAgICAgICAgRmln
dXJlIG91dCB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgYW5kIHNlbmQgdGhlbSBiYWNrIGluIHRoZSBE
aWRDb3VudFN0cmluZ01hdGNoZXMgbXNlc3NhZ2UuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1l
c3NhZ2VzLmluOgorICAgICAgICBBZGQgbmV3IG1lc3NhZ2VzLgorCisgICAgICAgICogd2luL1dl
YktpdDIudmNwcm9qOgorICAgICAgICBBZGQgbmV3IGZpbGVzLgorCiAyMDEwLTEwLTA3ICBTYW0g
V2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENh
cmxzc29uLgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50LmggYi9XZWJLaXQy
L1NoYXJlZC9BUElDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODRlMmFhMTE4Njc4YjA1YmRmNTYzMjZk
NDRmMzcyYmIyZjlhMmUwCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xp
ZW50LmgKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQVBJQ2xpZW50X2gK
KyNkZWZpbmUgQVBJQ2xpZW50X2gKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3RlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIEFQSUNsaWVudCB7CitwdWJsaWM6CisgICAgQVBJQ2xpZW50KCkKKyAg
ICB7CisgICAgfQorCisgICAgdm9pZCBpbml0aWFsaXplKGNvbnN0IFQqIGNsaWVudCkKKyAgICB7
CisgICAgICAgIGlmIChjbGllbnQgJiYgIWNsaWVudC0+dmVyc2lvbikKKyAgICAgICAgICAgIG1f
Y2xpZW50ID0gKmNsaWVudDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbWVtc2V0KCZtX2Ns
aWVudCwgMCwgc2l6ZW9mKG1fY2xpZW50KSk7CisgICAgfQorCitwcm90ZWN0ZWQ6CisgICAgVCBt
X2NsaWVudDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gQVBJQ2xp
ZW50X2gKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgYi9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCmluZGV4IDdhYmYxZTNlY2MwZjE3YzQx
ODM0Mzk5MDcwZWU0YzE1NmMxZjEwNWEuLmFjZDJkYWRkMTdkZmFkYzVmZDFkOGJmYmFiNTU5ZjM4
ZWFlZGU0MjYgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAK
KysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcApAQCAtMjI0LDEzICsyMjQs
MjAgQEAgdm9pZCBXS1BhZ2VTZXRQYWdlRm9ybUNsaWVudChXS1BhZ2VSZWYgcGFnZVJlZiwgY29u
c3QgV0tQYWdlRm9ybUNsaWVudCogd2tDbGllbnQKICAgICB0b0ltcGwocGFnZVJlZiktPmluaXRp
YWxpemVGb3JtQ2xpZW50KHdrQ2xpZW50KTsKIH0KIAotdm9pZCBXS1BhZ2VTZXRQYWdlVUlDbGll
bnQoV0tQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0IFdLUGFnZVVJQ2xpZW50ICogd2tDbGllbnQpCit2
b2lkIFdLUGFnZVNldFBhZ2VVSUNsaWVudChXS1BhZ2VSZWYgcGFnZVJlZiwgY29uc3QgV0tQYWdl
VUlDbGllbnQqIHdrQ2xpZW50KQogewogICAgIGlmICh3a0NsaWVudCAmJiB3a0NsaWVudC0+dmVy
c2lvbikKICAgICAgICAgcmV0dXJuOwogICAgIHRvSW1wbChwYWdlUmVmKS0+aW5pdGlhbGl6ZVVJ
Q2xpZW50KHdrQ2xpZW50KTsKIH0KIAordm9pZCBXS1BhZ2VTZXRQYWdlRmluZENsaWVudChXS1Bh
Z2VSZWYgcGFnZVJlZiwgY29uc3QgV0tQYWdlRmluZENsaWVudCogd2tDbGllbnQpCit7CisgICAg
aWYgKHdrQ2xpZW50ICYmIHdrQ2xpZW50LT52ZXJzaW9uKQorICAgICAgICByZXR1cm47CisgICAg
dG9JbXBsKHBhZ2VSZWYpLT5pbml0aWFsaXplRmluZENsaWVudCh3a0NsaWVudCk7Cit9CisKIHZv
aWQgV0tQYWdlUnVuSmF2YVNjcmlwdEluTWFpbkZyYW1lKFdLUGFnZVJlZiBwYWdlUmVmLCBXS1N0
cmluZ1JlZiBzY3JpcHRSZWYsIHZvaWQqIGNvbnRleHQsIFdLUGFnZVJ1bkphdmFTY3JpcHRGdW5j
dGlvbiBjYWxsYmFjaykKIHsKICAgICB0b0ltcGwocGFnZVJlZiktPnJ1bkphdmFTY3JpcHRJbk1h
aW5GcmFtZSh0b0ltcGwoc2NyaXB0UmVmKS0+c3RyaW5nKCksIFNjcmlwdFJldHVyblZhbHVlQ2Fs
bGJhY2s6OmNyZWF0ZShjb250ZXh0LCBjYWxsYmFjaykpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlLmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2Uu
aAppbmRleCBhZTNmM2UwNmExZjgxM2Q0NmMzYjkyYTI3ZjA3NGU4Y2FjY2JjMzg1Li5hZjc3YzMx
Y2ExNTI0YmNhYzZhM2VlOGVmYjIyYmI0NTEwNmUxZDNkIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Bh
Z2UuaApAQCAtMTU1LDYgKzE1NSwxNiBAQCBzdHJ1Y3QgV0tQYWdlVUlDbGllbnQgewogfTsKIHR5
cGVkZWYgc3RydWN0IFdLUGFnZVVJQ2xpZW50IFdLUGFnZVVJQ2xpZW50OwogCisvLyBGaW5kIGNs
aWVudC4KK3R5cGVkZWYgdm9pZCAoKldLUGFnZURpZENvdW50U3RyaW5nTWF0Y2hlc0NhbGxiYWNr
KShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgc3RyaW5nLCB1bnNpZ25lZCBudW1NYXRjaGVz
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKKworc3RydWN0IFdLUGFnZUZpbmRDbGllbnQgewor
ICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVyc2lvbjsKKyAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87CisgICAg
V0tQYWdlRGlkQ291bnRTdHJpbmdNYXRjaGVzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkaWRDb3VudFN0cmluZ01hdGNoZXM7Cit9OwordHlwZWRlZiBzdHJ1Y3QgV0tQ
YWdlRmluZENsaWVudCBXS1BhZ2VGaW5kQ2xpZW50OworCiBXS19FWFBPUlQgV0tUeXBlSUQgV0tQ
YWdlR2V0VHlwZUlEKCk7CiAKIFdLX0VYUE9SVCBXS1BhZ2VOYW1lc3BhY2VSZWYgV0tQYWdlR2V0
UGFnZU5hbWVzcGFjZShXS1BhZ2VSZWYgcGFnZSk7CkBAIC0yMjAsNiArMjMwLDcgQEAgV0tfRVhQ
T1JUIHZvaWQgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudChXS1BhZ2VSZWYgcGFnZSwgY29uc3Qg
V0tQYWdlTG9hZGVyQ2xpZW4KIFdLX0VYUE9SVCB2b2lkIFdLUGFnZVNldFBhZ2VQb2xpY3lDbGll
bnQoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IFdLUGFnZVBvbGljeUNsaWVudCogY2xpZW50KTsKIFdL
X0VYUE9SVCB2b2lkIFdLUGFnZVNldFBhZ2VGb3JtQ2xpZW50KFdLUGFnZVJlZiBwYWdlLCBjb25z
dCBXS1BhZ2VGb3JtQ2xpZW50KiBjbGllbnQpOwogV0tfRVhQT1JUIHZvaWQgV0tQYWdlU2V0UGFn
ZVVJQ2xpZW50KFdLUGFnZVJlZiBwYWdlLCBjb25zdCBXS1BhZ2VVSUNsaWVudCogY2xpZW50KTsK
K1dLX0VYUE9SVCB2b2lkIFdLUGFnZVNldFBhZ2VGaW5kQ2xpZW50KFdLUGFnZVJlZiBwYWdlLCBj
b25zdCBXS1BhZ2VGaW5kQ2xpZW50KiBjbGllbnQpOwogCiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VS
dW5KYXZhU2NyaXB0RnVuY3Rpb24pKFdLU3RyaW5nUmVmLCBXS0Vycm9yUmVmLCB2b2lkKik7CiBX
S19FWFBPUlQgdm9pZCBXS1BhZ2VSdW5KYXZhU2NyaXB0SW5NYWluRnJhbWUoV0tQYWdlUmVmIHBh
Z2UsIFdLU3RyaW5nUmVmIHNjcmlwdCwgdm9pZCAqY29udGV4dCwgV0tQYWdlUnVuSmF2YVNjcmlw
dEZ1bmN0aW9uIGZ1bmN0aW9uKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZp
bmRDbGllbnQuY3BwIGIvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRmluZENsaWVudC5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDc3MjEyMTlmOWIzODlkYWJkZDBlNDdkODA4NTlkYWY1YTgyNGE2MQotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZpbmRDbGllbnQuY3BwCkBAIC0wLDAgKzEs
NDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiV2ViRmluZENsaWVudC5oIgorI2luY2x1ZGUg
IldLQVBJQ2FzdC5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKwordm9pZCBXZWJGaW5kQ2xpZW50OjpkaWRDb3VudFN0cmluZ01hdGNoZXMo
V2ViUGFnZVByb3h5KiBwYWdlLCBjb25zdCBTdHJpbmcmIHN0cmluZywgdWludDMyX3QgbnVtTWF0
Y2hlcykKK3sKKyAgICBpZiAoIW1fY2xpZW50LmRpZENvdW50U3RyaW5nTWF0Y2hlcykKKyAgICAg
ICAgcmV0dXJuOworCisgICAgbV9jbGllbnQuZGlkQ291bnRTdHJpbmdNYXRjaGVzKHRvQVBJKHBh
Z2UpLCB0b0FQSShzdHJpbmcuaW1wbCgpKSwgbnVtTWF0Y2hlcywgbV9jbGllbnQuY2xpZW50SW5m
byk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJGaW5kQ2xpZW50LmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGaW5kQ2xpZW50
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYmViYmJlYjViYjE3MTRiYTZkZjNlYThjZGFiNWVhMWQ1ZWI1MzBhZQot
LS0gL2Rldi9udWxsCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZpbmRDbGllbnQuaApAQCAt
MCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJGaW5kQ2xpZW50X2gKKyNkZWZp
bmUgV2ViRmluZENsaWVudF9oCisKKyNpbmNsdWRlICJBUElDbGllbnQuaCIKKyNpbmNsdWRlICJX
S1BhZ2UuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsK
KworY2xhc3MgV2ViUGFnZVByb3h5OworCitjbGFzcyBXZWJGaW5kQ2xpZW50IDogcHVibGljIEFQ
SUNsaWVudDxXS1BhZ2VGaW5kQ2xpZW50PiB7CitwdWJsaWM6CisgICAgdm9pZCBkaWRDb3VudFN0
cmluZ01hdGNoZXMoV2ViUGFnZVByb3h5KiwgY29uc3QgU3RyaW5nJiwgdWludDMyX3QgbnVtTWF0
Y2hlcyk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFdlYkZpbmRD
bGllbnRfaApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBi
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMmI2ZmI4NGFkOGFlYTJm
OTYyMWJhYzRhN2ZlNTU5N2M5NWZjYzdjNi4uNGI3NmZiYTBjNGQyMGVlZTMxOTQ1YWFiMzQzNTEw
YzVhMjJkNmNhOSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xMzgsNiArMTM4
LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojppbml0aWFsaXplVUlDbGllbnQoY29uc3QgV0tQYWdl
VUlDbGllbnQqIGNsaWVudCkKICAgICBtX3VpQ2xpZW50LmluaXRpYWxpemUoY2xpZW50KTsKIH0K
IAordm9pZCBXZWJQYWdlUHJveHk6OmluaXRpYWxpemVGaW5kQ2xpZW50KGNvbnN0IFdLUGFnZUZp
bmRDbGllbnQqIGNsaWVudCkKK3sKKyAgICBtX2ZpbmRDbGllbnQuaW5pdGlhbGl6ZShjbGllbnQp
OworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6cmV2aXZlKCkKIHsKICAgICBtX3ZhbGlkID0gdHJ1
ZTsKQEAgLTQ5NCwxOSArNDk5LDE5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRQYWdlQW5kVGV4
dFpvb21GYWN0b3JzKGRvdWJsZSBwYWdlWm9vbUZhY3RvciwgZG91YmxlIHRleHRaCiAgICAgcHJv
Y2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZXRQYWdlQW5kVGV4dFpvb21GYWN0b3Jz
KG1fcGFnZVpvb21GYWN0b3IsIG1fdGV4dFpvb21GYWN0b3IpLCBtX3BhZ2VJRCk7IAogfQogCi12
b2lkIFdlYlBhZ2VQcm94eTo6ZmluZFN0cmluZyhjb25zdCBTdHJpbmcmLCBXS0ZpbmREaXJlY3Rp
b24sIFdLRmluZE9wdGlvbnMsIHVuc2lnbmVkIG1heE51bU1hdGNoZXMpCit2b2lkIFdlYlBhZ2VQ
cm94eTo6ZmluZFN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZywgRmluZERpcmVjdGlvbiBmaW5k
RGlyZWN0aW9uLCBGaW5kT3B0aW9ucyBmaW5kT3B0aW9ucywgdW5zaWduZWQgbWF4TnVtTWF0Y2hl
cykKIHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorICAgIHByb2Nlc3MoKS0+c2VuZChNZXNz
YWdlczo6V2ViUGFnZTo6RmluZFN0cmluZyhzdHJpbmcsIGZpbmREaXJlY3Rpb24sIGZpbmRPcHRp
b25zLCBtYXhOdW1NYXRjaGVzKSwgbV9wYWdlSUQpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6
aGlkZUZpbmRVSSgpCiB7Ci0gICAgLy8gRklYTUU6IEltcGxlbWVudC4KKyAgICBwcm9jZXNzKCkt
PnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkhpZGVGaW5kVUkoKSwgbV9wYWdlSUQpOwogfQogCiB2
b2lkIFdlYlBhZ2VQcm94eTo6Y291bnRTdHJpbmdNYXRjaGVzKGNvbnN0IFN0cmluZyYgc3RyaW5n
LCBib29sIGNhc2VJbnNlbnNpdGl2ZSwgdW5zaWduZWQgbWF4TnVtTWF0Y2hlcykKIHsKLSAgICAv
LyBGSVhNRTogSW1wbGVtZW50LgorICAgIHByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFn
ZTo6Q291bnRTdHJpbmdNYXRjaGVzKHN0cmluZywgY2FzZUluc2Vuc2l0aXZlLCBtYXhOdW1NYXRj
aGVzKSwgbV9wYWdlSUQpOwogfQogICAgIAogdm9pZCBXZWJQYWdlUHJveHk6OnJ1bkphdmFTY3Jp
cHRJbk1haW5GcmFtZShjb25zdCBTdHJpbmcmIHNjcmlwdCwgUGFzc1JlZlB0cjxTY3JpcHRSZXR1
cm5WYWx1ZUNhbGxiYWNrPiBwcnBDYWxsYmFjaykKQEAgLTkxOSw2ICs5MjQsMTEgQEAgdm9pZCBX
ZWJQYWdlUHJveHk6OmNsZWFyQWxsRWRpdENvbW1hbmRzKCkKICAgICBtX3BhZ2VDbGllbnQtPmNs
ZWFyQWxsRWRpdENvbW1hbmRzKCk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb3VudFN0
cmluZ01hdGNoZXMoY29uc3QgU3RyaW5nJiBzdHJpbmcsIHVpbnQzMl90IG51bU1hdGNoZXMpCit7
CisgICAgbV9maW5kQ2xpZW50LmRpZENvdW50U3RyaW5nTWF0Y2hlcyh0aGlzLCBzdHJpbmcsIG51
bU1hdGNoZXMpOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6cmVnaXN0ZXJFZGl0Q29tbWFuZChQ
YXNzUmVmUHRyPFdlYkVkaXRDb21tYW5kUHJveHk+IGNvbW1hbmRQcm94eSwgVW5kb09yUmVkbyB1
bmRvT3JSZWRvKQogewogICAgIG1fcGFnZUNsaWVudC0+cmVnaXN0ZXJFZGl0Q29tbWFuZChjb21t
YW5kUHJveHksIHVuZG9PclJlZG8pOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA0Mjgx
YjNlYzVmODE5NWVjNjEzNmY5Nzg2ZjU3ZjBhZTVhMjJkMDIwLi5iZTgxZDQ4NWE5MWFlYjdkNWIy
NmI2OTdlMjg5NDc4ZDU2ZWJjYTQwIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMzIs
NiArMzIsNyBAQAogI2luY2x1ZGUgIkdlbmVyaWNDYWxsYmFjay5oIgogI2luY2x1ZGUgIldLQmFz
ZS5oIgogI2luY2x1ZGUgIldlYkV2ZW50LmgiCisjaW5jbHVkZSAiV2ViRmluZENsaWVudC5oIgog
I2luY2x1ZGUgIldlYkZvcm1DbGllbnQuaCIKICNpbmNsdWRlICJXZWJGcmFtZVByb3h5LmgiCiAj
aW5jbHVkZSAiV2ViSGlzdG9yeUNsaWVudC5oIgpAQCAtMTA2LDcgKzEwNyw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGluaXRpYWxpemVQb2xpY3lDbGllbnQoY29uc3QgV0tQYWdlUG9saWN5Q2xpZW50
Kik7CiAgICAgdm9pZCBpbml0aWFsaXplRm9ybUNsaWVudChjb25zdCBXS1BhZ2VGb3JtQ2xpZW50
Kik7CiAgICAgdm9pZCBpbml0aWFsaXplVUlDbGllbnQoY29uc3QgV0tQYWdlVUlDbGllbnQqKTsK
LQorICAgIHZvaWQgaW5pdGlhbGl6ZUZpbmRDbGllbnQoY29uc3QgV0tQYWdlRmluZENsaWVudCop
OwogICAgIHZvaWQgcmV2aXZlKCk7CiAKICAgICB2b2lkIGluaXRpYWxpemVXZWJQYWdlKGNvbnN0
IFdlYkNvcmU6OkludFNpemUmKTsKQEAgLTE3Miw3ICsxNzMsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRQYWdlQW5kVGV4dFpvb21GYWN0b3JzKGRvdWJsZSBwYWdlWm9vbUZhY3RvciwgZG91Ymxl
IHRleHRab29tRmFjdG9yKTsKIAogICAgIC8vIEZpbmQuCi0gICAgdm9pZCBmaW5kU3RyaW5nKGNv
bnN0IFN0cmluZyYsIFdLRmluZERpcmVjdGlvbiwgV0tGaW5kT3B0aW9ucywgdW5zaWduZWQgbWF4
TnVtTWF0Y2hlcyk7CisgICAgdm9pZCBmaW5kU3RyaW5nKGNvbnN0IFN0cmluZyYsIEZpbmREaXJl
Y3Rpb24sIEZpbmRPcHRpb25zLCB1bnNpZ25lZCBtYXhOdW1NYXRjaGVzKTsKICAgICB2b2lkIGhp
ZGVGaW5kVUkoKTsKICAgICB2b2lkIGNvdW50U3RyaW5nTWF0Y2hlcyhjb25zdCBTdHJpbmcmLCBi
b29sIGNhc2VJbnNlbnNpdGl2ZSwgdW5zaWduZWQgbWF4TnVtTWF0Y2hlcyk7CiAKQEAgLTI2OSw2
ICsyNzAsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVnaXN0ZXJFZGl0Q29tbWFuZEZvclVuZG8o
dWludDY0X3QgY29tbWFuZElELCB1aW50MzJfdCBlZGl0QWN0aW9uKTsKICAgICB2b2lkIGNsZWFy
QWxsRWRpdENvbW1hbmRzKCk7CiAKKyAgICAvLyBGaW5kLgorICAgIHZvaWQgZGlkQ291bnRTdHJp
bmdNYXRjaGVzKGNvbnN0IFN0cmluZyYsIHVpbnQzMl90IG51bU1hdGNoZXMpOworCiAgICAgdm9p
ZCB0YWtlRm9jdXMoYm9vbCBkaXJlY3Rpb24pOwogICAgIHZvaWQgc2V0VG9vbFRpcChjb25zdCBT
dHJpbmcmKTsKICAgICB2b2lkIHNldEN1cnNvcihjb25zdCBXZWJDb3JlOjpDdXJzb3ImKTsKQEAg
LTI5MSw2ICsyOTUsNyBAQCBwcml2YXRlOgogICAgIFdlYlBvbGljeUNsaWVudCBtX3BvbGljeUNs
aWVudDsKICAgICBXZWJGb3JtQ2xpZW50IG1fZm9ybUNsaWVudDsKICAgICBXZWJVSUNsaWVudCBt
X3VpQ2xpZW50OworICAgIFdlYkZpbmRDbGllbnQgbV9maW5kQ2xpZW50OwogCiAgICAgT3duUHRy
PERyYXdpbmdBcmVhUHJveHk+IG1fZHJhd2luZ0FyZWE7CiAgICAgUmVmUHRyPFdlYlBhZ2VOYW1l
c3BhY2U+IG1fcGFnZU5hbWVzcGFjZTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbgppbmRleCAxODQ5ODc1Y2UxZjA5NDUwY2ZiNjYxY2QyMzgwOTBiYWE2OTUyMThh
Li4yZWY1ZjM3YjdiYzNiMmNhMmIyMzljMTRhMDAzY2U0MGVjYjNiNTQ1IDEwMDY0NAotLS0gYS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC04MiwxMCArODIsMTMgQEAgbWVz
c2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBCYWNrRm9yd2FyZEJhY2tMaXN0Q291bnQoKSAt
PiAoaW50MzJfdCBpdGVtSUQpCiAgICAgQmFja0ZvcndhcmRGb3J3YXJkTGlzdENvdW50KCkgLT4g
KGludDMyX3QgaXRlbUlEKQogCi0gICAgIyBVbmRvUmVkbyBtZXNzYWdlcy4KKyAgICAjIFVuZG8v
UmVkbyBtZXNzYWdlcy4KICAgICBSZWdpc3RlckVkaXRDb21tYW5kRm9yVW5kbyh1aW50NjRfdCBj
b21tYW5kSUQsIHVpbnQzMl90IGVkaXRBY3Rpb24pCiAgICAgQ2xlYXJBbGxFZGl0Q29tbWFuZHMo
KQogCisgICAgIyBGaW5kLgorICAgIERpZENvdW50U3RyaW5nTWF0Y2hlcyhXVEY6OlN0cmluZyBz
dHJpbmcsIHVpbnQzMl90IG51bU1hdGNoZXMpCisKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9T
SVRJTkcpCiAgICAgIyBBY2NlbGVyYXRlZCBjb21wc2l0aW5nIG1lc3NhZ2VzLgogICAgIERpZENo
YW5nZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmcoYm9vbCBjb21wb3NpdGluZykgLT4gKFdlYktpdDo6
RHJhd2luZ0FyZWFCYXNlOjpEcmF3aW5nQXJlYUluZm8gbmV3RHJhd2luZ0FyZWEpCmRpZmYgLS1n
aXQgYS9XZWJLaXQyL1dlYktpdDIucHJvIGIvV2ViS2l0Mi9XZWJLaXQyLnBybwppbmRleCBhY2Jk
YTliYjg1YWM5YTg4ZTI4NDg2ZjRjZDQ0MTBkOTliZjk1YzRhLi5lNzgzODIwMzk4ZmRiMzc1NmQ0
ZGI0NTJmZGVhNjQyZDg5ZGViZGY3IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYktpdDIucHJvCisr
KyBiL1dlYktpdDIvV2ViS2l0Mi5wcm8KQEAgLTI0MCw2ICsyNDAsNyBAQCBIRUFERVJTICs9IFwK
ICAgICBVSVByb2Nlc3MvV2ViQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50LmggXAogICAgIFVJ
UHJvY2Vzcy9XZWJDb250ZXh0VXNlck1lc3NhZ2VDb2RlcnMuaCBcCiAgICAgVUlQcm9jZXNzL1dl
YkVkaXRDb21tYW5kUHJveHkuaCBcCisgICAgVUlQcm9jZXNzL1dlYkZpbmRDbGllbnQuaCBcCiAg
ICAgVUlQcm9jZXNzL1dlYkZvcm1DbGllbnQuaCBcCiAgICAgVUlQcm9jZXNzL1dlYkZvcm1TdWJt
aXNzaW9uTGlzdGVuZXJQcm94eS5oIFwKICAgICBVSVByb2Nlc3MvV2ViRnJhbWVMaXN0ZW5lclBy
b3h5LmggXApAQCAtMzY3LDYgKzM2OCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIFVJUHJvY2Vzcy9X
ZWJDb250ZXh0LmNwcCBcCiAgICAgVUlQcm9jZXNzL1dlYkNvbnRleHRJbmplY3RlZEJ1bmRsZUNs
aWVudC5jcHAgXAogICAgIFVJUHJvY2Vzcy9XZWJFZGl0Q29tbWFuZFByb3h5LmNwcCBcCisgICAg
VUlQcm9jZXNzL1dlYkZpbmRDbGllbnQuY3BwIFwKICAgICBVSVByb2Nlc3MvV2ViRm9ybUNsaWVu
dC5jcHAgXAogICAgIFVJUHJvY2Vzcy9XZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHkuY3Bw
IFwKICAgICBVSVByb2Nlc3MvV2ViRnJhbWVMaXN0ZW5lclByb3h5LmNwcCBcCmRpZmYgLS1naXQg
YS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDFiZWU5MzYxYjlkZjgyNTJiOWY5
MDk0NTRhNTA0YzI1ZWYyMjIwZGIuLmMyMTI1YzFjYmM4MzZmZjI1YTA1NzhhYmZhMDUxMWMzMGQ3
ZmQ5ZTkgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04
NSw2ICs4NSw5IEBACiAJCTFBMjRCRjNBMTIwODk2QTYwMEZCQjA1OSAvKiBTaGFyZWRNZW1vcnlN
YWMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEy
NEJGMzkxMjA4OTZBNjAwRkJCMDU5IC8qIFNoYXJlZE1lbW9yeU1hYy5jcHAgKi87IH07CiAJCTFB
MzAwNjZFMTExMEY0RjcwMDMxOTM3QyAvKiBSZXNwb25zaXZlbmVzc1RpbWVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTMwMDY2QzExMTBGNEY3MDAz
MTkzN0MgLyogUmVzcG9uc2l2ZW5lc3NUaW1lci5oICovOyB9OwogCQkxQTMwRUFDNjExNUQ3REEz
MDA1M0U5MzcgLyogQ29ubmVjdGlvbk1hYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQTMwRUFDNTExNUQ3REEzMDA1M0U5MzcgLyogQ29ubmVjdGlv
bk1hYy5jcHAgKi87IH07CisJCTFBM0REMUZEMTI1RTU5RjMwMDQ1MTVFNiAvKiBXZWJGaW5kQ2xp
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFB
M0REMUZDMTI1RTU5RjMwMDQ1MTVFNiAvKiBXZWJGaW5kQ2xpZW50LmNwcCAqLzsgfTsKKwkJMUEz
REQyMDIxMjVFNUExRjAwNDUxNUU2IC8qIFdlYkZpbmRDbGllbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBM0REMjAxMTI1RTVBMUYwMDQ1MTVFNiAv
KiBXZWJGaW5kQ2xpZW50LmggKi87IH07CisJCTFBM0REMjA2MTI1RTVBMkYwMDQ1MTVFNiAvKiBB
UElDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBM0REMjA1MTI1RTVBMkYwMDQ1MTVFNiAvKiBBUElDbGllbnQuaCAqLzsgfTsKIAkJMUEzRTcz
NjExMUNDMjY1OTAwN0JENTM5IC8qIFdlYlBsYXRmb3JtU3RyYXRlZ2llcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEzRTczNUYxMUNDMjY1OTAwN0JE
NTM5IC8qIFdlYlBsYXRmb3JtU3RyYXRlZ2llcy5oICovOyB9OwogCQkxQTNFNzM2MjExQ0MyNjU5
MDA3QkQ1MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBM0U3MzYwMTFDQzI2NTkwMDdCRDUzOSAvKiBX
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwICovOyB9OwogCQkxQTQzM0YwRDExM0M1M0REMDBGQUNE
RTkgLyogV2ViRXJyb3JzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTQzM0YwQzExM0M1M0REMDBGQUNERTkgLyogV2ViRXJyb3JzLmggKi87IH07CkBA
IC01MjksNiArNTMyLDkgQEAKIAkJMUEyNEJGMzkxMjA4OTZBNjAwRkJCMDU5IC8qIFNoYXJlZE1l
bW9yeU1hYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaGFyZWRN
ZW1vcnlNYWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTMwMDY2QzExMTBG
NEY3MDAzMTkzN0MgLyogUmVzcG9uc2l2ZW5lc3NUaW1lci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBSZXNwb25zaXZlbmVzc1RpbWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFBMzBFQUM1MTE1RDdEQTMwMDUzRTkzNyAvKiBDb25uZWN0aW9uTWFjLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbm5lY3Rpb25NYWMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQTNERDFGQzEyNUU1OUYzMDA0NTE1RTYgLyog
V2ViRmluZENsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
ZWJGaW5kQ2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUEzREQyMDEx
MjVFNUExRjAwNDUxNUU2IC8qIFdlYkZpbmRDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViRmluZENsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxQTNERDIwNTEyNUU1QTJGMDA0NTE1RTYgLyogQVBJQ2xpZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEFQSUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxQTNFNzM1RjExQ0MyNjU5MDA3QkQ1MzkgLyogV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlBsYXRmb3JtU3RyYXRlZ2llcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTNFNzM2MDExQ0MyNjU5MDA3QkQ1Mzkg
LyogV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFBNDMzRjBDMTEzQzUzREQwMEZBQ0RFOSAvKiBXZWJFcnJvcnMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViRXJyb3JzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xMTE1LDYgKzExMjEsNyBAQAogCQkJCUJDRERCMzE0MTI0RUJDRUYwMDQ4
RDEzQyAvKiBBUEkgKi8sCiAJCQkJQkMxMTFCNUYxMTJGNjM1RTAwMzM3QkFCIC8qIENvcmVJUENT
dXBwb3J0ICovLAogCQkJCUJDMTExQjVBMTEyRjYyODIwMDMzN0JBQiAvKiBtYWMgKi8sCisJCQkJ
MUEzREQyMDUxMjVFNUEyRjAwNDUxNUU2IC8qIEFQSUNsaWVudC5oICovLAogCQkJCUJDRjA0QzhD
MTFGRjlCN0QwMEY4NkE1OCAvKiBBUElPYmplY3QuaCAqLywKIAkJCQkxQTA0M0Q3OTEyNEZFRkMx
MDBGRkJGQjUgLyogQmFja2luZ1N0b3JlLmNwcCAqLywKIAkJCQkxQTA0M0Q3ODEyNEZFRkMxMDBG
RkJGQjUgLyogQmFja2luZ1N0b3JlLmggKi8sCkBAIC0xMzE4LDYgKzEzMjUsOCBAQAogCQkJCUJD
QjBCMERCMTIzMDVBMjUwMEIxMzQxRSAvKiBXZWJDb250ZXh0VXNlck1lc3NhZ2VDb2RlcnMuaCAq
LywKIAkJCQlCQ0EwRUY5RTEyMzMyNjQyMDA3RDNDRkIgLyogV2ViRWRpdENvbW1hbmRQcm94eS5j
cHAgKi8sCiAJCQkJQkNBMEVGOUQxMjMzMjY0MjAwN0QzQ0ZCIC8qIFdlYkVkaXRDb21tYW5kUHJv
eHkuaCAqLywKKwkJCQkxQTNERDFGQzEyNUU1OUYzMDA0NTE1RTYgLyogV2ViRmluZENsaWVudC5j
cHAgKi8sCisJCQkJMUEzREQyMDExMjVFNUExRjAwNDUxNUU2IC8qIFdlYkZpbmRDbGllbnQuaCAq
LywKIAkJCQlCQ0U0Njk0RjEyMTRFNkNCMDAwQjk4RUIgLyogV2ViRm9ybUNsaWVudC5jcHAgKi8s
CiAJCQkJQkNFNDY5NTAxMjE0RTZDQjAwMEI5OEVCIC8qIFdlYkZvcm1DbGllbnQuaCAqLywKIAkJ
CQlCQ0U0Njk1MTEyMTRFNkNCMDAwQjk4RUIgLyogV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclBy
b3h5LmNwcCAqLywKQEAgLTE5NTAsNiArMTk1OSw4IEBACiAJCQkJNTFBN0YyRjMxMjVCRjgyMDAw
OEFFQjFEIC8qIExvZ2dpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQkQzOTE1MTI1QkIxQTgw
MEQyQzI5RiAvKiBXZWJQYWdlUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNC
RDNDM0IxMjVCRkE3QTAwRDJDMjlGIC8qIFN0cmluZ1BhaXJWZWN0b3IuaCBpbiBIZWFkZXJzICov
LAorCQkJCTFBM0REMjAyMTI1RTVBMUYwMDQ1MTVFNiAvKiBXZWJGaW5kQ2xpZW50LmggaW4gSGVh
ZGVycyAqLywKKwkJCQkxQTNERDIwNjEyNUU1QTJGMDA0NTE1RTYgLyogQVBJQ2xpZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKIAkJfTsKQEAgLTIyNDksNiArMjI2MCw3IEBACiAJCQkJQkMzMDY4MjUxMjVBNkI5NDAw
RTcxMjc4IC8qIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTFBN0YyRjUxMjVCRjhENDAwOEFFQjFEIC8qIExvZ2dpbmcuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkNCRDM5MTQxMjVCQjFBODAwRDJDMjlGIC8qIFdlYlBhZ2VQcm94eU1lc3NhZ2VS
ZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxQTNERDFGRDEyNUU1OUYzMDA0NTE1RTYg
LyogV2ViRmluZENsaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKaW5kZXggMzEyYTJmY2VlYjdlOTE2MzA4NTg1ZGZmZTNkMGJmYjc3MWVj
YjQ0YS4uODE5MTQ2ZjUwNmRlNjI4YmFlYzMyZTJkMDNlNGViNmI1Y2E4NTIyZiAxMDA2NDQKLS0t
IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTc1OCw2ICs3NTgsMjQgQEAgdm9pZCBX
ZWJQYWdlOjpkaWRSZW1vdmVFZGl0Q29tbWFuZCh1aW50NjRfdCBjb21tYW5kSUQpCiAgICAgcmVt
b3ZlV2ViRWRpdENvbW1hbmQoY29tbWFuZElEKTsKIH0KIAordm9pZCBXZWJQYWdlOjpmaW5kU3Ry
aW5nKGNvbnN0IFN0cmluZyYsIHVpbnQzMl90IGZpbmREaXJlY3Rpb24sIHVpbnQzMl90IGZpbmRP
cHRpb24sIHVpbnQzMl90IG1heE51bU1hdGNoZXMpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVu
dC4KK30KKwordm9pZCBXZWJQYWdlOjpoaWRlRmluZFVJKCkKK3sKKyAgICAvLyBGSVhNRTogSW1w
bGVtZW50LgorfQorCit2b2lkIFdlYlBhZ2U6OmNvdW50U3RyaW5nTWF0Y2hlcyhjb25zdCBTdHJp
bmcmIHN0cmluZywgYm9vbCBjYXNlSW5zZW5zaXRpdmUsIHVpbnQzMl90IG1heE51bU1hdGNoZXMp
Cit7CisgICAgdW5zaWduZWQgbnVtTWF0Y2hlcyA9IG1fcGFnZS0+bWFya0FsbE1hdGNoZXNGb3JU
ZXh0KHN0cmluZywgY2FzZUluc2Vuc2l0aXZlID8gVGV4dENhc2VJbnNlbnNpdGl2ZSA6IFRleHRD
YXNlU2Vuc2l0aXZlLCBmYWxzZSwgbWF4TnVtTWF0Y2hlcyk7CisgICAgbV9wYWdlLT51bm1hcmtB
bGxUZXh0TWF0Y2hlcygpOworCisgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29ubmVjdGlvbigp
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENvdW50U3RyaW5nTWF0Y2hlcyhzdHJp
bmcsIG51bU1hdGNoZXMpLCBtX3BhZ2VJRCk7Cit9CisgICAgCiAjaWYgUExBVEZPUk0oTUFDKQog
dm9pZCBXZWJQYWdlOjphZGRQbHVnaW5WaWV3KFBsdWdpblZpZXcqIHBsdWdpblZpZXcpCiB7CmRp
ZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggY2U5YWJlZDM3YmRjZjQ1NTg2OTU4
MTY5YjU4ZjM2MmNkZjQ5ZDY4ZC4uZmI1ZWE1ZDUwODZkMGU3NzczNjg5MWQzY2VjMzc4MzU3NzFj
ZWY2NSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisr
KyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMjEzLDYgKzIxMywx
MCBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVhcHBseUVkaXRDb21tYW5kKHVpbnQ2NF90IGNvbW1h
bmRJRCk7CiAgICAgdm9pZCBkaWRSZW1vdmVFZGl0Q29tbWFuZCh1aW50NjRfdCBjb21tYW5kSUQp
OwogCisgICAgdm9pZCBmaW5kU3RyaW5nKGNvbnN0IFN0cmluZyYsIHVpbnQzMl90IGZpbmREaXJl
Y3Rpb24sIHVpbnQzMl90IGZpbmRPcHRpb24sIHVpbnQzMl90IG1heE51bU1hdGNoZXMpOworICAg
IHZvaWQgaGlkZUZpbmRVSSgpOworICAgIHZvaWQgY291bnRTdHJpbmdNYXRjaGVzKGNvbnN0IFN0
cmluZyYsIGJvb2wgY2FzZUluc2Vuc2l0aXZlLCB1aW50MzJfdCBtYXhOdW1NYXRjaGVzKTsKKwog
ICAgIE93blB0cjxXZWJDb3JlOjpQYWdlPiBtX3BhZ2U7CiAgICAgUmVmUHRyPFdlYkZyYW1lPiBt
X21haW5GcmFtZTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5tZXNzYWdlcy5pbiBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVz
c2FnZXMuaW4KaW5kZXggY2VjOWEwNGFmNjRhMmUwN2E3YmE4Nzk2NjNiYjZjMWY0OThlNzM0Yi4u
MjE0OGY0ZWUwYjJhZjBjMWU0ZDk5MzRmMjU4M2Q3ZTFkYmY5ZTZjZSAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC02OCw2ICs2OCwxMSBA
QCBtZXNzYWdlcyAtPiBXZWJQYWdlIHsKICAgICBTZXRQYWdlWm9vbUZhY3Rvcihkb3VibGUgem9v
bUZhY3RvcikKICAgICBTZXRUZXh0Wm9vbUZhY3Rvcihkb3VibGUgem9vbUZhY3RvcikKIAorICAg
ICMgRmluZC4KKyAgICBGaW5kU3RyaW5nKFdURjo6U3RyaW5nIHN0cmluZywgdWludDMyX3QgZmlu
ZERpcmVjdGlvbiwgdWludDMyX3QgZmluZE9wdGlvbnMsIHVuc2lnbmVkIG1heE51bU1hdGNoZXMp
CisgICAgSGlkZUZpbmRVSSgpCisgICAgQ291bnRTdHJpbmdNYXRjaGVzKFdURjo6U3RyaW5nIHN0
cmluZywgYm9vbCBjYXNlSW5zZW5zaXRpdmUsIHVuc2lnbmVkIG1heE51bU1hdGNoZXMpCisgICAg
CiAgICAgU2V0V2luZG93UmVzaXplclNpemUoV2ViQ29yZTo6SW50U2l6ZSBpbnRlcnNlY3RzVmll
dykKIAogI2lmIFBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBhL1dlYktpdDIvd2luL1dlYktpdDIu
dmNwcm9qIGIvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKaW5kZXggMzQyYzBhODU0NWUxNTVi
NzUwMzdjYmE1NjZhODIxNGIyMDYwZjVjOS4uNjMwMjNiNDY4OTYwNzJjMmFiZDJmOTMwZjgyNTYz
YjQ4MzI5YzIyYyAxMDA3NTUKLS0tIGEvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKKysrIGIv
V2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKQEAgLTM5Myw2ICszOTMsMTAgQEAKIAkJCU5hbWU9
IlNoYXJlZCINCiAJCQk+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRc
QVBJQ2xpZW50LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRp
dmVQYXRoPSIuLlxTaGFyZWRcQVBJT2JqZWN0LmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpAQCAt
MTQzNiw2ICsxNDQwLDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xXZWJGaW5kQ2xpZW50LmNwcCINCisJCQkJPg0KKwkJ
CTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xXZWJG
aW5kQ2xpZW50LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRp
dmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViRm9ybUNsaWVudC5jcHAiDQogCQkJCT4NCiAJCQk8L0Zp
bGU+DQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hh
bmdlTG9nCmluZGV4IGQxODgyMDQ5NjJjM2VkYzA1YzlmNTBmYmUzMWNlOGYwN2QwZDM2MzUuLjRk
ODcwMmIxNTkyNWE4OTQ0MGQxOTI5MjkxYTZhNThiYmUyYmYxMDkgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
NCBAQAorMjAxMC0xMC0wNyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIFdL
UGFnZUZpbmRDbGllbnQsIGhvb2sgdXAgV0tQYWdlQ291bnRTdHJpbmdNYXRjaGVzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzM3MworCisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgIFJlbW92ZSBoYXJkIGNvZGVkIHBhdGhzLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvVmVjdG9yQmFzaWMuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6
VEVTVCk6CisgICAgICAgIEZpeCBleHBlY3RlZCByZXN1bHQuCisKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdDIvRmluZC5jcHA6IEFkZGVkLgorICAgICAgICAoVGVzdFdlYktp
dEFQSTo6ZGlkRmluaXNoTG9hZEZvckZyYW1lKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmRp
ZENvdW50U3RyaW5nTWF0Y2hlcyk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvZmluZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgQWRkIHRlc3QgZm9yIFdLUGFnZUNvdW50U3RyaW5nTWF0Y2hlcy4KKwogMjAxMC0wOS0y
MSAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgQ2hyaXMgRmxlaXphY2guCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYktpdFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGQ2Yjk3MjdiYjdkNWZjOTdhZDlhZjNlM2U5NTY3ZWQ1ZDM3ODhmZGEuLjgyNTQ3ZThj
NTRjNGE0NGQyMmUzMjc5YzVhMmMzZTdiN2JmN2ZiMzggMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1dlYktpdFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC03LDYgKzcsOCBAQAogCW9iamVjdHMgPSB7CiAKIC8qIEJlZ2luIFBC
WEJ1aWxkRmlsZSBzZWN0aW9uICovCisJCTFBMDJDODRGMTI1RDRBODQwMEUzRjRCRCAvKiBGaW5k
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMDJD
ODRFMTI1RDRBODQwMEUzRjRCRCAvKiBGaW5kLmNwcCAqLzsgfTsKKwkJMUEwMkM4NzAxMjVENENG
RDAwRTNGNEJEIC8qIGZpbmQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQTAyQzg0QjEyNUQ0QTVFMDBFM0Y0QkQgLyogZmluZC5odG1s
ICovOyB9OwogCQlCQzEzMTg4NTExNzExNEI2MDBCNjk3MjcgLyogUGxhdGZvcm1VdGlsaXRpZXNN
YWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzEz
MTg4NDExNzExNEI2MDBCNjk3MjcgLyogUGxhdGZvcm1VdGlsaXRpZXNNYWMubW0gKi87IH07CiAJ
CUJDMTMxQTlCMTE3MTMxNjkwMEI2OTcyNyAvKiBtYWluLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxMzFBOUExMTcxMzE2OTAwQjY5NzI3IC8qIG1h
aW4ubW0gKi87IH07CiAJCUJDMTMxQUE5MTE3MTMxRkMwMEI2OTcyNyAvKiBUZXN0c0NvbnRyb2xs
ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMx
MzFBQTgxMTcxMzFGQzAwQjY5NzI3IC8qIFRlc3RzQ29udHJvbGxlci5jcHAgKi87IH07CkBAIC00
MSw2ICs0Myw3IEBACiAJCQlkc3RTdWJmb2xkZXJTcGVjID0gNzsKIAkJCWZpbGVzID0gKAogCQkJ
CUJDQkQzNzM3MTI1QUJCRUIwMEQyQzI5RiAvKiBpY29uLnBuZyBpbiBDb3B5IFJlc291cmNlcyAq
LywKKwkJCQkxQTAyQzg3MDEyNUQ0Q0ZEMDBFM0Y0QkQgLyogZmluZC5odG1sIGluIENvcHkgUmVz
b3VyY2VzICovLAogCQkJCUJDOTA5Nzg0MTI1NTcxQ0YwMDA4Mzc1NiAvKiBzaW1wbGUuaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLywKIAkJCSk7CiAJCQluYW1lID0gIkNvcHkgUmVzb3VyY2VzIjsK
QEAgLTQ5LDYgKzUyLDggQEAKIC8qIEVuZCBQQlhDb3B5RmlsZXNCdWlsZFBoYXNlIHNlY3Rpb24g
Ki8KIAogLyogQmVnaW4gUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCisJCTFBMDJDODRCMTI1
RDRBNUUwMEUzRjRCRCAvKiBmaW5kLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBm
aW5kLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBMDJDODRFMTI1RDRBODQw
MEUzRjRCRCAvKiBGaW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEZpbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4REQ3NkZBMTA0ODZBQTc2
MDBEOTZCNUUgLyogVGVzdFdlYktpdEFQSSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBl
eHBsaWNpdEZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5leGVjdXRhYmxlIjsgaW5jbHVkZUlu
SW5kZXggPSAwOyBwYXRoID0gVGVzdFdlYktpdEFQSTsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RV
Q1RTX0RJUjsgfTsKIAkJQkMxMzE4ODMxMTcxMTRBODAwQjY5NzI3IC8qIFBsYXRmb3JtVXRpbGl0
aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtVXRpbGl0aWVz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDMTMxODg0MTE3MTE0QjYwMEI2OTcy
NyAvKiBQbGF0Zm9ybVV0aWxpdGllc01hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFBsYXRmb3JtVXRpbGl0aWVzTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtNjEsNyArNjYsNyBAQAogCQlCQzkwOTU3RjEyNTU0Q0Y5MDAwODM3NTYgLyog
RGVidWdSZWxlYXNlLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IERl
YnVnUmVsZWFzZS54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM5MDk1
ODAxMjU1NENGOTAwMDgzNzU2IC8qIFRlc3RXZWJLaXRBUEkueGNjb25maWcgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0LnhjY29uZmlnOyBwYXRoID0gVGVzdFdlYktpdEFQSS54Y2NvbmZpZzsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQkM5MDk2NEIxMjU1NjFCRjAwMDgzNzU2IC8qIFZlY3RvckJhc2lj
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFZlY3RvckJhc2ljLmNw
cDsgcGF0aCA9IFdURi9WZWN0b3JCYXNpYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCUJDOTA5NjREMTI1NTYyMEMwMDA4Mzc1NiAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVy
LmZyYW1ld29yazsgbmFtZSA9IEphdmFTY3JpcHRDb3JlLmZyYW1ld29yazsgcGF0aCA9IC4uLy4u
L1dlYktpdEJ1aWxkL0RlYnVnL0phdmFTY3JpcHRDb3JlLmZyYW1ld29yazsgc291cmNlVHJlZSA9
IFNPVVJDRV9ST09UOyB9OworCQlCQzkwOTY0RDEyNTU2MjBDMDAwODM3NTYgLyogSmF2YVNjcmlw
dENvcmUuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IHBhdGggPSBKYXZhU2NyaXB0Q29yZS5mcmFtZXdv
cms7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCUJDOTA5Nzc4MTI1NTcx
QUIwMDA4Mzc1NiAvKiBzaW1wbGUuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9IHNp
bXBsZS5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzkwOTc3OTEyNTU3MUFC
MDAwODM3NTYgLyogUGFnZUxvYWRCYXNpYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBQYWdlTG9hZEJhc2ljLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQkM5MDk5NUQxMjU2N0JDMTAwMDgzNzU2IC8qIFdLU3RyaW5nLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLU3RyaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTE0Nyw2ICsxNTIsNyBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGls
ZHJlbiA9ICgKIAkJCQlCQzkwOTc3QjEyNTU3MUFFMDAwODM3NTYgLyogUmVzb3VyY2VzICovLAor
CQkJCTFBMDJDODRFMTI1RDRBODQwMEUzRjRCRCAvKiBGaW5kLmNwcCAqLywKIAkJCQlCQ0JEMzcw
RjEyNUFBMkVCMDBEMkMyOUYgLyogRnJhbWVNSU1FVHlwZUhUTUwuY3BwICovLAogCQkJCUJDQkQz
NzYwMTI1QUJDRkUwMEQyQzI5RiAvKiBGcmFtZU1JTUVUeXBlUE5HLmNwcCAqLywKIAkJCQlCQzkw
OTc3OTEyNTU3MUFCMDAwODM3NTYgLyogUGFnZUxvYWRCYXNpYy5jcHAgKi8sCkBAIC0xNjgsNiAr
MTc0LDcgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJQkNCRDM3
MkUxMjVBQkJFNjAwRDJDMjlGIC8qIGljb24ucG5nICovLAorCQkJCTFBMDJDODRCMTI1RDRBNUUw
MEUzRjRCRCAvKiBmaW5kLmh0bWwgKi8sCiAJCQkJQkM5MDk3NzgxMjU1NzFBQjAwMDgzNzU2IC8q
IHNpbXBsZS5odG1sICovLAogCQkJKTsKIAkJCW5hbWUgPSBSZXNvdXJjZXM7CkBAIC0yNTMsNiAr
MjYwLDcgQEAKIAkJCQlCQzkwOTk5NDEyNTZBQ0YxMDAwODM3NTYgLyogV0tTdHJpbmdKU1N0cmlu
Zy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0JEMzcxMDEyNUFBMkVCMDBEMkMyOUYgLyogRnJh
bWVNSU1FVHlwZUhUTUwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNCRDM3NjExMjVBQkNGRTAw
RDJDMjlGIC8qIEZyYW1lTUlNRVR5cGVQTkcuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUEwMkM4
NEYxMjVENEE4NDAwRTNGNEJEIC8qIEZpbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yNjMsMTAg
KzI3MSw3IEBACiAJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKIAkJCWJhc2VDb25maWd1
cmF0aW9uUmVmZXJlbmNlID0gQkM5MDk1ODAxMjU1NENGOTAwMDgzNzU2IC8qIFRlc3RXZWJLaXRB
UEkueGNjb25maWcgKi87CiAJCQlidWlsZFNldHRpbmdzID0gewotCQkJCUZSQU1FV09SS19TRUFS
Q0hfUEFUSFMgPSAoCi0JCQkJCSIkKGluaGVyaXRlZCkiLAotCQkJCQkiXCIkKFNSQ1JPT1QpLy4u
Ly4uL1dlYktpdEJ1aWxkL0RlYnVnXCIiLAotCQkJCSk7CisJCQkJRlJBTUVXT1JLX1NFQVJDSF9Q
QVRIUyA9ICIkKGluaGVyaXRlZCkiOwogCQkJfTsKIAkJCW5hbWUgPSBEZWJ1ZzsKIAkJfTsKQEAg
LTI3NCwxMCArMjc5LDcgQEAKIAkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwogCQkJYmFz
ZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBCQzkwOTU4MDEyNTU0Q0Y5MDAwODM3NTYgLyogVGVz
dFdlYktpdEFQSS54Y2NvbmZpZyAqLzsKIAkJCWJ1aWxkU2V0dGluZ3MgPSB7Ci0JCQkJRlJBTUVX
T1JLX1NFQVJDSF9QQVRIUyA9ICgKLQkJCQkJIiQoaW5oZXJpdGVkKSIsCi0JCQkJCSJcIiQoU1JD
Uk9PVCkvLi4vLi4vV2ViS2l0QnVpbGQvRGVidWdcIiIsCi0JCQkJKTsKKwkJCQlGUkFNRVdPUktf
U0VBUkNIX1BBVEhTID0gIiQoaW5oZXJpdGVkKSI7CiAJCQl9OwogCQkJbmFtZSA9IFJlbGVhc2U7
CiAJCX07CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9W
ZWN0b3JCYXNpYy5jcHAgYi9XZWJLaXRUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9WZWN0
b3JCYXNpYy5jcHAKaW5kZXggYWE0ZmEyNzk4MDQxMjM0MjA1NmFjNjE2NjJlY2M4NDkzZjhkZjBh
OS4uMDEyZmEyNzhhODdkN2I3NzNjOTIxYzEyMTBiYzU5YjkxNjVjM2Q3NiAxMDA2NDQKLS0tIGEv
V2ViS2l0VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVmVjdG9yQmFzaWMuY3BwCisrKyBi
L1dlYktpdFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1ZlY3RvckJhc2ljLmNwcApAQCAt
MzQsNyArMzQsNyBAQCBURVNUKFdURiwgVmVjdG9yQmFzaWMpCiAgICAgVmVjdG9yPGludD4gaW50
VmVjdG9yOwogICAgIFRFU1RfQVNTRVJUKGludFZlY3Rvci5pc0VtcHR5KCkpOwogICAgIFRFU1Rf
QVNTRVJUKGludFZlY3Rvci5zaXplKCkgPT0gMCk7Ci0gICAgVEVTVF9BU1NFUlQoaW50VmVjdG9y
LmNhcGFjaXR5KCkgPT0gMSk7CisgICAgVEVTVF9BU1NFUlQoaW50VmVjdG9yLmNhcGFjaXR5KCkg
PT0gMCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9GaW5kLmNwcCBiL1dlYktpdFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9GaW5kLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42M2Jj
ZWE4MGU1YWMyN2ViMmViNzI1NzJhY2ViZDc0ZjQxZTk5YWVmCi0tLSAvZGV2L251bGwKKysrIGIv
V2ViS2l0VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0ZpbmQuY3BwCkBAIC0wLDAg
KzEsODMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiVGVzdC5oIgorCisjaW5jbHVkZSAiUGxh
dGZvcm1VdGlsaXRpZXMuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVdlYlZpZXcuaCIKKyNpbmNsdWRl
IDxXZWJLaXQyL1dLUmV0YWluUHRyLmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XZWJLaXQyLmg+CisK
K25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKKworc3RhdGljIGJvb2wgZGlkRmluaXNoTG9hZCA9
IGZhbHNlOworc3RhdGljIGJvb2wgZGlkQ2FsbENvdW50U3RyaW5nTWF0Y2hlcyA9IGZhbHNlOwor
CitzdGF0aWMgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLRnJh
bWVSZWYgZnJhbWUsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykK
K3sKKyAgICBkaWRGaW5pc2hMb2FkID0gdHJ1ZTsKK30KKworc3RhdGljIHZvaWQgZGlkQ291bnRT
dHJpbmdNYXRjaGVzKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBzdHJpbmcsIHVuc2lnbmVk
IG51bU1hdGNoZXMsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit7CisgICAgVEVTVF9BU1NFUlQo
V0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhzdHJpbmcsICJIZWxsbyIpKTsKKyAgICBURVNU
X0FTU0VSVChudW1NYXRjaGVzID09IDMpOworCisgICAgZGlkQ2FsbENvdW50U3RyaW5nTWF0Y2hl
cyA9IHRydWU7Cit9CisKK1RFU1QoV2ViS2l0MiwgRmluZCkKK3sKKyAgICBXS1JldGFpblB0cjxX
S0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRXSywgV0tDb250ZXh0Q3JlYXRlKCkpOworICAgIFdL
UmV0YWluUHRyPFdLUGFnZU5hbWVzcGFjZVJlZj4gcGFnZU5hbWVzcGFjZShBZG9wdFdLLCBXS1Bh
Z2VOYW1lc3BhY2VDcmVhdGUoY29udGV4dC5nZXQoKSkpOworICAgIAorICAgIFBsYXRmb3JtV2Vi
VmlldyB3ZWJWaWV3KHBhZ2VOYW1lc3BhY2UuZ2V0KCkpOworICAgIAorICAgIFdLUGFnZUxvYWRl
ckNsaWVudCBsb2FkZXJDbGllbnQ7CisgICAgbWVtc2V0KCZsb2FkZXJDbGllbnQsIDAsIHNpemVv
Zihsb2FkZXJDbGllbnQpKTsKKyAgICAKKyAgICBsb2FkZXJDbGllbnQudmVyc2lvbiA9IDA7Cisg
ICAgbG9hZGVyQ2xpZW50LmRpZEZpbmlzaExvYWRGb3JGcmFtZSA9IGRpZEZpbmlzaExvYWRGb3JG
cmFtZTsKKyAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAmbG9h
ZGVyQ2xpZW50KTsKKworICAgIFdLUGFnZUZpbmRDbGllbnQgZmluZENsaWVudDsKKyAgICBtZW1z
ZXQoJmZpbmRDbGllbnQsIDAsIHNpemVvZihmaW5kQ2xpZW50KSk7CisKKyAgICBmaW5kQ2xpZW50
LnZlcnNpb24gPSAwOworICAgIGZpbmRDbGllbnQuZGlkQ291bnRTdHJpbmdNYXRjaGVzID0gZGlk
Q291bnRTdHJpbmdNYXRjaGVzOworICAgIFdLUGFnZVNldFBhZ2VGaW5kQ2xpZW50KHdlYlZpZXcu
cGFnZSgpLCAmZmluZENsaWVudCk7CisKKyAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gdXJsKEFk
b3B0V0ssIFV0aWw6OmNyZWF0ZVVSTEZvclJlc291cmNlKCJmaW5kIiwgImh0bWwiKSk7CisgICAg
V0tQYWdlTG9hZFVSTCh3ZWJWaWV3LnBhZ2UoKSwgdXJsLmdldCgpKTsKKworICAgIFV0aWw6OnJ1
bigmZGlkRmluaXNoTG9hZCk7CisKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gZmluZFN0
cmluZyhBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSGVsbG8iKSk7Cisg
ICAgV0tQYWdlQ291bnRTdHJpbmdNYXRjaGVzKHdlYlZpZXcucGFnZSgpLCBmaW5kU3RyaW5nLmdl
dCgpLCB0cnVlLCAxMDApOworCisgICAgVXRpbDo6cnVuKCZkaWRDYWxsQ291bnRTdHJpbmdNYXRj
aGVzKTsKK30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL2ZpbmQuaHRtbCBiL1dlYktpdFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9maW5kLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDk2
NTkxMTlkNDQwYjY1MWJhNjE1MzNlYTQxZWYwNjg2YzU5YmNmMwotLS0gL2Rldi9udWxsCisrKyBi
L1dlYktpdFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9maW5kLmh0bWwKQEAgLTAs
MCArMSw1IEBACis8aHRtbD4KKzxib2R5PgorICBUZXN0IHNlYXJjaC4gSGVsbG8gSGVsbG8gSGVs
bG8hCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="59924"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>