<?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>187500</bug_id>
          
          <creation_ts>2018-07-09 18:01:23 -0700</creation_ts>
          <short_desc>doAfterNextPresentationUpdate should not be called while content is hidden due to animated resize</short_desc>
          <delta_ts>2018-07-10 14:29:33 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1440669</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-07-09 18:01:23 -0700</bug_when>
    <thetext>doAfterNextPresentationUpdate should not be called while content is hidden due to animated resize</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440671</commentid>
    <comment_count>1</comment_count>
      <attachid>344649</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-07-09 18:01:48 -0700</bug_when>
    <thetext>Created attachment 344649
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440672</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-07-09 18:03:37 -0700</bug_when>
    <thetext>Attachment 344649 did not pass style-queue:


ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:350:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440673</commentid>
    <comment_count>3</comment_count>
      <attachid>344649</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-07-09 18:09:13 -0700</bug_when>
    <thetext>Comment on attachment 344649
Patch

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

&gt; Source/WebKit/ChangeLog:14
&gt; +        and asynchronously hide it when the resize/rotation is complete. This

&quot;asynchronously hide&quot; -&gt; &quot;asynchronously show&quot;?

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:6358
&gt; +- (void)_internalDoAfterNextPresentationUpdate:(void (^)(void))updateBlock withoutWaitingForPainting:(BOOL)withoutWaitingForPainting withoutWaitingForAnimatedResize:(BOOL)withoutWaitingForAnimatedResize

The &quot;without&quot; BOOLs lead to hard to read code (imagine withoutWaitingForPainting:NO which is a double negative).

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:6378
&gt; +        if (!withoutWaitingForAnimatedResize &amp;&amp; strongSelf-&gt;_dynamicViewportUpdateMode != WebKit::DynamicViewportUpdateMode::NotResizing) {

Now I have to think about what !withoutWaitingForAnimatedResize means

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:6394
&gt; +    [self _internalDoAfterNextPresentationUpdate:updateBlock withoutWaitingForPainting:NO withoutWaitingForAnimatedResize:NO];

Arg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440674</commentid>
    <comment_count>4</comment_count>
      <attachid>344649</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-07-09 18:18:09 -0700</bug_when>
    <thetext>Comment on attachment 344649
Patch

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

&gt;&gt; Source/WebKit/ChangeLog:14
&gt;&gt; +        and asynchronously hide it when the resize/rotation is complete. This
&gt; 
&gt; &quot;asynchronously hide&quot; -&gt; &quot;asynchronously show&quot;?

... yes

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:6358
&gt;&gt; +- (void)_internalDoAfterNextPresentationUpdate:(void (^)(void))updateBlock withoutWaitingForPainting:(BOOL)withoutWaitingForPainting withoutWaitingForAnimatedResize:(BOOL)withoutWaitingForAnimatedResize
&gt; 
&gt; The &quot;without&quot; BOOLs lead to hard to read code (imagine withoutWaitingForPainting:NO which is a double negative).

I know, but withoutWaitingForPainting is the name of the existing and used SPI :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440710</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-07-09 20:36:06 -0700</bug_when>
    <thetext>&lt;rdar://problem/41294139&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440740</commentid>
    <comment_count>6</comment_count>
      <attachid>344668</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-07-09 22:45:49 -0700</bug_when>
    <thetext>Created attachment 344668
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440741</commentid>
    <comment_count>7</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-07-09 22:47:29 -0700</bug_when>
    <thetext>Attachment 344668 did not pass style-queue:


ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:350:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440954</commentid>
    <comment_count>8</comment_count>
      <attachid>344649</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-07-10 13:45:35 -0700</bug_when>
    <thetext>Comment on attachment 344649
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:456
&gt; +- (void)_doAfterNextPresentationUpdateWithoutWaitingForAnimatedResize:(void (^)(void))updateBlock WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));

For testing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440956</commentid>
    <comment_count>9</comment_count>
      <attachid>344719</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-07-10 13:50:13 -0700</bug_when>
    <thetext>Created attachment 344719
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440958</commentid>
    <comment_count>10</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-07-10 13:53:14 -0700</bug_when>
    <thetext>Attachment 344719 did not pass style-queue:


ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:350:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440963</commentid>
    <comment_count>11</comment_count>
      <attachid>344719</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-10 14:29:31 -0700</bug_when>
    <thetext>Comment on attachment 344719
Patch

Clearing flags on attachment: 344719

Committed r233698: &lt;https://trac.webkit.org/changeset/233698&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440964</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-10 14:29:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>344649</attachid>
            <date>2018-07-09 18:01:48 -0700</date>
            <delta_ts>2018-07-10 13:45:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187500-20180709180147.patch</filename>
            <type>text/plain</type>
            <size>14387</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMzNjQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDM2ZTZjMDRmOGZhMGE2MDNh
ZDExMWMyNzM2MTc1MjhhY2Q5NTY5ZGEuLmFiYjBiYTNmMGJhMTU0M2JmY2Q2NjU4MDYwMDIzNGYx
YTQ0ZjExYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTgtMDctMDkgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgZG9BZnRlck5leHRQcmVz
ZW50YXRpb25VcGRhdGUgc2hvdWxkIG5vdCBiZSBjYWxsZWQgd2hpbGUgY29udGVudCBpcyBoaWRk
ZW4gZHVlIHRvIGFuaW1hdGVkIHJlc2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTg3NTAwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80MTI5NDEz
OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDbGll
bnRzIGdlbmVyYWxseSBleHBlY3QgdGhhdCBhZnRlciBkb0FmdGVyTmV4dFByZXNlbnRhdGlvblVw
ZGF0ZSwgdGhlcmUncworICAgICAgICBzb21ldGhpbmcgdmFndWVseSBzZW5zaWJsZSBvbiB0aGUg
c2NyZWVuLiBUaGV5IHVzZSB0aGlzIHRvIHJlbW92ZSBzbmFwc2hvdHMsCisgICAgICAgIHVuaGlk
ZSB3ZWIgdmlld3MsIGV0Yy4KKworICAgICAgICBEdXJpbmcgc29tZSBraW5kcyBvZiByZXNpemUv
cm90YXRpb24sIHdlIHdpbGwgaGlkZSB0aGUgV0tDb250ZW50VmlldywKKyAgICAgICAgYW5kIGFz
eW5jaHJvbm91c2x5IGhpZGUgaXQgd2hlbiB0aGUgcmVzaXplL3JvdGF0aW9uIGlzIGNvbXBsZXRl
LiBUaGlzCisgICAgICAgIGNhbiBjYXVzZSBjbGllbnRzIHRvIHByZW1hdHVyZWx5IGV4cG9zZSBh
IGJsYW5rIFdLV2ViVmlldy4KKworICAgICAgICBUbyBmaXggdGhpcywgYXZvaWQgY2FsbGluZyBk
b0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZSB1bnRpbCB0aGUKKyAgICAgICAgYW5pbWF0ZWQg
cmVzaXplIGNvbXBsZXRlcy4gQWRkIGEgdmFyaWFudCB0aGF0IGRvZXMgbm90IHdhaXQgZm9yIHRo
aXMKKyAgICAgICAgKHRvIGJlIHVzZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMpLgorCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmll
dyBfZGlkQ29tcGxldGVBbmltYXRlZFJlc2l6ZV0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3Nu
YXBzaG90UmVjdDppbnRvSW1hZ2VPZldpZHRoOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAgICAg
ICBSZW5hbWUgdGhlIHZlY3RvciBvZiBibG9ja3MgdGhhdCB3ZSBjYWxsIGFmdGVyIGFuaW1hdGVk
IHJlc2l6ZSBjb21wbGV0ZXMKKyAgICAgICAgdG8gYmUgZ2VuZXJpYyByYXRoZXIgdGhhbiBqdXN0
IGFib3V0IHNuYXBzaG90cy4KKworICAgICAgICAoLVtXS1dlYlZpZXcgX2ludGVybmFsRG9BZnRl
ck5leHRQcmVzZW50YXRpb25VcGRhdGU6d2l0aG91dFdhaXRpbmdGb3JQYWludGluZzp3aXRob3V0
V2FpdGluZ0ZvckFuaW1hdGVkUmVzaXplOl0pOgorICAgICAgICBBZGQgdGhpcyBfaW50ZXJuYWwg
dmFyaWFudCBvZiBfZG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGUgdGhhdCB0YWtlcyBiaXRz
IGRldGVybWluaW5nCisgICAgICAgIHdoaWNoIHdhaXRzIHRvIHBlcmZvcm0gb3IgYXZvaWQsIHRv
IHJlZHVjZSBkdXBsaWNhdGlvbi4KKworICAgICAgICAoLVtXS1dlYlZpZXcgX2RvQWZ0ZXJOZXh0
UHJlc2VudGF0aW9uVXBkYXRlOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2RvQWZ0ZXJOZXh0
UHJlc2VudGF0aW9uVXBkYXRlV2l0aG91dFdhaXRpbmdGb3JBbmltYXRlZFJlc2l6ZTpdKToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IF9kb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZVdpdGhvdXRX
YWl0aW5nRm9yUGFpbnRpbmc6XSk6CisgICAgICAgIENhbGwgX2ludGVybmFsRG9BZnRlck5leHRQ
cmVzZW50YXRpb25VcGRhdGUgd2l0aCB0aGUgYXBwcm9wcmlhdGUgYml0cyBzZXQgZm9yIGVhY2gg
c2l0dWF0aW9uLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2
YXRlLmg6CisgICAgICAgIEFkZCBfZG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGVXaXRob3V0
V2FpdGluZ0ZvckFuaW1hdGVkUmVzaXplIHRvIFdLV2ViVmlldyhXS1Rlc3RpbmcpLgorCiAyMDE4
LTA3LTA5ICBTdGVwaGFuIFN6YWJvICA8c3RlcGhhbi5zemFib0Bzb255LmNvbT4KIAogICAgICAg
ICBDaGVjayB0aGF0IExheWVyVHJlZUhvc3Qgd2FzIGNyZWF0ZWQgYmVmb3JlIHVzZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggNzZlMzJj
MmI2ZWU3Y2RjZmFlYmJkYWMxNDMxMWQ4N2Q4YzI3MWE5Mi4uOWUyYWRhODU2ZmQ2YmFkYmI0NDcx
M2IxMWEwNzljMTMxYWJlMGFlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0zNDcsNyArMzQ3LDcgQEAgQGltcGxlbWVudGF0aW9uIFdL
V2ViVmlldyB7CiAgICAgQk9PTCBfd2FpdGluZ0ZvckVuZEFuaW1hdGVkUmVzaXplOwogICAgIEJP
T0wgX3dhaXRpbmdGb3JDb21taXRBZnRlckFuaW1hdGVkUmVzaXplOwogCi0gICAgVmVjdG9yPFdU
Rjo6RnVuY3Rpb248dm9pZCAoKT4+IF9zbmFwc2hvdHNEZWZlcnJlZER1cmluZ1Jlc2l6ZTsKKyAg
ICBWZWN0b3I8V1RGOjpGdW5jdGlvbjx2b2lkICgpPj4gX2NhbGxiYWNrc0RlZmVycmVkRHVyaW5n
UmVzaXplOwogICAgIFJldGFpblB0cjxOU011dGFibGVBcnJheT4gX3N0YWJsZVN0YXRlUHJlc2Vu
dGF0aW9uVXBkYXRlQ2FsbGJhY2tzOwogCiAgICAgUmV0YWluUHRyPFdLUGFzc3dvcmRWaWV3PiBf
cGFzc3dvcmRWaWV3OwpAQCAtMjk1OSw4ICsyOTU5LDggQEAgLSAodm9pZClfZGlkQ29tcGxldGVB
bmltYXRlZFJlc2l6ZQogICAgIGlmICghX2xhc3RTZW50RGV2aWNlT3JpZW50YXRpb24gfHwgbmV3
T3JpZW50YXRpb24gIT0gX2xhc3RTZW50RGV2aWNlT3JpZW50YXRpb24udmFsdWUoKSkKICAgICAg
ICAgW3NlbGYgX2Rpc3BhdGNoU2V0RGV2aWNlT3JpZW50YXRpb246bmV3T3JpZW50YXRpb25dOwog
Ci0gICAgd2hpbGUgKCFfc25hcHNob3RzRGVmZXJyZWREdXJpbmdSZXNpemUuaXNFbXB0eSgpKQot
ICAgICAgICBfc25hcHNob3RzRGVmZXJyZWREdXJpbmdSZXNpemUudGFrZUxhc3QoKSgpOworICAg
IHdoaWxlICghX2NhbGxiYWNrc0RlZmVycmVkRHVyaW5nUmVzaXplLmlzRW1wdHkoKSkKKyAgICAg
ICAgX2NhbGxiYWNrc0RlZmVycmVkRHVyaW5nUmVzaXplLnRha2VMYXN0KCkoKTsKIH0KIAogLSAo
dm9pZClfZGlkRmluaXNoTG9hZEZvck1haW5GcmFtZQpAQCAtNTQyOCw3ICs1NDI4LDcgQEAgLSAo
dm9pZClfc25hcHNob3RSZWN0OihDR1JlY3QpcmVjdEluVmlld0Nvb3JkaW5hdGVzIGludG9JbWFn
ZU9mV2lkdGg6KENHRmxvYXQpaW0KICAgICAgICAgLy8gRGVmZXIgc25hcHNob3R0aW5nIHVudGls
IGFmdGVyIHRoZSBjdXJyZW50IHJlc2l6ZSBjb21wbGV0ZXMuCiAgICAgICAgIHZvaWQgKF5jb3Bp
ZWRDb21wbGV0aW9uSGFuZGxlcikoQ0dJbWFnZVJlZikgPSBbY29tcGxldGlvbkhhbmRsZXIgY29w
eV07CiAgICAgICAgIFJldGFpblB0cjxXS1dlYlZpZXc+IHJldGFpbmVkU2VsZiA9IHNlbGY7Ci0g
ICAgICAgIF9zbmFwc2hvdHNEZWZlcnJlZER1cmluZ1Jlc2l6ZS5hcHBlbmQoW3JldGFpbmVkU2Vs
ZiwgcmVjdEluVmlld0Nvb3JkaW5hdGVzLCBpbWFnZVdpZHRoLCBjb3BpZWRDb21wbGV0aW9uSGFu
ZGxlcl0geworICAgICAgICBfY2FsbGJhY2tzRGVmZXJyZWREdXJpbmdSZXNpemUuYXBwZW5kKFty
ZXRhaW5lZFNlbGYsIHJlY3RJblZpZXdDb29yZGluYXRlcywgaW1hZ2VXaWR0aCwgY29waWVkQ29t
cGxldGlvbkhhbmRsZXJdIHsKICAgICAgICAgICAgIFtyZXRhaW5lZFNlbGYgX3NuYXBzaG90UmVj
dDpyZWN0SW5WaWV3Q29vcmRpbmF0ZXMgaW50b0ltYWdlT2ZXaWR0aDppbWFnZVdpZHRoIGNvbXBs
ZXRpb25IYW5kbGVyOmNvcGllZENvbXBsZXRpb25IYW5kbGVyXTsKICAgICAgICAgICAgIFtjb3Bp
ZWRDb21wbGV0aW9uSGFuZGxlciByZWxlYXNlXTsKICAgICAgICAgfSk7CkBAIC02MzU1LDggKzYz
NTUsNyBAQCAtIChDR0Zsb2F0KV9wYWdlU2NhbGUKICAgICByZXR1cm4gX3BhZ2UtPnBhZ2VTY2Fs
ZUZhY3RvcigpOwogfQogCi0vLyBFeGVjdXRlIHRoZSBzdXBwbGllZCBibG9jayBhZnRlciB0aGUg
bmV4dCB0cmFuc2FjdGlvbiBmcm9tIHRoZSBXZWJQcm9jZXNzLgotLSAodm9pZClfZG9BZnRlck5l
eHRQcmVzZW50YXRpb25VcGRhdGU6KHZvaWQgKF4pKHZvaWQpKXVwZGF0ZUJsb2NrCistICh2b2lk
KV9pbnRlcm5hbERvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlOih2b2lkICheKSh2b2lkKSl1
cGRhdGVCbG9jayB3aXRob3V0V2FpdGluZ0ZvclBhaW50aW5nOihCT09MKXdpdGhvdXRXYWl0aW5n
Rm9yUGFpbnRpbmcgd2l0aG91dFdhaXRpbmdGb3JBbmltYXRlZFJlc2l6ZTooQk9PTCl3aXRob3V0
V2FpdGluZ0ZvckFuaW1hdGVkUmVzaXplCiB7CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGlmICgh
W3NlbGYgdXNlc1N0YW5kYXJkQ29udGVudFZpZXddKSB7CkBAIC02MzY1LDI1ICs2MzY0LDQ0IEBA
IC0gKHZvaWQpX2RvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlOih2b2lkICheKSh2b2lkKSl1
cGRhdGVCbG9jawogICAgIH0KICNlbmRpZgogCisgICAgaWYgKHdpdGhvdXRXYWl0aW5nRm9yUGFp
bnRpbmcpCisgICAgICAgIF9wYWdlLT5zZXRTaG91bGRTa2lwV2FpdGluZ0ZvclBhaW50QWZ0ZXJO
ZXh0Vmlld0RpZE1vdmVUb1dpbmRvdyh0cnVlKTsKKwogICAgIGF1dG8gdXBkYXRlQmxvY2tDb3B5
ID0gbWFrZUJsb2NrUHRyKHVwZGF0ZUJsb2NrKTsKIAotICAgIF9wYWdlLT5jYWxsQWZ0ZXJOZXh0
UHJlc2VudGF0aW9uVXBkYXRlKFt1cGRhdGVCbG9ja0NvcHldKFdlYktpdDo6Q2FsbGJhY2tCYXNl
OjpFcnJvciBlcnJvcikgewotICAgICAgICBpZiAodXBkYXRlQmxvY2tDb3B5KQotICAgICAgICAg
ICAgdXBkYXRlQmxvY2tDb3B5KCk7CisgICAgUmV0YWluUHRyPFdLV2ViVmlldz4gc3Ryb25nU2Vs
ZiA9IHNlbGY7CisgICAgX3BhZ2UtPmNhbGxBZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGUoW3Vw
ZGF0ZUJsb2NrQ29weSwgd2l0aG91dFdhaXRpbmdGb3JBbmltYXRlZFJlc2l6ZSwgc3Ryb25nU2Vs
Zl0oV2ViS2l0OjpDYWxsYmFja0Jhc2U6OkVycm9yIGVycm9yKSB7CisgICAgICAgIGlmICghdXBk
YXRlQmxvY2tDb3B5KQorICAgICAgICAgICAgcmV0dXJuOworCisjaWYgUExBVEZPUk0oSU9TKQor
ICAgICAgICBpZiAoIXdpdGhvdXRXYWl0aW5nRm9yQW5pbWF0ZWRSZXNpemUgJiYgc3Ryb25nU2Vs
Zi0+X2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUgIT0gV2ViS2l0OjpEeW5hbWljVmlld3BvcnRV
cGRhdGVNb2RlOjpOb3RSZXNpemluZykgeworICAgICAgICAgICAgc3Ryb25nU2VsZi0+X2NhbGxi
YWNrc0RlZmVycmVkRHVyaW5nUmVzaXplLmFwcGVuZChbdXBkYXRlQmxvY2tDb3B5XSB7CisgICAg
ICAgICAgICAgICAgdXBkYXRlQmxvY2tDb3B5KCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIAorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisjZW5kaWYKKworICAgICAgICB1
cGRhdGVCbG9ja0NvcHkoKTsKICAgICB9KTsKIH0KIAotLSAodm9pZClfZG9BZnRlck5leHRQcmVz
ZW50YXRpb25VcGRhdGVXaXRob3V0V2FpdGluZ0ZvclBhaW50aW5nOih2b2lkICheKSh2b2lkKSl1
cGRhdGVCbG9jaworLy8gRXhlY3V0ZSB0aGUgc3VwcGxpZWQgYmxvY2sgYWZ0ZXIgdGhlIG5leHQg
dHJhbnNhY3Rpb24gZnJvbSB0aGUgV2ViUHJvY2Vzcy4KKy0gKHZvaWQpX2RvQWZ0ZXJOZXh0UHJl
c2VudGF0aW9uVXBkYXRlOih2b2lkICheKSh2b2lkKSl1cGRhdGVCbG9jawogewotI2lmIFBMQVRG
T1JNKElPUykKLSAgICBpZiAoIVtzZWxmIHVzZXNTdGFuZGFyZENvbnRlbnRWaWV3XSkgewotICAg
ICAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCB1cGRhdGVCbG9j
ayk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0jZW5kaWYKKyAgICBbc2VsZiBfaW50ZXJuYWxE
b0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZTp1cGRhdGVCbG9jayB3aXRob3V0V2FpdGluZ0Zv
clBhaW50aW5nOk5PIHdpdGhvdXRXYWl0aW5nRm9yQW5pbWF0ZWRSZXNpemU6Tk9dOworfQorCist
ICh2b2lkKV9kb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZVdpdGhvdXRXYWl0aW5nRm9yQW5p
bWF0ZWRSZXNpemU6KHZvaWQgKF4pKHZvaWQpKXVwZGF0ZUJsb2NrCit7CisgICAgW3NlbGYgX2lu
dGVybmFsRG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGU6dXBkYXRlQmxvY2sgd2l0aG91dFdh
aXRpbmdGb3JQYWludGluZzpOTyB3aXRob3V0V2FpdGluZ0ZvckFuaW1hdGVkUmVzaXplOllFU107
Cit9CiAKLSAgICBfcGFnZS0+c2V0U2hvdWxkU2tpcFdhaXRpbmdGb3JQYWludEFmdGVyTmV4dFZp
ZXdEaWRNb3ZlVG9XaW5kb3codHJ1ZSk7Ci0gICAgW3NlbGYgX2RvQWZ0ZXJOZXh0UHJlc2VudGF0
aW9uVXBkYXRlOnVwZGF0ZUJsb2NrXTsKKy0gKHZvaWQpX2RvQWZ0ZXJOZXh0UHJlc2VudGF0aW9u
VXBkYXRlV2l0aG91dFdhaXRpbmdGb3JQYWludGluZzoodm9pZCAoXikodm9pZCkpdXBkYXRlQmxv
Y2sKK3sKKyAgICBbc2VsZiBfaW50ZXJuYWxEb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZTp1
cGRhdGVCbG9jayB3aXRob3V0V2FpdGluZ0ZvclBhaW50aW5nOllFUyB3aXRob3V0V2FpdGluZ0Zv
ckFuaW1hdGVkUmVzaXplOk5PXTsKIH0KIAogLSAodm9pZClfZG9BZnRlck5leHRWaXNpYmxlQ29u
dGVudFJlY3RVcGRhdGU6KHZvaWQgKF4pKHZvaWQpKXVwZGF0ZUJsb2NrCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCBl
OTVhNjczMjkwYWU0MzE4NDJmZGYxOGM4N2M5MjA4ZGViNDMzZTI4Li44NmUzZDFhODYwMzEwODhm
YTczYzQzNDkyNDQwMjYyYmQwNWFkNzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKQEAgLTQ1Myw2ICs0NTMsNyBAQCB0
eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLUmVjdEVkZ2UpIHsKIC0gKENHRmxvYXQp
X3BhZ2VTY2FsZSBXS19BUElfQVZBSUxBQkxFKGlvcygxMC4zKSk7CiAKIC0gKHZvaWQpX2RvQWZ0
ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlOih2b2lkICheKSh2b2lkKSl1cGRhdGVCbG9jayBXS19B
UElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMiksIGlvcygxMC4wKSk7CistICh2b2lkKV9kb0FmdGVy
TmV4dFByZXNlbnRhdGlvblVwZGF0ZVdpdGhvdXRXYWl0aW5nRm9yQW5pbWF0ZWRSZXNpemU6KHZv
aWQgKF4pKHZvaWQpKXVwZGF0ZUJsb2NrIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19U
QkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogLSAodm9pZClfZG9BZnRlck5leHRQcmVzZW50YXRpb25V
cGRhdGVXaXRob3V0V2FpdGluZ0ZvclBhaW50aW5nOih2b2lkICheKSh2b2lkKSl1cGRhdGVCbG9j
ayBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMi4zKSwgaW9zKDEwLjMpKTsKIC0gKHZvaWQp
X2RvQWZ0ZXJOZXh0VmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlOih2b2lkICheKSh2b2lkKSl1cGRh
dGVCbG9jayBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7CiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2NDBmZTA2
ZGU3YmRjYTMzNmYxMjUxZDM0OThhNGVjZTg2MTRiMTNiLi42OTUzYjdmMjEyYTZjMzk0ZTgwN2Q4
ODE2NDk4NTViZGZmZGZiYTIxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTgtMDctMDkgIFRpbSBIb3J0b24gIDx0
aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgZG9BZnRlck5leHRQcmVzZW50YXRp
b25VcGRhdGUgc2hvdWxkIG5vdCBiZSBjYWxsZWQgd2hpbGUgY29udGVudCBpcyBoaWRkZW4gZHVl
IHRvIGFuaW1hdGVkIHJlc2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTg3NTAwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80MTI5NDEzOT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQW5pbWF0ZWRSZXNpemUubW06CisgICAgICAgICgtW0Fu
aW1hdGVkUmVzaXplV2ViVmlldyBfZW5kQW5pbWF0ZWRSZXNpemVdKToKKyAgICAgICAgU2V0IGRp
ZEVuZEFuaW1hdGVkUmVzaXplIGJlZm9yZSBjYWxsaW5nIHN1cGVyLCBiZWNhdXNlIGl0IG1ha2Vz
IHRoZQorICAgICAgICBuZXcgdGVzdCBlYXNpZXIgYW5kIGRvZXNuJ3QgYWZmZWN0IGFueSBvZiB0
aGUgZXhpc3Rpbmcgb25lcy4KKworICAgICAgICAoQW5pbWF0ZWRSZXNpemVCbG9ja3NWaWV3cG9y
dEZpdENoYW5nZXMpOgorICAgICAgICBUaGlzIGRvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRl
IGlzIGFsd2F5cyBjYWxsZWQgZHVyaW5nIGFuaW1hdGVkIHJlc2l6ZSwKKyAgICAgICAgYW5kIHRo
ZW4gc3luY2hyb25vdXNseSB3YWl0ZWQgZm9yLCBzbyBpdCAvbXVzdC8gdXNlCisgICAgICAgIF9k
b0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZVdpdGhvdXRXYWl0aW5nRm9yQW5pbWF0ZWRSZXNp
emUuCisgICAgICAgIAorICAgICAgICAoQW5pbWF0ZWRSZXNpemVCbG9ja3NEb0FmdGVyTmV4dFBy
ZXNlbnRhdGlvblVwZGF0ZSk6CisgICAgICAgIEFkZCBhIHRlc3QgZW5zdXJpbmcgdGhhdCBkb0Fm
dGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZSBpcyBkZWZlcnJlZAorICAgICAgICB1bnRpbCBlbmRB
bmltYXRlZFJlc2l6ZSBpcyBjYWxsZWQuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL2NvY29h
L1Rlc3ROYXZpZ2F0aW9uRGVsZWdhdGUubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfdGVzdF93
YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl0pOgorICAgICAgICBfdGVzdF93YWl0Rm9yRGlkRmlu
aXNoTmF2aWdhdGlvbiBpcyBzb21ldGltZXMgY2FsbGVkIGR1cmluZyBhbmltYXRlZCByZXNpemUs
CisgICAgICAgIGFuZCBzeW5jaHJvbm91c2x5IHdhaXRzIGZvciBhIGRvQWZ0ZXJOZXh0UHJlc2Vu
dGF0aW9uVXBkYXRlLCBzbworICAgICAgICBpdCBjYW5ub3Qgd2FpdCBmb3IgdGhlIGFuaW1hdGVk
IHJlc2l6ZSB0byBjb21wbGV0ZS4KKwogMjAxOC0wNy0wOSAgUGhpbGlwcGUgTm9ybWFuZCAgPHBu
b3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0ZsYXRwYWtdIFVucmV2aWV3ZWQsIHN3aXRj
aCB0byBodHRwcyBmb3IgdGhlIGdzdC1saWJhdiB0YXJiYWxsLgpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BbmltYXRlZFJlc2l6ZS5tbSBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQW5pbWF0ZWRSZXNpemUubW0KaW5kZXgg
MjIxM2JlYWFhNmQ3ZjYyMTJiN2Q2ZjhjMTllOGJkMTU2ZTVhYzYwNy4uMTY1ZmYyZjhlMTEwZmUx
ODM1NjkxMDliYjc0NzY2NTk3MmQ5ZGFjMSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9BbmltYXRlZFJlc2l6ZS5tbQorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0FuaW1hdGVkUmVzaXplLm1tCkBAIC01MCw5ICs1MCw5
IEBAIEBpbXBsZW1lbnRhdGlvbiBBbmltYXRlZFJlc2l6ZVdlYlZpZXcKIAogLSAodm9pZClfZW5k
QW5pbWF0ZWRSZXNpemUKIHsKLSAgICBbc3VwZXIgX2VuZEFuaW1hdGVkUmVzaXplXTsKLQogICAg
IGRpZEVuZEFuaW1hdGVkUmVzaXplID0gdHJ1ZTsKKworICAgIFtzdXBlciBfZW5kQW5pbWF0ZWRS
ZXNpemVdOwogfQogCiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRpZENo
YW5nZVNhZmVBcmVhU2hvdWxkQWZmZWN0T2JzY3VyZWRJbnNldHM6KEJPT0wpc2FmZUFyZWFTaG91
bGRBZmZlY3RPYnNjdXJlZEluc2V0cwpAQCAtMTUyLDcgKzE1Miw3IEBAIFRFU1QoV2ViS2l0LCBB
bmltYXRlZFJlc2l6ZUJsb2Nrc1ZpZXdwb3J0Rml0Q2hhbmdlcykKICAgICBbd2luZG93IGFkZFN1
YnZpZXc6d2ViVmlldy5nZXQoKV07CiAgICAgW3dpbmRvdyBzZXRIaWRkZW46Tk9dOwogCi0gICAg
W3dlYlZpZXcgX2JlZ2luQW5pbWF0ZWRSZXNpemVXaXRoVXBkYXRlczpeIHsKKyAgICBbd2ViVmll
dyBfYmVnaW5BbmltYXRlZFJlc2l6ZVdpdGhVcGRhdGVzOl57CiAgICAgICAgIFt3ZWJWaWV3IHNl
dEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgW3dlYlZpZXcgZnJhbWVdLnNpemUud2lkdGggKyAxMDAs
IDQwMCldOwogICAgIH1dOwogCkBAIC0xNjYsNyArMTY2LDcgQEAgVEVTVChXZWJLaXQsIEFuaW1h
dGVkUmVzaXplQmxvY2tzVmlld3BvcnRGaXRDaGFuZ2VzKQogICAgIC8vIFdhaXQgZm9yIGEgY29t
bWl0IHRvIGNvbWUgaW4gL2FmdGVyLyBsb2FkaW5nIHRoZSB2aWV3cG9ydC1maXQ9Y292ZXIKICAg
ICAvLyBwYWdlLCBhbmQgZW5zdXJlIHRoYXQgd2UgZGlkbid0IGNhbGwgdGhlIFVJRGVsZWdhdGUg
Y2FsbGJhY2ssCiAgICAgLy8gYmVjYXVzZSB3ZSdyZSBzdGlsbCBpbiB0aGUgcmVzaXplLiBUaGVu
LCBlbmQgdGhlIHJlc2l6ZS4KLSAgICBbd2ViVmlldyBfZG9BZnRlck5leHRQcmVzZW50YXRpb25V
cGRhdGU6XiB7CisgICAgW3dlYlZpZXcgX2RvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlV2l0
aG91dFdhaXRpbmdGb3JBbmltYXRlZFJlc2l6ZTpeewogICAgICAgICBFWFBFQ1RfRkFMU0UoZGlk
Q2hhbmdlU2FmZUFyZWFTaG91bGRBZmZlY3RPYnNjdXJlZEluc2V0cyk7CiAgICAgICAgIFt3ZWJW
aWV3IF9lbmRBbmltYXRlZFJlc2l6ZV07CiAgICAgfV07CkBAIC0xNzcsNyArMTc3LDcgQEAgVEVT
VChXZWJLaXQsIEFuaW1hdGVkUmVzaXplQmxvY2tzVmlld3BvcnRGaXRDaGFuZ2VzKQogICAgIC8v
IFdhaXQgZm9yIG9uZSBtb3JlIGNvbW1pdCBzbyB0aGF0IHdlIHNlZSB0aGUgdmlld3BvcnQtZml0
IHN0YXRlCiAgICAgLy8gY2hhbmdlIGFjdHVhbGx5IHRha2UgcGxhY2UgKHBvc3QtcmVzaXplKSwg
YW5kIGVuc3VyZSB0aGF0IGl0IGRvZXMuCiAgICAgX19ibG9jayBib29sIGRpZEdldENvbW1pdEFm
dGVyRW5kQW5pbWF0ZWRSZXNpemUgPSBmYWxzZTsKLSAgICBbd2ViVmlldyBfZG9BZnRlck5leHRQ
cmVzZW50YXRpb25VcGRhdGU6XiB7CisgICAgW3dlYlZpZXcgX2RvQWZ0ZXJOZXh0UHJlc2VudGF0
aW9uVXBkYXRlOl57CiAgICAgICAgIGRpZEdldENvbW1pdEFmdGVyRW5kQW5pbWF0ZWRSZXNpemUg
PSB0cnVlOwogICAgIH1dOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkR2V0Q29t
bWl0QWZ0ZXJFbmRBbmltYXRlZFJlc2l6ZSk7CkBAIC0yMDEsNyArMjAxLDcgQEAgVEVTVChXZWJL
aXQsIE92ZXJyaWRlTGF5b3V0U2l6ZUNoYW5nZXNEdXJpbmdBbmltYXRlZFJlc2l6ZVN1Y2NlZWQp
CiAgICAgW3dpbmRvdyBhZGRTdWJ2aWV3OndlYlZpZXcuZ2V0KCldOwogICAgIFt3aW5kb3cgc2V0
SGlkZGVuOk5PXTsKIAotICAgIFt3ZWJWaWV3IF9iZWdpbkFuaW1hdGVkUmVzaXplV2l0aFVwZGF0
ZXM6XiB7CisgICAgW3dlYlZpZXcgX2JlZ2luQW5pbWF0ZWRSZXNpemVXaXRoVXBkYXRlczpeewog
ICAgICAgICBbd2ViVmlldyBzZXRGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIFt3ZWJWaWV3IGZyYW1l
XS5zaXplLndpZHRoICsgMTAwLCA0MDApXTsKICAgICB9XTsKIApAQCAtMzQ3LDQgKzM0Nyw0MSBA
QCBURVNUKFdlYktpdCwgUmVzaXplV2l0aENvbnRlbnRIaWRkZW5Db21wbGV0ZXMpCiAgICAgRVhQ
RUNUX0ZBTFNFKGNvbnRlbnRWaWV3LmhpZGRlbik7CiB9CiAKKworVEVTVChXZWJLaXQsIEFuaW1h
dGVkUmVzaXplQmxvY2tzRG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGUpCit7CisgICAgYXV0
byB3ZWJWaWV3ID0gY3JlYXRlQW5pbWF0ZWRSZXNpemVXZWJWaWV3KCk7CisgICAgW3dlYlZpZXcg
c2V0VUlEZWxlZ2F0ZTp3ZWJWaWV3LmdldCgpXTsKKworICAgIC8vIFdlIG5lZWQgdG8gaGF2ZSBz
b21ldGhpbmcgbG9hZGVkIGJlZm9yZSBiZWdpbm5pbmcgdGhlIGFuaW1hdGVkCisgICAgLy8gcmVz
aXplLCBvciBpdCB3aWxsIGJhaWwuCisgICAgW3dlYlZpZXcgbG9hZEhUTUxTdHJpbmc6QCI8aGVh
ZD48L2hlYWQ+IiBiYXNlVVJMOm5pbF07CisgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZp
bmlzaE5hdmlnYXRpb25dOworCisgICAgYXV0byB3aW5kb3cgPSBhZG9wdE5TKFtbVUlXaW5kb3cg
YWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCA4MDAsIDYwMCldKTsKKyAgICBb
d2luZG93IGFkZFN1YnZpZXc6d2ViVmlldy5nZXQoKV07CisgICAgW3dpbmRvdyBzZXRIaWRkZW46
Tk9dOworCisgICAgW3dlYlZpZXcgX2JlZ2luQW5pbWF0ZWRSZXNpemVXaXRoVXBkYXRlczpeewor
ICAgICAgICBbd2ViVmlldyBzZXRGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIFt3ZWJWaWV3IGZyYW1l
XS5zaXplLndpZHRoICsgMTAwLCA0MDApXTsKKyAgICB9XTsKKworICAgIF9fYmxvY2sgYm9vbCBk
aWRHZXRDb21taXRBZnRlckVuZEFuaW1hdGVkUmVzaXplID0gZmFsc2U7CisKKyAgICAvLyBEZXNw
aXRlIGJlaW5nIGludm9rZWQgZmlyc3QsIHRoaXMgZG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRh
dGUKKyAgICAvLyBzaG91bGQgYmUgZGVmZXJyZWQgdW50aWwgYWZ0ZXIgd2UgY2FsbCBlbmRBbmlt
YXRlZFJlc2l6ZSwgaW5zaWRlCisgICAgLy8gdGhlIGJlbG93IF9kb0FmdGVyTmV4dFByZXNlbnRh
dGlvblVwZGF0ZVdpdGhvdXRXYWl0aW5nRm9yQW5pbWF0ZWRSZXNpemUuCisgICAgW3dlYlZpZXcg
X2RvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlOl57CisgICAgICAgIEVYUEVDVF9UUlVFKGRp
ZEVuZEFuaW1hdGVkUmVzaXplKTsKKyAgICAgICAgZGlkR2V0Q29tbWl0QWZ0ZXJFbmRBbmltYXRl
ZFJlc2l6ZSA9IHRydWU7CisgICAgfV07CisKKyAgICBbd2ViVmlldyBfZG9BZnRlck5leHRQcmVz
ZW50YXRpb25VcGRhdGVXaXRob3V0V2FpdGluZ0ZvckFuaW1hdGVkUmVzaXplOl57CisgICAgICAg
IFt3ZWJWaWV3IF9lbmRBbmltYXRlZFJlc2l6ZV07CisgICAgfV07CisKKyAgICBUZXN0V2ViS2l0
QVBJOjpVdGlsOjpydW4oJmRpZEVuZEFuaW1hdGVkUmVzaXplKTsKKyAgICBUZXN0V2ViS2l0QVBJ
OjpVdGlsOjpydW4oJmRpZEdldENvbW1pdEFmdGVyRW5kQW5pbWF0ZWRSZXNpemUpOworfQorCiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdE5hdmlnYXRp
b25EZWxlZ2F0ZS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdE5hdmlnYXRpb25E
ZWxlZ2F0ZS5tbQppbmRleCA0ZDViYzhiODE0NDJlMzIxMDQ0ZDU3Y2E1ODAwNmM1MjMyMzA4OTBi
Li45NzVkY2QxYzk2NTk0ZTk5NTE2YTliOWUyMmE0OTQ0OWFhZTQ1OGJjIDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3ROYXZpZ2F0aW9uRGVsZWdhdGUubW0KKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0TmF2aWdhdGlvbkRlbGVnYXRlLm1tCkBAIC0x
MTgsNyArMTE4LDcgQEAgLSAodm9pZClfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbgog
CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIF9fYmxvY2sgYm9vbCBwcmVzZW50YXRpb25VcGRhdGVI
YXBwZW5lZCA9IGZhbHNlOwotICAgIFtzZWxmIF9kb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0
ZTpeeworICAgIFtzZWxmIF9kb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZVdpdGhvdXRXYWl0
aW5nRm9yQW5pbWF0ZWRSZXNpemU6XnsKICAgICAgICAgcHJlc2VudGF0aW9uVXBkYXRlSGFwcGVu
ZWQgPSB0cnVlOwogICAgIH1dOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmcHJlc2Vu
dGF0aW9uVXBkYXRlSGFwcGVuZWQpOwo=
</data>
<flag name="review"
          id="362739"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>344668</attachid>
            <date>2018-07-09 22:45:49 -0700</date>
            <delta_ts>2018-07-10 13:50:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187500-20180709224548.patch</filename>
            <type>text/plain</type>
            <size>14353</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMzNjc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk3NWM2OWE0YmVlMTIxYmE0
M2FkMjY0NjBiZjZhOTU0MTljYjZmMWIuLjRkN2QwN2U4NDA2ZjJlM2I3Zjc5MGE5NTdjMjQxYTE0
ZDkxYzIyYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTgtMDctMDkgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgZG9BZnRlck5leHRQcmVz
ZW50YXRpb25VcGRhdGUgc2hvdWxkIG5vdCBiZSBjYWxsZWQgd2hpbGUgY29udGVudCBpcyBoaWRk
ZW4gZHVlIHRvIGFuaW1hdGVkIHJlc2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTg3NTAwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80MTI5NDEz
OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDbGll
bnRzIGdlbmVyYWxseSBleHBlY3QgdGhhdCBhZnRlciBkb0FmdGVyTmV4dFByZXNlbnRhdGlvblVw
ZGF0ZSwgdGhlcmUncworICAgICAgICBzb21ldGhpbmcgdmFndWVseSBzZW5zaWJsZSBvbiB0aGUg
c2NyZWVuLiBUaGV5IHVzZSB0aGlzIHRvIHJlbW92ZSBzbmFwc2hvdHMsCisgICAgICAgIHVuaGlk
ZSB3ZWIgdmlld3MsIGV0Yy4KKworICAgICAgICBEdXJpbmcgc29tZSBraW5kcyBvZiByZXNpemUv
cm90YXRpb24sIHdlIHdpbGwgaGlkZSB0aGUgV0tDb250ZW50VmlldywKKyAgICAgICAgYW5kIGFz
eW5jaHJvbm91c2x5IHNob3cgaXQgd2hlbiB0aGUgcmVzaXplL3JvdGF0aW9uIGlzIGNvbXBsZXRl
LiBUaGlzCisgICAgICAgIGNhbiBjYXVzZSBjbGllbnRzIHRvIHByZW1hdHVyZWx5IGV4cG9zZSBh
IGJsYW5rIFdLV2ViVmlldy4KKworICAgICAgICBUbyBmaXggdGhpcywgYXZvaWQgY2FsbGluZyBk
b0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZSB1bnRpbCB0aGUKKyAgICAgICAgYW5pbWF0ZWQg
cmVzaXplIGNvbXBsZXRlcy4gQWRkIGEgdmFyaWFudCB0aGF0IGRvZXMgbm90IHdhaXQgZm9yIHRo
aXMKKyAgICAgICAgKHRvIGJlIHVzZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMpLgorCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmll
dyBfZGlkQ29tcGxldGVBbmltYXRlZFJlc2l6ZV0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3Nu
YXBzaG90UmVjdDppbnRvSW1hZ2VPZldpZHRoOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAgICAg
ICBSZW5hbWUgdGhlIHZlY3RvciBvZiBibG9ja3MgdGhhdCB3ZSBjYWxsIGFmdGVyIGFuaW1hdGVk
IHJlc2l6ZSBjb21wbGV0ZXMKKyAgICAgICAgdG8gYmUgZ2VuZXJpYyByYXRoZXIgdGhhbiBqdXN0
IGFib3V0IHNuYXBzaG90cy4KKworICAgICAgICAoLVtXS1dlYlZpZXcgX2ludGVybmFsRG9BZnRl
ck5leHRQcmVzZW50YXRpb25VcGRhdGU6c3luY2hyb25pemluZ1BhaW50aW5nOmRlZmVyRHVyaW5n
QW5pbWF0ZWRSZXNpemU6XSk6CisgICAgICAgIEFkZCB0aGlzIF9pbnRlcm5hbCB2YXJpYW50IG9m
IF9kb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZSB0aGF0IHRha2VzIGJpdHMgZGV0ZXJtaW5p
bmcKKyAgICAgICAgd2hpY2ggd2FpdHMgdG8gcGVyZm9ybSBvciBhdm9pZCwgdG8gcmVkdWNlIGR1
cGxpY2F0aW9uLgorCisgICAgICAgICgtW1dLV2ViVmlldyBfZG9BZnRlck5leHRQcmVzZW50YXRp
b25VcGRhdGU6XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfZG9BZnRlck5leHRQcmVzZW50YXRp
b25VcGRhdGVXaXRob3V0V2FpdGluZ0ZvckFuaW1hdGVkUmVzaXplOl0pOgorICAgICAgICAoLVtX
S1dlYlZpZXcgX2RvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlV2l0aG91dFdhaXRpbmdGb3JQ
YWludGluZzpdKToKKyAgICAgICAgQ2FsbCBfaW50ZXJuYWxEb0FmdGVyTmV4dFByZXNlbnRhdGlv
blVwZGF0ZSB3aXRoIHRoZSBhcHByb3ByaWF0ZSBiaXRzIHNldCBmb3IgZWFjaCBzaXR1YXRpb24u
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoKKyAg
ICAgICAgQWRkIF9kb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZVdpdGhvdXRXYWl0aW5nRm9y
QW5pbWF0ZWRSZXNpemUgdG8gV0tXZWJWaWV3KFdLVGVzdGluZykuCisKIDIwMTgtMDctMDkgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBjZmNhLmNv
bS5ucENyeXB0b0tpdC5DR0IuTUFDLnNiIGFuZCBjZmNhLmNvbS5ucFAxMUNlcnRFbnJvbGwuTUFD
LkNHQi5zYgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW0KaW5kZXggMDI0ZDM0Y2QwMDA2MzdlMDEzNjJlN2IzYTY0MWFlZDRmNWYxMTFmMC4uMzMxMTc1
ZDIwM2MxNTRlZjQzYTJhNDRlOWU4Njc3NWE0MmIyYWY3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0zNDcsNyArMzQ3LDcgQEAgQGlt
cGxlbWVudGF0aW9uIFdLV2ViVmlldyB7CiAgICAgQk9PTCBfd2FpdGluZ0ZvckVuZEFuaW1hdGVk
UmVzaXplOwogICAgIEJPT0wgX3dhaXRpbmdGb3JDb21taXRBZnRlckFuaW1hdGVkUmVzaXplOwog
Ci0gICAgVmVjdG9yPFdURjo6RnVuY3Rpb248dm9pZCAoKT4+IF9zbmFwc2hvdHNEZWZlcnJlZER1
cmluZ1Jlc2l6ZTsKKyAgICBWZWN0b3I8V1RGOjpGdW5jdGlvbjx2b2lkICgpPj4gX2NhbGxiYWNr
c0RlZmVycmVkRHVyaW5nUmVzaXplOwogICAgIFJldGFpblB0cjxOU011dGFibGVBcnJheT4gX3N0
YWJsZVN0YXRlUHJlc2VudGF0aW9uVXBkYXRlQ2FsbGJhY2tzOwogCiAgICAgUmV0YWluUHRyPFdL
UGFzc3dvcmRWaWV3PiBfcGFzc3dvcmRWaWV3OwpAQCAtMjk1Myw4ICsyOTUzLDggQEAgLSAodm9p
ZClfZGlkQ29tcGxldGVBbmltYXRlZFJlc2l6ZQogICAgIGlmICghX2xhc3RTZW50RGV2aWNlT3Jp
ZW50YXRpb24gfHwgbmV3T3JpZW50YXRpb24gIT0gX2xhc3RTZW50RGV2aWNlT3JpZW50YXRpb24u
dmFsdWUoKSkKICAgICAgICAgW3NlbGYgX2Rpc3BhdGNoU2V0RGV2aWNlT3JpZW50YXRpb246bmV3
T3JpZW50YXRpb25dOwogCi0gICAgd2hpbGUgKCFfc25hcHNob3RzRGVmZXJyZWREdXJpbmdSZXNp
emUuaXNFbXB0eSgpKQotICAgICAgICBfc25hcHNob3RzRGVmZXJyZWREdXJpbmdSZXNpemUudGFr
ZUxhc3QoKSgpOworICAgIHdoaWxlICghX2NhbGxiYWNrc0RlZmVycmVkRHVyaW5nUmVzaXplLmlz
RW1wdHkoKSkKKyAgICAgICAgX2NhbGxiYWNrc0RlZmVycmVkRHVyaW5nUmVzaXplLnRha2VMYXN0
KCkoKTsKIH0KIAogLSAodm9pZClfZGlkRmluaXNoTG9hZEZvck1haW5GcmFtZQpAQCAtNTQyMiw3
ICs1NDIyLDcgQEAgLSAodm9pZClfc25hcHNob3RSZWN0OihDR1JlY3QpcmVjdEluVmlld0Nvb3Jk
aW5hdGVzIGludG9JbWFnZU9mV2lkdGg6KENHRmxvYXQpaW0KICAgICAgICAgLy8gRGVmZXIgc25h
cHNob3R0aW5nIHVudGlsIGFmdGVyIHRoZSBjdXJyZW50IHJlc2l6ZSBjb21wbGV0ZXMuCiAgICAg
ICAgIHZvaWQgKF5jb3BpZWRDb21wbGV0aW9uSGFuZGxlcikoQ0dJbWFnZVJlZikgPSBbY29tcGxl
dGlvbkhhbmRsZXIgY29weV07CiAgICAgICAgIFJldGFpblB0cjxXS1dlYlZpZXc+IHJldGFpbmVk
U2VsZiA9IHNlbGY7Ci0gICAgICAgIF9zbmFwc2hvdHNEZWZlcnJlZER1cmluZ1Jlc2l6ZS5hcHBl
bmQoW3JldGFpbmVkU2VsZiwgcmVjdEluVmlld0Nvb3JkaW5hdGVzLCBpbWFnZVdpZHRoLCBjb3Bp
ZWRDb21wbGV0aW9uSGFuZGxlcl0geworICAgICAgICBfY2FsbGJhY2tzRGVmZXJyZWREdXJpbmdS
ZXNpemUuYXBwZW5kKFtyZXRhaW5lZFNlbGYsIHJlY3RJblZpZXdDb29yZGluYXRlcywgaW1hZ2VX
aWR0aCwgY29waWVkQ29tcGxldGlvbkhhbmRsZXJdIHsKICAgICAgICAgICAgIFtyZXRhaW5lZFNl
bGYgX3NuYXBzaG90UmVjdDpyZWN0SW5WaWV3Q29vcmRpbmF0ZXMgaW50b0ltYWdlT2ZXaWR0aDpp
bWFnZVdpZHRoIGNvbXBsZXRpb25IYW5kbGVyOmNvcGllZENvbXBsZXRpb25IYW5kbGVyXTsKICAg
ICAgICAgICAgIFtjb3BpZWRDb21wbGV0aW9uSGFuZGxlciByZWxlYXNlXTsKICAgICAgICAgfSk7
CkBAIC02MzQ4LDggKzYzNDgsNyBAQCAtIChDR0Zsb2F0KV9wYWdlU2NhbGUKICAgICByZXR1cm4g
X3BhZ2UtPnBhZ2VTY2FsZUZhY3RvcigpOwogfQogCi0vLyBFeGVjdXRlIHRoZSBzdXBwbGllZCBi
bG9jayBhZnRlciB0aGUgbmV4dCB0cmFuc2FjdGlvbiBmcm9tIHRoZSBXZWJQcm9jZXNzLgotLSAo
dm9pZClfZG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGU6KHZvaWQgKF4pKHZvaWQpKXVwZGF0
ZUJsb2NrCistICh2b2lkKV9pbnRlcm5hbERvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlOih2
b2lkICheKSh2b2lkKSl1cGRhdGVCbG9jayBzeW5jaHJvbml6aW5nUGFpbnRpbmc6KEJPT0wpc3lu
Y2hyb25pemluZ1BhaW50aW5nIGRlZmVyRHVyaW5nQW5pbWF0ZWRSZXNpemU6KEJPT0wpZGVmZXJE
dXJpbmdBbmltYXRlZFJlc2l6ZQogewogI2lmIFBMQVRGT1JNKElPUykKICAgICBpZiAoIVtzZWxm
IHVzZXNTdGFuZGFyZENvbnRlbnRWaWV3XSkgewpAQCAtNjM1OCwyNSArNjM1Nyw0NCBAQCAtICh2
b2lkKV9kb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZToodm9pZCAoXikodm9pZCkpdXBkYXRl
QmxvY2sKICAgICB9CiAjZW5kaWYKIAorICAgIGlmICghc3luY2hyb25pemluZ1BhaW50aW5nKQor
ICAgICAgICBfcGFnZS0+c2V0U2hvdWxkU2tpcFdhaXRpbmdGb3JQYWludEFmdGVyTmV4dFZpZXdE
aWRNb3ZlVG9XaW5kb3codHJ1ZSk7CisKICAgICBhdXRvIHVwZGF0ZUJsb2NrQ29weSA9IG1ha2VC
bG9ja1B0cih1cGRhdGVCbG9jayk7CiAKLSAgICBfcGFnZS0+Y2FsbEFmdGVyTmV4dFByZXNlbnRh
dGlvblVwZGF0ZShbdXBkYXRlQmxvY2tDb3B5XShXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3Ig
ZXJyb3IpIHsKLSAgICAgICAgaWYgKHVwZGF0ZUJsb2NrQ29weSkKLSAgICAgICAgICAgIHVwZGF0
ZUJsb2NrQ29weSgpOworICAgIFJldGFpblB0cjxXS1dlYlZpZXc+IHN0cm9uZ1NlbGYgPSBzZWxm
OworICAgIF9wYWdlLT5jYWxsQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlKFt1cGRhdGVCbG9j
a0NvcHksIGRlZmVyRHVyaW5nQW5pbWF0ZWRSZXNpemUsIHN0cm9uZ1NlbGZdKFdlYktpdDo6Q2Fs
bGJhY2tCYXNlOjpFcnJvciBlcnJvcikgeworICAgICAgICBpZiAoIXVwZGF0ZUJsb2NrQ29weSkK
KyAgICAgICAgICAgIHJldHVybjsKKworI2lmIFBMQVRGT1JNKElPUykKKyAgICAgICAgaWYgKGRl
ZmVyRHVyaW5nQW5pbWF0ZWRSZXNpemUgJiYgc3Ryb25nU2VsZi0+X2R5bmFtaWNWaWV3cG9ydFVw
ZGF0ZU1vZGUgIT0gV2ViS2l0OjpEeW5hbWljVmlld3BvcnRVcGRhdGVNb2RlOjpOb3RSZXNpemlu
ZykgeworICAgICAgICAgICAgc3Ryb25nU2VsZi0+X2NhbGxiYWNrc0RlZmVycmVkRHVyaW5nUmVz
aXplLmFwcGVuZChbdXBkYXRlQmxvY2tDb3B5XSB7CisgICAgICAgICAgICAgICAgdXBkYXRlQmxv
Y2tDb3B5KCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisjZW5kaWYKKworICAgICAgICB1cGRhdGVCbG9ja0NvcHkoKTsKICAg
ICB9KTsKIH0KIAotLSAodm9pZClfZG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGVXaXRob3V0
V2FpdGluZ0ZvclBhaW50aW5nOih2b2lkICheKSh2b2lkKSl1cGRhdGVCbG9jaworLy8gRXhlY3V0
ZSB0aGUgc3VwcGxpZWQgYmxvY2sgYWZ0ZXIgdGhlIG5leHQgdHJhbnNhY3Rpb24gZnJvbSB0aGUg
V2ViUHJvY2Vzcy4KKy0gKHZvaWQpX2RvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlOih2b2lk
ICheKSh2b2lkKSl1cGRhdGVCbG9jawogewotI2lmIFBMQVRGT1JNKElPUykKLSAgICBpZiAoIVtz
ZWxmIHVzZXNTdGFuZGFyZENvbnRlbnRWaWV3XSkgewotICAgICAgICBkaXNwYXRjaF9hc3luYyhk
aXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCB1cGRhdGVCbG9jayk7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0jZW5kaWYKKyAgICBbc2VsZiBfaW50ZXJuYWxEb0FmdGVyTmV4dFByZXNlbnRhdGlv
blVwZGF0ZTp1cGRhdGVCbG9jayBzeW5jaHJvbml6aW5nUGFpbnRpbmc6WUVTIGRlZmVyRHVyaW5n
QW5pbWF0ZWRSZXNpemU6WUVTXTsKK30KKworLSAodm9pZClfZG9BZnRlck5leHRQcmVzZW50YXRp
b25VcGRhdGVXaXRob3V0V2FpdGluZ0ZvckFuaW1hdGVkUmVzaXplOih2b2lkICheKSh2b2lkKSl1
cGRhdGVCbG9jaworeworICAgIFtzZWxmIF9pbnRlcm5hbERvQWZ0ZXJOZXh0UHJlc2VudGF0aW9u
VXBkYXRlOnVwZGF0ZUJsb2NrIHN5bmNocm9uaXppbmdQYWludGluZzpZRVMgZGVmZXJEdXJpbmdB
bmltYXRlZFJlc2l6ZTpOT107Cit9CiAKLSAgICBfcGFnZS0+c2V0U2hvdWxkU2tpcFdhaXRpbmdG
b3JQYWludEFmdGVyTmV4dFZpZXdEaWRNb3ZlVG9XaW5kb3codHJ1ZSk7Ci0gICAgW3NlbGYgX2Rv
QWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlOnVwZGF0ZUJsb2NrXTsKKy0gKHZvaWQpX2RvQWZ0
ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlV2l0aG91dFdhaXRpbmdGb3JQYWludGluZzoodm9pZCAo
Xikodm9pZCkpdXBkYXRlQmxvY2sKK3sKKyAgICBbc2VsZiBfaW50ZXJuYWxEb0FmdGVyTmV4dFBy
ZXNlbnRhdGlvblVwZGF0ZTp1cGRhdGVCbG9jayBzeW5jaHJvbml6aW5nUGFpbnRpbmc6Tk8gZGVm
ZXJEdXJpbmdBbmltYXRlZFJlc2l6ZTpZRVNdOwogfQogCiAtICh2b2lkKV9kb0FmdGVyTmV4dFZp
c2libGVDb250ZW50UmVjdFVwZGF0ZToodm9pZCAoXikodm9pZCkpdXBkYXRlQmxvY2sKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5o
CmluZGV4IGU5NWE2NzMyOTBhZTQzMTg0MmZkZjE4Yzg3YzkyMDhkZWI0MzNlMjguLjg2ZTNkMWE4
NjAzMTA4OGZhNzNjNDM0OTI0NDAyNjJiZDA1YWQ3MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaApAQCAtNDUzLDYgKzQ1
Myw3IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tSZWN0RWRnZSkgewogLSAo
Q0dGbG9hdClfcGFnZVNjYWxlIFdLX0FQSV9BVkFJTEFCTEUoaW9zKDEwLjMpKTsKIAogLSAodm9p
ZClfZG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGU6KHZvaWQgKF4pKHZvaWQpKXVwZGF0ZUJs
b2NrIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsKKy0gKHZvaWQp
X2RvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlV2l0aG91dFdhaXRpbmdGb3JBbmltYXRlZFJl
c2l6ZToodm9pZCAoXikodm9pZCkpdXBkYXRlQmxvY2sgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
V0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAtICh2b2lkKV9kb0FmdGVyTmV4dFByZXNl
bnRhdGlvblVwZGF0ZVdpdGhvdXRXYWl0aW5nRm9yUGFpbnRpbmc6KHZvaWQgKF4pKHZvaWQpKXVw
ZGF0ZUJsb2NrIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyLjMpLCBpb3MoMTAuMykpOwog
LSAodm9pZClfZG9BZnRlck5leHRWaXNpYmxlQ29udGVudFJlY3RVcGRhdGU6KHZvaWQgKF4pKHZv
aWQpKXVwZGF0ZUJsb2NrIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjAp
KTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4
IDk5NmY4NTc5ODI3OGJjNjYxNjQ3YjllNTc5MzFjNGRmYTgyNTljMDQuLjEyYWQ3ZGQ3YTkyM2Vh
Mjg5ZTdiMWIyZGE5NDdhM2EyMWE3YjRjMjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxOC0wNy0wOSAgVGltIEhv
cnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBkb0FmdGVyTmV4dFBy
ZXNlbnRhdGlvblVwZGF0ZSBzaG91bGQgbm90IGJlIGNhbGxlZCB3aGlsZSBjb250ZW50IGlzIGhp
ZGRlbiBkdWUgdG8gYW5pbWF0ZWQgcmVzaXplCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODc1MDAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQxMjk0
MTM5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BbmltYXRlZFJlc2l6ZS5tbToKKyAgICAg
ICAgKC1bQW5pbWF0ZWRSZXNpemVXZWJWaWV3IF9lbmRBbmltYXRlZFJlc2l6ZV0pOgorICAgICAg
ICBTZXQgZGlkRW5kQW5pbWF0ZWRSZXNpemUgYmVmb3JlIGNhbGxpbmcgc3VwZXIsIGJlY2F1c2Ug
aXQgbWFrZXMgdGhlCisgICAgICAgIG5ldyB0ZXN0IGVhc2llciBhbmQgZG9lc24ndCBhZmZlY3Qg
YW55IG9mIHRoZSBleGlzdGluZyBvbmVzLgorCisgICAgICAgIChBbmltYXRlZFJlc2l6ZUJsb2Nr
c1ZpZXdwb3J0Rml0Q2hhbmdlcyk6CisgICAgICAgIFRoaXMgZG9BZnRlck5leHRQcmVzZW50YXRp
b25VcGRhdGUgaXMgYWx3YXlzIGNhbGxlZCBkdXJpbmcgYW5pbWF0ZWQgcmVzaXplLAorICAgICAg
ICBhbmQgdGhlbiBzeW5jaHJvbm91c2x5IHdhaXRlZCBmb3IsIHNvIGl0IC9tdXN0LyB1c2UKKyAg
ICAgICAgX2RvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlV2l0aG91dFdhaXRpbmdGb3JBbmlt
YXRlZFJlc2l6ZS4KKyAgICAgICAgCisgICAgICAgIChBbmltYXRlZFJlc2l6ZUJsb2Nrc0RvQWZ0
ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlKToKKyAgICAgICAgQWRkIGEgdGVzdCBlbnN1cmluZyB0
aGF0IGRvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlIGlzIGRlZmVycmVkCisgICAgICAgIHVu
dGlsIGVuZEFuaW1hdGVkUmVzaXplIGlzIGNhbGxlZC4KKworICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvY29jb2EvVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZS5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3
IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXSk6CisgICAgICAgIF90ZXN0X3dhaXRG
b3JEaWRGaW5pc2hOYXZpZ2F0aW9uIGlzIHNvbWV0aW1lcyBjYWxsZWQgZHVyaW5nIGFuaW1hdGVk
IHJlc2l6ZSwKKyAgICAgICAgYW5kIHN5bmNocm9ub3VzbHkgd2FpdHMgZm9yIGEgZG9BZnRlck5l
eHRQcmVzZW50YXRpb25VcGRhdGUsIHNvCisgICAgICAgIGl0IGNhbm5vdCB3YWl0IGZvciB0aGUg
YW5pbWF0ZWQgcmVzaXplIHRvIGNvbXBsZXRlLgorCiAyMDE4LTA3LTA5ICBUaW1vdGh5IEhhdGNo
ZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAogICAgICAgICBTZW1hbnRpYyBjb2xvcnMgZG9uJ3Qg
dXBkYXRlIHdoZW4gYWNjZXNzaWJpbGl0eSBJbmNyZWFzZSBDb250cmFzdCBtb2RlIGlzIGVuYWJs
ZWQuCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0Fu
aW1hdGVkUmVzaXplLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9B
bmltYXRlZFJlc2l6ZS5tbQppbmRleCAyMjEzYmVhYWE2ZDdmNjIxMmI3ZDZmOGMxOWU4YmQxNTZl
NWFjNjA3Li4xNjVmZjJmOGUxMTBmZTE4MzU2OTEwOWJiNzQ3NjY1OTcyZDlkYWMxIDEwMDY0NAot
LS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0FuaW1hdGVkUmVzaXpl
Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQW5pbWF0ZWRS
ZXNpemUubW0KQEAgLTUwLDkgKzUwLDkgQEAgQGltcGxlbWVudGF0aW9uIEFuaW1hdGVkUmVzaXpl
V2ViVmlldwogCiAtICh2b2lkKV9lbmRBbmltYXRlZFJlc2l6ZQogewotICAgIFtzdXBlciBfZW5k
QW5pbWF0ZWRSZXNpemVdOwotCiAgICAgZGlkRW5kQW5pbWF0ZWRSZXNpemUgPSB0cnVlOworCisg
ICAgW3N1cGVyIF9lbmRBbmltYXRlZFJlc2l6ZV07CiB9CiAKIC0gKHZvaWQpX3dlYlZpZXc6KFdL
V2ViVmlldyAqKXdlYlZpZXcgZGlkQ2hhbmdlU2FmZUFyZWFTaG91bGRBZmZlY3RPYnNjdXJlZElu
c2V0czooQk9PTClzYWZlQXJlYVNob3VsZEFmZmVjdE9ic2N1cmVkSW5zZXRzCkBAIC0xNTIsNyAr
MTUyLDcgQEAgVEVTVChXZWJLaXQsIEFuaW1hdGVkUmVzaXplQmxvY2tzVmlld3BvcnRGaXRDaGFu
Z2VzKQogICAgIFt3aW5kb3cgYWRkU3Vidmlldzp3ZWJWaWV3LmdldCgpXTsKICAgICBbd2luZG93
IHNldEhpZGRlbjpOT107CiAKLSAgICBbd2ViVmlldyBfYmVnaW5BbmltYXRlZFJlc2l6ZVdpdGhV
cGRhdGVzOl4geworICAgIFt3ZWJWaWV3IF9iZWdpbkFuaW1hdGVkUmVzaXplV2l0aFVwZGF0ZXM6
XnsKICAgICAgICAgW3dlYlZpZXcgc2V0RnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCBbd2ViVmlldyBm
cmFtZV0uc2l6ZS53aWR0aCArIDEwMCwgNDAwKV07CiAgICAgfV07CiAKQEAgLTE2Niw3ICsxNjYs
NyBAQCBURVNUKFdlYktpdCwgQW5pbWF0ZWRSZXNpemVCbG9ja3NWaWV3cG9ydEZpdENoYW5nZXMp
CiAgICAgLy8gV2FpdCBmb3IgYSBjb21taXQgdG8gY29tZSBpbiAvYWZ0ZXIvIGxvYWRpbmcgdGhl
IHZpZXdwb3J0LWZpdD1jb3ZlcgogICAgIC8vIHBhZ2UsIGFuZCBlbnN1cmUgdGhhdCB3ZSBkaWRu
J3QgY2FsbCB0aGUgVUlEZWxlZ2F0ZSBjYWxsYmFjaywKICAgICAvLyBiZWNhdXNlIHdlJ3JlIHN0
aWxsIGluIHRoZSByZXNpemUuIFRoZW4sIGVuZCB0aGUgcmVzaXplLgotICAgIFt3ZWJWaWV3IF9k
b0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZTpeIHsKKyAgICBbd2ViVmlldyBfZG9BZnRlck5l
eHRQcmVzZW50YXRpb25VcGRhdGVXaXRob3V0V2FpdGluZ0ZvckFuaW1hdGVkUmVzaXplOl57CiAg
ICAgICAgIEVYUEVDVF9GQUxTRShkaWRDaGFuZ2VTYWZlQXJlYVNob3VsZEFmZmVjdE9ic2N1cmVk
SW5zZXRzKTsKICAgICAgICAgW3dlYlZpZXcgX2VuZEFuaW1hdGVkUmVzaXplXTsKICAgICB9XTsK
QEAgLTE3Nyw3ICsxNzcsNyBAQCBURVNUKFdlYktpdCwgQW5pbWF0ZWRSZXNpemVCbG9ja3NWaWV3
cG9ydEZpdENoYW5nZXMpCiAgICAgLy8gV2FpdCBmb3Igb25lIG1vcmUgY29tbWl0IHNvIHRoYXQg
d2Ugc2VlIHRoZSB2aWV3cG9ydC1maXQgc3RhdGUKICAgICAvLyBjaGFuZ2UgYWN0dWFsbHkgdGFr
ZSBwbGFjZSAocG9zdC1yZXNpemUpLCBhbmQgZW5zdXJlIHRoYXQgaXQgZG9lcy4KICAgICBfX2Js
b2NrIGJvb2wgZGlkR2V0Q29tbWl0QWZ0ZXJFbmRBbmltYXRlZFJlc2l6ZSA9IGZhbHNlOwotICAg
IFt3ZWJWaWV3IF9kb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZTpeIHsKKyAgICBbd2ViVmll
dyBfZG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGU6XnsKICAgICAgICAgZGlkR2V0Q29tbWl0
QWZ0ZXJFbmRBbmltYXRlZFJlc2l6ZSA9IHRydWU7CiAgICAgfV07CiAgICAgVGVzdFdlYktpdEFQ
STo6VXRpbDo6cnVuKCZkaWRHZXRDb21taXRBZnRlckVuZEFuaW1hdGVkUmVzaXplKTsKQEAgLTIw
MSw3ICsyMDEsNyBAQCBURVNUKFdlYktpdCwgT3ZlcnJpZGVMYXlvdXRTaXplQ2hhbmdlc0R1cmlu
Z0FuaW1hdGVkUmVzaXplU3VjY2VlZCkKICAgICBbd2luZG93IGFkZFN1YnZpZXc6d2ViVmlldy5n
ZXQoKV07CiAgICAgW3dpbmRvdyBzZXRIaWRkZW46Tk9dOwogCi0gICAgW3dlYlZpZXcgX2JlZ2lu
QW5pbWF0ZWRSZXNpemVXaXRoVXBkYXRlczpeIHsKKyAgICBbd2ViVmlldyBfYmVnaW5BbmltYXRl
ZFJlc2l6ZVdpdGhVcGRhdGVzOl57CiAgICAgICAgIFt3ZWJWaWV3IHNldEZyYW1lOkNHUmVjdE1h
a2UoMCwgMCwgW3dlYlZpZXcgZnJhbWVdLnNpemUud2lkdGggKyAxMDAsIDQwMCldOwogICAgIH1d
OwogCkBAIC0zNDcsNCArMzQ3LDQxIEBAIFRFU1QoV2ViS2l0LCBSZXNpemVXaXRoQ29udGVudEhp
ZGRlbkNvbXBsZXRlcykKICAgICBFWFBFQ1RfRkFMU0UoY29udGVudFZpZXcuaGlkZGVuKTsKIH0K
IAorCitURVNUKFdlYktpdCwgQW5pbWF0ZWRSZXNpemVCbG9ja3NEb0FmdGVyTmV4dFByZXNlbnRh
dGlvblVwZGF0ZSkKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBjcmVhdGVBbmltYXRlZFJlc2l6ZVdl
YlZpZXcoKTsKKyAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOndlYlZpZXcuZ2V0KCldOworCisg
ICAgLy8gV2UgbmVlZCB0byBoYXZlIHNvbWV0aGluZyBsb2FkZWQgYmVmb3JlIGJlZ2lubmluZyB0
aGUgYW5pbWF0ZWQKKyAgICAvLyByZXNpemUsIG9yIGl0IHdpbGwgYmFpbC4KKyAgICBbd2ViVmll
dyBsb2FkSFRNTFN0cmluZzpAIjxoZWFkPjwvaGVhZD4iIGJhc2VVUkw6bmlsXTsKKyAgICBbd2Vi
VmlldyBfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CisKKyAgICBhdXRvIHdpbmRv
dyA9IGFkb3B0TlMoW1tVSVdpbmRvdyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAs
IDAsIDgwMCwgNjAwKV0pOworICAgIFt3aW5kb3cgYWRkU3Vidmlldzp3ZWJWaWV3LmdldCgpXTsK
KyAgICBbd2luZG93IHNldEhpZGRlbjpOT107CisKKyAgICBbd2ViVmlldyBfYmVnaW5BbmltYXRl
ZFJlc2l6ZVdpdGhVcGRhdGVzOl57CisgICAgICAgIFt3ZWJWaWV3IHNldEZyYW1lOkNHUmVjdE1h
a2UoMCwgMCwgW3dlYlZpZXcgZnJhbWVdLnNpemUud2lkdGggKyAxMDAsIDQwMCldOworICAgIH1d
OworCisgICAgX19ibG9jayBib29sIGRpZEdldENvbW1pdEFmdGVyRW5kQW5pbWF0ZWRSZXNpemUg
PSBmYWxzZTsKKworICAgIC8vIERlc3BpdGUgYmVpbmcgaW52b2tlZCBmaXJzdCwgdGhpcyBkb0Fm
dGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZQorICAgIC8vIHNob3VsZCBiZSBkZWZlcnJlZCB1bnRp
bCBhZnRlciB3ZSBjYWxsIGVuZEFuaW1hdGVkUmVzaXplLCBpbnNpZGUKKyAgICAvLyB0aGUgYmVs
b3cgX2RvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlV2l0aG91dFdhaXRpbmdGb3JBbmltYXRl
ZFJlc2l6ZS4KKyAgICBbd2ViVmlldyBfZG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGU6XnsK
KyAgICAgICAgRVhQRUNUX1RSVUUoZGlkRW5kQW5pbWF0ZWRSZXNpemUpOworICAgICAgICBkaWRH
ZXRDb21taXRBZnRlckVuZEFuaW1hdGVkUmVzaXplID0gdHJ1ZTsKKyAgICB9XTsKKworICAgIFt3
ZWJWaWV3IF9kb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZVdpdGhvdXRXYWl0aW5nRm9yQW5p
bWF0ZWRSZXNpemU6XnsKKyAgICAgICAgW3dlYlZpZXcgX2VuZEFuaW1hdGVkUmVzaXplXTsKKyAg
ICB9XTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkRW5kQW5pbWF0ZWRSZXNp
emUpOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkR2V0Q29tbWl0QWZ0ZXJFbmRB
bmltYXRlZFJlc2l6ZSk7Cit9CisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9jb2NvYS9UZXN0TmF2aWdhdGlvbkRlbGVnYXRlLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9jb2NvYS9UZXN0TmF2aWdhdGlvbkRlbGVnYXRlLm1tCmluZGV4IDRkNWJjOGI4MTQ0MmUzMjEw
NDRkNTdjYTU4MDA2YzUyMzIzMDg5MGIuLjk3NWRjZDFjOTY1OTRlOTk1MTZhOWI5ZTIyYTQ5NDQ5
YWFlNDU4YmMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdE5hdmln
YXRpb25EZWxlZ2F0ZS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3ROYXZp
Z2F0aW9uRGVsZWdhdGUubW0KQEAgLTExOCw3ICsxMTgsNyBAQCAtICh2b2lkKV90ZXN0X3dhaXRG
b3JEaWRGaW5pc2hOYXZpZ2F0aW9uCiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgX19ibG9jayBi
b29sIHByZXNlbnRhdGlvblVwZGF0ZUhhcHBlbmVkID0gZmFsc2U7Ci0gICAgW3NlbGYgX2RvQWZ0
ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlOl57CisgICAgW3NlbGYgX2RvQWZ0ZXJOZXh0UHJlc2Vu
dGF0aW9uVXBkYXRlV2l0aG91dFdhaXRpbmdGb3JBbmltYXRlZFJlc2l6ZTpeewogICAgICAgICBw
cmVzZW50YXRpb25VcGRhdGVIYXBwZW5lZCA9IHRydWU7CiAgICAgfV07CiAgICAgVGVzdFdlYktp
dEFQSTo6VXRpbDo6cnVuKCZwcmVzZW50YXRpb25VcGRhdGVIYXBwZW5lZCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>344719</attachid>
            <date>2018-07-10 13:50:13 -0700</date>
            <delta_ts>2018-07-10 14:29:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187500-20180710135013.patch</filename>
            <type>text/plain</type>
            <size>14525</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMzNjk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNjMTk4NjgxYjQ0MzhhZjBl
ZjViNTlmOTYzNmQ1YjAxYzFiZGExZTkuLjgxMDNhODM0MjU1NDExODBjZjA3ZjY0ZGJiOTc3MTJh
NGYyOWNjYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTgtMDctMTAgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgZG9BZnRlck5leHRQcmVz
ZW50YXRpb25VcGRhdGUgc2hvdWxkIG5vdCBiZSBjYWxsZWQgd2hpbGUgY29udGVudCBpcyBoaWRk
ZW4gZHVlIHRvIGFuaW1hdGVkIHJlc2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTg3NTAwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80MTI5NDEz
OT4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgQ2xpZW50
cyBnZW5lcmFsbHkgZXhwZWN0IHRoYXQgYWZ0ZXIgZG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRh
dGUsIHRoZXJlJ3MKKyAgICAgICAgc29tZXRoaW5nIHZhZ3VlbHkgc2Vuc2libGUgb24gdGhlIHNj
cmVlbi4gVGhleSB1c2UgdGhpcyB0byByZW1vdmUgc25hcHNob3RzLAorICAgICAgICB1bmhpZGUg
d2ViIHZpZXdzLCBldGMuCisKKyAgICAgICAgRHVyaW5nIHNvbWUga2luZHMgb2YgcmVzaXplL3Jv
dGF0aW9uLCB3ZSB3aWxsIGhpZGUgdGhlIFdLQ29udGVudFZpZXcsCisgICAgICAgIGFuZCBhc3lu
Y2hyb25vdXNseSBoaWRlIGl0IHdoZW4gdGhlIHJlc2l6ZS9yb3RhdGlvbiBpcyBjb21wbGV0ZS4g
VGhpcworICAgICAgICBjYW4gY2F1c2UgY2xpZW50cyB0byBwcmVtYXR1cmVseSBleHBvc2UgYSBi
bGFuayBXS1dlYlZpZXcuCisKKyAgICAgICAgVG8gZml4IHRoaXMsIGF2b2lkIGNhbGxpbmcgZG9B
ZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGUgdW50aWwgdGhlCisgICAgICAgIGFuaW1hdGVkIHJl
c2l6ZSBjb21wbGV0ZXMuIEFkZCBhIHZhcmlhbnQgdGhhdCBkb2VzIG5vdCB3YWl0IGZvciB0aGlz
CisgICAgICAgICh0byBiZSB1c2VkIGZvciB0ZXN0aW5nIHB1cnBvc2VzKS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcg
X2RpZENvbXBsZXRlQW5pbWF0ZWRSZXNpemVdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zbmFw
c2hvdFJlY3Q6aW50b0ltYWdlT2ZXaWR0aDpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAg
UmVuYW1lIHRoZSB2ZWN0b3Igb2YgYmxvY2tzIHRoYXQgd2UgY2FsbCBhZnRlciBhbmltYXRlZCBy
ZXNpemUgY29tcGxldGVzCisgICAgICAgIHRvIGJlIGdlbmVyaWMgcmF0aGVyIHRoYW4ganVzdCBh
Ym91dCBzbmFwc2hvdHMuCisKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9pbnRlcm5hbERvQWZ0ZXJO
ZXh0UHJlc2VudGF0aW9uVXBkYXRlOndpdGhvdXRXYWl0aW5nRm9yUGFpbnRpbmc6d2l0aG91dFdh
aXRpbmdGb3JBbmltYXRlZFJlc2l6ZTpdKToKKyAgICAgICAgQWRkIHRoaXMgX2ludGVybmFsIHZh
cmlhbnQgb2YgX2RvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlIHRoYXQgdGFrZXMgYml0cyBk
ZXRlcm1pbmluZworICAgICAgICB3aGljaCB3YWl0cyB0byBwZXJmb3JtIG9yIGF2b2lkLCB0byBy
ZWR1Y2UgZHVwbGljYXRpb24uCisKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9kb0FmdGVyTmV4dFBy
ZXNlbnRhdGlvblVwZGF0ZTpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9kb0FmdGVyTmV4dFBy
ZXNlbnRhdGlvblVwZGF0ZVdpdGhvdXRXYWl0aW5nRm9yQW5pbWF0ZWRSZXNpemVGb3JUZXN0aW5n
Ol0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2RvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRl
V2l0aG91dFdhaXRpbmdGb3JQYWludGluZzpdKToKKyAgICAgICAgQ2FsbCBfaW50ZXJuYWxEb0Fm
dGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZSB3aXRoIHRoZSBhcHByb3ByaWF0ZSBiaXRzIHNldCBm
b3IgZWFjaCBzaXR1YXRpb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld1ByaXZhdGUuaDoKKyAgICAgICAgQWRkIF9kb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0
ZVdpdGhvdXRXYWl0aW5nRm9yQW5pbWF0ZWRSZXNpemVGb3JUZXN0aW5nIHRvIFdLV2ViVmlldyhX
S1Rlc3RpbmcpLgorCiAyMDE4LTA3LTEwICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBw
bGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyMzE1MTApOiBEaXNtaXNzaW5nIFBERlBs
dWdpbiBjb250ZXh0IG1lbnUgYXV0b21hdGljYWxseSBjbGlja3MgdGhlIGZpcnN0IGl0ZW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IDAy
NGQzNGNkMDAwNjM3ZTAxMzYyZTdiM2E2NDFhZWQ0ZjVmMTExZjAuLmNiOTI5NDgxYzNkZWNlMDRm
Zjg0OWEzZGJmMTRmZTNiNGY0MGJlNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtMzQ3LDcgKzM0Nyw3IEBAIEBpbXBsZW1lbnRhdGlv
biBXS1dlYlZpZXcgewogICAgIEJPT0wgX3dhaXRpbmdGb3JFbmRBbmltYXRlZFJlc2l6ZTsKICAg
ICBCT09MIF93YWl0aW5nRm9yQ29tbWl0QWZ0ZXJBbmltYXRlZFJlc2l6ZTsKIAotICAgIFZlY3Rv
cjxXVEY6OkZ1bmN0aW9uPHZvaWQgKCk+PiBfc25hcHNob3RzRGVmZXJyZWREdXJpbmdSZXNpemU7
CisgICAgVmVjdG9yPFdURjo6RnVuY3Rpb248dm9pZCAoKT4+IF9jYWxsYmFja3NEZWZlcnJlZER1
cmluZ1Jlc2l6ZTsKICAgICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+IF9zdGFibGVTdGF0ZVBy
ZXNlbnRhdGlvblVwZGF0ZUNhbGxiYWNrczsKIAogICAgIFJldGFpblB0cjxXS1Bhc3N3b3JkVmll
dz4gX3Bhc3N3b3JkVmlldzsKQEAgLTI5NTMsOCArMjk1Myw4IEBAIC0gKHZvaWQpX2RpZENvbXBs
ZXRlQW5pbWF0ZWRSZXNpemUKICAgICBpZiAoIV9sYXN0U2VudERldmljZU9yaWVudGF0aW9uIHx8
IG5ld09yaWVudGF0aW9uICE9IF9sYXN0U2VudERldmljZU9yaWVudGF0aW9uLnZhbHVlKCkpCiAg
ICAgICAgIFtzZWxmIF9kaXNwYXRjaFNldERldmljZU9yaWVudGF0aW9uOm5ld09yaWVudGF0aW9u
XTsKIAotICAgIHdoaWxlICghX3NuYXBzaG90c0RlZmVycmVkRHVyaW5nUmVzaXplLmlzRW1wdHko
KSkKLSAgICAgICAgX3NuYXBzaG90c0RlZmVycmVkRHVyaW5nUmVzaXplLnRha2VMYXN0KCkoKTsK
KyAgICB3aGlsZSAoIV9jYWxsYmFja3NEZWZlcnJlZER1cmluZ1Jlc2l6ZS5pc0VtcHR5KCkpCisg
ICAgICAgIF9jYWxsYmFja3NEZWZlcnJlZER1cmluZ1Jlc2l6ZS50YWtlTGFzdCgpKCk7CiB9CiAK
IC0gKHZvaWQpX2RpZEZpbmlzaExvYWRGb3JNYWluRnJhbWUKQEAgLTU0MjIsNyArNTQyMiw3IEBA
IC0gKHZvaWQpX3NuYXBzaG90UmVjdDooQ0dSZWN0KXJlY3RJblZpZXdDb29yZGluYXRlcyBpbnRv
SW1hZ2VPZldpZHRoOihDR0Zsb2F0KWltCiAgICAgICAgIC8vIERlZmVyIHNuYXBzaG90dGluZyB1
bnRpbCBhZnRlciB0aGUgY3VycmVudCByZXNpemUgY29tcGxldGVzLgogICAgICAgICB2b2lkIChe
Y29waWVkQ29tcGxldGlvbkhhbmRsZXIpKENHSW1hZ2VSZWYpID0gW2NvbXBsZXRpb25IYW5kbGVy
IGNvcHldOwogICAgICAgICBSZXRhaW5QdHI8V0tXZWJWaWV3PiByZXRhaW5lZFNlbGYgPSBzZWxm
OwotICAgICAgICBfc25hcHNob3RzRGVmZXJyZWREdXJpbmdSZXNpemUuYXBwZW5kKFtyZXRhaW5l
ZFNlbGYsIHJlY3RJblZpZXdDb29yZGluYXRlcywgaW1hZ2VXaWR0aCwgY29waWVkQ29tcGxldGlv
bkhhbmRsZXJdIHsKKyAgICAgICAgX2NhbGxiYWNrc0RlZmVycmVkRHVyaW5nUmVzaXplLmFwcGVu
ZChbcmV0YWluZWRTZWxmLCByZWN0SW5WaWV3Q29vcmRpbmF0ZXMsIGltYWdlV2lkdGgsIGNvcGll
ZENvbXBsZXRpb25IYW5kbGVyXSB7CiAgICAgICAgICAgICBbcmV0YWluZWRTZWxmIF9zbmFwc2hv
dFJlY3Q6cmVjdEluVmlld0Nvb3JkaW5hdGVzIGludG9JbWFnZU9mV2lkdGg6aW1hZ2VXaWR0aCBj
b21wbGV0aW9uSGFuZGxlcjpjb3BpZWRDb21wbGV0aW9uSGFuZGxlcl07CiAgICAgICAgICAgICBb
Y29waWVkQ29tcGxldGlvbkhhbmRsZXIgcmVsZWFzZV07CiAgICAgICAgIH0pOwpAQCAtNjM0OCw4
ICs2MzQ4LDcgQEAgLSAoQ0dGbG9hdClfcGFnZVNjYWxlCiAgICAgcmV0dXJuIF9wYWdlLT5wYWdl
U2NhbGVGYWN0b3IoKTsKIH0KIAotLy8gRXhlY3V0ZSB0aGUgc3VwcGxpZWQgYmxvY2sgYWZ0ZXIg
dGhlIG5leHQgdHJhbnNhY3Rpb24gZnJvbSB0aGUgV2ViUHJvY2Vzcy4KLS0gKHZvaWQpX2RvQWZ0
ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlOih2b2lkICheKSh2b2lkKSl1cGRhdGVCbG9jaworLSAo
dm9pZClfaW50ZXJuYWxEb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZToodm9pZCAoXikodm9p
ZCkpdXBkYXRlQmxvY2sgd2l0aG91dFdhaXRpbmdGb3JQYWludGluZzooQk9PTCl3aXRob3V0V2Fp
dGluZ0ZvclBhaW50aW5nIHdpdGhvdXRXYWl0aW5nRm9yQW5pbWF0ZWRSZXNpemU6KEJPT0wpd2l0
aG91dFdhaXRpbmdGb3JBbmltYXRlZFJlc2l6ZQogewogI2lmIFBMQVRGT1JNKElPUykKICAgICBp
ZiAoIVtzZWxmIHVzZXNTdGFuZGFyZENvbnRlbnRWaWV3XSkgewpAQCAtNjM1OCwyNSArNjM1Nyw0
NCBAQCAtICh2b2lkKV9kb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZToodm9pZCAoXikodm9p
ZCkpdXBkYXRlQmxvY2sKICAgICB9CiAjZW5kaWYKIAorICAgIGlmICh3aXRob3V0V2FpdGluZ0Zv
clBhaW50aW5nKQorICAgICAgICBfcGFnZS0+c2V0U2hvdWxkU2tpcFdhaXRpbmdGb3JQYWludEFm
dGVyTmV4dFZpZXdEaWRNb3ZlVG9XaW5kb3codHJ1ZSk7CisKICAgICBhdXRvIHVwZGF0ZUJsb2Nr
Q29weSA9IG1ha2VCbG9ja1B0cih1cGRhdGVCbG9jayk7CiAKLSAgICBfcGFnZS0+Y2FsbEFmdGVy
TmV4dFByZXNlbnRhdGlvblVwZGF0ZShbdXBkYXRlQmxvY2tDb3B5XShXZWJLaXQ6OkNhbGxiYWNr
QmFzZTo6RXJyb3IgZXJyb3IpIHsKLSAgICAgICAgaWYgKHVwZGF0ZUJsb2NrQ29weSkKLSAgICAg
ICAgICAgIHVwZGF0ZUJsb2NrQ29weSgpOworICAgIFJldGFpblB0cjxXS1dlYlZpZXc+IHN0cm9u
Z1NlbGYgPSBzZWxmOworICAgIF9wYWdlLT5jYWxsQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRl
KFt1cGRhdGVCbG9ja0NvcHksIHdpdGhvdXRXYWl0aW5nRm9yQW5pbWF0ZWRSZXNpemUsIHN0cm9u
Z1NlbGZdKFdlYktpdDo6Q2FsbGJhY2tCYXNlOjpFcnJvciBlcnJvcikgeworICAgICAgICBpZiAo
IXVwZGF0ZUJsb2NrQ29weSkKKyAgICAgICAgICAgIHJldHVybjsKKworI2lmIFBMQVRGT1JNKElP
UykKKyAgICAgICAgaWYgKCF3aXRob3V0V2FpdGluZ0ZvckFuaW1hdGVkUmVzaXplICYmIHN0cm9u
Z1NlbGYtPl9keW5hbWljVmlld3BvcnRVcGRhdGVNb2RlICE9IFdlYktpdDo6RHluYW1pY1ZpZXdw
b3J0VXBkYXRlTW9kZTo6Tm90UmVzaXppbmcpIHsKKyAgICAgICAgICAgIHN0cm9uZ1NlbGYtPl9j
YWxsYmFja3NEZWZlcnJlZER1cmluZ1Jlc2l6ZS5hcHBlbmQoW3VwZGF0ZUJsb2NrQ29weV0gewor
ICAgICAgICAgICAgICAgIHVwZGF0ZUJsb2NrQ29weSgpOworICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICAKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorI2VuZGlmCisKKyAgICAg
ICAgdXBkYXRlQmxvY2tDb3B5KCk7CiAgICAgfSk7CiB9CiAKLS0gKHZvaWQpX2RvQWZ0ZXJOZXh0
UHJlc2VudGF0aW9uVXBkYXRlV2l0aG91dFdhaXRpbmdGb3JQYWludGluZzoodm9pZCAoXikodm9p
ZCkpdXBkYXRlQmxvY2sKKy8vIEV4ZWN1dGUgdGhlIHN1cHBsaWVkIGJsb2NrIGFmdGVyIHRoZSBu
ZXh0IHRyYW5zYWN0aW9uIGZyb20gdGhlIFdlYlByb2Nlc3MuCistICh2b2lkKV9kb0FmdGVyTmV4
dFByZXNlbnRhdGlvblVwZGF0ZToodm9pZCAoXikodm9pZCkpdXBkYXRlQmxvY2sKIHsKLSNpZiBQ
TEFURk9STShJT1MpCi0gICAgaWYgKCFbc2VsZiB1c2VzU3RhbmRhcmRDb250ZW50Vmlld10pIHsK
LSAgICAgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgdXBkYXRl
QmxvY2spOwotICAgICAgICByZXR1cm47Ci0gICAgfQotI2VuZGlmCisgICAgW3NlbGYgX2ludGVy
bmFsRG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGU6dXBkYXRlQmxvY2sgd2l0aG91dFdhaXRp
bmdGb3JQYWludGluZzpOTyB3aXRob3V0V2FpdGluZ0ZvckFuaW1hdGVkUmVzaXplOk5PXTsKK30K
KworLSAodm9pZClfZG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGVXaXRob3V0V2FpdGluZ0Zv
ckFuaW1hdGVkUmVzaXplRm9yVGVzdGluZzoodm9pZCAoXikodm9pZCkpdXBkYXRlQmxvY2sKK3sK
KyAgICBbc2VsZiBfaW50ZXJuYWxEb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZTp1cGRhdGVC
bG9jayB3aXRob3V0V2FpdGluZ0ZvclBhaW50aW5nOk5PIHdpdGhvdXRXYWl0aW5nRm9yQW5pbWF0
ZWRSZXNpemU6WUVTXTsKK30KIAotICAgIF9wYWdlLT5zZXRTaG91bGRTa2lwV2FpdGluZ0ZvclBh
aW50QWZ0ZXJOZXh0Vmlld0RpZE1vdmVUb1dpbmRvdyh0cnVlKTsKLSAgICBbc2VsZiBfZG9BZnRl
ck5leHRQcmVzZW50YXRpb25VcGRhdGU6dXBkYXRlQmxvY2tdOworLSAodm9pZClfZG9BZnRlck5l
eHRQcmVzZW50YXRpb25VcGRhdGVXaXRob3V0V2FpdGluZ0ZvclBhaW50aW5nOih2b2lkICheKSh2
b2lkKSl1cGRhdGVCbG9jaworeworICAgIFtzZWxmIF9pbnRlcm5hbERvQWZ0ZXJOZXh0UHJlc2Vu
dGF0aW9uVXBkYXRlOnVwZGF0ZUJsb2NrIHdpdGhvdXRXYWl0aW5nRm9yUGFpbnRpbmc6WUVTIHdp
dGhvdXRXYWl0aW5nRm9yQW5pbWF0ZWRSZXNpemU6Tk9dOwogfQogCiAtICh2b2lkKV9kb0FmdGVy
TmV4dFZpc2libGVDb250ZW50UmVjdFVwZGF0ZToodm9pZCAoXikodm9pZCkpdXBkYXRlQmxvY2sK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQ
cml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJp
dmF0ZS5oCmluZGV4IGU5NWE2NzMyOTBhZTQzMTg0MmZkZjE4Yzg3YzkyMDhkZWI0MzNlMjguLjY1
MjgxMmIxY2M5MzdkZjEyOTkxNTVjZWIwOWUxN2UzMWEzYzY3N2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaApAQCAtNDUz
LDYgKzQ1Myw3IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tSZWN0RWRnZSkg
ewogLSAoQ0dGbG9hdClfcGFnZVNjYWxlIFdLX0FQSV9BVkFJTEFCTEUoaW9zKDEwLjMpKTsKIAog
LSAodm9pZClfZG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGU6KHZvaWQgKF4pKHZvaWQpKXVw
ZGF0ZUJsb2NrIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsKKy0g
KHZvaWQpX2RvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlV2l0aG91dFdhaXRpbmdGb3JBbmlt
YXRlZFJlc2l6ZUZvclRlc3Rpbmc6KHZvaWQgKF4pKHZvaWQpKXVwZGF0ZUJsb2NrIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogLSAodm9pZClf
ZG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGVXaXRob3V0V2FpdGluZ0ZvclBhaW50aW5nOih2
b2lkICheKSh2b2lkKSl1cGRhdGVCbG9jayBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMi4z
KSwgaW9zKDEwLjMpKTsKIC0gKHZvaWQpX2RvQWZ0ZXJOZXh0VmlzaWJsZUNvbnRlbnRSZWN0VXBk
YXRlOih2b2lkICheKSh2b2lkKSl1cGRhdGVCbG9jayBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgx
MC4xMyksIGlvcygxMS4wKSk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xz
L0NoYW5nZUxvZwppbmRleCA2NjI3ODk0MzhkMmE5MzJkZDNjZGEyOWI1YTcwZGQ1YTA4MThmNzBl
Li4yMDYwZjZmNTFjNTk0YTZmNDY2ZjhmMGY3MTIyNWQzZDA1MDQ1Y2JjIDEwMDY0NAotLS0gYS9U
b29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIw
MTgtMDctMTAgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgZG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGUgc2hvdWxkIG5vdCBiZSBjYWxsZWQgd2hp
bGUgY29udGVudCBpcyBoaWRkZW4gZHVlIHRvIGFuaW1hdGVkIHJlc2l6ZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3NTAwCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS80MTI5NDEzOT4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIu
CisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0FuaW1hdGVkUmVz
aXplLm1tOgorICAgICAgICAoLVtBbmltYXRlZFJlc2l6ZVdlYlZpZXcgX2VuZEFuaW1hdGVkUmVz
aXplXSk6CisgICAgICAgIFNldCBkaWRFbmRBbmltYXRlZFJlc2l6ZSBiZWZvcmUgY2FsbGluZyBz
dXBlciwgYmVjYXVzZSBpdCBtYWtlcyB0aGUKKyAgICAgICAgbmV3IHRlc3QgZWFzaWVyIGFuZCBk
b2Vzbid0IGFmZmVjdCBhbnkgb2YgdGhlIGV4aXN0aW5nIG9uZXMuCisKKyAgICAgICAgKEFuaW1h
dGVkUmVzaXplQmxvY2tzVmlld3BvcnRGaXRDaGFuZ2VzKToKKyAgICAgICAgVGhpcyBkb0FmdGVy
TmV4dFByZXNlbnRhdGlvblVwZGF0ZSBpcyBhbHdheXMgY2FsbGVkIGR1cmluZyBhbmltYXRlZCBy
ZXNpemUsCisgICAgICAgIGFuZCB0aGVuIHN5bmNocm9ub3VzbHkgd2FpdGVkIGZvciwgc28gaXQg
L211c3QvIHVzZQorICAgICAgICBfZG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGVXaXRob3V0
V2FpdGluZ0ZvckFuaW1hdGVkUmVzaXplV2l0aFRlc3RpbmcuCisgICAgICAgIAorICAgICAgICAo
QW5pbWF0ZWRSZXNpemVCbG9ja3NEb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZSk6CisgICAg
ICAgIEFkZCBhIHRlc3QgZW5zdXJpbmcgdGhhdCBkb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0
ZSBpcyBkZWZlcnJlZAorICAgICAgICB1bnRpbCBlbmRBbmltYXRlZFJlc2l6ZSBpcyBjYWxsZWQu
CisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3ROYXZpZ2F0aW9uRGVsZWdhdGUu
bW06CisgICAgICAgICgtW1dLV2ViVmlldyBfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlv
bl0pOgorICAgICAgICBfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbiBpcyBzb21ldGlt
ZXMgY2FsbGVkIGR1cmluZyBhbmltYXRlZCByZXNpemUsCisgICAgICAgIGFuZCBzeW5jaHJvbm91
c2x5IHdhaXRzIGZvciBhIGRvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlLCBzbworICAgICAg
ICBpdCBjYW5ub3Qgd2FpdCBmb3IgdGhlIGFuaW1hdGVkIHJlc2l6ZSB0byBjb21wbGV0ZS4KKwog
MjAxOC0wNy0xMCAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAog
ICAgICAgICBbR1RLXVtXUEVdIFRlc3RXVEYgYW5kIFRlc3RKU0MgZmFpbCB0byBjb21waWxlIGR1
ZSB0byBtaXNzaW5nIGZvcndhcmRpbmcgaGVhZGVycwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BbmltYXRlZFJlc2l6ZS5tbSBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQW5pbWF0ZWRSZXNpemUubW0KaW5kZXggMjIxM2Jl
YWFhNmQ3ZjYyMTJiN2Q2ZjhjMTllOGJkMTU2ZTVhYzYwNy4uN2NjZmZiOTM1ZGNmN2JjYzQ0NWE1
MmVkMTFiMDJlMzNjYjZkN2IyMCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9BbmltYXRlZFJlc2l6ZS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL0FuaW1hdGVkUmVzaXplLm1tCkBAIC01MCw5ICs1MCw5IEBAIEBp
bXBsZW1lbnRhdGlvbiBBbmltYXRlZFJlc2l6ZVdlYlZpZXcKIAogLSAodm9pZClfZW5kQW5pbWF0
ZWRSZXNpemUKIHsKLSAgICBbc3VwZXIgX2VuZEFuaW1hdGVkUmVzaXplXTsKLQogICAgIGRpZEVu
ZEFuaW1hdGVkUmVzaXplID0gdHJ1ZTsKKworICAgIFtzdXBlciBfZW5kQW5pbWF0ZWRSZXNpemVd
OwogfQogCiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRpZENoYW5nZVNh
ZmVBcmVhU2hvdWxkQWZmZWN0T2JzY3VyZWRJbnNldHM6KEJPT0wpc2FmZUFyZWFTaG91bGRBZmZl
Y3RPYnNjdXJlZEluc2V0cwpAQCAtMTUyLDcgKzE1Miw3IEBAIFRFU1QoV2ViS2l0LCBBbmltYXRl
ZFJlc2l6ZUJsb2Nrc1ZpZXdwb3J0Rml0Q2hhbmdlcykKICAgICBbd2luZG93IGFkZFN1YnZpZXc6
d2ViVmlldy5nZXQoKV07CiAgICAgW3dpbmRvdyBzZXRIaWRkZW46Tk9dOwogCi0gICAgW3dlYlZp
ZXcgX2JlZ2luQW5pbWF0ZWRSZXNpemVXaXRoVXBkYXRlczpeIHsKKyAgICBbd2ViVmlldyBfYmVn
aW5BbmltYXRlZFJlc2l6ZVdpdGhVcGRhdGVzOl57CiAgICAgICAgIFt3ZWJWaWV3IHNldEZyYW1l
OkNHUmVjdE1ha2UoMCwgMCwgW3dlYlZpZXcgZnJhbWVdLnNpemUud2lkdGggKyAxMDAsIDQwMCld
OwogICAgIH1dOwogCkBAIC0xNjYsNyArMTY2LDcgQEAgVEVTVChXZWJLaXQsIEFuaW1hdGVkUmVz
aXplQmxvY2tzVmlld3BvcnRGaXRDaGFuZ2VzKQogICAgIC8vIFdhaXQgZm9yIGEgY29tbWl0IHRv
IGNvbWUgaW4gL2FmdGVyLyBsb2FkaW5nIHRoZSB2aWV3cG9ydC1maXQ9Y292ZXIKICAgICAvLyBw
YWdlLCBhbmQgZW5zdXJlIHRoYXQgd2UgZGlkbid0IGNhbGwgdGhlIFVJRGVsZWdhdGUgY2FsbGJh
Y2ssCiAgICAgLy8gYmVjYXVzZSB3ZSdyZSBzdGlsbCBpbiB0aGUgcmVzaXplLiBUaGVuLCBlbmQg
dGhlIHJlc2l6ZS4KLSAgICBbd2ViVmlldyBfZG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGU6
XiB7CisgICAgW3dlYlZpZXcgX2RvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlV2l0aG91dFdh
aXRpbmdGb3JBbmltYXRlZFJlc2l6ZUZvclRlc3Rpbmc6XnsKICAgICAgICAgRVhQRUNUX0ZBTFNF
KGRpZENoYW5nZVNhZmVBcmVhU2hvdWxkQWZmZWN0T2JzY3VyZWRJbnNldHMpOwogICAgICAgICBb
d2ViVmlldyBfZW5kQW5pbWF0ZWRSZXNpemVdOwogICAgIH1dOwpAQCAtMTc3LDcgKzE3Nyw3IEBA
IFRFU1QoV2ViS2l0LCBBbmltYXRlZFJlc2l6ZUJsb2Nrc1ZpZXdwb3J0Rml0Q2hhbmdlcykKICAg
ICAvLyBXYWl0IGZvciBvbmUgbW9yZSBjb21taXQgc28gdGhhdCB3ZSBzZWUgdGhlIHZpZXdwb3J0
LWZpdCBzdGF0ZQogICAgIC8vIGNoYW5nZSBhY3R1YWxseSB0YWtlIHBsYWNlIChwb3N0LXJlc2l6
ZSksIGFuZCBlbnN1cmUgdGhhdCBpdCBkb2VzLgogICAgIF9fYmxvY2sgYm9vbCBkaWRHZXRDb21t
aXRBZnRlckVuZEFuaW1hdGVkUmVzaXplID0gZmFsc2U7Ci0gICAgW3dlYlZpZXcgX2RvQWZ0ZXJO
ZXh0UHJlc2VudGF0aW9uVXBkYXRlOl4geworICAgIFt3ZWJWaWV3IF9kb0FmdGVyTmV4dFByZXNl
bnRhdGlvblVwZGF0ZTpeewogICAgICAgICBkaWRHZXRDb21taXRBZnRlckVuZEFuaW1hdGVkUmVz
aXplID0gdHJ1ZTsKICAgICB9XTsKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRpZEdl
dENvbW1pdEFmdGVyRW5kQW5pbWF0ZWRSZXNpemUpOwpAQCAtMjAxLDcgKzIwMSw3IEBAIFRFU1Qo
V2ViS2l0LCBPdmVycmlkZUxheW91dFNpemVDaGFuZ2VzRHVyaW5nQW5pbWF0ZWRSZXNpemVTdWNj
ZWVkKQogICAgIFt3aW5kb3cgYWRkU3Vidmlldzp3ZWJWaWV3LmdldCgpXTsKICAgICBbd2luZG93
IHNldEhpZGRlbjpOT107CiAKLSAgICBbd2ViVmlldyBfYmVnaW5BbmltYXRlZFJlc2l6ZVdpdGhV
cGRhdGVzOl4geworICAgIFt3ZWJWaWV3IF9iZWdpbkFuaW1hdGVkUmVzaXplV2l0aFVwZGF0ZXM6
XnsKICAgICAgICAgW3dlYlZpZXcgc2V0RnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCBbd2ViVmlldyBm
cmFtZV0uc2l6ZS53aWR0aCArIDEwMCwgNDAwKV07CiAgICAgfV07CiAKQEAgLTM0Nyw0ICszNDcs
NDEgQEAgVEVTVChXZWJLaXQsIFJlc2l6ZVdpdGhDb250ZW50SGlkZGVuQ29tcGxldGVzKQogICAg
IEVYUEVDVF9GQUxTRShjb250ZW50Vmlldy5oaWRkZW4pOwogfQogCisKK1RFU1QoV2ViS2l0LCBB
bmltYXRlZFJlc2l6ZUJsb2Nrc0RvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlKQoreworICAg
IGF1dG8gd2ViVmlldyA9IGNyZWF0ZUFuaW1hdGVkUmVzaXplV2ViVmlldygpOworICAgIFt3ZWJW
aWV3IHNldFVJRGVsZWdhdGU6d2ViVmlldy5nZXQoKV07CisKKyAgICAvLyBXZSBuZWVkIHRvIGhh
dmUgc29tZXRoaW5nIGxvYWRlZCBiZWZvcmUgYmVnaW5uaW5nIHRoZSBhbmltYXRlZAorICAgIC8v
IHJlc2l6ZSwgb3IgaXQgd2lsbCBiYWlsLgorICAgIFt3ZWJWaWV3IGxvYWRIVE1MU3RyaW5nOkAi
PGhlYWQ+PC9oZWFkPiIgYmFzZVVSTDpuaWxdOworICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JE
aWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIGF1dG8gd2luZG93ID0gYWRvcHROUyhbW1VJV2lu
ZG93IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgODAwLCA2MDApXSk7Cisg
ICAgW3dpbmRvdyBhZGRTdWJ2aWV3OndlYlZpZXcuZ2V0KCldOworICAgIFt3aW5kb3cgc2V0SGlk
ZGVuOk5PXTsKKworICAgIFt3ZWJWaWV3IF9iZWdpbkFuaW1hdGVkUmVzaXplV2l0aFVwZGF0ZXM6
XnsKKyAgICAgICAgW3dlYlZpZXcgc2V0RnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCBbd2ViVmlldyBm
cmFtZV0uc2l6ZS53aWR0aCArIDEwMCwgNDAwKV07CisgICAgfV07CisKKyAgICBfX2Jsb2NrIGJv
b2wgZGlkR2V0Q29tbWl0QWZ0ZXJFbmRBbmltYXRlZFJlc2l6ZSA9IGZhbHNlOworCisgICAgLy8g
RGVzcGl0ZSBiZWluZyBpbnZva2VkIGZpcnN0LCB0aGlzIGRvQWZ0ZXJOZXh0UHJlc2VudGF0aW9u
VXBkYXRlCisgICAgLy8gc2hvdWxkIGJlIGRlZmVycmVkIHVudGlsIGFmdGVyIHdlIGNhbGwgZW5k
QW5pbWF0ZWRSZXNpemUsIGluc2lkZQorICAgIC8vIHRoZSBiZWxvdyBfZG9BZnRlck5leHRQcmVz
ZW50YXRpb25VcGRhdGVXaXRob3V0V2FpdGluZ0ZvckFuaW1hdGVkUmVzaXplLgorICAgIFt3ZWJW
aWV3IF9kb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZTpeeworICAgICAgICBFWFBFQ1RfVFJV
RShkaWRFbmRBbmltYXRlZFJlc2l6ZSk7CisgICAgICAgIGRpZEdldENvbW1pdEFmdGVyRW5kQW5p
bWF0ZWRSZXNpemUgPSB0cnVlOworICAgIH1dOworCisgICAgW3dlYlZpZXcgX2RvQWZ0ZXJOZXh0
UHJlc2VudGF0aW9uVXBkYXRlV2l0aG91dFdhaXRpbmdGb3JBbmltYXRlZFJlc2l6ZUZvclRlc3Rp
bmc6XnsKKyAgICAgICAgW3dlYlZpZXcgX2VuZEFuaW1hdGVkUmVzaXplXTsKKyAgICB9XTsKKwor
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkRW5kQW5pbWF0ZWRSZXNpemUpOworICAg
IFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkR2V0Q29tbWl0QWZ0ZXJFbmRBbmltYXRlZFJl
c2l6ZSk7Cit9CisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2Nv
YS9UZXN0TmF2aWdhdGlvbkRlbGVnYXRlLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9U
ZXN0TmF2aWdhdGlvbkRlbGVnYXRlLm1tCmluZGV4IDRkNWJjOGI4MTQ0MmUzMjEwNDRkNTdjYTU4
MDA2YzUyMzIzMDg5MGIuLjBlYmRiNmM5YmM4Njc4ZmNkNzZjNjVjZTk4NmZhMzMxZjU2Y2U0YWIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdE5hdmlnYXRpb25EZWxl
Z2F0ZS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3ROYXZpZ2F0aW9uRGVs
ZWdhdGUubW0KQEAgLTExOCw3ICsxMTgsNyBAQCAtICh2b2lkKV90ZXN0X3dhaXRGb3JEaWRGaW5p
c2hOYXZpZ2F0aW9uCiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgX19ibG9jayBib29sIHByZXNl
bnRhdGlvblVwZGF0ZUhhcHBlbmVkID0gZmFsc2U7Ci0gICAgW3NlbGYgX2RvQWZ0ZXJOZXh0UHJl
c2VudGF0aW9uVXBkYXRlOl57CisgICAgW3NlbGYgX2RvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBk
YXRlV2l0aG91dFdhaXRpbmdGb3JBbmltYXRlZFJlc2l6ZUZvclRlc3Rpbmc6XnsKICAgICAgICAg
cHJlc2VudGF0aW9uVXBkYXRlSGFwcGVuZWQgPSB0cnVlOwogICAgIH1dOwogICAgIFRlc3RXZWJL
aXRBUEk6OlV0aWw6OnJ1bigmcHJlc2VudGF0aW9uVXBkYXRlSGFwcGVuZWQpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>