<?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>139465</bug_id>
          
          <creation_ts>2014-12-09 16:38:08 -0800</creation_ts>
          <short_desc>Restore interface state when stopping optimized fullscreen.</short_desc>
          <delta_ts>2014-12-11 09:54:55 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>iPhone / iPad</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jeremy Jones">jeremyj-wk</reporter>
          <assigned_to name="Jeremy Jones">jeremyj-wk</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jonlee</cc>
    
    <cc>mitz</cc>
    
    <cc>philipj</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1053990</commentid>
    <comment_count>0</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2014-12-09 16:38:08 -0800</bug_when>
    <thetext>Restore interface state when stopping optimized fullscreen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053991</commentid>
    <comment_count>1</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2014-12-09 16:41:10 -0800</bug_when>
    <thetext>rdar://problem/18878722</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053994</commentid>
    <comment_count>2</comment_count>
      <attachid>242976</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2014-12-09 16:56:06 -0800</bug_when>
    <thetext>Created attachment 242976
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053997</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-09 16:59:03 -0800</bug_when>
    <thetext>Attachment 242976 did not pass style-queue:


ERROR: Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:910:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit2/UIProcess/Cocoa/UIDelegate.h:90:  Please declare enum bitfields as unsigned integral types.  [runtime/enum_bitfields] [5]
Total errors found: 2 in 13 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>1054035</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-12-09 21:41:11 -0800</bug_when>
    <thetext>WebKit doesn&apos;t really have any concept of tab, so it is weird to be adding it here. Can you explain why this is necessary?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054039</commentid>
    <comment_count>5</comment_count>
      <attachid>242976</attachid>
    <who name="">mitz</who>
    <bug_when>2014-12-09 22:25:35 -0800</bug_when>
    <thetext>Comment on attachment 242976
Patch

Tabs aren’t a WebKit concept so at least the terminology in most of this patch is wrong. The new method seems similar to -webViewFocus: in the legacy WebUIDelegate, but the boolean parameter suggests that it’s different. But it seems strange to have an “animate” parameter to this delegate method. The delegate can implement a UI where animation doesn’t make sense, or everything is always animated. So perhaps the right delegate method for this should be specifically about the optimized full screen video scenario and just tell the delegate what happened (some playback mode was exited in some way).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054336</commentid>
    <comment_count>6</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2014-12-10 16:00:57 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; WebKit doesn&apos;t really have any concept of tab, so it is weird to be adding
&gt; it here. Can you explain why this is necessary?

I guess &quot;tab&quot; is too concrete. It is about making sure the page that optimized fullscreen animates back into is visible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054338</commentid>
    <comment_count>7</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2014-12-10 16:02:06 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 242976 [details]
&gt; Patch
&gt; 
&gt; Tabs aren’t a WebKit concept so at least the terminology in most of this
&gt; patch is wrong. The new method seems similar to -webViewFocus: in the legacy
&gt; WebUIDelegate, but the boolean parameter suggests that it’s different. But
&gt; it seems strange to have an “animate” parameter to this delegate method. The
&gt; delegate can implement a UI where animation doesn’t make sense, or
&gt; everything is always animated. So perhaps the right delegate method for this
&gt; should be specifically about the optimized full screen video scenario and
&gt; just tell the delegate what happened (some playback mode was exited in some
&gt; way).

How about -fullscreenMayReturnToInline which describes the event that is happening. Which is basically saying that fullscreen may return to inline at any time, so get the interface ready for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054339</commentid>
    <comment_count>8</comment_count>
      <attachid>243076</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2014-12-10 16:02:59 -0800</bug_when>
    <thetext>Created attachment 243076
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054363</commentid>
    <comment_count>9</comment_count>
      <attachid>243076</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-12-10 17:24:18 -0800</bug_when>
    <thetext>Comment on attachment 243076
Patch

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

&gt; Source/WebKit2/ChangeLog:8
&gt; +        Implement fullscreenMayReturnToInline() to request the client application show the corresponding tab.

I think the &quot;may&quot; is a a bit vague and confusing for clients of the API, but we can fix that later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054437</commentid>
    <comment_count>10</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2014-12-11 00:40:49 -0800</bug_when>
    <thetext>The commit queue is reflecting no patches left to merge in-- it looks stuck. Can we get this checked in directly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054532</commentid>
    <comment_count>11</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2014-12-11 09:53:34 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; The commit queue is reflecting no patches left to merge in-- it looks stuck.
&gt; Can we get this checked in directly?

Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	Source/WebCore/ChangeLog
	M	Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm
	M	Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.h
	M	Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm
	M	Source/WebKit2/ChangeLog
	M	Source/WebKit2/UIProcess/API/APIUIClient.h
	M	Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegatePrivate.h
	M	Source/WebKit2/UIProcess/Cocoa/UIDelegate.h
	M	Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm
	M	Source/WebKit2/UIProcess/WebPageProxy.cpp
	M	Source/WebKit2/UIProcess/WebPageProxy.h
	M	Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.h
	M	Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm
Committed r177154</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242976</attachid>
            <date>2014-12-09 16:56:06 -0800</date>
            <delta_ts>2014-12-10 16:02:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139465-20141209165646.patch</filename>
            <type>text/plain</type>
            <size>13998</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3MDEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWFmN2ZmNzhmYzYxYzVm
NTdmMmQ2ZjczYmMxNWIyZjJhMTYwN2ViOC4uM2M4OTkzY2QxZmE0OThhNTA2YmQ4Y2Y5ZjkyY2Iz
YTJmZGRiZjJmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE5IEBACiAyMDE0LTEyLTA5ICBKZXJl
bXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KIAorICAgICAgICBSZXN0b3JlIGludGVyZmFj
ZSBzdGF0ZSB3aGVuIHN0b3BwaW5nIG9wdGltaXplZCBmdWxsc2NyZWVuLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5NDY1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViVmlk
ZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxz
Y3JlZW5Db250cm9sbGVyIHJlc3RvcmVJbnRlcmZhY2VDb250ZXh0Ol0pOiBhZGQgZW1wdHkgaW1w
bGVtZW50YXRpb24uCisgICAgICAgICogcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0Lmg6IGFkZCBkZWNsYXJhdGlvbgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9X
ZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbToKKyAgICAgICAgKFdlYlZpZGVvRnVs
bHNjcmVlbkludGVyZmFjZUFWS2l0OjplbnRlckZ1bGxzY3JlZW4pOiByZXN0b3JlIGludGVyZmFj
ZSBjb250ZXh0IHdoZW4gb3B0aW1pemVkIG1vZGUgZW5kcy4KKyAgICAgICAgKFdlYlZpZGVvRnVs
bHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXRJc09wdGltaXplZCk6IHJlc3RvcmUgaW50ZXJmYWNl
IGNvbnRleHQgd2hlbiBvcHRpbWl6ZWQgbW9kZSBlbmRzLgorCisyMDE0LTEyLTA5ICBKZXJlbXkg
Sm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKwogICAgICAgICBFbmFibGUgYWN0aXZhdGluZyBv
cHRpbWl6ZWQgZnVsbHNjcmVlbiBtb2RlIGZyb20gc3RhbmRhcmQgZnVsc2NyZWVuIG1vZGUuCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzkxMzcKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IDNiNGU3OTliNDc0OTBmMzMxMGM1ODQyZjMwNTYyYWFmNTJjOWE0NzkuLjYw
M2JjOTQ0M2ZiMjhjN2JiMTYyYWVmZWFjNTAzMTBlOTFkN2Q2NTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyOCBAQAogMjAxNC0xMi0wOSAgSmVyZW15IEpvbmVzICA8amVyZW15akBhcHBsZS5jb20+
CiAKKyAgICAgICAgUmVzdG9yZSBpbnRlcmZhY2Ugc3RhdGUgd2hlbiBzdG9wcGluZyBvcHRpbWl6
ZWQgZnVsbHNjcmVlbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEzOTQ2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEltcGxlbWVudCByZXN0b3JlSW50ZXJmYWNlQ29udGV4dCgpIHRvIHJlcXVlc3QgdGhl
IGNsaWVudCBhcHBsaWNhdGlvbiBzaG93IHRoZSBjb3JyZXNwb25kaW5nIHRhYi4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaDoKKyAgICAgICAgKEFQSTo6VUlDbGllbnQ6
OnNob3dUYWIpOiBhZGRlZAorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVn
YXRlUHJpdmF0ZS5oOiBhZGQgZGVjbGFyYXRpb24KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
VUlEZWxlZ2F0ZS5oOiBhZGQgZGVjbGFyYXRpb24KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
VUlEZWxlZ2F0ZS5tbToKKyAgICAgICAgKFdlYktpdDo6VUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUp
OiBjaGVjayBmb3IgcmVzcG9uZHMgdG8gc2VsZWN0b3IKKyAgICAgICAgKFdlYktpdDo6VUlEZWxl
Z2F0ZTo6VUlDbGllbnQ6OnNob3dUYWIpOiBhZGRlZAorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNob3dUYWIpOiBh
ZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6IGFkZCBkZWNsYXJhdGlv
bgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5
Lmg6IGFkZCBkZWNsYXJhdGlvbgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxs
c2NyZWVuTWFuYWdlclByb3h5Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWRlb0Z1bGxzY3Jl
ZW5NYW5hZ2VyUHJveHk6OnJlc3RvcmVJbnRlcmZhY2VDb250ZXh0KTogc2hvdyB0aGUgdGFiLgor
CisyMDE0LTEyLTA5ICBKZXJlbXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKwogICAgICAg
ICBFbmFibGUgYWN0aXZhdGluZyBvcHRpbWl6ZWQgZnVsbHNjcmVlbiBtb2RlIGZyb20gc3RhbmRh
cmQgZnVsc2NyZWVuIG1vZGUuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMzkxMzcKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0KaW5kZXgg
NjhhMDc3OGU3ODI3MGM5OTAxMWZmNzRjYmQ2OGI2NmNlNWIxZWIyZS4uMjMxNzgzMDE2MDc4ZTZj
NDYxNzdmYzcwY2YyODM0YzkxNWYyMmYxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0
Lm1tCkBAIC02Nyw2ICs2Nyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogLSAodm9pZClk
aWRFbnRlckZ1bGxzY3JlZW47CiAtICh2b2lkKWRpZEV4aXRGdWxsc2NyZWVuOwogLSAodm9pZClk
aWRDbGVhbnVwRnVsbHNjcmVlbjsKKy0gKHZvaWQpcmVzdG9yZUludGVyZmFjZUNvbnRleHQ6KEJP
T0wpYW5pbWF0ZWQ7CiBAZW5kCiAKIGNsYXNzIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJD
aGFuZ2VPYnNlcnZlciA6IHB1YmxpYyBXZWJWaWRlb0Z1bGxzY3JlZW5DaGFuZ2VPYnNlcnZlciB7
CkBAIC03Nyw2ICs3OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkRW50ZXJGdWxs
c2NyZWVuKCkgb3ZlcnJpZGUgeyBbX3RhcmdldCBkaWRFbnRlckZ1bGxzY3JlZW5dOyB9CiAgICAg
dmlydHVhbCB2b2lkIGRpZEV4aXRGdWxsc2NyZWVuKCkgb3ZlcnJpZGUgeyBbX3RhcmdldCBkaWRF
eGl0RnVsbHNjcmVlbl07IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xlYW51cEZ1bGxzY3JlZW4o
KSBvdmVycmlkZSB7IFtfdGFyZ2V0IGRpZENsZWFudXBGdWxsc2NyZWVuXTsgfQorICAgIHZpcnR1
YWwgdm9pZCByZXN0b3JlSW50ZXJmYWNlQ29udGV4dChib29sIGFuaW1hdGVkKSBvdmVycmlkZSB7
IFtfdGFyZ2V0IHJlc3RvcmVJbnRlcmZhY2VDb250ZXh0OmFuaW1hdGVkXTsgfQogfTsKIAogQGlt
cGxlbWVudGF0aW9uIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIKQEAgLTE3NCw2ICsxNzYs
MTEgQEAgcHVibGljOgogICAgIH0pOwogfQogCistICh2b2lkKXJlc3RvcmVJbnRlcmZhY2VDb250
ZXh0OihCT09MKWFuaW1hdGVkCit7CisgICAgVU5VU0VEX1BBUkFNKGFuaW1hdGVkKTsKK30KKwog
QGVuZAogCiAjZW5kaWYgLy8gX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCA4MDAw
MApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaAppbmRleCAyMDMyMDVhMWRjMjllYmQ4OGM0Y2Iy
ZTE2NjI2ZDA5ZWVlMDA4MTM4Li5hZGMxNmMzOWY1OGQ5M2QzZjhhODJkZWYzNjQxZGU5MDE5N2Jj
MDA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlQVZLaXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
V2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaApAQCAtNTksNiArNTksNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZEVudGVyRnVsbHNjcmVlbigpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkRXhpdEZ1bGxzY3JlZW4oKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZENs
ZWFudXBGdWxsc2NyZWVuKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZXN0b3JlSW50ZXJmYWNl
Q29udGV4dChib29sIGFuaW1hdGVkKSA9IDA7CiB9OwogCiBjbGFzcyBXZWJWaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCmluZGV4IDMwZjBh
OWVkZTFhMGM2ZmU5MDQ1N2JkNzkyMTgzYzg0ZTU4ODBhZTUuLjQxNjY5ODE2NTBlNTdhODUzMDNl
ZmY3ZmU0YjUzYzIxM2MxMTY4YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KQEAg
LTkwNiw4ICs5MDYsMTIgQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6
ZW50ZXJGdWxsc2NyZWVuKCkKICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3QgPSBudWxs
cHRyOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAg
ICAgICB9IHN0b3BDb21wbGV0aW9uSGFuZGxlcjpeKEFWUGxheWVyVmlld0NvbnRyb2xsZXJPcHRp
bWl6ZWRGdWxsc2NyZWVuU3RvcFJlYXNvbikgeworICAgICAgICAgICAgfSBzdG9wQ29tcGxldGlv
bkhhbmRsZXI6XihBVlBsYXllclZpZXdDb250cm9sbGVyT3B0aW1pemVkRnVsbHNjcmVlblN0b3BS
ZWFzb24gcmVhc29uKSB7CiAgICAgICAgICAgICAgICAgbV9leGl0Q29tcGxldGVkID0gdHJ1ZTsK
KyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAobV9mdWxsc2NyZWVuQ2hhbmdl
T2JzZXJ2ZXIgJiYgcmVhc29uID09IEFWUGxheWVyVmlld0NvbnRyb2xsZXJPcHRpbWl6ZWRGdWxs
c2NyZWVuU3RvcFJlYXNvblN0b3BwZWQpCisgICAgICAgICAgICAgICAgICAgIG1fZnVsbHNjcmVl
bkNoYW5nZU9ic2VydmVyLT5yZXN0b3JlSW50ZXJmYWNlQ29udGV4dCh0cnVlKTsKKwogICAgICAg
ICAgICAgICAgIGlmIChtX2V4aXRSZXF1ZXN0ZWQpIHsKICAgICAgICAgICAgICAgICAgICAgW21f
dmlkZW9MYXllckNvbnRhaW5lciBzZXRCYWNrZ3JvdW5kQ29sb3I6W1tnZXRVSUNvbG9yQ2xhc3Mo
KSBjbGVhckNvbG9yXSBDR0NvbG9yXV07CiAgICAgICAgICAgICAgICAgICAgIFtbbV9wbGF5ZXJW
aWV3Q29udHJvbGxlciB2aWV3XSBzZXRCYWNrZ3JvdW5kQ29sb3I6W2dldFVJQ29sb3JDbGFzcygp
IGNsZWFyQ29sb3JdXTsKQEAgLTExMDIsNiArMTEwNiw5IEBAIHZvaWQgV2ViVmlkZW9GdWxsc2Ny
ZWVuSW50ZXJmYWNlQVZLaXQ6OnNldElzT3B0aW1pemVkKGJvb2wgYWN0aXZlKQogICAgIAogICAg
IFttX3dpbmRvdyBzZXRIaWRkZW46bV9tb2RlICYgSFRNTE1lZGlhRWxlbWVudDo6VmlkZW9GdWxs
c2NyZWVuTW9kZU9wdGltaXplZF07CiAgICAgCisgICAgaWYgKG1fZnVsbHNjcmVlbkNoYW5nZU9i
c2VydmVyICYmIH5tX21vZGUgJiBIVE1MTWVkaWFFbGVtZW50OjpWaWRlb0Z1bGxzY3JlZW5Nb2Rl
T3B0aW1pemVkKQorICAgICAgICBtX2Z1bGxzY3JlZW5DaGFuZ2VPYnNlcnZlci0+cmVzdG9yZUlu
dGVyZmFjZUNvbnRleHQoZmFsc2UpOworCiAgICAgaWYgKCFtX2V4aXRSZXF1ZXN0ZWQgfHwgYWN0
aXZlKQogICAgICAgICByZXR1cm47CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0FQSVVJQ2xpZW50LmgKaW5kZXggNmFhZGI2YTY3NGNkZDM5MGQwNWE3Nzk0ODIwZmQ4ODUzY2M3
MDc3My4uOGYyNTBlY2IyZjYxM2QwYzZiMzE1ZmI1OWEzMjdlZWI0YTM4NzQ1OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaApAQCAtNzEsNiArNzEsNyBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViS2l0OjpXZWJQYWdlUHJveHk+IGNy
ZWF0ZU5ld1BhZ2UoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkq
LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpXaW5kb3dG
ZWF0dXJlcyYsIGNvbnN0IFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbkRhdGEmKSB7IHJldHVybiBu
dWxscHRyOyB9CiAgICAgdmlydHVhbCB2b2lkIHNob3dQYWdlKFdlYktpdDo6V2ViUGFnZVByb3h5
KikgeyB9CisgICAgdmlydHVhbCB2b2lkIHNob3dUYWIoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBi
b29sKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoV2ViS2l0OjpXZWJQYWdlUHJveHkqKSB7
IH0KIAogICAgIHZpcnR1YWwgdm9pZCB0YWtlRm9jdXMoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBX
S0ZvY3VzRGlyZWN0aW9uKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKaW5kZXggMTEwMmM2ZGZmMDFjZTZh
MjkxZDI3NTI3YjczYTU3NmVlNDM3MTIyZi4uMGNiN2UwZjA2NDhjYjExZmM0N2I3MjYwNWIyZWM4
OTdkMDkzYTBhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKQEAgLTQ1LDYgKzQ1LDcgQEAKIC0gKHZvaWQp
X3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcHJpbnRGcmFtZTooX1dLRnJhbWVIYW5kbGUg
KilmcmFtZTsKIAogLSAodm9pZClfd2ViVmlld0Nsb3NlOihXS1dlYlZpZXcgKil3ZWJWaWV3Owor
LSAodm9pZClfd2ViVmlld1Nob3dUYWI6KFdLV2ViVmlldyAqKXdlYlZpZXcgYW5pbWF0ZWQ6KEJP
T0wpYW5pbWF0ZWQ7CiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCiAtIChOU0FycmF5ICopX3dlYlZp
ZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgYWN0aW9uc0ZvckVsZW1lbnQ6KF9XS0FjdGl2YXRlZEVs
ZW1lbnRJbmZvICopZWxlbWVudCBkZWZhdWx0QWN0aW9uczooTlNBcnJheSAqKWRlZmF1bHRBY3Rp
b25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdh
dGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKaW5kZXgg
ZjNhNTZmYzY1MDYzZDVmMjE4ZDRhY2Y3N2JjMjVmNzJmNjM4MmZjNS4uNGE0ODhjZGI2MmE0NjBj
Yjc3OTk1YTRkOTYyNTI4YjUzZjk1MjkzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29jb2EvVUlEZWxlZ2F0ZS5oCkBAIC02MCw2ICs2MCw3IEBAIHByaXZhdGU6CiAgICAgICAgIC8v
IEFQSTo6VUlDbGllbnQKICAgICAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYktpdDo6V2ViUGFn
ZVByb3h5PiBjcmVhdGVOZXdQYWdlKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgV2ViS2l0OjpXZWJG
cmFtZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29y
ZTo6V2luZG93RmVhdHVyZXMmLCBjb25zdCBXZWJLaXQ6Ok5hdmlnYXRpb25BY3Rpb25EYXRhJikg
b3ZlcnJpZGU7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBjbG9zZShXZWJLaXQ6OldlYlBhZ2VQcm94
eSopIG92ZXJyaWRlOworICAgICAgICB2aXJ0dWFsIHZvaWQgc2hvd1RhYihXZWJLaXQ6OldlYlBh
Z2VQcm94eSosIGJvb2wpIG92ZXJyaWRlOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuSmF2YVNj
cmlwdEFsZXJ0KFdlYktpdDo6V2ViUGFnZVByb3h5KiwgY29uc3QgV1RGOjpTdHJpbmcmLCBXZWJL
aXQ6OldlYkZyYW1lUHJveHkqLCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IGNvbXBsZXRpb25IYW5k
bGVyKSBvdmVycmlkZTsKICAgICAgICAgdmlydHVhbCB2b2lkIHJ1bkphdmFTY3JpcHRDb25maXJt
KFdlYktpdDo6V2ViUGFnZVByb3h5KiwgY29uc3QgV1RGOjpTdHJpbmcmLCBXZWJLaXQ6OldlYkZy
YW1lUHJveHkqLCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKGJvb2wpPiBjb21wbGV0aW9uSGFuZGxlcikg
b3ZlcnJpZGU7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBydW5KYXZhU2NyaXB0UHJvbXB0KFdlYktp
dDo6V2ViUGFnZVByb3h5KiwgY29uc3QgV1RGOjpTdHJpbmcmLCBjb25zdCBXVEY6OlN0cmluZyYs
IFdlYktpdDo6V2ViRnJhbWVQcm94eSosIHN0ZDo6ZnVuY3Rpb248dm9pZCAoY29uc3QgV1RGOjpT
dHJpbmcmKT4gY29tcGxldGlvbkhhbmRsZXIpIG92ZXJyaWRlOwpAQCAtODYsNiArODcsNyBAQCBw
cml2YXRlOgogICAgICAgICBib29sIHdlYlZpZXdEZWNpZGVXZWJBcHBsaWNhdGlvbkNhY2hlUXVv
dGFGb3JTZWN1cml0eU9yaWdpbkN1cnJlbnRRdW90YVRvdGFsQnl0ZXNOZWVkZWQgOiAxOwogICAg
ICAgICBib29sIHdlYlZpZXdQcmludEZyYW1lIDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3Q2xv
c2UgOiAxOworICAgICAgICBib29sIHdlYlZpZXdTaG93VGFiIDogMTsKICNpZiBQTEFURk9STShJ
T1MpCiAgICAgICAgIGJvb2wgd2ViVmlld0FjdGlvbnNGb3JFbGVtZW50RGVmYXVsdEFjdGlvbnMg
OiAxOwogICAgICAgICBib29sIHdlYlZpZXdEaWROb3RIYW5kbGVUYXBBc0NsaWNrQXRQb2ludCA6
IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0
ZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCmluZGV4
IDYwODU1M2JjNmU3Y2UxYTliNTgwNTExZTc5ZGJlMTZlZmFiYWMzOWYuLjEwOTgzNzQ5NzhkY2Zm
YWI0MDZiNGZjNDNhZTE3M2M3MzMzOWY1MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db2NvYS9VSURlbGVnYXRlLm1tCkBAIC03Miw2ICs3Miw3IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6
c2V0RGVsZWdhdGUoaWQgPFdLVUlEZWxlZ2F0ZT4gZGVsZWdhdGUpCiAgICAgbV9kZWxlZ2F0ZU1l
dGhvZHMud2ViVmlld0RlY2lkZVdlYkFwcGxpY2F0aW9uQ2FjaGVRdW90YUZvclNlY3VyaXR5T3Jp
Z2luQ3VycmVudFF1b3RhVG90YWxCeXRlc05lZWRlZCA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmRlY2lkZVdlYkFwcGxpY2F0aW9uQ2FjaGVRdW90YUZv
clNlY3VyaXR5T3JpZ2luOmN1cnJlbnRRdW90YTp0b3RhbEJ5dGVzTmVlZGVkOmRlY2lzaW9uSGFu
ZGxlcjopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3UHJpbnRGcmFtZSA9IFtkZWxl
Z2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnByaW50RnJhbWU6KV07
CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0Nsb3NlID0gW2RlbGVnYXRlIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXdDbG9zZTopXTsKKyAgICBtX2RlbGVnYXRlTWV0
aG9kcy53ZWJWaWV3U2hvd1RhYiA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKF93ZWJWaWV3U2hvd1RhYjphbmltYXRlZDopXTsKICNpZiBQTEFURk9STShJT1MpCiAgICAg
bV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0FjdGlvbnNGb3JFbGVtZW50RGVmYXVsdEFjdGlvbnMg
PSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzphY3Rpb25z
Rm9yRWxlbWVudDpkZWZhdWx0QWN0aW9uczopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJW
aWV3RGlkTm90SGFuZGxlVGFwQXNDbGlja0F0UG9pbnQgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1Nl
bGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpkaWROb3RIYW5kbGVUYXBBc0NsaWNrQXRQb2ludDop
XTsKQEAgLTI0MSw2ICsyNDIsMTggQEAgdm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6Y2xvc2Uo
V2ViS2l0OjpXZWJQYWdlUHJveHkqKQogICAgIFsoaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+KWRl
bGVnYXRlIF93ZWJWaWV3Q2xvc2U6bV91aURlbGVnYXRlLm1fd2ViVmlld107CiB9CiAKK3ZvaWQg
VUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnNob3dUYWIoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBib29s
IGFuaW1hdGVkKQoreworICAgIGlmICghbV91aURlbGVnYXRlLm1fZGVsZWdhdGVNZXRob2RzLndl
YlZpZXdTaG93VGFiKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgYXV0byBkZWxlZ2F0ZSA9
IG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlLmdldCgpOworICAgIGlmICghZGVsZWdhdGUpCisgICAg
ICAgIHJldHVybjsKKyAgICAKKyAgICBbKGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPilkZWxlZ2F0
ZSBfd2ViVmlld1Nob3dUYWI6bV91aURlbGVnYXRlLm1fd2ViVmlldyBhbmltYXRlZDphbmltYXRl
ZF07Cit9CisgICAgCiAjaWYgUExBVEZPUk0oSU9TKQogUmV0YWluUHRyPE5TQXJyYXk+IFVJRGVs
ZWdhdGU6OlVJQ2xpZW50OjphY3Rpb25zRm9yRWxlbWVudChfV0tBY3RpdmF0ZWRFbGVtZW50SW5m
byAqZWxlbWVudEluZm8sIFJldGFpblB0cjxOU0FycmF5PiBkZWZhdWx0QWN0aW9ucykKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggZTJkNWU0ZDUwMjBj
M2ZhZmNlZGQ0MTE1ZTg2Yjk0YTY3NjI0YTIyOC4uNjRjMzQ2ZmU2NGU3N2YxYWRkMjc0OGY5OTU0
ZjgwNmJhMGFlYTA5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAKQEAgLTMwODcsNiArMzA4NywxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2hvd1BhZ2UoKQog
ICAgIG1fdWlDbGllbnQtPnNob3dQYWdlKHRoaXMpOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6
c2hvd1RhYihib29sIGFuaW1hdGVkKQoreworICAgIG1fdWlDbGllbnQtPnNob3dUYWIodGhpcywg
YW5pbWF0ZWQpOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6Y2xvc2VQYWdlKGJvb2wgc3RvcFJl
c3BvbnNpdmVuZXNzVGltZXIpCiB7CiAgICAgaWYgKHN0b3BSZXNwb25zaXZlbmVzc1RpbWVyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDliNTVjMDc3MGFkMmE0
Y2Y5ZDVhY2ZjNGFhMGRjMTYzMmVkYzkzY2IuLjdmNGQ3NjAxOGJjOGI0NzljMmRjY2QzOWMyNjJl
YzAzMGEwYTdkMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAg
LTI2OCw2ICsyNjgsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBhZGRzVmlzaXRlZExpbmtzKCkgY29u
c3QgeyByZXR1cm4gbV9hZGRzVmlzaXRlZExpbmtzOyB9CiAgICAgdm9pZCBzZXRBZGRzVmlzaXRl
ZExpbmtzKGJvb2wgYWRkc1Zpc2l0ZWRMaW5rcykgeyBtX2FkZHNWaXNpdGVkTGlua3MgPSBhZGRz
VmlzaXRlZExpbmtzOyB9CiAKKyAgICB2b2lkIHNob3dUYWIoYm9vbCBhbmltYXRlZCk7CisKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIFdlYkluc3BlY3RvclByb3h5KiBpbnNwZWN0b3IoKTsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3Mv
V2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmgKaW5kZXggMzEyNGI2MjcwMzI5ZmU2Zjlh
MjM0MjI5YzUxZDIyNTkwOWJkNDY3Yi4uMjlmNTMzOGY4ZjllOGQyMWNhMzAyZTQ4MzM4YjY0ZjNl
MGI4ZmNhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oCkBAIC02NSw2ICs2NSw3IEBAIHBy
aXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRpZEVudGVyRnVsbHNjcmVlbigpIG92ZXJyaWRlOwog
ICAgIHZpcnR1YWwgdm9pZCBkaWRFeGl0RnVsbHNjcmVlbigpIG92ZXJyaWRlOwogICAgIHZpcnR1
YWwgdm9pZCBkaWRDbGVhbnVwRnVsbHNjcmVlbigpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9p
ZCByZXN0b3JlSW50ZXJmYWNlQ29udGV4dChib29sIGFuaW1hdGVkKSBvdmVycmlkZTsKICAgICAK
ICAgICAvLyBGdWxsc2NyZWVuTW9kZWwKICAgICB2aXJ0dWFsIHZvaWQgcGxheSgpIG92ZXJyaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxz
Y3JlZW5NYW5hZ2VyUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZp
ZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQppbmRleCA1ZjQ3NDQ1YTdlZWI0NTdjYmQwMzQ1
MmFmZjc2YzhhYjliZDgzMDA4Li5hYzJjOTM1OWI4Nzk0NTlmNjdhMWVlNzBjMjhmNDEwYmIxM2I4
YjhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVs
bHNjcmVlbk1hbmFnZXJQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQpAQCAtMTI2LDYgKzEyNiwxMSBAQCB2
b2lkIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6c2V0RXh0ZXJuYWxQbGF5YmFja1By
b3BlcnRpZXMoYm9vbCBlbmFibGVkLAogICAgIHNldEV4dGVybmFsUGxheWJhY2soZW5hYmxlZCwg
dHlwZSwgbG9jYWxpemVkRGV2aWNlTmFtZSk7CiB9CiAgICAgCit2b2lkIFdlYlZpZGVvRnVsbHNj
cmVlbk1hbmFnZXJQcm94eTo6cmVzdG9yZUludGVyZmFjZUNvbnRleHQoYm9vbCBhbmltYXRlZCkK
K3sKKyAgICBtX3BhZ2UtPnNob3dUYWIoYW5pbWF0ZWQpOworfQorCiB2b2lkIFdlYlZpZGVvRnVs
bHNjcmVlbk1hbmFnZXJQcm94eTo6cmVxdWVzdEV4aXRGdWxsc2NyZWVuKCkKIHsKICAgICBtX3Bh
Z2UtPnNlbmQoTWVzc2FnZXM6OldlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6OlJlcXVlc3RFeGl0
RnVsbHNjcmVlbigpLCBtX3BhZ2UtPnBhZ2VJRCgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243076</attachid>
            <date>2014-12-10 16:02:59 -0800</date>
            <delta_ts>2014-12-11 09:53:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139465-20141210160340.patch</filename>
            <type>text/plain</type>
            <size>14115</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3MDEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWFmN2ZmNzhmYzYxYzVm
NTdmMmQ2ZjczYmMxNWIyZjJhMTYwN2ViOC4uZmVjYjljN2ZkZmQzNDVkOGY2OTQ0ODI3MDI4MWJi
YTU0OGJhMzhmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE5IEBACiAyMDE0LTEyLTA5ICBKZXJl
bXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KIAorICAgICAgICBSZXN0b3JlIGludGVyZmFj
ZSBzdGF0ZSB3aGVuIHN0b3BwaW5nIG9wdGltaXplZCBmdWxsc2NyZWVuLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5NDY1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViVmlk
ZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxz
Y3JlZW5Db250cm9sbGVyIGZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZTpdKTogYWRkIGVtcHR5
IGltcGxlbWVudGF0aW9uLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdC5oOiBhZGQgZGVjbGFyYXRpb24KKyAgICAgICAgKiBwbGF0Zm9ybS9p
b3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW06CisgICAgICAgIChXZWJWaWRl
b0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZW50ZXJGdWxsc2NyZWVuKTogcmVzdG9yZSBpbnRl
cmZhY2UgY29udGV4dCB3aGVuIG9wdGltaXplZCBtb2RlIGVuZHMuCisgICAgICAgIChXZWJWaWRl
b0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2V0SXNPcHRpbWl6ZWQpOiByZXN0b3JlIGludGVy
ZmFjZSBjb250ZXh0IHdoZW4gb3B0aW1pemVkIG1vZGUgZW5kcy4KKworMjAxNC0xMi0wOSAgSmVy
ZW15IEpvbmVzICA8amVyZW15akBhcHBsZS5jb20+CisKICAgICAgICAgRW5hYmxlIGFjdGl2YXRp
bmcgb3B0aW1pemVkIGZ1bGxzY3JlZW4gbW9kZSBmcm9tIHN0YW5kYXJkIGZ1bHNjcmVlbiBtb2Rl
LgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5MTM3
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwppbmRleCAzYjRlNzk5YjQ3NDkwZjMzMTBjNTg0MmYzMDU2MmFhZjUyYzlhNDc5
Li5jODYzZjc3ODJjMWY2YzdjNmZmZjM2MTdhMTE2MjI1ZjMyZWFlZTU2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDUgKzEsMjggQEAKIDIwMTQtMTItMDkgIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUu
Y29tPgogCisgICAgICAgIFJlc3RvcmUgaW50ZXJmYWNlIHN0YXRlIHdoZW4gc3RvcHBpbmcgb3B0
aW1pemVkIGZ1bGxzY3JlZW4uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMzk0NjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbXBsZW1lbnQgZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lKCkgdG8gcmVx
dWVzdCB0aGUgY2xpZW50IGFwcGxpY2F0aW9uIHNob3cgdGhlIGNvcnJlc3BvbmRpbmcgdGFiLgor
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oOgorICAgICAgICAoQVBJOjpV
SUNsaWVudDo6ZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lKTogYWRkZWQKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaDogYWRkIGRlY2xhcmF0aW9u
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaDogYWRkIGRlY2xhcmF0aW9u
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW06CisgICAgICAgIChXZWJL
aXQ6OlVJRGVsZWdhdGU6OnNldERlbGVnYXRlKTogY2hlY2sgZm9yIHJlc3BvbmRzIHRvIHNlbGVj
dG9yCisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpmdWxsc2NyZWVuTWF5
UmV0dXJuVG9JbmxpbmUpOiBhZGRlZAorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmZ1bGxzY3JlZW5NYXlSZXR1cm5U
b0lubGluZSk6IGFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDogYWRk
IGRlY2xhcmF0aW9uCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5N
YW5hZ2VyUHJveHkuaDogYWRkIGRlY2xhcmF0aW9uCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9X
ZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6OldlYlZp
ZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6ZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lKTog
c2hvdyB0aGUgdGFiLgorCisyMDE0LTEyLTA5ICBKZXJlbXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxl
LmNvbT4KKwogICAgICAgICBFbmFibGUgYWN0aXZhdGluZyBvcHRpbWl6ZWQgZnVsbHNjcmVlbiBt
b2RlIGZyb20gc3RhbmRhcmQgZnVsc2NyZWVuIG1vZGUuCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzkxMzcKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVy
QVZLaXQubW0KaW5kZXggNjhhMDc3OGU3ODI3MGM5OTAxMWZmNzRjYmQ2OGI2NmNlNWIxZWIyZS4u
NTFjNGEzYjM0YTZhOGQzYWRlNTkxMjUwOGFlYzYxNGUwZDM5OWY4ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktp
dC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVu
Q29udHJvbGxlckFWS2l0Lm1tCkBAIC02Nyw2ICs2Nyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogLSAodm9pZClkaWRFbnRlckZ1bGxzY3JlZW47CiAtICh2b2lkKWRpZEV4aXRGdWxsc2Ny
ZWVuOwogLSAodm9pZClkaWRDbGVhbnVwRnVsbHNjcmVlbjsKKy0gKHZvaWQpZnVsbHNjcmVlbk1h
eVJldHVyblRvSW5saW5lOwogQGVuZAogCiBjbGFzcyBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9s
bGVyQ2hhbmdlT2JzZXJ2ZXIgOiBwdWJsaWMgV2ViVmlkZW9GdWxsc2NyZWVuQ2hhbmdlT2JzZXJ2
ZXIgewpAQCAtNzcsNiArNzgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZEVudGVy
RnVsbHNjcmVlbigpIG92ZXJyaWRlIHsgW190YXJnZXQgZGlkRW50ZXJGdWxsc2NyZWVuXTsgfQog
ICAgIHZpcnR1YWwgdm9pZCBkaWRFeGl0RnVsbHNjcmVlbigpIG92ZXJyaWRlIHsgW190YXJnZXQg
ZGlkRXhpdEZ1bGxzY3JlZW5dOyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZENsZWFudXBGdWxsc2Ny
ZWVuKCkgb3ZlcnJpZGUgeyBbX3RhcmdldCBkaWRDbGVhbnVwRnVsbHNjcmVlbl07IH0KKyAgICB2
aXJ0dWFsIHZvaWQgZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lKCkgb3ZlcnJpZGUgeyBbX3Rh
cmdldCBmdWxsc2NyZWVuTWF5UmV0dXJuVG9JbmxpbmVdOyB9CiB9OwogCiBAaW1wbGVtZW50YXRp
b24gV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlcgpAQCAtMTc0LDYgKzE3NiwxMCBAQCBwdWJs
aWM6CiAgICAgfSk7CiB9CiAKKy0gKHZvaWQpZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lCit7
Cit9CisKIEBlbmQKIAogI2VuZGlmIC8vIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVE
IDwgODAwMDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRl
b0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmgKaW5kZXggMjAzMjA1YTFkYzI5ZWJk
ODhjNGNiMmUxNjYyNmQwOWVlZTAwODEzOC4uNDc5ZDNhODQ4YTc5YWViNDZlOWU0ZmVlY2ZmZGY0
YTdkOWUxMDk2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmgKQEAgLTU5LDYgKzU5LDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRFbnRlckZ1bGxzY3JlZW4oKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIGRpZEV4aXRGdWxsc2NyZWVuKCkgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBkaWRDbGVhbnVwRnVsbHNjcmVlbigpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZnVsbHNjcmVl
bk1heVJldHVyblRvSW5saW5lKCkgPSAwOwogfTsKIAogY2xhc3MgV2ViVmlkZW9GdWxsc2NyZWVu
SW50ZXJmYWNlQVZLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9X
ZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQppbmRleCAzMGYwYTll
ZGUxYTBjNmZlOTA0NTdiZDc5MjE4M2M4NGU1ODgwYWU1Li4xN2Q2YTczMDY0MWYxMmJmMjI3ZWY1
YzM5YzVhZjFmMjQwMWMyZTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCkBAIC05
MDYsOCArOTA2LDEyIEBAIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmVu
dGVyRnVsbHNjcmVlbigpCiAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ID0gbnVsbHB0
cjsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAg
ICAgfSBzdG9wQ29tcGxldGlvbkhhbmRsZXI6XihBVlBsYXllclZpZXdDb250cm9sbGVyT3B0aW1p
emVkRnVsbHNjcmVlblN0b3BSZWFzb24pIHsKKyAgICAgICAgICAgIH0gc3RvcENvbXBsZXRpb25I
YW5kbGVyOl4oQVZQbGF5ZXJWaWV3Q29udHJvbGxlck9wdGltaXplZEZ1bGxzY3JlZW5TdG9wUmVh
c29uIHJlYXNvbikgewogICAgICAgICAgICAgICAgIG1fZXhpdENvbXBsZXRlZCA9IHRydWU7Cisg
ICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgaWYgKG1fZnVsbHNjcmVlbkNoYW5nZU9i
c2VydmVyICYmIHJlYXNvbiA9PSBBVlBsYXllclZpZXdDb250cm9sbGVyT3B0aW1pemVkRnVsbHNj
cmVlblN0b3BSZWFzb25TdG9wcGVkKQorICAgICAgICAgICAgICAgICAgICBtX2Z1bGxzY3JlZW5D
aGFuZ2VPYnNlcnZlci0+ZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lKCk7CisKICAgICAgICAg
ICAgICAgICBpZiAobV9leGl0UmVxdWVzdGVkKSB7CiAgICAgICAgICAgICAgICAgICAgIFttX3Zp
ZGVvTGF5ZXJDb250YWluZXIgc2V0QmFja2dyb3VuZENvbG9yOltbZ2V0VUlDb2xvckNsYXNzKCkg
Y2xlYXJDb2xvcl0gQ0dDb2xvcl1dOwogICAgICAgICAgICAgICAgICAgICBbW21fcGxheWVyVmll
d0NvbnRyb2xsZXIgdmlld10gc2V0QmFja2dyb3VuZENvbG9yOltnZXRVSUNvbG9yQ2xhc3MoKSBj
bGVhckNvbG9yXV07CkBAIC0xMTAyLDYgKzExMDYsOSBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVl
bkludGVyZmFjZUFWS2l0OjpzZXRJc09wdGltaXplZChib29sIGFjdGl2ZSkKICAgICAKICAgICBb
bV93aW5kb3cgc2V0SGlkZGVuOm1fbW9kZSAmIEhUTUxNZWRpYUVsZW1lbnQ6OlZpZGVvRnVsbHNj
cmVlbk1vZGVPcHRpbWl6ZWRdOwogICAgIAorICAgIGlmIChtX2Z1bGxzY3JlZW5DaGFuZ2VPYnNl
cnZlciAmJiB+bV9tb2RlICYgSFRNTE1lZGlhRWxlbWVudDo6VmlkZW9GdWxsc2NyZWVuTW9kZU9w
dGltaXplZCkKKyAgICAgICAgbV9mdWxsc2NyZWVuQ2hhbmdlT2JzZXJ2ZXItPmZ1bGxzY3JlZW5N
YXlSZXR1cm5Ub0lubGluZSgpOworCiAgICAgaWYgKCFtX2V4aXRSZXF1ZXN0ZWQgfHwgYWN0aXZl
KQogICAgICAgICByZXR1cm47CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQ
SVVJQ2xpZW50LmgKaW5kZXggNmFhZGI2YTY3NGNkZDM5MGQwNWE3Nzk0ODIwZmQ4ODUzY2M3MDc3
My4uY2Y0ZjgxYzE1ZDZlNjI3Mjk0NzA3ODg1NzhjNjk2MTAyNjU3ZWY1YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaApAQCAtNzEsNiArNzEsNyBAQCBwdWJs
aWM6CiAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViS2l0OjpXZWJQYWdlUHJveHk+IGNyZWF0
ZU5ld1BhZ2UoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkqLCBj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpXaW5kb3dGZWF0
dXJlcyYsIGNvbnN0IFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbkRhdGEmKSB7IHJldHVybiBudWxs
cHRyOyB9CiAgICAgdmlydHVhbCB2b2lkIHNob3dQYWdlKFdlYktpdDo6V2ViUGFnZVByb3h5Kikg
eyB9CisgICAgdmlydHVhbCB2b2lkIGZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZShXZWJLaXQ6
OldlYlBhZ2VQcm94eSopIHsgfQogICAgIHZpcnR1YWwgdm9pZCBjbG9zZShXZWJLaXQ6OldlYlBh
Z2VQcm94eSopIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIHRha2VGb2N1cyhXZWJLaXQ6OldlYlBh
Z2VQcm94eSosIFdLRm9jdXNEaXJlY3Rpb24pIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAppbmRleCAxMTAy
YzZkZmYwMWNlNmEyOTFkMjc1MjdiNzNhNTc2ZWU0MzcxMjJmLi45Nzg2YzljZjEzNWViMmI3MzY3
MWYxODRhOWJjYmE0YmJjNjM4ZmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaApAQCAtNDUsNiArNDUsNyBA
QAogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBwcmludEZyYW1lOihfV0tG
cmFtZUhhbmRsZSAqKWZyYW1lOwogCiAtICh2b2lkKV93ZWJWaWV3Q2xvc2U6KFdLV2ViVmlldyAq
KXdlYlZpZXc7CistICh2b2lkKV93ZWJWaWV3RnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lOihX
S1dlYlZpZXcgKil3ZWJWaWV3OwogCiAjaWYgVEFSR0VUX09TX0lQSE9ORQogLSAoTlNBcnJheSAq
KV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGFjdGlvbnNGb3JFbGVtZW50OihfV0tBY3Rp
dmF0ZWRFbGVtZW50SW5mbyAqKWVsZW1lbnQgZGVmYXVsdEFjdGlvbnM6KE5TQXJyYXkgKilkZWZh
dWx0QWN0aW9uczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9V
SURlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5o
CmluZGV4IGYzYTU2ZmM2NTA2M2Q1ZjIxOGQ0YWNmNzdiYzI1ZjcyZjYzODJmYzUuLjJhZDVlNjVi
OGIxOWVjODgwNDZmMTcyNWE1YjJlMjNjMzYxODBlMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaApAQCAtNjAsNiArNjAsNyBAQCBwcml2YXRlOgogICAg
ICAgICAvLyBBUEk6OlVJQ2xpZW50CiAgICAgICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJLaXQ6
OldlYlBhZ2VQcm94eT4gY3JlYXRlTmV3UGFnZShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIFdlYktp
dDo6V2ViRnJhbWVQcm94eSosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFdlYkNvcmU6OldpbmRvd0ZlYXR1cmVzJiwgY29uc3QgV2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9u
RGF0YSYpIG92ZXJyaWRlOwogICAgICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoV2ViS2l0OjpXZWJQ
YWdlUHJveHkqKSBvdmVycmlkZTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGZ1bGxzY3JlZW5NYXlS
ZXR1cm5Ub0lubGluZShXZWJLaXQ6OldlYlBhZ2VQcm94eSopIG92ZXJyaWRlOwogICAgICAgICB2
aXJ0dWFsIHZvaWQgcnVuSmF2YVNjcmlwdEFsZXJ0KFdlYktpdDo6V2ViUGFnZVByb3h5KiwgY29u
c3QgV1RGOjpTdHJpbmcmLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkqLCBzdGQ6OmZ1bmN0aW9uPHZv
aWQgKCk+IGNvbXBsZXRpb25IYW5kbGVyKSBvdmVycmlkZTsKICAgICAgICAgdmlydHVhbCB2b2lk
IHJ1bkphdmFTY3JpcHRDb25maXJtKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgY29uc3QgV1RGOjpT
dHJpbmcmLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkqLCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKGJvb2wp
PiBjb21wbGV0aW9uSGFuZGxlcikgb3ZlcnJpZGU7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBydW5K
YXZhU2NyaXB0UHJvbXB0KFdlYktpdDo6V2ViUGFnZVByb3h5KiwgY29uc3QgV1RGOjpTdHJpbmcm
LCBjb25zdCBXVEY6OlN0cmluZyYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSosIHN0ZDo6ZnVuY3Rp
b248dm9pZCAoY29uc3QgV1RGOjpTdHJpbmcmKT4gY29tcGxldGlvbkhhbmRsZXIpIG92ZXJyaWRl
OwpAQCAtODYsNiArODcsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIHdlYlZpZXdEZWNpZGVX
ZWJBcHBsaWNhdGlvbkNhY2hlUXVvdGFGb3JTZWN1cml0eU9yaWdpbkN1cnJlbnRRdW90YVRvdGFs
Qnl0ZXNOZWVkZWQgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdQcmludEZyYW1lIDogMTsKICAg
ICAgICAgYm9vbCB3ZWJWaWV3Q2xvc2UgOiAxOworICAgICAgICBib29sIHdlYlZpZXdGdWxsc2Ny
ZWVuTWF5UmV0dXJuVG9JbmxpbmUgOiAxOwogI2lmIFBMQVRGT1JNKElPUykKICAgICAgICAgYm9v
bCB3ZWJWaWV3QWN0aW9uc0ZvckVsZW1lbnREZWZhdWx0QWN0aW9ucyA6IDE7CiAgICAgICAgIGJv
b2wgd2ViVmlld0RpZE5vdEhhbmRsZVRhcEFzQ2xpY2tBdFBvaW50IDogMTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KaW5kZXggNjA4NTUzYmM2ZTdjZTFh
OWI1ODA1MTFlNzlkYmUxNmVmYWJhYzM5Zi4uMDI5MmQ2ODcxYjhjYmVkYzg4MDhiNzgxYjZlYmYz
ZTk5ZTQ3YjI2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJ
RGVsZWdhdGUubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdh
dGUubW0KQEAgLTcyLDYgKzcyLDcgQEAgdm9pZCBVSURlbGVnYXRlOjpzZXREZWxlZ2F0ZShpZCA8
V0tVSURlbGVnYXRlPiBkZWxlZ2F0ZSkKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3RGVj
aWRlV2ViQXBwbGljYXRpb25DYWNoZVF1b3RhRm9yU2VjdXJpdHlPcmlnaW5DdXJyZW50UXVvdGFU
b3RhbEJ5dGVzTmVlZGVkID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Io
X3dlYlZpZXc6ZGVjaWRlV2ViQXBwbGljYXRpb25DYWNoZVF1b3RhRm9yU2VjdXJpdHlPcmlnaW46
Y3VycmVudFF1b3RhOnRvdGFsQnl0ZXNOZWVkZWQ6ZGVjaXNpb25IYW5kbGVyOildOwogICAgIG1f
ZGVsZWdhdGVNZXRob2RzLndlYlZpZXdQcmludEZyYW1lID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9T
ZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6cHJpbnRGcmFtZTopXTsKICAgICBtX2RlbGVnYXRl
TWV0aG9kcy53ZWJWaWV3Q2xvc2UgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3Rvcihfd2ViVmlld0Nsb3NlOildOworICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdGdWxs
c2NyZWVuTWF5UmV0dXJuVG9JbmxpbmUgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3Rvcihfd2ViVmlld0Z1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZTopXTsKICNpZiBQTEFU
Rk9STShJT1MpCiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0FjdGlvbnNGb3JFbGVtZW50
RGVmYXVsdEFjdGlvbnMgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihf
d2ViVmlldzphY3Rpb25zRm9yRWxlbWVudDpkZWZhdWx0QWN0aW9uczopXTsKICAgICBtX2RlbGVn
YXRlTWV0aG9kcy53ZWJWaWV3RGlkTm90SGFuZGxlVGFwQXNDbGlja0F0UG9pbnQgPSBbZGVsZWdh
dGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpkaWROb3RIYW5kbGVUYXBB
c0NsaWNrQXRQb2ludDopXTsKQEAgLTI0MSw2ICsyNDIsMTggQEAgdm9pZCBVSURlbGVnYXRlOjpV
SUNsaWVudDo6Y2xvc2UoV2ViS2l0OjpXZWJQYWdlUHJveHkqKQogICAgIFsoaWQgPFdLVUlEZWxl
Z2F0ZVByaXZhdGU+KWRlbGVnYXRlIF93ZWJWaWV3Q2xvc2U6bV91aURlbGVnYXRlLm1fd2ViVmll
d107CiB9CiAKK3ZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmZ1bGxzY3JlZW5NYXlSZXR1cm5U
b0lubGluZShXZWJLaXQ6OldlYlBhZ2VQcm94eSopCit7CisgICAgaWYgKCFtX3VpRGVsZWdhdGUu
bV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0Z1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZSkKKyAg
ICAgICAgcmV0dXJuOworICAgIAorICAgIGF1dG8gZGVsZWdhdGUgPSBtX3VpRGVsZWdhdGUubV9k
ZWxlZ2F0ZS5nZXQoKTsKKyAgICBpZiAoIWRlbGVnYXRlKQorICAgICAgICByZXR1cm47CisgICAg
CisgICAgWyhpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4pZGVsZWdhdGUgX3dlYlZpZXdGdWxsc2Ny
ZWVuTWF5UmV0dXJuVG9JbmxpbmU6bV91aURlbGVnYXRlLm1fd2ViVmlld107Cit9CisgICAgCiAj
aWYgUExBVEZPUk0oSU9TKQogUmV0YWluUHRyPE5TQXJyYXk+IFVJRGVsZWdhdGU6OlVJQ2xpZW50
OjphY3Rpb25zRm9yRWxlbWVudChfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyAqZWxlbWVudEluZm8s
IFJldGFpblB0cjxOU0FycmF5PiBkZWZhdWx0QWN0aW9ucykKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggZTJkNWU0ZDUwMjBjM2ZhZmNlZGQ0MTE1ZTg2
Yjk0YTY3NjI0YTIyOC4uY2RmMDk0MDgyYWIyYWYzNDg1YzIzM2NiNDUwOTQzY2I4NTI3ZGU1MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTMwODcsNiAr
MzA4NywxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2hvd1BhZ2UoKQogICAgIG1fdWlDbGllbnQt
PnNob3dQYWdlKHRoaXMpOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6ZnVsbHNjcmVlbk1heVJl
dHVyblRvSW5saW5lKCkKK3sKKyAgICBtX3VpQ2xpZW50LT5mdWxsc2NyZWVuTWF5UmV0dXJuVG9J
bmxpbmUodGhpcyk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5OjpjbG9zZVBhZ2UoYm9vbCBzdG9w
UmVzcG9uc2l2ZW5lc3NUaW1lcikKIHsKICAgICBpZiAoc3RvcFJlc3BvbnNpdmVuZXNzVGltZXIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggOWI1NWMwNzcwYWQy
YTRjZjlkNWFjZmM0YWEwZGMxNjMyZWRjOTNjYi4uMzk0MGNjZDlhOTg4ZWI5Mzg0MGViZDE2NGE3
YWJmZTUwODMxZDk2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApA
QCAtMjY4LDYgKzI2OCw4IEBAIHB1YmxpYzoKICAgICBib29sIGFkZHNWaXNpdGVkTGlua3MoKSBj
b25zdCB7IHJldHVybiBtX2FkZHNWaXNpdGVkTGlua3M7IH0KICAgICB2b2lkIHNldEFkZHNWaXNp
dGVkTGlua3MoYm9vbCBhZGRzVmlzaXRlZExpbmtzKSB7IG1fYWRkc1Zpc2l0ZWRMaW5rcyA9IGFk
ZHNWaXNpdGVkTGlua3M7IH0KIAorICAgIHZvaWQgZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5l
KCk7CisKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIFdlYkluc3BlY3RvclByb3h5KiBpbnNw
ZWN0b3IoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmgKaW5kZXggMzEyNGI2Mjcw
MzI5ZmU2ZjlhMjM0MjI5YzUxZDIyNTkwOWJkNDY3Yi4uNTA0OTVkZmQ3NmNmYzUwNmM0MWU3MDA0
OGE5NTZjNmRiYzJiMDFiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oCkBAIC02NSw2ICs2
NSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRpZEVudGVyRnVsbHNjcmVlbigpIG92
ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBkaWRFeGl0RnVsbHNjcmVlbigpIG92ZXJyaWRlOwog
ICAgIHZpcnR1YWwgdm9pZCBkaWRDbGVhbnVwRnVsbHNjcmVlbigpIG92ZXJyaWRlOworICAgIHZp
cnR1YWwgdm9pZCBmdWxsc2NyZWVuTWF5UmV0dXJuVG9JbmxpbmUoKSBvdmVycmlkZTsKICAgICAK
ICAgICAvLyBGdWxsc2NyZWVuTW9kZWwKICAgICB2aXJ0dWFsIHZvaWQgcGxheSgpIG92ZXJyaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxz
Y3JlZW5NYW5hZ2VyUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZp
ZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQppbmRleCA1ZjQ3NDQ1YTdlZWI0NTdjYmQwMzQ1
MmFmZjc2YzhhYjliZDgzMDA4Li45NTNmZjU1MTU2MzUxMzUxZTVkYTdjYWQ2MGY1ZWMxMWQyNzZi
YWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVs
bHNjcmVlbk1hbmFnZXJQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQpAQCAtMTI2LDYgKzEyNiwxMSBAQCB2
b2lkIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6c2V0RXh0ZXJuYWxQbGF5YmFja1By
b3BlcnRpZXMoYm9vbCBlbmFibGVkLAogICAgIHNldEV4dGVybmFsUGxheWJhY2soZW5hYmxlZCwg
dHlwZSwgbG9jYWxpemVkRGV2aWNlTmFtZSk7CiB9CiAgICAgCit2b2lkIFdlYlZpZGVvRnVsbHNj
cmVlbk1hbmFnZXJQcm94eTo6ZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lKCkKK3sKKyAgICBt
X3BhZ2UtPmZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZSgpOworfQorCiB2b2lkIFdlYlZpZGVv
RnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6cmVxdWVzdEV4aXRGdWxsc2NyZWVuKCkKIHsKICAgICBt
X3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6OlJlcXVlc3RF
eGl0RnVsbHNjcmVlbigpLCBtX3BhZ2UtPnBhZ2VJRCgpKTsK
</data>
<flag name="review"
          id="267927"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
    <flag name="commit-queue"
          id="267934"
          type_id="3"
          status="-"
          setter="jeremyj-wk"
    />
          </attachment>
      

    </bug>

</bugzilla>