<?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>27613</bug_id>
          
          <creation_ts>2009-07-23 12:03:09 -0700</creation_ts>
          <short_desc>WebCore/page/ContextMenuController.cpp does not conform to style standards</short_desc>
          <delta_ts>2009-07-29 09:33:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</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="Mike Fenton">mifenton</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>levin</cc>
    
    <cc>manyoso</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>134188</commentid>
    <comment_count>0</comment_count>
    <who name="Mike Fenton">mifenton</who>
    <bug_when>2009-07-23 12:03:09 -0700</bug_when>
    <thetext>cpplint reports a number of valid style fixes that should be made to
WebCore/page/ContextMenuController.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134190</commentid>
    <comment_count>1</comment_count>
      <attachid>33350</attachid>
    <who name="Mike Fenton">mifenton</who>
    <bug_when>2009-07-23 12:07:59 -0700</bug_when>
    <thetext>Created attachment 33350
Style patch for ContextMenuController.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134384</commentid>
    <comment_count>2</comment_count>
      <attachid>33350</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-07-23 23:14:17 -0700</bug_when>
    <thetext>Comment on attachment 33350
Style patch for ContextMenuController.cpp

This would be much easier to read if we had a white-space ignoring diff.  It&apos;s difficult for me to tell that you haven&apos; actually changed any code here. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134514</commentid>
    <comment_count>3</comment_count>
    <who name="Mike Fenton">mifenton</who>
    <bug_when>2009-07-24 05:06:11 -0700</bug_when>
    <thetext>The main change in the patch is to fix the indentation of the case statements.  It also fixes the include order and a few whitespace at end of line fixes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135289</commentid>
    <comment_count>4</comment_count>
      <attachid>33350</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-07-28 11:21:59 -0700</bug_when>
    <thetext>Comment on attachment 33350
Style patch for ContextMenuController.cpp

&gt; diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
&gt; +2009-07-23  Mike Fenton  &lt;mike.fenton@torchmobile.com&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Update WebCore/page/ContextMenuController.cpp to conform to WebKit
&gt; +        Style Guidelines as identified by cpplint.py.

Now it is cpp_style.py :)


&gt; diff --git a/WebCore/page/ContextMenuController.cpp b/WebCore/page/ContextMenuController.cpp


Since this is about fixing styling in ContextMenuController.cpp,


Why not fix the indentation in this block of code?  Personally, I would unwrap this line but you could just indent to the createWindow(.


107	static void openNewWindow(const KURL&amp; urlToLoad, Frame* frame)
108	{
109	    if (Page* oldPage = frame-&gt;page()) {
110	        WindowFeatures features;
111	        if (Page* newPage = oldPage-&gt;chrome()-&gt;createWindow(frame,
112	                FrameLoadRequest(ResourceRequest(urlToLoad, frame-&gt;loader()-&gt;outgoingReferrer())), features))
113	            newPage-&gt;chrome()-&gt;show();
114	    }
115	}


&gt; +    case ContextMenuItemTagOpenFrameInNewWindow: {
&gt; +        DocumentLoader* loader = frame-&gt;loader()-&gt;documentLoader();
&gt; +        if (!loader-&gt;unreachableURL().isEmpty())
&gt; +            openNewWindow(loader-&gt;unreachableURL(), frame);
&gt; +        else
&gt; +            openNewWindow(loader-&gt;url(), frame);
&gt; +        break;
&gt;          }
The indentation for the &quot;}&quot; needs fixing.

&gt; +    case ContextMenuItemTagSpellingGuess:
&gt; +        ASSERT(frame-&gt;selectedText().length());
&gt; +        if (frame-&gt;editor()-&gt;shouldInsertText(item-&gt;title(), frame-&gt;selection()-&gt;toNormalizedRange().get(),
&gt; +            EditorInsertActionPasted)) {
Either indent to the level of the nested paren or unwrap.

&gt; +            Document* document = frame-&gt;document();
&gt; +            RefPtr&lt;ReplaceSelectionCommand&gt; command =
&gt; +                ReplaceSelectionCommand::create(document, createFragmentFromMarkup(document, item-&gt;title(), &quot;&quot;),
&gt; +                                                                               true, false, true);

Either indent to the level of the nested paren or unwrap.


&gt; +    case ContextMenuItemTagOpenLink:
&gt; +        if (Frame* targetFrame = result.targetFrame()) {
&gt; +            targetFrame-&gt;loader()-&gt;loadFrameRequest(FrameLoadRequest(ResourceRequest(result.absoluteLinkURL(),
&gt; +                frame-&gt;loader()-&gt;outgoingReferrer())), false, false, 0, 0);

Either indent to the level of the nested paren or unwrap.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135578</commentid>
    <comment_count>5</comment_count>
      <attachid>33714</attachid>
    <who name="Mike Fenton">mifenton</who>
    <bug_when>2009-07-29 07:36:08 -0700</bug_when>
    <thetext>Created attachment 33714
Replacement patch for ContextMenuController.cpp style fixes.

Thanks for the review.

This updated patch has all the noted changes corrected.  Functions have been unwrapped and the indentation of the brace corrected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135607</commentid>
    <comment_count>6</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-07-29 09:33:08 -0700</bug_when>
    <thetext>Committed as http://trac.webkit.org/changeset/46544</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33350</attachid>
            <date>2009-07-23 12:07:59 -0700</date>
            <delta_ts>2009-07-29 07:36:08 -0700</delta_ts>
            <desc>Style patch for ContextMenuController.cpp</desc>
            <filename>ContextMenuControllerPatch.diff</filename>
            <type>text/plain</type>
            <size>18741</size>
            <attacher name="Mike Fenton">mifenton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YjMxMzA2Ni4uNDA3NDQ4NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAwOS0wNy0yMyAgTWlrZSBGZW50b24g
IDxtaWtlLmZlbnRvbkB0b3JjaG1vYmlsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIFdlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNv
bnRyb2xsZXIuY3BwIHRvIGNvbmZvcm0gdG8gV2ViS2l0CisgICAgICAgIFN0eWxlIEd1aWRlbGlu
ZXMgYXMgaWRlbnRpZmllZCBieSBjcHBsaW50LnB5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjc2MTMKKworICAgICAgICAqIHBhZ2UvQ29udGV4dE1l
bnVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxl
cjo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQpOgorCiAyMDA5LTA3LTIzICBYYW4gTG9wZXogIDx4
bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYXJrIFJvd2UuCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcCBiL1dlYkNvcmUv
cGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCmluZGV4IDU4ZTY1MTkuLjZkOWY5NmEgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCisrKyBiL1dl
YkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCkBAIC0zOSwxMSArMzksMTEgQEAK
ICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRm9ybVN0YXRlLmgiCiAjaW5jbHVk
ZSAiRnJhbWUuaCIKLSNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lTG9h
ZFJlcXVlc3QuaCIKKyNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgorI2luY2x1ZGUgIkhUTUxGb3Jt
RWxlbWVudC5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiSGl0VGVz
dFJlc3VsdC5oIgotI2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiTm9k
ZS5oIgpAQCAtMTI3LDIxNSArMTI3LDIxNSBAQCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6
Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoQ29udGV4dE1lbnVJdGVtKiBpdGVtKQogICAgIEZyYW1l
KiBmcmFtZSA9IHJlc3VsdC5pbm5lck5vblNoYXJlZE5vZGUoKS0+ZG9jdW1lbnQoKS0+ZnJhbWUo
KTsKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBzd2l0Y2gg
KGl0ZW0tPmFjdGlvbigpKSB7Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnT3Blbkxp
bmtJbk5ld1dpbmRvdzogCi0gICAgICAgICAgICBvcGVuTmV3V2luZG93KHJlc3VsdC5hYnNvbHV0
ZUxpbmtVUkwoKSwgZnJhbWUpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29u
dGV4dE1lbnVJdGVtVGFnRG93bmxvYWRMaW5rVG9EaXNrOgotICAgICAgICAgICAgLy8gRklYTUU6
IFNvbWUgZGF5IHdlIHNob3VsZCBiZSBhYmxlIHRvIGRvIHRoaXMgZnJvbSB3aXRoaW4gV2ViQ29y
ZS4KLSAgICAgICAgICAgIG1fY2xpZW50LT5kb3dubG9hZFVSTChyZXN1bHQuYWJzb2x1dGVMaW5r
VVJMKCkpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVt
VGFnQ29weUxpbmtUb0NsaXBib2FyZDoKLSAgICAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+Y29w
eVVSTChyZXN1bHQuYWJzb2x1dGVMaW5rVVJMKCksIHJlc3VsdC50ZXh0Q29udGVudCgpKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ09wZW5JbWFn
ZUluTmV3V2luZG93OgotICAgICAgICAgICAgb3Blbk5ld1dpbmRvdyhyZXN1bHQuYWJzb2x1dGVJ
bWFnZVVSTCgpLCBmcmFtZSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDb250
ZXh0TWVudUl0ZW1UYWdEb3dubG9hZEltYWdlVG9EaXNrOgotICAgICAgICAgICAgLy8gRklYTUU6
IFNvbWUgZGF5IHdlIHNob3VsZCBiZSBhYmxlIHRvIGRvIHRoaXMgZnJvbSB3aXRoaW4gV2ViQ29y
ZS4KLSAgICAgICAgICAgIG1fY2xpZW50LT5kb3dubG9hZFVSTChyZXN1bHQuYWJzb2x1dGVJbWFn
ZVVSTCgpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIENvbnRleHRNZW51SXRl
bVRhZ0NvcHlJbWFnZVRvQ2xpcGJvYXJkOgotICAgICAgICAgICAgLy8gRklYTUU6IFRoZSBQYXN0
ZWJvYXJkIGNsYXNzIGlzIG5vdCB3cml0dGVuIHlldAotICAgICAgICAgICAgLy8gRm9yIG5vdywg
Y2FsbCBpbnRvIHRoZSBjbGllbnQuIFRoaXMgaXMgdGVtcG9yYXJ5IQotICAgICAgICAgICAgZnJh
bWUtPmVkaXRvcigpLT5jb3B5SW1hZ2UocmVzdWx0KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3V2luZG93OiB7Ci0gICAg
ICAgICAgICBEb2N1bWVudExvYWRlciogbG9hZGVyID0gZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVu
dExvYWRlcigpOwotICAgICAgICAgICAgaWYgKCFsb2FkZXItPnVucmVhY2hhYmxlVVJMKCkuaXNF
bXB0eSgpKQotICAgICAgICAgICAgICAgIG9wZW5OZXdXaW5kb3cobG9hZGVyLT51bnJlYWNoYWJs
ZVVSTCgpLCBmcmFtZSk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgb3Blbk5l
d1dpbmRvdyhsb2FkZXItPnVybCgpLCBmcmFtZSk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICBj
YXNlIENvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rSW5OZXdXaW5kb3c6CisgICAgICAgIG9wZW5O
ZXdXaW5kb3cocmVzdWx0LmFic29sdXRlTGlua1VSTCgpLCBmcmFtZSk7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnRG93bmxvYWRMaW5rVG9EaXNrOgorICAgICAg
ICAvLyBGSVhNRTogU29tZSBkYXkgd2Ugc2hvdWxkIGJlIGFibGUgdG8gZG8gdGhpcyBmcm9tIHdp
dGhpbiBXZWJDb3JlLgorICAgICAgICBtX2NsaWVudC0+ZG93bmxvYWRVUkwocmVzdWx0LmFic29s
dXRlTGlua1VSTCgpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1U
YWdDb3B5TGlua1RvQ2xpcGJvYXJkOgorICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPmNvcHlVUkwo
cmVzdWx0LmFic29sdXRlTGlua1VSTCgpLCByZXN1bHQudGV4dENvbnRlbnQoKSk7CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnT3BlbkltYWdlSW5OZXdXaW5kb3c6
CisgICAgICAgIG9wZW5OZXdXaW5kb3cocmVzdWx0LmFic29sdXRlSW1hZ2VVUkwoKSwgZnJhbWUp
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0Rvd25sb2FkSW1h
Z2VUb0Rpc2s6CisgICAgICAgIC8vIEZJWE1FOiBTb21lIGRheSB3ZSBzaG91bGQgYmUgYWJsZSB0
byBkbyB0aGlzIGZyb20gd2l0aGluIFdlYkNvcmUuCisgICAgICAgIG1fY2xpZW50LT5kb3dubG9h
ZFVSTChyZXN1bHQuYWJzb2x1dGVJbWFnZVVSTCgpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBDb250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VUb0NsaXBib2FyZDoKKyAgICAgICAgLy8gRklY
TUU6IFRoZSBQYXN0ZWJvYXJkIGNsYXNzIGlzIG5vdCB3cml0dGVuIHlldAorICAgICAgICAvLyBG
b3Igbm93LCBjYWxsIGludG8gdGhlIGNsaWVudC4gVGhpcyBpcyB0ZW1wb3JhcnkhCisgICAgICAg
IGZyYW1lLT5lZGl0b3IoKS0+Y29weUltYWdlKHJlc3VsdCk7CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnT3BlbkZyYW1lSW5OZXdXaW5kb3c6IHsKKyAgICAgICAg
RG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IGZyYW1lLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIo
KTsKKyAgICAgICAgaWYgKCFsb2FkZXItPnVucmVhY2hhYmxlVVJMKCkuaXNFbXB0eSgpKQorICAg
ICAgICAgICAgb3Blbk5ld1dpbmRvdyhsb2FkZXItPnVucmVhY2hhYmxlVVJMKCksIGZyYW1lKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgb3Blbk5ld1dpbmRvdyhsb2FkZXItPnVybCgpLCBm
cmFtZSk7CisgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIGNhc2UgQ29udGV4dE1l
bnVJdGVtVGFnQ29weToKLSAgICAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+Y29weSgpOwotICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnR29CYWNrOgot
ICAgICAgICAgICAgZnJhbWUtPmxvYWRlcigpLT5nb0JhY2tPckZvcndhcmQoLTEpOwotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnR29Gb3J3YXJkOgot
ICAgICAgICAgICAgZnJhbWUtPmxvYWRlcigpLT5nb0JhY2tPckZvcndhcmQoMSk7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdTdG9wOgotICAgICAg
ICAgICAgZnJhbWUtPmxvYWRlcigpLT5zdG9wKCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdSZWxvYWQ6Ci0gICAgICAgICAgICBmcmFtZS0+bG9h
ZGVyKCktPnJlbG9hZCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29udGV4
dE1lbnVJdGVtVGFnQ3V0OgotICAgICAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5jdXQoKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1Bhc3RlOgot
ICAgICAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5wYXN0ZSgpOwotICAgICAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdDb3B5OgorICAgICAgICBmcmFtZS0+ZWRpdG9y
KCktPmNvcHkoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdH
b0JhY2s6CisgICAgICAgIGZyYW1lLT5sb2FkZXIoKS0+Z29CYWNrT3JGb3J3YXJkKC0xKTsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdHb0ZvcndhcmQ6CisgICAg
ICAgIGZyYW1lLT5sb2FkZXIoKS0+Z29CYWNrT3JGb3J3YXJkKDEpOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1N0b3A6CisgICAgICAgIGZyYW1lLT5sb2FkZXIo
KS0+c3RvcCgpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1Jl
bG9hZDoKKyAgICAgICAgZnJhbWUtPmxvYWRlcigpLT5yZWxvYWQoKTsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdDdXQ6CisgICAgICAgIGZyYW1lLT5lZGl0b3Io
KS0+Y3V0KCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnUGFz
dGU6CisgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+cGFzdGUoKTsKKyAgICAgICAgYnJlYWs7CiAj
aWYgUExBVEZPUk0oR1RLKQotICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0RlbGV0ZToK
LSAgICAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+cGVyZm9ybURlbGV0ZSgpOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxsOgotICAg
ICAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5jb21tYW5kKCJTZWxlY3RBbGwiKS5leGVjdXRlKCk7
Ci0gICAgICAgICAgICBicmVhazsKKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0RlbGV0ZToK
KyAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5wZXJmb3JtRGVsZXRlKCk7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxsOgorICAgICAgICBmcmFtZS0+
ZWRpdG9yKCktPmNvbW1hbmQoIlNlbGVjdEFsbCIpLmV4ZWN1dGUoKTsKKyAgICAgICAgYnJlYWs7
CiAjZW5kaWYKLSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdTcGVsbGluZ0d1ZXNzOgot
ICAgICAgICAgICAgQVNTRVJUKGZyYW1lLT5zZWxlY3RlZFRleHQoKS5sZW5ndGgoKSk7Ci0gICAg
ICAgICAgICBpZiAoZnJhbWUtPmVkaXRvcigpLT5zaG91bGRJbnNlcnRUZXh0KGl0ZW0tPnRpdGxl
KCksIGZyYW1lLT5zZWxlY3Rpb24oKS0+dG9Ob3JtYWxpemVkUmFuZ2UoKS5nZXQoKSwKLSAgICAg
ICAgICAgICAgICBFZGl0b3JJbnNlcnRBY3Rpb25QYXN0ZWQpKSB7Ci0gICAgICAgICAgICAgICAg
RG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUtPmRvY3VtZW50KCk7Ci0gICAgICAgICAgICAgICAg
UmVmUHRyPFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kPiBjb21tYW5kID0KLSAgICAgICAgICAgICAg
ICAgICAgUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6OmNyZWF0ZShkb2N1bWVudCwgY3JlYXRlRnJh
Z21lbnRGcm9tTWFya3VwKGRvY3VtZW50LCBpdGVtLT50aXRsZSgpLCAiIiksCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRydWUsIGZhbHNlLCB0cnVlKTsKLSAgICAgICAgICAgICAgICBhcHBs
eUNvbW1hbmQoY29tbWFuZCk7Ci0gICAgICAgICAgICAgICAgZnJhbWUtPnJldmVhbFNlbGVjdGlv
bihTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9FZGdlSWZOZWVkZWQpOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnSWdub3Jl
U3BlbGxpbmc6Ci0gICAgICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPmlnbm9yZVNwZWxsaW5nKCk7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdMZWFy
blNwZWxsaW5nOgotICAgICAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5sZWFyblNwZWxsaW5nKCk7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdTZWFy
Y2hXZWI6Ci0gICAgICAgICAgICBtX2NsaWVudC0+c2VhcmNoV2l0aEdvb2dsZShmcmFtZSk7Ci0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdMb29rVXBJ
bkRpY3Rpb25hcnk6Ci0gICAgICAgICAgICAvLyBGSVhNRTogU29tZSBkYXkgd2UgbWF5IGJlIGFi
bGUgdG8gZG8gdGhpcyBmcm9tIHdpdGhpbiBXZWJDb3JlLgotICAgICAgICAgICAgbV9jbGllbnQt
Pmxvb2tVcEluRGljdGlvbmFyeShmcmFtZSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
Y2FzZSBDb250ZXh0TWVudUl0ZW1UYWdPcGVuTGluazoKLSAgICAgICAgICAgIGlmIChGcmFtZSog
dGFyZ2V0RnJhbWUgPSByZXN1bHQudGFyZ2V0RnJhbWUoKSkgewotICAgICAgICAgICAgICAgIHRh
cmdldEZyYW1lLT5sb2FkZXIoKS0+bG9hZEZyYW1lUmVxdWVzdChGcmFtZUxvYWRSZXF1ZXN0KFJl
c291cmNlUmVxdWVzdChyZXN1bHQuYWJzb2x1dGVMaW5rVVJMKCksIAotICAgICAgICAgICAgICAg
ICAgICBmcmFtZS0+bG9hZGVyKCktPm91dGdvaW5nUmVmZXJyZXIoKSkpLCBmYWxzZSwgZmFsc2Us
IDAsIDApOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgb3Blbk5ld1dpbmRv
dyhyZXN1bHQuYWJzb2x1dGVMaW5rVVJMKCksIGZyYW1lKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0JvbGQ6Ci0gICAgICAgICAgICBmcmFtZS0+
ZWRpdG9yKCktPmNvbW1hbmQoIlRvZ2dsZUJvbGQiKS5leGVjdXRlKCk7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdJdGFsaWM6Ci0gICAgICAgICAg
ICBmcmFtZS0+ZWRpdG9yKCktPmNvbW1hbmQoIlRvZ2dsZUl0YWxpYyIpLmV4ZWN1dGUoKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1VuZGVybGlu
ZToKLSAgICAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+dG9nZ2xlVW5kZXJsaW5lKCk7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdPdXRsaW5lOgot
ICAgICAgICAgICAgLy8gV2UgYWN0dWFsbHkgbmV2ZXIgZW5hYmxlIHRoaXMgYmVjYXVzZSBDU1Mg
ZG9lcyBub3QgaGF2ZSBhIHdheSB0byBzcGVjaWZ5IGFuIG91dGxpbmUgZm9udCwKLSAgICAgICAg
ICAgIC8vIHdoaWNoIG1heSBtYWtlIHRoaXMgZGlmZmljdWx0IHRvIGltcGxlbWVudC4gTWF5YmUg
YSBzcGVjaWFsIGNhc2Ugb2YgdGV4dC1zaGFkb3c/Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdTdGFydFNwZWFraW5nOiB7Ci0gICAgICAgICAgICBF
eGNlcHRpb25Db2RlIGVjOwotICAgICAgICAgICAgUmVmUHRyPFJhbmdlPiBzZWxlY3RlZFJhbmdl
ID0gZnJhbWUtPnNlbGVjdGlvbigpLT50b05vcm1hbGl6ZWRSYW5nZSgpOwotICAgICAgICAgICAg
aWYgKCFzZWxlY3RlZFJhbmdlIHx8IHNlbGVjdGVkUmFuZ2UtPmNvbGxhcHNlZChlYykpIHsKLSAg
ICAgICAgICAgICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSByZXN1bHQuaW5uZXJOb25TaGFyZWRO
b2RlKCktPmRvY3VtZW50KCk7Ci0gICAgICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZSA9IGRvY3Vt
ZW50LT5jcmVhdGVSYW5nZSgpOwotICAgICAgICAgICAgICAgIHNlbGVjdGVkUmFuZ2UtPnNlbGVj
dE5vZGUoZG9jdW1lbnQtPmRvY3VtZW50RWxlbWVudCgpLCBlYyk7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBtX2NsaWVudC0+c3BlYWsocGxhaW5UZXh0KHNlbGVjdGVkUmFuZ2UuZ2V0KCkp
KTsKLSAgICAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnU3BlbGxp
bmdHdWVzczoKKyAgICAgICAgQVNTRVJUKGZyYW1lLT5zZWxlY3RlZFRleHQoKS5sZW5ndGgoKSk7
CisgICAgICAgIGlmIChmcmFtZS0+ZWRpdG9yKCktPnNob3VsZEluc2VydFRleHQoaXRlbS0+dGl0
bGUoKSwgZnJhbWUtPnNlbGVjdGlvbigpLT50b05vcm1hbGl6ZWRSYW5nZSgpLmdldCgpLAorICAg
ICAgICAgICAgRWRpdG9ySW5zZXJ0QWN0aW9uUGFzdGVkKSkgeworICAgICAgICAgICAgRG9jdW1l
bnQqIGRvY3VtZW50ID0gZnJhbWUtPmRvY3VtZW50KCk7CisgICAgICAgICAgICBSZWZQdHI8UmVw
bGFjZVNlbGVjdGlvbkNvbW1hbmQ+IGNvbW1hbmQgPQorICAgICAgICAgICAgICAgIFJlcGxhY2VT
ZWxlY3Rpb25Db21tYW5kOjpjcmVhdGUoZG9jdW1lbnQsIGNyZWF0ZUZyYWdtZW50RnJvbU1hcmt1
cChkb2N1bWVudCwgaXRlbS0+dGl0bGUoKSwgIiIpLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRy
dWUsIGZhbHNlLCB0cnVlKTsKKyAgICAgICAgICAgIGFwcGx5Q29tbWFuZChjb21tYW5kKTsKKyAg
ICAgICAgICAgIGZyYW1lLT5yZXZlYWxTZWxlY3Rpb24oU2Nyb2xsQWxpZ25tZW50OjphbGlnblRv
RWRnZUlmTmVlZGVkKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICBjYXNlIENvbnRl
eHRNZW51SXRlbVRhZ0lnbm9yZVNwZWxsaW5nOgorICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPmln
bm9yZVNwZWxsaW5nKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVt
VGFnTGVhcm5TcGVsbGluZzoKKyAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5sZWFyblNwZWxsaW5n
KCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnU2VhcmNoV2Vi
OgorICAgICAgICBtX2NsaWVudC0+c2VhcmNoV2l0aEdvb2dsZShmcmFtZSk7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnTG9va1VwSW5EaWN0aW9uYXJ5OgorICAg
ICAgICAvLyBGSVhNRTogU29tZSBkYXkgd2UgbWF5IGJlIGFibGUgdG8gZG8gdGhpcyBmcm9tIHdp
dGhpbiBXZWJDb3JlLgorICAgICAgICBtX2NsaWVudC0+bG9va1VwSW5EaWN0aW9uYXJ5KGZyYW1l
KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdPcGVuTGluazoK
KyAgICAgICAgaWYgKEZyYW1lKiB0YXJnZXRGcmFtZSA9IHJlc3VsdC50YXJnZXRGcmFtZSgpKSB7
CisgICAgICAgICAgICB0YXJnZXRGcmFtZS0+bG9hZGVyKCktPmxvYWRGcmFtZVJlcXVlc3QoRnJh
bWVMb2FkUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QocmVzdWx0LmFic29sdXRlTGlua1VSTCgpLAor
ICAgICAgICAgICAgICAgIGZyYW1lLT5sb2FkZXIoKS0+b3V0Z29pbmdSZWZlcnJlcigpKSksIGZh
bHNlLCBmYWxzZSwgMCwgMCk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgb3Blbk5ld1dp
bmRvdyhyZXN1bHQuYWJzb2x1dGVMaW5rVVJMKCksIGZyYW1lKTsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdCb2xkOgorICAgICAgICBmcmFtZS0+ZWRpdG9yKCkt
PmNvbW1hbmQoIlRvZ2dsZUJvbGQiKS5leGVjdXRlKCk7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgQ29udGV4dE1lbnVJdGVtVGFnSXRhbGljOgorICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPmNv
bW1hbmQoIlRvZ2dsZUl0YWxpYyIpLmV4ZWN1dGUoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBDb250ZXh0TWVudUl0ZW1UYWdVbmRlcmxpbmU6CisgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+
dG9nZ2xlVW5kZXJsaW5lKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJ
dGVtVGFnT3V0bGluZToKKyAgICAgICAgLy8gV2UgYWN0dWFsbHkgbmV2ZXIgZW5hYmxlIHRoaXMg
YmVjYXVzZSBDU1MgZG9lcyBub3QgaGF2ZSBhIHdheSB0byBzcGVjaWZ5IGFuIG91dGxpbmUgZm9u
dCwKKyAgICAgICAgLy8gd2hpY2ggbWF5IG1ha2UgdGhpcyBkaWZmaWN1bHQgdG8gaW1wbGVtZW50
LiBNYXliZSBhIHNwZWNpYWwgY2FzZSBvZiB0ZXh0LXNoYWRvdz8KKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdTdGFydFNwZWFraW5nOiB7CisgICAgICAgIEV4Y2Vw
dGlvbkNvZGUgZWM7CisgICAgICAgIFJlZlB0cjxSYW5nZT4gc2VsZWN0ZWRSYW5nZSA9IGZyYW1l
LT5zZWxlY3Rpb24oKS0+dG9Ob3JtYWxpemVkUmFuZ2UoKTsKKyAgICAgICAgaWYgKCFzZWxlY3Rl
ZFJhbmdlIHx8IHNlbGVjdGVkUmFuZ2UtPmNvbGxhcHNlZChlYykpIHsKKyAgICAgICAgICAgIERv
Y3VtZW50KiBkb2N1bWVudCA9IHJlc3VsdC5pbm5lck5vblNoYXJlZE5vZGUoKS0+ZG9jdW1lbnQo
KTsKKyAgICAgICAgICAgIHNlbGVjdGVkUmFuZ2UgPSBkb2N1bWVudC0+Y3JlYXRlUmFuZ2UoKTsK
KyAgICAgICAgICAgIHNlbGVjdGVkUmFuZ2UtPnNlbGVjdE5vZGUoZG9jdW1lbnQtPmRvY3VtZW50
RWxlbWVudCgpLCBlYyk7CiAgICAgICAgIH0KLSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1U
YWdTdG9wU3BlYWtpbmc6Ci0gICAgICAgICAgICBtX2NsaWVudC0+c3RvcFNwZWFraW5nKCk7Ci0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdEZWZhdWx0
RGlyZWN0aW9uOgotICAgICAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5zZXRCYXNlV3JpdGluZ0Rp
cmVjdGlvbihOYXR1cmFsV3JpdGluZ0RpcmVjdGlvbik7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdMZWZ0VG9SaWdodDoKLSAgICAgICAgICAgIGZy
YW1lLT5lZGl0b3IoKS0+c2V0QmFzZVdyaXRpbmdEaXJlY3Rpb24oTGVmdFRvUmlnaHRXcml0aW5n
RGlyZWN0aW9uKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIENvbnRleHRNZW51
SXRlbVRhZ1JpZ2h0VG9MZWZ0OgotICAgICAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5zZXRCYXNl
V3JpdGluZ0RpcmVjdGlvbihSaWdodFRvTGVmdFdyaXRpbmdEaXJlY3Rpb24pOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbkRl
ZmF1bHQ6Ci0gICAgICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPmNvbW1hbmQoIk1ha2VUZXh0V3Jp
dGluZ0RpcmVjdGlvbk5hdHVyYWwiKS5leGVjdXRlKCk7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uTGVmdFRvUmlnaHQ6Ci0g
ICAgICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPmNvbW1hbmQoIk1ha2VUZXh0V3JpdGluZ0RpcmVj
dGlvbkxlZnRUb1JpZ2h0IikuZXhlY3V0ZSgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvblJpZ2h0VG9MZWZ0OgotICAgICAg
ICAgICAgZnJhbWUtPmVkaXRvcigpLT5jb21tYW5kKCJNYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb25S
aWdodFRvTGVmdCIpLmV4ZWN1dGUoKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICBtX2Ns
aWVudC0+c3BlYWsocGxhaW5UZXh0KHNlbGVjdGVkUmFuZ2UuZ2V0KCkpKTsKKyAgICAgICAgYnJl
YWs7CisgICAgfQorICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnU3RvcFNwZWFraW5nOgorICAg
ICAgICBtX2NsaWVudC0+c3RvcFNwZWFraW5nKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
Q29udGV4dE1lbnVJdGVtVGFnRGVmYXVsdERpcmVjdGlvbjoKKyAgICAgICAgZnJhbWUtPmVkaXRv
cigpLT5zZXRCYXNlV3JpdGluZ0RpcmVjdGlvbihOYXR1cmFsV3JpdGluZ0RpcmVjdGlvbik7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnTGVmdFRvUmlnaHQ6Cisg
ICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+c2V0QmFzZVdyaXRpbmdEaXJlY3Rpb24oTGVmdFRvUmln
aHRXcml0aW5nRGlyZWN0aW9uKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb250ZXh0TWVu
dUl0ZW1UYWdSaWdodFRvTGVmdDoKKyAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5zZXRCYXNlV3Jp
dGluZ0RpcmVjdGlvbihSaWdodFRvTGVmdFdyaXRpbmdEaXJlY3Rpb24pOworICAgICAgICBicmVh
azsKKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25EZWZhdWx0OgorICAg
ICAgICBmcmFtZS0+ZWRpdG9yKCktPmNvbW1hbmQoIk1ha2VUZXh0V3JpdGluZ0RpcmVjdGlvbk5h
dHVyYWwiKS5leGVjdXRlKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJ
dGVtVGFnVGV4dERpcmVjdGlvbkxlZnRUb1JpZ2h0OgorICAgICAgICBmcmFtZS0+ZWRpdG9yKCkt
PmNvbW1hbmQoIk1ha2VUZXh0V3JpdGluZ0RpcmVjdGlvbkxlZnRUb1JpZ2h0IikuZXhlY3V0ZSgp
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rp
b25SaWdodFRvTGVmdDoKKyAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5jb21tYW5kKCJNYWtlVGV4
dFdyaXRpbmdEaXJlY3Rpb25SaWdodFRvTGVmdCIpLmV4ZWN1dGUoKTsKKyAgICAgICAgYnJlYWs7
CiAjaWYgUExBVEZPUk0oTUFDKQotICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1NlYXJj
aEluU3BvdGxpZ2h0OgotICAgICAgICAgICAgbV9jbGllbnQtPnNlYXJjaFdpdGhTcG90bGlnaHQo
KTsKLSAgICAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnU2VhcmNo
SW5TcG90bGlnaHQ6CisgICAgICAgIG1fY2xpZW50LT5zZWFyY2hXaXRoU3BvdGxpZ2h0KCk7Cisg
ICAgICAgIGJyZWFrOwogI2VuZGlmCi0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnU2hv
d1NwZWxsaW5nUGFuZWw6Ci0gICAgICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPnNob3dTcGVsbGlu
Z0d1ZXNzUGFuZWwoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIENvbnRleHRN
ZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmc6Ci0gICAgICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPmFk
dmFuY2VUb05leHRNaXNzcGVsbGluZygpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNh
c2UgQ29udGV4dE1lbnVJdGVtVGFnQ2hlY2tTcGVsbGluZ1doaWxlVHlwaW5nOgotICAgICAgICAg
ICAgZnJhbWUtPmVkaXRvcigpLT50b2dnbGVDb250aW51b3VzU3BlbGxDaGVja2luZygpOwotICAg
ICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdTaG93U3BlbGxpbmdQ
YW5lbDoKKyAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5zaG93U3BlbGxpbmdHdWVzc1BhbmVsKCk7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnQ2hlY2tTcGVsbGlu
ZzoKKyAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5hZHZhbmNlVG9OZXh0TWlzc3BlbGxpbmcoKTsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdDaGVja1NwZWxsaW5n
V2hpbGVUeXBpbmc6CisgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+dG9nZ2xlQ29udGludW91c1Nw
ZWxsQ2hlY2tpbmcoKTsKKyAgICAgICAgYnJlYWs7CiAjaWZuZGVmIEJVSUxESU5HX09OX1RJR0VS
Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnQ2hlY2tHcmFtbWFyV2l0aFNwZWxsaW5n
OgotICAgICAgICAgICAgZnJhbWUtPmVkaXRvcigpLT50b2dnbGVHcmFtbWFyQ2hlY2tpbmcoKTsK
LSAgICAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnQ2hlY2tHcmFt
bWFyV2l0aFNwZWxsaW5nOgorICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPnRvZ2dsZUdyYW1tYXJD
aGVja2luZygpOworICAgICAgICBicmVhazsKICNlbmRpZgogI2lmIFBMQVRGT1JNKE1BQykKLSAg
ICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdTaG93Rm9udHM6Ci0gICAgICAgICAgICBmcmFt
ZS0+ZWRpdG9yKCktPnNob3dGb250UGFuZWwoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1N0eWxlczoKLSAgICAgICAgICAgIGZyYW1lLT5lZGl0
b3IoKS0+c2hvd1N0eWxlc1BhbmVsKCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2Fz
ZSBDb250ZXh0TWVudUl0ZW1UYWdTaG93Q29sb3JzOgotICAgICAgICAgICAgZnJhbWUtPmVkaXRv
cigpLT5zaG93Q29sb3JQYW5lbCgpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb250
ZXh0TWVudUl0ZW1UYWdTaG93Rm9udHM6CisgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+c2hvd0Zv
bnRQYW5lbCgpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1N0
eWxlczoKKyAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5zaG93U3R5bGVzUGFuZWwoKTsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdTaG93Q29sb3JzOgorICAgICAg
ICBmcmFtZS0+ZWRpdG9yKCktPnNob3dDb2xvclBhbmVsKCk7CisgICAgICAgIGJyZWFrOwogI2Vu
ZGlmCiAjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9USUdFUikgJiYg
IWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkKLSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0
ZW1UYWdNYWtlVXBwZXJDYXNlOgotICAgICAgICAgICAgZnJhbWUtPmVkaXRvcigpLT51cHBlcmNh
c2VXb3JkKCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0
ZW1UYWdNYWtlTG93ZXJDYXNlOgotICAgICAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5sb3dlcmNh
c2VXb3JkKCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0
ZW1UYWdDYXBpdGFsaXplOgotICAgICAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5jYXBpdGFsaXpl
V29yZCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVt
VGFnU2hvd1N1YnN0aXR1dGlvbnM6Ci0gICAgICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPnNob3dT
dWJzdGl0dXRpb25zUGFuZWwoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIENv
bnRleHRNZW51SXRlbVRhZ1NtYXJ0Q29weVBhc3RlOgotICAgICAgICAgICAgZnJhbWUtPmVkaXRv
cigpLT50b2dnbGVTbWFydEluc2VydERlbGV0ZSgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnU21hcnRRdW90ZXM6Ci0gICAgICAgICAgICBmcmFt
ZS0+ZWRpdG9yKCktPnRvZ2dsZUF1dG9tYXRpY1F1b3RlU3Vic3RpdHV0aW9uKCk7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdTbWFydERhc2hlczoK
LSAgICAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+dG9nZ2xlQXV0b21hdGljRGFzaFN1YnN0aXR1
dGlvbigpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVt
VGFnU21hcnRMaW5rczoKLSAgICAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+dG9nZ2xlQXV0b21h
dGljTGlua0RldGVjdGlvbigpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29u
dGV4dE1lbnVJdGVtVGFnVGV4dFJlcGxhY2VtZW50OgotICAgICAgICAgICAgZnJhbWUtPmVkaXRv
cigpLT50b2dnbGVBdXRvbWF0aWNUZXh0UmVwbGFjZW1lbnQoKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0NvcnJlY3RTcGVsbGluZ0F1dG9tYXRp
Y2FsbHk6Ci0gICAgICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPnRvZ2dsZUF1dG9tYXRpY1NwZWxs
aW5nQ29ycmVjdGlvbigpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29udGV4
dE1lbnVJdGVtVGFnQ2hhbmdlQmFjazoKLSAgICAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+Y2hh
bmdlQmFja1RvUmVwbGFjZWRTdHJpbmcocmVzdWx0LnJlcGxhY2VkU3RyaW5nKCkpOwotICAgICAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdNYWtlVXBwZXJDYXNlOgor
ICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPnVwcGVyY2FzZVdvcmQoKTsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdNYWtlTG93ZXJDYXNlOgorICAgICAgICBmcmFt
ZS0+ZWRpdG9yKCktPmxvd2VyY2FzZVdvcmQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBD
b250ZXh0TWVudUl0ZW1UYWdDYXBpdGFsaXplOgorICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPmNh
cGl0YWxpemVXb3JkKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVt
VGFnU2hvd1N1YnN0aXR1dGlvbnM6CisgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+c2hvd1N1YnN0
aXR1dGlvbnNQYW5lbCgpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENvbnRleHRNZW51SXRl
bVRhZ1NtYXJ0Q29weVBhc3RlOgorICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPnRvZ2dsZVNtYXJ0
SW5zZXJ0RGVsZXRlKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVt
VGFnU21hcnRRdW90ZXM6CisgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+dG9nZ2xlQXV0b21hdGlj
UXVvdGVTdWJzdGl0dXRpb24oKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb250ZXh0TWVu
dUl0ZW1UYWdTbWFydERhc2hlczoKKyAgICAgICAgZnJhbWUtPmVkaXRvcigpLT50b2dnbGVBdXRv
bWF0aWNEYXNoU3Vic3RpdHV0aW9uKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4
dE1lbnVJdGVtVGFnU21hcnRMaW5rczoKKyAgICAgICAgZnJhbWUtPmVkaXRvcigpLT50b2dnbGVB
dXRvbWF0aWNMaW5rRGV0ZWN0aW9uKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4
dE1lbnVJdGVtVGFnVGV4dFJlcGxhY2VtZW50OgorICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPnRv
Z2dsZUF1dG9tYXRpY1RleHRSZXBsYWNlbWVudCgpOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IENvbnRleHRNZW51SXRlbVRhZ0NvcnJlY3RTcGVsbGluZ0F1dG9tYXRpY2FsbHk6CisgICAgICAg
IGZyYW1lLT5lZGl0b3IoKS0+dG9nZ2xlQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uKCk7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnQ2hhbmdlQmFjazoKKyAg
ICAgICAgZnJhbWUtPmVkaXRvcigpLT5jaGFuZ2VCYWNrVG9SZXBsYWNlZFN0cmluZyhyZXN1bHQu
cmVwbGFjZWRTdHJpbmcoKSk7CisgICAgICAgIGJyZWFrOwogI2VuZGlmCi0gICAgICAgIGNhc2Ug
Q29udGV4dE1lbnVJdGVtVGFnSW5zcGVjdEVsZW1lbnQ6Ci0gICAgICAgICAgICBpZiAoUGFnZSog
cGFnZSA9IGZyYW1lLT5wYWdlKCkpCi0gICAgICAgICAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29u
dHJvbGxlcigpLT5pbnNwZWN0KHJlc3VsdC5pbm5lck5vblNoYXJlZE5vZGUoKSk7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIGJyZWFrOworICAgIGNh
c2UgQ29udGV4dE1lbnVJdGVtVGFnSW5zcGVjdEVsZW1lbnQ6CisgICAgICAgIGlmIChQYWdlKiBw
YWdlID0gZnJhbWUtPnBhZ2UoKSkKKyAgICAgICAgICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xs
ZXIoKS0+aW5zcGVjdChyZXN1bHQuaW5uZXJOb25TaGFyZWROb2RlKCkpOworICAgICAgICBicmVh
azsKKyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKICAgICB9CiB9CiAK
</data>
<flag name="review"
          id="17646"
          type_id="1"
          status="-"
          setter="levin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33714</attachid>
            <date>2009-07-29 07:36:08 -0700</date>
            <delta_ts>2009-07-29 07:46:48 -0700</delta_ts>
            <desc>Replacement patch for ContextMenuController.cpp style fixes.</desc>
            <filename>revisedContextMenuControllerStylePatch.diff</filename>
            <type>text/plain</type>
            <size>19211</size>
            <attacher name="Mike Fenton">mifenton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YTZjZGNlZC4uNjlhYTgwNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAwOS0wNy0yOCAgTWlrZSBGZW50b24g
IDxtaWtlLmZlbnRvbkB0b3JjaG1vYmlsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIFdlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNv
bnRyb2xsZXIuY3BwIHRvIGNvbmZvcm0gdG8gV2ViS2l0CisgICAgICAgIFN0eWxlIEd1aWRlbGlu
ZXMgYXMgaWRlbnRpZmllZCBieSBjcHBfc3R5bGUucHkuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzYxMworCisgICAgICAgICogcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6b3Blbk5ld1dpbmRvdyk6Cisg
ICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNvbnRyb2xsZXI6OmNvbnRleHRNZW51SXRlbVNl
bGVjdGVkKToKKwogMjAwOS0wNy0yOCAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgR3VzdGF2byBOb3JvbmhhLgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAgYi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1l
bnVDb250cm9sbGVyLmNwcAppbmRleCA1OGU2NTE5Li4wZWM5ZDFjIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvQ29u
dGV4dE1lbnVDb250cm9sbGVyLmNwcApAQCAtMzksMTEgKzM5LDExIEBACiAjaW5jbHVkZSAiRXZl
bnROYW1lcy5oIgogI2luY2x1ZGUgIkZvcm1TdGF0ZS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCi0j
aW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRSZXF1ZXN0LmgiCisj
aW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKKyNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKICNp
bmNsdWRlICJIaXRUZXN0UmVxdWVzdC5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKLSNp
bmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIk5vZGUuaCIKQEAgLTEwOCw4
ICsxMDgsNyBAQCBzdGF0aWMgdm9pZCBvcGVuTmV3V2luZG93KGNvbnN0IEtVUkwmIHVybFRvTG9h
ZCwgRnJhbWUqIGZyYW1lKQogewogICAgIGlmIChQYWdlKiBvbGRQYWdlID0gZnJhbWUtPnBhZ2Uo
KSkgewogICAgICAgICBXaW5kb3dGZWF0dXJlcyBmZWF0dXJlczsKLSAgICAgICAgaWYgKFBhZ2Uq
IG5ld1BhZ2UgPSBvbGRQYWdlLT5jaHJvbWUoKS0+Y3JlYXRlV2luZG93KGZyYW1lLAotICAgICAg
ICAgICAgICAgIEZyYW1lTG9hZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0KHVybFRvTG9hZCwgZnJh
bWUtPmxvYWRlcigpLT5vdXRnb2luZ1JlZmVycmVyKCkpKSwgZmVhdHVyZXMpKQorICAgICAgICBp
ZiAoUGFnZSogbmV3UGFnZSA9IG9sZFBhZ2UtPmNocm9tZSgpLT5jcmVhdGVXaW5kb3coZnJhbWUs
IEZyYW1lTG9hZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0KHVybFRvTG9hZCwgZnJhbWUtPmxvYWRl
cigpLT5vdXRnb2luZ1JlZmVycmVyKCkpKSwgZmVhdHVyZXMpKQogICAgICAgICAgICAgbmV3UGFn
ZS0+Y2hyb21lKCktPnNob3coKTsKICAgICB9CiB9CkBAIC0xMjcsMjE1ICsxMjYsMjExIEBAIHZv
aWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpjb250ZXh0TWVudUl0ZW1TZWxlY3RlZChDb250ZXh0
TWVudUl0ZW0qIGl0ZW0pCiAgICAgRnJhbWUqIGZyYW1lID0gcmVzdWx0LmlubmVyTm9uU2hhcmVk
Tm9kZSgpLT5kb2N1bWVudCgpLT5mcmFtZSgpOwogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJl
dHVybjsKLSAgICAKKwogICAgIHN3aXRjaCAoaXRlbS0+YWN0aW9uKCkpIHsKLSAgICAgICAgY2Fz
ZSBDb250ZXh0TWVudUl0ZW1UYWdPcGVuTGlua0luTmV3V2luZG93OiAKLSAgICAgICAgICAgIG9w
ZW5OZXdXaW5kb3cocmVzdWx0LmFic29sdXRlTGlua1VSTCgpLCBmcmFtZSk7Ci0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdEb3dubG9hZExpbmtUb0Rp
c2s6Ci0gICAgICAgICAgICAvLyBGSVhNRTogU29tZSBkYXkgd2Ugc2hvdWxkIGJlIGFibGUgdG8g
ZG8gdGhpcyBmcm9tIHdpdGhpbiBXZWJDb3JlLgotICAgICAgICAgICAgbV9jbGllbnQtPmRvd25s
b2FkVVJMKHJlc3VsdC5hYnNvbHV0ZUxpbmtVUkwoKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdDb3B5TGlua1RvQ2xpcGJvYXJkOgotICAgICAg
ICAgICAgZnJhbWUtPmVkaXRvcigpLT5jb3B5VVJMKHJlc3VsdC5hYnNvbHV0ZUxpbmtVUkwoKSwg
cmVzdWx0LnRleHRDb250ZW50KCkpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2Ug
Q29udGV4dE1lbnVJdGVtVGFnT3BlbkltYWdlSW5OZXdXaW5kb3c6Ci0gICAgICAgICAgICBvcGVu
TmV3V2luZG93KHJlc3VsdC5hYnNvbHV0ZUltYWdlVVJMKCksIGZyYW1lKTsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0Rvd25sb2FkSW1hZ2VUb0Rp
c2s6Ci0gICAgICAgICAgICAvLyBGSVhNRTogU29tZSBkYXkgd2Ugc2hvdWxkIGJlIGFibGUgdG8g
ZG8gdGhpcyBmcm9tIHdpdGhpbiBXZWJDb3JlLgotICAgICAgICAgICAgbV9jbGllbnQtPmRvd25s
b2FkVVJMKHJlc3VsdC5hYnNvbHV0ZUltYWdlVVJMKCkpOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVG9DbGlwYm9hcmQ6Ci0gICAg
ICAgICAgICAvLyBGSVhNRTogVGhlIFBhc3RlYm9hcmQgY2xhc3MgaXMgbm90IHdyaXR0ZW4geWV0
Ci0gICAgICAgICAgICAvLyBGb3Igbm93LCBjYWxsIGludG8gdGhlIGNsaWVudC4gVGhpcyBpcyB0
ZW1wb3JhcnkhCi0gICAgICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPmNvcHlJbWFnZShyZXN1bHQp
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnT3Bl
bkZyYW1lSW5OZXdXaW5kb3c6IHsKLSAgICAgICAgICAgIERvY3VtZW50TG9hZGVyKiBsb2FkZXIg
PSBmcmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCk7Ci0gICAgICAgICAgICBpZiAoIWxv
YWRlci0+dW5yZWFjaGFibGVVUkwoKS5pc0VtcHR5KCkpCi0gICAgICAgICAgICAgICAgb3Blbk5l
d1dpbmRvdyhsb2FkZXItPnVucmVhY2hhYmxlVVJMKCksIGZyYW1lKTsKLSAgICAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgICAgICBvcGVuTmV3V2luZG93KGxvYWRlci0+dXJsKCksIGZyYW1lKTsK
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJ
dGVtVGFnQ29weToKLSAgICAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+Y29weSgpOwotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnR29CYWNrOgotICAg
ICAgICAgICAgZnJhbWUtPmxvYWRlcigpLT5nb0JhY2tPckZvcndhcmQoLTEpOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnR29Gb3J3YXJkOgotICAg
ICAgICAgICAgZnJhbWUtPmxvYWRlcigpLT5nb0JhY2tPckZvcndhcmQoMSk7Ci0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdTdG9wOgotICAgICAgICAg
ICAgZnJhbWUtPmxvYWRlcigpLT5zdG9wKCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
Y2FzZSBDb250ZXh0TWVudUl0ZW1UYWdSZWxvYWQ6Ci0gICAgICAgICAgICBmcmFtZS0+bG9hZGVy
KCktPnJlbG9hZCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29udGV4dE1l
bnVJdGVtVGFnQ3V0OgotICAgICAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5jdXQoKTsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1Bhc3RlOgotICAg
ICAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5wYXN0ZSgpOwotICAgICAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdPcGVuTGlua0luTmV3V2luZG93OgorICAgICAgICBv
cGVuTmV3V2luZG93KHJlc3VsdC5hYnNvbHV0ZUxpbmtVUkwoKSwgZnJhbWUpOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0Rvd25sb2FkTGlua1RvRGlzazoKKyAg
ICAgICAgLy8gRklYTUU6IFNvbWUgZGF5IHdlIHNob3VsZCBiZSBhYmxlIHRvIGRvIHRoaXMgZnJv
bSB3aXRoaW4gV2ViQ29yZS4KKyAgICAgICAgbV9jbGllbnQtPmRvd25sb2FkVVJMKHJlc3VsdC5h
YnNvbHV0ZUxpbmtVUkwoKSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJ
dGVtVGFnQ29weUxpbmtUb0NsaXBib2FyZDoKKyAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5jb3B5
VVJMKHJlc3VsdC5hYnNvbHV0ZUxpbmtVUkwoKSwgcmVzdWx0LnRleHRDb250ZW50KCkpOworICAg
ICAgICBicmVhazsKKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ09wZW5JbWFnZUluTmV3V2lu
ZG93OgorICAgICAgICBvcGVuTmV3V2luZG93KHJlc3VsdC5hYnNvbHV0ZUltYWdlVVJMKCksIGZy
YW1lKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdEb3dubG9h
ZEltYWdlVG9EaXNrOgorICAgICAgICAvLyBGSVhNRTogU29tZSBkYXkgd2Ugc2hvdWxkIGJlIGFi
bGUgdG8gZG8gdGhpcyBmcm9tIHdpdGhpbiBXZWJDb3JlLgorICAgICAgICBtX2NsaWVudC0+ZG93
bmxvYWRVUkwocmVzdWx0LmFic29sdXRlSW1hZ2VVUkwoKSk7CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVG9DbGlwYm9hcmQ6CisgICAgICAgIC8v
IEZJWE1FOiBUaGUgUGFzdGVib2FyZCBjbGFzcyBpcyBub3Qgd3JpdHRlbiB5ZXQKKyAgICAgICAg
Ly8gRm9yIG5vdywgY2FsbCBpbnRvIHRoZSBjbGllbnQuIFRoaXMgaXMgdGVtcG9yYXJ5IQorICAg
ICAgICBmcmFtZS0+ZWRpdG9yKCktPmNvcHlJbWFnZShyZXN1bHQpOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3V2luZG93OiB7CisgICAg
ICAgIERvY3VtZW50TG9hZGVyKiBsb2FkZXIgPSBmcmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9h
ZGVyKCk7CisgICAgICAgIGlmICghbG9hZGVyLT51bnJlYWNoYWJsZVVSTCgpLmlzRW1wdHkoKSkK
KyAgICAgICAgICAgIG9wZW5OZXdXaW5kb3cobG9hZGVyLT51bnJlYWNoYWJsZVVSTCgpLCBmcmFt
ZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG9wZW5OZXdXaW5kb3cobG9hZGVyLT51cmwo
KSwgZnJhbWUpOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgY2FzZSBDb250ZXh0TWVudUl0
ZW1UYWdDb3B5OgorICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPmNvcHkoKTsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdHb0JhY2s6CisgICAgICAgIGZyYW1lLT5s
b2FkZXIoKS0+Z29CYWNrT3JGb3J3YXJkKC0xKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBD
b250ZXh0TWVudUl0ZW1UYWdHb0ZvcndhcmQ6CisgICAgICAgIGZyYW1lLT5sb2FkZXIoKS0+Z29C
YWNrT3JGb3J3YXJkKDEpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENvbnRleHRNZW51SXRl
bVRhZ1N0b3A6CisgICAgICAgIGZyYW1lLT5sb2FkZXIoKS0+c3RvcCgpOworICAgICAgICBicmVh
azsKKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1JlbG9hZDoKKyAgICAgICAgZnJhbWUtPmxv
YWRlcigpLT5yZWxvYWQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb250ZXh0TWVudUl0
ZW1UYWdDdXQ6CisgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+Y3V0KCk7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnUGFzdGU6CisgICAgICAgIGZyYW1lLT5lZGl0
b3IoKS0+cGFzdGUoKTsKKyAgICAgICAgYnJlYWs7CiAjaWYgUExBVEZPUk0oR1RLKQotICAgICAg
ICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0RlbGV0ZToKLSAgICAgICAgICAgIGZyYW1lLT5lZGl0
b3IoKS0+cGVyZm9ybURlbGV0ZSgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2Ug
Q29udGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxsOgotICAgICAgICAgICAgZnJhbWUtPmVkaXRvcigp
LT5jb21tYW5kKCJTZWxlY3RBbGwiKS5leGVjdXRlKCk7Ci0gICAgICAgICAgICBicmVhazsKKyAg
ICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0RlbGV0ZToKKyAgICAgICAgZnJhbWUtPmVkaXRvcigp
LT5wZXJmb3JtRGVsZXRlKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJ
dGVtVGFnU2VsZWN0QWxsOgorICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPmNvbW1hbmQoIlNlbGVj
dEFsbCIpLmV4ZWN1dGUoKTsKKyAgICAgICAgYnJlYWs7CiAjZW5kaWYKLSAgICAgICAgY2FzZSBD
b250ZXh0TWVudUl0ZW1UYWdTcGVsbGluZ0d1ZXNzOgotICAgICAgICAgICAgQVNTRVJUKGZyYW1l
LT5zZWxlY3RlZFRleHQoKS5sZW5ndGgoKSk7Ci0gICAgICAgICAgICBpZiAoZnJhbWUtPmVkaXRv
cigpLT5zaG91bGRJbnNlcnRUZXh0KGl0ZW0tPnRpdGxlKCksIGZyYW1lLT5zZWxlY3Rpb24oKS0+
dG9Ob3JtYWxpemVkUmFuZ2UoKS5nZXQoKSwKLSAgICAgICAgICAgICAgICBFZGl0b3JJbnNlcnRB
Y3Rpb25QYXN0ZWQpKSB7Ci0gICAgICAgICAgICAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJh
bWUtPmRvY3VtZW50KCk7Ci0gICAgICAgICAgICAgICAgUmVmUHRyPFJlcGxhY2VTZWxlY3Rpb25D
b21tYW5kPiBjb21tYW5kID0KLSAgICAgICAgICAgICAgICAgICAgUmVwbGFjZVNlbGVjdGlvbkNv
bW1hbmQ6OmNyZWF0ZShkb2N1bWVudCwgY3JlYXRlRnJhZ21lbnRGcm9tTWFya3VwKGRvY3VtZW50
LCBpdGVtLT50aXRsZSgpLCAiIiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUsIGZh
bHNlLCB0cnVlKTsKLSAgICAgICAgICAgICAgICBhcHBseUNvbW1hbmQoY29tbWFuZCk7Ci0gICAg
ICAgICAgICAgICAgZnJhbWUtPnJldmVhbFNlbGVjdGlvbihTY3JvbGxBbGlnbm1lbnQ6OmFsaWdu
VG9FZGdlSWZOZWVkZWQpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnSWdub3JlU3BlbGxpbmc6Ci0gICAgICAgICAgICBm
cmFtZS0+ZWRpdG9yKCktPmlnbm9yZVNwZWxsaW5nKCk7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdMZWFyblNwZWxsaW5nOgotICAgICAgICAgICAg
ZnJhbWUtPmVkaXRvcigpLT5sZWFyblNwZWxsaW5nKCk7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdTZWFyY2hXZWI6Ci0gICAgICAgICAgICBtX2Ns
aWVudC0+c2VhcmNoV2l0aEdvb2dsZShmcmFtZSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdMb29rVXBJbkRpY3Rpb25hcnk6Ci0gICAgICAgICAg
ICAvLyBGSVhNRTogU29tZSBkYXkgd2UgbWF5IGJlIGFibGUgdG8gZG8gdGhpcyBmcm9tIHdpdGhp
biBXZWJDb3JlLgotICAgICAgICAgICAgbV9jbGllbnQtPmxvb2tVcEluRGljdGlvbmFyeShmcmFt
ZSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdP
cGVuTGluazoKLSAgICAgICAgICAgIGlmIChGcmFtZSogdGFyZ2V0RnJhbWUgPSByZXN1bHQudGFy
Z2V0RnJhbWUoKSkgewotICAgICAgICAgICAgICAgIHRhcmdldEZyYW1lLT5sb2FkZXIoKS0+bG9h
ZEZyYW1lUmVxdWVzdChGcmFtZUxvYWRSZXF1ZXN0KFJlc291cmNlUmVxdWVzdChyZXN1bHQuYWJz
b2x1dGVMaW5rVVJMKCksIAotICAgICAgICAgICAgICAgICAgICBmcmFtZS0+bG9hZGVyKCktPm91
dGdvaW5nUmVmZXJyZXIoKSkpLCBmYWxzZSwgZmFsc2UsIDAsIDApOwotICAgICAgICAgICAgfSBl
bHNlCi0gICAgICAgICAgICAgICAgb3Blbk5ld1dpbmRvdyhyZXN1bHQuYWJzb2x1dGVMaW5rVVJM
KCksIGZyYW1lKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIENvbnRleHRNZW51
SXRlbVRhZ0JvbGQ6Ci0gICAgICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPmNvbW1hbmQoIlRvZ2ds
ZUJvbGQiKS5leGVjdXRlKCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDb250
ZXh0TWVudUl0ZW1UYWdJdGFsaWM6Ci0gICAgICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPmNvbW1h
bmQoIlRvZ2dsZUl0YWxpYyIpLmV4ZWN1dGUoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1VuZGVybGluZToKLSAgICAgICAgICAgIGZyYW1lLT5l
ZGl0b3IoKS0+dG9nZ2xlVW5kZXJsaW5lKCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
Y2FzZSBDb250ZXh0TWVudUl0ZW1UYWdPdXRsaW5lOgotICAgICAgICAgICAgLy8gV2UgYWN0dWFs
bHkgbmV2ZXIgZW5hYmxlIHRoaXMgYmVjYXVzZSBDU1MgZG9lcyBub3QgaGF2ZSBhIHdheSB0byBz
cGVjaWZ5IGFuIG91dGxpbmUgZm9udCwKLSAgICAgICAgICAgIC8vIHdoaWNoIG1heSBtYWtlIHRo
aXMgZGlmZmljdWx0IHRvIGltcGxlbWVudC4gTWF5YmUgYSBzcGVjaWFsIGNhc2Ugb2YgdGV4dC1z
aGFkb3c/Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1U
YWdTdGFydFNwZWFraW5nOiB7Ci0gICAgICAgICAgICBFeGNlcHRpb25Db2RlIGVjOwotICAgICAg
ICAgICAgUmVmUHRyPFJhbmdlPiBzZWxlY3RlZFJhbmdlID0gZnJhbWUtPnNlbGVjdGlvbigpLT50
b05vcm1hbGl6ZWRSYW5nZSgpOwotICAgICAgICAgICAgaWYgKCFzZWxlY3RlZFJhbmdlIHx8IHNl
bGVjdGVkUmFuZ2UtPmNvbGxhcHNlZChlYykpIHsKLSAgICAgICAgICAgICAgICBEb2N1bWVudCog
ZG9jdW1lbnQgPSByZXN1bHQuaW5uZXJOb25TaGFyZWROb2RlKCktPmRvY3VtZW50KCk7Ci0gICAg
ICAgICAgICAgICAgc2VsZWN0ZWRSYW5nZSA9IGRvY3VtZW50LT5jcmVhdGVSYW5nZSgpOwotICAg
ICAgICAgICAgICAgIHNlbGVjdGVkUmFuZ2UtPnNlbGVjdE5vZGUoZG9jdW1lbnQtPmRvY3VtZW50
RWxlbWVudCgpLCBlYyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBtX2NsaWVudC0+c3Bl
YWsocGxhaW5UZXh0KHNlbGVjdGVkUmFuZ2UuZ2V0KCkpKTsKLSAgICAgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnU3BlbGxpbmdHdWVzczoKKyAgICAgICAgQVNTRVJU
KGZyYW1lLT5zZWxlY3RlZFRleHQoKS5sZW5ndGgoKSk7CisgICAgICAgIGlmIChmcmFtZS0+ZWRp
dG9yKCktPnNob3VsZEluc2VydFRleHQoaXRlbS0+dGl0bGUoKSwgZnJhbWUtPnNlbGVjdGlvbigp
LT50b05vcm1hbGl6ZWRSYW5nZSgpLmdldCgpLCBFZGl0b3JJbnNlcnRBY3Rpb25QYXN0ZWQpKSB7
CisgICAgICAgICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBmcmFtZS0+ZG9jdW1lbnQoKTsKKyAg
ICAgICAgICAgIFJlZlB0cjxSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZD4gY29tbWFuZCA9IFJlcGxh
Y2VTZWxlY3Rpb25Db21tYW5kOjpjcmVhdGUoZG9jdW1lbnQsIGNyZWF0ZUZyYWdtZW50RnJvbU1h
cmt1cChkb2N1bWVudCwgaXRlbS0+dGl0bGUoKSwgIiIpLCB0cnVlLCBmYWxzZSwgdHJ1ZSk7Cisg
ICAgICAgICAgICBhcHBseUNvbW1hbmQoY29tbWFuZCk7CisgICAgICAgICAgICBmcmFtZS0+cmV2
ZWFsU2VsZWN0aW9uKFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub0VkZ2VJZk5lZWRlZCk7CiAgICAg
ICAgIH0KLSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdTdG9wU3BlYWtpbmc6Ci0gICAg
ICAgICAgICBtX2NsaWVudC0+c3RvcFNwZWFraW5nKCk7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdEZWZhdWx0RGlyZWN0aW9uOgotICAgICAgICAg
ICAgZnJhbWUtPmVkaXRvcigpLT5zZXRCYXNlV3JpdGluZ0RpcmVjdGlvbihOYXR1cmFsV3JpdGlu
Z0RpcmVjdGlvbik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDb250ZXh0TWVu
dUl0ZW1UYWdMZWZ0VG9SaWdodDoKLSAgICAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+c2V0QmFz
ZVdyaXRpbmdEaXJlY3Rpb24oTGVmdFRvUmlnaHRXcml0aW5nRGlyZWN0aW9uKTsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1JpZ2h0VG9MZWZ0Ogot
ICAgICAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5zZXRCYXNlV3JpdGluZ0RpcmVjdGlvbihSaWdo
dFRvTGVmdFdyaXRpbmdEaXJlY3Rpb24pOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNh
c2UgQ29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbkRlZmF1bHQ6Ci0gICAgICAgICAgICBm
cmFtZS0+ZWRpdG9yKCktPmNvbW1hbmQoIk1ha2VUZXh0V3JpdGluZ0RpcmVjdGlvbk5hdHVyYWwi
KS5leGVjdXRlKCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDb250ZXh0TWVu
dUl0ZW1UYWdUZXh0RGlyZWN0aW9uTGVmdFRvUmlnaHQ6Ci0gICAgICAgICAgICBmcmFtZS0+ZWRp
dG9yKCktPmNvbW1hbmQoIk1ha2VUZXh0V3JpdGluZ0RpcmVjdGlvbkxlZnRUb1JpZ2h0IikuZXhl
Y3V0ZSgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVt
VGFnVGV4dERpcmVjdGlvblJpZ2h0VG9MZWZ0OgotICAgICAgICAgICAgZnJhbWUtPmVkaXRvcigp
LT5jb21tYW5kKCJNYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb25SaWdodFRvTGVmdCIpLmV4ZWN1dGUo
KTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENvbnRleHRN
ZW51SXRlbVRhZ0lnbm9yZVNwZWxsaW5nOgorICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPmlnbm9y
ZVNwZWxsaW5nKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFn
TGVhcm5TcGVsbGluZzoKKyAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5sZWFyblNwZWxsaW5nKCk7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnU2VhcmNoV2ViOgor
ICAgICAgICBtX2NsaWVudC0+c2VhcmNoV2l0aEdvb2dsZShmcmFtZSk7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnTG9va1VwSW5EaWN0aW9uYXJ5OgorICAgICAg
ICAvLyBGSVhNRTogU29tZSBkYXkgd2UgbWF5IGJlIGFibGUgdG8gZG8gdGhpcyBmcm9tIHdpdGhp
biBXZWJDb3JlLgorICAgICAgICBtX2NsaWVudC0+bG9va1VwSW5EaWN0aW9uYXJ5KGZyYW1lKTsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdPcGVuTGluazoKKyAg
ICAgICAgaWYgKEZyYW1lKiB0YXJnZXRGcmFtZSA9IHJlc3VsdC50YXJnZXRGcmFtZSgpKQorICAg
ICAgICAgICAgdGFyZ2V0RnJhbWUtPmxvYWRlcigpLT5sb2FkRnJhbWVSZXF1ZXN0KEZyYW1lTG9h
ZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0KHJlc3VsdC5hYnNvbHV0ZUxpbmtVUkwoKSwgZnJhbWUt
PmxvYWRlcigpLT5vdXRnb2luZ1JlZmVycmVyKCkpKSwgZmFsc2UsIGZhbHNlLCAwLCAwKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgb3Blbk5ld1dpbmRvdyhyZXN1bHQuYWJzb2x1dGVMaW5r
VVJMKCksIGZyYW1lKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1U
YWdCb2xkOgorICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPmNvbW1hbmQoIlRvZ2dsZUJvbGQiKS5l
eGVjdXRlKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnSXRh
bGljOgorICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPmNvbW1hbmQoIlRvZ2dsZUl0YWxpYyIpLmV4
ZWN1dGUoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdVbmRl
cmxpbmU6CisgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+dG9nZ2xlVW5kZXJsaW5lKCk7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnT3V0bGluZToKKyAgICAgICAg
Ly8gV2UgYWN0dWFsbHkgbmV2ZXIgZW5hYmxlIHRoaXMgYmVjYXVzZSBDU1MgZG9lcyBub3QgaGF2
ZSBhIHdheSB0byBzcGVjaWZ5IGFuIG91dGxpbmUgZm9udCwKKyAgICAgICAgLy8gd2hpY2ggbWF5
IG1ha2UgdGhpcyBkaWZmaWN1bHQgdG8gaW1wbGVtZW50LiBNYXliZSBhIHNwZWNpYWwgY2FzZSBv
ZiB0ZXh0LXNoYWRvdz8KKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1U
YWdTdGFydFNwZWFraW5nOiB7CisgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWM7CisgICAgICAgIFJl
ZlB0cjxSYW5nZT4gc2VsZWN0ZWRSYW5nZSA9IGZyYW1lLT5zZWxlY3Rpb24oKS0+dG9Ob3JtYWxp
emVkUmFuZ2UoKTsKKyAgICAgICAgaWYgKCFzZWxlY3RlZFJhbmdlIHx8IHNlbGVjdGVkUmFuZ2Ut
PmNvbGxhcHNlZChlYykpIHsKKyAgICAgICAgICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHJlc3Vs
dC5pbm5lck5vblNoYXJlZE5vZGUoKS0+ZG9jdW1lbnQoKTsKKyAgICAgICAgICAgIHNlbGVjdGVk
UmFuZ2UgPSBkb2N1bWVudC0+Y3JlYXRlUmFuZ2UoKTsKKyAgICAgICAgICAgIHNlbGVjdGVkUmFu
Z2UtPnNlbGVjdE5vZGUoZG9jdW1lbnQtPmRvY3VtZW50RWxlbWVudCgpLCBlYyk7CisgICAgICAg
IH0KKyAgICAgICAgbV9jbGllbnQtPnNwZWFrKHBsYWluVGV4dChzZWxlY3RlZFJhbmdlLmdldCgp
KSk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1N0
b3BTcGVha2luZzoKKyAgICAgICAgbV9jbGllbnQtPnN0b3BTcGVha2luZygpOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0RlZmF1bHREaXJlY3Rpb246CisgICAg
ICAgIGZyYW1lLT5lZGl0b3IoKS0+c2V0QmFzZVdyaXRpbmdEaXJlY3Rpb24oTmF0dXJhbFdyaXRp
bmdEaXJlY3Rpb24pOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRh
Z0xlZnRUb1JpZ2h0OgorICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPnNldEJhc2VXcml0aW5nRGly
ZWN0aW9uKExlZnRUb1JpZ2h0V3JpdGluZ0RpcmVjdGlvbik7CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnUmlnaHRUb0xlZnQ6CisgICAgICAgIGZyYW1lLT5lZGl0
b3IoKS0+c2V0QmFzZVdyaXRpbmdEaXJlY3Rpb24oUmlnaHRUb0xlZnRXcml0aW5nRGlyZWN0aW9u
KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0
aW9uRGVmYXVsdDoKKyAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5jb21tYW5kKCJNYWtlVGV4dFdy
aXRpbmdEaXJlY3Rpb25OYXR1cmFsIikuZXhlY3V0ZSgpOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIENvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25MZWZ0VG9SaWdodDoKKyAgICAgICAg
ZnJhbWUtPmVkaXRvcigpLT5jb21tYW5kKCJNYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb25MZWZ0VG9S
aWdodCIpLmV4ZWN1dGUoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb250ZXh0TWVudUl0
ZW1UYWdUZXh0RGlyZWN0aW9uUmlnaHRUb0xlZnQ6CisgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+
Y29tbWFuZCgiTWFrZVRleHRXcml0aW5nRGlyZWN0aW9uUmlnaHRUb0xlZnQiKS5leGVjdXRlKCk7
CisgICAgICAgIGJyZWFrOwogI2lmIFBMQVRGT1JNKE1BQykKLSAgICAgICAgY2FzZSBDb250ZXh0
TWVudUl0ZW1UYWdTZWFyY2hJblNwb3RsaWdodDoKLSAgICAgICAgICAgIG1fY2xpZW50LT5zZWFy
Y2hXaXRoU3BvdGxpZ2h0KCk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICBjYXNlIENvbnRleHRN
ZW51SXRlbVRhZ1NlYXJjaEluU3BvdGxpZ2h0OgorICAgICAgICBtX2NsaWVudC0+c2VhcmNoV2l0
aFNwb3RsaWdodCgpOworICAgICAgICBicmVhazsKICNlbmRpZgotICAgICAgICBjYXNlIENvbnRl
eHRNZW51SXRlbVRhZ1Nob3dTcGVsbGluZ1BhbmVsOgotICAgICAgICAgICAgZnJhbWUtPmVkaXRv
cigpLT5zaG93U3BlbGxpbmdHdWVzc1BhbmVsKCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdDaGVja1NwZWxsaW5nOgotICAgICAgICAgICAgZnJh
bWUtPmVkaXRvcigpLT5hZHZhbmNlVG9OZXh0TWlzc3BlbGxpbmcoKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmdXaGlsZVR5
cGluZzoKLSAgICAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+dG9nZ2xlQ29udGludW91c1NwZWxs
Q2hlY2tpbmcoKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVt
VGFnU2hvd1NwZWxsaW5nUGFuZWw6CisgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+c2hvd1NwZWxs
aW5nR3Vlc3NQYW5lbCgpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENvbnRleHRNZW51SXRl
bVRhZ0NoZWNrU3BlbGxpbmc6CisgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+YWR2YW5jZVRvTmV4
dE1pc3NwZWxsaW5nKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVt
VGFnQ2hlY2tTcGVsbGluZ1doaWxlVHlwaW5nOgorICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPnRv
Z2dsZUNvbnRpbnVvdXNTcGVsbENoZWNraW5nKCk7CisgICAgICAgIGJyZWFrOwogI2lmbmRlZiBC
VUlMRElOR19PTl9USUdFUgotICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0NoZWNrR3Jh
bW1hcldpdGhTcGVsbGluZzoKLSAgICAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+dG9nZ2xlR3Jh
bW1hckNoZWNraW5nKCk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICBjYXNlIENvbnRleHRNZW51
SXRlbVRhZ0NoZWNrR3JhbW1hcldpdGhTcGVsbGluZzoKKyAgICAgICAgZnJhbWUtPmVkaXRvcigp
LT50b2dnbGVHcmFtbWFyQ2hlY2tpbmcoKTsKKyAgICAgICAgYnJlYWs7CiAjZW5kaWYKICNpZiBQ
TEFURk9STShNQUMpCi0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnU2hvd0ZvbnRzOgot
ICAgICAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5zaG93Rm9udFBhbmVsKCk7Ci0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdTdHlsZXM6Ci0gICAgICAg
ICAgICBmcmFtZS0+ZWRpdG9yKCktPnNob3dTdHlsZXNQYW5lbCgpOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnU2hvd0NvbG9yczoKLSAgICAgICAg
ICAgIGZyYW1lLT5lZGl0b3IoKS0+c2hvd0NvbG9yUGFuZWwoKTsKLSAgICAgICAgICAgIGJyZWFr
OworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnU2hvd0ZvbnRzOgorICAgICAgICBmcmFtZS0+
ZWRpdG9yKCktPnNob3dGb250UGFuZWwoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb250
ZXh0TWVudUl0ZW1UYWdTdHlsZXM6CisgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+c2hvd1N0eWxl
c1BhbmVsKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnU2hv
d0NvbG9yczoKKyAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5zaG93Q29sb3JQYW5lbCgpOworICAg
ICAgICBicmVhazsKICNlbmRpZgogI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJ
TkdfT05fVElHRVIpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpCi0gICAgICAgIGNh
c2UgQ29udGV4dE1lbnVJdGVtVGFnTWFrZVVwcGVyQ2FzZToKLSAgICAgICAgICAgIGZyYW1lLT5l
ZGl0b3IoKS0+dXBwZXJjYXNlV29yZCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNh
c2UgQ29udGV4dE1lbnVJdGVtVGFnTWFrZUxvd2VyQ2FzZToKLSAgICAgICAgICAgIGZyYW1lLT5l
ZGl0b3IoKS0+bG93ZXJjYXNlV29yZCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNh
c2UgQ29udGV4dE1lbnVJdGVtVGFnQ2FwaXRhbGl6ZToKLSAgICAgICAgICAgIGZyYW1lLT5lZGl0
b3IoKS0+Y2FwaXRhbGl6ZVdvcmQoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNl
IENvbnRleHRNZW51SXRlbVRhZ1Nob3dTdWJzdGl0dXRpb25zOgotICAgICAgICAgICAgZnJhbWUt
PmVkaXRvcigpLT5zaG93U3Vic3RpdHV0aW9uc1BhbmVsKCk7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdTbWFydENvcHlQYXN0ZToKLSAgICAgICAg
ICAgIGZyYW1lLT5lZGl0b3IoKS0+dG9nZ2xlU21hcnRJbnNlcnREZWxldGUoKTsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1NtYXJ0UXVvdGVzOgot
ICAgICAgICAgICAgZnJhbWUtPmVkaXRvcigpLT50b2dnbGVBdXRvbWF0aWNRdW90ZVN1YnN0aXR1
dGlvbigpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVt
VGFnU21hcnREYXNoZXM6Ci0gICAgICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPnRvZ2dsZUF1dG9t
YXRpY0Rhc2hTdWJzdGl0dXRpb24oKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNl
IENvbnRleHRNZW51SXRlbVRhZ1NtYXJ0TGlua3M6Ci0gICAgICAgICAgICBmcmFtZS0+ZWRpdG9y
KCktPnRvZ2dsZUF1dG9tYXRpY0xpbmtEZXRlY3Rpb24oKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1RleHRSZXBsYWNlbWVudDoKLSAgICAgICAg
ICAgIGZyYW1lLT5lZGl0b3IoKS0+dG9nZ2xlQXV0b21hdGljVGV4dFJlcGxhY2VtZW50KCk7Ci0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdDb3JyZWN0
U3BlbGxpbmdBdXRvbWF0aWNhbGx5OgotICAgICAgICAgICAgZnJhbWUtPmVkaXRvcigpLT50b2dn
bGVBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb24oKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0NoYW5nZUJhY2s6Ci0gICAgICAgICAgICBmcmFt
ZS0+ZWRpdG9yKCktPmNoYW5nZUJhY2tUb1JlcGxhY2VkU3RyaW5nKHJlc3VsdC5yZXBsYWNlZFN0
cmluZygpKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFn
TWFrZVVwcGVyQ2FzZToKKyAgICAgICAgZnJhbWUtPmVkaXRvcigpLT51cHBlcmNhc2VXb3JkKCk7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnTWFrZUxvd2VyQ2Fz
ZToKKyAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5sb3dlcmNhc2VXb3JkKCk7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnQ2FwaXRhbGl6ZToKKyAgICAgICAgZnJh
bWUtPmVkaXRvcigpLT5jYXBpdGFsaXplV29yZCgpOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IENvbnRleHRNZW51SXRlbVRhZ1Nob3dTdWJzdGl0dXRpb25zOgorICAgICAgICBmcmFtZS0+ZWRp
dG9yKCktPnNob3dTdWJzdGl0dXRpb25zUGFuZWwoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBDb250ZXh0TWVudUl0ZW1UYWdTbWFydENvcHlQYXN0ZToKKyAgICAgICAgZnJhbWUtPmVkaXRv
cigpLT50b2dnbGVTbWFydEluc2VydERlbGV0ZSgpOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IENvbnRleHRNZW51SXRlbVRhZ1NtYXJ0UXVvdGVzOgorICAgICAgICBmcmFtZS0+ZWRpdG9yKCkt
PnRvZ2dsZUF1dG9tYXRpY1F1b3RlU3Vic3RpdHV0aW9uKCk7CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnU21hcnREYXNoZXM6CisgICAgICAgIGZyYW1lLT5lZGl0
b3IoKS0+dG9nZ2xlQXV0b21hdGljRGFzaFN1YnN0aXR1dGlvbigpOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1NtYXJ0TGlua3M6CisgICAgICAgIGZyYW1lLT5l
ZGl0b3IoKS0+dG9nZ2xlQXV0b21hdGljTGlua0RldGVjdGlvbigpOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1RleHRSZXBsYWNlbWVudDoKKyAgICAgICAgZnJh
bWUtPmVkaXRvcigpLT50b2dnbGVBdXRvbWF0aWNUZXh0UmVwbGFjZW1lbnQoKTsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdDb3JyZWN0U3BlbGxpbmdBdXRvbWF0
aWNhbGx5OgorICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPnRvZ2dsZUF1dG9tYXRpY1NwZWxsaW5n
Q29ycmVjdGlvbigpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRh
Z0NoYW5nZUJhY2s6CisgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+Y2hhbmdlQmFja1RvUmVwbGFj
ZWRTdHJpbmcocmVzdWx0LnJlcGxhY2VkU3RyaW5nKCkpOworICAgICAgICBicmVhazsKICNlbmRp
ZgotICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0luc3BlY3RFbGVtZW50OgotICAgICAg
ICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBmcmFtZS0+cGFnZSgpKQotICAgICAgICAgICAgICAgIHBh
Z2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+aW5zcGVjdChyZXN1bHQuaW5uZXJOb25TaGFyZWRO
b2RlKCkpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAg
ICBicmVhazsKKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0luc3BlY3RFbGVtZW50OgorICAg
ICAgICBpZiAoUGFnZSogcGFnZSA9IGZyYW1lLT5wYWdlKCkpCisgICAgICAgICAgICBwYWdlLT5p
bnNwZWN0b3JDb250cm9sbGVyKCktPmluc3BlY3QocmVzdWx0LmlubmVyTm9uU2hhcmVkTm9kZSgp
KTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYnJlYWs7CiAgICAgfQog
fQo=
</data>
<flag name="review"
          id="17926"
          type_id="1"
          status="+"
          setter="levin"
    />
          </attachment>
      

    </bug>

</bugzilla>