<?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>137038</bug_id>
          
          <creation_ts>2014-09-23 12:44:45 -0700</creation_ts>
          <short_desc>Web Inspector: Automatic Inspection should continue once all breakpoints are loaded</short_desc>
          <delta_ts>2014-09-26 16:25:25 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1036793</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-09-23 12:44:45 -0700</bug_when>
    <thetext>Currently Automatic Inspection pauses immediately. This gives the frontend time to send to the backend all the breakpoints it knows about, so by the time the backend continues it has all the breakpoints loaded.

Instead of enforcing this automatic pause on auto-inspect, we should just pause the JSContext until all the frontend&apos;s state is loaded, including all the breakpoints.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036794</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-09-23 12:45:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/18429875&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036799</commentid>
    <comment_count>2</comment_count>
      <attachid>238559</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-09-23 12:54:13 -0700</bug_when>
    <thetext>Created attachment 238559
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036818</commentid>
    <comment_count>3</comment_count>
      <attachid>238559</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-09-23 13:33:07 -0700</bug_when>
    <thetext>Comment on attachment 238559
[PATCH] Proposed Fix

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

&gt; Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggable.cpp:94
&gt; +void RemoteInspectorDebuggable::unpauseInspectorInitialized()

The wording here is kind of confusing. Lets go with something like: unpauseForInitializedInspector.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036828</commentid>
    <comment_count>4</comment_count>
      <attachid>238570</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-09-23 14:05:09 -0700</bug_when>
    <thetext>Created attachment 238570
[PATCH] Proposed Fix

See how this looks on the bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037581</commentid>
    <comment_count>5</comment_count>
      <attachid>238570</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-26 16:25:22 -0700</bug_when>
    <thetext>Comment on attachment 238570
[PATCH] Proposed Fix

Clearing flags on attachment: 238570

Committed r174028: &lt;http://trac.webkit.org/changeset/174028&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037582</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-26 16:25:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238559</attachid>
            <date>2014-09-23 12:54:13 -0700</date>
            <delta_ts>2014-09-23 14:05:09 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>initialized.patch</filename>
            <type>text/plain</type>
            <size>23026</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGY1M2U1YTguLmU5NWZkYzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDE0LTA5LTIzICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQXV0b21h
dGljIEluc3BlY3Rpb24gc2hvdWxkIGNvbnRpbnVlIG9uY2UgYWxsIGJyZWFrcG9pbnRzIGFyZSBs
b2FkZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
NzAzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBhIG5ldyBwcm90b2NvbCBjb21tYW5kICJJbnNwZWN0b3IuaW5pdGlhbGl6ZWQiIHRoYXQgc2ln
bmlmaWVzIHRvIHRoZSBiYWNrZW5kCisgICAgICAgIHdoZW4gdGhlIGZyb250ZW5kIGhhcyBzZW50
IGFsbCBpdHMgaW5pdGlhbGl6YXRpb24gbWVzc2FnZXMgdG8gdGhlIGJhY2tlbmQuIFRoaXMKKyAg
ICAgICAgY2FuIGluY2x1ZGUgaW5mb3JtYXRpb24gbGlrZSBicmVha3BvaW50cywgd2hpY2ggd2Ug
d291bGQgd2FudCB0byBoYXZlIGxvYWRlZAorICAgICAgICBiZWZvcmUgYW55IEphdmFTY3JpcHQg
ZXZhbHVhdGVzIGluIHRoZSBjb250ZXh0LgorCisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29s
L0luc3BlY3RvckRvbWFpbi5qc29uOgorICAgICAgICBOZXcgcHJvdG9jb2wgY29tbWFuZCwgSW5z
cGVjdG9yLmluaXRpYWxpemVkLgorCisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuY3Bw
OgorICAgICAgICAoSW5zcGVjdG9yOjpJbnNwZWN0b3JBZ2VudDo6SW5zcGVjdG9yQWdlbnQpOgor
ICAgICAgICAoSW5zcGVjdG9yOjpJbnNwZWN0b3JBZ2VudDo6aW5pdGlhbGl6ZWQpOgorICAgICAg
ICBUZWxsIHRoZSBJbnNwZWN0b3JFbnZpcm9ubWVudCAodGhlIENvbnRyb2xsZXIpIHRoZSBmcm9u
dGVuZCBoYXMgaW5pdGlhbGl6ZWQuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRW52
aXJvbm1lbnQuaDoKKyAgICAgICAgQWJzdHJhY3QgdmlydHVhbCBtZXRob2QgdG8gaGFuZGxlIGZy
b250ZW5kIGluaXRpYWxpemF0aW9uLiBUbyBiZQorICAgICAgICBpbXBsZW1lbnRlZCBieSBhbGwg
b2YgdGhlIEluc3BlY3RvckNvbnRyb2xsZXJzLgorCisgICAgICAgICogaW5zcGVjdG9yL0pTR2xv
YmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9KU0ds
b2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoSW5zcGVjdG9yOjpK
U0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9y
Q29udHJvbGxlcik6CisgICAgICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9y
Q29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNHbG9i
YWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpkaXNjb25uZWN0RnJvbnRlbmQpOgorICAgICAg
ICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OmZyb250ZW5k
SW5pdGlhbGl6ZWQpOgorICAgICAgICBXaGVuIGEgZnJvbnRlbmQgaXMgaW5pdGlhbGl6ZWQsIGlm
IGl0IHdhcyBhdXRvbWF0aWMgaW5zcGVjdGlvbiB1bnBhdXNlIHRoZSBkZWJ1Z2dhYmxlLgorCisg
ICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlLmNwcDoK
KyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZTo6dW5wYXVzZUlu
c3BlY3RvckluaXRpYWxpemVkKToKKyAgICAgICAgQ29tcGxldGUgc2V0dXAgZm9yIHRoaXMgZGVi
dWdnYWJsZS4KKworICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVi
dWdnYWJsZS5oOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVi
dWdnYWJsZUNvbm5lY3Rpb24ubW06CisgICAgICAgIChJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3Rv
ckRlYnVnZ2FibGVDb25uZWN0aW9uOjpzZXR1cCk6CisgICAgICAgIE1vdmUgdGhlIHNldHVwIGNv
bXBsZXRlIHRvIGxhdGVyLCB3aGVuIHRoZSBmcm9udGVuZCBzZW5kcyBhbiAiaW5pdGlhbGl6ZWQi
IG1lc3NhZ2UuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5o
OgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLm1tOgorICAgICAg
ICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnVwZGF0ZURlYnVnZ2FibGVBdXRvbWF0aWNJ
bnNwZWN0Q2FuZGlkYXRlKToKKyAgICAgICAgUHJvdmlkZSBhIGxvbmdlciB0aW1lb3V0IG5vdyB0
aGF0IHRoZSBmcm9udGVuZCBtdXN0IHNlbmQgbWVzc2FnZXMgYWZ0ZXIgdGhlIGNvbm5lY3Rpb24K
KyAgICAgICAgaGFzIGVzdGFibGlzaGVkLiBUaGUgbG9uZ2VzdCBJIGhhdmUgc2VlbiBpbiAgNjAw
bXMsIGJ1dCB0aGUgYXZlcmFnZSB0ZW5kcyB0byBiZSAyMDBtcy4KKyAgICAgICAgU28gYnVtcCB0
aGUgdGltZW91dCB0byA4MDBtcyBmb3IgYSBidWZmZXIuCisKKyAgICAgICAgKEluc3BlY3Rvcjo6
UmVtb3RlSW5zcGVjdG9yOjpzZXR1cFN1Y2NlZWRlZCk6IERlbGV0ZWQuCisgICAgICAgIChJbnNw
ZWN0b3I6OlJlbW90ZUluc3BlY3Rvcjo6c2V0dXBDb21wbGV0ZWQpOgorICAgICAgICBSZW5hbWUs
IGFzIHRoaXMgaGFwcGVucyBhdCBhIHNsaWdodGx5IGRpZmZlcmVudCB0aW1lLgorCiAyMDE0LTA5
LTE3ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogU2hvdWxkIGJlIGFibGUgdG8gYXR0YWNoIGEgZGVidWdnZXIgdG8gYSBKU0Nv
bnRleHQgYmVmb3JlIGFueXRoaW5nIGlzIGV4ZWN1dGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckVudmlyb25tZW50LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckVudmlyb25tZW50LmgKaW5kZXggNTg4ZDdh
MS4uNmU0MzMzMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JFbnZpcm9ubWVudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRW52aXJvbm1lbnQuaApAQCAtNDYsNiArNDYsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBJbnNwZWN0b3JFdmFsdWF0ZUhhbmRsZXIgZXZhbHVhdGVIYW5kbGVyKCkgY29uc3Qg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsQ2FsbEluamVjdGVkU2NyaXB0RnVuY3Rpb24oSlND
OjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmIHNjcmlwdE5hbWUsIGludCBzY3JpcHRMaW5lKSA9
IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZENhbGxJbmplY3RlZFNjcmlwdEZ1bmN0aW9uKEpTQzo6
RXhlY1N0YXRlKikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBmcm9udGVuZEluaXRpYWxpemVkKCkg
PSAwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxl
ci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5z
cGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggYzg4YTQzYy4uNmQyNzQ1NyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9i
YWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtNDcsNiArNDcsMTAgQEAKICNpbmNs
dWRlIDxkbGZjbi5oPgogI2luY2x1ZGUgPGV4ZWNpbmZvLmg+CiAKKyNpZiBFTkFCTEUoUkVNT1RF
X0lOU1BFQ1RPUikKKyNpbmNsdWRlICJKU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuaCIKKyNlbmRp
ZgorCiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKQEAgLTU2
LDYgKzYwLDcgQEAgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpKU0dsb2JhbE9i
amVjdEluc3BlY3RvckNvbnRyb2xsZXIoSlNHbG9iYWxPYmoKICAgICAsIG1faW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyKHN0ZDo6bWFrZV91bmlxdWU8SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyPigqdGhpcywg
SW5qZWN0ZWRTY3JpcHRIb3N0OjpjcmVhdGUoKSkpCiAgICAgLCBtX2luc3BlY3RvckZyb250ZW5k
Q2hhbm5lbChudWxscHRyKQogICAgICwgbV9pbmNsdWRlTmF0aXZlQ2FsbFN0YWNrV2l0aEV4Y2Vw
dGlvbnModHJ1ZSkKKyAgICAsIG1faXNBdXRvbWF0aWNJbnNwZWN0aW9uKGZhbHNlKQogewogICAg
IGF1dG8gcnVudGltZUFnZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxKU0dsb2JhbE9iamVjdFJ1bnRp
bWVBZ2VudD4obV9pbmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCksIG1fZ2xvYmFsT2JqZWN0KTsK
ICAgICBhdXRvIGNvbnNvbGVBZ2VudCA9IHN0ZDo6bWFrZV91bmlxdWU8SlNHbG9iYWxPYmplY3RD
b25zb2xlQWdlbnQ+KG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpKTsKQEAgLTY3LDcgKzcy
LDcgQEAgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpKU0dsb2JhbE9iamVjdElu
c3BlY3RvckNvbnRyb2xsZXIoSlNHbG9iYWxPYmoKIAogICAgIHJ1bnRpbWVBZ2VudC0+c2V0U2Ny
aXB0RGVidWdTZXJ2ZXIoJmRlYnVnZ2VyQWdlbnQtPnNjcmlwdERlYnVnU2VydmVyKCkpOwogCi0g
ICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yQWdlbnQ+KCkpOwor
ICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvckFnZW50PigqdGhp
cykpOwogICAgIG1fYWdlbnRzLmFwcGVuZChXVEY6Om1vdmUocnVudGltZUFnZW50KSk7CiAgICAg
bV9hZ2VudHMuYXBwZW5kKFdURjo6bW92ZShjb25zb2xlQWdlbnQpKTsKICAgICBtX2FnZW50cy5h
cHBlbmQoV1RGOjptb3ZlKGRlYnVnZ2VyQWdlbnQpKTsKQEAgLTkwLDE5ICs5NSwxMiBAQCB2b2lk
IEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKEluc3Bl
Y3RvckZyb250ZW5kQ2hhbm5lbAogICAgIEFTU0VSVCghbV9pbnNwZWN0b3JGcm9udGVuZENoYW5u
ZWwpOwogICAgIEFTU0VSVCghbV9pbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcik7CiAKKyAgICBt
X2lzQXV0b21hdGljSW5zcGVjdGlvbiA9IGlzQXV0b21hdGljSW5zcGVjdGlvbjsKKwogICAgIG1f
aW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsID0gZnJvbnRlbmRDaGFubmVsOwogICAgIG1faW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXIgPSBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRl
KGZyb250ZW5kQ2hhbm5lbCk7CiAKICAgICBtX2FnZW50cy5kaWRDcmVhdGVGcm9udGVuZEFuZEJh
Y2tlbmQoZnJvbnRlbmRDaGFubmVsLCBtX2luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmdldCgp
KTsKLQotICAgIGlmIChpc0F1dG9tYXRpY0luc3BlY3Rpb24pIHsKLSAgICAgICAgLy8gRklYTUU6
IFdlIHNob3VsZCBub3QgYWx3YXlzIHBhdXNlIGZvciBhdXRvbWF0aWMgaW5zcGVjdGlvbi4KLSAg
ICAgICAgLy8gQ3VycmVudGx5IGlmIHdlIGRvbid0IGF1dG9tYXRpY2FsbHkgcGF1c2UsIHRoZW4g
d2UgbWF5IG1pc3MgYSBicmVha3BvaW50LCBzaW5jZSBicmVha3BvaW50cwotICAgICAgICAvLyBj
b21lIGZyb20gdGhlIGZyb250ZW5kIGFuZCBtaWdodCBiZSByZWNlaXZlZCBhZnRlciBzb21lIGV2
YWx1YXRlU2NyaXB0IG1lc3NhZ2UuIFdlIHNob3VsZAotICAgICAgICAvLyBoYXZlIHRoZSBmcm9u
dGVuZCBzaWduYWwgdGhlIGJhY2tlbmQgd2hlbiBpdHMgc2V0dXAgbWVzc2FnZXMgYXJlIGNvbXBs
ZXRlLgotICAgICAgICBtX2RlYnVnZ2VyQWdlbnQtPmVuYWJsZShudWxscHRyKTsKLSAgICAgICAg
bV9kZWJ1Z2dlckFnZW50LT5wYXVzZShudWxscHRyKTsKLSAgICB9CiB9CiAKIHZvaWQgSlNHbG9i
YWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpkaXNjb25uZWN0RnJvbnRlbmQoSW5zcGVjdG9y
RGlzY29ubmVjdFJlYXNvbiByZWFzb24pCkBAIC0xMTUsNiArMTEzLDggQEAgdm9pZCBKU0dsb2Jh
bE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OmRpc2Nvbm5lY3RGcm9udGVuZChJbnNwZWN0b3JE
aXNjb25uZWN0UmUKICAgICBtX2luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLT5jbGVhckZyb250
ZW5kKCk7CiAgICAgbV9pbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jbGVhcigpOwogICAgIG1f
aW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsID0gbnVsbHB0cjsKKworICAgIG1faXNBdXRvbWF0aWNJ
bnNwZWN0aW9uID0gZmFsc2U7CiB9CiAKIHZvaWQgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250
cm9sbGVyOjpkaXNwYXRjaE1lc3NhZ2VGcm9tRnJvbnRlbmQoY29uc3QgU3RyaW5nJiBtZXNzYWdl
KQpAQCAtMTkyLDYgKzE5MiwxNCBAQCBJbnNwZWN0b3JFdmFsdWF0ZUhhbmRsZXIgSlNHbG9iYWxP
YmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpldmFsdWF0ZUhhbmRsZXIoKSBjbwogICAgIHJldHVy
biBKU0M6OmV2YWx1YXRlOwogfQogCit2b2lkIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJv
bGxlcjo6ZnJvbnRlbmRJbml0aWFsaXplZCgpCit7CisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNU
T1IpCisgICAgaWYgKG1faXNBdXRvbWF0aWNJbnNwZWN0aW9uKQorICAgICAgICBtX2dsb2JhbE9i
amVjdC5pbnNwZWN0b3JEZWJ1Z2dhYmxlKCkudW5wYXVzZUluc3BlY3RvckluaXRpYWxpemVkKCk7
CisjZW5kaWYKK30KKwogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyBFTkFC
TEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXgg
N2ZlMWM5My4uNWQ5Y2Y4YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5o
CkBAIC03OCw2ICs3OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEluc3BlY3RvckV2YWx1YXRl
SGFuZGxlciBldmFsdWF0ZUhhbmRsZXIoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZv
aWQgd2lsbENhbGxJbmplY3RlZFNjcmlwdEZ1bmN0aW9uKEpTQzo6RXhlY1N0YXRlKiwgY29uc3Qg
U3RyaW5nJiwgaW50KSBvdmVycmlkZSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2FsbEluamVj
dGVkU2NyaXB0RnVuY3Rpb24oSlNDOjpFeGVjU3RhdGUqKSBvdmVycmlkZSB7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgZnJvbnRlbmRJbml0aWFsaXplZCgpIG92ZXJyaWRlOwogCiBwcml2YXRlOgogICAg
IHZvaWQgYXBwZW5kQVBJQmFja3RyYWNlKFNjcmlwdENhbGxTdGFjayogY2FsbFN0YWNrKTsKQEAg
LTkxLDYgKzkyLDcgQEAgcHJpdmF0ZToKICAgICBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwqIG1f
aW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsOwogICAgIFJlZlB0cjxJbnNwZWN0b3JCYWNrZW5kRGlz
cGF0Y2hlcj4gbV9pbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjsKICAgICBib29sIG1faW5jbHVk
ZU5hdGl2ZUNhbGxTdGFja1dpdGhFeGNlcHRpb25zOworICAgIGJvb2wgbV9pc0F1dG9tYXRpY0lu
c3BlY3Rpb247CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNw
cAppbmRleCA2ZWY2M2YwLi43NjExNzQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuY3BwCkBAIC0zMywxMyAr
MzMsMTUgQEAKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAKKyNpbmNsdWRlICJJbnNwZWN0b3JF
bnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgogI2luY2x1ZGUgIlNj
cmlwdFZhbHVlLmgiCiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCi1JbnNwZWN0b3JBZ2VudDo6
SW5zcGVjdG9yQWdlbnQoKQorSW5zcGVjdG9yQWdlbnQ6Okluc3BlY3RvckFnZW50KEluc3BlY3Rv
ckVudmlyb25tZW50JiBlbnZpcm9ubWVudCkKICAgICA6IEluc3BlY3RvckFnZW50QmFzZShBU0NJ
SUxpdGVyYWwoIkluc3BlY3RvciIpKQorICAgICwgbV9lbnZpcm9ubWVudChlbnZpcm9ubWVudCkK
ICAgICAsIG1fZW5hYmxlZChmYWxzZSkKIHsKIH0KQEAgLTg3LDYgKzg5LDExIEBAIHZvaWQgSW5z
cGVjdG9yQWdlbnQ6OmRpc2FibGUoRXJyb3JTdHJpbmcqKQogICAgIG1fZW5hYmxlZCA9IGZhbHNl
OwogfQogCit2b2lkIEluc3BlY3RvckFnZW50Ojppbml0aWFsaXplZChFcnJvclN0cmluZyopCit7
CisgICAgbV9lbnZpcm9ubWVudC5mcm9udGVuZEluaXRpYWxpemVkKCk7Cit9CisKIHZvaWQgSW5z
cGVjdG9yQWdlbnQ6Omluc3BlY3QoUGFzc1JlZlB0cjxQcm90b2NvbDo6UnVudGltZTo6UmVtb3Rl
T2JqZWN0PiBvYmplY3RUb0luc3BlY3QsIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBoaW50
cykKIHsKICAgICBpZiAobV9lbmFibGVkICYmIG1fZnJvbnRlbmREaXNwYXRjaGVyKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JB
Z2VudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
QWdlbnQuaAppbmRleCA3MDhkNmJlLi5lYzBmM2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmgKQEAgLTQwLDEw
ICs0MCwxMCBAQAogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAotY2xhc3MgSW5zcGVjdG9yT2Jq
ZWN0OwotY2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50czsKK2NsYXNzIEluc3BlY3RvckVudmlyb25t
ZW50OwogY2xhc3MgSW5zcGVjdG9ySW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI7CiBjbGFzcyBJ
bnNwZWN0b3JJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzOworY2xhc3MgSW5zcGVjdG9yT2Jq
ZWN0OwogCiB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKIApAQCAtNTEsNyArNTEsNyBAQCBj
bGFzcyBKU19FWFBPUlRfUFJJVkFURSBJbnNwZWN0b3JBZ2VudCBmaW5hbCA6IHB1YmxpYyBJbnNw
ZWN0b3JBZ2VudEJhc2UsIHB1YmxpYwogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3Rv
ckFnZW50KTsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBJbnNw
ZWN0b3JBZ2VudCgpOworICAgIEluc3BlY3RvckFnZW50KEluc3BlY3RvckVudmlyb25tZW50Jik7
CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yQWdlbnQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRD
cmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKiwgSW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKQEAgLTU5LDExICs1OSwxMyBAQCBwdWJs
aWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgZW5hYmxlKEVycm9yU3RyaW5nKikgb3ZlcnJpZGU7CiAg
ICAgdmlydHVhbCB2b2lkIGRpc2FibGUoRXJyb3JTdHJpbmcqKSBvdmVycmlkZTsKKyAgICB2aXJ0
dWFsIHZvaWQgaW5pdGlhbGl6ZWQoRXJyb3JTdHJpbmcqKSBvdmVycmlkZTsKIAogICAgIHZvaWQg
aW5zcGVjdChQYXNzUmVmUHRyPFByb3RvY29sOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+IG9iamVj
dFRvSW5zcGVjdCwgUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGhpbnRzKTsKICAgICB2b2lk
IGV2YWx1YXRlRm9yVGVzdEluRnJvbnRlbmQoY29uc3QgU3RyaW5nJiBzY3JpcHQpOwogCiBwcml2
YXRlOgorICAgIEluc3BlY3RvckVudmlyb25tZW50JiBtX2Vudmlyb25tZW50OwogICAgIHN0ZDo6
dW5pcXVlX3B0cjxJbnNwZWN0b3JJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXI+IG1fZnJvbnRl
bmREaXNwYXRjaGVyOwogICAgIFJlZlB0cjxJbnNwZWN0b3JJbnNwZWN0b3JCYWNrZW5kRGlzcGF0
Y2hlcj4gbV9iYWNrZW5kRGlzcGF0Y2hlcjsKICAgICBWZWN0b3I8U3RyaW5nPiBtX3BlbmRpbmdF
dmFsdWF0ZVRlc3RDb21tYW5kczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvcHJvdG9jb2wvSW5zcGVjdG9yRG9tYWluLmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0luc3BlY3RvckRvbWFpbi5qc29uCmluZGV4IDQxMDYz
MWYuLjA1NjkwYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
cHJvdG9jb2wvSW5zcGVjdG9yRG9tYWluLmpzb24KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9wcm90b2NvbC9JbnNwZWN0b3JEb21haW4uanNvbgpAQCAtOSw2ICs5LDEwIEBA
CiAgICAgICAgIHsKICAgICAgICAgICAgICJuYW1lIjogImRpc2FibGUiLAogICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIGluc3BlY3RvciBkb21haW4gbm90aWZpY2F0aW9ucy4i
CisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJuYW1lIjogImluaXRpYWxpemVk
IiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTZW50IGJ5IHRoZSBmcm9udGVuZCBhZnRl
ciBhbGwgaW5pdGlhbGl6YXRpb24gbWVzc2FnZXMgaGF2ZSBiZWVuIHNlbnQuIgogICAgICAgICB9
CiAgICAgXSwKICAgICAiZXZlbnRzIjogWwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaAppbmRleCBiY2Q3ODA4Li4w
ZGZmYzI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90
ZS9SZW1vdGVJbnNwZWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCB1cGRhdGVEZWJ1Z2dhYmxlQXV0b21hdGljSW5zcGVjdENhbmRpZGF0ZShSZW1vdGVJbnNw
ZWN0b3JEZWJ1Z2dhYmxlKik7CiAgICAgdm9pZCBzZW5kTWVzc2FnZVRvUmVtb3RlRnJvbnRlbmQo
dW5zaWduZWQgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKTsKICAgICB2b2lkIHNl
dHVwRmFpbGVkKHVuc2lnbmVkIGlkZW50aWZpZXIpOwotICAgIHZvaWQgc2V0dXBTdWNjZWVkZWQo
dW5zaWduZWQgaWRlbnRpZmllcik7CisgICAgdm9pZCBzZXR1cENvbXBsZXRlZCh1bnNpZ25lZCBp
ZGVudGlmaWVyKTsKICAgICBib29sIHdhaXRpbmdGb3JBdXRvbWF0aWNJbnNwZWN0aW9uKHVuc2ln
bmVkIGlkZW50aWZpZXIpOwogCiAgICAgYm9vbCBlbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9l
bmFibGVkOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Jl
bW90ZS9SZW1vdGVJbnNwZWN0b3IubW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IubW0KaW5kZXggNmJmNzQyYzkuLjgxZDY4NDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3Bl
Y3Rvci5tbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1v
dGVJbnNwZWN0b3IubW0KQEAgLTIyMSw3ICsyMjEsNyBAQCB2b2lkIFJlbW90ZUluc3BlY3Rvcjo6
dXBkYXRlRGVidWdnYWJsZUF1dG9tYXRpY0luc3BlY3RDYW5kaWRhdGUoUmVtb3RlSW5zcGVjdG9y
RAogICAgICAgICB9CiAKICAgICAgICAgLy8gSW4gY2FzZSBkZWJ1Z2dlcnMgZmFpbCB0byByZXNw
b25kLCBvciB3ZSBjYW5ub3QgY29ubmVjdCB0byB3ZWJpbnNwZWN0b3JkLCBhdXRvbWF0aWNhbGx5
IGNvbnRpbnVlIGFmdGVyIGEgc2hvcnQgcGVyaW9kIG9mIHRpbWUuCi0gICAgICAgIGRpc3BhdGNo
X2FmdGVyKGRpc3BhdGNoX3RpbWUoRElTUEFUQ0hfVElNRV9OT1csIDAuMyAqIE5TRUNfUEVSX1NF
QyksIGRpc3BhdGNoX2dldF9nbG9iYWxfcXVldWUoRElTUEFUQ0hfUVVFVUVfUFJJT1JJVFlfREVG
QVVMVCwgMCksIF57CisgICAgICAgIGRpc3BhdGNoX2FmdGVyKGRpc3BhdGNoX3RpbWUoRElTUEFU
Q0hfVElNRV9OT1csIDAuOCAqIE5TRUNfUEVSX1NFQyksIGRpc3BhdGNoX2dldF9nbG9iYWxfcXVl
dWUoRElTUEFUQ0hfUVVFVUVfUFJJT1JJVFlfREVGQVVMVCwgMCksIF57CiAgICAgICAgICAgICBz
dGQ6OmxvY2tfZ3VhcmQ8c3RkOjptdXRleD4gbG9jayhtX211dGV4KTsKICAgICAgICAgICAgIGlm
IChtX2F1dG9tYXRpY0luc3BlY3Rpb25DYW5kaWRhdGVJZGVudGlmaWVyID09IGlkZW50aWZpZXIp
IHsKICAgICAgICAgICAgICAgICBMT0dfRVJST1IoIlNraXBwaW5nIEF1dG9tYXRpYyBJbnNwZWN0
aW9uIENhbmRpZGF0ZSB3aXRoIHBhZ2VJZCgldSkgYmVjYXVzZSB3ZSBmYWlsZWQgdG8gcmVjZWl2
ZSBhIHJlc3BvbnNlIGluIHRpbWUuIiwgbV9hdXRvbWF0aWNJbnNwZWN0aW9uQ2FuZGlkYXRlSWRl
bnRpZmllcik7CkBAIC0yODYsNyArMjg2LDcgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnNldHVw
RmFpbGVkKHVuc2lnbmVkIGlkZW50aWZpZXIpCiAgICAgcHVzaExpc3RpbmdTb29uKCk7CiB9CiAK
LXZvaWQgUmVtb3RlSW5zcGVjdG9yOjpzZXR1cFN1Y2NlZWRlZCh1bnNpZ25lZCBpZGVudGlmaWVy
KQordm9pZCBSZW1vdGVJbnNwZWN0b3I6OnNldHVwQ29tcGxldGVkKHVuc2lnbmVkIGlkZW50aWZp
ZXIpCiB7CiAgICAgc3RkOjpsb2NrX2d1YXJkPHN0ZDo6bXV0ZXg+IGxvY2sobV9tdXRleCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90
ZUluc3BlY3RvckRlYnVnZ2FibGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZS5jcHAKaW5kZXggMWY5OGE3MC4uM2Ji
Nzg0MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUv
UmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZS5jcHAKQEAgLTkxLDYg
KzkxLDExIEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZTo6cGF1c2VXYWl0aW5nRm9y
QXV0b21hdGljSW5zcGVjdGlvbigpCiAgICAgICAgIGxvb3AuY3ljbGUoKTsKIH0KIAordm9pZCBS
ZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlOjp1bnBhdXNlSW5zcGVjdG9ySW5pdGlhbGl6ZWQoKQor
eworICAgIFJlbW90ZUluc3BlY3Rvcjo6c2hhcmVkKCkuc2V0dXBDb21wbGV0ZWQoaWRlbnRpZmll
cigpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyBFTkFCTEUo
UkVNT1RFX0lOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3RvckRlYnVnZ2FibGUuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3RvckRlYnVnZ2FibGUuaAppbmRl
eCAzOWQ1MGI2Li41M2I3M2VkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZS5o
CkBAIC02OSw2ICs2OSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBhdXRvbWF0aWNJ
bnNwZWN0aW9uQWxsb3dlZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2
b2lkIHBhdXNlV2FpdGluZ0ZvckF1dG9tYXRpY0luc3BlY3Rpb24oKTsKKyAgICB2aXJ0dWFsIHZv
aWQgdW5wYXVzZUluc3BlY3RvckluaXRpYWxpemVkKCk7CiAKIHByaXZhdGU6CiAgICAgdW5zaWdu
ZWQgbV9pZGVudGlmaWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZUNvbm5lY3Rpb24ubW0gYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1Z2dh
YmxlQ29ubmVjdGlvbi5tbQppbmRleCA1ZDkzNTNlLi5hOTdkY2JiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1Z2dh
YmxlQ29ubmVjdGlvbi5tbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Jl
bW90ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlQ29ubmVjdGlvbi5tbQpAQCAtMTY2LDcgKzE2
Niw2IEBAIGJvb2wgUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZUNvbm5lY3Rpb246OnNldHVwKGJv
b2wgaXNBdXRvbWF0aWNJbnNwZWN0aW9uKQogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgICAgICBtX2RlYnVnZ2FibGUtPmNvbm5lY3QodGhpcywgaXNBdXRvbWF0aWNJbnNwZWN0aW9u
KTsKICAgICAgICAgICAgICAgICBtX2Nvbm5lY3RlZCA9IHRydWU7Ci0gICAgICAgICAgICAgICAg
UmVtb3RlSW5zcGVjdG9yOjpzaGFyZWQoKS5zZXR1cFN1Y2NlZWRlZChpZGVudGlmaWVyKCkpOwog
ICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGRlcmVmKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDMwNDE3MS4uNzVmNzA0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE0LTA5LTIz
ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogQXV0b21hdGljIEluc3BlY3Rpb24gc2hvdWxkIGNvbnRpbnVlIG9uY2UgYWxsIGJy
ZWFrcG9pbnRzIGFyZSBsb2FkZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEzNzAzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEhhbmRsZSBmcm9udGVuZCBpbml0aWFsaXphdGlvbiBtZXNzYWdlcyBldmVu
IHRob3VnaCBwYWdlcyBjYW5ub3QKKyAgICAgICAgYmUgYXV0b21hdGljYWxseSBpbnNwZWN0ZWQg
eWV0LgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29ubmVjdEZyb250
ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmZyb250ZW5kSW5p
dGlhbGl6ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmg6Cisg
ICAgICAgICogaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaDoKKyAgICAgICAg
KiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6Omluc3BlY3RvckRlYnVnZ2Fi
bGUpOgorCiAyMDE0LTA5LTE3ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+
CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogU2hvdWxkIGJlIGFibGUgdG8gYXR0YWNoIGEgZGVi
dWdnZXIgdG8gYSBKU0NvbnRleHQgYmVmb3JlIGFueXRoaW5nIGlzIGV4ZWN1dGVkCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggMTcx
YTZhMi4uMDFhNTA4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDb250cm9sbGVyLmNwcApAQCAtNzQsNiArNzQsMTAgQEAKICNpbmNsdWRlIDxpbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckFnZW50Lmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4KIAor
I2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorI2luY2x1ZGUgIlBhZ2VEZWJ1Z2dhYmxlLmgi
CisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0
b3I7CiAKQEAgLTg3LDEzICs5MSwxNCBAQCBJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JD
b250cm9sbGVyKFBhZ2UmIHBhZ2UsIEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQwogICAgICwg
bV9wYWdlKHBhZ2UpCiAgICAgLCBtX2luc3BlY3RvckNsaWVudChpbnNwZWN0b3JDbGllbnQpCiAg
ICAgLCBtX2lzVW5kZXJUZXN0KGZhbHNlKQorICAgICwgbV9pc0F1dG9tYXRpY0luc3BlY3Rpb24o
ZmFsc2UpCiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCiAgICAgLCBtX2hhc1JlbW90ZUZy
b250ZW5kKGZhbHNlKQogI2VuZGlmCiB7CiAgICAgQVNTRVJUX0FSRyhpbnNwZWN0b3JDbGllbnQs
IGluc3BlY3RvckNsaWVudCk7CiAKLSAgICBhdXRvIGluc3BlY3RvckFnZW50UHRyID0gc3RkOjpt
YWtlX3VuaXF1ZTxJbnNwZWN0b3JBZ2VudD4oKTsKKyAgICBhdXRvIGluc3BlY3RvckFnZW50UHRy
ID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JBZ2VudD4oKnRoaXMpOwogICAgIG1faW5zcGVj
dG9yQWdlbnQgPSBpbnNwZWN0b3JBZ2VudFB0ci5nZXQoKTsKICAgICBtX2luc3RydW1lbnRpbmdB
Z2VudHMtPnNldEluc3BlY3RvckFnZW50KG1faW5zcGVjdG9yQWdlbnQpOwogICAgIG1fYWdlbnRz
LmFwcGVuZChXVEY6Om1vdmUoaW5zcGVjdG9yQWdlbnRQdHIpKTsKQEAgLTIzMCwxMyArMjM1LDE1
IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkQ2xlYXJXaW5kb3dPYmplY3RJbldvcmxk
KEZyYW1lKiBmcmFtZSwgRE9NV3JhcHBlcldvCiAgICAgICAgIG1faW5zcGVjdG9yRnJvbnRlbmRD
bGllbnQtPndpbmRvd09iamVjdENsZWFyZWQoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JDb250cm9s
bGVyOjpjb25uZWN0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENo
YW5uZWwsIGJvb2wpCit2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZChJ
bnNwZWN0b3JGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwgYm9vbCBpc0F1dG9tYXRp
Y0luc3BlY3Rpb24pCiB7CiAgICAgQVNTRVJUKGZyb250ZW5kQ2hhbm5lbCk7CiAgICAgQVNTRVJU
KG1faW5zcGVjdG9yQ2xpZW50KTsKICAgICBBU1NFUlQoIW1faW5zcGVjdG9yRnJvbnRlbmRDaGFu
bmVsKTsKICAgICBBU1NFUlQoIW1faW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIpOwogCisgICAg
bV9pc0F1dG9tYXRpY0luc3BlY3Rpb24gPSBpc0F1dG9tYXRpY0luc3BlY3Rpb247CisKICAgICBt
X2luc3BlY3RvckZyb250ZW5kQ2hhbm5lbCA9IGZyb250ZW5kQ2hhbm5lbDsKICAgICBtX2luc3Bl
Y3RvckJhY2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0
ZShmcm9udGVuZENoYW5uZWwpOwogCkBAIC0yNjIsNiArMjY5LDggQEAgdm9pZCBJbnNwZWN0b3JD
b250cm9sbGVyOjpkaXNjb25uZWN0RnJvbnRlbmQoSW5zcGVjdG9yRGlzY29ubmVjdFJlYXNvbiBy
ZWFzb24pCiAgICAgbV9pbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jbGVhcigpOwogICAgIG1f
aW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsID0gbnVsbHB0cjsKIAorICAgIG1faXNBdXRvbWF0aWNJ
bnNwZWN0aW9uID0gZmFsc2U7CisKICAgICAvLyBSZWxlYXNlIG92ZXJsYXkgcGFnZSByZXNvdXJj
ZXMuCiAgICAgbV9vdmVybGF5LT5mcmVlUGFnZSgpOwogICAgIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZnJvbnRlbmREZWxldGVkKCk7CkBAIC00MzYsNiArNDQ1LDE0IEBAIHZvaWQgSW5zcGVj
dG9yQ29udHJvbGxlcjo6ZGlkQ2FsbEluamVjdGVkU2NyaXB0RnVuY3Rpb24oSlNDOjpFeGVjU3Rh
dGUqIHNjcmlwdFN0CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDYWxsRnVuY3Rp
b24oY29va2llLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKIH0KIAordm9pZCBJbnNwZWN0b3JD
b250cm9sbGVyOjpmcm9udGVuZEluaXRpYWxpemVkKCkKK3sKKyNpZiBFTkFCTEUoUkVNT1RFX0lO
U1BFQ1RPUikKKyAgICBpZiAobV9pc0F1dG9tYXRpY0luc3BlY3Rpb24pCisgICAgICAgIG1fcGFn
ZS5pbnNwZWN0b3JEZWJ1Z2dhYmxlKCkudW5wYXVzZUluc3BlY3RvckluaXRpYWxpemVkKCk7Cisj
ZW5kaWYKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElO
U1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxl
ci5oCmluZGV4IDEyYTFlNmEuLmEwMjk1NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMTI5LDYgKzEyOSw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIEluc3BlY3Rvcjo6SW5zcGVjdG9yRXZhbHVhdGVIYW5kbGVyIGV2YWx1YXRlSGFu
ZGxlcigpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsQ2FsbEluamVjdGVk
U2NyaXB0RnVuY3Rpb24oSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmIHNjcmlwdE5hbWUs
IGludCBzY3JpcHRMaW5lKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2FsbEluamVj
dGVkU2NyaXB0RnVuY3Rpb24oSlNDOjpFeGVjU3RhdGUqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFs
IHZvaWQgZnJvbnRlbmRJbml0aWFsaXplZCgpIG92ZXJyaWRlOwogCiBwcml2YXRlOgogICAgIGZy
aWVuZCBJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50YXRpb25Gb3JQYWdlKFBhZ2UqKTsK
QEAgLTE1Myw2ICsxNTQsNyBAQCBwcml2YXRlOgogICAgIEluc3BlY3Rvcjo6SW5zcGVjdG9yQWdl
bnRSZWdpc3RyeSBtX2FnZW50czsKICAgICBWZWN0b3I8SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Q29va2llLCAyPiBtX2luamVjdGVkU2NyaXB0SW5zdHJ1bWVudGF0aW9uQ29va2llczsKICAgICBi
b29sIG1faXNVbmRlclRlc3Q7CisgICAgYm9vbCBtX2lzQXV0b21hdGljSW5zcGVjdGlvbjsKIAog
I2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQogICAgIGJvb2wgbV9oYXNSZW1vdGVGcm9udGVu
ZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JD
b250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29u
dHJvbGxlci5oCmluZGV4IDI4MjI3NjQuLjdhMjFkNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtNzMsNiArNzMs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBJbnNwZWN0b3I6Okluc3BlY3RvckV2YWx1YXRlSGFu
ZGxlciBldmFsdWF0ZUhhbmRsZXIoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQg
d2lsbENhbGxJbmplY3RlZFNjcmlwdEZ1bmN0aW9uKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3Ry
aW5nJiBzY3JpcHROYW1lLCBpbnQgc2NyaXB0TGluZSkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2
b2lkIGRpZENhbGxJbmplY3RlZFNjcmlwdEZ1bmN0aW9uKEpTQzo6RXhlY1N0YXRlKikgb3ZlcnJp
ZGU7CisgICAgdmlydHVhbCB2b2lkIGZyb250ZW5kSW5pdGlhbGl6ZWQoKSBvdmVycmlkZSB7IH0K
IAogcHJpdmF0ZToKICAgICBmcmllbmQgSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGF0
aW9uRm9yV29ya2VyR2xvYmFsU2NvcGUoV29ya2VyR2xvYmFsU2NvcGUqKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgK
aW5kZXggODZmMmFmZC4uMmNlNTJiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTQxMCw2ICs0MTAsMTAg
QEAgcHVibGljOgogCiAgICAgUGFnZUNvbnNvbGVDbGllbnQmIGNvbnNvbGUoKSB7IHJldHVybiAq
bV9jb25zb2xlQ2xpZW50OyB9CiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKyAgICBQ
YWdlRGVidWdnYWJsZSYgaW5zcGVjdG9yRGVidWdnYWJsZSgpIGNvbnN0IHsgcmV0dXJuICptX2lu
c3BlY3RvckRlYnVnZ2FibGUuZ2V0KCk7IH0KKyNlbmRpZgorCiAgICAgdm9pZCBoaWRkZW5QYWdl
Q1NTQW5pbWF0aW9uU3VzcGVuc2lvblN0YXRlQ2hhbmdlZCgpOwogCiAjaWYgRU5BQkxFKFZJREVP
X1RSQUNLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggYzM2OWI5Zi4uMGY1MjIyYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTQtMDktMjMgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBBdXRvbWF0aWMgSW5zcGVjdGlvbiBzaG91bGQgY29udGludWUgb25jZSBhbGwgYnJlYWtwb2lu
dHMgYXJlIGxvYWRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTM3MDM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qczoKKyAgICAgICAgU2VuZCB0aGUgaW5p
dGlhbGl6ZWQgbWVzc2FnZSBhZnRlciB3ZSBoYXZlIHNlbnQgYWxsIG90aGVyIHNldHVwIG1lc3Nh
Z2VzLAorICAgICAgICBzdWNoIGFzIGVuYWJsaW5nIGZlYXR1cmVzIGFuZCBzZXR0aW5nIGJyZWFr
cG9pbnRzLgorCiAyMDE0LTA5LTE3ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5j
b20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUmVtb3ZlIHVubmVjZXNzYXJ5IHByZWZpeGVz
IGluIFdlYkluc3BlY3RvclVJIENTUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvQmFzZS9NYWluLmpzCmluZGV4IGVkOGUyYTAuLmIyODg2NTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKQEAgLTEyMCw2
ICsxMjAsMTIgQEAgV2ViSW5zcGVjdG9yLmxvYWRlZCA9IGZ1bmN0aW9uKCkKICAgICBpZiAod2lu
ZG93LkNvbnNvbGVBZ2VudCkKICAgICAgICAgQ29uc29sZUFnZW50LmVuYWJsZSgpOwogCisgICAg
Ly8gVGVsbCB0aGUgYmFja2VuZCB3ZSBhcmUgaW5pdGlhbGl6ZWQgYWZ0ZXIgYWxsIG91ciBpbml0
aWFsaXphdGlvbiBtZXNzYWdlcyBoYXZlIGJlZW4gc2VudC4KKyAgICBzZXRUaW1lb3V0KGZ1bmN0
aW9uKCkgeworICAgICAgICBpZiAod2luZG93Lkluc3BlY3RvckFnZW50ICYmIEluc3BlY3RvckFn
ZW50LmluaXRpYWxpemVkKQorICAgICAgICAgICAgSW5zcGVjdG9yQWdlbnQuaW5pdGlhbGl6ZWQo
KTsKKyAgICB9LCAwKTsKKwogICAgIC8vIFJlZ2lzdGVyIGZvciBldmVudHMuCiAgICAgdGhpcy5y
ZXBsYXlNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlJlcGxheU1hbmFnZXIu
RXZlbnQuQ2FwdHVyZVN0YXJ0ZWQsIHRoaXMuX2NhcHR1cmVEaWRTdGFydCwgdGhpcyk7CiAgICAg
dGhpcy5kZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRGVidWdn
ZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwgdGhpcy5fZGVidWdnZXJEaWRQYXVzZSwgdGhpcyk7Cg==
</data>
<flag name="review"
          id="263303"
          type_id="1"
          status="+"
          setter="timothy"
    />
    <flag name="commit-queue"
          id="263304"
          type_id="3"
          status="-"
          setter="joepeck"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238570</attachid>
            <date>2014-09-23 14:05:09 -0700</date>
            <delta_ts>2014-09-26 16:25:22 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>with-changes.patch</filename>
            <type>text/plain</type>
            <size>23044</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGY1M2U1YTguLmRmNTU5YjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDE0LTA5LTIzICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQXV0b21h
dGljIEluc3BlY3Rpb24gc2hvdWxkIGNvbnRpbnVlIG9uY2UgYWxsIGJyZWFrcG9pbnRzIGFyZSBs
b2FkZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
NzAzOAorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4KKworICAgICAgICBB
ZGQgYSBuZXcgcHJvdG9jb2wgY29tbWFuZCAiSW5zcGVjdG9yLmluaXRpYWxpemVkIiB0aGF0IHNp
Z25pZmllcyB0byB0aGUgYmFja2VuZAorICAgICAgICB3aGVuIHRoZSBmcm9udGVuZCBoYXMgc2Vu
dCBhbGwgaXRzIGluaXRpYWxpemF0aW9uIG1lc3NhZ2VzIHRvIHRoZSBiYWNrZW5kLiBUaGlzCisg
ICAgICAgIGNhbiBpbmNsdWRlIGluZm9ybWF0aW9uIGxpa2UgYnJlYWtwb2ludHMsIHdoaWNoIHdl
IHdvdWxkIHdhbnQgdG8gaGF2ZSBsb2FkZWQKKyAgICAgICAgYmVmb3JlIGFueSBKYXZhU2NyaXB0
IGV2YWx1YXRlcyBpbiB0aGUgY29udGV4dC4KKworICAgICAgICAqIGluc3BlY3Rvci9wcm90b2Nv
bC9JbnNwZWN0b3JEb21haW4uanNvbjoKKyAgICAgICAgTmV3IHByb3RvY29sIGNvbW1hbmQsIElu
c3BlY3Rvci5pbml0aWFsaXplZC4KKworICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNw
cDoKKyAgICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9yQWdlbnQ6Okluc3BlY3RvckFnZW50KToK
KyAgICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9yQWdlbnQ6OmluaXRpYWxpemVkKToKKyAgICAg
ICAgVGVsbCB0aGUgSW5zcGVjdG9yRW52aXJvbm1lbnQgKHRoZSBDb250cm9sbGVyKSB0aGUgZnJv
bnRlbmQgaGFzIGluaXRpYWxpemVkLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckVu
dmlyb25tZW50Lmg6CisgICAgICAgIEFic3RyYWN0IHZpcnR1YWwgbWV0aG9kIHRvIGhhbmRsZSBm
cm9udGVuZCBpbml0aWFsaXphdGlvbi4gVG8gYmUKKyAgICAgICAgaW1wbGVtZW50ZWQgYnkgYWxs
IG9mIHRoZSBJbnNwZWN0b3JDb250cm9sbGVycy4KKworICAgICAgICAqIGluc3BlY3Rvci9KU0ds
b2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNH
bG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKEluc3BlY3Rvcjo6
SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpKU0dsb2JhbE9iamVjdEluc3BlY3Rv
ckNvbnRyb2xsZXIpOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdEluc3BlY3Rv
ckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCk6CisgICAgICAgIChJbnNwZWN0b3I6OkpTR2xv
YmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29ubmVjdEZyb250ZW5kKToKKyAgICAg
ICAgKEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpmcm9udGVu
ZEluaXRpYWxpemVkKToKKyAgICAgICAgV2hlbiBhIGZyb250ZW5kIGlzIGluaXRpYWxpemVkLCBp
ZiBpdCB3YXMgYXV0b21hdGljIGluc3BlY3Rpb24gdW5wYXVzZSB0aGUgZGVidWdnYWJsZS4KKwor
ICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZS5jcHA6
CisgICAgICAgIChJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGU6OnVucGF1c2VG
b3JJbml0aWFsaXplZEluc3BlY3Rvcik6CisgICAgICAgIENvbXBsZXRlIHNldHVwIGZvciB0aGlz
IGRlYnVnZ2FibGUuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rv
ckRlYnVnZ2FibGUuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rv
ckRlYnVnZ2FibGVDb25uZWN0aW9uLm1tOgorICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNw
ZWN0b3JEZWJ1Z2dhYmxlQ29ubmVjdGlvbjo6c2V0dXApOgorICAgICAgICBNb3ZlIHRoZSBzZXR1
cCBjb21wbGV0ZSB0byBsYXRlciwgd2hlbiB0aGUgZnJvbnRlbmQgc2VuZHMgYW4gImluaXRpYWxp
emVkIiBtZXNzYWdlLgorCisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0
b3IuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5tbToKKyAg
ICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjp1cGRhdGVEZWJ1Z2dhYmxlQXV0b21h
dGljSW5zcGVjdENhbmRpZGF0ZSk6CisgICAgICAgIFByb3ZpZGUgYSBsb25nZXIgdGltZW91dCBu
b3cgdGhhdCB0aGUgZnJvbnRlbmQgbXVzdCBzZW5kIG1lc3NhZ2VzIGFmdGVyIHRoZSBjb25uZWN0
aW9uCisgICAgICAgIGhhcyBlc3RhYmxpc2hlZC4gVGhlIGxvbmdlc3QgSSBoYXZlIHNlZW4gaW4g
IDYwMG1zLCBidXQgdGhlIGF2ZXJhZ2UgdGVuZHMgdG8gYmUgMjAwbXMuCisgICAgICAgIFNvIGJ1
bXAgdGhlIHRpbWVvdXQgdG8gODAwbXMgZm9yIGEgYnVmZmVyLgorCisgICAgICAgIChJbnNwZWN0
b3I6OlJlbW90ZUluc3BlY3Rvcjo6c2V0dXBTdWNjZWVkZWQpOiBEZWxldGVkLgorICAgICAgICAo
SW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNldHVwQ29tcGxldGVkKToKKyAgICAgICAgUmVu
YW1lLCBhcyB0aGlzIGhhcHBlbnMgYXQgYSBzbGlnaHRseSBkaWZmZXJlbnQgdGltZS4KKwogMjAx
NC0wOS0xNyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IFNob3VsZCBiZSBhYmxlIHRvIGF0dGFjaCBhIGRlYnVnZ2VyIHRvIGEg
SlNDb250ZXh0IGJlZm9yZSBhbnl0aGluZyBpcyBleGVjdXRlZApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JFbnZpcm9ubWVudC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JFbnZpcm9ubWVudC5oCmluZGV4IDU4
OGQ3YTEuLjZlNDMzMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRW52aXJvbm1lbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckVudmlyb25tZW50LmgKQEAgLTQ2LDYgKzQ2LDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgSW5zcGVjdG9yRXZhbHVhdGVIYW5kbGVyIGV2YWx1YXRlSGFuZGxlcigpIGNv
bnN0ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbENhbGxJbmplY3RlZFNjcmlwdEZ1bmN0aW9u
KEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJiBzY3JpcHROYW1lLCBpbnQgc2NyaXB0TGlu
ZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDYWxsSW5qZWN0ZWRTY3JpcHRGdW5jdGlvbihK
U0M6OkV4ZWNTdGF0ZSopID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZnJvbnRlbmRJbml0aWFsaXpl
ZCgpID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRy
b2xsZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVj
dEluc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IGM4OGE0M2MuLjM0M2Y2NGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0
b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pT
R2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTQ3LDYgKzQ3LDEwIEBACiAj
aW5jbHVkZSA8ZGxmY24uaD4KICNpbmNsdWRlIDxleGVjaW5mby5oPgogCisjaWYgRU5BQkxFKFJF
TU9URV9JTlNQRUNUT1IpCisjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmgiCisj
ZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBA
IC01Niw2ICs2MCw3IEBAIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6SlNHbG9i
YWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyKEpTR2xvYmFsT2JqCiAgICAgLCBtX2luamVjdGVk
U2NyaXB0TWFuYWdlcihzdGQ6Om1ha2VfdW5pcXVlPEluamVjdGVkU2NyaXB0TWFuYWdlcj4oKnRo
aXMsIEluamVjdGVkU2NyaXB0SG9zdDo6Y3JlYXRlKCkpKQogICAgICwgbV9pbnNwZWN0b3JGcm9u
dGVuZENoYW5uZWwobnVsbHB0cikKICAgICAsIG1faW5jbHVkZU5hdGl2ZUNhbGxTdGFja1dpdGhF
eGNlcHRpb25zKHRydWUpCisgICAgLCBtX2lzQXV0b21hdGljSW5zcGVjdGlvbihmYWxzZSkKIHsK
ICAgICBhdXRvIHJ1bnRpbWVBZ2VudCA9IHN0ZDo6bWFrZV91bmlxdWU8SlNHbG9iYWxPYmplY3RS
dW50aW1lQWdlbnQ+KG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpLCBtX2dsb2JhbE9iamVj
dCk7CiAgICAgYXV0byBjb25zb2xlQWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEpTR2xvYmFsT2Jq
ZWN0Q29uc29sZUFnZW50PihtX2luamVjdGVkU2NyaXB0TWFuYWdlci5nZXQoKSk7CkBAIC02Nyw3
ICs3Miw3IEBAIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6SlNHbG9iYWxPYmpl
Y3RJbnNwZWN0b3JDb250cm9sbGVyKEpTR2xvYmFsT2JqCiAKICAgICBydW50aW1lQWdlbnQtPnNl
dFNjcmlwdERlYnVnU2VydmVyKCZkZWJ1Z2dlckFnZW50LT5zY3JpcHREZWJ1Z1NlcnZlcigpKTsK
IAotICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvckFnZW50Pigp
KTsKKyAgICBtX2FnZW50cy5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JBZ2VudD4o
KnRoaXMpKTsKICAgICBtX2FnZW50cy5hcHBlbmQoV1RGOjptb3ZlKHJ1bnRpbWVBZ2VudCkpOwog
ICAgIG1fYWdlbnRzLmFwcGVuZChXVEY6Om1vdmUoY29uc29sZUFnZW50KSk7CiAgICAgbV9hZ2Vu
dHMuYXBwZW5kKFdURjo6bW92ZShkZWJ1Z2dlckFnZW50KSk7CkBAIC05MCwxOSArOTUsMTIgQEAg
dm9pZCBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZChJ
bnNwZWN0b3JGcm9udGVuZENoYW5uZWwKICAgICBBU1NFUlQoIW1faW5zcGVjdG9yRnJvbnRlbmRD
aGFubmVsKTsKICAgICBBU1NFUlQoIW1faW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIpOwogCisg
ICAgbV9pc0F1dG9tYXRpY0luc3BlY3Rpb24gPSBpc0F1dG9tYXRpY0luc3BlY3Rpb247CisKICAg
ICBtX2luc3BlY3RvckZyb250ZW5kQ2hhbm5lbCA9IGZyb250ZW5kQ2hhbm5lbDsKICAgICBtX2lu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6OmNy
ZWF0ZShmcm9udGVuZENoYW5uZWwpOwogCiAgICAgbV9hZ2VudHMuZGlkQ3JlYXRlRnJvbnRlbmRB
bmRCYWNrZW5kKGZyb250ZW5kQ2hhbm5lbCwgbV9pbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5n
ZXQoKSk7Ci0KLSAgICBpZiAoaXNBdXRvbWF0aWNJbnNwZWN0aW9uKSB7Ci0gICAgICAgIC8vIEZJ
WE1FOiBXZSBzaG91bGQgbm90IGFsd2F5cyBwYXVzZSBmb3IgYXV0b21hdGljIGluc3BlY3Rpb24u
Ci0gICAgICAgIC8vIEN1cnJlbnRseSBpZiB3ZSBkb24ndCBhdXRvbWF0aWNhbGx5IHBhdXNlLCB0
aGVuIHdlIG1heSBtaXNzIGEgYnJlYWtwb2ludCwgc2luY2UgYnJlYWtwb2ludHMKLSAgICAgICAg
Ly8gY29tZSBmcm9tIHRoZSBmcm9udGVuZCBhbmQgbWlnaHQgYmUgcmVjZWl2ZWQgYWZ0ZXIgc29t
ZSBldmFsdWF0ZVNjcmlwdCBtZXNzYWdlLiBXZSBzaG91bGQKLSAgICAgICAgLy8gaGF2ZSB0aGUg
ZnJvbnRlbmQgc2lnbmFsIHRoZSBiYWNrZW5kIHdoZW4gaXRzIHNldHVwIG1lc3NhZ2VzIGFyZSBj
b21wbGV0ZS4KLSAgICAgICAgbV9kZWJ1Z2dlckFnZW50LT5lbmFibGUobnVsbHB0cik7Ci0gICAg
ICAgIG1fZGVidWdnZXJBZ2VudC0+cGF1c2UobnVsbHB0cik7Ci0gICAgfQogfQogCiB2b2lkIEpT
R2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29ubmVjdEZyb250ZW5kKEluc3Bl
Y3RvckRpc2Nvbm5lY3RSZWFzb24gcmVhc29uKQpAQCAtMTE1LDYgKzExMyw4IEBAIHZvaWQgSlNH
bG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpkaXNjb25uZWN0RnJvbnRlbmQoSW5zcGVj
dG9yRGlzY29ubmVjdFJlCiAgICAgbV9pbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci0+Y2xlYXJG
cm9udGVuZCgpOwogICAgIG1faW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY2xlYXIoKTsKICAg
ICBtX2luc3BlY3RvckZyb250ZW5kQ2hhbm5lbCA9IG51bGxwdHI7CisKKyAgICBtX2lzQXV0b21h
dGljSW5zcGVjdGlvbiA9IGZhbHNlOwogfQogCiB2b2lkIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9y
Q29udHJvbGxlcjo6ZGlzcGF0Y2hNZXNzYWdlRnJvbUZyb250ZW5kKGNvbnN0IFN0cmluZyYgbWVz
c2FnZSkKQEAgLTE5Miw2ICsxOTIsMTQgQEAgSW5zcGVjdG9yRXZhbHVhdGVIYW5kbGVyIEpTR2xv
YmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6ZXZhbHVhdGVIYW5kbGVyKCkgY28KICAgICBy
ZXR1cm4gSlNDOjpldmFsdWF0ZTsKIH0KIAordm9pZCBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNv
bnRyb2xsZXI6OmZyb250ZW5kSW5pdGlhbGl6ZWQoKQoreworI2lmIEVOQUJMRShSRU1PVEVfSU5T
UEVDVE9SKQorICAgIGlmIChtX2lzQXV0b21hdGljSW5zcGVjdGlvbikKKyAgICAgICAgbV9nbG9i
YWxPYmplY3QuaW5zcGVjdG9yRGVidWdnYWJsZSgpLnVucGF1c2VGb3JJbml0aWFsaXplZEluc3Bl
Y3RvcigpOworI2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYg
Ly8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5o
CmluZGV4IDdmZTFjOTMuLjVkOWNmOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRy
b2xsZXIuaApAQCAtNzgsNiArNzgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBJbnNwZWN0b3JF
dmFsdWF0ZUhhbmRsZXIgZXZhbHVhdGVIYW5kbGVyKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmly
dHVhbCB2b2lkIHdpbGxDYWxsSW5qZWN0ZWRTY3JpcHRGdW5jdGlvbihKU0M6OkV4ZWNTdGF0ZSos
IGNvbnN0IFN0cmluZyYsIGludCkgb3ZlcnJpZGUgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZENh
bGxJbmplY3RlZFNjcmlwdEZ1bmN0aW9uKEpTQzo6RXhlY1N0YXRlKikgb3ZlcnJpZGUgeyB9Cisg
ICAgdmlydHVhbCB2b2lkIGZyb250ZW5kSW5pdGlhbGl6ZWQoKSBvdmVycmlkZTsKIAogcHJpdmF0
ZToKICAgICB2b2lkIGFwcGVuZEFQSUJhY2t0cmFjZShTY3JpcHRDYWxsU3RhY2sqIGNhbGxTdGFj
ayk7CkBAIC05MSw2ICs5Miw3IEBAIHByaXZhdGU6CiAgICAgSW5zcGVjdG9yRnJvbnRlbmRDaGFu
bmVsKiBtX2luc3BlY3RvckZyb250ZW5kQ2hhbm5lbDsKICAgICBSZWZQdHI8SW5zcGVjdG9yQmFj
a2VuZERpc3BhdGNoZXI+IG1faW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI7CiAgICAgYm9vbCBt
X2luY2x1ZGVOYXRpdmVDYWxsU3RhY2tXaXRoRXhjZXB0aW9uczsKKyAgICBib29sIG1faXNBdXRv
bWF0aWNJbnNwZWN0aW9uOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2Vu
dC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JB
Z2VudC5jcHAKaW5kZXggNmVmNjNmMC4uNzYxMTc0NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNwcApAQCAt
MzMsMTMgKzMzLDE1IEBACiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCisjaW5jbHVkZSAiSW5z
cGVjdG9yRW52aXJvbm1lbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIKICNpbmNs
dWRlICJTY3JpcHRWYWx1ZS5oIgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAotSW5zcGVjdG9y
QWdlbnQ6Okluc3BlY3RvckFnZW50KCkKK0luc3BlY3RvckFnZW50OjpJbnNwZWN0b3JBZ2VudChJ
bnNwZWN0b3JFbnZpcm9ubWVudCYgZW52aXJvbm1lbnQpCiAgICAgOiBJbnNwZWN0b3JBZ2VudEJh
c2UoQVNDSUlMaXRlcmFsKCJJbnNwZWN0b3IiKSkKKyAgICAsIG1fZW52aXJvbm1lbnQoZW52aXJv
bm1lbnQpCiAgICAgLCBtX2VuYWJsZWQoZmFsc2UpCiB7CiB9CkBAIC04Nyw2ICs4OSwxMSBAQCB2
b2lkIEluc3BlY3RvckFnZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKICAgICBtX2VuYWJsZWQg
PSBmYWxzZTsKIH0KIAordm9pZCBJbnNwZWN0b3JBZ2VudDo6aW5pdGlhbGl6ZWQoRXJyb3JTdHJp
bmcqKQoreworICAgIG1fZW52aXJvbm1lbnQuZnJvbnRlbmRJbml0aWFsaXplZCgpOworfQorCiB2
b2lkIEluc3BlY3RvckFnZW50OjppbnNwZWN0KFBhc3NSZWZQdHI8UHJvdG9jb2w6OlJ1bnRpbWU6
OlJlbW90ZU9iamVjdD4gb2JqZWN0VG9JbnNwZWN0LCBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVj
dD4gaGludHMpCiB7CiAgICAgaWYgKG1fZW5hYmxlZCAmJiBtX2Zyb250ZW5kRGlzcGF0Y2hlcikg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yQWdlbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvckFnZW50LmgKaW5kZXggNzA4ZDZiZS4uZWMwZjNmOSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5oCkBA
IC00MCwxMCArNDAsMTAgQEAKIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKLWNsYXNzIEluc3Bl
Y3Rvck9iamVjdDsKLWNsYXNzIEluc3RydW1lbnRpbmdBZ2VudHM7CitjbGFzcyBJbnNwZWN0b3JF
bnZpcm9ubWVudDsKIGNsYXNzIEluc3BlY3Rvckluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyOwog
Y2xhc3MgSW5zcGVjdG9ySW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyczsKK2NsYXNzIEluc3Bl
Y3Rvck9iamVjdDsKIAogdHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CiAKQEAgLTUxLDcgKzUx
LDcgQEAgY2xhc3MgSlNfRVhQT1JUX1BSSVZBVEUgSW5zcGVjdG9yQWdlbnQgZmluYWwgOiBwdWJs
aWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJ
bnNwZWN0b3JBZ2VudCk7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0g
ICAgSW5zcGVjdG9yQWdlbnQoKTsKKyAgICBJbnNwZWN0b3JBZ2VudChJbnNwZWN0b3JFbnZpcm9u
bWVudCYpOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckFnZW50KCk7CiAKICAgICB2aXJ0dWFsIHZv
aWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCos
IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CkBAIC01OSwxMSArNTksMTMg
QEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyopIG92ZXJy
aWRlOwogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nKikgb3ZlcnJpZGU7Cisg
ICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemVkKEVycm9yU3RyaW5nKikgb3ZlcnJpZGU7CiAKICAg
ICB2b2lkIGluc3BlY3QoUGFzc1JlZlB0cjxQcm90b2NvbDo6UnVudGltZTo6UmVtb3RlT2JqZWN0
PiBvYmplY3RUb0luc3BlY3QsIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBoaW50cyk7CiAg
ICAgdm9pZCBldmFsdWF0ZUZvclRlc3RJbkZyb250ZW5kKGNvbnN0IFN0cmluZyYgc2NyaXB0KTsK
IAogcHJpdmF0ZToKKyAgICBJbnNwZWN0b3JFbnZpcm9ubWVudCYgbV9lbnZpcm9ubWVudDsKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9ySW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyPiBt
X2Zyb250ZW5kRGlzcGF0Y2hlcjsKICAgICBSZWZQdHI8SW5zcGVjdG9ySW5zcGVjdG9yQmFja2Vu
ZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3BhdGNoZXI7CiAgICAgVmVjdG9yPFN0cmluZz4gbV9w
ZW5kaW5nRXZhbHVhdGVUZXN0Q29tbWFuZHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0luc3BlY3RvckRvbWFpbi5qc29uIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9JbnNwZWN0b3JEb21haW4uanNvbgppbmRl
eCA0MTA2MzFmLi4wNTY5MGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3Byb3RvY29sL0luc3BlY3RvckRvbWFpbi5qc29uCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvSW5zcGVjdG9yRG9tYWluLmpzb24KQEAgLTksNiAr
OSwxMCBAQAogICAgICAgICB7CiAgICAgICAgICAgICAibmFtZSI6ICJkaXNhYmxlIiwKICAgICAg
ICAgICAgICJkZXNjcmlwdGlvbiI6ICJEaXNhYmxlcyBpbnNwZWN0b3IgZG9tYWluIG5vdGlmaWNh
dGlvbnMuIgorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgICAibmFtZSI6ICJpbml0
aWFsaXplZCIsCisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2VudCBieSB0aGUgZnJvbnRl
bmQgYWZ0ZXIgYWxsIGluaXRpYWxpemF0aW9uIG1lc3NhZ2VzIGhhdmUgYmVlbiBzZW50LiIKICAg
ICAgICAgfQogICAgIF0sCiAgICAgImV2ZW50cyI6IFsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmgKaW5kZXggYmNk
NzgwOC4uMGRmZmMyOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmgKQEAgLTU1LDcgKzU1LDcgQEAgcHVibGlj
OgogICAgIHZvaWQgdXBkYXRlRGVidWdnYWJsZUF1dG9tYXRpY0luc3BlY3RDYW5kaWRhdGUoUmVt
b3RlSW5zcGVjdG9yRGVidWdnYWJsZSopOwogICAgIHZvaWQgc2VuZE1lc3NhZ2VUb1JlbW90ZUZy
b250ZW5kKHVuc2lnbmVkIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSk7CiAgICAg
dm9pZCBzZXR1cEZhaWxlZCh1bnNpZ25lZCBpZGVudGlmaWVyKTsKLSAgICB2b2lkIHNldHVwU3Vj
Y2VlZGVkKHVuc2lnbmVkIGlkZW50aWZpZXIpOworICAgIHZvaWQgc2V0dXBDb21wbGV0ZWQodW5z
aWduZWQgaWRlbnRpZmllcik7CiAgICAgYm9vbCB3YWl0aW5nRm9yQXV0b21hdGljSW5zcGVjdGlv
bih1bnNpZ25lZCBpZGVudGlmaWVyKTsKIAogICAgIGJvb2wgZW5hYmxlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fZW5hYmxlZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLm1tIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLm1tCmluZGV4IDZiZjc0MmM5Li44MWQ2ODQw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1v
dGVJbnNwZWN0b3IubW0KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1v
dGUvUmVtb3RlSW5zcGVjdG9yLm1tCkBAIC0yMjEsNyArMjIxLDcgQEAgdm9pZCBSZW1vdGVJbnNw
ZWN0b3I6OnVwZGF0ZURlYnVnZ2FibGVBdXRvbWF0aWNJbnNwZWN0Q2FuZGlkYXRlKFJlbW90ZUlu
c3BlY3RvckQKICAgICAgICAgfQogCiAgICAgICAgIC8vIEluIGNhc2UgZGVidWdnZXJzIGZhaWwg
dG8gcmVzcG9uZCwgb3Igd2UgY2Fubm90IGNvbm5lY3QgdG8gd2ViaW5zcGVjdG9yZCwgYXV0b21h
dGljYWxseSBjb250aW51ZSBhZnRlciBhIHNob3J0IHBlcmlvZCBvZiB0aW1lLgotICAgICAgICBk
aXNwYXRjaF9hZnRlcihkaXNwYXRjaF90aW1lKERJU1BBVENIX1RJTUVfTk9XLCAwLjMgKiBOU0VD
X1BFUl9TRUMpLCBkaXNwYXRjaF9nZXRfZ2xvYmFsX3F1ZXVlKERJU1BBVENIX1FVRVVFX1BSSU9S
SVRZX0RFRkFVTFQsIDApLCBeeworICAgICAgICBkaXNwYXRjaF9hZnRlcihkaXNwYXRjaF90aW1l
KERJU1BBVENIX1RJTUVfTk9XLCAwLjggKiBOU0VDX1BFUl9TRUMpLCBkaXNwYXRjaF9nZXRfZ2xv
YmFsX3F1ZXVlKERJU1BBVENIX1FVRVVFX1BSSU9SSVRZX0RFRkFVTFQsIDApLCBeewogICAgICAg
ICAgICAgc3RkOjpsb2NrX2d1YXJkPHN0ZDo6bXV0ZXg+IGxvY2sobV9tdXRleCk7CiAgICAgICAg
ICAgICBpZiAobV9hdXRvbWF0aWNJbnNwZWN0aW9uQ2FuZGlkYXRlSWRlbnRpZmllciA9PSBpZGVu
dGlmaWVyKSB7CiAgICAgICAgICAgICAgICAgTE9HX0VSUk9SKCJTa2lwcGluZyBBdXRvbWF0aWMg
SW5zcGVjdGlvbiBDYW5kaWRhdGUgd2l0aCBwYWdlSWQoJXUpIGJlY2F1c2Ugd2UgZmFpbGVkIHRv
IHJlY2VpdmUgYSByZXNwb25zZSBpbiB0aW1lLiIsIG1fYXV0b21hdGljSW5zcGVjdGlvbkNhbmRp
ZGF0ZUlkZW50aWZpZXIpOwpAQCAtMjg2LDcgKzI4Niw3IEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9y
OjpzZXR1cEZhaWxlZCh1bnNpZ25lZCBpZGVudGlmaWVyKQogICAgIHB1c2hMaXN0aW5nU29vbigp
OwogfQogCi12b2lkIFJlbW90ZUluc3BlY3Rvcjo6c2V0dXBTdWNjZWVkZWQodW5zaWduZWQgaWRl
bnRpZmllcikKK3ZvaWQgUmVtb3RlSW5zcGVjdG9yOjpzZXR1cENvbXBsZXRlZCh1bnNpZ25lZCBp
ZGVudGlmaWVyKQogewogICAgIHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11dGV4PiBsb2NrKG1fbXV0
ZXgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90
ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3RvckRlYnVnZ2FibGUuY3BwCmluZGV4IDFmOThh
NzAuLmRmZWUwZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
cmVtb3RlL1JlbW90ZUluc3BlY3RvckRlYnVnZ2FibGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3RvckRlYnVnZ2FibGUuY3BwCkBA
IC05MSw2ICs5MSwxMSBAQCB2b2lkIFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGU6OnBhdXNlV2Fp
dGluZ0ZvckF1dG9tYXRpY0luc3BlY3Rpb24oKQogICAgICAgICBsb29wLmN5Y2xlKCk7CiB9CiAK
K3ZvaWQgUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZTo6dW5wYXVzZUZvckluaXRpYWxpemVkSW5z
cGVjdG9yKCkKK3sKKyAgICBSZW1vdGVJbnNwZWN0b3I6OnNoYXJlZCgpLnNldHVwQ29tcGxldGVk
KGlkZW50aWZpZXIoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYg
Ly8gRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1Z2dh
YmxlLmgKaW5kZXggMzlkNTBiNi4uZGQ2YWE0NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3RvckRl
YnVnZ2FibGUuaApAQCAtNjksNiArNjksNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wg
YXV0b21hdGljSW5zcGVjdGlvbkFsbG93ZWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAg
IHZpcnR1YWwgdm9pZCBwYXVzZVdhaXRpbmdGb3JBdXRvbWF0aWNJbnNwZWN0aW9uKCk7CisgICAg
dmlydHVhbCB2b2lkIHVucGF1c2VGb3JJbml0aWFsaXplZEluc3BlY3RvcigpOwogCiBwcml2YXRl
OgogICAgIHVuc2lnbmVkIG1faWRlbnRpZmllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3RvckRlYnVnZ2FibGVDb25uZWN0
aW9uLm1tIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5z
cGVjdG9yRGVidWdnYWJsZUNvbm5lY3Rpb24ubW0KaW5kZXggNWQ5MzUzZS4uYTk3ZGNiYiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5z
cGVjdG9yRGVidWdnYWJsZUNvbm5lY3Rpb24ubW0KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZUNvbm5lY3Rpb24ubW0K
QEAgLTE2Niw3ICsxNjYsNiBAQCBib29sIFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGVDb25uZWN0
aW9uOjpzZXR1cChib29sIGlzQXV0b21hdGljSW5zcGVjdGlvbikKICAgICAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICAgICAgbV9kZWJ1Z2dhYmxlLT5jb25uZWN0KHRoaXMsIGlzQXV0b21h
dGljSW5zcGVjdGlvbik7CiAgICAgICAgICAgICAgICAgbV9jb25uZWN0ZWQgPSB0cnVlOwotICAg
ICAgICAgICAgICAgIFJlbW90ZUluc3BlY3Rvcjo6c2hhcmVkKCkuc2V0dXBTdWNjZWVkZWQoaWRl
bnRpZmllcigpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBkZXJlZigpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDQzMDQxNzEuLmEwYmZjMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBA
QAorMjAxNC0wOS0yMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IEF1dG9tYXRpYyBJbnNwZWN0aW9uIHNob3VsZCBjb250aW51
ZSBvbmNlIGFsbCBicmVha3BvaW50cyBhcmUgbG9hZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzcwMzgKKworICAgICAgICBSZXZpZXdlZCBieSBU
aW1vdGh5IEhhdGNoZXIuCisKKyAgICAgICAgSGFuZGxlIGZyb250ZW5kIGluaXRpYWxpemF0aW9u
IG1lc3NhZ2VzIGV2ZW4gdGhvdWdoIHBhZ2VzIGNhbm5vdAorICAgICAgICBiZSBhdXRvbWF0aWNh
bGx5IGluc3BlY3RlZCB5ZXQuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0
b3JDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmNv
bm5lY3RGcm9udGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpk
aXNjb25uZWN0RnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxl
cjo6ZnJvbnRlbmRJbml0aWFsaXplZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxl
ci5oOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6aW5z
cGVjdG9yRGVidWdnYWJsZSk6CisKIDIwMTQtMDktMTcgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29y
YXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBTaG91bGQgYmUgYWJsZSB0
byBhdHRhY2ggYSBkZWJ1Z2dlciB0byBhIEpTQ29udGV4dCBiZWZvcmUgYW55dGhpbmcgaXMgZXhl
Y3V0ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVy
LmNwcAppbmRleCAxNzFhNmEyLi42ODM2ZDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC03NCw2ICs3NCwxMCBAQAogI2luY2x1
ZGUgPGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuaD4KICNpbmNsdWRlIDxydW50aW1l
L0pTTG9jay5oPgogCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisjaW5jbHVkZSAiUGFn
ZURlYnVnZ2FibGUuaCIKKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2UgSlNDOwogdXNpbmcgbmFt
ZXNwYWNlIEluc3BlY3RvcjsKIApAQCAtODcsMTMgKzkxLDE0IEBAIEluc3BlY3RvckNvbnRyb2xs
ZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSYgcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNw
ZWN0b3JDCiAgICAgLCBtX3BhZ2UocGFnZSkKICAgICAsIG1faW5zcGVjdG9yQ2xpZW50KGluc3Bl
Y3RvckNsaWVudCkKICAgICAsIG1faXNVbmRlclRlc3QoZmFsc2UpCisgICAgLCBtX2lzQXV0b21h
dGljSW5zcGVjdGlvbihmYWxzZSkKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKICAgICAs
IG1faGFzUmVtb3RlRnJvbnRlbmQoZmFsc2UpCiAjZW5kaWYKIHsKICAgICBBU1NFUlRfQVJHKGlu
c3BlY3RvckNsaWVudCwgaW5zcGVjdG9yQ2xpZW50KTsKIAotICAgIGF1dG8gaW5zcGVjdG9yQWdl
bnRQdHIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvckFnZW50PigpOworICAgIGF1dG8gaW5z
cGVjdG9yQWdlbnRQdHIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvckFnZW50PigqdGhpcyk7
CiAgICAgbV9pbnNwZWN0b3JBZ2VudCA9IGluc3BlY3RvckFnZW50UHRyLmdldCgpOwogICAgIG1f
aW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yQWdlbnQobV9pbnNwZWN0b3JBZ2VudCk7
CiAgICAgbV9hZ2VudHMuYXBwZW5kKFdURjo6bW92ZShpbnNwZWN0b3JBZ2VudFB0cikpOwpAQCAt
MjMwLDEzICsyMzUsMTUgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRDbGVhcldpbmRv
d09iamVjdEluV29ybGQoRnJhbWUqIGZyYW1lLCBET01XcmFwcGVyV28KICAgICAgICAgbV9pbnNw
ZWN0b3JGcm9udGVuZENsaWVudC0+d2luZG93T2JqZWN0Q2xlYXJlZCgpOwogfQogCi12b2lkIElu
c3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZENoYW5u
ZWwqIGZyb250ZW5kQ2hhbm5lbCwgYm9vbCkKK3ZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y29u
bmVjdEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBi
b29sIGlzQXV0b21hdGljSW5zcGVjdGlvbikKIHsKICAgICBBU1NFUlQoZnJvbnRlbmRDaGFubmVs
KTsKICAgICBBU1NFUlQobV9pbnNwZWN0b3JDbGllbnQpOwogICAgIEFTU0VSVCghbV9pbnNwZWN0
b3JGcm9udGVuZENoYW5uZWwpOwogICAgIEFTU0VSVCghbV9pbnNwZWN0b3JCYWNrZW5kRGlzcGF0
Y2hlcik7CiAKKyAgICBtX2lzQXV0b21hdGljSW5zcGVjdGlvbiA9IGlzQXV0b21hdGljSW5zcGVj
dGlvbjsKKwogICAgIG1faW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsID0gZnJvbnRlbmRDaGFubmVs
OwogICAgIG1faW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIgPSBJbnNwZWN0b3JCYWNrZW5kRGlz
cGF0Y2hlcjo6Y3JlYXRlKGZyb250ZW5kQ2hhbm5lbCk7CiAKQEAgLTI2Miw2ICsyNjksOCBAQCB2
b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpc2Nvbm5lY3RGcm9udGVuZChJbnNwZWN0b3JEaXNj
b25uZWN0UmVhc29uIHJlYXNvbikKICAgICBtX2luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmNs
ZWFyKCk7CiAgICAgbV9pbnNwZWN0b3JGcm9udGVuZENoYW5uZWwgPSBudWxscHRyOwogCisgICAg
bV9pc0F1dG9tYXRpY0luc3BlY3Rpb24gPSBmYWxzZTsKKwogICAgIC8vIFJlbGVhc2Ugb3Zlcmxh
eSBwYWdlIHJlc291cmNlcy4KICAgICBtX292ZXJsYXktPmZyZWVQYWdlKCk7CiAgICAgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpmcm9udGVuZERlbGV0ZWQoKTsKQEAgLTQzNiw2ICs0NDUsMTQg
QEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRDYWxsSW5qZWN0ZWRTY3JpcHRGdW5jdGlv
bihKU0M6OkV4ZWNTdGF0ZSogc2NyaXB0U3QKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZENhbGxGdW5jdGlvbihjb29raWUsIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwogfQogCit2
b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmZyb250ZW5kSW5pdGlhbGl6ZWQoKQoreworI2lmIEVO
QUJMRShSRU1PVEVfSU5TUEVDVE9SKQorICAgIGlmIChtX2lzQXV0b21hdGljSW5zcGVjdGlvbikK
KyAgICAgICAgbV9wYWdlLmluc3BlY3RvckRlYnVnZ2FibGUoKS51bnBhdXNlRm9ySW5pdGlhbGl6
ZWRJbnNwZWN0b3IoKTsKKyNlbmRpZgorfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNl
bmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggMTJhMWU2YS4uYTAyOTU3NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC0xMjksNiArMTI5
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSW5zcGVjdG9yOjpJbnNwZWN0b3JFdmFsdWF0ZUhh
bmRsZXIgZXZhbHVhdGVIYW5kbGVyKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lk
IHdpbGxDYWxsSW5qZWN0ZWRTY3JpcHRGdW5jdGlvbihKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0
cmluZyYgc2NyaXB0TmFtZSwgaW50IHNjcmlwdExpbmUpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwg
dm9pZCBkaWRDYWxsSW5qZWN0ZWRTY3JpcHRGdW5jdGlvbihKU0M6OkV4ZWNTdGF0ZSopIG92ZXJy
aWRlOworICAgIHZpcnR1YWwgdm9pZCBmcm9udGVuZEluaXRpYWxpemVkKCkgb3ZlcnJpZGU7CiAK
IHByaXZhdGU6CiAgICAgZnJpZW5kIEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRhdGlv
bkZvclBhZ2UoUGFnZSopOwpAQCAtMTUzLDYgKzE1NCw3IEBAIHByaXZhdGU6CiAgICAgSW5zcGVj
dG9yOjpJbnNwZWN0b3JBZ2VudFJlZ2lzdHJ5IG1fYWdlbnRzOwogICAgIFZlY3RvcjxJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb25Db29raWUsIDI+IG1faW5qZWN0ZWRTY3JpcHRJbnN0cnVtZW50YXRp
b25Db29raWVzOwogICAgIGJvb2wgbV9pc1VuZGVyVGVzdDsKKyAgICBib29sIG1faXNBdXRvbWF0
aWNJbnNwZWN0aW9uOwogCiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCiAgICAgYm9vbCBt
X2hhc1JlbW90ZUZyb250ZW5kOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9X
b3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggMjgyMjc2NC4uN2EyMWQ1NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxl
ci5oCkBAIC03Myw2ICs3Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEluc3BlY3Rvcjo6SW5z
cGVjdG9yRXZhbHVhdGVIYW5kbGVyIGV2YWx1YXRlSGFuZGxlcigpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIHZpcnR1YWwgdm9pZCB3aWxsQ2FsbEluamVjdGVkU2NyaXB0RnVuY3Rpb24oSlNDOjpFeGVj
U3RhdGUqLCBjb25zdCBTdHJpbmcmIHNjcmlwdE5hbWUsIGludCBzY3JpcHRMaW5lKSBvdmVycmlk
ZTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2FsbEluamVjdGVkU2NyaXB0RnVuY3Rpb24oSlNDOjpF
eGVjU3RhdGUqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZnJvbnRlbmRJbml0aWFsaXpl
ZCgpIG92ZXJyaWRlIHsgfQogCiBwcml2YXRlOgogICAgIGZyaWVuZCBJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50YXRpb25Gb3JXb3JrZXJHbG9iYWxTY29wZShXb3JrZXJHbG9iYWxTY29w
ZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuaAppbmRleCA4NmYyYWZkLi4yY2U1MmI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApA
QCAtNDEwLDYgKzQxMCwxMCBAQCBwdWJsaWM6CiAKICAgICBQYWdlQ29uc29sZUNsaWVudCYgY29u
c29sZSgpIHsgcmV0dXJuICptX2NvbnNvbGVDbGllbnQ7IH0KIAorI2lmIEVOQUJMRShSRU1PVEVf
SU5TUEVDVE9SKQorICAgIFBhZ2VEZWJ1Z2dhYmxlJiBpbnNwZWN0b3JEZWJ1Z2dhYmxlKCkgY29u
c3QgeyByZXR1cm4gKm1faW5zcGVjdG9yRGVidWdnYWJsZS5nZXQoKTsgfQorI2VuZGlmCisKICAg
ICB2b2lkIGhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uU3RhdGVDaGFuZ2VkKCk7CiAK
ICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBjMzY5
YjlmLi4xZmJjNGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxNC0wOS0yMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IEF1dG9tYXRpYyBJbnNwZWN0aW9uIHNob3VsZCBjb250aW51ZSBv
bmNlIGFsbCBicmVha3BvaW50cyBhcmUgbG9hZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzcwMzgKKworICAgICAgICBSZXZpZXdlZCBieSBUaW1v
dGh5IEhhdGNoZXIuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qczoKKyAg
ICAgICAgU2VuZCB0aGUgaW5pdGlhbGl6ZWQgbWVzc2FnZSBhZnRlciB3ZSBoYXZlIHNlbnQgYWxs
IG90aGVyIHNldHVwIG1lc3NhZ2VzLAorICAgICAgICBzdWNoIGFzIGVuYWJsaW5nIGZlYXR1cmVz
IGFuZCBzZXR0aW5nIGJyZWFrcG9pbnRzLgorCiAyMDE0LTA5LTE3ICBKb3NlcGggUGVjb3Jhcm8g
IDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUmVtb3ZlIHVu
bmVjZXNzYXJ5IHByZWZpeGVzIGluIFdlYkluc3BlY3RvclVJIENTUwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCmluZGV4IGVkOGUyYTAuLmIy
ODg2NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jh
c2UvTWFpbi5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNl
L01haW4uanMKQEAgLTEyMCw2ICsxMjAsMTIgQEAgV2ViSW5zcGVjdG9yLmxvYWRlZCA9IGZ1bmN0
aW9uKCkKICAgICBpZiAod2luZG93LkNvbnNvbGVBZ2VudCkKICAgICAgICAgQ29uc29sZUFnZW50
LmVuYWJsZSgpOwogCisgICAgLy8gVGVsbCB0aGUgYmFja2VuZCB3ZSBhcmUgaW5pdGlhbGl6ZWQg
YWZ0ZXIgYWxsIG91ciBpbml0aWFsaXphdGlvbiBtZXNzYWdlcyBoYXZlIGJlZW4gc2VudC4KKyAg
ICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAod2luZG93Lkluc3BlY3RvckFn
ZW50ICYmIEluc3BlY3RvckFnZW50LmluaXRpYWxpemVkKQorICAgICAgICAgICAgSW5zcGVjdG9y
QWdlbnQuaW5pdGlhbGl6ZWQoKTsKKyAgICB9LCAwKTsKKwogICAgIC8vIFJlZ2lzdGVyIGZvciBl
dmVudHMuCiAgICAgdGhpcy5yZXBsYXlNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVj
dG9yLlJlcGxheU1hbmFnZXIuRXZlbnQuQ2FwdHVyZVN0YXJ0ZWQsIHRoaXMuX2NhcHR1cmVEaWRT
dGFydCwgdGhpcyk7CiAgICAgdGhpcy5kZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihX
ZWJJbnNwZWN0b3IuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwgdGhpcy5fZGVidWdnZXJE
aWRQYXVzZSwgdGhpcyk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>