<?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>54426</bug_id>
          
          <creation_ts>2011-02-14 17:55:22 -0800</creation_ts>
          <short_desc>WebFrameLoaderClient::shouldGoToHistoryItem needs implementation</short_desc>
          <delta_ts>2011-02-15 12:32:01 -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>WebKit API</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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="Alice Liu">alice.barraclough</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>webkit-ews</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>351023</commentid>
    <comment_count>0</comment_count>
    <who name="Alice Liu">alice.barraclough</who>
    <bug_when>2011-02-14 17:55:22 -0800</bug_when>
    <thetext>WebKit2 WebFrameLoaderClient::shouldGoToHistoryItem needs implementation.

I think we need this function so that there&apos;s a central point where all history navigation goes through (regardless of whether it&apos;s in the b/f cache or not) and asks the client for its policy on the action.  See -[WebFrameLoaderClient shouldGoToHistoryItem:]

&lt;rdar://problem/9002047&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351370</commentid>
    <comment_count>1</comment_count>
      <attachid>82478</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2011-02-15 10:01:38 -0800</bug_when>
    <thetext>Created attachment 82478
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351379</commentid>
    <comment_count>2</comment_count>
      <attachid>82478</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-15 10:13:14 -0800</bug_when>
    <thetext>Comment on attachment 82478
Patch v1

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

&gt; Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:858
&gt; +        // We should never be considering navigating to an item that is not actually in the back/forward list.
&gt; +        ASSERT_NOT_REACHED();

This can’t happen due to a race condition?

&gt; Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.cpp:123
&gt; +    return historyItemToIDMap().get(item);

If this can be passed 0 then it needs a special case for 0 to return 0 since get would crash. If not, then I suggest an extra assert even though HashMap will fail an assertion too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351394</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2011-02-15 10:34:41 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 82478 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=82478&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:858
&gt; &gt; +        // We should never be considering navigating to an item that is not actually in the back/forward list.
&gt; &gt; +        ASSERT_NOT_REACHED();
&gt; 
&gt; This can’t happen due to a race condition?

I&apos;m not sure I follow your question.

The only way we even consider a back/forward navigation that would call into this &quot;should go to history item&quot; is if that item was already in the back/forward list, so the item had better be in the WebProcess&apos;s map.  I don&apos;t think we can ever hit this case, hence the ASSERT.

However you did make me think of a race condition in the opposite direction, where the UIProcess has removed a back/forward item, messaged the web process, and the web process hadn&apos;t gotten the message yet.

In this case, the UIProcess would&apos;ve have an item for the itemID and we&apos;d crash trying to make the API call.

I&apos;ll upload a new patch.

&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.cpp:123
&gt; &gt; +    return historyItemToIDMap().get(item);
&gt; 
&gt; If this can be passed 0 then it needs a special case for 0 to return 0 since get would crash. If not, then I suggest an extra assert even though HashMap will fail an assertion too.

And it&apos;ll have this fix as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351396</commentid>
    <comment_count>4</comment_count>
      <attachid>82483</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2011-02-15 10:35:46 -0800</bug_when>
    <thetext>Created attachment 82483
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351397</commentid>
    <comment_count>5</comment_count>
      <attachid>82483</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-15 10:36:35 -0800</bug_when>
    <thetext>Comment on attachment 82483
Patch v2

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

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:485
&gt; +    shouldGoToBackForwardItem = item ? m_loaderClient.shouldGoToBackForwardListItem(this, item) : false;

I think this would look better with &amp;&amp; rather than ? : for the null handling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351451</commentid>
    <comment_count>6</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-02-15 12:02:50 -0800</bug_when>
    <thetext>Attachment 82483 did not build on qt:
Build output: http://queues.webkit.org/results/7907995</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351489</commentid>
    <comment_count>7</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2011-02-15 12:31:29 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Attachment 82483 [details] did not build on qt:
&gt; Build output: http://queues.webkit.org/results/7907995

Was going to fix, but someone else beat me to it.  Sorry &apos;bout this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82478</attachid>
            <date>2011-02-15 10:01:38 -0800</date>
            <delta_ts>2011-02-15 10:35:46 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>11092</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4NTc5KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTEtMDItMTUgIEJyYWR5IEVp
ZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MDAyMDQ3PiBhbmQgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0NDI2CisgICAgICAgIFdlYkZyYW1lTG9h
ZGVyQ2xpZW50OjpzaG91bGRHb1RvSGlzdG9yeUl0ZW0gbmVlZHMgaW1wbGVtZW50YXRpb24KKwor
ICAgICAgICBFeHBvc2UgSGlzdG9yeUl0ZW0gLT4gSXRlbUlEIG1hcHBpbmcgZm9yIHRoZSBtZXNz
YWdlOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjppZEZvckl0
ZW0pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94
eS5oOgorCisgICAgICAgIFN5bmMgbWVzc2FnZSB0byB0aGUgVUlQcm9jZXNzIGZvciB0aGUgYW5z
d2VyOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJD
bGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6c2hvdWxk
R29Ub0hpc3RvcnlJdGVtKToKKworICAgICAgICBDYWxsIG91dCB0byB0aGUgV2ViTG9hZGVyQ2xp
ZW50IGZvciB0aGUgYW5zd2VyOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNob3VsZEdvVG9CYWNrRm9yd2FyZExp
c3RJdGVtKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKworICAgICAgICBDYWxsIG91dCB0
byB0aGUgY2xpZW50IGFwcGxpY2F0aW9uIGZvciB0aGUgYW5zd2VyOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJMb2FkZXJDbGll
bnQ6OnNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViTG9hZGVyQ2xpZW50Lmg6CisKKyAgICAgICAgQWRkIEFQSSBmb3IgdGhlIGNsaWVudCBhcHBs
aWNhdGlvbiB0byBsaXN0ZW4gZm9yIHRoaXM6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZS5oOgorCiAyMDExLTAyLTE1ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgpJbmRleDogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5jcHAJKHJldmlzaW9uIDc4NTY2KQorKysgU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTIyMyw0ICsyMjMsMTIgQEAgdm9pZCBXZWJMb2FkZXJDbGllbnQ6OmRpZENoYW5nZUJhY2tG
b3J3YQogICAgIG1fY2xpZW50LmRpZENoYW5nZUJhY2tGb3J3YXJkTGlzdCh0b0FQSShwYWdlKSwg
dG9BUEkoYWRkZWRJdGVtKSwgdG9BUEkocmVtb3ZlZEl0ZW1zQXJyYXkuZ2V0KCkpLCBtX2NsaWVu
dC5jbGllbnRJbmZvKTsKIH0KIAorYm9vbCBXZWJMb2FkZXJDbGllbnQ6OnNob3VsZEdvVG9CYWNr
Rm9yd2FyZExpc3RJdGVtKFdlYlBhZ2VQcm94eSogcGFnZSwgV2ViQmFja0ZvcndhcmRMaXN0SXRl
bSogaXRlbSkKK3sKKyAgICBpZiAoIW1fY2xpZW50LnNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJ
dGVtKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAKKyAgICByZXR1cm4gbV9jbGllbnQuc2hv
dWxkR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW0odG9BUEkocGFnZSksIHRvQVBJKGl0ZW0pLCBtX2Ns
aWVudC5jbGllbnRJbmZvKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTG9hZGVyQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5oCShyZXZpc2lvbiA3ODU2NikK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJMb2FkZXJDbGllbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtNzcsNiArNzcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBwcm9jZXNzRGlkQ3Jhc2go
V2ViUGFnZVByb3h5Kik7CiAKICAgICB2b2lkIGRpZENoYW5nZUJhY2tGb3J3YXJkTGlzdChXZWJQ
YWdlUHJveHkqLCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiBhZGRlZEl0ZW0sIFZlY3RvcjxSZWZQ
dHI8QVBJT2JqZWN0PiA+KiByZW1vdmVkSXRlbXMpOworICAgIGJvb2wgc2hvdWxkR29Ub0JhY2tG
b3J3YXJkTGlzdEl0ZW0oV2ViUGFnZVByb3h5KiwgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSopOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gNzg1NjYpCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDc5LDYgKzQ3OSwx
MCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ2hhbmdlQmFja0ZvcndhcmRMCiAgICAgbV9sb2Fk
ZXJDbGllbnQuZGlkQ2hhbmdlQmFja0ZvcndhcmRMaXN0KHRoaXMsIGFkZGVkLCByZW1vdmVkKTsK
IH0KIAordm9pZCBXZWJQYWdlUHJveHk6OnNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtKHVp
bnQ2NF90IGl0ZW1JRCwgYm9vbCYgc2hvdWxkR29Ub0JhY2tGb3J3YXJkSXRlbSkKK3sKKyAgICBz
aG91bGRHb1RvQmFja0ZvcndhcmRJdGVtID0gbV9sb2FkZXJDbGllbnQuc2hvdWxkR29Ub0JhY2tG
b3J3YXJkTGlzdEl0ZW0odGhpcywgcHJvY2VzcygpLT53ZWJCYWNrRm9yd2FyZEl0ZW0oaXRlbUlE
KSk7Cit9CiAgICAgCiBib29sIFdlYlBhZ2VQcm94eTo6Y2FuU2hvd01JTUVUeXBlKGNvbnN0IFN0
cmluZyYgbWltZVR5cGUpIGNvbnN0CiB7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCShyZXZpc2lvbiA3ODU2NikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMTY1LDYgKzE2NSw3IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgZ29Ub0JhY2tGb3J3YXJkSXRlbShXZWJCYWNrRm9yd2FyZExpc3RJdGVt
Kik7CiAgICAgdm9pZCBkaWRDaGFuZ2VCYWNrRm9yd2FyZExpc3QoV2ViQmFja0ZvcndhcmRMaXN0
SXRlbSogYWRkZWRJdGVtLCBWZWN0b3I8UmVmUHRyPEFQSU9iamVjdD4gPiogcmVtb3ZlZEl0ZW1z
KTsKKyAgICB2b2lkIHNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtKHVpbnQ2NF90IGl0ZW1J
RCwgYm9vbCYgc2hvdWxkR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW0pOwogCiAgICAgYm9vbCBjYW5T
aG93TUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkgY29uc3Q7CiAKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgkocmV2
aXNpb24gNzg1NjYpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0xMzgsNiArMTM4LDcgQEAgbWVzc2FnZXMgLT4g
V2ViUGFnZVByb3h5IHsKICAgICBCYWNrRm9yd2FyZEJhY2tMaXN0Q291bnQoKSAtPiAoaW50MzJf
dCBjb3VudCkKICAgICBCYWNrRm9yd2FyZEZvcndhcmRMaXN0Q291bnQoKSAtPiAoaW50MzJfdCBj
b3VudCkKICAgICBCYWNrRm9yd2FyZENsZWFyKCkKKyAgICBTaG91bGRHb1RvQmFja0ZvcndhcmRM
aXN0SXRlbSh1aW50NjRfdCBpdGVtSUQpIC0+IChib29sIHNob3VsZEdvVG9CYWNrRm9yd2FyZExp
c3RJdGVtKQogCiAgICAgIyBVbmRvL1JlZG8gbWVzc2FnZXMKICAgICBSZWdpc3RlckVkaXRDb21t
YW5kRm9yVW5kbyh1aW50NjRfdCBjb21tYW5kSUQsIHVpbnQzMl90IGVkaXRBY3Rpb24pCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCShyZXZpc2lvbiA3ODU2NikK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaAkod29ya2luZyBjb3B5
KQpAQCAtNjEsNiArNjEsNyBAQCB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VEaWRSdW5JbnNlY3VyZUNv
bnRlCiB0eXBlZGVmIGJvb2wgKCpXS1BhZ2VDYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlv
blNwYWNlSW5GcmFtZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwg
V0tQcm90ZWN0aW9uU3BhY2VSZWYgcHJvdGVjdGlvblNwYWNlLCBjb25zdCB2b2lkICpjbGllbnRJ
bmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZURpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZUluRnJhbWVDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIFdL
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VSZWYgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UsIGNvbnN0
IHZvaWQgKmNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlRGlkQ2hhbmdlQmFja0Zv
cndhcmRMaXN0Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS0JhY2tGb3J3YXJkTGlzdEl0ZW1S
ZWYgYWRkZWRJdGVtLCBXS0FycmF5UmVmIHJlbW92ZWRJdGVtcywgY29uc3Qgdm9pZCAqY2xpZW50
SW5mbyk7Cit0eXBlZGVmIGJvb2wgKCpXS1BhZ2VTaG91bGRHb1RvQmFja0ZvcndhcmRMaXN0SXRl
bUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tCYWNrRm9yd2FyZExpc3RJdGVtUmVmIGl0ZW0s
IGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwogCiBzdHJ1Y3QgV0tQYWdlTG9hZGVyQ2xpZW50IHsK
ICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHZlcnNpb247CkBAIC05Myw2ICs5NCw3IEBAIHN0cnVjdCBXS1BhZ2VM
b2FkZXJDbGllbnQgewogICAgIFdLUGFnZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc0RpZENyYXNoOwogCiAgICAgV0tQ
YWdlRGlkQ2hhbmdlQmFja0ZvcndhcmRMaXN0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkaWRDaGFuZ2VCYWNrRm9yd2FyZExpc3Q7CisgICAgV0tQYWdlU2hvdWxkR29Ub0Jh
Y2tGb3J3YXJkTGlzdEl0ZW1DYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRH
b1RvQmFja0ZvcndhcmRMaXN0SXRlbTsKIH07CiB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VMb2FkZXJD
bGllbnQgV0tQYWdlTG9hZGVyQ2xpZW50OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcAkocmV2aXNpb24gNzg1NjYpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAj
aW5jbHVkZSAiUGx1Z2luVmlldy5oIgogI2luY2x1ZGUgIlN0cmluZ1BhaXJWZWN0b3IuaCIKKyNp
bmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRN
ZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUg
IldlYkVycm9ycy5oIgpAQCAtODQ1LDEwICs4NDYsMjQgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNs
aWVudDo6dXBkYXRlR2xvYmFsSAogICAgIH0KIH0KIAotYm9vbCBXZWJGcmFtZUxvYWRlckNsaWVu
dDo6c2hvdWxkR29Ub0hpc3RvcnlJdGVtKEhpc3RvcnlJdGVtKikgY29uc3QKK2Jvb2wgV2ViRnJh
bWVMb2FkZXJDbGllbnQ6OnNob3VsZEdvVG9IaXN0b3J5SXRlbShIaXN0b3J5SXRlbSogaXRlbSkg
Y29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiB0cnVlOworICAgIFdl
YlBhZ2UqIHdlYlBhZ2UgPSBtX2ZyYW1lLT5wYWdlKCk7CisgICAgaWYgKCF3ZWJQYWdlKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgdWludDY0X3QgaXRlbUlEID0gV2ViQmFja0Zv
cndhcmRMaXN0UHJveHk6OmlkRm9ySXRlbShpdGVtKTsKKyAgICBpZiAoIWl0ZW1JRCkgeworICAg
ICAgICAvLyBXZSBzaG91bGQgbmV2ZXIgYmUgY29uc2lkZXJpbmcgbmF2aWdhdGluZyB0byBhbiBp
dGVtIHRoYXQgaXMgbm90IGFjdHVhbGx5IGluIHRoZSBiYWNrL2ZvcndhcmQgbGlzdC4KKyAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cisg
ICAgCisgICAgYm9vbCBzaG91bGRHb1RvQmFja0ZvcndhcmRMaXN0SXRlbTsKKyAgICBpZiAoIXdl
YlBhZ2UtPnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3VsZEdvVG9CYWNrRm9y
d2FyZExpc3RJdGVtKGl0ZW1JRCksIE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3VsZEdvVG9C
YWNrRm9yd2FyZExpc3RJdGVtOjpSZXBseShzaG91bGRHb1RvQmFja0ZvcndhcmRMaXN0SXRlbSkp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgcmV0dXJuIHNob3VsZEdvVG9CYWNr
Rm9yd2FyZExpc3RJdGVtOwogfQogCiB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRj
aERpZEFkZEJhY2tGb3J3YXJkSXRlbShIaXN0b3J5SXRlbSopIGNvbnN0CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9y
d2FyZExpc3RQcm94eS5jcHAJKHJldmlzaW9uIDc4NTY2KQorKysgU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTE4LDYgKzExOCwxMSBAQCBIaXN0b3J5SXRlbSogV2ViQmFja0ZvcndhcmRMaXN0UHJv
eHk6Oml0CiAgICAgcmV0dXJuIGlkVG9IaXN0b3J5SXRlbU1hcCgpLmdldChpdGVtSUQpLmdldCgp
OwogfQogCit1aW50NjRfdCBXZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6aWRGb3JJdGVtKEhpc3Rv
cnlJdGVtKiBpdGVtKQoreworICAgIHJldHVybiBoaXN0b3J5SXRlbVRvSURNYXAoKS5nZXQoaXRl
bSk7Cit9CisKIHZvaWQgV2ViQmFja0ZvcndhcmRMaXN0UHJveHk6OnJlbW92ZUl0ZW0odWludDY0
X3QgaXRlbUlEKQogewogICAgIElEVG9IaXN0b3J5SXRlbU1hcDo6aXRlcmF0b3IgaXQgPSBpZFRv
SGlzdG9yeUl0ZW1NYXAoKS5maW5kKGl0ZW1JRCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHku
aAkocmV2aXNpb24gNzg1NjYpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBA
QCBwdWJsaWM6IAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5
PiBjcmVhdGUoV2ViUGFnZSogcGFnZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFdlYkJhY2tGb3J3
YXJkTGlzdFByb3h5KHBhZ2UpKTsgfQogCiAgICAgc3RhdGljIFdlYkNvcmU6Okhpc3RvcnlJdGVt
KiBpdGVtRm9ySUQodWludDY0X3QpOworICAgIHN0YXRpYyB1aW50NjRfdCBpZEZvckl0ZW0oV2Vi
Q29yZTo6SGlzdG9yeUl0ZW0qKTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVJdGVtKHVpbnQ2NF90
IGl0ZW1JRCk7CiAKICAgICBzdGF0aWMgdm9pZCBhZGRJdGVtRnJvbVVJUHJvY2Vzcyh1aW50NjRf
dCBpdGVtSUQsIFBhc3NSZWZQdHI8V2ViQ29yZTo6SGlzdG9yeUl0ZW0+KTsKSW5kZXg6IFRvb2xz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4NTc5
KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIw
MTEtMDItMTUgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MDAy
MDQ3PiBhbmQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0NDI2Cisg
ICAgICAgIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpzaG91bGRHb1RvSGlzdG9yeUl0ZW0gbmVlZHMg
aW1wbGVtZW50YXRpb24KKworICAgICAgICBBZGQgZHVtbXkgaW1wbGVtZW50YXRpb25zIHRvIGtl
ZXAgb3VyIHRvb2xzIGJ1aWxkaW5nLgorCisgICAgICAgICogTWluaUJyb3dzZXIvbWFjL0Jyb3dz
ZXJXaW5kb3dDb250cm9sbGVyLm06CisgICAgICAgICgtW0Jyb3dzZXJXaW5kb3dDb250cm9sbGVy
IGF3YWtlRnJvbU5pYl0pOgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjppbml0aWFsaXplKToKKwog
MjAxMS0wMi0xNSAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgU2hpbmljaGlybyBIYW1hamkuCkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9t
YWMvQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJv
d3Nlci9tYWMvQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubQkocmV2aXNpb24gNzg1NjYpCisrKyBU
b29scy9NaW5pQnJvd3Nlci9tYWMvQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubQkod29ya2luZyBj
b3B5KQpAQCAtNTk3LDcgKzU5Nyw4IEBAIC0gKHZvaWQpYXdha2VGcm9tTmliCiAgICAgICAgIGRp
ZEJlY29tZVVucmVzcG9uc2l2ZSwKICAgICAgICAgZGlkQmVjb21lUmVzcG9uc2l2ZSwKICAgICAg
ICAgcHJvY2Vzc0RpZEV4aXQsCi0gICAgICAgIGRpZENoYW5nZUJhY2tGb3J3YXJkTGlzdAorICAg
ICAgICBkaWRDaGFuZ2VCYWNrRm9yd2FyZExpc3QsCisgICAgICAgIDAgLy8gc2hvdWxkR29Ub0Jh
Y2tGb3J3YXJkSXRlbQogICAgIH07CiAgICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudChfd2Vi
Vmlldy5wYWdlUmVmLCAmbG9hZENsaWVudCk7CiAgICAgCkluZGV4OiBUb29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkocmV2aXNpb24gNzg1NjYpCisrKyBUb29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzI3LDcg
KzMyNyw4IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemUoaW50IGFyZ2MKICAgICAg
ICAgMCwgLy8gZGlkQmVjb21lVW5yZXNwb25zaXZlCiAgICAgICAgIDAsIC8vIGRpZEJlY29tZVJl
c3BvbnNpdmUKICAgICAgICAgcHJvY2Vzc0RpZENyYXNoLCAvLyBwcm9jZXNzRGlkQ3Jhc2gKLSAg
ICAgICAgMCAvLyBkaWRDaGFuZ2VCYWNrRm9yd2FyZExpc3QKKyAgICAgICAgMCwgLy8gZGlkQ2hh
bmdlQmFja0ZvcndhcmRMaXN0CisgICAgICAgIDAgLy8gc2hvdWxkR29Ub0JhY2tGb3J3YXJkTGlz
dEl0ZW0KICAgICB9OwogICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQobV9tYWluV2ViVmll
dy0+cGFnZSgpLCAmcGFnZUxvYWRlckNsaWVudCk7CiB9Cg==
</data>
<flag name="review"
          id="74145"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="74146"
          type_id="3"
          status="-"
          setter="beidson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82483</attachid>
            <date>2011-02-15 10:35:46 -0800</date>
            <delta_ts>2011-02-15 10:36:35 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>11168</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4NTc5KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTEtMDItMTUgIEJyYWR5IEVp
ZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MDAyMDQ3PiBhbmQgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0NDI2CisgICAgICAgIFdlYkZyYW1lTG9h
ZGVyQ2xpZW50OjpzaG91bGRHb1RvSGlzdG9yeUl0ZW0gbmVlZHMgaW1wbGVtZW50YXRpb24KKwor
ICAgICAgICBFeHBvc2UgSGlzdG9yeUl0ZW0gLT4gSXRlbUlEIG1hcHBpbmcgZm9yIHRoZSBtZXNz
YWdlOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjppZEZvckl0
ZW0pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94
eS5oOgorCisgICAgICAgIFN5bmMgbWVzc2FnZSB0byB0aGUgVUlQcm9jZXNzIGZvciB0aGUgYW5z
d2VyOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJD
bGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6c2hvdWxk
R29Ub0hpc3RvcnlJdGVtKToKKworICAgICAgICBDYWxsIG91dCB0byB0aGUgV2ViTG9hZGVyQ2xp
ZW50IGZvciB0aGUgYW5zd2VyOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNob3VsZEdvVG9CYWNrRm9yd2FyZExp
c3RJdGVtKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKworICAgICAgICBDYWxsIG91dCB0
byB0aGUgY2xpZW50IGFwcGxpY2F0aW9uIGZvciB0aGUgYW5zd2VyOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJMb2FkZXJDbGll
bnQ6OnNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViTG9hZGVyQ2xpZW50Lmg6CisKKyAgICAgICAgQWRkIEFQSSBmb3IgdGhlIGNsaWVudCBhcHBs
aWNhdGlvbiB0byBsaXN0ZW4gZm9yIHRoaXM6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZS5oOgorCiAyMDExLTAyLTE1ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgpJbmRleDogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5jcHAJKHJldmlzaW9uIDc4NTY2KQorKysgU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTIyMyw0ICsyMjMsMTIgQEAgdm9pZCBXZWJMb2FkZXJDbGllbnQ6OmRpZENoYW5nZUJhY2tG
b3J3YQogICAgIG1fY2xpZW50LmRpZENoYW5nZUJhY2tGb3J3YXJkTGlzdCh0b0FQSShwYWdlKSwg
dG9BUEkoYWRkZWRJdGVtKSwgdG9BUEkocmVtb3ZlZEl0ZW1zQXJyYXkuZ2V0KCkpLCBtX2NsaWVu
dC5jbGllbnRJbmZvKTsKIH0KIAorYm9vbCBXZWJMb2FkZXJDbGllbnQ6OnNob3VsZEdvVG9CYWNr
Rm9yd2FyZExpc3RJdGVtKFdlYlBhZ2VQcm94eSogcGFnZSwgV2ViQmFja0ZvcndhcmRMaXN0SXRl
bSogaXRlbSkKK3sKKyAgICBpZiAoIW1fY2xpZW50LnNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJ
dGVtKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAKKyAgICByZXR1cm4gbV9jbGllbnQuc2hv
dWxkR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW0odG9BUEkocGFnZSksIHRvQVBJKGl0ZW0pLCBtX2Ns
aWVudC5jbGllbnRJbmZvKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTG9hZGVyQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5oCShyZXZpc2lvbiA3ODU2NikK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJMb2FkZXJDbGllbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtNzcsNiArNzcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBwcm9jZXNzRGlkQ3Jhc2go
V2ViUGFnZVByb3h5Kik7CiAKICAgICB2b2lkIGRpZENoYW5nZUJhY2tGb3J3YXJkTGlzdChXZWJQ
YWdlUHJveHkqLCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiBhZGRlZEl0ZW0sIFZlY3RvcjxSZWZQ
dHI8QVBJT2JqZWN0PiA+KiByZW1vdmVkSXRlbXMpOworICAgIGJvb2wgc2hvdWxkR29Ub0JhY2tG
b3J3YXJkTGlzdEl0ZW0oV2ViUGFnZVByb3h5KiwgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSopOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gNzg1NjYpCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDc5LDYgKzQ3OSwx
MSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ2hhbmdlQmFja0ZvcndhcmRMCiAgICAgbV9sb2Fk
ZXJDbGllbnQuZGlkQ2hhbmdlQmFja0ZvcndhcmRMaXN0KHRoaXMsIGFkZGVkLCByZW1vdmVkKTsK
IH0KIAordm9pZCBXZWJQYWdlUHJveHk6OnNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtKHVp
bnQ2NF90IGl0ZW1JRCwgYm9vbCYgc2hvdWxkR29Ub0JhY2tGb3J3YXJkSXRlbSkKK3sKKyAgICBX
ZWJCYWNrRm9yd2FyZExpc3RJdGVtKiBpdGVtID0gcHJvY2VzcygpLT53ZWJCYWNrRm9yd2FyZEl0
ZW0oaXRlbUlEKTsKKyAgICBzaG91bGRHb1RvQmFja0ZvcndhcmRJdGVtID0gaXRlbSA/IG1fbG9h
ZGVyQ2xpZW50LnNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtKHRoaXMsIGl0ZW0pIDogZmFs
c2U7Cit9CiAgICAgCiBib29sIFdlYlBhZ2VQcm94eTo6Y2FuU2hvd01JTUVUeXBlKGNvbnN0IFN0
cmluZyYgbWltZVR5cGUpIGNvbnN0CiB7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCShyZXZpc2lvbiA3ODU2NikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMTY1LDYgKzE2NSw3IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgZ29Ub0JhY2tGb3J3YXJkSXRlbShXZWJCYWNrRm9yd2FyZExpc3RJdGVt
Kik7CiAgICAgdm9pZCBkaWRDaGFuZ2VCYWNrRm9yd2FyZExpc3QoV2ViQmFja0ZvcndhcmRMaXN0
SXRlbSogYWRkZWRJdGVtLCBWZWN0b3I8UmVmUHRyPEFQSU9iamVjdD4gPiogcmVtb3ZlZEl0ZW1z
KTsKKyAgICB2b2lkIHNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtKHVpbnQ2NF90IGl0ZW1J
RCwgYm9vbCYgc2hvdWxkR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW0pOwogCiAgICAgYm9vbCBjYW5T
aG93TUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkgY29uc3Q7CiAKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgkocmV2
aXNpb24gNzg1NjYpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0xMzgsNiArMTM4LDcgQEAgbWVzc2FnZXMgLT4g
V2ViUGFnZVByb3h5IHsKICAgICBCYWNrRm9yd2FyZEJhY2tMaXN0Q291bnQoKSAtPiAoaW50MzJf
dCBjb3VudCkKICAgICBCYWNrRm9yd2FyZEZvcndhcmRMaXN0Q291bnQoKSAtPiAoaW50MzJfdCBj
b3VudCkKICAgICBCYWNrRm9yd2FyZENsZWFyKCkKKyAgICBTaG91bGRHb1RvQmFja0ZvcndhcmRM
aXN0SXRlbSh1aW50NjRfdCBpdGVtSUQpIC0+IChib29sIHNob3VsZEdvVG9CYWNrRm9yd2FyZExp
c3RJdGVtKQogCiAgICAgIyBVbmRvL1JlZG8gbWVzc2FnZXMKICAgICBSZWdpc3RlckVkaXRDb21t
YW5kRm9yVW5kbyh1aW50NjRfdCBjb21tYW5kSUQsIHVpbnQzMl90IGVkaXRBY3Rpb24pCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCShyZXZpc2lvbiA3ODU2NikK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaAkod29ya2luZyBjb3B5
KQpAQCAtNjEsNiArNjEsNyBAQCB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VEaWRSdW5JbnNlY3VyZUNv
bnRlCiB0eXBlZGVmIGJvb2wgKCpXS1BhZ2VDYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlv
blNwYWNlSW5GcmFtZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwg
V0tQcm90ZWN0aW9uU3BhY2VSZWYgcHJvdGVjdGlvblNwYWNlLCBjb25zdCB2b2lkICpjbGllbnRJ
bmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZURpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZUluRnJhbWVDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIFdL
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VSZWYgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UsIGNvbnN0
IHZvaWQgKmNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlRGlkQ2hhbmdlQmFja0Zv
cndhcmRMaXN0Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS0JhY2tGb3J3YXJkTGlzdEl0ZW1S
ZWYgYWRkZWRJdGVtLCBXS0FycmF5UmVmIHJlbW92ZWRJdGVtcywgY29uc3Qgdm9pZCAqY2xpZW50
SW5mbyk7Cit0eXBlZGVmIGJvb2wgKCpXS1BhZ2VTaG91bGRHb1RvQmFja0ZvcndhcmRMaXN0SXRl
bUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tCYWNrRm9yd2FyZExpc3RJdGVtUmVmIGl0ZW0s
IGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwogCiBzdHJ1Y3QgV0tQYWdlTG9hZGVyQ2xpZW50IHsK
ICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHZlcnNpb247CkBAIC05Myw2ICs5NCw3IEBAIHN0cnVjdCBXS1BhZ2VM
b2FkZXJDbGllbnQgewogICAgIFdLUGFnZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc0RpZENyYXNoOwogCiAgICAgV0tQ
YWdlRGlkQ2hhbmdlQmFja0ZvcndhcmRMaXN0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkaWRDaGFuZ2VCYWNrRm9yd2FyZExpc3Q7CisgICAgV0tQYWdlU2hvdWxkR29Ub0Jh
Y2tGb3J3YXJkTGlzdEl0ZW1DYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRH
b1RvQmFja0ZvcndhcmRMaXN0SXRlbTsKIH07CiB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VMb2FkZXJD
bGllbnQgV0tQYWdlTG9hZGVyQ2xpZW50OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcAkocmV2aXNpb24gNzg1NjYpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAj
aW5jbHVkZSAiUGx1Z2luVmlldy5oIgogI2luY2x1ZGUgIlN0cmluZ1BhaXJWZWN0b3IuaCIKKyNp
bmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRN
ZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUg
IldlYkVycm9ycy5oIgpAQCAtODQ1LDEwICs4NDYsMjQgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNs
aWVudDo6dXBkYXRlR2xvYmFsSAogICAgIH0KIH0KIAotYm9vbCBXZWJGcmFtZUxvYWRlckNsaWVu
dDo6c2hvdWxkR29Ub0hpc3RvcnlJdGVtKEhpc3RvcnlJdGVtKikgY29uc3QKK2Jvb2wgV2ViRnJh
bWVMb2FkZXJDbGllbnQ6OnNob3VsZEdvVG9IaXN0b3J5SXRlbShIaXN0b3J5SXRlbSogaXRlbSkg
Y29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiB0cnVlOworICAgIFdl
YlBhZ2UqIHdlYlBhZ2UgPSBtX2ZyYW1lLT5wYWdlKCk7CisgICAgaWYgKCF3ZWJQYWdlKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgdWludDY0X3QgaXRlbUlEID0gV2ViQmFja0Zv
cndhcmRMaXN0UHJveHk6OmlkRm9ySXRlbShpdGVtKTsKKyAgICBpZiAoIWl0ZW1JRCkgeworICAg
ICAgICAvLyBXZSBzaG91bGQgbmV2ZXIgYmUgY29uc2lkZXJpbmcgbmF2aWdhdGluZyB0byBhbiBp
dGVtIHRoYXQgaXMgbm90IGFjdHVhbGx5IGluIHRoZSBiYWNrL2ZvcndhcmQgbGlzdC4KKyAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cisg
ICAgCisgICAgYm9vbCBzaG91bGRHb1RvQmFja0ZvcndhcmRMaXN0SXRlbTsKKyAgICBpZiAoIXdl
YlBhZ2UtPnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3VsZEdvVG9CYWNrRm9y
d2FyZExpc3RJdGVtKGl0ZW1JRCksIE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3VsZEdvVG9C
YWNrRm9yd2FyZExpc3RJdGVtOjpSZXBseShzaG91bGRHb1RvQmFja0ZvcndhcmRMaXN0SXRlbSkp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgcmV0dXJuIHNob3VsZEdvVG9CYWNr
Rm9yd2FyZExpc3RJdGVtOwogfQogCiB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRj
aERpZEFkZEJhY2tGb3J3YXJkSXRlbShIaXN0b3J5SXRlbSopIGNvbnN0CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9y
d2FyZExpc3RQcm94eS5jcHAJKHJldmlzaW9uIDc4NTY2KQorKysgU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTE4LDYgKzExOCwxMiBAQCBIaXN0b3J5SXRlbSogV2ViQmFja0ZvcndhcmRMaXN0UHJv
eHk6Oml0CiAgICAgcmV0dXJuIGlkVG9IaXN0b3J5SXRlbU1hcCgpLmdldChpdGVtSUQpLmdldCgp
OwogfQogCit1aW50NjRfdCBXZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6aWRGb3JJdGVtKEhpc3Rv
cnlJdGVtKiBpdGVtKQoreworICAgIEFTU0VSVChpdGVtKTsKKyAgICByZXR1cm4gaGlzdG9yeUl0
ZW1Ub0lETWFwKCkuZ2V0KGl0ZW0pOworfQorCiB2b2lkIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5
OjpyZW1vdmVJdGVtKHVpbnQ2NF90IGl0ZW1JRCkKIHsKICAgICBJRFRvSGlzdG9yeUl0ZW1NYXA6
Oml0ZXJhdG9yIGl0ID0gaWRUb0hpc3RvcnlJdGVtTWFwKCkuZmluZChpdGVtSUQpOwpJbmRleDog
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJh
Y2tGb3J3YXJkTGlzdFByb3h5LmgJKHJldmlzaW9uIDc4NTY2KQorKysgU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTM4LDYgKzM4LDcgQEAgcHVibGljOiAKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJC
YWNrRm9yd2FyZExpc3RQcm94eT4gY3JlYXRlKFdlYlBhZ2UqIHBhZ2UpIHsgcmV0dXJuIGFkb3B0
UmVmKG5ldyBXZWJCYWNrRm9yd2FyZExpc3RQcm94eShwYWdlKSk7IH0KIAogICAgIHN0YXRpYyBX
ZWJDb3JlOjpIaXN0b3J5SXRlbSogaXRlbUZvcklEKHVpbnQ2NF90KTsKKyAgICBzdGF0aWMgdWlu
dDY0X3QgaWRGb3JJdGVtKFdlYkNvcmU6Okhpc3RvcnlJdGVtKik7CiAgICAgc3RhdGljIHZvaWQg
cmVtb3ZlSXRlbSh1aW50NjRfdCBpdGVtSUQpOwogCiAgICAgc3RhdGljIHZvaWQgYWRkSXRlbUZy
b21VSVByb2Nlc3ModWludDY0X3QgaXRlbUlELCBQYXNzUmVmUHRyPFdlYkNvcmU6Okhpc3RvcnlJ
dGVtPik7CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiA3ODU3OSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE4IEBACisyMDExLTAyLTE1ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vOTAwMjA0Nz4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD01NDQyNgorICAgICAgICBXZWJGcmFtZUxvYWRlckNsaWVudDo6c2hvdWxkR29U
b0hpc3RvcnlJdGVtIG5lZWRzIGltcGxlbWVudGF0aW9uCisKKyAgICAgICAgQWRkIGR1bW15IGlt
cGxlbWVudGF0aW9ucyB0byBrZWVwIG91ciB0b29scyBidWlsZGluZy4KKworICAgICAgICAqIE1p
bmlCcm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5tOgorICAgICAgICAoLVtCcm93
c2VyV2luZG93Q29udHJvbGxlciBhd2FrZUZyb21OaWJdKToKKworICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxl
cjo6aW5pdGlhbGl6ZSk6CisKIDIwMTEtMDItMTUgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNoaW5pY2hpcm8gSGFtYWppLgpJbmRleDog
VG9vbHMvTWluaUJyb3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvTWluaUJyb3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0JKHJl
dmlzaW9uIDc4NTY2KQorKysgVG9vbHMvTWluaUJyb3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dDb250
cm9sbGVyLm0JKHdvcmtpbmcgY29weSkKQEAgLTU5Nyw3ICs1OTcsOCBAQCAtICh2b2lkKWF3YWtl
RnJvbU5pYgogICAgICAgICBkaWRCZWNvbWVVbnJlc3BvbnNpdmUsCiAgICAgICAgIGRpZEJlY29t
ZVJlc3BvbnNpdmUsCiAgICAgICAgIHByb2Nlc3NEaWRFeGl0LAotICAgICAgICBkaWRDaGFuZ2VC
YWNrRm9yd2FyZExpc3QKKyAgICAgICAgZGlkQ2hhbmdlQmFja0ZvcndhcmRMaXN0LAorICAgICAg
ICAwIC8vIHNob3VsZEdvVG9CYWNrRm9yd2FyZEl0ZW0KICAgICB9OwogICAgIFdLUGFnZVNldFBh
Z2VMb2FkZXJDbGllbnQoX3dlYlZpZXcucGFnZVJlZiwgJmxvYWRDbGllbnQpOwogICAgIApJbmRl
eDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDc4
NTY2KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMyNyw3ICszMjcsOCBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjppbml0aWFs
aXplKGludCBhcmdjCiAgICAgICAgIDAsIC8vIGRpZEJlY29tZVVucmVzcG9uc2l2ZQogICAgICAg
ICAwLCAvLyBkaWRCZWNvbWVSZXNwb25zaXZlCiAgICAgICAgIHByb2Nlc3NEaWRDcmFzaCwgLy8g
cHJvY2Vzc0RpZENyYXNoCi0gICAgICAgIDAgLy8gZGlkQ2hhbmdlQmFja0ZvcndhcmRMaXN0Cisg
ICAgICAgIDAsIC8vIGRpZENoYW5nZUJhY2tGb3J3YXJkTGlzdAorICAgICAgICAwIC8vIHNob3Vs
ZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtCiAgICAgfTsKICAgICBXS1BhZ2VTZXRQYWdlTG9hZGVy
Q2xpZW50KG1fbWFpbldlYlZpZXctPnBhZ2UoKSwgJnBhZ2VMb2FkZXJDbGllbnQpOwogfQo=
</data>
<flag name="review"
          id="74151"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="74152"
          type_id="3"
          status="-"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>