<?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>195295</bug_id>
          
          <creation_ts>2019-03-04 15:07:54 -0800</creation_ts>
          <short_desc>[ContentChangeObserver] Introduce fixed duration content observation</short_desc>
          <delta_ts>2023-11-05 17:17:40 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=195334</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>263789</blocked>
    
    <blocked>264234</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>sroberts</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1512375</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-03-04 15:07:54 -0800</bug_when>
    <thetext>32ms for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512378</commentid>
    <comment_count>1</comment_count>
      <attachid>363554</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-03-04 15:16:40 -0800</bug_when>
    <thetext>Created attachment 363554
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512381</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-04 15:28:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/48579913&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512385</commentid>
    <comment_count>3</comment_count>
      <attachid>363557</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-03-04 15:33:22 -0800</bug_when>
    <thetext>Created attachment 363557
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512392</commentid>
    <comment_count>4</comment_count>
      <attachid>363557</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-03-04 15:44:32 -0800</bug_when>
    <thetext>Comment on attachment 363557
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        It helps finding content changes when they are triggred by nested timers (using a 32ms window). Currently nested timers get dropped on the floor and
&gt; +        we stop observing for content changes before they get fired. 

Maybe some words about what web pages are trying to do.

&gt; Source/WebCore/page/ios/ContentChangeObserver.h:132
&gt; +        InstalledFixedObservationTimeWindow,

Started?

&gt; Source/WebCore/page/ios/ContentChangeObserver.h:133
&gt; +        RemovedFixedObservationTimeWindow

Ended</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512402</commentid>
    <comment_count>5</comment_count>
      <attachid>363565</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-03-04 16:10:03 -0800</bug_when>
    <thetext>Created attachment 363565
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512411</commentid>
    <comment_count>6</comment_count>
      <attachid>363565</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-04 16:43:47 -0800</bug_when>
    <thetext>Comment on attachment 363565
Patch

Clearing flags on attachment: 363565

Committed r242403: &lt;https://trac.webkit.org/changeset/242403&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512412</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-04 16:43:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512652</commentid>
    <comment_count>8</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2019-03-05 09:14:12 -0800</bug_when>
    <thetext>This change caused multiple layout test crashes on iOS Simulator:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebCore             	0x000000010a937be7 WebCore::ContentChangeObserver::stopDurationBasedContentObservation() + 87 (ContentChangeObserver.cpp:236)
1   com.apple.WebCore             	0x000000010a978b3d WebCore::ThreadTimers::sharedTimerFiredInternal() + 173 (ThreadTimers.cpp:132)
2   com.apple.WebCore             	0x000000010a99e4ff WebCore::timerFired(__CFRunLoopTimer*, void*) + 31 (MainThreadSharedTimerCF.cpp:75)
3   com.apple.CoreFoundation      	0x0000000103e55f34 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
4   com.apple.CoreFoundation      	0x0000000103e55b32 __CFRunLoopDoTimer + 1026
5   com.apple.CoreFoundation      	0x0000000103e5539a __CFRunLoopDoTimers + 266
6   com.apple.CoreFoundation      	0x0000000103e4fa1c __CFRunLoopRun + 2252
7   com.apple.CoreFoundation      	0x0000000103e4ee11 CFRunLoopRunSpecific + 625
8   com.apple.Foundation          	0x00000001018b6322 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 277
9   com.apple.Foundation          	0x00000001018b6492 -[NSRunLoop(NSRunLoop) run] + 76
10  libxpc.dylib                  	0x0000000105649812 _xpc_objc_main + 460
11  libxpc.dylib                  	0x000000010564bcbd xpc_main + 143
12  com.apple.WebKit              	0x0000000101f34a40 WebKit::XPCServiceMain(int, char const**) + 403 (OSObjectPtr.h:69)
13  libdyld.dylib                 	0x0000000105335575 start + 1

https://build.webkit.org/results/Apple%20iOS%2012%20Simulator%20Release%20WK2%20(Tests)/r242464%20(2967)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512655</commentid>
    <comment_count>9</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2019-03-05 09:18:37 -0800</bug_when>
    <thetext>Reverted r242403 for reason:

Caused layout test crashes on iOS simulator.

Committed r242467: &lt;https://trac.webkit.org/changeset/242467&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512729</commentid>
    <comment_count>10</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2019-03-05 11:32:14 -0800</bug_when>
    <thetext>*** Bug 195334 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512882</commentid>
    <comment_count>11</comment_count>
    <who name="Shawn Roberts">sroberts</who>
    <bug_when>2019-03-05 15:38:37 -0800</bug_when>
    <thetext>Was causing several layout test failures as well :

fast/shadow-dom/click-on-slotted-anchor-with-hover.html
fast/images/imagemap-in-shadow-tree.html
fast/events/click-handler-on-body-simple.html
fast/forms/datalist/datalist-textinput-suggestions-order.html
fast/events/beforeunload-alert-user-interaction2.html
http/tests/adClickAttribution/anchor-tag-attributes-validation.html
fast/scrolling/ios/hit-testing-iframe-001.html
fast/scrolling/ios/hit-testing-iframe-002.html
fast/scrolling/ios/hit-testing-iframe-003.html
fast/scrolling/ios/hit-testing-iframe-004.html
fast/scrolling/ios/hit-testing-iframe-005.html
fast/scrolling/ios/mixing-user-and-programmatic-scroll-006.html

Dashboard :

https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=fast%2Fshadow-dom%2Fclick-on-slotted-anchor-with-hover.html%20fast%2Fimages%2Fimagemap-in-shadow-tree.html%20fast%2Fevents%2Fclick-handler-on-body-simple.html%20fast%2Fforms%2Fdatalist%2Fdatalist-textinput-suggestions-order.html%20fast%2Fevents%2Fbeforeunload-alert-user-interaction2.html%20http%2Ftests%2FadClickAttribution%2Fanchor-tag-attributes-validation.html%20fast%2Fscrolling%2Fios%2Fhit-testing-iframe-001.html%20fast%2Fscrolling%2Fios%2Fhit-testing-iframe-002.html%20fast%2Fscrolling%2Fios%2Fhit-testing-iframe-003.html%20fast%2Fscrolling%2Fios%2Fhit-testing-iframe-004.html%20fast%2Fscrolling%2Fios%2Fhit-testing-iframe-005.html%20fast%2Fscrolling%2Fios%2Fmixing-user-and-programmatic-scroll-006.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513540</commentid>
    <comment_count>12</comment_count>
      <attachid>363884</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-03-07 09:26:41 -0800</bug_when>
    <thetext>Created attachment 363884
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513850</commentid>
    <comment_count>13</comment_count>
      <attachid>363966</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-03-07 18:22:35 -0800</bug_when>
    <thetext>Created attachment 363966
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513880</commentid>
    <comment_count>14</comment_count>
      <attachid>363966</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-07 19:21:20 -0800</bug_when>
    <thetext>Comment on attachment 363966
Patch

Clearing flags on attachment: 363966

Committed r242628: &lt;https://trac.webkit.org/changeset/242628&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513881</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-07 19:21:22 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363554</attachid>
            <date>2019-03-04 15:16:40 -0800</date>
            <delta_ts>2019-03-04 15:33:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195295-20190304151639.patch</filename>
            <type>text/plain</type>
            <size>11255</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyMzY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzEyNjQ4YTg4ZTg2OTgx
ZDJlNTJkMDU3YmIzOGFjYWFjODUzZmZmNy4uZWUyNTg2ZmMxMjQ5MDQ3OTI5NzFhYjFhOTY4MDNi
MzE3YTQwOWZlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE5LTAzLTA0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNl
cnZlcl0gSW50cm9kdWNlIGZpeGVkIGR1cmF0aW9uIGNvbnRlbnQgb2JzZXJ2YXRpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTI5NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEl0IGhlbHBzIGZpbmRp
bmcgY29udGVudCBjaGFuZ2VzIHdoZW4gdGhleSBhcmUgdHJpZ2dyZWQgYnkgbmVzdGVkIHRpbWVy
cyAoY3VycmVudGx5IHVzaW5nIGEgMzJtcyB3aW5kb3cpLiAKKworICAgICAgICBUZXN0OiBmYXN0
L2V2ZW50cy90b3VjaC9pb3MvdmlzaWJpbGl0eS1jaGFuZ2UtaGFwcGVucy1vbi10aW1lci1ob3Bz
Lmh0bWwKKworICAgICAgICAqIHBhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OkNvbnRlbnRDaGFuZ2VPYnNl
cnZlcik6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OnN0YXJ0Q29u
dGVudE9ic2VydmF0aW9uRm9yRHVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENo
YW5nZU9ic2VydmVyOjpzdG9wRHVyYXRpb25CYXNlZENvbnRlbnRPYnNlcnZhdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6Omhhc0RldGVybWluYXRlU3RhdGUg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjphZGp1c3RP
YnNlcnZlZFN0YXRlKToKKyAgICAgICAgKiBwYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6aXNPYnNlcnZpbmdD
b250ZW50Q2hhbmdlcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50Q2hhbmdlT2Jz
ZXJ2ZXI6Omhhc1BlbmRpbmdBY3Rpdml0eSBjb25zdCk6CisKIDIwMTktMDMtMDQgIFphbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29udGVudENoYW5nZU9ic2VydmVy
XSBEZWNvdXBsZSBtb3VzZU1vdmVkIGV2ZW50IGFuZCB0aGUgImlzIG9ic2VydmluZyBjb250ZW50
IGNoYW5nZSIgc3RhdHVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAwNjA3MGIyNmFhMjI1N2Y4MjliMmI3ODEwMmUx
ZWFiNTgzNTBjZTYwLi45OGExMGFiNTE5M2FlNjg3ZjJjYjk3NWFmNTEzZGIzMTViNzk5YjdiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAzLTA0ICBaYWxhbiBCdWp0YXMgIDx6YWxh
bkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNlcnZlcl0gSW50cm9kdWNl
IGZpeGVkIGR1cmF0aW9uIGNvbnRlbnQgb2JzZXJ2YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTI5NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQ
YWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpoYW5kbGVTeW50aGV0aWNDbGlj
ayk6CisKIDIwMTktMDMtMDQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFtDb29yZGluYXRlZEdyYXBoaWNzXSBUaGUgY29tcG9zaXRpbmcgbG9v
cCBpcyBzdGlsbCBydW5uaW5nIGV2ZW4gYWZ0ZXIgZXhpdGluZyBBQyBtb2RlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmNwcAppbmRleCA4YjFj
ZmUyNDQ1N2Y5ZTQxNmM4ZGZhN2RjYTJkOWI2NWMxMWNhM2Y0Li43ZTI0NTRhMWFjZGU1MWFhODQz
ZTRiM2RkNmY1MmQ3ODA5NDliYzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lv
cy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9z
L0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5jcHAKQEAgLTM4LDkgKzM4LDI2IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogQ29udGVudENoYW5nZU9ic2VydmVyOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXIo
RG9jdW1lbnQmIGRvY3VtZW50KQogICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKKyAgICAsIG1f
Y29udGVudE9ic2VydmF0aW9uVGltZXIoW3RoaXNdIHsgc3RvcER1cmF0aW9uQmFzZWRDb250ZW50
T2JzZXJ2YXRpb24oKTsgfSkKIHsKIH0KIAordm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OnN0
YXJ0Q29udGVudE9ic2VydmF0aW9uRm9yRHVyYXRpb24oU2Vjb25kcyBkdXJhdGlvbikKK3sKKyAg
ICBpZiAoaGFzVmlzaWJsZUNoYW5nZVN0YXRlKCkpCisgICAgICAgIHJldHVybjsKKyAgICBMT0df
V0lUSF9TVFJFQU0oQ29udGVudE9ic2VydmF0aW9uLCBzdHJlYW0gPDwgInN0YXJ0Q29udGVudE9i
c2VydmF0aW9uRm9yRHVyYXRpb246IHN0YXJ0IG9ic2VydmluZyB0aGUgY29udGVudCBmb3IgIiA8
PCBkdXJhdGlvbi5taWxsaXNlY29uZHMoKSA8PCAibXMiKTsKKyAgICBhZGp1c3RPYnNlcnZlZFN0
YXRlKEV2ZW50OjpJbnN0YWxsZWRGaXhlZE9ic2VydmF0aW9uVGltZVdpbmRvdyk7CisgICAgbV9j
b250ZW50T2JzZXJ2YXRpb25UaW1lci5zdGFydE9uZVNob3QoZHVyYXRpb24pOworfQorCit2b2lk
IENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6c3RvcER1cmF0aW9uQmFzZWRDb250ZW50T2JzZXJ2YXRp
b24oKQoreworICAgIExPR19XSVRIX1NUUkVBTShDb250ZW50T2JzZXJ2YXRpb24sIHN0cmVhbSA8
PCAic3RvcER1cmF0aW9uQmFzZWRDb250ZW50T2JzZXJ2YXRpb246IHN0b3AgZHVyYXRpb24gYmFz
ZWQgY29udGVudCBvYnNlcnZpbmcgIik7CisgICAgYWRqdXN0T2JzZXJ2ZWRTdGF0ZShFdmVudDo6
UmVtb3ZlZEZpeGVkT2JzZXJ2YXRpb25UaW1lV2luZG93KTsKKyAgICBub3RpZnlDb250ZW50Q2hh
bmdlSWZOZWVkZWQoKTsKK30KKwogdm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmRpZEluc3Rh
bGxET01UaW1lcihjb25zdCBET01UaW1lciYgdGltZXIsIFNlY29uZHMgdGltZW91dCwgYm9vbCBz
aW5nbGVTaG90KQogewogICAgIGlmIChtX2RvY3VtZW50LmFjdGl2ZURPTU9iamVjdHNBcmVTdXNw
ZW5kZWQoKSkKQEAgLTE3OSw3ICsxOTYsNyBAQCBib29sIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6
aGFzRGV0ZXJtaW5hdGVTdGF0ZSgpIGNvbnN0CiB7CiAgICAgaWYgKGhhc1Zpc2libGVDaGFuZ2VT
dGF0ZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICByZXR1cm4gb2JzZXJ2ZWRDb250ZW50
Q2hhbmdlKCkgPT0gV0tDb250ZW50Tm9DaGFuZ2UgJiYgIWhhc09ic2VydmVkRE9NVGltZXIoKSAm
JiAhbV9kb2N1bWVudC5oYXNQZW5kaW5nU3R5bGVSZWNhbGMoKTsKKyAgICByZXR1cm4gb2JzZXJ2
ZWRDb250ZW50Q2hhbmdlKCkgPT0gV0tDb250ZW50Tm9DaGFuZ2UgJiYgIWhhc1BlbmRpbmdBY3Rp
dml0eSgpOwogfQogCiB2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6YWRqdXN0T2JzZXJ2ZWRT
dGF0ZShFdmVudCBldmVudCkKQEAgLTE4OSwxNCArMjA2LDE2IEBAIHZvaWQgQ29udGVudENoYW5n
ZU9ic2VydmVyOjphZGp1c3RPYnNlcnZlZFN0YXRlKEV2ZW50IGV2ZW50KQogICAgICAgICBzZXRI
YXNOb0NoYW5nZVN0YXRlKCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRXZlbnQ6Okluc3Rh
bGxlZERPTVRpbWVyOgorICAgIGNhc2UgRXZlbnQ6Okluc3RhbGxlZEZpeGVkT2JzZXJ2YXRpb25U
aW1lV2luZG93OgogICAgICAgICAvLyBFeHBlY3RpbmcgYSB0aW1lciBmaXJlLiBQcm9tb3RlIHRv
IGFuIGluZGV0ZXJtaW5hdGUgc3RhdGUuCiAgICAgICAgIEFTU0VSVCghaGFzVmlzaWJsZUNoYW5n
ZVN0YXRlKCkpOwogICAgICAgICBzZXRIYXNJbmRldGVybWluYXRlU3RhdGUoKTsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBFdmVudDo6UmVtb3ZlZERPTVRpbWVyOgogICAgIGNhc2UgRXZlbnQ6
OlN0eWxlUmVjYWxjRmluaXNoZWQ6CisgICAgY2FzZSBFdmVudDo6UmVtb3ZlZEZpeGVkT2JzZXJ2
YXRpb25UaW1lV2luZG93OgogICAgICAgICAvLyBEZW1vdGUgdG8gIm5vIGNoYW5nZSIgd2hlbiB0
aGVyZSdzIG5vIHBlbmRpbmcgYWN0aXZpdHkgYW55bW9yZS4KLSAgICAgICAgaWYgKG9ic2VydmVk
Q29udGVudENoYW5nZSgpID09IFdLQ29udGVudEluZGV0ZXJtaW5hdGVDaGFuZ2UgJiYgIWhhc09i
c2VydmVkRE9NVGltZXIoKSAmJiAhbV9kb2N1bWVudC5oYXNQZW5kaW5nU3R5bGVSZWNhbGMoKSkK
KyAgICAgICAgaWYgKG9ic2VydmVkQ29udGVudENoYW5nZSgpID09IFdLQ29udGVudEluZGV0ZXJt
aW5hdGVDaGFuZ2UgJiYgIWhhc1BlbmRpbmdBY3Rpdml0eSgpKQogICAgICAgICAgICAgc2V0SGFz
Tm9DaGFuZ2VTdGF0ZSgpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEV2ZW50OjpDb250ZW50
VmlzaWJpbGl0eUNoYW5nZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9D
b250ZW50Q2hhbmdlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRD
aGFuZ2VPYnNlcnZlci5oCmluZGV4IDIzZDEyNTA1ZDVjNmEzYTk2NjYwYjUzYjk3NDQ3NDc1Yzhk
ZjM0ZjMuLjEzZDhhMDJiM2I3N2RmOGI4NmFjOWMyMWFiYTgwYTNkY2FkOThkM2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oCkBAIC0yNyw2
ICsyNyw3IEBACiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogCisjaW5jbHVkZSAiVGltZXIu
aCIKICNpbmNsdWRlICJXS0NvbnRlbnRPYnNlcnZhdGlvbi5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC0zOCw2ICszOSw3IEBAIGNsYXNzIENvbnRlbnRDaGFuZ2VPYnNlcnZlciB7CiBwdWJs
aWM6CiAgICAgQ29udGVudENoYW5nZU9ic2VydmVyKERvY3VtZW50Jik7CiAKKyAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHN0YXJ0Q29udGVudE9ic2VydmF0aW9uRm9yRHVyYXRpb24oU2Vjb25kcyBk
dXJhdGlvbik7CiAgICAgV0VCQ09SRV9FWFBPUlQgV0tDb250ZW50Q2hhbmdlIG9ic2VydmVkQ29u
dGVudENoYW5nZSgpIGNvbnN0OwogCiAgICAgdm9pZCBkaWRJbnN0YWxsRE9NVGltZXIoY29uc3Qg
RE9NVGltZXImLCBTZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCk7CkBAIC0xMDIsNyAr
MTA0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldFNob3VsZE9ic2VydmVOZXh0U3R5bGVSZWNh
bGMoYm9vbCk7CiAgICAgYm9vbCBpc09ic2VydmluZ1N0eWxlUmVjYWxjKCkgY29uc3QgeyByZXR1
cm4gbV9pc09ic2VydmluZ1N0eWxlUmVjYWxjOyB9CiAKLSAgICBib29sIGlzT2JzZXJ2aW5nQ29u
dGVudENoYW5nZXMoKSBjb25zdCB7IHJldHVybiBtX2RvbVRpbWVyaXNCZWluZ0V4ZWN1dGVkIHx8
IG1fc3R5bGVSZWNhbGNJc0JlaW5nRXhlY3V0ZWQ7IH0KKyAgICBib29sIGlzT2JzZXJ2aW5nQ29u
dGVudENoYW5nZXMoKSBjb25zdCB7IHJldHVybiBtX2RvbVRpbWVyaXNCZWluZ0V4ZWN1dGVkIHx8
IG1fc3R5bGVSZWNhbGNJc0JlaW5nRXhlY3V0ZWQgfHwgbV9jb250ZW50T2JzZXJ2YXRpb25UaW1l
ci5pc0FjdGl2ZSgpOyB9CiAKICAgICB2b2lkIGNsZWFyT2JzZXJ2ZWRET01UaW1lcnMoKSB7IG1f
RE9NVGltZXJMaXN0LmNsZWFyKCk7IH0KICAgICB2b2lkIGNsZWFyVGltZXJzQW5kUmVwb3J0Q29u
dGVudENoYW5nZSgpOwpAQCAtMTE3LDE2ICsxMTksMjMgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQg
bm90aWZ5Q29udGVudENoYW5nZUlmTmVlZGVkKCk7CiAKKyAgICB2b2lkIHN0b3BEdXJhdGlvbkJh
c2VkQ29udGVudE9ic2VydmF0aW9uKCk7CisKKyAgICBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgp
IGNvbnN0IHsgcmV0dXJuIGhhc09ic2VydmVkRE9NVGltZXIoKSB8fCBtX2RvY3VtZW50Lmhhc1Bl
bmRpbmdTdHlsZVJlY2FsYygpIHx8IG1fY29udGVudE9ic2VydmF0aW9uVGltZXIuaXNBY3RpdmUo
KTsgfQorCiAgICAgZW51bSBjbGFzcyBFdmVudCB7CiAgICAgICAgIENvbnRlbnRPYnNlcnZhdGlv
blN0YXJ0ZWQsCiAgICAgICAgIEluc3RhbGxlZERPTVRpbWVyLAogICAgICAgICBSZW1vdmVkRE9N
VGltZXIsCiAgICAgICAgIFN0eWxlUmVjYWxjRmluaXNoZWQsCi0gICAgICAgIENvbnRlbnRWaXNp
YmlsaXR5Q2hhbmdlZAorICAgICAgICBDb250ZW50VmlzaWJpbGl0eUNoYW5nZWQsCisgICAgICAg
IEluc3RhbGxlZEZpeGVkT2JzZXJ2YXRpb25UaW1lV2luZG93LAorICAgICAgICBSZW1vdmVkRml4
ZWRPYnNlcnZhdGlvblRpbWVXaW5kb3cKICAgICB9OwogICAgIHZvaWQgYWRqdXN0T2JzZXJ2ZWRT
dGF0ZShFdmVudCk7CiAKICAgICBEb2N1bWVudCYgbV9kb2N1bWVudDsKKyAgICBUaW1lciBtX2Nv
bnRlbnRPYnNlcnZhdGlvblRpbWVyOwogICAgIEhhc2hTZXQ8Y29uc3QgRE9NVGltZXIqPiBtX0RP
TVRpbWVyTGlzdDsKICAgICBib29sIG1faXNPYnNlcnZpbmdTdHlsZVJlY2FsYyB7IGZhbHNlIH07
CiAgICAgYm9vbCBtX3N0eWxlUmVjYWxjSXNCZWluZ0V4ZWN1dGVkIHsgZmFsc2UgfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1t
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5k
ZXggNDJlZTc1N2ExYzZmYzRiYTY4MmFiOGE3M2IyMWZlYjEwMDRmMTAyOS4uMDEwNTc2ODBiNjlm
Y2Q0OGE1MmI5ZWVmYWIyODAxYjk4YjRkODMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTU1Miw2ICs1NTIsOSBAQCB2
b2lkIFdlYlBhZ2U6OmhhbmRsZVN5bnRoZXRpY0NsaWNrKE5vZGUmIG5vZGVSZXNwb25kaW5nVG9D
bGljaywgY29uc3QgV2ViQ29yZTo6RgogICAgICAgICBtYWluZnJhbWUuZG9jdW1lbnQoKS0+dXBk
YXRlU3R5bGVJZk5lZWRlZCgpOwogICAgIH0KIAorICAgIGNvbnN0IFNlY29uZHMgb2JzZXJ2YXRp
b25EdXJhdGlvbiA9IDMyX21zOworICAgIHJlc3BvbmRpbmdEb2N1bWVudC5jb250ZW50Q2hhbmdl
T2JzZXJ2ZXIoKS5zdGFydENvbnRlbnRPYnNlcnZhdGlvbkZvckR1cmF0aW9uKG9ic2VydmF0aW9u
RHVyYXRpb24pOworCiAgICAgbV9wZW5kaW5nU3ludGhldGljQ2xpY2tOb2RlID0gbnVsbHB0cjsK
ICAgICBtX3BlbmRpbmdTeW50aGV0aWNDbGlja0xvY2F0aW9uID0gRmxvYXRQb2ludCgpOwogICAg
IG1fcGVuZGluZ1N5bnRoZXRpY0NsaWNrTW9kaWZpZXJzID0geyB9OwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI1M2U5M2Zk
NmJjYjU0Nzc3ZWY0OTg3OThlMGQ4ZTg3MzRmNzg0YjUuLjk4MWJlZmZlYjcwZGMyM2U5NTA0Nzc5
MTc2MTE0YzA0M2ZkYTM3MjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0wMy0wNCAgWmFs
YW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtDb250ZW50Q2hhbmdlT2Jz
ZXJ2ZXJdIEludHJvZHVjZSBmaXhlZCBkdXJhdGlvbiBjb250ZW50IG9ic2VydmF0aW9uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUyOTUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZXZlbnRz
L3RvdWNoL2lvcy92aXNpYmlsaXR5LWNoYW5nZS1oYXBwZW5zLW9uLXRpbWVyLWhvcHMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy90b3VjaC9pb3MvdmlzaWJpbGl0
eS1jaGFuZ2UtaGFwcGVucy1vbi10aW1lci1ob3BzLmh0bWw6IEFkZGVkLgorCiAyMDE5LTAzLTAz
ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBQcmVwYXJlIHRvIGlt
cHJvdmUgaGFuZGxpbmcgb2YgY29udmVyc2lvbiBvZiBmbG9hdCB0byBzdHJpbmdzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvdmlzaWJpbGl0eS1jaGFuZ2Ut
aGFwcGVucy1vbi10aW1lci1ob3BzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3RvdWNoL2lvcy92aXNpYmlsaXR5LWNoYW5nZS1oYXBwZW5zLW9uLXRpbWVyLWhvcHMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2ZGI0Yzk0MDhhNmMwMzEyZGQwZTJkNDg1YzAxYjgzNWU3
Y2Y5M2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9p
b3MvdmlzaWJpbGl0eS1jaGFuZ2UtaGFwcGVucy1vbi10aW1lci1ob3BzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDIgQEAKK1BBU1MgaWYgJ2NsaWNrZWQnIHRleHQgaXMgbm90IHNob3duIGJlbG93
LgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvdmlzaWJp
bGl0eS1jaGFuZ2UtaGFwcGVucy1vbi10aW1lci1ob3BzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy90b3VjaC9pb3MvdmlzaWJpbGl0eS1jaGFuZ2UtaGFwcGVucy1vbi10aW1lci1ob3Bz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjA3NzAyOGNiMWMzYTk2ZDVhMjhjMWNmMGI5MGM1OGU4Y2I3Nzdl
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy92
aXNpYmlsaXR5LWNoYW5nZS1oYXBwZW5zLW9uLXRpbWVyLWhvcHMuaHRtbApAQCAtMCwwICsxLDY2
IEBACis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlRoaXMgdGVzdHMgdGhlIGNhc2Ugd2hlbiBuZXN0
ZWQgdGltZXJzIHRyaWdnZXIgdmlzaWJsZSBjb250ZW50IGNoYW5nZTwvdGl0bGU+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2Jhc2ljLWdlc3R1cmVzLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KKyN0YXB0aGlzIHsKKyAgICB3aWR0aDogNDAwcHg7CisgICAgaGVpZ2h0OiA0MDBw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBncmVlbjsKK30KKworI2JlY29tZXNWaXNpYmxlIHsK
KyAgICB2aXNpYmlsaXR5OiBoaWRkZW47CisgICAgd2lkdGg6IDEwMHB4OworICAgIGhlaWdodDog
MTAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Cit9Cis8L3N0eWxlPgorPHNjcmlw
dD4KK2FzeW5jIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lciB8
fCAhdGVzdFJ1bm5lci5ydW5VSVNjcmlwdCkKKyAgICAgICAgcmV0dXJuOworCisgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAg
ICBsZXQgcmVjdCA9IHRhcHRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgbGV0IHgg
PSByZWN0LmxlZnQgKyByZWN0LndpZHRoIC8gMjsKKyAgICBsZXQgeSA9IHJlY3QudG9wICsgcmVj
dC5oZWlnaHQgLyAyOworCisgICAgYXdhaXQgdGFwQXRQb2ludCh4LCB5KTsKK30KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPGRpdiBpZD10YXB0aGlzPlBBU1Mg
aWYgJ2NsaWNrZWQnIHRleHQgaXMgbm90IHNob3duIGJlbG93LjwvZGl2PgorPGRpdiBpZD1iZWNv
bWVzVmlzaWJsZT48L2Rpdj4KKzxwcmUgaWQ9cmVzdWx0PjwvcHJlPgorPHNjcmlwdD4KK3RhcHRo
aXMuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdmVyIiwgZnVuY3Rpb24oIGV2ZW50ICkgeworICAg
IC8vIDEuIEluc3RhbGwgYSBzaG9ydCB0aW1lciBvbiBob3ZlcgorICAgIHNldFRpbWVvdXQoZnVu
Y3Rpb24oKSB7CisgICAgICAgIC8vIDIuIFRyaWdnZXIgc29tZSBub24tdmlzaWJpbGl0eSBzdHls
ZSBjaGFuZ2Ugd2l0aCBmb3JjaW5nIG9mZnNldEhlaWdodC4KKyAgICAgICAgYmVjb21lc1Zpc2li
bGUuc3R5bGUubWFyZ2luTGVmdCA9ICI1cHgiOworICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNl
dEhlaWdodDsKKworICAgICAgICAvLyAzLiBJbnN0YWxsIGEgbmVzdGVkIHRpbWVyIHdpdGggdmlz
aWJpbGl0eSBjaGFuZ2UuCisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICBiZWNvbWVzVmlzaWJsZS5zdHlsZS52aXNpYmlsaXR5ID0gInZpc2libGUiOworICAgICAg
ICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CisgICAgICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgc2V0VGltZW91dCh0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKSwgMCk7CisgICAgICAgIH0sIDEwKTsKKyAgICB9LCAwKTsKK30sIGZhbHNlKTsKKwor
YmVjb21lc1Zpc2libGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiggZXZlbnQg
KSB7ICAgCisgICAgcmVzdWx0LmlubmVySFRNTCA9ICJjbGlja2VkIGhpZGRlbiI7Cit9LCBmYWxz
ZSk7CisKK3RhcHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiggZXZlbnQg
KSB7ICAgCisgICAgcmVzdWx0LmlubmVySFRNTCA9ICJjbGlja2VkIjsKK30sIGZhbHNlKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363557</attachid>
            <date>2019-03-04 15:33:22 -0800</date>
            <delta_ts>2019-03-04 16:10:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195295-20190304153322.patch</filename>
            <type>text/plain</type>
            <size>11473</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyMzY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzEyNjQ4YTg4ZTg2OTgx
ZDJlNTJkMDU3YmIzOGFjYWFjODUzZmZmNy4uNzNmMWJlNzFhMmY5NjczMWM5YmMxOTZjNzZiYzRh
M2QwN2YxYzkzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE5LTAzLTA0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNl
cnZlcl0gSW50cm9kdWNlIGZpeGVkIGR1cmF0aW9uIGNvbnRlbnQgb2JzZXJ2YXRpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTI5NQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNDg1Nzk5MTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSXQgaGVscHMgZmluZGluZyBjb250ZW50IGNoYW5nZXMgd2hl
biB0aGV5IGFyZSB0cmlnZ3JlZCBieSBuZXN0ZWQgdGltZXJzICh1c2luZyBhIDMybXMgd2luZG93
KS4gQ3VycmVudGx5IG5lc3RlZCB0aW1lcnMgZ2V0IGRyb3BwZWQgb24gdGhlIGZsb29yIGFuZAor
ICAgICAgICB3ZSBzdG9wIG9ic2VydmluZyBmb3IgY29udGVudCBjaGFuZ2VzIGJlZm9yZSB0aGV5
IGdldCBmaXJlZC4gCisKKyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMvdG91Y2gvaW9zL3Zpc2li
aWxpdHktY2hhbmdlLWhhcHBlbnMtb24tdGltZXItaG9wcy5odG1sCisKKyAgICAgICAgKiBwYWdl
L2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVu
dENoYW5nZU9ic2VydmVyOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpzdGFydENvbnRlbnRPYnNlcnZhdGlvbkZvckR1cmF0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6c3RvcER1cmF0
aW9uQmFzZWRDb250ZW50T2JzZXJ2YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENo
YW5nZU9ic2VydmVyOjpoYXNEZXRlcm1pbmF0ZVN0YXRlIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6YWRqdXN0T2JzZXJ2ZWRTdGF0ZSk6CisgICAgICAg
ICogcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpD
b250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmlzT2JzZXJ2aW5nQ29udGVudENoYW5nZXMgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpoYXNQZW5kaW5nQWN0aXZp
dHkgY29uc3QpOgorCiAyMDE5LTAzLTA0ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+
CiAKICAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNlcnZlcl0gRGVjb3VwbGUgbW91c2VNb3ZlZCBl
dmVudCBhbmQgdGhlICJpcyBvYnNlcnZpbmcgY29udGVudCBjaGFuZ2UiIHN0YXR1cy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggMDYwNzBiMjZhYTIyNTdmODI5YjJiNzgxMDJlMWVhYjU4MzUwY2U2MC4uM2EyYzYzYzI0
NWU3YzJkNmI3NGQwNDM1M2M2YzA2NjAxMzg5ZmQ2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAxOS0wMy0wNCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAg
IFtDb250ZW50Q2hhbmdlT2JzZXJ2ZXJdIEludHJvZHVjZSBmaXhlZCBkdXJhdGlvbiBjb250ZW50
IG9ic2VydmF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTUyOTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ4NTc5OTEzPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpoYW5kbGVT
eW50aGV0aWNDbGljayk6CisKIDIwMTktMDMtMDQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dh
cmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDb29yZGluYXRlZEdyYXBoaWNzXSBUaGUgY29t
cG9zaXRpbmcgbG9vcCBpcyBzdGlsbCBydW5uaW5nIGV2ZW4gYWZ0ZXIgZXhpdGluZyBBQyBtb2Rl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmNw
cAppbmRleCA4YjFjZmUyNDQ1N2Y5ZTQxNmM4ZGZhN2RjYTJkOWI2NWMxMWNhM2Y0Li43ZTI0NTRh
MWFjZGU1MWFhODQzZTRiM2RkNmY1MmQ3ODA5NDliYzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5jcHAKQEAgLTM4LDkgKzM4LDI2IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogQ29udGVudENoYW5nZU9ic2VydmVyOjpDb250ZW50Q2hh
bmdlT2JzZXJ2ZXIoRG9jdW1lbnQmIGRvY3VtZW50KQogICAgIDogbV9kb2N1bWVudChkb2N1bWVu
dCkKKyAgICAsIG1fY29udGVudE9ic2VydmF0aW9uVGltZXIoW3RoaXNdIHsgc3RvcER1cmF0aW9u
QmFzZWRDb250ZW50T2JzZXJ2YXRpb24oKTsgfSkKIHsKIH0KIAordm9pZCBDb250ZW50Q2hhbmdl
T2JzZXJ2ZXI6OnN0YXJ0Q29udGVudE9ic2VydmF0aW9uRm9yRHVyYXRpb24oU2Vjb25kcyBkdXJh
dGlvbikKK3sKKyAgICBpZiAoaGFzVmlzaWJsZUNoYW5nZVN0YXRlKCkpCisgICAgICAgIHJldHVy
bjsKKyAgICBMT0dfV0lUSF9TVFJFQU0oQ29udGVudE9ic2VydmF0aW9uLCBzdHJlYW0gPDwgInN0
YXJ0Q29udGVudE9ic2VydmF0aW9uRm9yRHVyYXRpb246IHN0YXJ0IG9ic2VydmluZyB0aGUgY29u
dGVudCBmb3IgIiA8PCBkdXJhdGlvbi5taWxsaXNlY29uZHMoKSA8PCAibXMiKTsKKyAgICBhZGp1
c3RPYnNlcnZlZFN0YXRlKEV2ZW50OjpJbnN0YWxsZWRGaXhlZE9ic2VydmF0aW9uVGltZVdpbmRv
dyk7CisgICAgbV9jb250ZW50T2JzZXJ2YXRpb25UaW1lci5zdGFydE9uZVNob3QoZHVyYXRpb24p
OworfQorCit2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6c3RvcER1cmF0aW9uQmFzZWRDb250
ZW50T2JzZXJ2YXRpb24oKQoreworICAgIExPR19XSVRIX1NUUkVBTShDb250ZW50T2JzZXJ2YXRp
b24sIHN0cmVhbSA8PCAic3RvcER1cmF0aW9uQmFzZWRDb250ZW50T2JzZXJ2YXRpb246IHN0b3Ag
ZHVyYXRpb24gYmFzZWQgY29udGVudCBvYnNlcnZpbmcgIik7CisgICAgYWRqdXN0T2JzZXJ2ZWRT
dGF0ZShFdmVudDo6UmVtb3ZlZEZpeGVkT2JzZXJ2YXRpb25UaW1lV2luZG93KTsKKyAgICBub3Rp
ZnlDb250ZW50Q2hhbmdlSWZOZWVkZWQoKTsKK30KKwogdm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2
ZXI6OmRpZEluc3RhbGxET01UaW1lcihjb25zdCBET01UaW1lciYgdGltZXIsIFNlY29uZHMgdGlt
ZW91dCwgYm9vbCBzaW5nbGVTaG90KQogewogICAgIGlmIChtX2RvY3VtZW50LmFjdGl2ZURPTU9i
amVjdHNBcmVTdXNwZW5kZWQoKSkKQEAgLTE3OSw3ICsxOTYsNyBAQCBib29sIENvbnRlbnRDaGFu
Z2VPYnNlcnZlcjo6aGFzRGV0ZXJtaW5hdGVTdGF0ZSgpIGNvbnN0CiB7CiAgICAgaWYgKGhhc1Zp
c2libGVDaGFuZ2VTdGF0ZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICByZXR1cm4gb2Jz
ZXJ2ZWRDb250ZW50Q2hhbmdlKCkgPT0gV0tDb250ZW50Tm9DaGFuZ2UgJiYgIWhhc09ic2VydmVk
RE9NVGltZXIoKSAmJiAhbV9kb2N1bWVudC5oYXNQZW5kaW5nU3R5bGVSZWNhbGMoKTsKKyAgICBy
ZXR1cm4gb2JzZXJ2ZWRDb250ZW50Q2hhbmdlKCkgPT0gV0tDb250ZW50Tm9DaGFuZ2UgJiYgIWhh
c1BlbmRpbmdBY3Rpdml0eSgpOwogfQogCiB2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6YWRq
dXN0T2JzZXJ2ZWRTdGF0ZShFdmVudCBldmVudCkKQEAgLTE4OSwxNCArMjA2LDE2IEBAIHZvaWQg
Q29udGVudENoYW5nZU9ic2VydmVyOjphZGp1c3RPYnNlcnZlZFN0YXRlKEV2ZW50IGV2ZW50KQog
ICAgICAgICBzZXRIYXNOb0NoYW5nZVN0YXRlKCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
RXZlbnQ6Okluc3RhbGxlZERPTVRpbWVyOgorICAgIGNhc2UgRXZlbnQ6Okluc3RhbGxlZEZpeGVk
T2JzZXJ2YXRpb25UaW1lV2luZG93OgogICAgICAgICAvLyBFeHBlY3RpbmcgYSB0aW1lciBmaXJl
LiBQcm9tb3RlIHRvIGFuIGluZGV0ZXJtaW5hdGUgc3RhdGUuCiAgICAgICAgIEFTU0VSVCghaGFz
VmlzaWJsZUNoYW5nZVN0YXRlKCkpOwogICAgICAgICBzZXRIYXNJbmRldGVybWluYXRlU3RhdGUo
KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBFdmVudDo6UmVtb3ZlZERPTVRpbWVyOgogICAg
IGNhc2UgRXZlbnQ6OlN0eWxlUmVjYWxjRmluaXNoZWQ6CisgICAgY2FzZSBFdmVudDo6UmVtb3Zl
ZEZpeGVkT2JzZXJ2YXRpb25UaW1lV2luZG93OgogICAgICAgICAvLyBEZW1vdGUgdG8gIm5vIGNo
YW5nZSIgd2hlbiB0aGVyZSdzIG5vIHBlbmRpbmcgYWN0aXZpdHkgYW55bW9yZS4KLSAgICAgICAg
aWYgKG9ic2VydmVkQ29udGVudENoYW5nZSgpID09IFdLQ29udGVudEluZGV0ZXJtaW5hdGVDaGFu
Z2UgJiYgIWhhc09ic2VydmVkRE9NVGltZXIoKSAmJiAhbV9kb2N1bWVudC5oYXNQZW5kaW5nU3R5
bGVSZWNhbGMoKSkKKyAgICAgICAgaWYgKG9ic2VydmVkQ29udGVudENoYW5nZSgpID09IFdLQ29u
dGVudEluZGV0ZXJtaW5hdGVDaGFuZ2UgJiYgIWhhc1BlbmRpbmdBY3Rpdml0eSgpKQogICAgICAg
ICAgICAgc2V0SGFzTm9DaGFuZ2VTdGF0ZSgpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEV2
ZW50OjpDb250ZW50VmlzaWJpbGl0eUNoYW5nZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
aW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oCmluZGV4IDIzZDEyNTA1ZDVjNmEzYTk2NjYwYjUz
Yjk3NDQ3NDc1YzhkZjM0ZjMuLjEzZDhhMDJiM2I3N2RmOGI4NmFjOWMyMWFiYTgwYTNkY2FkOThk
M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNl
cnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZl
ci5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogCisjaW5j
bHVkZSAiVGltZXIuaCIKICNpbmNsdWRlICJXS0NvbnRlbnRPYnNlcnZhdGlvbi5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC0zOCw2ICszOSw3IEBAIGNsYXNzIENvbnRlbnRDaGFuZ2VPYnNl
cnZlciB7CiBwdWJsaWM6CiAgICAgQ29udGVudENoYW5nZU9ic2VydmVyKERvY3VtZW50Jik7CiAK
KyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0Q29udGVudE9ic2VydmF0aW9uRm9yRHVyYXRp
b24oU2Vjb25kcyBkdXJhdGlvbik7CiAgICAgV0VCQ09SRV9FWFBPUlQgV0tDb250ZW50Q2hhbmdl
IG9ic2VydmVkQ29udGVudENoYW5nZSgpIGNvbnN0OwogCiAgICAgdm9pZCBkaWRJbnN0YWxsRE9N
VGltZXIoY29uc3QgRE9NVGltZXImLCBTZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCk7
CkBAIC0xMDIsNyArMTA0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldFNob3VsZE9ic2VydmVO
ZXh0U3R5bGVSZWNhbGMoYm9vbCk7CiAgICAgYm9vbCBpc09ic2VydmluZ1N0eWxlUmVjYWxjKCkg
Y29uc3QgeyByZXR1cm4gbV9pc09ic2VydmluZ1N0eWxlUmVjYWxjOyB9CiAKLSAgICBib29sIGlz
T2JzZXJ2aW5nQ29udGVudENoYW5nZXMoKSBjb25zdCB7IHJldHVybiBtX2RvbVRpbWVyaXNCZWlu
Z0V4ZWN1dGVkIHx8IG1fc3R5bGVSZWNhbGNJc0JlaW5nRXhlY3V0ZWQ7IH0KKyAgICBib29sIGlz
T2JzZXJ2aW5nQ29udGVudENoYW5nZXMoKSBjb25zdCB7IHJldHVybiBtX2RvbVRpbWVyaXNCZWlu
Z0V4ZWN1dGVkIHx8IG1fc3R5bGVSZWNhbGNJc0JlaW5nRXhlY3V0ZWQgfHwgbV9jb250ZW50T2Jz
ZXJ2YXRpb25UaW1lci5pc0FjdGl2ZSgpOyB9CiAKICAgICB2b2lkIGNsZWFyT2JzZXJ2ZWRET01U
aW1lcnMoKSB7IG1fRE9NVGltZXJMaXN0LmNsZWFyKCk7IH0KICAgICB2b2lkIGNsZWFyVGltZXJz
QW5kUmVwb3J0Q29udGVudENoYW5nZSgpOwpAQCAtMTE3LDE2ICsxMTksMjMgQEAgcHJpdmF0ZToK
IAogICAgIHZvaWQgbm90aWZ5Q29udGVudENoYW5nZUlmTmVlZGVkKCk7CiAKKyAgICB2b2lkIHN0
b3BEdXJhdGlvbkJhc2VkQ29udGVudE9ic2VydmF0aW9uKCk7CisKKyAgICBib29sIGhhc1BlbmRp
bmdBY3Rpdml0eSgpIGNvbnN0IHsgcmV0dXJuIGhhc09ic2VydmVkRE9NVGltZXIoKSB8fCBtX2Rv
Y3VtZW50Lmhhc1BlbmRpbmdTdHlsZVJlY2FsYygpIHx8IG1fY29udGVudE9ic2VydmF0aW9uVGlt
ZXIuaXNBY3RpdmUoKTsgfQorCiAgICAgZW51bSBjbGFzcyBFdmVudCB7CiAgICAgICAgIENvbnRl
bnRPYnNlcnZhdGlvblN0YXJ0ZWQsCiAgICAgICAgIEluc3RhbGxlZERPTVRpbWVyLAogICAgICAg
ICBSZW1vdmVkRE9NVGltZXIsCiAgICAgICAgIFN0eWxlUmVjYWxjRmluaXNoZWQsCi0gICAgICAg
IENvbnRlbnRWaXNpYmlsaXR5Q2hhbmdlZAorICAgICAgICBDb250ZW50VmlzaWJpbGl0eUNoYW5n
ZWQsCisgICAgICAgIEluc3RhbGxlZEZpeGVkT2JzZXJ2YXRpb25UaW1lV2luZG93LAorICAgICAg
ICBSZW1vdmVkRml4ZWRPYnNlcnZhdGlvblRpbWVXaW5kb3cKICAgICB9OwogICAgIHZvaWQgYWRq
dXN0T2JzZXJ2ZWRTdGF0ZShFdmVudCk7CiAKICAgICBEb2N1bWVudCYgbV9kb2N1bWVudDsKKyAg
ICBUaW1lciBtX2NvbnRlbnRPYnNlcnZhdGlvblRpbWVyOwogICAgIEhhc2hTZXQ8Y29uc3QgRE9N
VGltZXIqPiBtX0RPTVRpbWVyTGlzdDsKICAgICBib29sIG1faXNPYnNlcnZpbmdTdHlsZVJlY2Fs
YyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3N0eWxlUmVjYWxjSXNCZWluZ0V4ZWN1dGVkIHsgZmFs
c2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9X
ZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBh
Z2VJT1MubW0KaW5kZXggNDJlZTc1N2ExYzZmYzRiYTY4MmFiOGE3M2IyMWZlYjEwMDRmMTAyOS4u
MDEwNTc2ODBiNjlmY2Q0OGE1MmI5ZWVmYWIyODAxYjk4YjRkODMwZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTU1Miw2
ICs1NTIsOSBAQCB2b2lkIFdlYlBhZ2U6OmhhbmRsZVN5bnRoZXRpY0NsaWNrKE5vZGUmIG5vZGVS
ZXNwb25kaW5nVG9DbGljaywgY29uc3QgV2ViQ29yZTo6RgogICAgICAgICBtYWluZnJhbWUuZG9j
dW1lbnQoKS0+dXBkYXRlU3R5bGVJZk5lZWRlZCgpOwogICAgIH0KIAorICAgIGNvbnN0IFNlY29u
ZHMgb2JzZXJ2YXRpb25EdXJhdGlvbiA9IDMyX21zOworICAgIHJlc3BvbmRpbmdEb2N1bWVudC5j
b250ZW50Q2hhbmdlT2JzZXJ2ZXIoKS5zdGFydENvbnRlbnRPYnNlcnZhdGlvbkZvckR1cmF0aW9u
KG9ic2VydmF0aW9uRHVyYXRpb24pOworCiAgICAgbV9wZW5kaW5nU3ludGhldGljQ2xpY2tOb2Rl
ID0gbnVsbHB0cjsKICAgICBtX3BlbmRpbmdTeW50aGV0aWNDbGlja0xvY2F0aW9uID0gRmxvYXRQ
b2ludCgpOwogICAgIG1fcGVuZGluZ1N5bnRoZXRpY0NsaWNrTW9kaWZpZXJzID0geyB9OwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGI1M2U5M2ZkNmJjYjU0Nzc3ZWY0OTg3OThlMGQ4ZTg3MzRmNzg0YjUuLjFhY2YxYWIzMDFi
MWE3ODU0YzcyMjVjYWFjZDA2NjI5NzA0YjdiN2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAx
OS0wMy0wNCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtDb250
ZW50Q2hhbmdlT2JzZXJ2ZXJdIEludHJvZHVjZSBmaXhlZCBkdXJhdGlvbiBjb250ZW50IG9ic2Vy
dmF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTUyOTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ4NTc5OTEzPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvaW9z
L3Zpc2liaWxpdHktY2hhbmdlLWhhcHBlbnMtb24tdGltZXItaG9wcy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL2lvcy92aXNpYmlsaXR5LWNoYW5nZS1o
YXBwZW5zLW9uLXRpbWVyLWhvcHMuaHRtbDogQWRkZWQuCisKIDIwMTktMDMtMDMgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFByZXBhcmUgdG8gaW1wcm92ZSBoYW5k
bGluZyBvZiBjb252ZXJzaW9uIG9mIGZsb2F0IHRvIHN0cmluZ3MKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy92aXNpYmlsaXR5LWNoYW5nZS1oYXBwZW5zLW9u
LXRpbWVyLWhvcHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gv
aW9zL3Zpc2liaWxpdHktY2hhbmdlLWhhcHBlbnMtb24tdGltZXItaG9wcy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjZkYjRjOTQwOGE2YzAzMTJkZDBlMmQ0ODVjMDFiODM1ZTdjZjkzZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy92aXNpYmls
aXR5LWNoYW5nZS1oYXBwZW5zLW9uLXRpbWVyLWhvcHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MiBAQAorUEFTUyBpZiAnY2xpY2tlZCcgdGV4dCBpcyBub3Qgc2hvd24gYmVsb3cuCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy92aXNpYmlsaXR5LWNoYW5n
ZS1oYXBwZW5zLW9uLXRpbWVyLWhvcHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Rv
dWNoL2lvcy92aXNpYmlsaXR5LWNoYW5nZS1oYXBwZW5zLW9uLXRpbWVyLWhvcHMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42MDc3MDI4Y2IxYzNhOTZkNWEyOGMxY2YwYjkwYzU4ZThjYjc3N2U3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL3Zpc2liaWxpdHkt
Y2hhbmdlLWhhcHBlbnMtb24tdGltZXItaG9wcy5odG1sCkBAIC0wLDAgKzEsNjYgQEAKKzxodG1s
PgorPGhlYWQ+Cis8dGl0bGU+VGhpcyB0ZXN0cyB0aGUgY2FzZSB3aGVuIG5lc3RlZCB0aW1lcnMg
dHJpZ2dlciB2aXNpYmxlIGNvbnRlbnQgY2hhbmdlPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi8uLi9yZXNvdXJjZXMvYmFzaWMtZ2VzdHVyZXMuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
I3RhcHRoaXMgeworICAgIHdpZHRoOiA0MDBweDsKKyAgICBoZWlnaHQ6IDQwMHB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGdyZWVuOworfQorCisjYmVjb21lc1Zpc2libGUgeworICAgIHZpc2li
aWxpdHk6IGhpZGRlbjsKKyAgICB3aWR0aDogMTAwcHg7CisgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKK30KKzwvc3R5bGU+Cis8c2NyaXB0PgorYXN5bmMg
ZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyIHx8ICF0ZXN0UnVu
bmVyLnJ1blVJU2NyaXB0KQorICAgICAgICByZXR1cm47CisKKyAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworICAgIGxldCByZWN0
ID0gdGFwdGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICBsZXQgeCA9IHJlY3QubGVm
dCArIHJlY3Qud2lkdGggLyAyOworICAgIGxldCB5ID0gcmVjdC50b3AgKyByZWN0LmhlaWdodCAv
IDI7CisKKyAgICBhd2FpdCB0YXBBdFBvaW50KHgsIHkpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8ZGl2IGlkPXRhcHRoaXM+UEFTUyBpZiAnY2xpY2tl
ZCcgdGV4dCBpcyBub3Qgc2hvd24gYmVsb3cuPC9kaXY+Cis8ZGl2IGlkPWJlY29tZXNWaXNpYmxl
PjwvZGl2PgorPHByZSBpZD1yZXN1bHQ+PC9wcmU+Cis8c2NyaXB0PgordGFwdGhpcy5hZGRFdmVu
dExpc3RlbmVyKCJtb3VzZW92ZXIiLCBmdW5jdGlvbiggZXZlbnQgKSB7CisgICAgLy8gMS4gSW5z
dGFsbCBhIHNob3J0IHRpbWVyIG9uIGhvdmVyCisgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsK
KyAgICAgICAgLy8gMi4gVHJpZ2dlciBzb21lIG5vbi12aXNpYmlsaXR5IHN0eWxlIGNoYW5nZSB3
aXRoIGZvcmNpbmcgb2Zmc2V0SGVpZ2h0LgorICAgICAgICBiZWNvbWVzVmlzaWJsZS5zdHlsZS5t
YXJnaW5MZWZ0ID0gIjVweCI7CisgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0Owor
CisgICAgICAgIC8vIDMuIEluc3RhbGwgYSBuZXN0ZWQgdGltZXIgd2l0aCB2aXNpYmlsaXR5IGNo
YW5nZS4KKyAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGJlY29t
ZXNWaXNpYmxlLnN0eWxlLnZpc2liaWxpdHkgPSAidmlzaWJsZSI7CisgICAgICAgICAgICBkb2N1
bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpLCAw
KTsKKyAgICAgICAgfSwgMTApOworICAgIH0sIDApOworfSwgZmFsc2UpOworCitiZWNvbWVzVmlz
aWJsZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uKCBldmVudCApIHsgICAKKyAg
ICByZXN1bHQuaW5uZXJIVE1MID0gImNsaWNrZWQgaGlkZGVuIjsKK30sIGZhbHNlKTsKKwordGFw
dGhpcy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uKCBldmVudCApIHsgICAKKyAg
ICByZXN1bHQuaW5uZXJIVE1MID0gImNsaWNrZWQiOworfSwgZmFsc2UpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363565</attachid>
            <date>2019-03-04 16:10:03 -0800</date>
            <delta_ts>2019-03-07 09:26:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195295-20190304161002.patch</filename>
            <type>text/plain</type>
            <size>11563</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyMzY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzEyNjQ4YTg4ZTg2OTgx
ZDJlNTJkMDU3YmIzOGFjYWFjODUzZmZmNy4uNmY1NTIwNDg2OTRkZjJkNjRhNjM4MWI4NmMzOTdl
OTlkODE2OTk2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTAzLTA0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNl
cnZlcl0gSW50cm9kdWNlIGZpeGVkIGR1cmF0aW9uIGNvbnRlbnQgb2JzZXJ2YXRpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTI5NQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNDg1Nzk5MTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24g
RnJhc2VyLgorCisgICAgICAgIFNvbWUgcGFnZXMgaGF2ZSBhIHJ1bmxvb3AtbGlrZSBzY2hlZHVs
aW5nIHNldHVwIHdoZXJlIHRoZSBjb250ZW50IHRyaWdnZXJpbmcgY2hhbmdlIGhhcHBlbnMgYXQg
YSBuZXN0ZWQgdGltZXIgZmlyaW5nLgorICAgICAgICBUaGlzIHBhdGNoIGhlbHBzIGZpbmRpbmcg
Y2FzZXMgbGlrZSB0aGF0IHVzaW5nIGEgMzJtcyBsb25nIGZpeGVkIHdpbmRvdy4gQ3VycmVudGx5
IG5lc3RlZCB0aW1lcnMgZ2V0IGRyb3BwZWQgb24gdGhlIGZsb29yIGFuZAorICAgICAgICB3ZSBz
dG9wIG9ic2VydmluZyBmb3IgY29udGVudCBjaGFuZ2VzIGJlZm9yZSB0aGV5IGV2ZW4gZ2V0IGZp
cmVkLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL3RvdWNoL2lvcy92aXNpYmlsaXR5LWNo
YW5nZS1oYXBwZW5zLW9uLXRpbWVyLWhvcHMuaHRtbAorCisgICAgICAgICogcGFnZS9pb3MvQ29u
dGVudENoYW5nZU9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VP
YnNlcnZlcjo6Q29udGVudENoYW5nZU9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
bnRDaGFuZ2VPYnNlcnZlcjo6c3RhcnRDb250ZW50T2JzZXJ2YXRpb25Gb3JEdXJhdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OnN0b3BEdXJhdGlvbkJhc2Vk
Q29udGVudE9ic2VydmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNl
cnZlcjo6aGFzRGV0ZXJtaW5hdGVTdGF0ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDb250
ZW50Q2hhbmdlT2JzZXJ2ZXI6OmFkanVzdE9ic2VydmVkU3RhdGUpOgorICAgICAgICAqIHBhZ2Uv
aW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENo
YW5nZU9ic2VydmVyOjppc09ic2VydmluZ0NvbnRlbnRDaGFuZ2VzIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6aGFzUGVuZGluZ0FjdGl2aXR5IGNvbnN0
KToKKwogMjAxOS0wMy0wNCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFtDb250ZW50Q2hhbmdlT2JzZXJ2ZXJdIERlY291cGxlIG1vdXNlTW92ZWQgZXZlbnQgYW5k
IHRoZSAiaXMgb2JzZXJ2aW5nIGNvbnRlbnQgY2hhbmdlIiBzdGF0dXMuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA2
MDcwYjI2YWEyMjU3ZjgyOWIyYjc4MTAyZTFlYWI1ODM1MGNlNjAuLjVhYTU4MGVlMGRlYjNmOTI4
NDcwZDcyZWMxNzQ0MzcxZGY4Y2I0MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTkt
MDMtMDQgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29udGVu
dENoYW5nZU9ic2VydmVyXSBJbnRyb2R1Y2UgZml4ZWQgZHVyYXRpb24gY29udGVudCBvYnNlcnZh
dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1
Mjk1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80ODU3OTkxMz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dl
YlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmhhbmRsZVN5bnRoZXRpY0Ns
aWNrKToKKwogMjAxOS0wMy0wNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW0Nvb3JkaW5hdGVkR3JhcGhpY3NdIFRoZSBjb21wb3NpdGluZyBs
b29wIGlzIHN0aWxsIHJ1bm5pbmcgZXZlbiBhZnRlciBleGl0aW5nIEFDIG1vZGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwCmluZGV4IDhi
MWNmZTI0NDU3ZjllNDE2YzhkZmE3ZGNhMmQ5YjY1YzExY2EzZjQuLmIwNzk1NTlkM2ExNTA2ZTll
N2I2YTNhMGUzNmU1MmNmNDZjMmZiMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
aW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9p
b3MvQ29udGVudENoYW5nZU9ic2VydmVyLmNwcApAQCAtMzgsOSArMzgsMjYgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OkNvbnRlbnRDaGFuZ2VPYnNlcnZl
cihEb2N1bWVudCYgZG9jdW1lbnQpCiAgICAgOiBtX2RvY3VtZW50KGRvY3VtZW50KQorICAgICwg
bV9jb250ZW50T2JzZXJ2YXRpb25UaW1lcihbdGhpc10geyBzdG9wRHVyYXRpb25CYXNlZENvbnRl
bnRPYnNlcnZhdGlvbigpOyB9KQogewogfQogCit2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6
c3RhcnRDb250ZW50T2JzZXJ2YXRpb25Gb3JEdXJhdGlvbihTZWNvbmRzIGR1cmF0aW9uKQorewor
ICAgIGlmIChoYXNWaXNpYmxlQ2hhbmdlU3RhdGUoKSkKKyAgICAgICAgcmV0dXJuOworICAgIExP
R19XSVRIX1NUUkVBTShDb250ZW50T2JzZXJ2YXRpb24sIHN0cmVhbSA8PCAic3RhcnRDb250ZW50
T2JzZXJ2YXRpb25Gb3JEdXJhdGlvbjogc3RhcnQgb2JzZXJ2aW5nIHRoZSBjb250ZW50IGZvciAi
IDw8IGR1cmF0aW9uLm1pbGxpc2Vjb25kcygpIDw8ICJtcyIpOworICAgIGFkanVzdE9ic2VydmVk
U3RhdGUoRXZlbnQ6OlN0YXJ0ZWRGaXhlZE9ic2VydmF0aW9uVGltZVdpbmRvdyk7CisgICAgbV9j
b250ZW50T2JzZXJ2YXRpb25UaW1lci5zdGFydE9uZVNob3QoZHVyYXRpb24pOworfQorCit2b2lk
IENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6c3RvcER1cmF0aW9uQmFzZWRDb250ZW50T2JzZXJ2YXRp
b24oKQoreworICAgIExPR19XSVRIX1NUUkVBTShDb250ZW50T2JzZXJ2YXRpb24sIHN0cmVhbSA8
PCAic3RvcER1cmF0aW9uQmFzZWRDb250ZW50T2JzZXJ2YXRpb246IHN0b3AgZHVyYXRpb24gYmFz
ZWQgY29udGVudCBvYnNlcnZpbmcgIik7CisgICAgYWRqdXN0T2JzZXJ2ZWRTdGF0ZShFdmVudDo6
RW5kZWRGaXhlZE9ic2VydmF0aW9uVGltZVdpbmRvdyk7CisgICAgbm90aWZ5Q29udGVudENoYW5n
ZUlmTmVlZGVkKCk7Cit9CisKIHZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpkaWRJbnN0YWxs
RE9NVGltZXIoY29uc3QgRE9NVGltZXImIHRpbWVyLCBTZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2lu
Z2xlU2hvdCkKIHsKICAgICBpZiAobV9kb2N1bWVudC5hY3RpdmVET01PYmplY3RzQXJlU3VzcGVu
ZGVkKCkpCkBAIC0xNzksNyArMTk2LDcgQEAgYm9vbCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6Omhh
c0RldGVybWluYXRlU3RhdGUoKSBjb25zdAogewogICAgIGlmIChoYXNWaXNpYmxlQ2hhbmdlU3Rh
dGUoKSkKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgcmV0dXJuIG9ic2VydmVkQ29udGVudENo
YW5nZSgpID09IFdLQ29udGVudE5vQ2hhbmdlICYmICFoYXNPYnNlcnZlZERPTVRpbWVyKCkgJiYg
IW1fZG9jdW1lbnQuaGFzUGVuZGluZ1N0eWxlUmVjYWxjKCk7CisgICAgcmV0dXJuIG9ic2VydmVk
Q29udGVudENoYW5nZSgpID09IFdLQ29udGVudE5vQ2hhbmdlICYmICFoYXNQZW5kaW5nQWN0aXZp
dHkoKTsKIH0KIAogdm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmFkanVzdE9ic2VydmVkU3Rh
dGUoRXZlbnQgZXZlbnQpCkBAIC0xODksMTQgKzIwNiwxNiBAQCB2b2lkIENvbnRlbnRDaGFuZ2VP
YnNlcnZlcjo6YWRqdXN0T2JzZXJ2ZWRTdGF0ZShFdmVudCBldmVudCkKICAgICAgICAgc2V0SGFz
Tm9DaGFuZ2VTdGF0ZSgpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEV2ZW50OjpJbnN0YWxs
ZWRET01UaW1lcjoKKyAgICBjYXNlIEV2ZW50OjpTdGFydGVkRml4ZWRPYnNlcnZhdGlvblRpbWVX
aW5kb3c6CiAgICAgICAgIC8vIEV4cGVjdGluZyBhIHRpbWVyIGZpcmUuIFByb21vdGUgdG8gYW4g
aW5kZXRlcm1pbmF0ZSBzdGF0ZS4KICAgICAgICAgQVNTRVJUKCFoYXNWaXNpYmxlQ2hhbmdlU3Rh
dGUoKSk7CiAgICAgICAgIHNldEhhc0luZGV0ZXJtaW5hdGVTdGF0ZSgpOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIEV2ZW50OjpSZW1vdmVkRE9NVGltZXI6CiAgICAgY2FzZSBFdmVudDo6U3R5
bGVSZWNhbGNGaW5pc2hlZDoKKyAgICBjYXNlIEV2ZW50OjpFbmRlZEZpeGVkT2JzZXJ2YXRpb25U
aW1lV2luZG93OgogICAgICAgICAvLyBEZW1vdGUgdG8gIm5vIGNoYW5nZSIgd2hlbiB0aGVyZSdz
IG5vIHBlbmRpbmcgYWN0aXZpdHkgYW55bW9yZS4KLSAgICAgICAgaWYgKG9ic2VydmVkQ29udGVu
dENoYW5nZSgpID09IFdLQ29udGVudEluZGV0ZXJtaW5hdGVDaGFuZ2UgJiYgIWhhc09ic2VydmVk
RE9NVGltZXIoKSAmJiAhbV9kb2N1bWVudC5oYXNQZW5kaW5nU3R5bGVSZWNhbGMoKSkKKyAgICAg
ICAgaWYgKG9ic2VydmVkQ29udGVudENoYW5nZSgpID09IFdLQ29udGVudEluZGV0ZXJtaW5hdGVD
aGFuZ2UgJiYgIWhhc1BlbmRpbmdBY3Rpdml0eSgpKQogICAgICAgICAgICAgc2V0SGFzTm9DaGFu
Z2VTdGF0ZSgpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEV2ZW50OjpDb250ZW50VmlzaWJp
bGl0eUNoYW5nZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50
Q2hhbmdlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VP
YnNlcnZlci5oCmluZGV4IDIzZDEyNTA1ZDVjNmEzYTk2NjYwYjUzYjk3NDQ3NDc1YzhkZjM0ZjMu
LjE3MGYyZTc4ODg4NGU0ODI5MDc0YzgwYzgxYmQ4OThhZjY4ODE1OWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oCkBAIC0yNyw2ICsyNyw3
IEBACiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogCisjaW5jbHVkZSAiVGltZXIuaCIKICNp
bmNsdWRlICJXS0NvbnRlbnRPYnNlcnZhdGlvbi5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC0zOCw2ICszOSw3IEBAIGNsYXNzIENvbnRlbnRDaGFuZ2VPYnNlcnZlciB7CiBwdWJsaWM6CiAg
ICAgQ29udGVudENoYW5nZU9ic2VydmVyKERvY3VtZW50Jik7CiAKKyAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHN0YXJ0Q29udGVudE9ic2VydmF0aW9uRm9yRHVyYXRpb24oU2Vjb25kcyBkdXJhdGlv
bik7CiAgICAgV0VCQ09SRV9FWFBPUlQgV0tDb250ZW50Q2hhbmdlIG9ic2VydmVkQ29udGVudENo
YW5nZSgpIGNvbnN0OwogCiAgICAgdm9pZCBkaWRJbnN0YWxsRE9NVGltZXIoY29uc3QgRE9NVGlt
ZXImLCBTZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCk7CkBAIC0xMDIsNyArMTA0LDcg
QEAgcHJpdmF0ZToKICAgICB2b2lkIHNldFNob3VsZE9ic2VydmVOZXh0U3R5bGVSZWNhbGMoYm9v
bCk7CiAgICAgYm9vbCBpc09ic2VydmluZ1N0eWxlUmVjYWxjKCkgY29uc3QgeyByZXR1cm4gbV9p
c09ic2VydmluZ1N0eWxlUmVjYWxjOyB9CiAKLSAgICBib29sIGlzT2JzZXJ2aW5nQ29udGVudENo
YW5nZXMoKSBjb25zdCB7IHJldHVybiBtX2RvbVRpbWVyaXNCZWluZ0V4ZWN1dGVkIHx8IG1fc3R5
bGVSZWNhbGNJc0JlaW5nRXhlY3V0ZWQ7IH0KKyAgICBib29sIGlzT2JzZXJ2aW5nQ29udGVudENo
YW5nZXMoKSBjb25zdCB7IHJldHVybiBtX2RvbVRpbWVyaXNCZWluZ0V4ZWN1dGVkIHx8IG1fc3R5
bGVSZWNhbGNJc0JlaW5nRXhlY3V0ZWQgfHwgbV9jb250ZW50T2JzZXJ2YXRpb25UaW1lci5pc0Fj
dGl2ZSgpOyB9CiAKICAgICB2b2lkIGNsZWFyT2JzZXJ2ZWRET01UaW1lcnMoKSB7IG1fRE9NVGlt
ZXJMaXN0LmNsZWFyKCk7IH0KICAgICB2b2lkIGNsZWFyVGltZXJzQW5kUmVwb3J0Q29udGVudENo
YW5nZSgpOwpAQCAtMTE3LDE2ICsxMTksMjMgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgbm90aWZ5
Q29udGVudENoYW5nZUlmTmVlZGVkKCk7CiAKKyAgICB2b2lkIHN0b3BEdXJhdGlvbkJhc2VkQ29u
dGVudE9ic2VydmF0aW9uKCk7CisKKyAgICBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0
IHsgcmV0dXJuIGhhc09ic2VydmVkRE9NVGltZXIoKSB8fCBtX2RvY3VtZW50Lmhhc1BlbmRpbmdT
dHlsZVJlY2FsYygpIHx8IG1fY29udGVudE9ic2VydmF0aW9uVGltZXIuaXNBY3RpdmUoKTsgfQor
CiAgICAgZW51bSBjbGFzcyBFdmVudCB7CiAgICAgICAgIENvbnRlbnRPYnNlcnZhdGlvblN0YXJ0
ZWQsCiAgICAgICAgIEluc3RhbGxlZERPTVRpbWVyLAogICAgICAgICBSZW1vdmVkRE9NVGltZXIs
CiAgICAgICAgIFN0eWxlUmVjYWxjRmluaXNoZWQsCi0gICAgICAgIENvbnRlbnRWaXNpYmlsaXR5
Q2hhbmdlZAorICAgICAgICBDb250ZW50VmlzaWJpbGl0eUNoYW5nZWQsCisgICAgICAgIFN0YXJ0
ZWRGaXhlZE9ic2VydmF0aW9uVGltZVdpbmRvdywKKyAgICAgICAgRW5kZWRGaXhlZE9ic2VydmF0
aW9uVGltZVdpbmRvdwogICAgIH07CiAgICAgdm9pZCBhZGp1c3RPYnNlcnZlZFN0YXRlKEV2ZW50
KTsKIAogICAgIERvY3VtZW50JiBtX2RvY3VtZW50OworICAgIFRpbWVyIG1fY29udGVudE9ic2Vy
dmF0aW9uVGltZXI7CiAgICAgSGFzaFNldDxjb25zdCBET01UaW1lcio+IG1fRE9NVGltZXJMaXN0
OwogICAgIGJvb2wgbV9pc09ic2VydmluZ1N0eWxlUmVjYWxjIHsgZmFsc2UgfTsKICAgICBib29s
IG1fc3R5bGVSZWNhbGNJc0JlaW5nRXhlY3V0ZWQgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQppbmRleCA0MmVlNzU3
YTFjNmZjNGJhNjgyYWI4YTczYjIxZmViMTAwNGYxMDI5Li4wMTA1NzY4MGI2OWZjZDQ4YTUyYjll
ZWZhYjI4MDFiOThiNGQ4MzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtNTUyLDYgKzU1Miw5IEBAIHZvaWQgV2ViUGFn
ZTo6aGFuZGxlU3ludGhldGljQ2xpY2soTm9kZSYgbm9kZVJlc3BvbmRpbmdUb0NsaWNrLCBjb25z
dCBXZWJDb3JlOjpGCiAgICAgICAgIG1haW5mcmFtZS5kb2N1bWVudCgpLT51cGRhdGVTdHlsZUlm
TmVlZGVkKCk7CiAgICAgfQogCisgICAgY29uc3QgU2Vjb25kcyBvYnNlcnZhdGlvbkR1cmF0aW9u
ID0gMzJfbXM7CisgICAgcmVzcG9uZGluZ0RvY3VtZW50LmNvbnRlbnRDaGFuZ2VPYnNlcnZlcigp
LnN0YXJ0Q29udGVudE9ic2VydmF0aW9uRm9yRHVyYXRpb24ob2JzZXJ2YXRpb25EdXJhdGlvbik7
CisKICAgICBtX3BlbmRpbmdTeW50aGV0aWNDbGlja05vZGUgPSBudWxscHRyOwogICAgIG1fcGVu
ZGluZ1N5bnRoZXRpY0NsaWNrTG9jYXRpb24gPSBGbG9hdFBvaW50KCk7CiAgICAgbV9wZW5kaW5n
U3ludGhldGljQ2xpY2tNb2RpZmllcnMgPSB7IH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjUzZTkzZmQ2YmNiNTQ3Nzdl
ZjQ5ODc5OGUwZDhlODczNGY3ODRiNS4uMTc2ZjE2NGQxNzYxYzk3OTViODE3Y2U0ZTc2MzRiNjJj
MjgwZDdjZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTAzLTA0ICBaYWxhbiBCdWp0YXMg
IDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNlcnZlcl0gSW50
cm9kdWNlIGZpeGVkIGR1cmF0aW9uIGNvbnRlbnQgb2JzZXJ2YXRpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTI5NQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNDg1Nzk5MTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgor
CisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvaW9zL3Zpc2liaWxpdHktY2hhbmdlLWhhcHBl
bnMtb24tdGltZXItaG9wcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZl
bnRzL3RvdWNoL2lvcy92aXNpYmlsaXR5LWNoYW5nZS1oYXBwZW5zLW9uLXRpbWVyLWhvcHMuaHRt
bDogQWRkZWQuCisKIDIwMTktMDMtMDMgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFByZXBhcmUgdG8gaW1wcm92ZSBoYW5kbGluZyBvZiBjb252ZXJzaW9uIG9mIGZs
b2F0IHRvIHN0cmluZ3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNo
L2lvcy92aXNpYmlsaXR5LWNoYW5nZS1oYXBwZW5zLW9uLXRpbWVyLWhvcHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL3Zpc2liaWxpdHktY2hhbmdlLWhh
cHBlbnMtb24tdGltZXItaG9wcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjZkYjRjOTQwOGE2
YzAzMTJkZDBlMmQ0ODVjMDFiODM1ZTdjZjkzZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy92aXNpYmlsaXR5LWNoYW5nZS1oYXBwZW5zLW9uLXRp
bWVyLWhvcHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAorUEFTUyBpZiAnY2xpY2tlZCcg
dGV4dCBpcyBub3Qgc2hvd24gYmVsb3cuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3RvdWNoL2lvcy92aXNpYmlsaXR5LWNoYW5nZS1oYXBwZW5zLW9uLXRpbWVyLWhvcHMu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy92aXNpYmlsaXR5LWNoYW5n
ZS1oYXBwZW5zLW9uLXRpbWVyLWhvcHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MDc3MDI4Y2IxYzNhOTZk
NWEyOGMxY2YwYjkwYzU4ZThjYjc3N2U3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvdG91Y2gvaW9zL3Zpc2liaWxpdHktY2hhbmdlLWhhcHBlbnMtb24tdGltZXIt
aG9wcy5odG1sCkBAIC0wLDAgKzEsNjYgQEAKKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGhpcyB0
ZXN0cyB0aGUgY2FzZSB3aGVuIG5lc3RlZCB0aW1lcnMgdHJpZ2dlciB2aXNpYmxlIGNvbnRlbnQg
Y2hhbmdlPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvYmFzaWMt
Z2VzdHVyZXMuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorI3RhcHRoaXMgeworICAgIHdpZHRoOiA0
MDBweDsKKyAgICBoZWlnaHQ6IDQwMHB4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOwor
fQorCisjYmVjb21lc1Zpc2libGUgeworICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICB3aWR0
aDogMTAwcHg7CisgICAgaGVpZ2h0OiAxMDBweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVl
bjsKK30KKzwvc3R5bGU+Cis8c2NyaXB0PgorYXN5bmMgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyIHx8ICF0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KQorICAgICAg
ICByZXR1cm47CisKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKKworICAgIGxldCByZWN0ID0gdGFwdGhpcy5nZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKTsKKyAgICBsZXQgeCA9IHJlY3QubGVmdCArIHJlY3Qud2lkdGggLyAyOworICAg
IGxldCB5ID0gcmVjdC50b3AgKyByZWN0LmhlaWdodCAvIDI7CisKKyAgICBhd2FpdCB0YXBBdFBv
aW50KHgsIHkpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+
Cis8ZGl2IGlkPXRhcHRoaXM+UEFTUyBpZiAnY2xpY2tlZCcgdGV4dCBpcyBub3Qgc2hvd24gYmVs
b3cuPC9kaXY+Cis8ZGl2IGlkPWJlY29tZXNWaXNpYmxlPjwvZGl2PgorPHByZSBpZD1yZXN1bHQ+
PC9wcmU+Cis8c2NyaXB0PgordGFwdGhpcy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLCBm
dW5jdGlvbiggZXZlbnQgKSB7CisgICAgLy8gMS4gSW5zdGFsbCBhIHNob3J0IHRpbWVyIG9uIGhv
dmVyCisgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgLy8gMi4gVHJpZ2dlciBz
b21lIG5vbi12aXNpYmlsaXR5IHN0eWxlIGNoYW5nZSB3aXRoIGZvcmNpbmcgb2Zmc2V0SGVpZ2h0
LgorICAgICAgICBiZWNvbWVzVmlzaWJsZS5zdHlsZS5tYXJnaW5MZWZ0ID0gIjVweCI7CisgICAg
ICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OworCisgICAgICAgIC8vIDMuIEluc3RhbGwg
YSBuZXN0ZWQgdGltZXIgd2l0aCB2aXNpYmlsaXR5IGNoYW5nZS4KKyAgICAgICAgc2V0VGltZW91
dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGJlY29tZXNWaXNpYmxlLnN0eWxlLnZpc2liaWxp
dHkgPSAidmlzaWJsZSI7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsK
KyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICBzZXRU
aW1lb3V0KHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpLCAwKTsKKyAgICAgICAgfSwgMTApOworICAg
IH0sIDApOworfSwgZmFsc2UpOworCitiZWNvbWVzVmlzaWJsZS5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGZ1bmN0aW9uKCBldmVudCApIHsgICAKKyAgICByZXN1bHQuaW5uZXJIVE1MID0gImNs
aWNrZWQgaGlkZGVuIjsKK30sIGZhbHNlKTsKKwordGFwdGhpcy5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIGZ1bmN0aW9uKCBldmVudCApIHsgICAKKyAgICByZXN1bHQuaW5uZXJIVE1MID0gImNs
aWNrZWQiOworfSwgZmFsc2UpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363884</attachid>
            <date>2019-03-07 09:26:41 -0800</date>
            <delta_ts>2019-03-07 18:22:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195295-20190307092640.patch</filename>
            <type>text/plain</type>
            <size>17038</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyNTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTE3ZDk2MGFkOTRlMjkz
ODBlNjVjOTc2ZTQyYTdjMDViMDI3ZGVmMS4uNWVjMDVlNzM0NjZjOTgyNzM4YzU2NzRkOWU0NDA5
MmI2YWJhZWViMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE5LTAzLTA3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNl
cnZlcl0gSW50cm9kdWNlIGZpeGVkIGR1cmF0aW9uIGNvbnRlbnQgb2JzZXJ2YXRpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTI5NQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNDg1Nzk5MTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgU29tZSBwYWdlcyBoYXZlIGEgcnVubG9vcC1saWtlIHNjaGVk
dWxpbmcgc2V0dXAgd2hlcmUgdGhlIGNvbnRlbnQgdHJpZ2dlcmluZyBjaGFuZ2UgaGFwcGVucyBh
dCBhIG5lc3RlZCB0aW1lciBmaXJpbmcuCisgICAgICAgIFRoaXMgcGF0Y2ggaGVscHMgZmluZGlu
ZyBjYXNlcyBsaWtlIHRoYXQgdXNpbmcgYSAzMm1zIGxvbmcgZml4ZWQgd2luZG93LiBDdXJyZW50
bHkgbmVzdGVkIHRpbWVycyBnZXQgZHJvcHBlZCBvbiB0aGUgZmxvb3IgYW5kCisgICAgICAgIHdl
IHN0b3Agb2JzZXJ2aW5nIGZvciBjb250ZW50IGNoYW5nZXMgYmVmb3JlIHRoZXkgZXZlbiBnZXQg
ZmlyZWQuCisKKyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMvdG91Y2gvaW9zL2NvbnRlbnQtb2Jz
ZXJ2YXRpb24vdmlzaWJpbGl0eS1jaGFuZ2UtaGFwcGVucy1vbi10aW1lci1ob3BzLmh0bWwKKwor
ICAgICAgICAqIHBhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OnN0YXJ0Q29udGVudE9ic2Vy
dmF0aW9uRm9yRHVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2Vy
dmVyOjpjb21wbGV0ZUR1cmF0aW9uQmFzZWRDb250ZW50T2JzZXJ2YXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpkaWRJbnN0YWxsRE9NVGltZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpkaWRSZW1vdmVET01UaW1lcik6
CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmRvbVRpbWVyRXhlY3V0
ZURpZFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZG9t
VGltZXJFeGVjdXRlRGlkRmluaXNoKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VP
YnNlcnZlcjo6c3R5bGVSZWNhbGNEaWRTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
Q2hhbmdlT2JzZXJ2ZXI6OnN0eWxlUmVjYWxjRGlkRmluaXNoKToKKyAgICAgICAgKFdlYkNvcmU6
OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6Y2FuY2VsUGVuZGluZ0FjdGl2aXRpZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpkaWRTdXNwZW5kQWN0aXZlRE9NT2Jq
ZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OndpbGxEZXRh
Y2hQYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6Y29udGVu
dFZpc2liaWxpdHlEaWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9i
c2VydmVyOjpzZXRTaG91bGRPYnNlcnZlTmV4dFN0eWxlUmVjYWxjKToKKyAgICAgICAgKFdlYkNv
cmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6YWRqdXN0T2JzZXJ2ZWRTdGF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OlN0eWxlQ2hhbmdlU2NvcGU6OlN0eWxl
Q2hhbmdlU2NvcGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpT
dHlsZUNoYW5nZVNjb3BlOjp+U3R5bGVDaGFuZ2VTY29wZSk6CisgICAgICAgIChXZWJDb3JlOjpD
b250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmNsZWFyVGltZXJzQW5kUmVwb3J0Q29udGVudENoYW5nZSk6
IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmNsZWFyT2JzZXJ2ZWRET01U
aW1lcnMpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjppc09ic2Vy
dmluZ0NvbnRlbnRDaGFuZ2VzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFu
Z2VPYnNlcnZlcjo6aGFzUGVuZGluZ0FjdGl2aXR5IGNvbnN0KToKKwogMjAxOS0wMy0wNyAgWmFs
YW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtDb250ZW50Q2hhbmdlT2Jz
ZXJ2ZXJdIEFkZCBhIHNldHRpbmcgdG8gYmUgYWJsZSB0byB0dXJuIGNvbnRlbnQgY2hhbmdlIG9i
c2VydmF0aW9uIG9uL29mZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBhN2NjNmNmN2JmYmE1ZjE4OTkzZWMzNGQ5NTJk
ZWJjNDc0OTAwNzg0Li45NjFlNWRjMzI0M2QwNjgwMjAyYzYyMmNlNjlhMTJiNDllYTc3ZjZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTAzLTA3ICBaYWxhbiBCdWp0YXMgIDx6YWxh
bkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNlcnZlcl0gSW50cm9kdWNl
IGZpeGVkIGR1cmF0aW9uIGNvbnRlbnQgb2JzZXJ2YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTI5NQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNDg1Nzk5MTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OmhhbmRsZVN5bnRoZXRpY0NsaWNrKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZTo6Y29tcGxldGVQZW5kaW5nU3ludGhldGljQ2xpY2tGb3JDb250ZW50Q2hhbmdlT2Jz
ZXJ2ZXIpOgorCiAyMDE5LTAzLTA3ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNlcnZlcl0gQWRkIGEgc2V0dGluZyB0byBiZSBhYmxl
IHRvIHR1cm4gY29udGVudCBjaGFuZ2Ugb2JzZXJ2YXRpb24gb24vb2ZmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmNwcAppbmRleCBmMGQ1ODE1
ZjdmNzgwYTQ0NmFhMDI1MGNhYjg1YzQ1ODI0MWVjNjRmLi4yYzA3MDZmZGE1YTk2YzQ3OGNjMjQ5
NThlZjAwNzYwMTJhZWMyNzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9D
b250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0Nv
bnRlbnRDaGFuZ2VPYnNlcnZlci5jcHAKQEAgLTM5LDkgKzM5LDI2IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogQ29udGVudENoYW5nZU9ic2VydmVyOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXIoRG9j
dW1lbnQmIGRvY3VtZW50KQogICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKKyAgICAsIG1fY29u
dGVudE9ic2VydmF0aW9uVGltZXIoW3RoaXNdIHsgY29tcGxldGVEdXJhdGlvbkJhc2VkQ29udGVu
dE9ic2VydmF0aW9uKCk7IH0pCiB7CiB9CiAKK3ZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpz
dGFydENvbnRlbnRPYnNlcnZhdGlvbkZvckR1cmF0aW9uKFNlY29uZHMgZHVyYXRpb24pCit7Cisg
ICAgaWYgKCFtX2RvY3VtZW50LnNldHRpbmdzKCkuY29udGVudENoYW5nZU9ic2VydmVyRW5hYmxl
ZCgpKQorICAgICAgICByZXR1cm47CisgICAgQVNTRVJUKCFoYXNWaXNpYmxlQ2hhbmdlU3RhdGUo
KSk7CisgICAgTE9HX1dJVEhfU1RSRUFNKENvbnRlbnRPYnNlcnZhdGlvbiwgc3RyZWFtIDw8ICJz
dGFydENvbnRlbnRPYnNlcnZhdGlvbkZvckR1cmF0aW9uOiBzdGFydCBvYnNlcnZpbmcgdGhlIGNv
bnRlbnQgZm9yICIgPDwgZHVyYXRpb24ubWlsbGlzZWNvbmRzKCkgPDwgIm1zIik7CisgICAgYWRq
dXN0T2JzZXJ2ZWRTdGF0ZShFdmVudDo6U3RhcnRlZEZpeGVkT2JzZXJ2YXRpb25UaW1lV2luZG93
KTsKKyAgICBtX2NvbnRlbnRPYnNlcnZhdGlvblRpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbik7
Cit9CisKK3ZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpjb21wbGV0ZUR1cmF0aW9uQmFzZWRD
b250ZW50T2JzZXJ2YXRpb24oKQoreworICAgIExPR19XSVRIX1NUUkVBTShDb250ZW50T2JzZXJ2
YXRpb24sIHN0cmVhbSA8PCAiY29tcGxldGVEdXJhdGlvbkJhc2VkQ29udGVudE9ic2VydmF0aW9u
OiBjb21wbGV0ZSBkdXJhdGlvbiBiYXNlZCBjb250ZW50IG9ic2VydmluZyAiKTsKKyAgICBhZGp1
c3RPYnNlcnZlZFN0YXRlKEV2ZW50OjpFbmRlZEZpeGVkT2JzZXJ2YXRpb25UaW1lV2luZG93KTsK
K30KKwogdm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmRpZEluc3RhbGxET01UaW1lcihjb25z
dCBET01UaW1lciYgdGltZXIsIFNlY29uZHMgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KQogewog
ICAgIGlmICghbV9kb2N1bWVudC5zZXR0aW5ncygpLmNvbnRlbnRDaGFuZ2VPYnNlcnZlckVuYWJs
ZWQoKSkKQEAgLTExMywyNiArMTMwLDIyIEBAIHZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpz
dHlsZVJlY2FsY0RpZEZpbmlzaCgpCiAgICAgYWRqdXN0T2JzZXJ2ZWRTdGF0ZShFdmVudDo6U3R5
bGVSZWNhbGNGaW5pc2hlZCk7CiB9CiAKLXZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpjbGVh
clRpbWVyc0FuZFJlcG9ydENvbnRlbnRDaGFuZ2UoKQordm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2
ZXI6OmNhbmNlbFBlbmRpbmdBY3Rpdml0aWVzKCkKIHsKLSAgICBpZiAoIWhhc09ic2VydmVkRE9N
VGltZXIoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIExPR19XSVRIX1NUUkVBTShDb250ZW50T2Jz
ZXJ2YXRpb24sIHN0cmVhbSA8PCAiY2xlYXJUaW1lcnNBbmRSZXBvcnRDb250ZW50Q2hhbmdlOiBy
ZW1vdmUgcmVnaXN0ZXJlZCB0aW1lcnMgYW5kIHJlcG9ydCBjb250ZW50IGNoYW5nZS4iIDw8IG9i
c2VydmVkQ29udGVudENoYW5nZSgpKTsKLQogICAgIGNsZWFyT2JzZXJ2ZWRET01UaW1lcnMoKTsK
LSAgICBBU1NFUlQobV9kb2N1bWVudC5wYWdlKCkpOwotICAgIEFTU0VSVChtX2RvY3VtZW50LmZy
YW1lKCkpOwotICAgIG1fZG9jdW1lbnQucGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5vYnNlcnZl
ZENvbnRlbnRDaGFuZ2UoKm1fZG9jdW1lbnQuZnJhbWUoKSk7CisgICAgbV9jb250ZW50T2JzZXJ2
YXRpb25UaW1lci5zdG9wKCk7CiB9CiAKIHZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpkaWRT
dXNwZW5kQWN0aXZlRE9NT2JqZWN0cygpCiB7Ci0gICAgY2xlYXJUaW1lcnNBbmRSZXBvcnRDb250
ZW50Q2hhbmdlKCk7CisgICAgTE9HKENvbnRlbnRPYnNlcnZhdGlvbiwgImRpZFN1c3BlbmRBY3Rp
dmVET01PYmplY3RzIik7CisgICAgY2FuY2VsUGVuZGluZ0FjdGl2aXRpZXMoKTsKIH0KIAogdm9p
ZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OndpbGxEZXRhY2hQYWdlKCkKIHsKLSAgICBjbGVhclRp
bWVyc0FuZFJlcG9ydENvbnRlbnRDaGFuZ2UoKTsKKyAgICBMT0coQ29udGVudE9ic2VydmF0aW9u
LCAid2lsbERldGFjaFBhZ2UiKTsKKyAgICBjYW5jZWxQZW5kaW5nQWN0aXZpdGllcygpOwogfQog
CiB2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6Y29udGVudFZpc2liaWxpdHlEaWRDaGFuZ2Uo
KQpAQCAtMjA1LDYgKzIxOCw3IEBAIHZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjphZGp1c3RP
YnNlcnZlZFN0YXRlKEV2ZW50IGV2ZW50KQogICAgICAgICBzZXRIYXNOb0NoYW5nZVN0YXRlKCk7
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRXZlbnQ6Okluc3RhbGxlZERPTVRpbWVyOgorICAg
IGNhc2UgRXZlbnQ6OlN0YXJ0ZWRGaXhlZE9ic2VydmF0aW9uVGltZVdpbmRvdzoKICAgICAgICAg
Ly8gRXhwZWN0aW5nIGEgdGltZXIgZmlyZS4gUHJvbW90ZSB0byBhbiBpbmRldGVybWluYXRlIHN0
YXRlLgogICAgICAgICBBU1NFUlQoIWhhc1Zpc2libGVDaGFuZ2VTdGF0ZSgpKTsKICAgICAgICAg
c2V0SGFzSW5kZXRlcm1pbmF0ZVN0YXRlKCk7CkBAIC0yMTIsNiArMjI2LDcgQEAgdm9pZCBDb250
ZW50Q2hhbmdlT2JzZXJ2ZXI6OmFkanVzdE9ic2VydmVkU3RhdGUoRXZlbnQgZXZlbnQpCiAgICAg
Y2FzZSBFdmVudDo6UmVtb3ZlZERPTVRpbWVyOgogICAgIGNhc2UgRXZlbnQ6OlN0eWxlUmVjYWxj
RmluaXNoZWQ6CiAgICAgY2FzZSBFdmVudDo6RW5kZWRET01UaW1lckV4ZWN1dGlvbjoKKyAgICBj
YXNlIEV2ZW50OjpFbmRlZEZpeGVkT2JzZXJ2YXRpb25UaW1lV2luZG93OgogICAgICAgICAvLyBE
ZW1vdGUgdG8gIm5vIGNoYW5nZSIgd2hlbiB0aGVyZSdzIG5vIHBlbmRpbmcgYWN0aXZpdHkgYW55
bW9yZS4KICAgICAgICAgaWYgKG9ic2VydmVkQ29udGVudENoYW5nZSgpID09IFdLQ29udGVudElu
ZGV0ZXJtaW5hdGVDaGFuZ2UgJiYgIWhhc1BlbmRpbmdBY3Rpdml0eSgpKQogICAgICAgICAgICAg
c2V0SGFzTm9DaGFuZ2VTdGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9p
b3MvQ29udGVudENoYW5nZU9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250
ZW50Q2hhbmdlT2JzZXJ2ZXIuaAppbmRleCAxMDJhY2E0ZmJlMzYzZjY4M2QzYzVjMWJkMTg5MzUx
NTcyNTYzODI2Li41NTNlNzlhMTY5MGZkYmM5NTBiMDVlNTM4NDc3NzE4NGRkZDY2NDJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuaApAQCAt
MjcsNiArMjcsNyBAQAogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAorI2luY2x1ZGUgIlRp
bWVyLmgiCiAjaW5jbHVkZSAiV0tDb250ZW50T2JzZXJ2YXRpb24uaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtMzgsMTEgKzM5LDExIEBAIGNsYXNzIENvbnRlbnRDaGFuZ2VPYnNlcnZlciB7
CiBwdWJsaWM6CiAgICAgQ29udGVudENoYW5nZU9ic2VydmVyKERvY3VtZW50Jik7CiAKKyAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0Q29udGVudE9ic2VydmF0aW9uRm9yRHVyYXRpb24oU2Vj
b25kcyBkdXJhdGlvbik7CiAgICAgV0VCQ09SRV9FWFBPUlQgV0tDb250ZW50Q2hhbmdlIG9ic2Vy
dmVkQ29udGVudENoYW5nZSgpIGNvbnN0OwogCiAgICAgdm9pZCBkaWRJbnN0YWxsRE9NVGltZXIo
Y29uc3QgRE9NVGltZXImLCBTZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCk7CiAgICAg
dm9pZCBkaWRSZW1vdmVET01UaW1lcihjb25zdCBET01UaW1lciYpOwotICAgIHZvaWQgY29udGVu
dFZpc2liaWxpdHlEaWRDaGFuZ2UoKTsKICAgICB2b2lkIGRpZFN1c3BlbmRBY3RpdmVET01PYmpl
Y3RzKCk7CiAgICAgdm9pZCB3aWxsRGV0YWNoUGFnZSgpOwogCkBAIC04OSwxMiArOTAsMTUgQEAg
cHJpdmF0ZToKICAgICB2b2lkIG1vdXNlTW92ZWREaWRTdGFydCgpOwogICAgIHZvaWQgbW91c2VN
b3ZlZERpZEZpbmlzaCgpOwogCisgICAgdm9pZCBjb250ZW50VmlzaWJpbGl0eURpZENoYW5nZSgp
OworCiAgICAgdm9pZCBzZXRTaG91bGRPYnNlcnZlRE9NVGltZXJTY2hlZHVsaW5nKGJvb2wgb2Jz
ZXJ2ZSkgeyBtX2lzT2JzZXJ2aW5nRE9NVGltZXJTY2hlZHVsaW5nID0gb2JzZXJ2ZTsgfQogICAg
IGJvb2wgaXNPYnNlcnZpbmdET01UaW1lclNjaGVkdWxpbmcoKSBjb25zdCB7IHJldHVybiBtX2lz
T2JzZXJ2aW5nRE9NVGltZXJTY2hlZHVsaW5nOyB9CiAgICAgdm9pZCBkb21UaW1lckV4ZWN1dGVE
aWRTdGFydChjb25zdCBET01UaW1lciYpOwogICAgIHZvaWQgZG9tVGltZXJFeGVjdXRlRGlkRmlu
aXNoKGNvbnN0IERPTVRpbWVyJik7CiAgICAgdm9pZCByZWdpc3RlckRPTVRpbWVyKGNvbnN0IERP
TVRpbWVyJiB0aW1lcikgeyBtX0RPTVRpbWVyTGlzdC5hZGQoJnRpbWVyKTsgfQogICAgIHZvaWQg
dW5yZWdpc3RlckRPTVRpbWVyKGNvbnN0IERPTVRpbWVyJiB0aW1lcikgeyBtX0RPTVRpbWVyTGlz
dC5yZW1vdmUoJnRpbWVyKTsgfQorICAgIHZvaWQgY2xlYXJPYnNlcnZlZERPTVRpbWVycygpIHsg
bV9ET01UaW1lckxpc3QuY2xlYXIoKTsgfQogICAgIGJvb2wgY29udGFpbnNPYnNlcnZlZERPTVRp
bWVyKGNvbnN0IERPTVRpbWVyJiB0aW1lcikgY29uc3QgeyByZXR1cm4gbV9ET01UaW1lckxpc3Qu
Y29udGFpbnMoJnRpbWVyKTsgfQogCiAgICAgdm9pZCBzdHlsZVJlY2FsY0RpZFN0YXJ0KCk7CkBA
IC0xMDIsMTAgKzEwNiw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRTaG91bGRPYnNlcnZlTmV4
dFN0eWxlUmVjYWxjKGJvb2wpOwogICAgIGJvb2wgaXNPYnNlcnZpbmdTdHlsZVJlY2FsYygpIGNv
bnN0IHsgcmV0dXJuIG1faXNPYnNlcnZpbmdTdHlsZVJlY2FsYzsgfQogCi0gICAgYm9vbCBpc09i
c2VydmluZ0NvbnRlbnRDaGFuZ2VzKCkgY29uc3QgeyByZXR1cm4gbV9kb21UaW1lcklzQmVpbmdF
eGVjdXRlZCB8fCBtX3N0eWxlUmVjYWxjSXNCZWluZ0V4ZWN1dGVkOyB9CisgICAgYm9vbCBpc09i
c2VydmluZ0NvbnRlbnRDaGFuZ2VzKCkgY29uc3QgeyByZXR1cm4gbV9kb21UaW1lcklzQmVpbmdF
eGVjdXRlZCB8fCBtX3N0eWxlUmVjYWxjSXNCZWluZ0V4ZWN1dGVkIHx8IG1fY29udGVudE9ic2Vy
dmF0aW9uVGltZXIuaXNBY3RpdmUoKTsgfQogCi0gICAgdm9pZCBjbGVhck9ic2VydmVkRE9NVGlt
ZXJzKCkgeyBtX0RPTVRpbWVyTGlzdC5jbGVhcigpOyB9Ci0gICAgdm9pZCBjbGVhclRpbWVyc0Fu
ZFJlcG9ydENvbnRlbnRDaGFuZ2UoKTsKKyAgICB2b2lkIGNhbmNlbFBlbmRpbmdBY3Rpdml0aWVz
KCk7CiAKICAgICB2b2lkIHNldEhhc0luZGV0ZXJtaW5hdGVTdGF0ZSgpOwogICAgIHZvaWQgc2V0
SGFzVmlzaWJsZUNoYW5nZVN0YXRlKCk7CkBAIC0xMTUsMjIgKzExOCwyNyBAQCBwcml2YXRlOgog
ICAgIGJvb2wgaGFzT2JzZXJ2ZWRET01UaW1lcigpIGNvbnN0IHsgcmV0dXJuICFtX0RPTVRpbWVy
TGlzdC5pc0VtcHR5KCk7IH0KICAgICBib29sIGhhc0RldGVybWluYXRlU3RhdGUoKSBjb25zdDsK
IAotICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgeyByZXR1cm4gaGFzT2JzZXJ2
ZWRET01UaW1lcigpIHx8IG1fZG9jdW1lbnQuaGFzUGVuZGluZ1N0eWxlUmVjYWxjKCk7IH0KKyAg
ICBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0IHsgcmV0dXJuIGhhc09ic2VydmVkRE9N
VGltZXIoKSB8fCBtX2RvY3VtZW50Lmhhc1BlbmRpbmdTdHlsZVJlY2FsYygpIHx8IG1fY29udGVu
dE9ic2VydmF0aW9uVGltZXIuaXNBY3RpdmUoKTsgfQogI2lmICFBU1NFUlRfRElTQUJMRUQKICAg
ICBib29sIGlzTm90aWZ5Q29udGVudENoYW5nZUFsbG93ZWQoKSBjb25zdDsKICNlbmRpZgogCisg
ICAgdm9pZCBjb21wbGV0ZUR1cmF0aW9uQmFzZWRDb250ZW50T2JzZXJ2YXRpb24oKTsKKwogICAg
IGVudW0gY2xhc3MgRXZlbnQgewogICAgICAgICBTdGFydGVkTW91c2VNb3ZlZEV2ZW50RGlzcGF0
Y2hpbmcsCiAgICAgICAgIEluc3RhbGxlZERPTVRpbWVyLAogICAgICAgICBSZW1vdmVkRE9NVGlt
ZXIsCiAgICAgICAgIEVuZGVkRE9NVGltZXJFeGVjdXRpb24sCiAgICAgICAgIFN0eWxlUmVjYWxj
RmluaXNoZWQsCi0gICAgICAgIENvbnRlbnRWaXNpYmlsaXR5Q2hhbmdlZAorICAgICAgICBDb250
ZW50VmlzaWJpbGl0eUNoYW5nZWQsCisgICAgICAgIFN0YXJ0ZWRGaXhlZE9ic2VydmF0aW9uVGlt
ZVdpbmRvdywKKyAgICAgICAgRW5kZWRGaXhlZE9ic2VydmF0aW9uVGltZVdpbmRvdwogICAgIH07
CiAgICAgdm9pZCBhZGp1c3RPYnNlcnZlZFN0YXRlKEV2ZW50KTsKIAogICAgIERvY3VtZW50JiBt
X2RvY3VtZW50OworICAgIFRpbWVyIG1fY29udGVudE9ic2VydmF0aW9uVGltZXI7CiAgICAgSGFz
aFNldDxjb25zdCBET01UaW1lcio+IG1fRE9NVGltZXJMaXN0OwogICAgIGJvb2wgbV9pc09ic2Vy
dmluZ1N0eWxlUmVjYWxjIHsgZmFsc2UgfTsKICAgICBib29sIG1fc3R5bGVSZWNhbGNJc0JlaW5n
RXhlY3V0ZWQgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9pb3MvV2ViUGFnZUlPUy5tbQppbmRleCA3YTJhMTY2NWM5MzE0Y2VhMzZlMzJjNzk1NzAy
YThiMzBkNjE1MGJiLi43ZjUxN2U0NmQwZjIyYmI3MGM2ZWFkODkyZjdiYjk4YTEwYmYwN2VmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlP
Uy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlP
Uy5tbQpAQCAtNTU5LDMyICs1NTksMjkgQEAgdm9pZCBXZWJQYWdlOjpoYW5kbGVTeW50aGV0aWND
bGljayhOb2RlJiBub2RlUmVzcG9uZGluZ1RvQ2xpY2ssIGNvbnN0IFdlYkNvcmU6OkYKICAgICAg
ICAgbWFpbmZyYW1lLmRvY3VtZW50KCktPnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKICAgICB9CiAK
LSAgICBtX3BlbmRpbmdTeW50aGV0aWNDbGlja05vZGUgPSBudWxscHRyOwotICAgIG1fcGVuZGlu
Z1N5bnRoZXRpY0NsaWNrTG9jYXRpb24gPSBGbG9hdFBvaW50KCk7Ci0gICAgbV9wZW5kaW5nU3lu
dGhldGljQ2xpY2tNb2RpZmllcnMgPSB7IH07Ci0KICAgICBpZiAobV9pc0Nsb3NlZCkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgc3dpdGNoIChyZXNwb25kaW5nRG9jdW1lbnQuY29udGVudENoYW5n
ZU9ic2VydmVyKCkub2JzZXJ2ZWRDb250ZW50Q2hhbmdlKCkpIHsKLSAgICBjYXNlIFdLQ29udGVu
dFZpc2liaWxpdHlDaGFuZ2U6CisgICAgYXV0byYgY29udGVudENoYW5nZU9ic2VydmVyID0gcmVz
cG9uZGluZ0RvY3VtZW50LmNvbnRlbnRDaGFuZ2VPYnNlcnZlcigpOworICAgIGF1dG8gb2JzZXJ2
ZWRDb250ZW50Q2hhbmdlID0gY29udGVudENoYW5nZU9ic2VydmVyLm9ic2VydmVkQ29udGVudENo
YW5nZSgpOworICAgIGlmIChvYnNlcnZlZENvbnRlbnRDaGFuZ2UgPT0gV0tDb250ZW50VmlzaWJp
bGl0eUNoYW5nZSkgewogICAgICAgICAvLyBUaGUgbW92ZSBldmVudCBjYXVzZWQgbmV3IGNvbnRl
bnRzIHRvIGFwcGVhci4gRG9uJ3Qgc2VuZCB0aGUgY2xpY2sgZXZlbnQuCiAgICAgICAgIExPRyhD
b250ZW50T2JzZXJ2YXRpb24sICJoYW5kbGVTeW50aGV0aWNDbGljazogT2JzZXJ2ZWQgbWVhbmlu
Z2Z1bCB2aXNpYmxlIGNoYW5nZSAtPiBob3Zlci4iKTsKICAgICAgICAgcmV0dXJuOwotICAgIGNh
c2UgV0tDb250ZW50SW5kZXRlcm1pbmF0ZUNoYW5nZTogewotICAgICAgICAvLyBXYWl0IGZvciBj
YWxsYmFjayB0byBjb21wbGV0ZVBlbmRpbmdTeW50aGV0aWNDbGlja0ZvckNvbnRlbnRDaGFuZ2VP
YnNlcnZlcigpIHRvIGRlY2lkZSB3aGV0aGVyIHRvIHNlbmQgdGhlIGNsaWNrIGV2ZW50LgotICAg
ICAgICBBU1NFUlQocmVzcG9uZGluZ0RvY3VtZW50LnNldHRpbmdzKCkuY29udGVudENoYW5nZU9i
c2VydmVyRW5hYmxlZCgpKTsKLSAgICAgICAgbV9wZW5kaW5nU3ludGhldGljQ2xpY2tOb2RlID0g
Jm5vZGVSZXNwb25kaW5nVG9DbGljazsKLSAgICAgICAgbV9wZW5kaW5nU3ludGhldGljQ2xpY2tM
b2NhdGlvbiA9IGxvY2F0aW9uOwotICAgICAgICBtX3BlbmRpbmdTeW50aGV0aWNDbGlja01vZGlm
aWVycyA9IG1vZGlmaWVyczsKLSAgICAgICAgTE9HKENvbnRlbnRPYnNlcnZhdGlvbiwgImhhbmRs
ZVN5bnRoZXRpY0NsaWNrOiBPYnNlcnZlZCBzb21lIGNoYW5nZSwgYnV0IGNhbid0IGRlY2lkZSBp
dCB5ZXQgLT4gd2FpdC4iKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0gY2FzZSBXS0NvbnRlbnRO
b0NoYW5nZToKLSAgICAgICAgTE9HKENvbnRlbnRPYnNlcnZhdGlvbiwgImhhbmRsZVN5bnRoZXRp
Y0NsaWNrOiBObyBjaGFuZ2Ugd2FzIG9ic2VydmVkIC0+IGNsaWNrLiIpOworICAgIH0KKyAgICBj
b25zdCBTZWNvbmRzIG9ic2VydmF0aW9uRHVyYXRpb24gPSAzMl9tczsKKyAgICBjb250ZW50Q2hh
bmdlT2JzZXJ2ZXIuc3RhcnRDb250ZW50T2JzZXJ2YXRpb25Gb3JEdXJhdGlvbihvYnNlcnZhdGlv
bkR1cmF0aW9uKTsKKyAgICBpZiAoY29udGVudENoYW5nZU9ic2VydmVyLm9ic2VydmVkQ29udGVu
dENoYW5nZSgpID09IFdLQ29udGVudE5vQ2hhbmdlKSB7CisgICAgICAgIEFTU0VSVCghcmVzcG9u
ZGluZ0RvY3VtZW50LnNldHRpbmdzKCkuY29udGVudENoYW5nZU9ic2VydmVyRW5hYmxlZCgpKTsK
ICAgICAgICAgY29tcGxldGVTeW50aGV0aWNDbGljayhub2RlUmVzcG9uZGluZ1RvQ2xpY2ssIGxv
Y2F0aW9uLCBtb2RpZmllcnMsIFdlYkNvcmU6Ok9uZUZpbmdlclRhcCk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisKKyAgICBMT0coQ29udGVudE9i
c2VydmF0aW9uLCAiaGFuZGxlU3ludGhldGljQ2xpY2s6IENhbid0IGRlY2lkZSBpdCB5ZXQgLT4g
d2FpdC4iKTsKKyAgICAvLyBXYWl0IGZvciBjYWxsYmFjayB0byBjb21wbGV0ZVBlbmRpbmdTeW50
aGV0aWNDbGlja0ZvckNvbnRlbnRDaGFuZ2VPYnNlcnZlcigpIHRvIGRlY2lkZSB3aGV0aGVyIHRv
IHNlbmQgdGhlIGNsaWNrIGV2ZW50LgorICAgIG1fcGVuZGluZ1N5bnRoZXRpY0NsaWNrTm9kZSA9
ICZub2RlUmVzcG9uZGluZ1RvQ2xpY2s7CisgICAgbV9wZW5kaW5nU3ludGhldGljQ2xpY2tMb2Nh
dGlvbiA9IGxvY2F0aW9uOworICAgIG1fcGVuZGluZ1N5bnRoZXRpY0NsaWNrTW9kaWZpZXJzID0g
bW9kaWZpZXJzOwogfQogCiB2b2lkIFdlYlBhZ2U6OmNvbXBsZXRlUGVuZGluZ1N5bnRoZXRpY0Ns
aWNrRm9yQ29udGVudENoYW5nZU9ic2VydmVyKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlZWJhOWY4OGQ1MTg5OWUxMDFk
ZjE2MzNkNzAyZWFjNDdmNzU4YTM1Li42ZjdkNzU2Yjk5ZTY0YzFkYjY0OWIxMTdlMmI3MTZkMWZm
NWE2OTA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDMtMDcgIFphbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29udGVudENoYW5nZU9ic2VydmVyXSBJbnRy
b2R1Y2UgZml4ZWQgZHVyYXRpb24gY29udGVudCBvYnNlcnZhdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1Mjk1CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS80ODU3OTkxMz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL2lvcy9jb250ZW50LW9ic2VydmF0aW9uL3Zp
c2liaWxpdHktY2hhbmdlLWhhcHBlbnMtb24tdGltZXItaG9wcy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL2lvcy9jb250ZW50LW9ic2VydmF0aW9uL3Zp
c2liaWxpdHktY2hhbmdlLWhhcHBlbnMtb24tdGltZXItaG9wcy5odG1sOiBBZGRlZC4KKwogMjAx
OS0wMy0wNyAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtDb250
ZW50Q2hhbmdlT2JzZXJ2ZXJdIEFkZCBhIHNldHRpbmcgdG8gYmUgYWJsZSB0byB0dXJuIGNvbnRl
bnQgY2hhbmdlIG9ic2VydmF0aW9uIG9uL29mZgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvdG91Y2gvaW9zL2NvbnRlbnQtb2JzZXJ2YXRpb24vdmlzaWJpbGl0eS1jaGFuZ2Ut
aGFwcGVucy1vbi10aW1lci1ob3BzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3RvdWNoL2lvcy9jb250ZW50LW9ic2VydmF0aW9uL3Zpc2liaWxpdHktY2hhbmdlLWhhcHBl
bnMtb24tdGltZXItaG9wcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjZkYjRjOTQwOGE2YzAz
MTJkZDBlMmQ0ODVjMDFiODM1ZTdjZjkzZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9jb250ZW50LW9ic2VydmF0aW9uL3Zpc2liaWxpdHktY2hh
bmdlLWhhcHBlbnMtb24tdGltZXItaG9wcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitQ
QVNTIGlmICdjbGlja2VkJyB0ZXh0IGlzIG5vdCBzaG93biBiZWxvdy4KKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2NvbnRlbnQtb2JzZXJ2YXRpb24vdmlz
aWJpbGl0eS1jaGFuZ2UtaGFwcGVucy1vbi10aW1lci1ob3BzLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi92aXNpYmlsaXR5LWNoYW5n
ZS1oYXBwZW5zLW9uLXRpbWVyLWhvcHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZTViMDA0ZWE5ZTA4MWQ2
YjgyMjRmNWMxNmEyYjEyZTI1NTliYTUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvdG91Y2gvaW9zL2NvbnRlbnQtb2JzZXJ2YXRpb24vdmlzaWJpbGl0eS1jaGFu
Z2UtaGFwcGVucy1vbi10aW1lci1ob3BzLmh0bWwKQEAgLTAsMCArMSw2OCBAQAorPGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5UaGlzIHRlc3RzIHRoZSBjYXNlIHdoZW4gbmVzdGVkIHRpbWVycyB0cmln
Z2VyIHZpc2libGUgY29udGVudCBjaGFuZ2U8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
Ly4uLy4uL3Jlc291cmNlcy9iYXNpYy1nZXN0dXJlcy5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Cisj
dGFwdGhpcyB7CisgICAgd2lkdGg6IDQwMHB4OworICAgIGhlaWdodDogNDAwcHg7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgZ3JlZW47Cit9CisKKyNiZWNvbWVzVmlzaWJsZSB7CisgICAgdmlzaWJp
bGl0eTogaGlkZGVuOworICAgIHdpZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAg
IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworfQorPC9zdHlsZT4KKzxzY3JpcHQ+Cithc3luYyBm
dW5jdGlvbiB0ZXN0KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIgfHwgIXRlc3RSdW5u
ZXIucnVuVUlTY3JpcHQpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAod2luZG93LmludGVybmFs
cykKKyAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldENvbnRlbnRDaGFuZ2VPYnNlcnZlckVu
YWJsZWQodHJ1ZSk7CisKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKKworICAgIGxldCByZWN0ID0gdGFwdGhpcy5nZXRCb3VuZGlu
Z0NsaWVudFJlY3QoKTsKKyAgICBsZXQgeCA9IHJlY3QubGVmdCArIHJlY3Qud2lkdGggLyAyOwor
ICAgIGxldCB5ID0gcmVjdC50b3AgKyByZWN0LmhlaWdodCAvIDI7CisKKyAgICBhd2FpdCB0YXBB
dFBvaW50KHgsIHkpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3Qo
KSI+Cis8ZGl2IGlkPXRhcHRoaXM+UEFTUyBpZiAnY2xpY2tlZCcgdGV4dCBpcyBub3Qgc2hvd24g
YmVsb3cuPC9kaXY+Cis8ZGl2IGlkPWJlY29tZXNWaXNpYmxlPjwvZGl2PgorPHByZSBpZD1yZXN1
bHQ+PC9wcmU+Cis8c2NyaXB0PgordGFwdGhpcy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIi
LCBmdW5jdGlvbiggZXZlbnQgKSB7CisgICAgLy8gMS4gSW5zdGFsbCBhIHNob3J0IHRpbWVyIG9u
IGhvdmVyCisgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgLy8gMi4gVHJpZ2dl
ciBzb21lIG5vbi12aXNpYmlsaXR5IHN0eWxlIGNoYW5nZSB3aXRoIGZvcmNpbmcgb2Zmc2V0SGVp
Z2h0LgorICAgICAgICBiZWNvbWVzVmlzaWJsZS5zdHlsZS5tYXJnaW5MZWZ0ID0gIjVweCI7Cisg
ICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OworCisgICAgICAgIC8vIDMuIEluc3Rh
bGwgYSBuZXN0ZWQgdGltZXIgd2l0aCB2aXNpYmlsaXR5IGNoYW5nZS4KKyAgICAgICAgc2V0VGlt
ZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGJlY29tZXNWaXNpYmxlLnN0eWxlLnZpc2li
aWxpdHkgPSAidmlzaWJsZSI7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdo
dDsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICBz
ZXRUaW1lb3V0KHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpLCAwKTsKKyAgICAgICAgfSwgMTApOwor
ICAgIH0sIDApOworfSwgZmFsc2UpOworCitiZWNvbWVzVmlzaWJsZS5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGZ1bmN0aW9uKCBldmVudCApIHsgICAKKyAgICByZXN1bHQuaW5uZXJIVE1MID0g
ImNsaWNrZWQgaGlkZGVuIjsKK30sIGZhbHNlKTsKKwordGFwdGhpcy5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGZ1bmN0aW9uKCBldmVudCApIHsgICAKKyAgICByZXN1bHQuaW5uZXJIVE1MID0g
ImNsaWNrZWQiOworfSwgZmFsc2UpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363966</attachid>
            <date>2019-03-07 18:22:35 -0800</date>
            <delta_ts>2019-03-07 19:21:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195295-20190307182234.patch</filename>
            <type>text/plain</type>
            <size>17032</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyNjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWZhY2I5OWIyY2YyODE0
ZmYwOTMyODU0Zjk0NGJlYzA4OTJlM2NiMy4uMWU0OTNlODc4MGQ2OTQxYWYwNTQxZDc1M2EwMzRl
ZTQ3OWJkOTczMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE5LTAzLTA3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNl
cnZlcl0gSW50cm9kdWNlIGZpeGVkIGR1cmF0aW9uIGNvbnRlbnQgb2JzZXJ2YXRpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTI5NQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNDg1Nzk5MTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24g
RnJhc2VyLgorCisgICAgICAgIFNvbWUgcGFnZXMgaGF2ZSBhIHJ1bmxvb3AtbGlrZSBzY2hlZHVs
aW5nIHNldHVwIHdoZXJlIHRoZSBjb250ZW50IHRyaWdnZXJpbmcgY2hhbmdlIGhhcHBlbnMgYXQg
YSBuZXN0ZWQgdGltZXIgZmlyaW5nLgorICAgICAgICBUaGlzIHBhdGNoIGhlbHBzIGZpbmRpbmcg
Y2FzZXMgbGlrZSB0aGF0IHVzaW5nIGEgMzJtcyBsb25nIGZpeGVkIHdpbmRvdy4gQ3VycmVudGx5
IG5lc3RlZCB0aW1lcnMgZ2V0IGRyb3BwZWQgb24gdGhlIGZsb29yIGFuZAorICAgICAgICB3ZSBz
dG9wIG9ic2VydmluZyBmb3IgY29udGVudCBjaGFuZ2VzIGJlZm9yZSB0aGV5IGV2ZW4gZ2V0IGZp
cmVkLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL3RvdWNoL2lvcy9jb250ZW50LW9ic2Vy
dmF0aW9uL3Zpc2liaWxpdHktY2hhbmdlLWhhcHBlbnMtb24tdGltZXItaG9wcy5odG1sCisKKyAg
ICAgICAgKiBwYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpzdGFydENvbnRlbnRPYnNlcnZh
dGlvbkZvckR1cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZl
cjo6Y29tcGxldGVEdXJhdGlvbkJhc2VkQ29udGVudE9ic2VydmF0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkSW5zdGFsbERPTVRpbWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkUmVtb3ZlRE9NVGltZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpkb21UaW1lckV4ZWN1dGVE
aWRTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmRvbVRp
bWVyRXhlY3V0ZURpZEZpbmlzaCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50Q2hhbmdlT2Jz
ZXJ2ZXI6OnN0eWxlUmVjYWxjRGlkU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENo
YW5nZU9ic2VydmVyOjpzdHlsZVJlY2FsY0RpZEZpbmlzaCk6CisgICAgICAgIChXZWJDb3JlOjpD
b250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmNhbmNlbFBlbmRpbmdBY3Rpdml0aWVzKToKKyAgICAgICAg
KFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkU3VzcGVuZEFjdGl2ZURPTU9iamVj
dHMpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjp3aWxsRGV0YWNo
UGFnZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmNvbnRlbnRW
aXNpYmlsaXR5RGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNl
cnZlcjo6c2V0U2hvdWxkT2JzZXJ2ZU5leHRTdHlsZVJlY2FsYyk6CisgICAgICAgIChXZWJDb3Jl
OjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmFkanVzdE9ic2VydmVkU3RhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpTdHlsZUNoYW5nZVNjb3BlOjpTdHlsZUNo
YW5nZVNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6U3R5
bGVDaGFuZ2VTY29wZTo6flN0eWxlQ2hhbmdlU2NvcGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29u
dGVudENoYW5nZU9ic2VydmVyOjpjbGVhclRpbWVyc0FuZFJlcG9ydENvbnRlbnRDaGFuZ2UpOiBE
ZWxldGVkLgorICAgICAgICAqIHBhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpjbGVhck9ic2VydmVkRE9NVGlt
ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6aXNPYnNlcnZp
bmdDb250ZW50Q2hhbmdlcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50Q2hhbmdl
T2JzZXJ2ZXI6Omhhc1BlbmRpbmdBY3Rpdml0eSBjb25zdCk6CisKIDIwMTktMDMtMDcgIFNhaWQg
QWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KIAogICAgICAgICByZXF1ZXN0
QW5pbWF0aW9uRnJhbWUgc2hvdWxkIGV4ZWN1dGUgYmVmb3JlIHRoZSBuZXh0IGZyYW1lCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGFlMTk4MjVhM2Q5ZWJlMGE4YzUzOGEwMjEwODQ5ZDY5NDM5NTkxMDUuLmU4NWExMTBm
ZDk4YmM3NDFlY2UyYmE3ZjQ0YjUwMjU5NWY3MWI4NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTktMDMtMDcgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAg
ICBbQ29udGVudENoYW5nZU9ic2VydmVyXSBJbnRyb2R1Y2UgZml4ZWQgZHVyYXRpb24gY29udGVu
dCBvYnNlcnZhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTk1Mjk1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80ODU3OTkxMz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmhhbmRsZVN5
bnRoZXRpY0NsaWNrKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y29tcGxldGVQZW5kaW5n
U3ludGhldGljQ2xpY2tGb3JDb250ZW50Q2hhbmdlT2JzZXJ2ZXIpOgorCiAyMDE5LTAzLTA3ICBG
dWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtXaW5D
YWlyb11bV2ViS2l0XSBOb3RoaW5nIGlzIGRyYXduIGFmdGVyIFdlYiBwcm9jZXNzIGNyYXNoZWQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3Bw
CmluZGV4IGYwZDU4MTVmN2Y3ODBhNDQ2YWEwMjUwY2FiODVjNDU4MjQxZWM2NGYuLjJjMDcwNmZk
YTVhOTZjNDc4Y2MyNDk1OGVmMDA3NjAxMmFlYzI3NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmNwcApAQCAtMzksOSArMzksMjYgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OkNvbnRlbnRDaGFu
Z2VPYnNlcnZlcihEb2N1bWVudCYgZG9jdW1lbnQpCiAgICAgOiBtX2RvY3VtZW50KGRvY3VtZW50
KQorICAgICwgbV9jb250ZW50T2JzZXJ2YXRpb25UaW1lcihbdGhpc10geyBjb21wbGV0ZUR1cmF0
aW9uQmFzZWRDb250ZW50T2JzZXJ2YXRpb24oKTsgfSkKIHsKIH0KIAordm9pZCBDb250ZW50Q2hh
bmdlT2JzZXJ2ZXI6OnN0YXJ0Q29udGVudE9ic2VydmF0aW9uRm9yRHVyYXRpb24oU2Vjb25kcyBk
dXJhdGlvbikKK3sKKyAgICBpZiAoIW1fZG9jdW1lbnQuc2V0dGluZ3MoKS5jb250ZW50Q2hhbmdl
T2JzZXJ2ZXJFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKyAgICBBU1NFUlQoIWhhc1Zpc2li
bGVDaGFuZ2VTdGF0ZSgpKTsKKyAgICBMT0dfV0lUSF9TVFJFQU0oQ29udGVudE9ic2VydmF0aW9u
LCBzdHJlYW0gPDwgInN0YXJ0Q29udGVudE9ic2VydmF0aW9uRm9yRHVyYXRpb246IHN0YXJ0IG9i
c2VydmluZyB0aGUgY29udGVudCBmb3IgIiA8PCBkdXJhdGlvbi5taWxsaXNlY29uZHMoKSA8PCAi
bXMiKTsKKyAgICBhZGp1c3RPYnNlcnZlZFN0YXRlKEV2ZW50OjpTdGFydGVkRml4ZWRPYnNlcnZh
dGlvblRpbWVXaW5kb3cpOworICAgIG1fY29udGVudE9ic2VydmF0aW9uVGltZXIuc3RhcnRPbmVT
aG90KGR1cmF0aW9uKTsKK30KKwordm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmNvbXBsZXRl
RHVyYXRpb25CYXNlZENvbnRlbnRPYnNlcnZhdGlvbigpCit7CisgICAgTE9HX1dJVEhfU1RSRUFN
KENvbnRlbnRPYnNlcnZhdGlvbiwgc3RyZWFtIDw8ICJjb21wbGV0ZUR1cmF0aW9uQmFzZWRDb250
ZW50T2JzZXJ2YXRpb246IGNvbXBsZXRlIGR1cmF0aW9uIGJhc2VkIGNvbnRlbnQgb2JzZXJ2aW5n
ICIpOworICAgIGFkanVzdE9ic2VydmVkU3RhdGUoRXZlbnQ6OkVuZGVkRml4ZWRPYnNlcnZhdGlv
blRpbWVXaW5kb3cpOworfQorCiB2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkSW5zdGFs
bERPTVRpbWVyKGNvbnN0IERPTVRpbWVyJiB0aW1lciwgU2Vjb25kcyB0aW1lb3V0LCBib29sIHNp
bmdsZVNob3QpCiB7CiAgICAgaWYgKCFtX2RvY3VtZW50LnNldHRpbmdzKCkuY29udGVudENoYW5n
ZU9ic2VydmVyRW5hYmxlZCgpKQpAQCAtMTEzLDI2ICsxMzAsMjIgQEAgdm9pZCBDb250ZW50Q2hh
bmdlT2JzZXJ2ZXI6OnN0eWxlUmVjYWxjRGlkRmluaXNoKCkKICAgICBhZGp1c3RPYnNlcnZlZFN0
YXRlKEV2ZW50OjpTdHlsZVJlY2FsY0ZpbmlzaGVkKTsKIH0KIAotdm9pZCBDb250ZW50Q2hhbmdl
T2JzZXJ2ZXI6OmNsZWFyVGltZXJzQW5kUmVwb3J0Q29udGVudENoYW5nZSgpCit2b2lkIENvbnRl
bnRDaGFuZ2VPYnNlcnZlcjo6Y2FuY2VsUGVuZGluZ0FjdGl2aXRpZXMoKQogewotICAgIGlmICgh
aGFzT2JzZXJ2ZWRET01UaW1lcigpKQotICAgICAgICByZXR1cm47Ci0gICAgTE9HX1dJVEhfU1RS
RUFNKENvbnRlbnRPYnNlcnZhdGlvbiwgc3RyZWFtIDw8ICJjbGVhclRpbWVyc0FuZFJlcG9ydENv
bnRlbnRDaGFuZ2U6IHJlbW92ZSByZWdpc3RlcmVkIHRpbWVycyBhbmQgcmVwb3J0IGNvbnRlbnQg
Y2hhbmdlLiIgPDwgb2JzZXJ2ZWRDb250ZW50Q2hhbmdlKCkpOwotCiAgICAgY2xlYXJPYnNlcnZl
ZERPTVRpbWVycygpOwotICAgIEFTU0VSVChtX2RvY3VtZW50LnBhZ2UoKSk7Ci0gICAgQVNTRVJU
KG1fZG9jdW1lbnQuZnJhbWUoKSk7Ci0gICAgbV9kb2N1bWVudC5wYWdlKCktPmNocm9tZSgpLmNs
aWVudCgpLm9ic2VydmVkQ29udGVudENoYW5nZSgqbV9kb2N1bWVudC5mcmFtZSgpKTsKKyAgICBt
X2NvbnRlbnRPYnNlcnZhdGlvblRpbWVyLnN0b3AoKTsKIH0KIAogdm9pZCBDb250ZW50Q2hhbmdl
T2JzZXJ2ZXI6OmRpZFN1c3BlbmRBY3RpdmVET01PYmplY3RzKCkKIHsKLSAgICBjbGVhclRpbWVy
c0FuZFJlcG9ydENvbnRlbnRDaGFuZ2UoKTsKKyAgICBMT0coQ29udGVudE9ic2VydmF0aW9uLCAi
ZGlkU3VzcGVuZEFjdGl2ZURPTU9iamVjdHMiKTsKKyAgICBjYW5jZWxQZW5kaW5nQWN0aXZpdGll
cygpOwogfQogCiB2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6d2lsbERldGFjaFBhZ2UoKQog
ewotICAgIGNsZWFyVGltZXJzQW5kUmVwb3J0Q29udGVudENoYW5nZSgpOworICAgIExPRyhDb250
ZW50T2JzZXJ2YXRpb24sICJ3aWxsRGV0YWNoUGFnZSIpOworICAgIGNhbmNlbFBlbmRpbmdBY3Rp
dml0aWVzKCk7CiB9CiAKIHZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpjb250ZW50VmlzaWJp
bGl0eURpZENoYW5nZSgpCkBAIC0yMDUsNiArMjE4LDcgQEAgdm9pZCBDb250ZW50Q2hhbmdlT2Jz
ZXJ2ZXI6OmFkanVzdE9ic2VydmVkU3RhdGUoRXZlbnQgZXZlbnQpCiAgICAgICAgIHNldEhhc05v
Q2hhbmdlU3RhdGUoKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBFdmVudDo6SW5zdGFsbGVk
RE9NVGltZXI6CisgICAgY2FzZSBFdmVudDo6U3RhcnRlZEZpeGVkT2JzZXJ2YXRpb25UaW1lV2lu
ZG93OgogICAgICAgICAvLyBFeHBlY3RpbmcgYSB0aW1lciBmaXJlLiBQcm9tb3RlIHRvIGFuIGlu
ZGV0ZXJtaW5hdGUgc3RhdGUuCiAgICAgICAgIEFTU0VSVCghaGFzVmlzaWJsZUNoYW5nZVN0YXRl
KCkpOwogICAgICAgICBzZXRIYXNJbmRldGVybWluYXRlU3RhdGUoKTsKQEAgLTIxMiw2ICsyMjYs
NyBAQCB2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6YWRqdXN0T2JzZXJ2ZWRTdGF0ZShFdmVu
dCBldmVudCkKICAgICBjYXNlIEV2ZW50OjpSZW1vdmVkRE9NVGltZXI6CiAgICAgY2FzZSBFdmVu
dDo6U3R5bGVSZWNhbGNGaW5pc2hlZDoKICAgICBjYXNlIEV2ZW50OjpFbmRlZERPTVRpbWVyRXhl
Y3V0aW9uOgorICAgIGNhc2UgRXZlbnQ6OkVuZGVkRml4ZWRPYnNlcnZhdGlvblRpbWVXaW5kb3c6
CiAgICAgICAgIC8vIERlbW90ZSB0byAibm8gY2hhbmdlIiB3aGVuIHRoZXJlJ3Mgbm8gcGVuZGlu
ZyBhY3Rpdml0eSBhbnltb3JlLgogICAgICAgICBpZiAob2JzZXJ2ZWRDb250ZW50Q2hhbmdlKCkg
PT0gV0tDb250ZW50SW5kZXRlcm1pbmF0ZUNoYW5nZSAmJiAhaGFzUGVuZGluZ0FjdGl2aXR5KCkp
CiAgICAgICAgICAgICBzZXRIYXNOb0NoYW5nZVN0YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oCmluZGV4IDU2NWQ0MDdlODI4YjA1YmFk
ZDEwNTNmZjBmYjdmNWVlNGUzMGYyZjguLmVjODYwZjY4MzkyMDU1ZjI5NDk3ZWUwN2M3YTcxMWI5
OGRmZjU2YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFu
Z2VPYnNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VP
YnNlcnZlci5oCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2lu
Y2x1ZGUgIlJlbmRlclN0eWxlQ29uc3RhbnRzLmgiCisjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNs
dWRlICJXS0NvbnRlbnRPYnNlcnZhdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAj
aW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KQEAgLTQyLDExICs0MywxMSBAQCBjbGFzcyBDb250ZW50
Q2hhbmdlT2JzZXJ2ZXIgewogcHVibGljOgogICAgIENvbnRlbnRDaGFuZ2VPYnNlcnZlcihEb2N1
bWVudCYpOwogCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdGFydENvbnRlbnRPYnNlcnZhdGlv
bkZvckR1cmF0aW9uKFNlY29uZHMgZHVyYXRpb24pOwogICAgIFdFQkNPUkVfRVhQT1JUIFdLQ29u
dGVudENoYW5nZSBvYnNlcnZlZENvbnRlbnRDaGFuZ2UoKSBjb25zdDsKIAogICAgIHZvaWQgZGlk
SW5zdGFsbERPTVRpbWVyKGNvbnN0IERPTVRpbWVyJiwgU2Vjb25kcyB0aW1lb3V0LCBib29sIHNp
bmdsZVNob3QpOwogICAgIHZvaWQgZGlkUmVtb3ZlRE9NVGltZXIoY29uc3QgRE9NVGltZXImKTsK
LSAgICB2b2lkIGNvbnRlbnRWaXNpYmlsaXR5RGlkQ2hhbmdlKCk7CiAgICAgdm9pZCBkaWRTdXNw
ZW5kQWN0aXZlRE9NT2JqZWN0cygpOwogICAgIHZvaWQgd2lsbERldGFjaFBhZ2UoKTsKIApAQCAt
OTMsMTIgKzk0LDE1IEBAIHByaXZhdGU6CiAgICAgdm9pZCBtb3VzZU1vdmVkRGlkU3RhcnQoKTsK
ICAgICB2b2lkIG1vdXNlTW92ZWREaWRGaW5pc2goKTsKIAorICAgIHZvaWQgY29udGVudFZpc2li
aWxpdHlEaWRDaGFuZ2UoKTsKKwogICAgIHZvaWQgc2V0U2hvdWxkT2JzZXJ2ZURPTVRpbWVyU2No
ZWR1bGluZyhib29sIG9ic2VydmUpIHsgbV9pc09ic2VydmluZ0RPTVRpbWVyU2NoZWR1bGluZyA9
IG9ic2VydmU7IH0KICAgICBib29sIGlzT2JzZXJ2aW5nRE9NVGltZXJTY2hlZHVsaW5nKCkgY29u
c3QgeyByZXR1cm4gbV9pc09ic2VydmluZ0RPTVRpbWVyU2NoZWR1bGluZzsgfQogICAgIHZvaWQg
ZG9tVGltZXJFeGVjdXRlRGlkU3RhcnQoY29uc3QgRE9NVGltZXImKTsKICAgICB2b2lkIGRvbVRp
bWVyRXhlY3V0ZURpZEZpbmlzaChjb25zdCBET01UaW1lciYpOwogICAgIHZvaWQgcmVnaXN0ZXJE
T01UaW1lcihjb25zdCBET01UaW1lciYgdGltZXIpIHsgbV9ET01UaW1lckxpc3QuYWRkKCZ0aW1l
cik7IH0KICAgICB2b2lkIHVucmVnaXN0ZXJET01UaW1lcihjb25zdCBET01UaW1lciYgdGltZXIp
IHsgbV9ET01UaW1lckxpc3QucmVtb3ZlKCZ0aW1lcik7IH0KKyAgICB2b2lkIGNsZWFyT2JzZXJ2
ZWRET01UaW1lcnMoKSB7IG1fRE9NVGltZXJMaXN0LmNsZWFyKCk7IH0KICAgICBib29sIGNvbnRh
aW5zT2JzZXJ2ZWRET01UaW1lcihjb25zdCBET01UaW1lciYgdGltZXIpIGNvbnN0IHsgcmV0dXJu
IG1fRE9NVGltZXJMaXN0LmNvbnRhaW5zKCZ0aW1lcik7IH0KIAogICAgIHZvaWQgc3R5bGVSZWNh
bGNEaWRTdGFydCgpOwpAQCAtMTA2LDEwICsxMTAsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0
U2hvdWxkT2JzZXJ2ZU5leHRTdHlsZVJlY2FsYyhib29sKTsKICAgICBib29sIGlzT2JzZXJ2aW5n
U3R5bGVSZWNhbGMoKSBjb25zdCB7IHJldHVybiBtX2lzT2JzZXJ2aW5nU3R5bGVSZWNhbGM7IH0K
IAotICAgIGJvb2wgaXNPYnNlcnZpbmdDb250ZW50Q2hhbmdlcygpIGNvbnN0IHsgcmV0dXJuIG1f
ZG9tVGltZXJJc0JlaW5nRXhlY3V0ZWQgfHwgbV9zdHlsZVJlY2FsY0lzQmVpbmdFeGVjdXRlZDsg
fQorICAgIGJvb2wgaXNPYnNlcnZpbmdDb250ZW50Q2hhbmdlcygpIGNvbnN0IHsgcmV0dXJuIG1f
ZG9tVGltZXJJc0JlaW5nRXhlY3V0ZWQgfHwgbV9zdHlsZVJlY2FsY0lzQmVpbmdFeGVjdXRlZCB8
fCBtX2NvbnRlbnRPYnNlcnZhdGlvblRpbWVyLmlzQWN0aXZlKCk7IH0KIAotICAgIHZvaWQgY2xl
YXJPYnNlcnZlZERPTVRpbWVycygpIHsgbV9ET01UaW1lckxpc3QuY2xlYXIoKTsgfQotICAgIHZv
aWQgY2xlYXJUaW1lcnNBbmRSZXBvcnRDb250ZW50Q2hhbmdlKCk7CisgICAgdm9pZCBjYW5jZWxQ
ZW5kaW5nQWN0aXZpdGllcygpOwogCiAgICAgdm9pZCBzZXRIYXNJbmRldGVybWluYXRlU3RhdGUo
KTsKICAgICB2b2lkIHNldEhhc1Zpc2libGVDaGFuZ2VTdGF0ZSgpOwpAQCAtMTE5LDIyICsxMjIs
MjcgQEAgcHJpdmF0ZToKICAgICBib29sIGhhc09ic2VydmVkRE9NVGltZXIoKSBjb25zdCB7IHJl
dHVybiAhbV9ET01UaW1lckxpc3QuaXNFbXB0eSgpOyB9CiAgICAgYm9vbCBoYXNEZXRlcm1pbmF0
ZVN0YXRlKCkgY29uc3Q7CiAKLSAgICBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0IHsg
cmV0dXJuIGhhc09ic2VydmVkRE9NVGltZXIoKSB8fCBtX2RvY3VtZW50Lmhhc1BlbmRpbmdTdHls
ZVJlY2FsYygpOyB9CisgICAgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCB7IHJldHVy
biBoYXNPYnNlcnZlZERPTVRpbWVyKCkgfHwgbV9kb2N1bWVudC5oYXNQZW5kaW5nU3R5bGVSZWNh
bGMoKSB8fCBtX2NvbnRlbnRPYnNlcnZhdGlvblRpbWVyLmlzQWN0aXZlKCk7IH0KICNpZiAhQVNT
RVJUX0RJU0FCTEVECiAgICAgYm9vbCBpc05vdGlmeUNvbnRlbnRDaGFuZ2VBbGxvd2VkKCkgY29u
c3Q7CiAjZW5kaWYKIAorICAgIHZvaWQgY29tcGxldGVEdXJhdGlvbkJhc2VkQ29udGVudE9ic2Vy
dmF0aW9uKCk7CisKICAgICBlbnVtIGNsYXNzIEV2ZW50IHsKICAgICAgICAgU3RhcnRlZE1vdXNl
TW92ZWRFdmVudERpc3BhdGNoaW5nLAogICAgICAgICBJbnN0YWxsZWRET01UaW1lciwKICAgICAg
ICAgUmVtb3ZlZERPTVRpbWVyLAogICAgICAgICBFbmRlZERPTVRpbWVyRXhlY3V0aW9uLAogICAg
ICAgICBTdHlsZVJlY2FsY0ZpbmlzaGVkLAotICAgICAgICBDb250ZW50VmlzaWJpbGl0eUNoYW5n
ZWQKKyAgICAgICAgQ29udGVudFZpc2liaWxpdHlDaGFuZ2VkLAorICAgICAgICBTdGFydGVkRml4
ZWRPYnNlcnZhdGlvblRpbWVXaW5kb3csCisgICAgICAgIEVuZGVkRml4ZWRPYnNlcnZhdGlvblRp
bWVXaW5kb3cKICAgICB9OwogICAgIHZvaWQgYWRqdXN0T2JzZXJ2ZWRTdGF0ZShFdmVudCk7CiAK
ICAgICBEb2N1bWVudCYgbV9kb2N1bWVudDsKKyAgICBUaW1lciBtX2NvbnRlbnRPYnNlcnZhdGlv
blRpbWVyOwogICAgIEhhc2hTZXQ8Y29uc3QgRE9NVGltZXIqPiBtX0RPTVRpbWVyTGlzdDsKICAg
ICBib29sIG1faXNPYnNlcnZpbmdTdHlsZVJlY2FsYyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3N0
eWxlUmVjYWxjSXNCZWluZ0V4ZWN1dGVkIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggN2EyYTE2NjVjOTMx
NGNlYTM2ZTMyYzc5NTcwMmE4YjMwZDYxNTBiYi4uN2Y1MTdlNDZkMGYyMmJiNzBjNmVhZDg5MmY3
YmI5OGExMGJmMDdlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvaW9zL1dlYlBhZ2VJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTU1OSwzMiArNTU5LDI5IEBAIHZvaWQgV2ViUGFnZTo6
aGFuZGxlU3ludGhldGljQ2xpY2soTm9kZSYgbm9kZVJlc3BvbmRpbmdUb0NsaWNrLCBjb25zdCBX
ZWJDb3JlOjpGCiAgICAgICAgIG1haW5mcmFtZS5kb2N1bWVudCgpLT51cGRhdGVTdHlsZUlmTmVl
ZGVkKCk7CiAgICAgfQogCi0gICAgbV9wZW5kaW5nU3ludGhldGljQ2xpY2tOb2RlID0gbnVsbHB0
cjsKLSAgICBtX3BlbmRpbmdTeW50aGV0aWNDbGlja0xvY2F0aW9uID0gRmxvYXRQb2ludCgpOwot
ICAgIG1fcGVuZGluZ1N5bnRoZXRpY0NsaWNrTW9kaWZpZXJzID0geyB9OwotCiAgICAgaWYgKG1f
aXNDbG9zZWQpCiAgICAgICAgIHJldHVybjsKIAotICAgIHN3aXRjaCAocmVzcG9uZGluZ0RvY3Vt
ZW50LmNvbnRlbnRDaGFuZ2VPYnNlcnZlcigpLm9ic2VydmVkQ29udGVudENoYW5nZSgpKSB7Ci0g
ICAgY2FzZSBXS0NvbnRlbnRWaXNpYmlsaXR5Q2hhbmdlOgorICAgIGF1dG8mIGNvbnRlbnRDaGFu
Z2VPYnNlcnZlciA9IHJlc3BvbmRpbmdEb2N1bWVudC5jb250ZW50Q2hhbmdlT2JzZXJ2ZXIoKTsK
KyAgICBhdXRvIG9ic2VydmVkQ29udGVudENoYW5nZSA9IGNvbnRlbnRDaGFuZ2VPYnNlcnZlci5v
YnNlcnZlZENvbnRlbnRDaGFuZ2UoKTsKKyAgICBpZiAob2JzZXJ2ZWRDb250ZW50Q2hhbmdlID09
IFdLQ29udGVudFZpc2liaWxpdHlDaGFuZ2UpIHsKICAgICAgICAgLy8gVGhlIG1vdmUgZXZlbnQg
Y2F1c2VkIG5ldyBjb250ZW50cyB0byBhcHBlYXIuIERvbid0IHNlbmQgdGhlIGNsaWNrIGV2ZW50
LgogICAgICAgICBMT0coQ29udGVudE9ic2VydmF0aW9uLCAiaGFuZGxlU3ludGhldGljQ2xpY2s6
IE9ic2VydmVkIG1lYW5pbmdmdWwgdmlzaWJsZSBjaGFuZ2UgLT4gaG92ZXIuIik7CiAgICAgICAg
IHJldHVybjsKLSAgICBjYXNlIFdLQ29udGVudEluZGV0ZXJtaW5hdGVDaGFuZ2U6IHsKLSAgICAg
ICAgLy8gV2FpdCBmb3IgY2FsbGJhY2sgdG8gY29tcGxldGVQZW5kaW5nU3ludGhldGljQ2xpY2tG
b3JDb250ZW50Q2hhbmdlT2JzZXJ2ZXIoKSB0byBkZWNpZGUgd2hldGhlciB0byBzZW5kIHRoZSBj
bGljayBldmVudC4KLSAgICAgICAgQVNTRVJUKHJlc3BvbmRpbmdEb2N1bWVudC5zZXR0aW5ncygp
LmNvbnRlbnRDaGFuZ2VPYnNlcnZlckVuYWJsZWQoKSk7Ci0gICAgICAgIG1fcGVuZGluZ1N5bnRo
ZXRpY0NsaWNrTm9kZSA9ICZub2RlUmVzcG9uZGluZ1RvQ2xpY2s7Ci0gICAgICAgIG1fcGVuZGlu
Z1N5bnRoZXRpY0NsaWNrTG9jYXRpb24gPSBsb2NhdGlvbjsKLSAgICAgICAgbV9wZW5kaW5nU3lu
dGhldGljQ2xpY2tNb2RpZmllcnMgPSBtb2RpZmllcnM7Ci0gICAgICAgIExPRyhDb250ZW50T2Jz
ZXJ2YXRpb24sICJoYW5kbGVTeW50aGV0aWNDbGljazogT2JzZXJ2ZWQgc29tZSBjaGFuZ2UsIGJ1
dCBjYW4ndCBkZWNpZGUgaXQgeWV0IC0+IHdhaXQuIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
IGNhc2UgV0tDb250ZW50Tm9DaGFuZ2U6Ci0gICAgICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24s
ICJoYW5kbGVTeW50aGV0aWNDbGljazogTm8gY2hhbmdlIHdhcyBvYnNlcnZlZCAtPiBjbGljay4i
KTsKKyAgICB9CisgICAgY29uc3QgU2Vjb25kcyBvYnNlcnZhdGlvbkR1cmF0aW9uID0gMzJfbXM7
CisgICAgY29udGVudENoYW5nZU9ic2VydmVyLnN0YXJ0Q29udGVudE9ic2VydmF0aW9uRm9yRHVy
YXRpb24ob2JzZXJ2YXRpb25EdXJhdGlvbik7CisgICAgaWYgKGNvbnRlbnRDaGFuZ2VPYnNlcnZl
ci5vYnNlcnZlZENvbnRlbnRDaGFuZ2UoKSA9PSBXS0NvbnRlbnROb0NoYW5nZSkgeworICAgICAg
ICBBU1NFUlQoIXJlc3BvbmRpbmdEb2N1bWVudC5zZXR0aW5ncygpLmNvbnRlbnRDaGFuZ2VPYnNl
cnZlckVuYWJsZWQoKSk7CiAgICAgICAgIGNvbXBsZXRlU3ludGhldGljQ2xpY2sobm9kZVJlc3Bv
bmRpbmdUb0NsaWNrLCBsb2NhdGlvbiwgbW9kaWZpZXJzLCBXZWJDb3JlOjpPbmVGaW5nZXJUYXAp
OwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworCisg
ICAgTE9HKENvbnRlbnRPYnNlcnZhdGlvbiwgImhhbmRsZVN5bnRoZXRpY0NsaWNrOiBDYW4ndCBk
ZWNpZGUgaXQgeWV0IC0+IHdhaXQuIik7CisgICAgLy8gV2FpdCBmb3IgY2FsbGJhY2sgdG8gY29t
cGxldGVQZW5kaW5nU3ludGhldGljQ2xpY2tGb3JDb250ZW50Q2hhbmdlT2JzZXJ2ZXIoKSB0byBk
ZWNpZGUgd2hldGhlciB0byBzZW5kIHRoZSBjbGljayBldmVudC4KKyAgICBtX3BlbmRpbmdTeW50
aGV0aWNDbGlja05vZGUgPSAmbm9kZVJlc3BvbmRpbmdUb0NsaWNrOworICAgIG1fcGVuZGluZ1N5
bnRoZXRpY0NsaWNrTG9jYXRpb24gPSBsb2NhdGlvbjsKKyAgICBtX3BlbmRpbmdTeW50aGV0aWND
bGlja01vZGlmaWVycyA9IG1vZGlmaWVyczsKIH0KIAogdm9pZCBXZWJQYWdlOjpjb21wbGV0ZVBl
bmRpbmdTeW50aGV0aWNDbGlja0ZvckNvbnRlbnRDaGFuZ2VPYnNlcnZlcigpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2Fi
MmI1MTIwNGFjNWMxMzljZWU0NTI3NDJjYjhmMWQyMTlmYzU4YS4uZmNkMDBlYjE4NTRjMWEyZjNl
MzFiYTZiMDM2NmI0Njc3ODE1Y2YxYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTAzLTA3
ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvbnRlbnRDaGFu
Z2VPYnNlcnZlcl0gSW50cm9kdWNlIGZpeGVkIGR1cmF0aW9uIGNvbnRlbnQgb2JzZXJ2YXRpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTI5NQor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDg1Nzk5MTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
U2ltb24gRnJhc2VyLgorCisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvaW9zL2NvbnRlbnQt
b2JzZXJ2YXRpb24vdmlzaWJpbGl0eS1jaGFuZ2UtaGFwcGVucy1vbi10aW1lci1ob3BzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvaW9zL2NvbnRlbnQt
b2JzZXJ2YXRpb24vdmlzaWJpbGl0eS1jaGFuZ2UtaGFwcGVucy1vbi10aW1lci1ob3BzLmh0bWw6
IEFkZGVkLgorCiAyMDE5LTAzLTA3ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBh
cHBsZS5jb20+CiAKICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIHNob3VsZCBleGVjdXRl
IGJlZm9yZSB0aGUgbmV4dCBmcmFtZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvdG91Y2gvaW9zL2NvbnRlbnQtb2JzZXJ2YXRpb24vdmlzaWJpbGl0eS1jaGFuZ2UtaGFwcGVu
cy1vbi10aW1lci1ob3BzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Rv
dWNoL2lvcy9jb250ZW50LW9ic2VydmF0aW9uL3Zpc2liaWxpdHktY2hhbmdlLWhhcHBlbnMtb24t
dGltZXItaG9wcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjZkYjRjOTQwOGE2YzAzMTJkZDBl
MmQ0ODVjMDFiODM1ZTdjZjkzZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3RvdWNoL2lvcy9jb250ZW50LW9ic2VydmF0aW9uL3Zpc2liaWxpdHktY2hhbmdlLWhh
cHBlbnMtb24tdGltZXItaG9wcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitQQVNTIGlm
ICdjbGlja2VkJyB0ZXh0IGlzIG5vdCBzaG93biBiZWxvdy4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2NvbnRlbnQtb2JzZXJ2YXRpb24vdmlzaWJpbGl0
eS1jaGFuZ2UtaGFwcGVucy1vbi10aW1lci1ob3BzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi92aXNpYmlsaXR5LWNoYW5nZS1oYXBw
ZW5zLW9uLXRpbWVyLWhvcHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZTViMDA0ZWE5ZTA4MWQ2YjgyMjRm
NWMxNmEyYjEyZTI1NTliYTUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvdG91Y2gvaW9zL2NvbnRlbnQtb2JzZXJ2YXRpb24vdmlzaWJpbGl0eS1jaGFuZ2UtaGFw
cGVucy1vbi10aW1lci1ob3BzLmh0bWwKQEAgLTAsMCArMSw2OCBAQAorPGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5UaGlzIHRlc3RzIHRoZSBjYXNlIHdoZW4gbmVzdGVkIHRpbWVycyB0cmlnZ2VyIHZp
c2libGUgY29udGVudCBjaGFuZ2U8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uLy4u
L3Jlc291cmNlcy9iYXNpYy1nZXN0dXJlcy5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisjdGFwdGhp
cyB7CisgICAgd2lkdGg6IDQwMHB4OworICAgIGhlaWdodDogNDAwcHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgZ3JlZW47Cit9CisKKyNiZWNvbWVzVmlzaWJsZSB7CisgICAgdmlzaWJpbGl0eTog
aGlkZGVuOworICAgIHdpZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIGJhY2tn
cm91bmQtY29sb3I6IGdyZWVuOworfQorPC9zdHlsZT4KKzxzY3JpcHQ+Cithc3luYyBmdW5jdGlv
biB0ZXN0KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIgfHwgIXRlc3RSdW5uZXIucnVu
VUlTY3JpcHQpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAod2luZG93LmludGVybmFscykKKyAg
ICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldENvbnRlbnRDaGFuZ2VPYnNlcnZlckVuYWJsZWQo
dHJ1ZSk7CisKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKKworICAgIGxldCByZWN0ID0gdGFwdGhpcy5nZXRCb3VuZGluZ0NsaWVu
dFJlY3QoKTsKKyAgICBsZXQgeCA9IHJlY3QubGVmdCArIHJlY3Qud2lkdGggLyAyOworICAgIGxl
dCB5ID0gcmVjdC50b3AgKyByZWN0LmhlaWdodCAvIDI7CisKKyAgICBhd2FpdCB0YXBBdFBvaW50
KHgsIHkpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8
ZGl2IGlkPXRhcHRoaXM+UEFTUyBpZiAnY2xpY2tlZCcgdGV4dCBpcyBub3Qgc2hvd24gYmVsb3cu
PC9kaXY+Cis8ZGl2IGlkPWJlY29tZXNWaXNpYmxlPjwvZGl2PgorPHByZSBpZD1yZXN1bHQ+PC9w
cmU+Cis8c2NyaXB0PgordGFwdGhpcy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLCBmdW5j
dGlvbiggZXZlbnQgKSB7CisgICAgLy8gMS4gSW5zdGFsbCBhIHNob3J0IHRpbWVyIG9uIGhvdmVy
CisgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgLy8gMi4gVHJpZ2dlciBzb21l
IG5vbi12aXNpYmlsaXR5IHN0eWxlIGNoYW5nZSB3aXRoIGZvcmNpbmcgb2Zmc2V0SGVpZ2h0Lgor
ICAgICAgICBiZWNvbWVzVmlzaWJsZS5zdHlsZS5tYXJnaW5MZWZ0ID0gIjVweCI7CisgICAgICAg
IGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OworCisgICAgICAgIC8vIDMuIEluc3RhbGwgYSBu
ZXN0ZWQgdGltZXIgd2l0aCB2aXNpYmlsaXR5IGNoYW5nZS4KKyAgICAgICAgc2V0VGltZW91dChm
dW5jdGlvbigpIHsKKyAgICAgICAgICAgIGJlY29tZXNWaXNpYmxlLnN0eWxlLnZpc2liaWxpdHkg
PSAidmlzaWJsZSI7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKKyAg
ICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICBzZXRUaW1l
b3V0KHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpLCAwKTsKKyAgICAgICAgfSwgMTApOworICAgIH0s
IDApOworfSwgZmFsc2UpOworCitiZWNvbWVzVmlzaWJsZS5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGZ1bmN0aW9uKCBldmVudCApIHsgICAKKyAgICByZXN1bHQuaW5uZXJIVE1MID0gImNsaWNr
ZWQgaGlkZGVuIjsKK30sIGZhbHNlKTsKKwordGFwdGhpcy5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGZ1bmN0aW9uKCBldmVudCApIHsgICAKKyAgICByZXN1bHQuaW5uZXJIVE1MID0gImNsaWNr
ZWQiOworfSwgZmFsc2UpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>