<?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>58339</bug_id>
          
          <creation_ts>2011-04-12 10:06:55 -0700</creation_ts>
          <short_desc>Apple movie trailers play only audio</short_desc>
          <delta_ts>2011-04-12 17:04:56 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>Other</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>jer.noble</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>384085</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-04-12 10:06:55 -0700</bug_when>
    <thetext>Movie trailers at http://trailers.apple.com play only audio on OS X 10.7 unless the time is changed manually by dragging the timeline thumb.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384086</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-04-12 10:07:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/9237606&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384095</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-04-12 10:13:58 -0700</bug_when>
    <thetext>This happens because HTMLVideoElement::setDisplayMode assumes that a frame of video will be available immediately after calling a media engine&apos;s prepareForRendering function. This is not necessarily the case with AVFoundation so HTMLVideoElement continues to display the @poster, which is a 1x1 white pixel.

The solution is to add a mechanism for a media engine to let HTMLMediaElement know when the first frame is ready to render.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384438</commentid>
    <comment_count>3</comment_count>
      <attachid>89286</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-04-12 15:47:12 -0700</bug_when>
    <thetext>Created attachment 89286
Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384517</commentid>
    <comment_count>4</comment_count>
      <attachid>89286</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-04-12 17:03:22 -0700</bug_when>
    <thetext>Comment on attachment 89286
Proposed patch.

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

&gt; Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:494
&gt; +    if (!m_haveReportedFirstVideoFrame &amp;&amp; m_cachedHasVideo &amp;&amp; hasAvailableVideoFrame()) {
&gt; +        m_haveReportedFirstVideoFrame = true;
&gt; +        m_player-&gt;firstVideoFrameAvailable();
&gt; +    }
&gt; +

Is -[AVPlayerLayer isReadyForDisplay] KVO-compliant?  Because it seems a shame we have to wait for some other notification before checking to see if there&apos;s a frame ready to be rendered.
...
Apparently it is observable.  You could add a new observer so that we run through updateStates() as soon as a frame is ready.  But that&apos;s just an optimization and not strictly necessary.

Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384518</commentid>
    <comment_count>5</comment_count>
      <attachid>89286</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-04-12 17:04:33 -0700</bug_when>
    <thetext>Comment on attachment 89286
Proposed patch.

r=me with a comment in email</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384519</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-04-12 17:04:56 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/83667</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89286</attachid>
            <date>2011-04-12 15:47:12 -0700</date>
            <delta_ts>2011-04-12 17:04:33 -0700</delta_ts>
            <desc>Proposed patch.</desc>
            <filename>patch_4.txt</filename>
            <type>text/plain</type>
            <size>15335</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgzNjQ3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTIgQEAKKzIwMTEtMDQtMTIgIEVyaWMgQ2Fy
bHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQXBwbGUgbW92aWUgdHJhaWxlcnMgcGxheSBvbmx5IGF1
ZGlvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODMz
OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vOTIzNzYwNj4KKworICAgICAgICBObyBuZXcgdGVz
dHMsIGNvdmVyZWQgYnkgZXhpc3RpbmcgbGF5b3V0IGFuZCBtYW51YWwgdGVzdHMuCisKKyAgICAg
ICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKTogRG8gdGhlIGxvZ2dpbmcgYmVm
b3JlIGNhbGxpbmcgYW55IGZ1bmN0aW9ucy4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQ6Om1lZGlhUGxheWVyRmlyc3RWaWRlb0ZyYW1lQXZhaWxhYmxlKTogTmV3LCBpZiBzdGls
bCBkaXNwbGF5aW5nIHRoZSBwb3N0ZXIgCisgICAgICAgICAgICBjaGFuZ2UgdGhlIGRpc3BsYXkg
bW9kZSB0byBWaWRlbyBhbmQgZm9yY2UgYSBzdHlsZSByZWNhbGMgc28gdGhlIHZpZGVvIGxheWVy
IGdldHMgaG9va2VkCisgICAgICAgICAgICB1cCB0aGUgdGhlIHJlbmRlciB0cmVlLgorICAgICAg
ICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOiBEZWZpbmUgbmV3IGRpc3BsYXkgbW9kZSwgUG9z
dGVyV2FpdGluZ0ZvclZpZGVvLCB0byBzaWduYWwgdGhhdCB3ZQorICAgICAgICAgICAgd2FudCB0
byBzdG9wIGRpc3BsYXlpbmcgdGhlIHBvc3RlciBhcyBzb29uIGFzIHRoZSBmaXJzdCBmcmFtZSBv
ZiB2aWRlbyBpcyBhdmFpbGFibGUuCisKKyAgICAgICAgKiBodG1sL0hUTUxWaWRlb0VsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFZpZGVvRWxlbWVudDo6c2V0RGlzcGxheU1vZGUp
OiBDaGFuZ2UgZGlzcGxheSBtb2RlIHRvIFBvc3RlcldhaXRpbmdGb3JWaWRlbyB3aGVuCisgICAg
ICAgICAgICB3ZSB3YW50IHRvIGRpc3BsYXkgVmlkZW8gYnV0IHRoZSBtZWRpYSBlbmdpbmVzIGRv
ZXNuJ3QgaGF2ZSB0aGUgZmlyc3QgZnJhbWUgeWV0LgorICAgICAgICAqIGh0bWwvSFRNTFZpZGVv
RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFZpZGVvRWxlbWVudDo6c2hvdWxkRGlz
cGxheVBvc3RlckltYWdlKTogVXBkYXRlIHRvIHJldHVybiB0cnVlIHdoZW4gZGlzcGxheSBtb2Rl
CisgICAgICAgICAgICBpcyBQb3N0ZXJXYWl0aW5nRm9yVmlkZW8uCisKKyAgICAgICAgKiBtYW51
YWwtdGVzdHMvbWVkaWEtZWxlbWVudHMvdmlkZW8tcmVwbGFjZXMtcG9zdGVyLmh0bWw6IENsZWFu
IHVwIGJpdC1yb3QgZnJvbSBwYXRjaCBjaGFuZ2VzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OmZp
cnN0VmlkZW9GcmFtZUF2YWlsYWJsZSk6IE5ldywgcGFzc3Rocm91Z2ggZnJvbSBtZWRpYSBlbmdp
ZW4gdG8gZWxlbWVudC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5o
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGllbnQ6Om1lZGlhUGxheWVyRmlyc3RW
aWRlb0ZyYW1lQXZhaWxhYmxlKToKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpNZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb24pOiBJbml0aWFsaXplIAorICAgICAgICAgICAgbV9oYXZlUmVwb3J0ZWRGaXJz
dFZpZGVvRnJhbWUgYW5kIG1fc2hvdWxkRm9yY2VQbGF5YmFjay4KKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6cGxheSk6IERvbid0IGFjdHVhbGx5IHN0
YXJ0IHBsYXliYWNrIHVudGlsIHRoZSBmaXJzdAorICAgICAgICAgICAgZnJhbWUgb2YgdmlkZW8g
aGFzIGxvYWRlZCwgb3IgYXVkaW8gd2lsbCBiZWdpbiB0byBwbGF5IGJlZm9yZSB3ZSBjYW4gc2hv
dyB2aWRlby4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bjo6cGF1c2UpOiBDbGVhciBtX3Nob3VsZEZvcmNlUGxheWJhY2suCisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OnVwZGF0ZVN0YXRlcyk6IFdoZW4gZmly
c3QgZnJhbWUgb2YgdmlkZW8gaXMKKyAgICAgICAgICAgIGF2YWlsYWJsZSwgaW5mb3JtIGVsbWVu
dCBhbmQgYmVnaW4gcGxheWJhY2sgaWYgaXQgd2FzIHByZXZpb3VzbCByZXF1ZXN0ZWQuCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbi5oOgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9i
akM6OmRlc3Ryb3lDb250ZXh0VmlkZW9SZW5kZXJlcik6IENvcnJlY3QgbG9nZ2luZy4KKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZVZp
ZGVvTGF5ZXIpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakM6OnBsYXRmb3JtUGxheSk6IFJlbmFtZWQgZnJvbSBwbGF5LgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGxhdGZvcm1Q
YXVzZSk6IFJlbmFtZSBmcm9tIHBhdXNlLgorCiAyMDExLTA0LTExICBTdGVwaGFuaWUgTGV3aXMg
IDxzbGV3aXNAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCShyZXZpc2lvbiA4
MzYxOSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTIwMDAsMTMgKzIwMDAsMjQgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpt
ZWRpYVBsYXllclJlbmRlcgogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyRW5n
aW5lVXBkYXRlZChNZWRpYVBsYXllciopCiB7Ci0gICAgYmVnaW5Qcm9jZXNzaW5nTWVkaWFQbGF5
ZXJDYWxsYmFjaygpOwogICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxh
eWVyRW5naW5lVXBkYXRlZCIpOworICAgIGJlZ2luUHJvY2Vzc2luZ01lZGlhUGxheWVyQ2FsbGJh
Y2soKTsKICAgICBpZiAocmVuZGVyZXIoKSkKICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJv
bUVsZW1lbnQoKTsKICAgICBlbmRQcm9jZXNzaW5nTWVkaWFQbGF5ZXJDYWxsYmFjaygpOwogfQog
Cit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyRmlyc3RWaWRlb0ZyYW1lQXZhaWxh
YmxlKE1lZGlhUGxheWVyKikKK3sKKyAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50Ojpt
ZWRpYVBsYXllckZpcnN0VmlkZW9GcmFtZUF2YWlsYWJsZSIpOworICAgIGJlZ2luUHJvY2Vzc2lu
Z01lZGlhUGxheWVyQ2FsbGJhY2soKTsKKyAgICBpZiAoZGlzcGxheU1vZGUoKSA9PSBQb3N0ZXJX
YWl0aW5nRm9yVmlkZW8pIHsKKyAgICAgICAgc2V0RGlzcGxheU1vZGUoVmlkZW8pOworICAgICAg
ICBtZWRpYVBsYXllclJlbmRlcmluZ01vZGVDaGFuZ2VkKG1fcGxheWVyLmdldCgpKTsKKyAgICB9
CisgICAgZW5kUHJvY2Vzc2luZ01lZGlhUGxheWVyQ2FsbGJhY2soKTsKK30KKwogUGFzc1JlZlB0
cjxUaW1lUmFuZ2VzPiBIVE1MTWVkaWFFbGVtZW50OjpidWZmZXJlZCgpIGNvbnN0CiB7CiAgICAg
aWYgKCFtX3BsYXllcikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5o
CShyZXZpc2lvbiA4MzYxOSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTIsNyArMjEyLDcgQEAgcHJvdGVjdGVkOgogICAgIHZp
cnR1YWwgdm9pZCB3aWxsTW92ZVRvTmV3T3duZXJEb2N1bWVudCgpOwogICAgIHZpcnR1YWwgdm9p
ZCBkaWRNb3ZlVG9OZXdPd25lckRvY3VtZW50KCk7CiAKLSAgICBlbnVtIERpc3BsYXlNb2RlIHsg
VW5rbm93biwgTm9uZSwgUG9zdGVyLCBWaWRlbyB9OworICAgIGVudW0gRGlzcGxheU1vZGUgeyBV
bmtub3duLCBOb25lLCBQb3N0ZXIsIFBvc3RlcldhaXRpbmdGb3JWaWRlbywgVmlkZW8gfTsKICAg
ICBEaXNwbGF5TW9kZSBkaXNwbGF5TW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGlzcGxheU1vZGU7
IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0RGlzcGxheU1vZGUoRGlzcGxheU1vZGUgbW9kZSkgeyBt
X2Rpc3BsYXlNb2RlID0gbW9kZTsgfQogCkBAIC0yNTcsNiArMjU3LDcgQEAgcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJSZW5kZXJpbmdNb2RlQ2hhbmdlZChNZWRpYVBsYXll
ciopOwogI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIG1lZGlhUGxheWVyRW5naW5lVXBkYXRlZChN
ZWRpYVBsYXllciopOworICAgIHZpcnR1YWwgdm9pZCBtZWRpYVBsYXllckZpcnN0VmlkZW9GcmFt
ZUF2YWlsYWJsZShNZWRpYVBsYXllciopOwogCiAgICAgdm9pZCBsb2FkVGltZXJGaXJlZChUaW1l
cjxIVE1MTWVkaWFFbGVtZW50PiopOwogICAgIHZvaWQgYXN5bmNFdmVudFRpbWVyRmlyZWQoVGlt
ZXI8SFRNTE1lZGlhRWxlbWVudD4qKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZp
ZGVvRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlk
ZW9FbGVtZW50LmNwcAkocmV2aXNpb24gODM2MTkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxWaWRlb0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODgsNyArMTg4LDcgQEAgdm9p
ZCBIVE1MVmlkZW9FbGVtZW50OjpzZXREaXNwbGF5TW9kZShEaQogICAgICAgICAgICAgaWYgKG9s
ZE1vZGUgIT0gVmlkZW8gJiYgcGxheWVyKCkpCiAgICAgICAgICAgICAgICAgcGxheWVyKCktPnBy
ZXBhcmVGb3JSZW5kZXJpbmcoKTsKICAgICAgICAgICAgIGlmICghaGFzQXZhaWxhYmxlVmlkZW9G
cmFtZSgpKQotICAgICAgICAgICAgICAgIG1vZGUgPSBQb3N0ZXI7CisgICAgICAgICAgICAgICAg
bW9kZSA9IFBvc3RlcldhaXRpbmdGb3JWaWRlbzsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAo
b2xkTW9kZSAhPSBWaWRlbyAmJiBwbGF5ZXIoKSkKICAgICAgICAgcGxheWVyKCktPnByZXBhcmVG
b3JSZW5kZXJpbmcoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5o
CShyZXZpc2lvbiA4MzYxOSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoKICAgICAvLyBVc2Vk
IGJ5IGNhbnZhcyB0byBnYWluIHJhdyBwaXhlbCBhY2Nlc3MKICAgICB2b2lkIHBhaW50Q3VycmVu
dEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmKTsKIAotICAg
IGJvb2wgc2hvdWxkRGlzcGxheVBvc3RlckltYWdlKCkgY29uc3QgeyByZXR1cm4gZGlzcGxheU1v
ZGUoKSA9PSBQb3N0ZXI7IH0KKyAgICBib29sIHNob3VsZERpc3BsYXlQb3N0ZXJJbWFnZSgpIGNv
bnN0IHsgcmV0dXJuIGRpc3BsYXlNb2RlKCkgPT0gUG9zdGVyIHx8IGRpc3BsYXlNb2RlKCkgPT0g
UG9zdGVyV2FpdGluZ0ZvclZpZGVvOyB9CiAKIHByaXZhdGU6CiAgICAgSFRNTFZpZGVvRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L21hbnVhbC10ZXN0cy9tZWRpYS1lbGVtZW50cy92aWRlby1yZXBsYWNlcy1wb3N0ZXIuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvbWVkaWEtZWxlbWVudHMv
dmlkZW8tcmVwbGFjZXMtcG9zdGVyLmh0bWwJKHJldmlzaW9uIDgzNjE5KQorKysgU291cmNlL1dl
YkNvcmUvbWFudWFsLXRlc3RzL21lZGlhLWVsZW1lbnRzL3ZpZGVvLXJlcGxhY2VzLXBvc3Rlci5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC04LDggKzgsOCBAQAogICAgICAgc3RhcnQgcGxheWluZy48
L3A+CiAKICAgICA8dmlkZW8gd2lkdGg9IjQ4MCIgaGVpZ2h0PSIyNzAiIHR5cGU9InZpZGVvL21w
NCIKLSAgICAgICAgICAgIHNyYz0iLi4vLi4vLi4vTGF5b3V0VGVzdHMvbWVkaWEvY29udGVudC90
ZXN0Lm1wNCIKLSAgICAgICAgICAgIHBvc3Rlcj0iLi4vLi4vLi4vTGF5b3V0VGVzdHMvbWVkaWEv
Y29udGVudC9hYmUucG5nIiBhdXRvcGxheT4KKyAgICAgICAgICAgIHNyYz0iLi4vLi4vLi4vLi4v
TGF5b3V0VGVzdHMvbWVkaWEvY29udGVudC90ZXN0Lm1wNCIKKyAgICAgICAgICAgIHBvc3Rlcj0i
Li4vLi4vLi4vLi4vTGF5b3V0VGVzdHMvbWVkaWEvY29udGVudC9hYmUucG5nIiBhdXRvcGxheT4K
ICAgICA8L3ZpZGVvPgogICA8L2JvZHk+CiA8L2h0bWw+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCShyZXZpc2lvbiA4MzYxOSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtODUyLDYgKzg1MiwxMiBAQCB2b2lkIE1lZGlhUGxheWVyOjpwbGF5YmFj
a1N0YXRlQ2hhbmdlZCgpCiAgICAgICAgIG1fbWVkaWFQbGF5ZXJDbGllbnQtPm1lZGlhUGxheWVy
UGxheWJhY2tTdGF0ZUNoYW5nZWQodGhpcyk7CiB9CiAKK3ZvaWQgTWVkaWFQbGF5ZXI6OmZpcnN0
VmlkZW9GcmFtZUF2YWlsYWJsZSgpCit7CisgICAgaWYgKG1fbWVkaWFQbGF5ZXJDbGllbnQpCisg
ICAgICAgIG1fbWVkaWFQbGF5ZXJDbGllbnQtPm1lZGlhUGxheWVyRmlyc3RWaWRlb0ZyYW1lQXZh
aWxhYmxlKHRoaXMpOworfQorCiB9CiAKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCShyZXZpc2lvbiA4MzYxOSkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE0Myw2ICsxNDMsMTAgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIG1lZGlh
UGxheWVyRW5naW5lVXBkYXRlZChNZWRpYVBsYXllciopIHsgfQogCisgICAgLy8gVGhlIGZpcnN0
IGZyYW1lIG9mIHZpZGVvIGlzIGF2YWlsYWJsZSB0byByZW5kZXIuIEEgbWVkaWEgZW5naW5lIG5l
ZWQgb25seSBtYWtlIHRoaXMgY2FsbGJhY2sgaWYgdGhlCisgICAgLy8gZmlyc3QgZnJhbWUgaXMg
bm90IGF2YWlsYWJsZSBpbW1lZGlhdGVseSB3aGVuIHByZXBhcmVGb3JSZW5kZXJpbmcgaXMgY2Fs
bGVkLgorICAgIHZpcnR1YWwgdm9pZCBtZWRpYVBsYXllckZpcnN0VmlkZW9GcmFtZUF2YWlsYWJs
ZShNZWRpYVBsYXllciopIHsgfQorCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQog
ICAgIC8vIHdoZXRoZXIgdGhlIHJlbmRlcmluZyBzeXN0ZW0gY2FuIGFjY2VsZXJhdGUgdGhlIGRp
c3BsYXkgb2YgdGhpcyBNZWRpYVBsYXllci4KICAgICB2aXJ0dWFsIGJvb2wgbWVkaWFQbGF5ZXJS
ZW5kZXJpbmdDYW5CZUFjY2VsZXJhdGVkKE1lZGlhUGxheWVyKikgeyByZXR1cm4gZmFsc2U7IH0K
QEAgLTI1Nyw2ICsyNjEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByYXRlQ2hhbmdlZCgpOwogICAg
IHZvaWQgcGxheWJhY2tTdGF0ZUNoYW5nZWQoKTsKICAgICB2b2lkIGR1cmF0aW9uQ2hhbmdlZCgp
OworICAgIHZvaWQgZmlyc3RWaWRlb0ZyYW1lQXZhaWxhYmxlKCk7CiAKICAgICB2b2lkIHJlcGFp
bnQoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbi5jcHAJKHJldmlzaW9uIDgzNjE5KQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc0LDYgKzc0LDggQEAgTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uOjpNZWRpYVBsYQogICAgICwgbV9jYWNoZWRIYXNWaWRlbyhmYWxzZSkK
ICAgICAsIG1fY2FjaGVkSGFzQ2FwdGlvbnMoZmFsc2UpCiAgICAgLCBtX2lnbm9yZUxvYWRTdGF0
ZUNoYW5nZXMoZmFsc2UpCisgICAgLCBtX2hhdmVSZXBvcnRlZEZpcnN0VmlkZW9GcmFtZShmYWxz
ZSkKKyAgICAsIG1fc2hvdWxkRm9yY2VQbGF5YmFjayhmYWxzZSkKIHsKICAgICBMT0coTWVkaWEs
ICJNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbiglcCkiLCB0aGlzKTsKIH0KQEAgLTI0OCw2ICsyNTAsMjUgQEAgdm9pZCBNZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb246OnByZQogICAgIGNoZWNrUGxheWFiaWxpdHkoKTsKIH0K
IAordm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OnBsYXkoKQoreworICAgIExP
RyhNZWRpYSwgIk1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6cGxheSglcCkiLCB0aGlz
KTsKKworICAgIC8vIElmIHRoZSBmaWxlIGhhcyB2aWRlbywgZG9uJ3QgcmVxdWVzdCBwbGF5YmFj
ayB1bnRpbCB0aGUgZmlyc3QgZnJhbWUgb2YgdmlkZW8gaXMgcmVhZHkgdG8gZGlzcGxheQorICAg
IC8vIG9yIHRoZSBhdWRpbyBtYXkgc3RhcnQgcGxheWluZyBiZWZvcmUgd2UgY2FuIHJlbmRlciB2
aWRlby4KKyAgICBpZiAoIW1fY2FjaGVkSGFzVmlkZW8gfHwgaGFzQXZhaWxhYmxlVmlkZW9GcmFt
ZSgpKQorICAgICAgICBwbGF0Zm9ybVBsYXkoKTsKKyAgICBlbHNlCisgICAgICAgIG1fc2hvdWxk
Rm9yY2VQbGF5YmFjayA9IHRydWU7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uOjpwYXVzZSgpCit7CisgICAgTE9HKE1lZGlhLCAiTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uOjpwYXVzZSglcCkiLCB0aGlzKTsKKyAgICBtX3Nob3VsZEZvcmNlUGxheWJhY2sg
PSBmYWxzZTsKKyAgICBwbGF0Zm9ybVBhdXNlKCk7Cit9CisKIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uOjpwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0JikK
IHsKICAgICAvLyBUaGlzIGlzIHRoZSBiYXNlIGNsYXNzLCBvbmx5IG5lZWQgdG8gcmVtZW1iZXIg
dGhhdCBhIGZyYW1lIGhhcyBiZWVuIGRyYXduLgpAQCAtNDY2LDEyICs0ODcsMjIgQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OnVwZAogICAgIGlmIChpc1JlYWR5Rm9yVmlk
ZW9TZXR1cCgpICYmIGN1cnJlbnRSZW5kZXJpbmdNb2RlKCkgIT0gcHJlZmVycmVkUmVuZGVyaW5n
TW9kZSgpKQogICAgICAgICBzZXRVcFZpZGVvUmVuZGVyaW5nKCk7CiAKKyAgICBpZiAoIW1faGF2
ZVJlcG9ydGVkRmlyc3RWaWRlb0ZyYW1lICYmIG1fY2FjaGVkSGFzVmlkZW8gJiYgaGFzQXZhaWxh
YmxlVmlkZW9GcmFtZSgpKSB7CisgICAgICAgIG1faGF2ZVJlcG9ydGVkRmlyc3RWaWRlb0ZyYW1l
ID0gdHJ1ZTsKKyAgICAgICAgbV9wbGF5ZXItPmZpcnN0VmlkZW9GcmFtZUF2YWlsYWJsZSgpOwor
ICAgIH0KKwogICAgIGlmIChtX25ldHdvcmtTdGF0ZSAhPSBvbGROZXR3b3JrU3RhdGUpCiAgICAg
ICAgIG1fcGxheWVyLT5uZXR3b3JrU3RhdGVDaGFuZ2VkKCk7CiAKICAgICBpZiAobV9yZWFkeVN0
YXRlICE9IG9sZFJlYWR5U3RhdGUpCiAgICAgICAgIG1fcGxheWVyLT5yZWFkeVN0YXRlQ2hhbmdl
ZCgpOwogCisgICAgaWYgKG1fc2hvdWxkRm9yY2VQbGF5YmFjayAmJiBoYXNBdmFpbGFibGVWaWRl
b0ZyYW1lKCkpIHsKKyAgICAgICAgbV9zaG91bGRGb3JjZVBsYXliYWNrID0gZmFsc2U7CisgICAg
ICAgIHBsYXRmb3JtUGxheSgpOworICAgIH0KKwogICAgIExPRyhNZWRpYSwgIk1lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbjo6dXBkYXRlU3RhdGVzKCVwKSAtIGV4aXRpbmcgd2l0aCBuZXR3
b3JrU3RhdGUgPSAlaSwgcmVhZHlTdGF0ZSA9ICVpIiwgCiAgICAgICAgIHRoaXMsIHN0YXRpY19j
YXN0PGludD4obV9uZXR3b3JrU3RhdGUpLCBzdGF0aWNfY2FzdDxpbnQ+KG1fcmVhZHlTdGF0ZSkp
OwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb24uaAkocmV2aXNpb24gODM2MTkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEyMCw4ICsxMjAsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVh
bCB2b2lkIHByZXBhcmVUb1BsYXkoKTsKICAgICB2aXJ0dWFsIFBsYXRmb3JtTWVkaWEgcGxhdGZv
cm1NZWRpYSgpIGNvbnN0ID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCBwbGF5KCkgPSAwOwotICAg
IHZpcnR1YWwgdm9pZCBwYXVzZSgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcGxheSgpOworICAg
IHZpcnR1YWwgdm9pZCBwYXVzZSgpOwogCiAgICAgdmlydHVhbCBJbnRTaXplIG5hdHVyYWxTaXpl
KCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGhhc1ZpZGVvKCkgY29uc3QgeyByZXR1cm4gbV9j
YWNoZWRIYXNWaWRlbzsgfQpAQCAtMTg0LDYgKzE4NCw4IEBAIHByb3RlY3RlZDoKICAgICB9Owog
ICAgIHZpcnR1YWwgQVZBc3NldFN0YXR1cyBhc3NldFN0YXR1cygpIGNvbnN0ID0gMDsKIAorICAg
IHZpcnR1YWwgdm9pZCBwbGF0Zm9ybVBsYXkoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHBsYXRm
b3JtUGF1c2UoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNoZWNrUGxheWFiaWxpdHkoKSA9IDA7
CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVJhdGUoKSA9IDA7CiAgICAgdmlydHVhbCBmbG9hdCBy
YXRlKCkgY29uc3QgPSAwOwpAQCAtMjcwLDYgKzI3Miw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBt
X2NhY2hlZEhhc1ZpZGVvOwogICAgIGJvb2wgbV9jYWNoZWRIYXNDYXB0aW9uczsKICAgICBib29s
IG1faWdub3JlTG9hZFN0YXRlQ2hhbmdlczsKKyAgICBib29sIG1faGF2ZVJlcG9ydGVkRmlyc3RW
aWRlb0ZyYW1lOworICAgIGJvb2wgbV9zaG91bGRGb3JjZVBsYXliYWNrOwogfTsKIAogfQpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uT2JqQy5oCShyZXZpc2lvbiA4MzYxOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpD
LmgJKHdvcmtpbmcgY29weSkKQEAgLTczLDggKzczLDggQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1
YWwgUGxhdGZvcm1NZWRpYSBwbGF0Zm9ybU1lZGlhKCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFsIHZv
aWQgcGxheSgpOwotICAgIHZpcnR1YWwgdm9pZCBwYXVzZSgpOworICAgIHZpcnR1YWwgdm9pZCBw
bGF0Zm9ybVBsYXkoKTsKKyAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1QYXVzZSgpOwogICAgIHZp
cnR1YWwgZmxvYXQgY3VycmVudFRpbWUoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Vm9s
dW1lKGZsb2F0KTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q2xvc2VkQ2FwdGlvbnNWaXNpYmxlKGJv
b2wpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbk9iakMubW0JKHJldmlzaW9uIDgzNjE5KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakMubW0JKHdvcmtpbmcgY29weSkKQEAgLTIwMSw3ICsyMDEsNyBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6CiAgICAgaWYgKCFtX2ltYWdlR2VuZXJh
dG9yKQogICAgICAgICByZXR1cm47CiAKLSAgICBMT0coTWVkaWEsICJNZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDOjpkZXN0cm95Q29udGV4dFZpZGVvUmVuZGVyZXIoJXApIC0gZGVz
dHJveWluZyIsIHRoaXMsIG1faW1hZ2VHZW5lcmF0b3IuZ2V0KCkpOworICAgIExPRyhNZWRpYSwg
Ik1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmRlc3Ryb3lDb250ZXh0VmlkZW9S
ZW5kZXJlciglcCkgLSBkZXN0cm95aW5nICAlcCIsIHRoaXMsIG1faW1hZ2VHZW5lcmF0b3IuZ2V0
KCkpOwogCiAgICAgbV9pbWFnZUdlbmVyYXRvciA9IDA7CiB9CkBAIC0yMTQsNyArMjE0LDcgQEAg
dm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOgogICAgIGlmICghbV92aWRl
b0xheWVyKSB7CiAgICAgICAgIG1fdmlkZW9MYXllci5hZG9wdE5TKFtbQVZQbGF5ZXJMYXllciBh
bGxvY10gaW5pdF0pOwogICAgICAgICBbbV92aWRlb0xheWVyLmdldCgpIHNldFBsYXllcjptX2F2
UGxheWVyLmdldCgpXTsKLSAgICAgICAgTE9HKE1lZGlhLCAiTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uT2JqQzo6Y3JlYXRlVmlkZW9MYXllciglcCkgLSByZXR1cm5pbmciLCB0aGlzLCBt
X3ZpZGVvTGF5ZXIuZ2V0KCkpOworICAgICAgICBMT0coTWVkaWEsICJNZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVWaWRlb0xheWVyKCVwKSAtIHJldHVybmluZyAlcCIs
IHRoaXMsIG1fdmlkZW9MYXllci5nZXQoKSk7CiAgICAgfQogfQogCkBAIC0zNTEsOSArMzUxLDkg
QEAgUGxhdGZvcm1MYXllciogTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZAogICAgIHJldHVybiBt
X3ZpZGVvTGF5ZXIuZ2V0KCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQzo6cGxheSgpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6
OnBsYXRmb3JtUGxheSgpCiB7Ci0gICAgTE9HKE1lZGlhLCAiTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uT2JqQzo6cGxheSglcCkiLCB0aGlzKTsKKyAgICBMT0coTWVkaWEsICJNZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF0Zm9ybVBsYXkoJXApIiwgdGhpcyk7CiAg
ICAgaWYgKCFtZXRhRGF0YUF2YWlsYWJsZSgpKQogICAgICAgICByZXR1cm47CiAKQEAgLTM2Miw5
ICszNjIsOSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6CiAgICAg
c2V0RGVsYXlDYWxsYmFja3MoZmFsc2UpOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakM6OnBhdXNlKCkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQzo6cGxhdGZvcm1QYXVzZSgpCiB7Ci0gICAgTE9HKE1lZGlhLCAiTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGF1c2UoJXApIiwgdGhpcyk7CisgICAgTE9HKE1lZGlh
LCAiTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGxhdGZvcm1QYXVzZSglcCki
LCB0aGlzKTsKICAgICBpZiAoIW1ldGFEYXRhQXZhaWxhYmxlKCkpCiAgICAgICAgIHJldHVybjsK
IAo=
</data>
<flag name="review"
          id="81944"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>