<?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>160302</bug_id>
          
          <creation_ts>2016-07-28 10:49:29 -0700</creation_ts>
          <short_desc>Remove unused check-for-exit-time-destructors, check-for-global-initializers scripts and deploy -Wexit-time-destructors, -Wglobal-constructors clang switches consistently</short_desc>
          <delta_ts>2026-01-12 09:09:21 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=22316</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=22061</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=160195</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=83342</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=22314</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=22315</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>160332</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>dino</cc>
    
    <cc>enrica</cc>
    
    <cc>graouts</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>lforschler</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1215267</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-07-28 10:49:29 -0700</bug_when>
    <thetext>Anders replaced the check-for-exit-time-destructors script with the -Wexit-time-destructors compiler flag and the check-for-global-initializers with the -Wglobal-constructors consistently a while ago.

Now that clang on all supported platforms also supports -Wexit-time-destructors and -Wglobal-constructors, we can remove the scripts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215277</commentid>
    <comment_count>1</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-07-28 11:06:47 -0700</bug_when>
    <thetext>FYI:

check-for-global-initializers was added in r13539:  &lt;https://trac.webkit.org/r13539&gt;
check-for-exit-time-destructors was added in r38100:  &lt;https://trac.webkit.org/r38100&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215302</commentid>
    <comment_count>2</comment_count>
      <attachid>284796</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-07-28 11:29:55 -0700</bug_when>
    <thetext>Created attachment 284796
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215306</commentid>
    <comment_count>3</comment_count>
      <attachid>284796</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-07-28 11:30:38 -0700</bug_when>
    <thetext>Comment on attachment 284796
Patch v1

I&apos;m assuming the new warning flags won&apos;t cause build failures, but let&apos;s check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215308</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-28 11:31:04 -0700</bug_when>
    <thetext>Note that there are important steps to take when updating ANGLE. See http://trac.webkit.org/wiki/UpdatingANGLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215309</commentid>
    <comment_count>5</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-07-28 11:32:13 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 284796 [details]
&gt; Patch v1
&gt; 
&gt; I&apos;m assuming the new warning flags won&apos;t cause build failures, but let&apos;s
&gt; check.

And I was wrong!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215346</commentid>
    <comment_count>6</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-07-28 13:00:11 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Note that there are important steps to take when updating ANGLE. See
&gt; http://trac.webkit.org/wiki/UpdatingANGLE

I&apos;m going to break the ANGLE fixes out into a separate bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215490</commentid>
    <comment_count>7</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-07-28 22:10:19 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #4)
&gt; &gt; Note that there are important steps to take when updating ANGLE. See
&gt; &gt; http://trac.webkit.org/wiki/UpdatingANGLE
&gt; 
&gt; I&apos;m going to break the ANGLE fixes out into a separate bug.

Bug 160332: ANGLE: Fix global constructors and exit-time destructors</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215820</commentid>
    <comment_count>8</comment_count>
      <attachid>284937</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-07-29 21:22:50 -0700</bug_when>
    <thetext>Created attachment 284937
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266737</commentid>
    <comment_count>9</comment_count>
      <attachid>298831</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2017-01-13 19:23:55 -0800</bug_when>
    <thetext>Created attachment 298831
Patch v3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266753</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-01-13 19:42:18 -0800</bug_when>
    <thetext>/Volumes/Data/EWS/WebKit/Tools/DumpRenderTree/mac/DumpRenderTree.mm:180:20: error: declaration requires an exit-time destructor [-Werror,-Wexit-time-destructors]
RefPtr&lt;TestRunner&gt; gTestRunner;
/Volumes/Data/EWS/WebKit/Tools/DumpRenderTree/mac/DumpRenderTree.mm:216:31: error: declaration requires an exit-time destructor [-Werror,-Wexit-time-destructors]
static RetainPtr&lt;CFStringRef&gt; persistentUserStyleSheetLocation;
/Volumes/Data/EWS/WebKit/Tools/DumpRenderTree/mac/DumpRenderTree.mm:217:30: error: declaration requires an exit-time destructor [-Werror,-Wexit-time-destructors]
static std::set&lt;std::string&gt; allowedHosts;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284796</attachid>
            <date>2016-07-28 11:29:55 -0700</date>
            <delta_ts>2016-07-29 21:22:43 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-160302-20160728112843.patch</filename>
            <type>text/plain</type>
            <size>21710</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzODE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggYTJhZDIzNGFkYjMxMzYyZTFmZTAzNjcwNWQyNmY0OTI2NGM0ZDdjZi4uYTBiMjY3ZjNlZGRj
ZDQzN2RhYTU2ZGI4ZTNhNGViNjQ4ZjliNjkxMSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEzIEBACisyMDE2LTA3LTI4ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBh
cHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVudXNlZCBjaGVjay1mb3ItZXhpdC10aW1lLWRl
c3RydWN0b3JzLCBjaGVjay1mb3ItZ2xvYmFsLWluaXRpYWxpemVycyBzY3JpcHRzIGFuZCBkZXBs
b3kgLVdleGl0LXRpbWUtZGVzdHJ1Y3RvcnMsIC1XZ2xvYmFsLWNvbnN0cnVjdG9ycyBjbGFuZyBz
d2l0Y2hlcyBjb25zaXN0ZW50bHkKKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE2MDMw
Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWc6IEFkZCAtV2dsb2JhbC1jb25zdHJ1Y3RvcnMKKyAg
ICAgICAgd2FybmluZyBmbGFnLgorCiAyMDE2LTA3LTEzICBFbnJpY2EgQ2FzdWNjaSAgPGVucmlj
YUBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIHN1cHBvcnRlZCBwbGF0Zm9ybXMgaW4geGNj
b25maWcgZmlsZXMgdG8gbWF0Y2ggdGhlIHNkayBuYW1lcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9n
CmluZGV4IGIxNWRkN2U2NDQwYTZlOWQxOWIxZjlkYzAwMjlkZmIxZDM3ZmZkNDMuLjIxZjRlNDM5
MjI0MjllNzdlMDhiYWYwODIzZjZiMGM3YzE1MTk4N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDE2LTA3LTI4ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBh
cHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVudXNlZCBjaGVjay1mb3ItZXhpdC10aW1lLWRl
c3RydWN0b3JzLCBjaGVjay1mb3ItZ2xvYmFsLWluaXRpYWxpemVycyBzY3JpcHRzIGFuZCBkZXBs
b3kgLVdleGl0LXRpbWUtZGVzdHJ1Y3RvcnMsIC1XZ2xvYmFsLWNvbnN0cnVjdG9ycyBjbGFuZyBz
d2l0Y2hlcyBjb25zaXN0ZW50bHkKKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE2MDMw
Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWc6CisgICAgICAgIC0gQWRkIC1XZXhpdC10aW1lLWRl
c3RydWN0b3JzLCAtV2dsb2JhbC1jb25zdHJ1Y3RvcnMgd2FybmluZworICAgICAgICAgIGZsYWdz
LgorCiAyMDE2LTA3LTI3ICBOaWtpdGEgVmFzaWx5ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFZpc3VhbCBTdHlsZXMgU2lkZWJhciBzaG91bGQgaGF2
ZSBvbmx5IG9uZSBjb2x1bW4gd2hlbiBpdCdzIG5hcnJvdwpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggOGY1NGUyZTFj
ZTRhYjEwYWVmODk4ZmU2NDE2NzgwMjBhNGNiMjlkZS4uOTAwMDUxOWQxYjVkOWI3NjRjMDYxMjYy
MmM3NTY0YjBmMWRmZDlkYiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29u
ZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9D
b25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC00Miw2ICs0Miw3IEBAIEdDQ19XQVJOX1VO
VVNFRF9GVU5DVElPTiA9IFlFUzsKIEdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKIFBS
RUJJTkRJTkcgPSBOTzsKIFNUUklQX0lOU1RBTExFRF9QUk9EVUNUID0gTk87CitXQVJOSU5HX0NG
TEFHUyA9IC1XZXhpdC10aW1lLWRlc3RydWN0b3JzIC1XZ2xvYmFsLWNvbnN0cnVjdG9yczsKIAog
U1VQUE9SVEVEX1BMQVRGT1JNUyA9IGlwaG9uZW9zIGlwaG9uZXNpbXVsYXRvciBtYWNvc3ggYXBw
bGV0dm9zIGFwcGxldHZzaW11bGF0b3Igd2F0Y2hvcyB3YXRjaHNpbXVsYXRvcjsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwppbmRl
eCAxZWE0MzVkYjQ3MjQ3ODY4MmYyNDlkMzZjYjNiZTgwYTgxNWQwNTg3Li42ZmE0OGYwMjlkMjgx
YmQ5MzdjMjllNTNmMzBjY2VjMjNhNjI5NmFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtNDYsNyArNDYsNyBAQCBHQ0Nf
V0FSTl9VTkRFQ0xBUkVEX1NFTEVDVE9SID0gWUVTOwogR0NDX1dBUk5fVU5JTklUSUFMSVpFRF9B
VVRPUyA9IFlFUwogR0NDX1dBUk5fVU5VU0VEX0ZVTkNUSU9OID0gWUVTOwogR0NDX1dBUk5fVU5V
U0VEX1ZBUklBQkxFID0gWUVTCi1XQVJOSU5HX0NGTEFHUyA9IC1XYWxsIC1XIC1XY2hhci1zdWJz
Y3JpcHRzIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XcG9p
bnRlci1hcml0aCAtV3dyaXRlLXN0cmluZ3MgLVduby11bnVzZWQtcGFyYW1ldGVyIC1XZXhpdC10
aW1lLWRlc3RydWN0b3JzOworV0FSTklOR19DRkxBR1MgPSAtV2FsbCAtVyAtV2NoYXItc3Vic2Ny
aXB0cyAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV3BvaW50
ZXItYXJpdGggLVd3cml0ZS1zdHJpbmdzIC1Xbm8tdW51c2VkLXBhcmFtZXRlciAtV2V4aXQtdGlt
ZS1kZXN0cnVjdG9ycyAtV2dsb2JhbC1jb25zdHJ1Y3RvcnM7CiAKIEVOR0lORUVSSU5HX0JVSUxE
X0RFRklORVMgPSAkKEVOR0lORUVSSU5HX0JVSUxEX0RFRklORVNfJChFTkdJTkVFUklOR19CVUlM
RCkpOwogRU5HSU5FRVJJTkdfQlVJTERfREVGSU5FU18xID0gRU5HSU5FRVJJTkdfQlVJTEQ9MTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxMGQ3
NTkyOWUwNzQ5ODY5OTNjNDgxODM5OTJhZTJhYTgxNTQxY2ExLi5jYWQyN2Y2ZTcwNWI3ZTI3MDBk
NTE1ZTJiN2FkMWFjMTQ4ZDdmMmIyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTYtMDctMjggIERhdmlkIEtpbHpl
ciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdW51c2VkIGNoZWNrLWZv
ci1leGl0LXRpbWUtZGVzdHJ1Y3RvcnMsIGNoZWNrLWZvci1nbG9iYWwtaW5pdGlhbGl6ZXJzIHNj
cmlwdHMgYW5kIGRlcGxveSAtV2V4aXQtdGltZS1kZXN0cnVjdG9ycywgLVdnbG9iYWwtY29uc3Ry
dWN0b3JzIGNsYW5nIHN3aXRjaGVzIGNvbnNpc3RlbnRseQorICAgICAgICA8aHR0cHM6Ly93ZWJr
aXQub3JnL2IvMTYwMzAyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogU2NyaXB0cy9jaGVjay1mb3ItZXhpdC10aW1lLWRlc3RydWN0b3JzOiBSZW1v
dmVkLgorICAgICAgICAqIFNjcmlwdHMvY2hlY2stZm9yLWdsb2JhbC1pbml0aWFsaXplcnM6IFJl
bW92ZWQuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvQ29uZmlndXJhdGlvbnMvQmFz
ZS54Y2NvbmZpZzoKKyAgICAgICAgKiBMYXlvdXRUZXN0UmVsYXkvQ29uZmlndXJhdGlvbnMvQmFz
ZS54Y2NvbmZpZzoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9Db25maWd1cmF0aW9ucy9CYXNlLnhj
Y29uZmlnOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2Nv
bmZpZzoKKyAgICAgICAgKiBXZWJFZGl0aW5nVGVzdGVyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNj
b25maWc6CisgICAgICAgICogV2ViS2l0TGF1bmNoZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2Nv
bmZpZzoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNj
b25maWc6CisgICAgICAgIC0gQWRkIC1XZXhpdC10aW1lLWRlc3RydWN0b3JzLCAtV2dsb2JhbC1j
b25zdHJ1Y3RvcnMgd2FybmluZworICAgICAgICAgIGZsYWdzLgorCiAyMDE2LTA3LTI3ICBBbGV4
ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIExheW91dFRlc3RSZWxh
eSBzaG91bGQgd2FpdCBmb3IgV2ViS2l0VGVzdFJ1bm5lckFwcCBpbnN0YWxsYXRpb24gdG8gY29t
cGxldGUKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9Db25maWd1cmF0aW9u
cy9CYXNlLnhjY29uZmlnIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0NvbmZpZ3VyYXRpb25z
L0Jhc2UueGNjb25maWcKaW5kZXggYjgxZTVjODYyMzhkNjJiODgwYWM1ODZkZWE5MDdlZTQ2NWU0
NDRjNi4uN2M5MDAwNGY3YTNmM2VhZmQ4YTEyZmNjY2FhMTZhODNhN2Y1ZjU0NCAxMDA2NDQKLS0t
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcK
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25m
aWcKQEAgLTYzLDcgKzYzLDcgQEAgR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlFUzsK
IC8vIEZJWE1FOiA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMTg1OTA+IER1bXBSZW5kZXJUcmVlIHNo
b3VsZCBidWlsZCB3aXRoIC1Xc2hvcnRlbi02NC10by0zMgogR0NDX1dBUk5fNjRfVE9fMzJfQklU
X0NPTlZFUlNJT05bYXJjaD1hcm02NF0gPSBOTzsKIEdDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05W
RVJTSU9OW2FyY2g9eDg2XzY0XSA9IE5POwotV0FSTklOR19DRkxBR1MgPSAtV2FsbCAtVyAtV25v
LXVudXNlZC1wYXJhbWV0ZXIgLVd1bmRlZgorV0FSTklOR19DRkxBR1MgPSAtV2FsbCAtVyAtV25v
LXVudXNlZC1wYXJhbWV0ZXIgLVd1bmRlZiAtV2V4aXQtdGltZS1kZXN0cnVjdG9ycyAtV2dsb2Jh
bC1jb25zdHJ1Y3RvcnM7CiAKIERFQlVHX0RFRklORVNfZGVidWcgPSA7CiBERUJVR19ERUZJTkVT
X25vcm1hbCA9IE5ERUJVRzsKZGlmZiAtLWdpdCBhL1Rvb2xzL0xheW91dFRlc3RSZWxheS9Db25m
aWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIvVG9vbHMvTGF5b3V0VGVzdFJlbGF5L0NvbmZpZ3Vy
YXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggN2MxMDlkZWRlY2U1M2M2NThiZGYxNGY3YzgwNGY2
NmRmMDA5NmY2OC4uM2IyYWUwN2YwYzE0YmU2MmY4ZDg0YjkwODEwZjNkODA1ZjA3MWM5ZCAxMDA2
NDQKLS0tIGEvVG9vbHMvTGF5b3V0VGVzdFJlbGF5L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25m
aWcKKysrIGIvVG9vbHMvTGF5b3V0VGVzdFJlbGF5L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25m
aWcKQEAgLTQ1LDcgKzQ1LDcgQEAgR0NDX1dBUk5fQUJPVVRfREVQUkVDQVRFRF9GVU5DVElPTlMg
PSBOTwogR0NDX1dBUk5fVU5VU0VEX0ZVTkNUSU9OID0gWUVTCiBHQ0NfV0FSTl9VTlVTRURfVkFS
SUFCTEUgPSBZRVMKIEdDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OW2FyY2g9eDg2XzY0
XSA9IE5POwotV0FSTklOR19DRkxBR1MgPSAtV2FsbCAtVyAtV25vLXVudXNlZC1wYXJhbWV0ZXIg
LVd1bmRlZgorV0FSTklOR19DRkxBR1MgPSAtV2FsbCAtVyAtV25vLXVudXNlZC1wYXJhbWV0ZXIg
LVd1bmRlZiAtV2V4aXQtdGltZS1kZXN0cnVjdG9ycyAtV2dsb2JhbC1jb25zdHJ1Y3RvcnM7CiAK
IERFQlVHX0RFRklORVNfZGVidWcgPSA7CiBERUJVR19ERUZJTkVTX25vcm1hbCA9IE5ERUJVRzsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25m
aWcgYi9Ub29scy9NaW5pQnJvd3Nlci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4
IDYzZTg0MmJmNTA1YTM5ZGMzYWU5ZTdjNDI2MjMzOGUzOGYzZmM5YWIuLmRkNjg5YTQ1MjMzY2Mz
MDM2NGIzODhhOWY1YTQ1YjU5OTlmYjA2NTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2Vy
L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvQ29u
ZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtNTIsNyArNTIsNyBAQCBHQ0NfV0FSTl9VTlVT
RURfVkFSSUFCTEUgPSBZRVMKIENMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZ
RVM7CiBHQ0NfV0FSTl9VTkRFQ0xBUkVEX1NFTEVDVE9SID0gWUVTOwogR0NDX1ZFUlNJT04gPSBj
b20uYXBwbGUuY29tcGlsZXJzLmxsdm0uY2xhbmcuMV8wOwotV0FSTklOR19DRkxBR1MgPSAtV2Fs
bCAtVyAtV25vLXVudXNlZC1wYXJhbWV0ZXIKK1dBUk5JTkdfQ0ZMQUdTID0gLVdhbGwgLVcgLVdu
by11bnVzZWQtcGFyYW1ldGVyIC1XZXhpdC10aW1lLWRlc3RydWN0b3JzIC1XZ2xvYmFsLWNvbnN0
cnVjdG9yczsKIEdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwogCiBTVVBQT1JURURfUExBVEZP
Uk1TID0gaXBob25lb3MgaXBob25lc2ltdWxhdG9yIG1hY29zeCB0dm9zIHR2c2ltdWxhdG9yIHdh
dGNob3Mgd2F0Y2hzaW11bGF0b3I7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2NoZWNrLWZv
ci1leGl0LXRpbWUtZGVzdHJ1Y3RvcnMgYi9Ub29scy9TY3JpcHRzL2NoZWNrLWZvci1leGl0LXRp
bWUtZGVzdHJ1Y3RvcnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IGI5NWFlYzAzNjRh
ZjhlNGEwMTNhMzA4ZDM2MzgwMjkxYjRiNzVlYmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvU2NyaXB0cy9jaGVjay1mb3ItZXhpdC10aW1lLWRl
c3RydWN0b3JzCisrKyAvZGV2L251bGwKQEAgLTEsMTY2ICswLDAgQEAKLSMhL3Vzci9iaW4vcGVy
bAotCi0jIENvcHlyaWdodCAoQykgMjAwNi0yMDA4LCAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSMKLSMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotIyBhcmUgbWV0OgotIyAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0j
ICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotIwotIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSMgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAotIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0jIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotIyBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUwotIyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0jIExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTgotIyBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwotIyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLQot
IyAiY2hlY2stZm9yLWV4aXQtdGltZS1kZXN0cnVjdG9ycyIgc2NyaXB0IGZvciBXZWJLaXQgT3Bl
biBTb3VyY2UgUHJvamVjdAotCi0jIEludGVuZGVkIHRvIGJlIGludm9rZWQgZnJvbSBhbiBYY29k
ZSBidWlsZCBzdGVwIHRvIGNoZWNrIGlmIHRoZXJlIGFyZQotIyBhbnkgZXhpdC10aW1lIGRlc3Ry
dWN0b3JzIGluIGEgdGFyZ2V0LgotCi11c2Ugd2FybmluZ3M7Ci11c2Ugc3RyaWN0OwotCi11c2Ug
RmlsZTo6QmFzZW5hbWU7Ci11c2UgRmlsZTo6U3BlYzsKLXVzZSBHZXRvcHQ6Okxvbmc7Ci0KLXN1
YiB0b3VjaCgkKTsKLXN1YiBwcmludEZ1bmN0aW9ucygkJCk7Ci0KLW15ICRjb3ZlcmFnZUJ1aWxk
OwotbXkgJGV4ZWN1dGFibGVQYXRoOwotbXkgQGZpbGVzOwotbXkgJHNob3dIZWxwOwotbXkgJHRl
bXBEaXI7Ci0KLWlmIChAQVJHVikgewotICAgICMgUnVubmluZyBpbiBpbnRlcmFjdGl2ZSBtb2Rl
IHdpdGggYXJndW1lbnRzLgotICAgIG15ICRyZXN1bHQgPSBHZXRPcHRpb25zKAotICAgICAgICAi
aHxoZWxwIiA9PiBcJHNob3dIZWxwLAotICAgICk7Ci0gICAgJGV4ZWN1dGFibGVQYXRoID0gZ2xv
YihzaGlmdCBAQVJHVik7Ci0KLSAgICBpZiAoISRyZXN1bHQgfHwgJHNob3dIZWxwIHx8IEBBUkdW
ID4gMCkgewotICAgICAgICBwcmludCBTVERFUlIgIkNoZWNrIGZvciBleGl0LXRpbWUgZGVzdHJ1
Y3RvcnMuXG4iOwotICAgICAgICBwcmludCBTVERFUlIgIlVzYWdlOiAiIC4gYmFzZW5hbWUoJDAp
IC4gIiBbb3B0aW9uc10gcGF0aC90by9leGVjdXRhYmxlXG4iOwotICAgICAgICBwcmludCBTVERF
UlIgPDxFTkQ7Ci0gIFstaHwtLWhlbHBdICAgICAgICAgICAgICAgICAgICBzaG93IHRoaXMgaGVs
cCBtZXNzYWdlCi1FTkQKLSAgICAgICAgZXhpdCAxOwotICAgIH0KLQotICAgICR0ZW1wRGlyID0g
RmlsZTo6U3BlYy0+dG1wZGlyKCk7Ci0gICAgQGZpbGVzID0gKCRleGVjdXRhYmxlUGF0aCk7Ci19
IGVsc2UgewotICAgICMgUnVubmluZyBmcm9tIFhjb2RlIGJ1aWxkIHBoYXNlIHNjcmlwdCB3aXRo
IG5vIGFyZ3VtZW50cy4KLSAgICAkY292ZXJhZ2VCdWlsZCA9ICRFTlZ7J1dFQktJVF9DT1ZFUkFH
RV9CVUlMRCd9OwotICAgICRleGVjdXRhYmxlUGF0aCA9ICIkRU5WeydUQVJHRVRfQlVJTERfRElS
J30vJEVOVnsnRVhFQ1VUQUJMRV9QQVRIJ30iOwotICAgICR0ZW1wRGlyID0gJEVOVnsnVEFSR0VU
X1RFTVBfRElSJ307Ci0KLSAgICBteSAkYXJjaCA9ICRFTlZ7J0NVUlJFTlRfQVJDSCd9OwotICAg
IG15ICR2YXJpYW50ID0gJEVOVnsnQ1VSUkVOVF9WQVJJQU5UJ307Ci0gICAgbXkgJGxpc3QgPSAk
RU5WeyJMSU5LX0ZJTEVfTElTVF8ke3ZhcmlhbnR9XyR7YXJjaH0ifTsKLSAgICBvcGVuIExJU1Qs
ICRsaXN0IHx8IGRpZSAiRVJST1I6IENvdWxkIG5vdCBvcGVuICRsaXN0XG4iOwotICAgIEBmaWxl
cyA9IDxMSVNUPjsKLSAgICBjaG9tcCBAZmlsZXM7Ci0gICAgY2xvc2UgTElTVDsKLX0KLQotbXkg
JGJ1aWxkVGltZXN0YW1wUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoJHRlbXBEaXIsIGJhc2Vu
YW1lKCQwKSAuICIudGltZXN0YW1wIik7Ci1teSAkYnVpbGRUaW1lc3RhbXBBZ2UgPSAtTSAkYnVp
bGRUaW1lc3RhbXBQYXRoOwotbXkgJHNjcmlwdEFnZSA9IC1NICQwOwotCi1teSAkc2F3RXJyb3Ig
PSAwOwotCi1mb3IgbXkgJGZpbGUgKHNvcnQgQGZpbGVzKSB7Ci0gICAgaWYgKGRlZmluZWQgJGJ1
aWxkVGltZXN0YW1wQWdlICYmICRidWlsZFRpbWVzdGFtcEFnZSA8ICRzY3JpcHRBZ2UpIHsKLSAg
ICAgICAgbXkgJGZpbGVBZ2UgPSAtTSAkZmlsZTsKLSAgICAgICAgbmV4dCBpZiBkZWZpbmVkICRm
aWxlQWdlICYmICRmaWxlQWdlID4gJGJ1aWxkVGltZXN0YW1wQWdlOwotICAgIH0KLSAgICBpZiAo
IW9wZW4gTk0sICIobm0gJyRmaWxlJyB8IHNlZCAncy9eL1NURE9VVDovJykgMj4mMSB8Iikgewot
ICAgICAgICBwcmludCAiRVJST1I6IENvdWxkIG5vdCBvcGVuICRmaWxlXG4iOwotICAgICAgICAk
c2F3RXJyb3IgPSAxOwotICAgICAgICBuZXh0OwotICAgIH0KLSAgICBteSAkc2F3QXRFeGl0ID0g
MDsKLSAgICBteSAkc2hvcnROYW1lID0gJGZpbGU7Ci0gICAgJHNob3J0TmFtZSA9fiBzLy4qXC8v
LzsKLQotICAgIHdoaWxlICg8Tk0+KSB7Ci0gICAgICAgIGlmICgvXlNURE9VVDovKSB7Ci0gICAg
ICAgICAgICAjIFdpdGggR0MgbG9nZ2luZyBlbmFibGVkIEhlYXAubyBtYXkgY29udGFpbiBmaW5h
bGl6ZXJzLCBzbyB3ZSBpZ25vcmUgdGhlbS4KLSAgICAgICAgICAgICRzYXdBdEV4aXQgPSAxIGlm
ICgvX19fY3hhX2F0ZXhpdC8gJiYgKCRzaG9ydE5hbWUgbmUgIkhlYXAubyIpKTsKLSAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIHByaW50IFNUREVSUiBpZiAkXyBuZSAibm06IG5vIG5hbWUg
bGlzdFxuIjsKLSAgICAgICAgfQotICAgIH0KLSAgICBjbG9zZSBOTTsKLSAgICBuZXh0IHVubGVz
cyAkc2F3QXRFeGl0OwotCi0gICAgJHNhd0Vycm9yID0gMSBpZiBwcmludEZ1bmN0aW9ucygkc2hv
cnROYW1lLCAkZmlsZSk7Ci19Ci0KLWlmICgkc2F3RXJyb3IgYW5kICEkY292ZXJhZ2VCdWlsZCkg
ewotICAgIHByaW50ICJFUlJPUjogVXNlIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxUPiBmcm9tIDx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD5cbiI7Ci0gICAgdW5saW5rICRleGVjdXRhYmxlUGF0aDsKLSAg
ICBleGl0IDE7Ci19Ci0KLXRvdWNoKCRidWlsZFRpbWVzdGFtcFBhdGgpOwotZXhpdCAwOwotCi1z
dWIgdG91Y2goJCkKLXsKLSAgICBteSAoJHBhdGgpID0gQF87Ci0gICAgb3BlbihUT1VDSCwgIj4i
LCAkcGF0aCkgb3IgZGllICIkISI7Ci0gICAgY2xvc2UoVE9VQ0gpOwotfQotCi1zdWIgZGVtYW5n
bGUoJCkKLXsKLSAgICBteSAoJHN5bWJvbCkgPSBAXzsKLSAgICBpZiAoIW9wZW4gRklMVCwgImMr
K2ZpbHQgJHN5bWJvbCB8IikgewotICAgICAgICBwcmludCAiRVJST1I6IENvdWxkIG5vdCBvcGVu
IGMrK2ZpbHRcbiI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgbXkgJHJlc3VsdCA9IDxG
SUxUPjsKLSAgICBjbG9zZSBGSUxUOwotICAgIGNob21wICRyZXN1bHQ7Ci0gICAgcmV0dXJuICRy
ZXN1bHQ7Ci19Ci0KLXN1YiBwcmludEZ1bmN0aW9ucygkJCkKLXsKLSAgICBteSAoJHNob3J0TmFt
ZSwgJHBhdGgpID0gQF87Ci0gICAgaWYgKCFvcGVuIE9UT09MLCAib3Rvb2wgLXRWICckcGF0aCcg
fCIpIHsKLSAgICAgICAgcHJpbnQgIldBUk5JTkc6IENvdWxkIG5vdCBvcGVuICRwYXRoXG4iOwot
ICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0gICAgbXkgJWZ1bmN0aW9uczsKLSAgICBteSAkY3Vy
cmVudFN5bWJvbCA9ICIiOwotICAgIHdoaWxlICg8T1RPT0w+KSB7Ci0gICAgICAgICRjdXJyZW50
U3ltYm9sID0gJDEgaWYgL14oXHcrKTokLzsKLSAgICAgICAgbmV4dCB1bmxlc3MgJGN1cnJlbnRT
eW1ib2w7Ci0gICAgICAgICRmdW5jdGlvbnN7ZGVtYW5nbGUoJGN1cnJlbnRTeW1ib2wpfSA9IDEg
aWYgL19fX2N4YV9hdGV4aXQvOwotICAgIH0KLSAgICBjbG9zZSBPVE9PTDsKLSAgICBteSAkcmVz
dWx0ID0gMDsKLSAgICBmb3IgbXkgJGZ1bmN0aW9uIChzb3J0IGtleXMgJWZ1bmN0aW9ucykgewot
ICAgICAgICBpZiAoISRyZXN1bHQpIHsKLSAgICAgICAgICAgIHByaW50ICJFUlJPUjogJHNob3J0
TmFtZSBoYXMgZXhpdCB0aW1lIGRlc3RydWN0b3JzIGluIGl0ISAoJHBhdGgpXG4iOwotICAgICAg
ICAgICAgJHJlc3VsdCA9IDE7Ci0gICAgICAgIH0KLSAgICAgICAgcHJpbnQgIkVSUk9SOiBJbiBm
dW5jdGlvbiAkZnVuY3Rpb25cbiI7Ci0gICAgfQotICAgIHJldHVybiAkcmVzdWx0OwotfQpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9jaGVjay1mb3ItZ2xvYmFsLWluaXRpYWxpemVycyBiL1Rv
b2xzL1NjcmlwdHMvY2hlY2stZm9yLWdsb2JhbC1pbml0aWFsaXplcnMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNzU1CmluZGV4IDI4Yjc3NzI0MWNhYzc3YWYxMTBmYTBhMjU5MzdmMWQ4NjZkMjVmNjUu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvU2Ny
aXB0cy9jaGVjay1mb3ItZ2xvYmFsLWluaXRpYWxpemVycworKysgL2Rldi9udWxsCkBAIC0xLDE2
MyArMCwwIEBACi0jIS91c3IvYmluL3BlcmwKLQotIyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcs
IDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0jIGFyZSBtZXQ6Ci0jCi0jIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKLSMgMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKLSMgMy4gIE5l
aXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgot
IyAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZAotIyAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSMgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAotIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0jIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSMgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKLSMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotIyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQKLSMgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0jIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0K
LSMgImNoZWNrLWZvci1nbG9iYWwtaW5pdGlhbGl6ZXJzIiBzY3JpcHQgZm9yIFdlYktpdCBPcGVu
IFNvdXJjZSBQcm9qZWN0Ci0KLSMgSW50ZW5kZWQgdG8gYmUgaW52b2tlZCBmcm9tIGFuIFhjb2Rl
IGJ1aWxkIHN0ZXAgdG8gY2hlY2sgaWYgdGhlcmUgYXJlCi0jIGFueSBnbG9iYWwgaW5pdGlhbGl6
ZXJzIGluIGEgdGFyZ2V0LgotCi11c2Ugd2FybmluZ3M7Ci11c2Ugc3RyaWN0OwotCi11c2UgRmls
ZTo6QmFzZW5hbWU7Ci0KLXN1YiB0b3VjaCgkKTsKLXN1YiBkZW1hbmdsZSgkKTsKLQotbXkgJGFy
Y2ggPSAkRU5WeydDVVJSRU5UX0FSQ0gnfTsKLW15ICRjb25maWd1cmF0aW9uID0gJEVOVnsnQ09O
RklHVVJBVElPTid9OwotbXkgJHRhcmdldCA9ICRFTlZ7J1RBUkdFVF9OQU1FJ307Ci1teSAkdmFy
aWFudCA9ICRFTlZ7J0NVUlJFTlRfVkFSSUFOVCd9OwotbXkgJGNvdmVyYWdlQnVpbGQgPSAkRU5W
eydXRUJLSVRfQ09WRVJBR0VfQlVJTEQnfTsKLW15ICRkZWJ1Z1Jvb3QgPSAkRU5WeydXRUJLSVRf
REVCVUdfUk9PVCd9OwotCi1teSAkZXhlY3V0YWJsZVBhdGggPSAiJEVOVnsnVEFSR0VUX0JVSUxE
X0RJUid9LyRFTlZ7J0VYRUNVVEFCTEVfUEFUSCd9IjsKLQotbXkgJGJ1aWxkVGltZXN0YW1wUGF0
aCA9ICRFTlZ7J1RBUkdFVF9URU1QX0RJUid9IC4gIi8iIC4gYmFzZW5hbWUoJDApIC4gIi50aW1l
c3RhbXAiOwotbXkgJGJ1aWxkVGltZXN0YW1wQWdlID0gLU0gJGJ1aWxkVGltZXN0YW1wUGF0aDsK
LW15ICRzY3JpcHRBZ2UgPSAtTSAkMDsKLQotbXkgJGxpc3QgPSAkRU5WeyJMSU5LX0ZJTEVfTElT
VF8ke3ZhcmlhbnR9XyR7YXJjaH0ifTsKLQotaWYgKCFvcGVuIExJU1QsICRsaXN0KSB7Ci0gICAg
cHJpbnQgIkVSUk9SOiBDb3VsZCBub3Qgb3BlbiAkbGlzdFxuIjsKLSAgICBleGl0IDE7Ci19Ci0K
LW15IEBmaWxlcyA9IDxMSVNUPjsKLWNob21wIEBmaWxlczsKLWNsb3NlIExJU1Q7Ci0KLW15ICRz
YXdFcnJvciA9IDA7Ci0KLWZvciBteSAkZmlsZSAoc29ydCBAZmlsZXMpIHsKLSAgICBpZiAoZGVm
aW5lZCAkYnVpbGRUaW1lc3RhbXBBZ2UgJiYgJGJ1aWxkVGltZXN0YW1wQWdlIDwgJHNjcmlwdEFn
ZSkgewotICAgICAgICBteSAkZmlsZUFnZSA9IC1NICRmaWxlOwotICAgICAgICBuZXh0IGlmIGRl
ZmluZWQgJGZpbGVBZ2UgJiYgJGZpbGVBZ2UgPiAkYnVpbGRUaW1lc3RhbXBBZ2U7Ci0gICAgfQot
ICAgIGlmICghb3BlbiBOTSwgIihubSAnJGZpbGUnIHwgc2VkICdzL14vU1RET1VUOi8nKSAyPiYx
IHwiKSB7Ci0gICAgICAgIHByaW50ICJFUlJPUjogQ291bGQgbm90IG9wZW4gJGZpbGVcbiI7Ci0g
ICAgICAgICRzYXdFcnJvciA9IDE7Ci0gICAgICAgIG5leHQ7Ci0gICAgfQotICAgIG15ICRzYXdH
bG9iYWwgPSAwOwotICAgIG15IEBnbG9iYWxzOwotICAgIHdoaWxlICg8Tk0+KSB7Ci0gICAgICAg
IGlmICgvXlNURE9VVDovKSB7Ci0gICAgICAgICAgICBteSAkbGluZSA9ICRfOwotICAgICAgICAg
ICAgaWYgKCRsaW5lID1+IC9fX0dMT0JBTF9fSSguKykkLykgewotICAgICAgICAgICAgICAgICRz
YXdHbG9iYWwgPSAxOwotICAgICAgICAgICAgICAgIHB1c2goQGdsb2JhbHMsIGRlbWFuZ2xlKCQx
KSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBwcmludCBT
VERFUlIgaWYgJF8gbmUgIm5tOiBubyBuYW1lIGxpc3RcbiI7Ci0gICAgICAgIH0KLSAgICB9Ci0g
ICAgY2xvc2UgTk07Ci0gICAgaWYgKCRzYXdHbG9iYWwpIHsKLSAgICAgICAgbXkgJHNob3J0TmFt
ZSA9ICRmaWxlOwotICAgICAgICAkc2hvcnROYW1lID1+IHMvLipcLy8vOwotCi0gICAgICAgICMg
U3BlY2lhbCBjYXNlcyBmb3IgZmlsZXMgdGhhdCBoYXZlIGluaXRpYWxpemVycyBpbiBkZWJ1ZyBi
dWlsZHMuCi0gICAgICAgIGlmICgkY29uZmlndXJhdGlvbiBlcSAiRGVidWciIG9yICR2YXJpYW50
IGVxICJkZWJ1ZyIgb3IgJGRlYnVnUm9vdCkgewotICAgICAgICAgICAgaWYgKCR0YXJnZXQgZXEg
IkphdmFTY3JpcHRDb3JlIikgewotICAgICAgICAgICAgICAgIG5leHQgaWYgJHNob3J0TmFtZSBl
cSAiQWxsSW5PbmVGaWxlLm8iOwotICAgICAgICAgICAgICAgIG5leHQgaWYgJHNob3J0TmFtZSBl
cSAiT3Bjb2RlLm8iOwotICAgICAgICAgICAgICAgIG5leHQgaWYgJHNob3J0TmFtZSBlcSAiU3Ry
dWN0dXJlLm8iOwotICAgICAgICAgICAgICAgIG5leHQgaWYgJHNob3J0TmFtZSBlcSAibm9kZXMu
byI7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoJHRhcmdldCBlcSAiV2ViQ29yZSIp
IHsKLSAgICAgICAgICAgICAgICBuZXh0IGlmICRzaG9ydE5hbWUgZXEgIkJpZGlSdW4ubyI7Ci0g
ICAgICAgICAgICAgICAgbmV4dCBpZiAkc2hvcnROYW1lIGVxICJDYWNoZWRQYWdlLm8iOwotICAg
ICAgICAgICAgICAgIG5leHQgaWYgJHNob3J0TmFtZSBlcSAiQ2FjaGVkUmVzb3VyY2UubyI7Ci0g
ICAgICAgICAgICAgICAgbmV4dCBpZiAkc2hvcnROYW1lIGVxICJGRUdhdXNzaWFuQmx1ci5vIjsK
LSAgICAgICAgICAgICAgICBuZXh0IGlmICRzaG9ydE5hbWUgZXEgIkZyYW1lLm8iOwotICAgICAg
ICAgICAgICAgIG5leHQgaWYgJHNob3J0TmFtZSBlcSAiSlNDdXN0b21TUUxUcmFuc2FjdGlvbkNh
bGxiYWNrLm8iOwotICAgICAgICAgICAgICAgIG5leHQgaWYgJHNob3J0TmFtZSBlcSAiSlNMYXp5
RXZlbnRMaXN0ZW5lci5vIjsKLSAgICAgICAgICAgICAgICBuZXh0IGlmICRzaG9ydE5hbWUgZXEg
Ik5vZGUubyI7Ci0gICAgICAgICAgICAgICAgbmV4dCBpZiAkc2hvcnROYW1lIGVxICJQYWdlLm8i
OwotICAgICAgICAgICAgICAgIG5leHQgaWYgJHNob3J0TmFtZSBlcSAiUmFuZ2UubyI7Ci0gICAg
ICAgICAgICAgICAgbmV4dCBpZiAkc2hvcnROYW1lIGVxICJSZW5kZXJPYmplY3QubyI7Ci0gICAg
ICAgICAgICAgICAgbmV4dCBpZiAkc2hvcnROYW1lIGVxICJTdWJyZXNvdXJjZUxvYWRlci5vIjsK
LSAgICAgICAgICAgICAgICBuZXh0IGlmICRzaG9ydE5hbWUgZXEgIlhNTEh0dHBSZXF1ZXN0Lm8i
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKCR0YXJnZXQgZXEgIldlYktpdCIpIHsK
LSAgICAgICAgICAgICAgICBuZXh0IGlmICRzaG9ydE5hbWUgZXEgIkhvc3RlZE5ldHNjYXBlUGx1
Z2luU3RyZWFtLm8iOwotICAgICAgICAgICAgICAgIG5leHQgaWYgJHNob3J0TmFtZSBlcSAiTmV0
c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm8iOwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
aWYgKCR0YXJnZXQgZXEgIldlYktpdDIiKSB7Ci0gICAgICAgICAgICAgICAgbmV4dCBpZiAkc2hv
cnROYW1lIGVxICJXZWJDb250ZXh0Lm8iOwotICAgICAgICAgICAgICAgIG5leHQgaWYgJHNob3J0
TmFtZSBlcSAiV2ViRnJhbWUubyI7Ci0gICAgICAgICAgICAgICAgbmV4dCBpZiAkc2hvcnROYW1l
IGVxICJXZWJQYWdlLm8iOwotICAgICAgICAgICAgICAgIG5leHQgaWYgJHNob3J0TmFtZSBlcSAi
V2ViUGFnZVByb3h5Lm8iOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgcHJp
bnQgIkVSUk9SOiAkc2hvcnROYW1lIGhhcyBvbmUgb3IgbW9yZSBnbG9iYWwgaW5pdGlhbGl6ZXJz
IGluIGl0ISAoJGZpbGUpLCBuZWFyIEBnbG9iYWxzXG4iOwotICAgICAgICAkc2F3RXJyb3IgPSAx
OwotICAgIH0KLX0KLQotaWYgKCRzYXdFcnJvciBhbmQgISRjb3ZlcmFnZUJ1aWxkKSB7Ci0gICAg
dW5saW5rICRleGVjdXRhYmxlUGF0aDsKLSAgICBleGl0IDE7Ci19Ci0KLXRvdWNoKCRidWlsZFRp
bWVzdGFtcFBhdGgpOwotZXhpdCAwOwotCi1zdWIgdG91Y2goJCkKLXsKLSAgICBteSAoJHBhdGgp
ID0gQF87Ci0gICAgb3BlbihUT1VDSCwgIj4iLCAkcGF0aCkgb3IgZGllICIkISI7Ci0gICAgY2xv
c2UoVE9VQ0gpOwotfQotCi1zdWIgZGVtYW5nbGUoJCkKLXsKLSAgICBteSAoJHN5bWJvbCkgPSBA
XzsKLSAgICBpZiAoIW9wZW4gRklMVCwgImMrK2ZpbHQgJHN5bWJvbCB8IikgewotICAgICAgICBw
cmludCAiRVJST1I6IENvdWxkIG5vdCBvcGVuIGMrK2ZpbHRcbiI7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0gICAgbXkgJHJlc3VsdCA9IDxGSUxUPjsKLSAgICBjbG9zZSBGSUxUOwotICAgIGNo
b21wICRyZXN1bHQ7Ci0gICAgcmV0dXJuICRyZXN1bHQ7Ci19Ci0KZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwppbmRleCBjM2JiZmEzM2Y2ODA5
YjVkNzlmODFhYWEyYTk3ZDU4YzhlYzY5YWVjLi40MjMzMGQzMWM4OWUyYjMyZTg5ZjI0ZDExZTVj
ZTJlNGI4NTYyNzI3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRp
b25zL0Jhc2UueGNjb25maWcKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9u
cy9CYXNlLnhjY29uZmlnCkBAIC02Miw3ICs2Miw3IEBAIENMQU5HX1dBUk5fX0RVUExJQ0FURV9N
RVRIT0RfTUFUQ0ggPSBZRVM7CiBHQ0NfV0FSTl9VTkRFQ0xBUkVEX1NFTEVDVE9SID0gWUVTOwog
R0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT05bYXJjaD1hcm02NF0gPSBOTzsKIEdDQ19X
QVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OW2FyY2g9eDg2XzY0XSA9IE5POwotV0FSTklOR19D
RkxBR1MgPSAtV2FsbCAtVyAtV25vLXVudXNlZC1wYXJhbWV0ZXIKK1dBUk5JTkdfQ0ZMQUdTID0g
LVdhbGwgLVcgLVduby11bnVzZWQtcGFyYW1ldGVyIC1XZXhpdC10aW1lLWRlc3RydWN0b3JzIC1X
Z2xvYmFsLWNvbnN0cnVjdG9yczsKIAogLy8gREVCVUdfREVGSU5FUywgR0NDX09QVElNSVpBVElP
Tl9MRVZFTCwgU1RSSVBfSU5TVEFMTEVEX1BST0RVQ1QgYW5kIERFQURfQ09ERV9TVFJJUFBJTkcg
dmFyeSBiZXR3ZWVuIHRoZSBkZWJ1ZyBhbmQgbm9ybWFsIHZhcmlhbnRzLgogLy8gV2Ugc2V0IHVw
IHRoZSB2YWx1ZXMgZm9yIGVhY2ggdmFyaWFudCBoZXJlLCBhbmQgaGF2ZSB0aGUgRGVidWcgY29u
ZmlndXJhdGlvbiBpbiB0aGUgWGNvZGUgcHJvamVjdCB1c2UgdGhlIF9kZWJ1ZyB2YXJpYW50Lgpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViRWRpdGluZ1Rlc3Rlci9Db25maWd1cmF0aW9ucy9CYXNlLnhj
Y29uZmlnIGIvVG9vbHMvV2ViRWRpdGluZ1Rlc3Rlci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29u
ZmlnCmluZGV4IGJjZDVmYjA1MWE2ZTc5ZTExYzM2YjE2N2ZmY2Y1ZDY0OWZjMDMyNjAuLmQ1ZWQy
ZTJlYWIyY2JjNjlkMTU4MzMwNDhmNDE4NzJlYTYzMmE5MzAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YkVkaXRpbmdUZXN0ZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZworKysgYi9Ub29scy9X
ZWJFZGl0aW5nVGVzdGVyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTUxLDcgKzUx
LDcgQEAgR0NDX1dBUk5fVU5VU0VEX1ZBUklBQkxFID0gWUVTCiBDTEFOR19XQVJOX19EVVBMSUNB
VEVfTUVUSE9EX01BVENIID0gWUVTOwogR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlF
UzsKIEdDQ19WRVJTSU9OID0gY29tLmFwcGxlLmNvbXBpbGVycy5sbHZtLmNsYW5nLjFfMDsKLVdB
Uk5JTkdfQ0ZMQUdTID0gLVdhbGwgLVcgLVduby11bnVzZWQtcGFyYW1ldGVyCitXQVJOSU5HX0NG
TEFHUyA9IC1XYWxsIC1XIC1Xbm8tdW51c2VkLXBhcmFtZXRlciAtV2V4aXQtdGltZS1kZXN0cnVj
dG9ycyAtV2dsb2JhbC1jb25zdHJ1Y3RvcnM7CiBDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7
CiAKIFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SID0gJChUQVJHRVRfTUFDX09TX1hfVkVS
U0lPTl9NQUpPUiQoTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUOnN1ZmZpeDppZGVudGlmaWVyKSk7
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRMYXVuY2hlci9Db25maWd1cmF0aW9ucy9CYXNlLnhj
Y29uZmlnIGIvVG9vbHMvV2ViS2l0TGF1bmNoZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZp
ZwppbmRleCA1ZGYxZGI2YmM2N2JiNjMwZDZiOWY0YjY3MGM0MDBmZjQxNmIxOTRjLi44NGYxZmVh
OTE3ZDY4MTY1YzBhMjg4NjUyYTkzMzg1NGUwOTVhYjNkIDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRMYXVuY2hlci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1Rvb2xzL1dlYktp
dExhdW5jaGVyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTMyLDEwICszMiwxMCBA
QCBHQ0NfVkVSU0lPTiA9IGNvbS5hcHBsZS5jb21waWxlcnMubGx2bS5jbGFuZy4xXzA7CiBNQUNP
U1hfREVQTE9ZTUVOVF9UQVJHRVQgPSAxMC42OwogUFJFQklORElORyA9IE5POwogU0RLUk9PVCA9
IG1hY29zeDsKLVdBUk5JTkdfQ0ZMQUdTID0gLVdhbGw7CitXQVJOSU5HX0NGTEFHUyA9IC1XYWxs
IC1XZXhpdC10aW1lLWRlc3RydWN0b3JzIC1XZ2xvYmFsLWNvbnN0cnVjdG9yczsKIAogRU5BQkxF
X1NQQVJLTEUgPSAwOwogCiBPVEhFUl9DRkxBR1MgPSAkKGluaGVyaXRlZCkgJChBU0FOX09USEVS
X0NGTEFHUyk7CiBPVEhFUl9DUExVU1BMVVNGTEFHUyA9ICQoaW5oZXJpdGVkKSAkKEFTQU5fT1RI
RVJfQ1BMVVNQTFVTRkxBR1MpOwotT1RIRVJfTERGTEFHUyA9ICQoaW5oZXJpdGVkKSAkKEFTQU5f
T1RIRVJfTERGTEFHUyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorT1RIRVJfTERGTEFH
UyA9ICQoaW5oZXJpdGVkKSAkKEFTQU5fT1RIRVJfTERGTEFHUyk7CmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggNGE3MWVi
YTQwNzVjMDEyMWU2NWY1Y2E0YjdjNmEzNzc4NDhjODIyNC4uODNjY2JmMjVmODFiZTUyYjMyNzdh
ZTY5MGI3NjI3ZDBjNmRiNTc5OCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9D
b25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
Q29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtNDYsNyArNDYsNyBAQCBHQ0NfV0FSTl9V
TlVTRURfRlVOQ1RJT04gPSBZRVMKIEdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUwogR0ND
X1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT05bYXJjaD1hcm02NF0gPSBOTzsKIEdDQ19XQVJO
XzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OW2FyY2g9eDg2XzY0XSA9IE5POwotV0FSTklOR19DRkxB
R1MgPSAtV2FsbCAtVyAtV25vLXVudXNlZC1wYXJhbWV0ZXIgLVd1bmRlZgorV0FSTklOR19DRkxB
R1MgPSAtV2FsbCAtVyAtV25vLXVudXNlZC1wYXJhbWV0ZXIgLVd1bmRlZiAtV2V4aXQtdGltZS1k
ZXN0cnVjdG9ycyAtV2dsb2JhbC1jb25zdHJ1Y3RvcnM7CiBHQ0NfUFJFRklYX0hFQURFUiA9IFdl
YktpdFRlc3RSdW5uZXJQcmVmaXguaAogCiBERUJVR19ERUZJTkVTX2RlYnVnID0gOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284937</attachid>
            <date>2016-07-29 21:22:50 -0700</date>
            <delta_ts>2017-01-13 19:23:50 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-160302-20160729212133.patch</filename>
            <type>text/plain</type>
            <size>20309</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzOTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAx
Yjc5OWU0YWUxOGQwM2RmZWZjMmE0MDhhYjVlNGY3NWNjNTYwZmY3Li41Mzc5NDkxMmU4M2VkYTVh
MTA0YjQ5ZGU5MTQzNjFlOThmNTcwYjI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNi0wNy0yOCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29t
PgorCisgICAgICAgIFJlbW92ZSB1bnVzZWQgY2hlY2stZm9yLWV4aXQtdGltZS1kZXN0cnVjdG9y
cywgY2hlY2stZm9yLWdsb2JhbC1pbml0aWFsaXplcnMgc2NyaXB0cyBhbmQgZGVwbG95IC1XZXhp
dC10aW1lLWRlc3RydWN0b3JzLCAtV2dsb2JhbC1jb25zdHJ1Y3RvcnMgY2xhbmcgc3dpdGNoZXMg
Y29uc2lzdGVudGx5CisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8xNjAzMDI+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0
aW9ucy9CYXNlLnhjY29uZmlnOgorICAgICAgICAtIEFkZCAtV2dsb2JhbC1jb25zdHJ1Y3RvcnMg
d2FybmluZyBmbGFnLgorCiAyMDE2LTA3LTI5ICBNYXR0IEJha2VyICA8bWF0dGJha2VyQGFwcGxl
LmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbmFjdGl2ZS9hY3RpdmUgbmV0d29yayBi
YXIgc2VnbWVudHMgb3ZlcmxhcCB3aGVuIGxhdGVuY3kgaXMgemVybwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwppbmRleCAxZWE0MzVk
YjQ3MjQ3ODY4MmYyNDlkMzZjYjNiZTgwYTgxNWQwNTg3Li42ZmE0OGYwMjlkMjgxYmQ5MzdjMjll
NTNmMzBjY2VjMjNhNjI5NmFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ29u
ZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ29u
ZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtNDYsNyArNDYsNyBAQCBHQ0NfV0FSTl9VTkRF
Q0xBUkVEX1NFTEVDVE9SID0gWUVTOwogR0NDX1dBUk5fVU5JTklUSUFMSVpFRF9BVVRPUyA9IFlF
UwogR0NDX1dBUk5fVU5VU0VEX0ZVTkNUSU9OID0gWUVTOwogR0NDX1dBUk5fVU5VU0VEX1ZBUklB
QkxFID0gWUVTCi1XQVJOSU5HX0NGTEFHUyA9IC1XYWxsIC1XIC1XY2hhci1zdWJzY3JpcHRzIC1X
Zm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XcG9pbnRlci1hcml0
aCAtV3dyaXRlLXN0cmluZ3MgLVduby11bnVzZWQtcGFyYW1ldGVyIC1XZXhpdC10aW1lLWRlc3Ry
dWN0b3JzOworV0FSTklOR19DRkxBR1MgPSAtV2FsbCAtVyAtV2NoYXItc3Vic2NyaXB0cyAtV2Zv
cm1hdC1zZWN1cml0eSAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV3BvaW50ZXItYXJpdGgg
LVd3cml0ZS1zdHJpbmdzIC1Xbm8tdW51c2VkLXBhcmFtZXRlciAtV2V4aXQtdGltZS1kZXN0cnVj
dG9ycyAtV2dsb2JhbC1jb25zdHJ1Y3RvcnM7CiAKIEVOR0lORUVSSU5HX0JVSUxEX0RFRklORVMg
PSAkKEVOR0lORUVSSU5HX0JVSUxEX0RFRklORVNfJChFTkdJTkVFUklOR19CVUlMRCkpOwogRU5H
SU5FRVJJTkdfQlVJTERfREVGSU5FU18xID0gRU5HSU5FRVJJTkdfQlVJTEQ9MTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkOTQwNGFlYWRjYjgy
NGFhMDM5MjBlZGIzMDFjODNhZDViMmMzNjFmLi4yNzE1OWFiZDZhZGQ5MzU3N2ZhNDM1Y2M2YzUz
MWU5ZDk4MGE1NzMzIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTYtMDctMjggIERhdmlkIEtpbHplciAgPGRka2ls
emVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdW51c2VkIGNoZWNrLWZvci1leGl0LXRp
bWUtZGVzdHJ1Y3RvcnMsIGNoZWNrLWZvci1nbG9iYWwtaW5pdGlhbGl6ZXJzIHNjcmlwdHMgYW5k
IGRlcGxveSAtV2V4aXQtdGltZS1kZXN0cnVjdG9ycywgLVdnbG9iYWwtY29uc3RydWN0b3JzIGNs
YW5nIHN3aXRjaGVzIGNvbnNpc3RlbnRseQorICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2Iv
MTYwMzAyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogU2NyaXB0cy9jaGVjay1mb3ItZXhpdC10aW1lLWRlc3RydWN0b3JzOiBSZW1vdmVkLgorICAg
ICAgICAqIFNjcmlwdHMvY2hlY2stZm9yLWdsb2JhbC1pbml0aWFsaXplcnM6IFJlbW92ZWQuCisK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZp
ZzoKKyAgICAgICAgKiBMYXlvdXRUZXN0UmVsYXkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZp
ZzoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnOgor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZzoKKyAg
ICAgICAgKiBXZWJFZGl0aW5nVGVzdGVyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWc6Cisg
ICAgICAgICogV2ViS2l0TGF1bmNoZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZzoKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWc6Cisg
ICAgICAgIC0gTWFrZSB3YXJuaW5nIGZsYWdzIGNvbnNpc3RlbnQgYWNyb3NzIHRvb2xzLgorICAg
ICAgICAtIEFkZCAtV2V4aXQtdGltZS1kZXN0cnVjdG9ycywgLVdnbG9iYWwtY29uc3RydWN0b3Jz
IHdhcm5pbmcKKyAgICAgICAgICBmbGFncy4KKwogMjAxNi0wNy0yOSAgRGF2aWQgS2lsemVyICA8
ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIElnbm9yZSBtb3N0IGNoZWNrLXdlYmtpdC1z
dHlsZSBjaGVja3MgZm9yIEFOR0xFIHByb2plY3QKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL21hYy9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvbWFjL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggYjgxZTVjODYyMzhk
NjJiODgwYWM1ODZkZWE5MDdlZTQ2NWU0NDRjNi4uN2M5MDAwNGY3YTNmM2VhZmQ4YTEyZmNjY2Fh
MTZhODNhN2Y1ZjU0NCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0NvbmZp
Z3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0Nv
bmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTYzLDcgKzYzLDcgQEAgR0NDX1dBUk5fVU5E
RUNMQVJFRF9TRUxFQ1RPUiA9IFlFUzsKIC8vIEZJWE1FOiA8aHR0cDovL3dlYmtpdC5vcmcvYi8x
MTg1OTA+IER1bXBSZW5kZXJUcmVlIHNob3VsZCBidWlsZCB3aXRoIC1Xc2hvcnRlbi02NC10by0z
MgogR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT05bYXJjaD1hcm02NF0gPSBOTzsKIEdD
Q19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OW2FyY2g9eDg2XzY0XSA9IE5POwotV0FSTklO
R19DRkxBR1MgPSAtV2FsbCAtVyAtV25vLXVudXNlZC1wYXJhbWV0ZXIgLVd1bmRlZgorV0FSTklO
R19DRkxBR1MgPSAtV2FsbCAtVyAtV25vLXVudXNlZC1wYXJhbWV0ZXIgLVd1bmRlZiAtV2V4aXQt
dGltZS1kZXN0cnVjdG9ycyAtV2dsb2JhbC1jb25zdHJ1Y3RvcnM7CiAKIERFQlVHX0RFRklORVNf
ZGVidWcgPSA7CiBERUJVR19ERUZJTkVTX25vcm1hbCA9IE5ERUJVRzsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0xheW91dFRlc3RSZWxheS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIvVG9vbHMv
TGF5b3V0VGVzdFJlbGF5L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggN2MxMDlk
ZWRlY2U1M2M2NThiZGYxNGY3YzgwNGY2NmRmMDA5NmY2OC4uM2IyYWUwN2YwYzE0YmU2MmY4ZDg0
YjkwODEwZjNkODA1ZjA3MWM5ZCAxMDA2NDQKLS0tIGEvVG9vbHMvTGF5b3V0VGVzdFJlbGF5L0Nv
bmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvVG9vbHMvTGF5b3V0VGVzdFJlbGF5L0Nv
bmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTQ1LDcgKzQ1LDcgQEAgR0NDX1dBUk5fQUJP
VVRfREVQUkVDQVRFRF9GVU5DVElPTlMgPSBOTwogR0NDX1dBUk5fVU5VU0VEX0ZVTkNUSU9OID0g
WUVTCiBHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVMKIEdDQ19XQVJOXzY0X1RPXzMyX0JJ
VF9DT05WRVJTSU9OW2FyY2g9eDg2XzY0XSA9IE5POwotV0FSTklOR19DRkxBR1MgPSAtV2FsbCAt
VyAtV25vLXVudXNlZC1wYXJhbWV0ZXIgLVd1bmRlZgorV0FSTklOR19DRkxBR1MgPSAtV2FsbCAt
VyAtV25vLXVudXNlZC1wYXJhbWV0ZXIgLVd1bmRlZiAtV2V4aXQtdGltZS1kZXN0cnVjdG9ycyAt
V2dsb2JhbC1jb25zdHJ1Y3RvcnM7CiAKIERFQlVHX0RFRklORVNfZGVidWcgPSA7CiBERUJVR19E
RUZJTkVTX25vcm1hbCA9IE5ERUJVRzsKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL0Nv
bmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9Ub29scy9NaW5pQnJvd3Nlci9Db25maWd1cmF0
aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4IDYzZTg0MmJmNTA1YTM5ZGMzYWU5ZTdjNDI2MjMzOGUz
OGYzZmM5YWIuLmNiY2Y4OWNhNmFiZTg5ZGIwMWUzMjJhMjkzZmMxMmFmZmRmMDAxNDMgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysr
IGIvVG9vbHMvTWluaUJyb3dzZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtNTIs
NyArNTIsNyBAQCBHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVMKIENMQU5HX1dBUk5fX0RV
UExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CiBHQ0NfV0FSTl9VTkRFQ0xBUkVEX1NFTEVDVE9S
ID0gWUVTOwogR0NDX1ZFUlNJT04gPSBjb20uYXBwbGUuY29tcGlsZXJzLmxsdm0uY2xhbmcuMV8w
OwotV0FSTklOR19DRkxBR1MgPSAtV2FsbCAtVyAtV25vLXVudXNlZC1wYXJhbWV0ZXIKK1dBUk5J
TkdfQ0ZMQUdTID0gLVdhbGwgLVcgLVduby11bnVzZWQtcGFyYW1ldGVyIC1XdW5kZWYgLVdleGl0
LXRpbWUtZGVzdHJ1Y3RvcnMgLVdnbG9iYWwtY29uc3RydWN0b3JzOwogR0NDX05PX0NPTU1PTl9C
TE9DS1MgPSBZRVM7CiAKIFNVUFBPUlRFRF9QTEFURk9STVMgPSBpcGhvbmVvcyBpcGhvbmVzaW11
bGF0b3IgbWFjb3N4IHR2b3MgdHZzaW11bGF0b3Igd2F0Y2hvcyB3YXRjaHNpbXVsYXRvcjsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvY2hlY2stZm9yLWV4aXQtdGltZS1kZXN0cnVjdG9ycyBi
L1Rvb2xzL1NjcmlwdHMvY2hlY2stZm9yLWV4aXQtdGltZS1kZXN0cnVjdG9ycwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA3NTUKaW5kZXggYjk1YWVjMDM2NGFmOGU0YTAxM2EzMDhkMzYzODAyOTFiNGI3
NWViYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29s
cy9TY3JpcHRzL2NoZWNrLWZvci1leGl0LXRpbWUtZGVzdHJ1Y3RvcnMKKysrIC9kZXYvbnVsbApA
QCAtMSwxNjYgKzAsMCBAQAotIyEvdXNyL2Jpbi9wZXJsCi0KLSMgQ29weXJpZ2h0IChDKSAyMDA2
LTIwMDgsIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0jIGFyZSBtZXQ6Ci0jIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotIyAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0jCi0jIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycgQU5EIEFOWQotIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0jIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
LSMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0jIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0jIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsKLSMgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCi0jIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0j
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTCi0jIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotCi0jICJjaGVjay1mb3ItZXhpdC10aW1lLWRl
c3RydWN0b3JzIiBzY3JpcHQgZm9yIFdlYktpdCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0KLSMgSW50
ZW5kZWQgdG8gYmUgaW52b2tlZCBmcm9tIGFuIFhjb2RlIGJ1aWxkIHN0ZXAgdG8gY2hlY2sgaWYg
dGhlcmUgYXJlCi0jIGFueSBleGl0LXRpbWUgZGVzdHJ1Y3RvcnMgaW4gYSB0YXJnZXQuCi0KLXVz
ZSB3YXJuaW5nczsKLXVzZSBzdHJpY3Q7Ci0KLXVzZSBGaWxlOjpCYXNlbmFtZTsKLXVzZSBGaWxl
OjpTcGVjOwotdXNlIEdldG9wdDo6TG9uZzsKLQotc3ViIHRvdWNoKCQpOwotc3ViIHByaW50RnVu
Y3Rpb25zKCQkKTsKLQotbXkgJGNvdmVyYWdlQnVpbGQ7Ci1teSAkZXhlY3V0YWJsZVBhdGg7Ci1t
eSBAZmlsZXM7Ci1teSAkc2hvd0hlbHA7Ci1teSAkdGVtcERpcjsKLQotaWYgKEBBUkdWKSB7Ci0g
ICAgIyBSdW5uaW5nIGluIGludGVyYWN0aXZlIG1vZGUgd2l0aCBhcmd1bWVudHMuCi0gICAgbXkg
JHJlc3VsdCA9IEdldE9wdGlvbnMoCi0gICAgICAgICJofGhlbHAiID0+IFwkc2hvd0hlbHAsCi0g
ICAgKTsKLSAgICAkZXhlY3V0YWJsZVBhdGggPSBnbG9iKHNoaWZ0IEBBUkdWKTsKLQotICAgIGlm
ICghJHJlc3VsdCB8fCAkc2hvd0hlbHAgfHwgQEFSR1YgPiAwKSB7Ci0gICAgICAgIHByaW50IFNU
REVSUiAiQ2hlY2sgZm9yIGV4aXQtdGltZSBkZXN0cnVjdG9ycy5cbiI7Ci0gICAgICAgIHByaW50
IFNUREVSUiAiVXNhZ2U6ICIgLiBiYXNlbmFtZSgkMCkgLiAiIFtvcHRpb25zXSBwYXRoL3RvL2V4
ZWN1dGFibGVcbiI7Ci0gICAgICAgIHByaW50IFNUREVSUiA8PEVORDsKLSAgWy1ofC0taGVscF0g
ICAgICAgICAgICAgICAgICAgIHNob3cgdGhpcyBoZWxwIG1lc3NhZ2UKLUVORAotICAgICAgICBl
eGl0IDE7Ci0gICAgfQotCi0gICAgJHRlbXBEaXIgPSBGaWxlOjpTcGVjLT50bXBkaXIoKTsKLSAg
ICBAZmlsZXMgPSAoJGV4ZWN1dGFibGVQYXRoKTsKLX0gZWxzZSB7Ci0gICAgIyBSdW5uaW5nIGZy
b20gWGNvZGUgYnVpbGQgcGhhc2Ugc2NyaXB0IHdpdGggbm8gYXJndW1lbnRzLgotICAgICRjb3Zl
cmFnZUJ1aWxkID0gJEVOVnsnV0VCS0lUX0NPVkVSQUdFX0JVSUxEJ307Ci0gICAgJGV4ZWN1dGFi
bGVQYXRoID0gIiRFTlZ7J1RBUkdFVF9CVUlMRF9ESVInfS8kRU5WeydFWEVDVVRBQkxFX1BBVEgn
fSI7Ci0gICAgJHRlbXBEaXIgPSAkRU5WeydUQVJHRVRfVEVNUF9ESVInfTsKLQotICAgIG15ICRh
cmNoID0gJEVOVnsnQ1VSUkVOVF9BUkNIJ307Ci0gICAgbXkgJHZhcmlhbnQgPSAkRU5WeydDVVJS
RU5UX1ZBUklBTlQnfTsKLSAgICBteSAkbGlzdCA9ICRFTlZ7IkxJTktfRklMRV9MSVNUXyR7dmFy
aWFudH1fJHthcmNofSJ9OwotICAgIG9wZW4gTElTVCwgJGxpc3QgfHwgZGllICJFUlJPUjogQ291
bGQgbm90IG9wZW4gJGxpc3RcbiI7Ci0gICAgQGZpbGVzID0gPExJU1Q+OwotICAgIGNob21wIEBm
aWxlczsKLSAgICBjbG9zZSBMSVNUOwotfQotCi1teSAkYnVpbGRUaW1lc3RhbXBQYXRoID0gRmls
ZTo6U3BlYy0+Y2F0ZmlsZSgkdGVtcERpciwgYmFzZW5hbWUoJDApIC4gIi50aW1lc3RhbXAiKTsK
LW15ICRidWlsZFRpbWVzdGFtcEFnZSA9IC1NICRidWlsZFRpbWVzdGFtcFBhdGg7Ci1teSAkc2Ny
aXB0QWdlID0gLU0gJDA7Ci0KLW15ICRzYXdFcnJvciA9IDA7Ci0KLWZvciBteSAkZmlsZSAoc29y
dCBAZmlsZXMpIHsKLSAgICBpZiAoZGVmaW5lZCAkYnVpbGRUaW1lc3RhbXBBZ2UgJiYgJGJ1aWxk
VGltZXN0YW1wQWdlIDwgJHNjcmlwdEFnZSkgewotICAgICAgICBteSAkZmlsZUFnZSA9IC1NICRm
aWxlOwotICAgICAgICBuZXh0IGlmIGRlZmluZWQgJGZpbGVBZ2UgJiYgJGZpbGVBZ2UgPiAkYnVp
bGRUaW1lc3RhbXBBZ2U7Ci0gICAgfQotICAgIGlmICghb3BlbiBOTSwgIihubSAnJGZpbGUnIHwg
c2VkICdzL14vU1RET1VUOi8nKSAyPiYxIHwiKSB7Ci0gICAgICAgIHByaW50ICJFUlJPUjogQ291
bGQgbm90IG9wZW4gJGZpbGVcbiI7Ci0gICAgICAgICRzYXdFcnJvciA9IDE7Ci0gICAgICAgIG5l
eHQ7Ci0gICAgfQotICAgIG15ICRzYXdBdEV4aXQgPSAwOwotICAgIG15ICRzaG9ydE5hbWUgPSAk
ZmlsZTsKLSAgICAkc2hvcnROYW1lID1+IHMvLipcLy8vOwotCi0gICAgd2hpbGUgKDxOTT4pIHsK
LSAgICAgICAgaWYgKC9eU1RET1VUOi8pIHsKLSAgICAgICAgICAgICMgV2l0aCBHQyBsb2dnaW5n
IGVuYWJsZWQgSGVhcC5vIG1heSBjb250YWluIGZpbmFsaXplcnMsIHNvIHdlIGlnbm9yZSB0aGVt
LgotICAgICAgICAgICAgJHNhd0F0RXhpdCA9IDEgaWYgKC9fX19jeGFfYXRleGl0LyAmJiAoJHNo
b3J0TmFtZSBuZSAiSGVhcC5vIikpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgcHJp
bnQgU1RERVJSIGlmICRfIG5lICJubTogbm8gbmFtZSBsaXN0XG4iOwotICAgICAgICB9Ci0gICAg
fQotICAgIGNsb3NlIE5NOwotICAgIG5leHQgdW5sZXNzICRzYXdBdEV4aXQ7Ci0KLSAgICAkc2F3
RXJyb3IgPSAxIGlmIHByaW50RnVuY3Rpb25zKCRzaG9ydE5hbWUsICRmaWxlKTsKLX0KLQotaWYg
KCRzYXdFcnJvciBhbmQgISRjb3ZlcmFnZUJ1aWxkKSB7Ci0gICAgcHJpbnQgIkVSUk9SOiBVc2Ug
c3RhdGljIE5ldmVyRGVzdHJveWVkPFQ+IGZyb20gPHd0Zi9OZXZlckRlc3Ryb3llZC5oPlxuIjsK
LSAgICB1bmxpbmsgJGV4ZWN1dGFibGVQYXRoOwotICAgIGV4aXQgMTsKLX0KLQotdG91Y2goJGJ1
aWxkVGltZXN0YW1wUGF0aCk7Ci1leGl0IDA7Ci0KLXN1YiB0b3VjaCgkKQotewotICAgIG15ICgk
cGF0aCkgPSBAXzsKLSAgICBvcGVuKFRPVUNILCAiPiIsICRwYXRoKSBvciBkaWUgIiQhIjsKLSAg
ICBjbG9zZShUT1VDSCk7Ci19Ci0KLXN1YiBkZW1hbmdsZSgkKQotewotICAgIG15ICgkc3ltYm9s
KSA9IEBfOwotICAgIGlmICghb3BlbiBGSUxULCAiYysrZmlsdCAkc3ltYm9sIHwiKSB7Ci0gICAg
ICAgIHByaW50ICJFUlJPUjogQ291bGQgbm90IG9wZW4gYysrZmlsdFxuIjsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLSAgICBteSAkcmVzdWx0ID0gPEZJTFQ+OwotICAgIGNsb3NlIEZJTFQ7Ci0g
ICAgY2hvbXAgJHJlc3VsdDsKLSAgICByZXR1cm4gJHJlc3VsdDsKLX0KLQotc3ViIHByaW50RnVu
Y3Rpb25zKCQkKQotewotICAgIG15ICgkc2hvcnROYW1lLCAkcGF0aCkgPSBAXzsKLSAgICBpZiAo
IW9wZW4gT1RPT0wsICJvdG9vbCAtdFYgJyRwYXRoJyB8IikgewotICAgICAgICBwcmludCAiV0FS
TklORzogQ291bGQgbm90IG9wZW4gJHBhdGhcbiI7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0K
LSAgICBteSAlZnVuY3Rpb25zOwotICAgIG15ICRjdXJyZW50U3ltYm9sID0gIiI7Ci0gICAgd2hp
bGUgKDxPVE9PTD4pIHsKLSAgICAgICAgJGN1cnJlbnRTeW1ib2wgPSAkMSBpZiAvXihcdyspOiQv
OwotICAgICAgICBuZXh0IHVubGVzcyAkY3VycmVudFN5bWJvbDsKLSAgICAgICAgJGZ1bmN0aW9u
c3tkZW1hbmdsZSgkY3VycmVudFN5bWJvbCl9ID0gMSBpZiAvX19fY3hhX2F0ZXhpdC87Ci0gICAg
fQotICAgIGNsb3NlIE9UT09MOwotICAgIG15ICRyZXN1bHQgPSAwOwotICAgIGZvciBteSAkZnVu
Y3Rpb24gKHNvcnQga2V5cyAlZnVuY3Rpb25zKSB7Ci0gICAgICAgIGlmICghJHJlc3VsdCkgewot
ICAgICAgICAgICAgcHJpbnQgIkVSUk9SOiAkc2hvcnROYW1lIGhhcyBleGl0IHRpbWUgZGVzdHJ1
Y3RvcnMgaW4gaXQhICgkcGF0aClcbiI7Ci0gICAgICAgICAgICAkcmVzdWx0ID0gMTsKLSAgICAg
ICAgfQotICAgICAgICBwcmludCAiRVJST1I6IEluIGZ1bmN0aW9uICRmdW5jdGlvblxuIjsKLSAg
ICB9Ci0gICAgcmV0dXJuICRyZXN1bHQ7Ci19CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2No
ZWNrLWZvci1nbG9iYWwtaW5pdGlhbGl6ZXJzIGIvVG9vbHMvU2NyaXB0cy9jaGVjay1mb3ItZ2xv
YmFsLWluaXRpYWxpemVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMjhiNzc3MjQx
Y2FjNzdhZjExMGZhMGEyNTkzN2YxZDg2NmQyNWY2NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL2NoZWNrLWZvci1nbG9iYWwtaW5p
dGlhbGl6ZXJzCisrKyAvZGV2L251bGwKQEAgLTEsMTYzICswLDAgQEAKLSMhL3Vzci9iaW4vcGVy
bAotCi0jIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0jCi0jIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSMgYXJlIG1ldDoKLSMK
LSMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAotIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uIAotIyAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBJ
bmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCi0jICAgICBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0jICAgICBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uIAotIwotIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0jIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKLSMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotIyBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotIyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7Ci0jIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotIyBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
IyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YKLSMgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLQotIyAiY2hlY2stZm9yLWdsb2JhbC1pbml0
aWFsaXplcnMiIHNjcmlwdCBmb3IgV2ViS2l0IE9wZW4gU291cmNlIFByb2plY3QKLQotIyBJbnRl
bmRlZCB0byBiZSBpbnZva2VkIGZyb20gYW4gWGNvZGUgYnVpbGQgc3RlcCB0byBjaGVjayBpZiB0
aGVyZSBhcmUKLSMgYW55IGdsb2JhbCBpbml0aWFsaXplcnMgaW4gYSB0YXJnZXQuCi0KLXVzZSB3
YXJuaW5nczsKLXVzZSBzdHJpY3Q7Ci0KLXVzZSBGaWxlOjpCYXNlbmFtZTsKLQotc3ViIHRvdWNo
KCQpOwotc3ViIGRlbWFuZ2xlKCQpOwotCi1teSAkYXJjaCA9ICRFTlZ7J0NVUlJFTlRfQVJDSCd9
OwotbXkgJGNvbmZpZ3VyYXRpb24gPSAkRU5WeydDT05GSUdVUkFUSU9OJ307Ci1teSAkdGFyZ2V0
ID0gJEVOVnsnVEFSR0VUX05BTUUnfTsKLW15ICR2YXJpYW50ID0gJEVOVnsnQ1VSUkVOVF9WQVJJ
QU5UJ307Ci1teSAkY292ZXJhZ2VCdWlsZCA9ICRFTlZ7J1dFQktJVF9DT1ZFUkFHRV9CVUlMRCd9
OwotbXkgJGRlYnVnUm9vdCA9ICRFTlZ7J1dFQktJVF9ERUJVR19ST09UJ307Ci0KLW15ICRleGVj
dXRhYmxlUGF0aCA9ICIkRU5WeydUQVJHRVRfQlVJTERfRElSJ30vJEVOVnsnRVhFQ1VUQUJMRV9Q
QVRIJ30iOwotCi1teSAkYnVpbGRUaW1lc3RhbXBQYXRoID0gJEVOVnsnVEFSR0VUX1RFTVBfRElS
J30gLiAiLyIgLiBiYXNlbmFtZSgkMCkgLiAiLnRpbWVzdGFtcCI7Ci1teSAkYnVpbGRUaW1lc3Rh
bXBBZ2UgPSAtTSAkYnVpbGRUaW1lc3RhbXBQYXRoOwotbXkgJHNjcmlwdEFnZSA9IC1NICQwOwot
Ci1teSAkbGlzdCA9ICRFTlZ7IkxJTktfRklMRV9MSVNUXyR7dmFyaWFudH1fJHthcmNofSJ9Owot
Ci1pZiAoIW9wZW4gTElTVCwgJGxpc3QpIHsKLSAgICBwcmludCAiRVJST1I6IENvdWxkIG5vdCBv
cGVuICRsaXN0XG4iOwotICAgIGV4aXQgMTsKLX0KLQotbXkgQGZpbGVzID0gPExJU1Q+OwotY2hv
bXAgQGZpbGVzOwotY2xvc2UgTElTVDsKLQotbXkgJHNhd0Vycm9yID0gMDsKLQotZm9yIG15ICRm
aWxlIChzb3J0IEBmaWxlcykgewotICAgIGlmIChkZWZpbmVkICRidWlsZFRpbWVzdGFtcEFnZSAm
JiAkYnVpbGRUaW1lc3RhbXBBZ2UgPCAkc2NyaXB0QWdlKSB7Ci0gICAgICAgIG15ICRmaWxlQWdl
ID0gLU0gJGZpbGU7Ci0gICAgICAgIG5leHQgaWYgZGVmaW5lZCAkZmlsZUFnZSAmJiAkZmlsZUFn
ZSA+ICRidWlsZFRpbWVzdGFtcEFnZTsKLSAgICB9Ci0gICAgaWYgKCFvcGVuIE5NLCAiKG5tICck
ZmlsZScgfCBzZWQgJ3MvXi9TVERPVVQ6LycpIDI+JjEgfCIpIHsKLSAgICAgICAgcHJpbnQgIkVS
Uk9SOiBDb3VsZCBub3Qgb3BlbiAkZmlsZVxuIjsKLSAgICAgICAgJHNhd0Vycm9yID0gMTsKLSAg
ICAgICAgbmV4dDsKLSAgICB9Ci0gICAgbXkgJHNhd0dsb2JhbCA9IDA7Ci0gICAgbXkgQGdsb2Jh
bHM7Ci0gICAgd2hpbGUgKDxOTT4pIHsKLSAgICAgICAgaWYgKC9eU1RET1VUOi8pIHsKLSAgICAg
ICAgICAgIG15ICRsaW5lID0gJF87Ci0gICAgICAgICAgICBpZiAoJGxpbmUgPX4gL19fR0xPQkFM
X19JKC4rKSQvKSB7Ci0gICAgICAgICAgICAgICAgJHNhd0dsb2JhbCA9IDE7Ci0gICAgICAgICAg
ICAgICAgcHVzaChAZ2xvYmFscywgZGVtYW5nbGUoJDEpKTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHByaW50IFNUREVSUiBpZiAkXyBuZSAibm06IG5vIG5h
bWUgbGlzdFxuIjsKLSAgICAgICAgfQotICAgIH0KLSAgICBjbG9zZSBOTTsKLSAgICBpZiAoJHNh
d0dsb2JhbCkgewotICAgICAgICBteSAkc2hvcnROYW1lID0gJGZpbGU7Ci0gICAgICAgICRzaG9y
dE5hbWUgPX4gcy8uKlwvLy87Ci0KLSAgICAgICAgIyBTcGVjaWFsIGNhc2VzIGZvciBmaWxlcyB0
aGF0IGhhdmUgaW5pdGlhbGl6ZXJzIGluIGRlYnVnIGJ1aWxkcy4KLSAgICAgICAgaWYgKCRjb25m
aWd1cmF0aW9uIGVxICJEZWJ1ZyIgb3IgJHZhcmlhbnQgZXEgImRlYnVnIiBvciAkZGVidWdSb290
KSB7Ci0gICAgICAgICAgICBpZiAoJHRhcmdldCBlcSAiSmF2YVNjcmlwdENvcmUiKSB7Ci0gICAg
ICAgICAgICAgICAgbmV4dCBpZiAkc2hvcnROYW1lIGVxICJBbGxJbk9uZUZpbGUubyI7Ci0gICAg
ICAgICAgICAgICAgbmV4dCBpZiAkc2hvcnROYW1lIGVxICJPcGNvZGUubyI7Ci0gICAgICAgICAg
ICAgICAgbmV4dCBpZiAkc2hvcnROYW1lIGVxICJTdHJ1Y3R1cmUubyI7Ci0gICAgICAgICAgICAg
ICAgbmV4dCBpZiAkc2hvcnROYW1lIGVxICJub2Rlcy5vIjsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIGlmICgkdGFyZ2V0IGVxICJXZWJDb3JlIikgewotICAgICAgICAgICAgICAgIG5leHQg
aWYgJHNob3J0TmFtZSBlcSAiQmlkaVJ1bi5vIjsKLSAgICAgICAgICAgICAgICBuZXh0IGlmICRz
aG9ydE5hbWUgZXEgIkNhY2hlZFBhZ2UubyI7Ci0gICAgICAgICAgICAgICAgbmV4dCBpZiAkc2hv
cnROYW1lIGVxICJDYWNoZWRSZXNvdXJjZS5vIjsKLSAgICAgICAgICAgICAgICBuZXh0IGlmICRz
aG9ydE5hbWUgZXEgIkZFR2F1c3NpYW5CbHVyLm8iOwotICAgICAgICAgICAgICAgIG5leHQgaWYg
JHNob3J0TmFtZSBlcSAiRnJhbWUubyI7Ci0gICAgICAgICAgICAgICAgbmV4dCBpZiAkc2hvcnRO
YW1lIGVxICJKU0N1c3RvbVNRTFRyYW5zYWN0aW9uQ2FsbGJhY2subyI7Ci0gICAgICAgICAgICAg
ICAgbmV4dCBpZiAkc2hvcnROYW1lIGVxICJKU0xhenlFdmVudExpc3RlbmVyLm8iOwotICAgICAg
ICAgICAgICAgIG5leHQgaWYgJHNob3J0TmFtZSBlcSAiTm9kZS5vIjsKLSAgICAgICAgICAgICAg
ICBuZXh0IGlmICRzaG9ydE5hbWUgZXEgIlBhZ2UubyI7Ci0gICAgICAgICAgICAgICAgbmV4dCBp
ZiAkc2hvcnROYW1lIGVxICJSYW5nZS5vIjsKLSAgICAgICAgICAgICAgICBuZXh0IGlmICRzaG9y
dE5hbWUgZXEgIlJlbmRlck9iamVjdC5vIjsKLSAgICAgICAgICAgICAgICBuZXh0IGlmICRzaG9y
dE5hbWUgZXEgIlN1YnJlc291cmNlTG9hZGVyLm8iOwotICAgICAgICAgICAgICAgIG5leHQgaWYg
JHNob3J0TmFtZSBlcSAiWE1MSHR0cFJlcXVlc3QubyI7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBpZiAoJHRhcmdldCBlcSAiV2ViS2l0IikgewotICAgICAgICAgICAgICAgIG5leHQgaWYg
JHNob3J0TmFtZSBlcSAiSG9zdGVkTmV0c2NhcGVQbHVnaW5TdHJlYW0ubyI7Ci0gICAgICAgICAg
ICAgICAgbmV4dCBpZiAkc2hvcnROYW1lIGVxICJOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHku
byI7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoJHRhcmdldCBlcSAiV2ViS2l0MiIp
IHsKLSAgICAgICAgICAgICAgICBuZXh0IGlmICRzaG9ydE5hbWUgZXEgIldlYkNvbnRleHQubyI7
Ci0gICAgICAgICAgICAgICAgbmV4dCBpZiAkc2hvcnROYW1lIGVxICJXZWJGcmFtZS5vIjsKLSAg
ICAgICAgICAgICAgICBuZXh0IGlmICRzaG9ydE5hbWUgZXEgIldlYlBhZ2UubyI7Ci0gICAgICAg
ICAgICAgICAgbmV4dCBpZiAkc2hvcnROYW1lIGVxICJXZWJQYWdlUHJveHkubyI7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICBwcmludCAiRVJST1I6ICRzaG9ydE5hbWUgaGFz
IG9uZSBvciBtb3JlIGdsb2JhbCBpbml0aWFsaXplcnMgaW4gaXQhICgkZmlsZSksIG5lYXIgQGds
b2JhbHNcbiI7Ci0gICAgICAgICRzYXdFcnJvciA9IDE7Ci0gICAgfQotfQotCi1pZiAoJHNhd0Vy
cm9yIGFuZCAhJGNvdmVyYWdlQnVpbGQpIHsKLSAgICB1bmxpbmsgJGV4ZWN1dGFibGVQYXRoOwot
ICAgIGV4aXQgMTsKLX0KLQotdG91Y2goJGJ1aWxkVGltZXN0YW1wUGF0aCk7Ci1leGl0IDA7Ci0K
LXN1YiB0b3VjaCgkKQotewotICAgIG15ICgkcGF0aCkgPSBAXzsKLSAgICBvcGVuKFRPVUNILCAi
PiIsICRwYXRoKSBvciBkaWUgIiQhIjsKLSAgICBjbG9zZShUT1VDSCk7Ci19Ci0KLXN1YiBkZW1h
bmdsZSgkKQotewotICAgIG15ICgkc3ltYm9sKSA9IEBfOwotICAgIGlmICghb3BlbiBGSUxULCAi
YysrZmlsdCAkc3ltYm9sIHwiKSB7Ci0gICAgICAgIHByaW50ICJFUlJPUjogQ291bGQgbm90IG9w
ZW4gYysrZmlsdFxuIjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBteSAkcmVzdWx0ID0g
PEZJTFQ+OwotICAgIGNsb3NlIEZJTFQ7Ci0gICAgY2hvbXAgJHJlc3VsdDsKLSAgICByZXR1cm4g
JHJlc3VsdDsKLX0KLQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0
aW9ucy9CYXNlLnhjY29uZmlnIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9C
YXNlLnhjY29uZmlnCmluZGV4IDhiMGY5MDZlMzBlYmZlYmY2YWE3OWY2MWZiZmM2ZDI5YmFjYzIy
ZDIuLmUwOWRjMjA0NzdmOTJjMTUyMmVhZmE5YTBmNmZiYjk1YmU3NDEzOGMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZworKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTYyLDcg
KzYyLDcgQEAgQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKIEdDQ19X
QVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CiBHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09O
VkVSU0lPTlthcmNoPWFybTY0XSA9IE5POwogR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJ
T05bYXJjaD14ODZfNjRdID0gTk87Ci1XQVJOSU5HX0NGTEFHUyA9IC1XYWxsIC1XIC1Xbm8tdW51
c2VkLXBhcmFtZXRlcgorV0FSTklOR19DRkxBR1MgPSAtV2FsbCAtVyAtV25vLXVudXNlZC1wYXJh
bWV0ZXIgLVd1bmRlZiAtV2V4aXQtdGltZS1kZXN0cnVjdG9ycyAtV2dsb2JhbC1jb25zdHJ1Y3Rv
cnM7CiAKIC8vIERFQlVHX0RFRklORVMsIEdDQ19PUFRJTUlaQVRJT05fTEVWRUwsIFNUUklQX0lO
U1RBTExFRF9QUk9EVUNUIGFuZCBERUFEX0NPREVfU1RSSVBQSU5HIHZhcnkgYmV0d2VlbiB0aGUg
ZGVidWcgYW5kIG5vcm1hbCB2YXJpYW50cy4KIC8vIFdlIHNldCB1cCB0aGUgdmFsdWVzIGZvciBl
YWNoIHZhcmlhbnQgaGVyZSwgYW5kIGhhdmUgdGhlIERlYnVnIGNvbmZpZ3VyYXRpb24gaW4gdGhl
IFhjb2RlIHByb2plY3QgdXNlIHRoZSBfZGVidWcgdmFyaWFudC4KZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYkVkaXRpbmdUZXN0ZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1Rvb2xzL1dl
YkVkaXRpbmdUZXN0ZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwppbmRleCBiY2Q1ZmIw
NTFhNmU3OWUxMWMzNmIxNjdmZmNmNWQ2NDlmYzAzMjYwLi4zYTBkYjNlNjI5YzljOTcxZTAwN2Y4
MGExYjU5MjZjYzZmOTJiZTdjIDEwMDY0NAotLS0gYS9Ub29scy9XZWJFZGl0aW5nVGVzdGVyL0Nv
bmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvVG9vbHMvV2ViRWRpdGluZ1Rlc3Rlci9D
b25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC01MSw3ICs1MSw3IEBAIEdDQ19XQVJOX1VO
VVNFRF9WQVJJQUJMRSA9IFlFUwogQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9
IFlFUzsKIEdDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CiBHQ0NfVkVSU0lPTiA9
IGNvbS5hcHBsZS5jb21waWxlcnMubGx2bS5jbGFuZy4xXzA7Ci1XQVJOSU5HX0NGTEFHUyA9IC1X
YWxsIC1XIC1Xbm8tdW51c2VkLXBhcmFtZXRlcgorV0FSTklOR19DRkxBR1MgPSAtV2FsbCAtVyAt
V25vLXVudXNlZC1wYXJhbWV0ZXIgLVd1bmRlZiAtV2V4aXQtdGltZS1kZXN0cnVjdG9ycyAtV2ds
b2JhbC1jb25zdHJ1Y3RvcnM7CiBDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7CiAKIFRBUkdF
VF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SID0gJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpP
UiQoTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUOnN1ZmZpeDppZGVudGlmaWVyKSk7CmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRMYXVuY2hlci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIv
VG9vbHMvV2ViS2l0TGF1bmNoZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwppbmRleCA1
ZGYxZGI2YmM2N2JiNjMwZDZiOWY0YjY3MGM0MDBmZjQxNmIxOTRjLi4zNWNlNzZjYTA4N2I2MDZh
MjhiOTkyYTljNDAwMjZkZGVjMTIwOTNmIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRMYXVuY2hl
ci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1Rvb2xzL1dlYktpdExhdW5jaGVy
L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTMyLDEwICszMiwxMCBAQCBHQ0NfVkVS
U0lPTiA9IGNvbS5hcHBsZS5jb21waWxlcnMubGx2bS5jbGFuZy4xXzA7CiBNQUNPU1hfREVQTE9Z
TUVOVF9UQVJHRVQgPSAxMC42OwogUFJFQklORElORyA9IE5POwogU0RLUk9PVCA9IG1hY29zeDsK
LVdBUk5JTkdfQ0ZMQUdTID0gLVdhbGw7CitXQVJOSU5HX0NGTEFHUyA9IC1XYWxsIC1XIC1Xbm8t
dW51c2VkLXBhcmFtZXRlciAtV3VuZGVmIC1XZXhpdC10aW1lLWRlc3RydWN0b3JzIC1XZ2xvYmFs
LWNvbnN0cnVjdG9yczsKIAogRU5BQkxFX1NQQVJLTEUgPSAwOwogCiBPVEhFUl9DRkxBR1MgPSAk
KGluaGVyaXRlZCkgJChBU0FOX09USEVSX0NGTEFHUyk7CiBPVEhFUl9DUExVU1BMVVNGTEFHUyA9
ICQoaW5oZXJpdGVkKSAkKEFTQU5fT1RIRVJfQ1BMVVNQTFVTRkxBR1MpOwotT1RIRVJfTERGTEFH
UyA9ICQoaW5oZXJpdGVkKSAkKEFTQU5fT1RIRVJfTERGTEFHUyk7ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQorT1RIRVJfTERGTEFHUyA9ICQoaW5oZXJpdGVkKSAkKEFTQU5fT1RIRVJfTERG
TEFHUyk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0NvbmZpZ3VyYXRpb25z
L0Jhc2UueGNjb25maWcgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0NvbmZpZ3VyYXRpb25zL0Jh
c2UueGNjb25maWcKaW5kZXggNGE3MWViYTQwNzVjMDEyMWU2NWY1Y2E0YjdjNmEzNzc4NDhjODIy
NC4uODNjY2JmMjVmODFiZTUyYjMyNzdhZTY5MGI3NjI3ZDBjNmRiNTc5OCAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAt
NDYsNyArNDYsNyBAQCBHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVMKIEdDQ19XQVJOX1VO
VVNFRF9WQVJJQUJMRSA9IFlFUwogR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT05bYXJj
aD1hcm02NF0gPSBOTzsKIEdDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OW2FyY2g9eDg2
XzY0XSA9IE5POwotV0FSTklOR19DRkxBR1MgPSAtV2FsbCAtVyAtV25vLXVudXNlZC1wYXJhbWV0
ZXIgLVd1bmRlZgorV0FSTklOR19DRkxBR1MgPSAtV2FsbCAtVyAtV25vLXVudXNlZC1wYXJhbWV0
ZXIgLVd1bmRlZiAtV2V4aXQtdGltZS1kZXN0cnVjdG9ycyAtV2dsb2JhbC1jb25zdHJ1Y3RvcnM7
CiBHQ0NfUFJFRklYX0hFQURFUiA9IFdlYktpdFRlc3RSdW5uZXJQcmVmaXguaAogCiBERUJVR19E
RUZJTkVTX2RlYnVnID0gOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>298831</attachid>
            <date>2017-01-13 19:23:55 -0800</date>
            <delta_ts>2017-01-13 19:25:54 -0800</delta_ts>
            <desc>Patch v3</desc>
            <filename>bug-160302-20170113192213.patch</filename>
            <type>text/plain</type>
            <size>21204</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwNzU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBm
NWI1MmYyODA2YmE4OTMyNjI3Y2FiZTBmNDc1OTFiNmY5ZTQ0N2VmLi4xMDkyMWZkZDI2YzVjMmM2
YmJiYmNhNDA1ZDM4ZmU4MDY4Mjc5OWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNy0wMS0xMyAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29t
PgorCisgICAgICAgIFJlbW92ZSB1bnVzZWQgY2hlY2stZm9yLWV4aXQtdGltZS1kZXN0cnVjdG9y
cywgY2hlY2stZm9yLWdsb2JhbC1pbml0aWFsaXplcnMgc2NyaXB0cyBhbmQgZGVwbG95IC1XZXhp
dC10aW1lLWRlc3RydWN0b3JzLCAtV2dsb2JhbC1jb25zdHJ1Y3RvcnMgY2xhbmcgc3dpdGNoZXMg
Y29uc2lzdGVudGx5CisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8xNjAzMDI+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0
aW9ucy9CYXNlLnhjY29uZmlnOgorICAgICAgICAtIEFkZCAtV2dsb2JhbC1jb25zdHJ1Y3RvcnMg
d2FybmluZyBmbGFnLgorCiAyMDE3LTAxLTEyICBOaWtpdGEgVmFzaWx5ZXYgIDxudmFzaWx5ZXZA
YXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyMDk3MTEpOiBXZWIgSW5zcGVjdG9y
OiBpbiBFbGVtZW50cyBUYWIsIHNlbGVjdGluZyBhIGRlZXBseSBuZXN0ZWQgRE9NIGVsZW1lbnQg
Y2F1c2VzIG5hdmlnYXRpb24gYmFyIGJ1dHRvbnMgdG8gYmUgcHVzaGVkIG9mZiB0aGUgbGVhZGlu
ZyBlZGdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ29uZmlndXJhdGlvbnMv
QmFzZS54Y2NvbmZpZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Db25maWd1cmF0aW9ucy9CYXNl
LnhjY29uZmlnCmluZGV4IDFlYTQzNWRiNDcyNDc4NjgyZjI0OWQzNmNiM2JlODBhODE1ZDA1ODcu
LjZmYTQ4ZjAyOWQyODFiZDkzN2MyOWU1M2YzMGNjZWMyM2E2Mjk2YWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC00Niw3
ICs0Niw3IEBAIEdDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CiBHQ0NfV0FSTl9V
TklOSVRJQUxJWkVEX0FVVE9TID0gWUVTCiBHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7
CiBHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVMKLVdBUk5JTkdfQ0ZMQUdTID0gLVdhbGwg
LVcgLVdjaGFyLXN1YnNjcmlwdHMgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWZvcm1hdC1h
dHRyaWJ1dGUgLVdwb2ludGVyLWFyaXRoIC1Xd3JpdGUtc3RyaW5ncyAtV25vLXVudXNlZC1wYXJh
bWV0ZXIgLVdleGl0LXRpbWUtZGVzdHJ1Y3RvcnM7CitXQVJOSU5HX0NGTEFHUyA9IC1XYWxsIC1X
IC1XY2hhci1zdWJzY3JpcHRzIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1mb3JtYXQtYXR0
cmlidXRlIC1XcG9pbnRlci1hcml0aCAtV3dyaXRlLXN0cmluZ3MgLVduby11bnVzZWQtcGFyYW1l
dGVyIC1XZXhpdC10aW1lLWRlc3RydWN0b3JzIC1XZ2xvYmFsLWNvbnN0cnVjdG9yczsKIAogRU5H
SU5FRVJJTkdfQlVJTERfREVGSU5FUyA9ICQoRU5HSU5FRVJJTkdfQlVJTERfREVGSU5FU18kKEVO
R0lORUVSSU5HX0JVSUxEKSk7CiBFTkdJTkVFUklOR19CVUlMRF9ERUZJTkVTXzEgPSBFTkdJTkVF
UklOR19CVUlMRD0xOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDMxZjc5MTQxMzZlZjI5NjRlYjYwNDI4YTkwMzNmODg2OGMxN2M5OTUuLmEyZDcw
ZDJiOWQzNWQ2ZTFmZTZiYjdlYzI5YjFlNDc3MDFmNTE2YzIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxNy0wMS0x
MyAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSB1
bnVzZWQgY2hlY2stZm9yLWV4aXQtdGltZS1kZXN0cnVjdG9ycywgY2hlY2stZm9yLWdsb2JhbC1p
bml0aWFsaXplcnMgc2NyaXB0cyBhbmQgZGVwbG95IC1XZXhpdC10aW1lLWRlc3RydWN0b3JzLCAt
V2dsb2JhbC1jb25zdHJ1Y3RvcnMgY2xhbmcgc3dpdGNoZXMgY29uc2lzdGVudGx5CisgICAgICAg
IDxodHRwczovL3dlYmtpdC5vcmcvYi8xNjAzMDI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL2NoZWNrLWZvci1leGl0LXRpbWUtZGVz
dHJ1Y3RvcnM6IFJlbW92ZWQuCisgICAgICAgICogU2NyaXB0cy9jaGVjay1mb3ItZ2xvYmFsLWlu
aXRpYWxpemVyczogUmVtb3ZlZC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9Db25m
aWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnOgorICAgICAgICAqIExheW91dFRlc3RSZWxheS9Db25m
aWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnOgorICAgICAgICAqIE1pbmlCcm93c2VyL0NvbmZpZ3Vy
YXRpb25zL0Jhc2UueGNjb25maWc6CisgICAgICAgICogTW9iaWxlTWluaUJyb3dzZXIvQ29uZmln
dXJhdGlvbnMvQmFzZS54Y2NvbmZpZzoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL0NvbmZpZ3Vy
YXRpb25zL0Jhc2UueGNjb25maWc6CisgICAgICAgICogV2ViRWRpdGluZ1Rlc3Rlci9Db25maWd1
cmF0aW9ucy9CYXNlLnhjY29uZmlnOgorICAgICAgICAqIFdlYktpdExhdW5jaGVyL0NvbmZpZ3Vy
YXRpb25zL0Jhc2UueGNjb25maWc6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9Db25maWd1
cmF0aW9ucy9CYXNlLnhjY29uZmlnOgorICAgICAgICAtIE1ha2Ugd2FybmluZyBmbGFncyBjb25z
aXN0ZW50IGFjcm9zcyB0b29scy4KKyAgICAgICAgLSBBZGQgLVdleGl0LXRpbWUtZGVzdHJ1Y3Rv
cnMsIC1XZ2xvYmFsLWNvbnN0cnVjdG9ycyB3YXJuaW5nCisgICAgICAgICAgZmxhZ3MuCisKIDIw
MTctMDEtMTMgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAg
ICAgcnVuLWpzYy1iZW5jaG1hcmtzJyBlY2hvIHNob3VsZCBoYXZlIC1lIG9wdGlvbgpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25m
aWcgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZp
ZwppbmRleCA3YjEzODZjZTIzNmM1Mjg4NDZmZmZkNGVkYTk3YWNjYWNjNjEwNDM3Li4zZDZiZTlh
MDRiOGRkZWNkMmIxYzY3YWQ3ZDEzOTJiZTkxYmQxZWViIDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9tYWMvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZworKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtNzUsNyAr
NzUsNyBAQCBHQ0NfV0FSTl9VTkRFQ0xBUkVEX1NFTEVDVE9SID0gWUVTOwogLy8gRklYTUU6IDxo
dHRwOi8vd2Via2l0Lm9yZy9iLzExODU5MD4gRHVtcFJlbmRlclRyZWUgc2hvdWxkIGJ1aWxkIHdp
dGggLVdzaG9ydGVuLTY0LXRvLTMyCiBHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTlth
cmNoPWFybTY0XSA9IE5POwogR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT05bYXJjaD14
ODZfNjRdID0gTk87Ci1XQVJOSU5HX0NGTEFHUyA9IC1XYWxsIC1XIC1Xbm8tdW51c2VkLXBhcmFt
ZXRlciAtV3VuZGVmCitXQVJOSU5HX0NGTEFHUyA9IC1XYWxsIC1XIC1Xbm8tdW51c2VkLXBhcmFt
ZXRlciAtV3VuZGVmIC1XZXhpdC10aW1lLWRlc3RydWN0b3JzIC1XZ2xvYmFsLWNvbnN0cnVjdG9y
czsKIAogREVCVUdfREVGSU5FU19kZWJ1ZyA9IDsKIERFQlVHX0RFRklORVNfbm9ybWFsID0gTkRF
QlVHOwpkaWZmIC0tZ2l0IGEvVG9vbHMvTGF5b3V0VGVzdFJlbGF5L0NvbmZpZ3VyYXRpb25zL0Jh
c2UueGNjb25maWcgYi9Ub29scy9MYXlvdXRUZXN0UmVsYXkvQ29uZmlndXJhdGlvbnMvQmFzZS54
Y2NvbmZpZwppbmRleCA3YzEwOWRlZGVjZTUzYzY1OGJkZjE0ZjdjODA0ZjY2ZGYwMDk2ZjY4Li4z
YjJhZTA3ZjBjMTRiZTYyZjhkODRiOTA4MTBmM2Q4MDVmMDcxYzlkIDEwMDY0NAotLS0gYS9Ub29s
cy9MYXlvdXRUZXN0UmVsYXkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZworKysgYi9Ub29s
cy9MYXlvdXRUZXN0UmVsYXkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtNDUsNyAr
NDUsNyBAQCBHQ0NfV0FSTl9BQk9VVF9ERVBSRUNBVEVEX0ZVTkNUSU9OUyA9IE5PCiBHQ0NfV0FS
Tl9VTlVTRURfRlVOQ1RJT04gPSBZRVMKIEdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUwog
R0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT05bYXJjaD14ODZfNjRdID0gTk87Ci1XQVJO
SU5HX0NGTEFHUyA9IC1XYWxsIC1XIC1Xbm8tdW51c2VkLXBhcmFtZXRlciAtV3VuZGVmCitXQVJO
SU5HX0NGTEFHUyA9IC1XYWxsIC1XIC1Xbm8tdW51c2VkLXBhcmFtZXRlciAtV3VuZGVmIC1XZXhp
dC10aW1lLWRlc3RydWN0b3JzIC1XZ2xvYmFsLWNvbnN0cnVjdG9yczsKIAogREVCVUdfREVGSU5F
U19kZWJ1ZyA9IDsKIERFQlVHX0RFRklORVNfbm9ybWFsID0gTkRFQlVHOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvTWluaUJyb3dzZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1Rvb2xzL01p
bmlCcm93c2VyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggOWM4MjAzMmZjZThj
OGNjYmNlMzFmNTBiOWM2NWJmMWQ0Y2FiZTAyNC4uZDgxYzRmOGZlZTU5ZjY1Y2ZkY2I2ODcyZWM0
NTAzMTlmYmQ2NTFiYyAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvQ29uZmlndXJhdGlv
bnMvQmFzZS54Y2NvbmZpZworKysgYi9Ub29scy9NaW5pQnJvd3Nlci9Db25maWd1cmF0aW9ucy9C
YXNlLnhjY29uZmlnCkBAIC01NCw3ICs1NCw3IEBAIEdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9
IFlFUwogQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKIEdDQ19XQVJO
X1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CiBHQ0NfVkVSU0lPTiA9IGNvbS5hcHBsZS5jb21w
aWxlcnMubGx2bS5jbGFuZy4xXzA7Ci1XQVJOSU5HX0NGTEFHUyA9IC1XYWxsIC1XIC1Xbm8tdW51
c2VkLXBhcmFtZXRlcgorV0FSTklOR19DRkxBR1MgPSAtV2FsbCAtVyAtV25vLXVudXNlZC1wYXJh
bWV0ZXIgLVd1bmRlZiAtV2V4aXQtdGltZS1kZXN0cnVjdG9ycyAtV2dsb2JhbC1jb25zdHJ1Y3Rv
cnM7CiBHQ0NfTk9fQ09NTU9OX0JMT0NLUyA9IFlFUzsKIAogU1VQUE9SVEVEX1BMQVRGT1JNUyA9
IGlwaG9uZW9zIGlwaG9uZXNpbXVsYXRvciBtYWNvc3ggdHZvcyB0dnNpbXVsYXRvciB3YXRjaG9z
IHdhdGNoc2ltdWxhdG9yOwpkaWZmIC0tZ2l0IGEvVG9vbHMvTW9iaWxlTWluaUJyb3dzZXIvQ29u
ZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1Rvb2xzL01vYmlsZU1pbmlCcm93c2VyL0NvbmZp
Z3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggZWQ4MDQxM2ZlMGZhNTgwNjVkZTA2OWY2NmZm
NGQ1M2RjM2RiNzJlZC4uYzEzN2RhZmE0NWNkMjJjNTk1NTRlYTBlMGU0NGVkZDY3NzdlNzcwMyAx
MDA2NDQKLS0tIGEvVG9vbHMvTW9iaWxlTWluaUJyb3dzZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54
Y2NvbmZpZworKysgYi9Ub29scy9Nb2JpbGVNaW5pQnJvd3Nlci9Db25maWd1cmF0aW9ucy9CYXNl
LnhjY29uZmlnCkBAIC00NSw3ICs0NSw3IEBAIEdDQ19XQVJOX1VOVVNFRF9GVU5DVElPTiA9IFlF
UwogR0NDX1dBUk5fVU5VU0VEX1ZBUklBQkxFID0gWUVTCiBHQ0NfV0FSTl82NF9UT18zMl9CSVRf
Q09OVkVSU0lPTlthcmNoPWFybTY0XSA9IE5POwogR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZF
UlNJT05bYXJjaD14ODZfNjRdID0gTk87Ci1XQVJOSU5HX0NGTEFHUyA9IC1XYWxsIC1XIC1Xbm8t
dW51c2VkLXBhcmFtZXRlciAtV3VuZGVmCitXQVJOSU5HX0NGTEFHUyA9IC1XYWxsIC1XIC1Xbm8t
dW51c2VkLXBhcmFtZXRlciAtV3VuZGVmIC1XZXhpdC10aW1lLWRlc3RydWN0b3JzIC1XZ2xvYmFs
LWNvbnN0cnVjdG9yczsKIAogU1VQUE9SVEVEX1BMQVRGT1JNUyA9IGlwaG9uZW9zIGlwaG9uZXNp
bXVsYXRvcjsKIFNES1JPT1QgPSBpcGhvbmVzaW11bGF0b3I7CmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL2NoZWNrLWZvci1leGl0LXRpbWUtZGVzdHJ1Y3RvcnMgYi9Ub29scy9TY3JpcHRzL2No
ZWNrLWZvci1leGl0LXRpbWUtZGVzdHJ1Y3RvcnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1Cmlu
ZGV4IGI5NWFlYzAzNjRhZjhlNGEwMTNhMzA4ZDM2MzgwMjkxYjRiNzVlYmEuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvU2NyaXB0cy9jaGVjay1m
b3ItZXhpdC10aW1lLWRlc3RydWN0b3JzCisrKyAvZGV2L251bGwKQEAgLTEsMTY2ICswLDAgQEAK
LSMhL3Vzci9iaW4vcGVybAotCi0jIENvcHlyaWdodCAoQykgMjAwNi0yMDA4LCAyMDE2IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
IyBhcmUgbWV0OgotIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSMgMi4gIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotIwotIyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBB
TlkKLSMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAotIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0jIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWQotIyBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotIyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0jIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTgotIyBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotIyAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUwotIyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLQotIyAiY2hlY2stZm9yLWV4aXQtdGltZS1kZXN0cnVjdG9ycyIgc2NyaXB0
IGZvciBXZWJLaXQgT3BlbiBTb3VyY2UgUHJvamVjdAotCi0jIEludGVuZGVkIHRvIGJlIGludm9r
ZWQgZnJvbSBhbiBYY29kZSBidWlsZCBzdGVwIHRvIGNoZWNrIGlmIHRoZXJlIGFyZQotIyBhbnkg
ZXhpdC10aW1lIGRlc3RydWN0b3JzIGluIGEgdGFyZ2V0LgotCi11c2Ugd2FybmluZ3M7Ci11c2Ug
c3RyaWN0OwotCi11c2UgRmlsZTo6QmFzZW5hbWU7Ci11c2UgRmlsZTo6U3BlYzsKLXVzZSBHZXRv
cHQ6Okxvbmc7Ci0KLXN1YiB0b3VjaCgkKTsKLXN1YiBwcmludEZ1bmN0aW9ucygkJCk7Ci0KLW15
ICRjb3ZlcmFnZUJ1aWxkOwotbXkgJGV4ZWN1dGFibGVQYXRoOwotbXkgQGZpbGVzOwotbXkgJHNo
b3dIZWxwOwotbXkgJHRlbXBEaXI7Ci0KLWlmIChAQVJHVikgewotICAgICMgUnVubmluZyBpbiBp
bnRlcmFjdGl2ZSBtb2RlIHdpdGggYXJndW1lbnRzLgotICAgIG15ICRyZXN1bHQgPSBHZXRPcHRp
b25zKAotICAgICAgICAiaHxoZWxwIiA9PiBcJHNob3dIZWxwLAotICAgICk7Ci0gICAgJGV4ZWN1
dGFibGVQYXRoID0gZ2xvYihzaGlmdCBAQVJHVik7Ci0KLSAgICBpZiAoISRyZXN1bHQgfHwgJHNo
b3dIZWxwIHx8IEBBUkdWID4gMCkgewotICAgICAgICBwcmludCBTVERFUlIgIkNoZWNrIGZvciBl
eGl0LXRpbWUgZGVzdHJ1Y3RvcnMuXG4iOwotICAgICAgICBwcmludCBTVERFUlIgIlVzYWdlOiAi
IC4gYmFzZW5hbWUoJDApIC4gIiBbb3B0aW9uc10gcGF0aC90by9leGVjdXRhYmxlXG4iOwotICAg
ICAgICBwcmludCBTVERFUlIgPDxFTkQ7Ci0gIFstaHwtLWhlbHBdICAgICAgICAgICAgICAgICAg
ICBzaG93IHRoaXMgaGVscCBtZXNzYWdlCi1FTkQKLSAgICAgICAgZXhpdCAxOwotICAgIH0KLQot
ICAgICR0ZW1wRGlyID0gRmlsZTo6U3BlYy0+dG1wZGlyKCk7Ci0gICAgQGZpbGVzID0gKCRleGVj
dXRhYmxlUGF0aCk7Ci19IGVsc2UgewotICAgICMgUnVubmluZyBmcm9tIFhjb2RlIGJ1aWxkIHBo
YXNlIHNjcmlwdCB3aXRoIG5vIGFyZ3VtZW50cy4KLSAgICAkY292ZXJhZ2VCdWlsZCA9ICRFTlZ7
J1dFQktJVF9DT1ZFUkFHRV9CVUlMRCd9OwotICAgICRleGVjdXRhYmxlUGF0aCA9ICIkRU5WeydU
QVJHRVRfQlVJTERfRElSJ30vJEVOVnsnRVhFQ1VUQUJMRV9QQVRIJ30iOwotICAgICR0ZW1wRGly
ID0gJEVOVnsnVEFSR0VUX1RFTVBfRElSJ307Ci0KLSAgICBteSAkYXJjaCA9ICRFTlZ7J0NVUlJF
TlRfQVJDSCd9OwotICAgIG15ICR2YXJpYW50ID0gJEVOVnsnQ1VSUkVOVF9WQVJJQU5UJ307Ci0g
ICAgbXkgJGxpc3QgPSAkRU5WeyJMSU5LX0ZJTEVfTElTVF8ke3ZhcmlhbnR9XyR7YXJjaH0ifTsK
LSAgICBvcGVuIExJU1QsICRsaXN0IHx8IGRpZSAiRVJST1I6IENvdWxkIG5vdCBvcGVuICRsaXN0
XG4iOwotICAgIEBmaWxlcyA9IDxMSVNUPjsKLSAgICBjaG9tcCBAZmlsZXM7Ci0gICAgY2xvc2Ug
TElTVDsKLX0KLQotbXkgJGJ1aWxkVGltZXN0YW1wUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGZpbGUo
JHRlbXBEaXIsIGJhc2VuYW1lKCQwKSAuICIudGltZXN0YW1wIik7Ci1teSAkYnVpbGRUaW1lc3Rh
bXBBZ2UgPSAtTSAkYnVpbGRUaW1lc3RhbXBQYXRoOwotbXkgJHNjcmlwdEFnZSA9IC1NICQwOwot
Ci1teSAkc2F3RXJyb3IgPSAwOwotCi1mb3IgbXkgJGZpbGUgKHNvcnQgQGZpbGVzKSB7Ci0gICAg
aWYgKGRlZmluZWQgJGJ1aWxkVGltZXN0YW1wQWdlICYmICRidWlsZFRpbWVzdGFtcEFnZSA8ICRz
Y3JpcHRBZ2UpIHsKLSAgICAgICAgbXkgJGZpbGVBZ2UgPSAtTSAkZmlsZTsKLSAgICAgICAgbmV4
dCBpZiBkZWZpbmVkICRmaWxlQWdlICYmICRmaWxlQWdlID4gJGJ1aWxkVGltZXN0YW1wQWdlOwot
ICAgIH0KLSAgICBpZiAoIW9wZW4gTk0sICIobm0gJyRmaWxlJyB8IHNlZCAncy9eL1NURE9VVDov
JykgMj4mMSB8IikgewotICAgICAgICBwcmludCAiRVJST1I6IENvdWxkIG5vdCBvcGVuICRmaWxl
XG4iOwotICAgICAgICAkc2F3RXJyb3IgPSAxOwotICAgICAgICBuZXh0OwotICAgIH0KLSAgICBt
eSAkc2F3QXRFeGl0ID0gMDsKLSAgICBteSAkc2hvcnROYW1lID0gJGZpbGU7Ci0gICAgJHNob3J0
TmFtZSA9fiBzLy4qXC8vLzsKLQotICAgIHdoaWxlICg8Tk0+KSB7Ci0gICAgICAgIGlmICgvXlNU
RE9VVDovKSB7Ci0gICAgICAgICAgICAjIFdpdGggR0MgbG9nZ2luZyBlbmFibGVkIEhlYXAubyBt
YXkgY29udGFpbiBmaW5hbGl6ZXJzLCBzbyB3ZSBpZ25vcmUgdGhlbS4KLSAgICAgICAgICAgICRz
YXdBdEV4aXQgPSAxIGlmICgvX19fY3hhX2F0ZXhpdC8gJiYgKCRzaG9ydE5hbWUgbmUgIkhlYXAu
byIpKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHByaW50IFNUREVSUiBpZiAkXyBu
ZSAibm06IG5vIG5hbWUgbGlzdFxuIjsKLSAgICAgICAgfQotICAgIH0KLSAgICBjbG9zZSBOTTsK
LSAgICBuZXh0IHVubGVzcyAkc2F3QXRFeGl0OwotCi0gICAgJHNhd0Vycm9yID0gMSBpZiBwcmlu
dEZ1bmN0aW9ucygkc2hvcnROYW1lLCAkZmlsZSk7Ci19Ci0KLWlmICgkc2F3RXJyb3IgYW5kICEk
Y292ZXJhZ2VCdWlsZCkgewotICAgIHByaW50ICJFUlJPUjogVXNlIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxUPiBmcm9tIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD5cbiI7Ci0gICAgdW5saW5rICRleGVj
dXRhYmxlUGF0aDsKLSAgICBleGl0IDE7Ci19Ci0KLXRvdWNoKCRidWlsZFRpbWVzdGFtcFBhdGgp
OwotZXhpdCAwOwotCi1zdWIgdG91Y2goJCkKLXsKLSAgICBteSAoJHBhdGgpID0gQF87Ci0gICAg
b3BlbihUT1VDSCwgIj4iLCAkcGF0aCkgb3IgZGllICIkISI7Ci0gICAgY2xvc2UoVE9VQ0gpOwot
fQotCi1zdWIgZGVtYW5nbGUoJCkKLXsKLSAgICBteSAoJHN5bWJvbCkgPSBAXzsKLSAgICBpZiAo
IW9wZW4gRklMVCwgImMrK2ZpbHQgJHN5bWJvbCB8IikgewotICAgICAgICBwcmludCAiRVJST1I6
IENvdWxkIG5vdCBvcGVuIGMrK2ZpbHRcbiI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAg
bXkgJHJlc3VsdCA9IDxGSUxUPjsKLSAgICBjbG9zZSBGSUxUOwotICAgIGNob21wICRyZXN1bHQ7
Ci0gICAgcmV0dXJuICRyZXN1bHQ7Ci19Ci0KLXN1YiBwcmludEZ1bmN0aW9ucygkJCkKLXsKLSAg
ICBteSAoJHNob3J0TmFtZSwgJHBhdGgpID0gQF87Ci0gICAgaWYgKCFvcGVuIE9UT09MLCAib3Rv
b2wgLXRWICckcGF0aCcgfCIpIHsKLSAgICAgICAgcHJpbnQgIldBUk5JTkc6IENvdWxkIG5vdCBv
cGVuICRwYXRoXG4iOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0gICAgbXkgJWZ1bmN0aW9u
czsKLSAgICBteSAkY3VycmVudFN5bWJvbCA9ICIiOwotICAgIHdoaWxlICg8T1RPT0w+KSB7Ci0g
ICAgICAgICRjdXJyZW50U3ltYm9sID0gJDEgaWYgL14oXHcrKTokLzsKLSAgICAgICAgbmV4dCB1
bmxlc3MgJGN1cnJlbnRTeW1ib2w7Ci0gICAgICAgICRmdW5jdGlvbnN7ZGVtYW5nbGUoJGN1cnJl
bnRTeW1ib2wpfSA9IDEgaWYgL19fX2N4YV9hdGV4aXQvOwotICAgIH0KLSAgICBjbG9zZSBPVE9P
TDsKLSAgICBteSAkcmVzdWx0ID0gMDsKLSAgICBmb3IgbXkgJGZ1bmN0aW9uIChzb3J0IGtleXMg
JWZ1bmN0aW9ucykgewotICAgICAgICBpZiAoISRyZXN1bHQpIHsKLSAgICAgICAgICAgIHByaW50
ICJFUlJPUjogJHNob3J0TmFtZSBoYXMgZXhpdCB0aW1lIGRlc3RydWN0b3JzIGluIGl0ISAoJHBh
dGgpXG4iOwotICAgICAgICAgICAgJHJlc3VsdCA9IDE7Ci0gICAgICAgIH0KLSAgICAgICAgcHJp
bnQgIkVSUk9SOiBJbiBmdW5jdGlvbiAkZnVuY3Rpb25cbiI7Ci0gICAgfQotICAgIHJldHVybiAk
cmVzdWx0OwotfQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9jaGVjay1mb3ItZ2xvYmFsLWlu
aXRpYWxpemVycyBiL1Rvb2xzL1NjcmlwdHMvY2hlY2stZm9yLWdsb2JhbC1pbml0aWFsaXplcnMK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDI4Yjc3NzI0MWNhYzc3YWYxMTBmYTBhMjU5
MzdmMWQ4NjZkMjVmNjUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvVG9vbHMvU2NyaXB0cy9jaGVjay1mb3ItZ2xvYmFsLWluaXRpYWxpemVycworKysgL2Rl
di9udWxsCkBAIC0xLDE2MyArMCwwIEBACi0jIS91c3IvYmluL3BlcmwKLQotIyBDb3B5cmlnaHQg
KEMpIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwot
IyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0jIGFyZSBtZXQ6Ci0jCi0jIDEuICBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLiAKLSMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAKLSMgMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgSW5jLiAoIkFwcGxlIikgbm9y
IHRoZSBuYW1lcyBvZgotIyAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotIyAgICAgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKLSMKLSMgVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkKLSMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0jIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKLSMgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotIyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQKLSMgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSMgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
Ci0jIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0KLSMgImNoZWNrLWZvci1nbG9iYWwtaW5pdGlhbGl6ZXJzIiBzY3JpcHQg
Zm9yIFdlYktpdCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0KLSMgSW50ZW5kZWQgdG8gYmUgaW52b2tl
ZCBmcm9tIGFuIFhjb2RlIGJ1aWxkIHN0ZXAgdG8gY2hlY2sgaWYgdGhlcmUgYXJlCi0jIGFueSBn
bG9iYWwgaW5pdGlhbGl6ZXJzIGluIGEgdGFyZ2V0LgotCi11c2Ugd2FybmluZ3M7Ci11c2Ugc3Ry
aWN0OwotCi11c2UgRmlsZTo6QmFzZW5hbWU7Ci0KLXN1YiB0b3VjaCgkKTsKLXN1YiBkZW1hbmds
ZSgkKTsKLQotbXkgJGFyY2ggPSAkRU5WeydDVVJSRU5UX0FSQ0gnfTsKLW15ICRjb25maWd1cmF0
aW9uID0gJEVOVnsnQ09ORklHVVJBVElPTid9OwotbXkgJHRhcmdldCA9ICRFTlZ7J1RBUkdFVF9O
QU1FJ307Ci1teSAkdmFyaWFudCA9ICRFTlZ7J0NVUlJFTlRfVkFSSUFOVCd9OwotbXkgJGNvdmVy
YWdlQnVpbGQgPSAkRU5WeydXRUJLSVRfQ09WRVJBR0VfQlVJTEQnfTsKLW15ICRkZWJ1Z1Jvb3Qg
PSAkRU5WeydXRUJLSVRfREVCVUdfUk9PVCd9OwotCi1teSAkZXhlY3V0YWJsZVBhdGggPSAiJEVO
VnsnVEFSR0VUX0JVSUxEX0RJUid9LyRFTlZ7J0VYRUNVVEFCTEVfUEFUSCd9IjsKLQotbXkgJGJ1
aWxkVGltZXN0YW1wUGF0aCA9ICRFTlZ7J1RBUkdFVF9URU1QX0RJUid9IC4gIi8iIC4gYmFzZW5h
bWUoJDApIC4gIi50aW1lc3RhbXAiOwotbXkgJGJ1aWxkVGltZXN0YW1wQWdlID0gLU0gJGJ1aWxk
VGltZXN0YW1wUGF0aDsKLW15ICRzY3JpcHRBZ2UgPSAtTSAkMDsKLQotbXkgJGxpc3QgPSAkRU5W
eyJMSU5LX0ZJTEVfTElTVF8ke3ZhcmlhbnR9XyR7YXJjaH0ifTsKLQotaWYgKCFvcGVuIExJU1Qs
ICRsaXN0KSB7Ci0gICAgcHJpbnQgIkVSUk9SOiBDb3VsZCBub3Qgb3BlbiAkbGlzdFxuIjsKLSAg
ICBleGl0IDE7Ci19Ci0KLW15IEBmaWxlcyA9IDxMSVNUPjsKLWNob21wIEBmaWxlczsKLWNsb3Nl
IExJU1Q7Ci0KLW15ICRzYXdFcnJvciA9IDA7Ci0KLWZvciBteSAkZmlsZSAoc29ydCBAZmlsZXMp
IHsKLSAgICBpZiAoZGVmaW5lZCAkYnVpbGRUaW1lc3RhbXBBZ2UgJiYgJGJ1aWxkVGltZXN0YW1w
QWdlIDwgJHNjcmlwdEFnZSkgewotICAgICAgICBteSAkZmlsZUFnZSA9IC1NICRmaWxlOwotICAg
ICAgICBuZXh0IGlmIGRlZmluZWQgJGZpbGVBZ2UgJiYgJGZpbGVBZ2UgPiAkYnVpbGRUaW1lc3Rh
bXBBZ2U7Ci0gICAgfQotICAgIGlmICghb3BlbiBOTSwgIihubSAnJGZpbGUnIHwgc2VkICdzL14v
U1RET1VUOi8nKSAyPiYxIHwiKSB7Ci0gICAgICAgIHByaW50ICJFUlJPUjogQ291bGQgbm90IG9w
ZW4gJGZpbGVcbiI7Ci0gICAgICAgICRzYXdFcnJvciA9IDE7Ci0gICAgICAgIG5leHQ7Ci0gICAg
fQotICAgIG15ICRzYXdHbG9iYWwgPSAwOwotICAgIG15IEBnbG9iYWxzOwotICAgIHdoaWxlICg8
Tk0+KSB7Ci0gICAgICAgIGlmICgvXlNURE9VVDovKSB7Ci0gICAgICAgICAgICBteSAkbGluZSA9
ICRfOwotICAgICAgICAgICAgaWYgKCRsaW5lID1+IC9fX0dMT0JBTF9fSSguKykkLykgewotICAg
ICAgICAgICAgICAgICRzYXdHbG9iYWwgPSAxOwotICAgICAgICAgICAgICAgIHB1c2goQGdsb2Jh
bHMsIGRlbWFuZ2xlKCQxKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICBwcmludCBTVERFUlIgaWYgJF8gbmUgIm5tOiBubyBuYW1lIGxpc3RcbiI7Ci0gICAg
ICAgIH0KLSAgICB9Ci0gICAgY2xvc2UgTk07Ci0gICAgaWYgKCRzYXdHbG9iYWwpIHsKLSAgICAg
ICAgbXkgJHNob3J0TmFtZSA9ICRmaWxlOwotICAgICAgICAkc2hvcnROYW1lID1+IHMvLipcLy8v
OwotCi0gICAgICAgICMgU3BlY2lhbCBjYXNlcyBmb3IgZmlsZXMgdGhhdCBoYXZlIGluaXRpYWxp
emVycyBpbiBkZWJ1ZyBidWlsZHMuCi0gICAgICAgIGlmICgkY29uZmlndXJhdGlvbiBlcSAiRGVi
dWciIG9yICR2YXJpYW50IGVxICJkZWJ1ZyIgb3IgJGRlYnVnUm9vdCkgewotICAgICAgICAgICAg
aWYgKCR0YXJnZXQgZXEgIkphdmFTY3JpcHRDb3JlIikgewotICAgICAgICAgICAgICAgIG5leHQg
aWYgJHNob3J0TmFtZSBlcSAiQWxsSW5PbmVGaWxlLm8iOwotICAgICAgICAgICAgICAgIG5leHQg
aWYgJHNob3J0TmFtZSBlcSAiT3Bjb2RlLm8iOwotICAgICAgICAgICAgICAgIG5leHQgaWYgJHNo
b3J0TmFtZSBlcSAiU3RydWN0dXJlLm8iOwotICAgICAgICAgICAgICAgIG5leHQgaWYgJHNob3J0
TmFtZSBlcSAibm9kZXMubyI7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoJHRhcmdl
dCBlcSAiV2ViQ29yZSIpIHsKLSAgICAgICAgICAgICAgICBuZXh0IGlmICRzaG9ydE5hbWUgZXEg
IkJpZGlSdW4ubyI7Ci0gICAgICAgICAgICAgICAgbmV4dCBpZiAkc2hvcnROYW1lIGVxICJDYWNo
ZWRQYWdlLm8iOwotICAgICAgICAgICAgICAgIG5leHQgaWYgJHNob3J0TmFtZSBlcSAiQ2FjaGVk
UmVzb3VyY2UubyI7Ci0gICAgICAgICAgICAgICAgbmV4dCBpZiAkc2hvcnROYW1lIGVxICJGRUdh
dXNzaWFuQmx1ci5vIjsKLSAgICAgICAgICAgICAgICBuZXh0IGlmICRzaG9ydE5hbWUgZXEgIkZy
YW1lLm8iOwotICAgICAgICAgICAgICAgIG5leHQgaWYgJHNob3J0TmFtZSBlcSAiSlNDdXN0b21T
UUxUcmFuc2FjdGlvbkNhbGxiYWNrLm8iOwotICAgICAgICAgICAgICAgIG5leHQgaWYgJHNob3J0
TmFtZSBlcSAiSlNMYXp5RXZlbnRMaXN0ZW5lci5vIjsKLSAgICAgICAgICAgICAgICBuZXh0IGlm
ICRzaG9ydE5hbWUgZXEgIk5vZGUubyI7Ci0gICAgICAgICAgICAgICAgbmV4dCBpZiAkc2hvcnRO
YW1lIGVxICJQYWdlLm8iOwotICAgICAgICAgICAgICAgIG5leHQgaWYgJHNob3J0TmFtZSBlcSAi
UmFuZ2UubyI7Ci0gICAgICAgICAgICAgICAgbmV4dCBpZiAkc2hvcnROYW1lIGVxICJSZW5kZXJP
YmplY3QubyI7Ci0gICAgICAgICAgICAgICAgbmV4dCBpZiAkc2hvcnROYW1lIGVxICJTdWJyZXNv
dXJjZUxvYWRlci5vIjsKLSAgICAgICAgICAgICAgICBuZXh0IGlmICRzaG9ydE5hbWUgZXEgIlhN
TEh0dHBSZXF1ZXN0Lm8iOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKCR0YXJnZXQg
ZXEgIldlYktpdCIpIHsKLSAgICAgICAgICAgICAgICBuZXh0IGlmICRzaG9ydE5hbWUgZXEgIkhv
c3RlZE5ldHNjYXBlUGx1Z2luU3RyZWFtLm8iOwotICAgICAgICAgICAgICAgIG5leHQgaWYgJHNo
b3J0TmFtZSBlcSAiTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm8iOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgaWYgKCR0YXJnZXQgZXEgIldlYktpdDIiKSB7Ci0gICAgICAgICAgICAg
ICAgbmV4dCBpZiAkc2hvcnROYW1lIGVxICJXZWJDb250ZXh0Lm8iOwotICAgICAgICAgICAgICAg
IG5leHQgaWYgJHNob3J0TmFtZSBlcSAiV2ViRnJhbWUubyI7Ci0gICAgICAgICAgICAgICAgbmV4
dCBpZiAkc2hvcnROYW1lIGVxICJXZWJQYWdlLm8iOwotICAgICAgICAgICAgICAgIG5leHQgaWYg
JHNob3J0TmFtZSBlcSAiV2ViUGFnZVByb3h5Lm8iOwotICAgICAgICAgICAgfQotICAgICAgICB9
Ci0KLSAgICAgICAgcHJpbnQgIkVSUk9SOiAkc2hvcnROYW1lIGhhcyBvbmUgb3IgbW9yZSBnbG9i
YWwgaW5pdGlhbGl6ZXJzIGluIGl0ISAoJGZpbGUpLCBuZWFyIEBnbG9iYWxzXG4iOwotICAgICAg
ICAkc2F3RXJyb3IgPSAxOwotICAgIH0KLX0KLQotaWYgKCRzYXdFcnJvciBhbmQgISRjb3ZlcmFn
ZUJ1aWxkKSB7Ci0gICAgdW5saW5rICRleGVjdXRhYmxlUGF0aDsKLSAgICBleGl0IDE7Ci19Ci0K
LXRvdWNoKCRidWlsZFRpbWVzdGFtcFBhdGgpOwotZXhpdCAwOwotCi1zdWIgdG91Y2goJCkKLXsK
LSAgICBteSAoJHBhdGgpID0gQF87Ci0gICAgb3BlbihUT1VDSCwgIj4iLCAkcGF0aCkgb3IgZGll
ICIkISI7Ci0gICAgY2xvc2UoVE9VQ0gpOwotfQotCi1zdWIgZGVtYW5nbGUoJCkKLXsKLSAgICBt
eSAoJHN5bWJvbCkgPSBAXzsKLSAgICBpZiAoIW9wZW4gRklMVCwgImMrK2ZpbHQgJHN5bWJvbCB8
IikgewotICAgICAgICBwcmludCAiRVJST1I6IENvdWxkIG5vdCBvcGVuIGMrK2ZpbHRcbiI7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgbXkgJHJlc3VsdCA9IDxGSUxUPjsKLSAgICBjbG9z
ZSBGSUxUOwotICAgIGNob21wICRyZXN1bHQ7Ci0gICAgcmV0dXJuICRyZXN1bHQ7Ci19Ci0KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZp
ZyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwppbmRl
eCA2ZTFmMDQ0YzBiODhlZGY0ZTdlYjgyYWYyYjY1N2E3YmJiOGRjNWFiLi4wYjgzNDVkMGI0ZWQ0
YjcyZWNlNGVkNjRlNWQ3NDYwNjYzMTMwMjY5IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC02NCw3ICs2NCw3IEBAIENMQU5HX1dB
Uk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CiBHQ0NfV0FSTl9VTkRFQ0xBUkVEX1NF
TEVDVE9SID0gWUVTOwogR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT05bYXJjaD1hcm02
NF0gPSBOTzsKIEdDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OW2FyY2g9eDg2XzY0XSA9
IE5POwotV0FSTklOR19DRkxBR1MgPSAtV2FsbCAtVyAtV25vLXVudXNlZC1wYXJhbWV0ZXIKK1dB
Uk5JTkdfQ0ZMQUdTID0gLVdhbGwgLVcgLVduby11bnVzZWQtcGFyYW1ldGVyIC1XdW5kZWYgLVdl
eGl0LXRpbWUtZGVzdHJ1Y3RvcnMgLVdnbG9iYWwtY29uc3RydWN0b3JzOwogCiAvLyBERUJVR19E
RUZJTkVTLCBHQ0NfT1BUSU1JWkFUSU9OX0xFVkVMLCBTVFJJUF9JTlNUQUxMRURfUFJPRFVDVCBh
bmQgREVBRF9DT0RFX1NUUklQUElORyB2YXJ5IGJldHdlZW4gdGhlIGRlYnVnIGFuZCBub3JtYWwg
dmFyaWFudHMuCiAvLyBXZSBzZXQgdXAgdGhlIHZhbHVlcyBmb3IgZWFjaCB2YXJpYW50IGhlcmUs
IGFuZCBoYXZlIHRoZSBEZWJ1ZyBjb25maWd1cmF0aW9uIGluIHRoZSBYY29kZSBwcm9qZWN0IHVz
ZSB0aGUgX2RlYnVnIHZhcmlhbnQuCmRpZmYgLS1naXQgYS9Ub29scy9XZWJFZGl0aW5nVGVzdGVy
L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9Ub29scy9XZWJFZGl0aW5nVGVzdGVyL0Nv
bmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggYmNkNWZiMDUxYTZlNzllMTFjMzZiMTY3
ZmZjZjVkNjQ5ZmMwMzI2MC4uM2EwZGIzZTYyOWM5Yzk3MWUwMDdmODBhMWI1OTI2Y2M2ZjkyYmU3
YyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViRWRpdGluZ1Rlc3Rlci9Db25maWd1cmF0aW9ucy9CYXNl
LnhjY29uZmlnCisrKyBiL1Rvb2xzL1dlYkVkaXRpbmdUZXN0ZXIvQ29uZmlndXJhdGlvbnMvQmFz
ZS54Y2NvbmZpZwpAQCAtNTEsNyArNTEsNyBAQCBHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZ
RVMKIENMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CiBHQ0NfV0FSTl9V
TkRFQ0xBUkVEX1NFTEVDVE9SID0gWUVTOwogR0NDX1ZFUlNJT04gPSBjb20uYXBwbGUuY29tcGls
ZXJzLmxsdm0uY2xhbmcuMV8wOwotV0FSTklOR19DRkxBR1MgPSAtV2FsbCAtVyAtV25vLXVudXNl
ZC1wYXJhbWV0ZXIKK1dBUk5JTkdfQ0ZMQUdTID0gLVdhbGwgLVcgLVduby11bnVzZWQtcGFyYW1l
dGVyIC1XdW5kZWYgLVdleGl0LXRpbWUtZGVzdHJ1Y3RvcnMgLVdnbG9iYWwtY29uc3RydWN0b3Jz
OwogQ0xBTkdfRU5BQkxFX09CSkNfQVJDID0gWUVTOwogCiBUQVJHRVRfTUFDX09TX1hfVkVSU0lP
Tl9NQUpPUiA9ICQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IkKE1BQ09TWF9ERVBMT1lN
RU5UX1RBUkdFVDpzdWZmaXg6aWRlbnRpZmllcikpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0
TGF1bmNoZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1Rvb2xzL1dlYktpdExhdW5j
aGVyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggNWRmMWRiNmJjNjdiYjYzMGQ2
YjlmNGI2NzBjNDAwZmY0MTZiMTk0Yy4uMzVjZTc2Y2EwODdiNjA2YTI4Yjk5MmE5YzQwMDI2ZGRl
YzEyMDkzZiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0TGF1bmNoZXIvQ29uZmlndXJhdGlvbnMv
QmFzZS54Y2NvbmZpZworKysgYi9Ub29scy9XZWJLaXRMYXVuY2hlci9Db25maWd1cmF0aW9ucy9C
YXNlLnhjY29uZmlnCkBAIC0zMiwxMCArMzIsMTAgQEAgR0NDX1ZFUlNJT04gPSBjb20uYXBwbGUu
Y29tcGlsZXJzLmxsdm0uY2xhbmcuMV8wOwogTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUID0gMTAu
NjsKIFBSRUJJTkRJTkcgPSBOTzsKIFNES1JPT1QgPSBtYWNvc3g7Ci1XQVJOSU5HX0NGTEFHUyA9
IC1XYWxsOworV0FSTklOR19DRkxBR1MgPSAtV2FsbCAtVyAtV25vLXVudXNlZC1wYXJhbWV0ZXIg
LVd1bmRlZiAtV2V4aXQtdGltZS1kZXN0cnVjdG9ycyAtV2dsb2JhbC1jb25zdHJ1Y3RvcnM7CiAK
IEVOQUJMRV9TUEFSS0xFID0gMDsKIAogT1RIRVJfQ0ZMQUdTID0gJChpbmhlcml0ZWQpICQoQVNB
Tl9PVEhFUl9DRkxBR1MpOwogT1RIRVJfQ1BMVVNQTFVTRkxBR1MgPSAkKGluaGVyaXRlZCkgJChB
U0FOX09USEVSX0NQTFVTUExVU0ZMQUdTKTsKLU9USEVSX0xERkxBR1MgPSAkKGluaGVyaXRlZCkg
JChBU0FOX09USEVSX0xERkxBR1MpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK09USEVS
X0xERkxBR1MgPSAkKGluaGVyaXRlZCkgJChBU0FOX09USEVSX0xERkxBR1MpOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4
IDJlYTA5NWFlZGFlMjFmMTkwM2NiYmVkMTRkNWY4N2ZjZTE0ODRiZWEuLmU4OTZlNThhOGUzMmQ2
ZDk5ZGY4MjYwODY0NzJjOTBlMDM5YjVjYWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZworKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTQ4LDcgKzQ4LDcgQEAgR0ND
X1dBUk5fVU5VU0VEX0ZVTkNUSU9OID0gWUVTCiBHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZ
RVMKIEdDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OW2FyY2g9YXJtNjRdID0gTk87CiBH
Q0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTlthcmNoPXg4Nl82NF0gPSBOTzsKLVdBUk5J
TkdfQ0ZMQUdTID0gLVdhbGwgLVcgLVduby11bnVzZWQtcGFyYW1ldGVyIC1XdW5kZWYKK1dBUk5J
TkdfQ0ZMQUdTID0gLVdhbGwgLVcgLVduby11bnVzZWQtcGFyYW1ldGVyIC1XdW5kZWYgLVdleGl0
LXRpbWUtZGVzdHJ1Y3RvcnMgLVdnbG9iYWwtY29uc3RydWN0b3JzOwogR0NDX1BSRUZJWF9IRUFE
RVIgPSBXZWJLaXRUZXN0UnVubmVyUHJlZml4LmgKIAogREVCVUdfREVGSU5FU19kZWJ1ZyA9IDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>