<?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>28486</bug_id>
          
          <creation_ts>2009-08-19 23:41:39 -0700</creation_ts>
          <short_desc>Enable various &quot;grouping&quot; ARIA roles</short_desc>
          <delta_ts>2009-08-21 09:21:29 -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>Accessibility</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>141747</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-08-19 23:41:39 -0700</bug_when>
    <thetext>Enable various &quot;grouping&quot; ARIA roles by exposing them as AXSubroles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141749</commentid>
    <comment_count>1</comment_count>
      <attachid>35187</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-08-20 00:08:20 -0700</bug_when>
    <thetext>Created attachment 35187
patch

There are a large number of ARIA &quot;grouping&quot; type roles. On the Mac, it seems that the best fit is to make them into AXGroups with specific subroles that describe what they are</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141772</commentid>
    <comment_count>2</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-08-20 22:31:31 -0700</bug_when>
    <thetext>what happened to this positive review? darin already reviewed. also what happened to mark&apos;s comments?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141779</commentid>
    <comment_count>3</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-08-20 22:36:23 -0700</bug_when>
    <thetext>here are marks comments

(From update of attachment 35187)
+        default:
+            return nil;
+    }
+    
    return nil;
}

If you were to omit the default case in the switch statement then we&apos;ll get a
convenient warning if we ever add a new enum value without updating this switch
statement.


Index: LayoutTests/platform/mac/accessibility/aria-grouping-roles.html
===================================================================
--- LayoutTests/platform/mac/accessibility/aria-grouping-roles.html	(revision 0)
+++ LayoutTests/platform/mac/accessibility/aria-grouping-roles.html	(revision 0)
@@ -0,0 +1,56 @@
+&lt;!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML//EN&quot;&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;link rel=&quot;stylesheet&quot; href=&quot;../../../fast/js/resources/js-test-style.css&quot;&gt;
+&lt;script&gt;
+var successfullyParsed = false;
+&lt;/script&gt;
+&lt;script src=&quot;../../../fast/js/resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;/head&gt;
+&lt;body id=&quot;body&quot;&gt;
+
+&lt;div role=&quot;application&quot;&gt;text&lt;/div&gt;
+&lt;div role=&quot;article&quot;&gt;text&lt;/div&gt;
+&lt;div role=&quot;banner&quot;&gt;text&lt;/div&gt;
+&lt;div role=&quot;complementary&quot;&gt;text&lt;/div&gt;
+&lt;div role=&quot;contentinfo&quot;&gt;text&lt;/div&gt;
+&lt;div role=&quot;document&quot;&gt;text&lt;/div&gt;
+&lt;div role=&quot;log&quot;&gt;text&lt;/div&gt;
+&lt;div role=&quot;main&quot;&gt;text&lt;/div&gt;
+&lt;div role=&quot;marquee&quot;&gt;text&lt;/div&gt;
+&lt;div role=&quot;note&quot;&gt;text&lt;/div&gt;
+&lt;div role=&quot;navigation&quot;&gt;text&lt;/div&gt;
+&lt;div role=&quot;region&quot;&gt;text&lt;/div&gt;
+&lt;div role=&quot;search&quot;&gt;text&lt;/div&gt;
+&lt;div role=&quot;status&quot;&gt;text&lt;/div&gt;
+&lt;div role=&quot;tooltip&quot;&gt;text&lt;/div&gt;

Can we give these more useful contents than &quot;text&quot; so that the output makes a
little more sense?  Even using just the name of the role could be clearer.

+    if (window.accessibilityController) {
+
+          // this text field should be required.
+          document.getElementById(&quot;body&quot;).focus();
+          var obj = accessibilityController.focusedElement;
+
+          var subroles = new Array(&quot;AXLandmarkApplication&quot;,&quot;AXDocumentArticle&quot;,&quot;AXLandmarkBanner&quot;,&quot;AXLandmarkComplementary&quot;,
+                          &quot;AXLandmarkContentInfo&quot;, &quot;AXDocument&quot;, &quot;AXApplicationLog&quot;, &quot;AXLandmarkMain&quot;, &quot;AXApplicationMarquee&quot;,
+                          &quot;AXDocumentNote&quot;, &quot;AXLandmarkNavigation&quot;, &quot;AXDocumentRegion&quot;, &quot;AXLandmarkSearch&quot;, &quot;AXApplicationStatus&quot;);
+
+          for (var k = 0; k &lt; 14; k++) {
+              var succeeded = obj.childAtIndex(k).role == &quot;AXRole: AXGroup&quot; &amp;&amp; obj.childAtIndex(k).subrole == &quot;AXSubrole: &quot; + subroles[k];
+              shouldBe(&quot;succeeded&quot;, &quot;true&quot;);

The failure case of this &quot;shouldBe&quot; will say only that succeeded should be true
but is false, which is impossible to understand without studying the test.  I
think it would be clearer to use a separate shouldBe for each half of the
condition:
shouldBe(&quot;obj.childAtIndex(k).role&quot;, &apos;&quot;AXRole: AXGroup&quot;&apos;);
shouldBe(&quot;obj.childAtIndex(k).subrole&quot;, &apos;&quot;AXSubrole: &apos; + subroles[k] + &apos;&quot;&apos;);

Then any failure message would be much clearer about which part of the
expression is failing and why.  It&apos;ll also make the expected result more
comprehensible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141781</commentid>
    <comment_count>4</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-08-20 22:37:03 -0700</bug_when>
    <thetext>Darin gave a + review at 6:00AM

Darin Adler &lt;darin@apple.com&gt; has granted chris fleizach
&lt;cfleizach@apple.com&gt;&apos;s request for review:
Bug 28486: Enable various &quot;grouping&quot; ARIA roles
https://bugs.webkit.org/show_bug.cgi?id=28486</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141836</commentid>
    <comment_count>5</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-08-21 00:02:28 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/47626</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141886</commentid>
    <comment_count>6</comment_count>
      <attachid>35187</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-21 09:21:29 -0700</bug_when>
    <thetext>Comment on attachment 35187
patch

forgetful bugzilla.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>35187</attachid>
            <date>2009-08-20 00:08:20 -0700</date>
            <delta_ts>2009-08-21 09:21:29 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>24577</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NzU1MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMDktMDgtMjAgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBFbmFibGUgdmFyaW91cyAiZ3JvdXBpbmciIEFSSUEgcm9sZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4NDg2CisKKyAgICAgICAgVGVzdDogcGxh
dGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvYXJpYS1ncm91cGluZy1yb2xlcy5odG1sCisKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tOgorICAgICAgICAqIHBh
Z2UvbWFjL1dlYkNvcmVWaWV3RmFjdG9yeS5oOgorICAgICAgICAqIHBsYXRmb3JtL0xvY2FsaXpl
ZFN0cmluZ3MuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvTG9jYWxpemVkU3RyaW5nc01hYy5t
bToKKwogMjAwOS0wOC0xOSAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCBzcGVjdWxhdGl2ZSBidWlsZCBmaXggZm9yIHF0LgpJbmRleDogV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCShyZXZpc2lvbiA0NzU1
MikKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTE1OSw3ICsxNTksMjggQEAgZW51bSBBY2Nlc3NpYmlsaXR5Um9sZSB7CiAg
ICAgRGVmaW5pdGlvbkxpc3RUZXJtUm9sZSwKICAgICBEZWZpbml0aW9uTGlzdERlZmluaXRpb25S
b2xlLAogICAgIEFubm90YXRpb25Sb2xlLAotICAgIFNsaWRlclRodW1iUm9sZQorICAgIFNsaWRl
clRodW1iUm9sZSwKKyAgICAKKyAgICAvLyBBUklBIEdyb3VwaW5nIHJvbGVzCisgICAgTGFuZG1h
cmtBcHBsaWNhdGlvblJvbGUsCisgICAgTGFuZG1hcmtCYW5uZXJSb2xlLAorICAgIExhbmRtYXJr
Q29tcGxlbWVudGFyeVJvbGUsCisgICAgTGFuZG1hcmtDb250ZW50SW5mb1JvbGUsCisgICAgTGFu
ZG1hcmtNYWluUm9sZSwKKyAgICBMYW5kbWFya05hdmlnYXRpb25Sb2xlLAorICAgIExhbmRtYXJr
U2VhcmNoUm9sZSwKKyAgICAKKyAgICBBcHBsaWNhdGlvbkxvZ1JvbGUsCisgICAgQXBwbGljYXRp
b25NYXJxdWVlUm9sZSwKKyAgICBBcHBsaWNhdGlvblN0YXR1c1JvbGUsCisgICAgQXBwbGljYXRp
b25UaW1lclJvbGUsCisgICAgCisgICAgRG9jdW1lbnRSb2xlLAorICAgIERvY3VtZW50QXJ0aWNs
ZVJvbGUsCisgICAgRG9jdW1lbnROb3RlUm9sZSwKKyAgICBEb2N1bWVudFJlZ2lvblJvbGUsCisg
ICAgCisgICAgVXNlckludGVyZmFjZVRvb2x0aXBSb2xlCiB9OwogCiBlbnVtIEFjY2Vzc2liaWxp
dHlPcmllbnRhdGlvbiB7CkluZGV4OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCShyZXZpc2lvbiA0NzU1MikKKysrIFdlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjE5MywzMiArMjE5Myw1MCBAQCBzdGF0aWMgY29uc3QgQVJJQVJvbGVNYXAmIGNyZWF0
ZUFSSUFSb2xlCiAgICAgfTsKIAogICAgIGNvbnN0IFJvbGVFbnRyeSByb2xlc1tdID0geworICAg
ICAgICB7ICJhcHBsaWNhdGlvbiIsIExhbmRtYXJrQXBwbGljYXRpb25Sb2xlIH0sCisgICAgICAg
IHsgImFydGljbGUiLCBEb2N1bWVudEFydGljbGVSb2xlIH0sCisgICAgICAgIHsgImJhbm5lciIs
IExhbmRtYXJrQmFubmVyUm9sZSB9LAogICAgICAgICB7ICJidXR0b24iLCBCdXR0b25Sb2xlIH0s
CiAgICAgICAgIHsgImNoZWNrYm94IiwgQ2hlY2tCb3hSb2xlIH0sCisgICAgICAgIHsgImNvbXBs
ZW1lbnRhcnkiLCBMYW5kbWFya0NvbXBsZW1lbnRhcnlSb2xlIH0sCisgICAgICAgIHsgImNvbnRl
bnRpbmZvIiwgTGFuZG1hcmtDb250ZW50SW5mb1JvbGUgfSwKICAgICAgICAgeyAiZ3JpZCIsIFRh
YmxlUm9sZSB9LAogICAgICAgICB7ICJncmlkY2VsbCIsIENlbGxSb2xlIH0sCiAgICAgICAgIHsg
ImNvbHVtbmhlYWRlciIsIENvbHVtbkhlYWRlclJvbGUgfSwKKyAgICAgICAgeyAiZGVmaW50aW9u
IiwgRGVmaW5pdGlvbkxpc3REZWZpbml0aW9uUm9sZSB9LAorICAgICAgICB7ICJkb2N1bWVudCIs
IERvY3VtZW50Um9sZSB9LAogICAgICAgICB7ICJyb3doZWFkZXIiLCBSb3dIZWFkZXJSb2xlIH0s
CiAgICAgICAgIHsgImdyb3VwIiwgR3JvdXBSb2xlIH0sCiAgICAgICAgIHsgImhlYWRpbmciLCBI
ZWFkaW5nUm9sZSB9LAogICAgICAgICB7ICJpbWciLCBJbWFnZVJvbGUgfSwKICAgICAgICAgeyAi
bGluayIsIFdlYkNvcmVMaW5rUm9sZSB9LAogICAgICAgICB7ICJsaXN0Ym94IiwgTGlzdEJveFJv
bGUgfSwKKyAgICAgICAgeyAibG9nIiwgQXBwbGljYXRpb25Mb2dSb2xlIH0sCiAgICAgICAgIC8v
ICJvcHRpb24iIGlzbid0IGhlcmUgYmVjYXVzZSBpdCBtYXkgbWFwIHRvIGRpZmZlcmVudCByb2xl
cyBkZXBlbmRpbmcgb24gdGhlIHBhcmVudCBlbGVtZW50J3Mgcm9sZQorICAgICAgICB7ICJtYWlu
IiwgTGFuZG1hcmtNYWluUm9sZSB9LAorICAgICAgICB7ICJtYXJxdWVlIiwgQXBwbGljYXRpb25N
YXJxdWVlUm9sZSB9LAogICAgICAgICB7ICJtZW51IiwgTWVudVJvbGUgfSwKICAgICAgICAgeyAi
bWVudWJhciIsIEdyb3VwUm9sZSB9LAogICAgICAgICAvLyAibWVudWl0ZW0iIGlzbid0IGhlcmUg
YmVjYXVzZSBpdCBtYXkgbWFwIHRvIGRpZmZlcmVudCByb2xlcyBkZXBlbmRpbmcgb24gdGhlIHBh
cmVudCBlbGVtZW50J3Mgcm9sZQogICAgICAgICB7ICJtZW51aXRlbWNoZWNrYm94IiwgTWVudUl0
ZW1Sb2xlIH0sCiAgICAgICAgIHsgIm1lbnVpdGVtcmFkaW8iLCBNZW51SXRlbVJvbGUgfSwKKyAg
ICAgICAgeyAibm90ZSIsIERvY3VtZW50Tm90ZVJvbGUgfSwKKyAgICAgICAgeyAibmF2aWdhdGlv
biIsIExhbmRtYXJrTmF2aWdhdGlvblJvbGUgfSwKICAgICAgICAgeyAicHJvZ3Jlc3NiYXIiLCBQ
cm9ncmVzc0luZGljYXRvclJvbGUgfSwKICAgICAgICAgeyAicmFkaW8iLCBSYWRpb0J1dHRvblJv
bGUgfSwKICAgICAgICAgeyAicmFkaW9ncm91cCIsIFJhZGlvR3JvdXBSb2xlIH0sCisgICAgICAg
IHsgInJlZ2lvbiIsIERvY3VtZW50UmVnaW9uUm9sZSB9LAogICAgICAgICB7ICJyb3ciLCBSb3dS
b2xlIH0sCiAgICAgICAgIHsgInJhbmdlIiwgU2xpZGVyUm9sZSB9LAorICAgICAgICB7ICJzZWFy
Y2giLCBMYW5kbWFya1NlYXJjaFJvbGUgfSwKKyAgICAgICAgeyAic2VwYXJhdG9yIiwgU3BsaXR0
ZXJSb2xlIH0sCiAgICAgICAgIHsgInNsaWRlciIsIFNsaWRlclJvbGUgfSwKICAgICAgICAgeyAi
c3BpbmJ1dHRvbiIsIFByb2dyZXNzSW5kaWNhdG9yUm9sZSB9LAorICAgICAgICB7ICJzdGF0dXMi
LCBBcHBsaWNhdGlvblN0YXR1c1JvbGUgfSwKICAgICAgICAgeyAidGV4dGJveCIsIFRleHRBcmVh
Um9sZSB9LAotICAgICAgICB7ICJ0b29sYmFyIiwgVG9vbGJhclJvbGUgfQorICAgICAgICB7ICJ0
aW1lciIsIEFwcGxpY2F0aW9uVGltZXJSb2xlIH0sCisgICAgICAgIHsgInRvb2xiYXIiLCBUb29s
YmFyUm9sZSB9LAorICAgICAgICB7ICJ0b29sdGlwIiwgVXNlckludGVyZmFjZVRvb2x0aXBSb2xl
IH0KICAgICB9OwogICAgIEFSSUFSb2xlTWFwJiByb2xlTWFwID0gKm5ldyBBUklBUm9sZU1hcDsK
ICAgICAgICAgCkluZGV4OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMv
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0JKHJldmlzaW9uIDQ3NTUyKQorKysgV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtOTc4LDggKzk3OCwyMyBAQCBzdGF0aWMgY29uc3QgQWNjZXNzaWJpbGl0eVJv
bGVNYXAmIGNyZWF0CiAgICAgICAgIHsgVGFibGVIZWFkZXJDb250YWluZXJSb2xlLCBOU0FjY2Vz
c2liaWxpdHlHcm91cFJvbGUgfSwKICAgICAgICAgeyBEZWZpbml0aW9uTGlzdERlZmluaXRpb25S
b2xlLCBOU0FjY2Vzc2liaWxpdHlHcm91cFJvbGUgfSwKICAgICAgICAgeyBEZWZpbml0aW9uTGlz
dFRlcm1Sb2xlLCBOU0FjY2Vzc2liaWxpdHlHcm91cFJvbGUgfSwKLSAgICAgICAgCiAgICAgICAg
IHsgU2xpZGVyVGh1bWJSb2xlLCBOU0FjY2Vzc2liaWxpdHlWYWx1ZUluZGljYXRvclJvbGUgfSwK
KyAgICAgICAgeyBMYW5kbWFya0FwcGxpY2F0aW9uUm9sZSwgTlNBY2Nlc3NpYmlsaXR5R3JvdXBS
b2xlIH0sCisgICAgICAgIHsgTGFuZG1hcmtCYW5uZXJSb2xlLCBOU0FjY2Vzc2liaWxpdHlHcm91
cFJvbGUgfSwKKyAgICAgICAgeyBMYW5kbWFya0NvbXBsZW1lbnRhcnlSb2xlLCBOU0FjY2Vzc2li
aWxpdHlHcm91cFJvbGUgfSwKKyAgICAgICAgeyBMYW5kbWFya0NvbnRlbnRJbmZvUm9sZSwgTlNB
Y2Nlc3NpYmlsaXR5R3JvdXBSb2xlIH0sCisgICAgICAgIHsgTGFuZG1hcmtNYWluUm9sZSwgTlNB
Y2Nlc3NpYmlsaXR5R3JvdXBSb2xlIH0sCisgICAgICAgIHsgTGFuZG1hcmtOYXZpZ2F0aW9uUm9s
ZSwgTlNBY2Nlc3NpYmlsaXR5R3JvdXBSb2xlIH0sCisgICAgICAgIHsgTGFuZG1hcmtTZWFyY2hS
b2xlLCBOU0FjY2Vzc2liaWxpdHlHcm91cFJvbGUgfSwKKyAgICAgICAgeyBBcHBsaWNhdGlvbkxv
Z1JvbGUsIE5TQWNjZXNzaWJpbGl0eUdyb3VwUm9sZSB9LAorICAgICAgICB7IEFwcGxpY2F0aW9u
TWFycXVlZVJvbGUsIE5TQWNjZXNzaWJpbGl0eUdyb3VwUm9sZSB9LAorICAgICAgICB7IEFwcGxp
Y2F0aW9uU3RhdHVzUm9sZSwgTlNBY2Nlc3NpYmlsaXR5R3JvdXBSb2xlIH0sCisgICAgICAgIHsg
QXBwbGljYXRpb25UaW1lclJvbGUsIE5TQWNjZXNzaWJpbGl0eUdyb3VwUm9sZSB9LAorICAgICAg
ICB7IERvY3VtZW50Um9sZSwgTlNBY2Nlc3NpYmlsaXR5R3JvdXBSb2xlIH0sCisgICAgICAgIHsg
RG9jdW1lbnRBcnRpY2xlUm9sZSwgTlNBY2Nlc3NpYmlsaXR5R3JvdXBSb2xlIH0sCisgICAgICAg
IHsgRG9jdW1lbnROb3RlUm9sZSwgTlNBY2Nlc3NpYmlsaXR5R3JvdXBSb2xlIH0sCisgICAgICAg
IHsgRG9jdW1lbnRSZWdpb25Sb2xlLCBOU0FjY2Vzc2liaWxpdHlHcm91cFJvbGUgfSwKKyAgICAg
ICAgeyBVc2VySW50ZXJmYWNlVG9vbHRpcFJvbGUsIE5TQWNjZXNzaWJpbGl0eUdyb3VwUm9sZSB9
LAogICAgICAgICAKIAogICAgIH07CkBAIC0xMDI4LDYgKzEwNDMsNDQgQEAgc3RhdGljIE5TU3Ry
aW5nKiByb2xlVmFsdWVUb05TU3RyaW5nKEFjYwogICAgICAgICAgICAgcmV0dXJuIE5TQWNjZXNz
aWJpbGl0eURlZmluaXRpb25MaXN0U3Vicm9sZTsKICAgICB9CiAgICAgCisgICAgLy8gQVJJQSBj
b250ZW50IHN1YnJvbGVzLgorICAgIHN3aXRjaCAobV9vYmplY3QtPnJvbGVWYWx1ZSgpKSB7Cisg
ICAgICAgIGNhc2UgTGFuZG1hcmtBcHBsaWNhdGlvblJvbGU6CisgICAgICAgICAgICByZXR1cm4g
QCJBWExhbmRtYXJrQXBwbGljYXRpb24iOworICAgICAgICBjYXNlIExhbmRtYXJrQmFubmVyUm9s
ZToKKyAgICAgICAgICAgIHJldHVybiBAIkFYTGFuZG1hcmtCYW5uZXIiOworICAgICAgICBjYXNl
IExhbmRtYXJrQ29tcGxlbWVudGFyeVJvbGU6CisgICAgICAgICAgICByZXR1cm4gQCJBWExhbmRt
YXJrQ29tcGxlbWVudGFyeSI7CisgICAgICAgIGNhc2UgTGFuZG1hcmtDb250ZW50SW5mb1JvbGU6
CisgICAgICAgICAgICByZXR1cm4gQCJBWExhbmRtYXJrQ29udGVudEluZm8iOworICAgICAgICBj
YXNlIExhbmRtYXJrTWFpblJvbGU6CisgICAgICAgICAgICByZXR1cm4gQCJBWExhbmRtYXJrTWFp
biI7CisgICAgICAgIGNhc2UgTGFuZG1hcmtOYXZpZ2F0aW9uUm9sZToKKyAgICAgICAgICAgIHJl
dHVybiBAIkFYTGFuZG1hcmtOYXZpZ2F0aW9uIjsKKyAgICAgICAgY2FzZSBMYW5kbWFya1NlYXJj
aFJvbGU6CisgICAgICAgICAgICByZXR1cm4gQCJBWExhbmRtYXJrU2VhcmNoIjsKKyAgICAgICAg
Y2FzZSBBcHBsaWNhdGlvbkxvZ1JvbGU6CisgICAgICAgICAgICByZXR1cm4gQCJBWEFwcGxpY2F0
aW9uTG9nIjsKKyAgICAgICAgY2FzZSBBcHBsaWNhdGlvbk1hcnF1ZWVSb2xlOgorICAgICAgICAg
ICAgcmV0dXJuIEAiQVhBcHBsaWNhdGlvbk1hcnF1ZWUiOworICAgICAgICBjYXNlIEFwcGxpY2F0
aW9uU3RhdHVzUm9sZToKKyAgICAgICAgICAgIHJldHVybiBAIkFYQXBwbGljYXRpb25TdGF0dXMi
OworICAgICAgICBjYXNlIEFwcGxpY2F0aW9uVGltZXJSb2xlOgorICAgICAgICAgICAgcmV0dXJu
IEAiQVhBcHBsaWNhdGlvblRpbWVyIjsKKyAgICAgICAgY2FzZSBEb2N1bWVudFJvbGU6CisgICAg
ICAgICAgICByZXR1cm4gQCJBWERvY3VtZW50IjsKKyAgICAgICAgY2FzZSBEb2N1bWVudEFydGlj
bGVSb2xlOgorICAgICAgICAgICAgcmV0dXJuIEAiQVhEb2N1bWVudEFydGljbGUiOworICAgICAg
ICBjYXNlIERvY3VtZW50Tm90ZVJvbGU6CisgICAgICAgICAgICByZXR1cm4gQCJBWERvY3VtZW50
Tm90ZSI7CisgICAgICAgIGNhc2UgRG9jdW1lbnRSZWdpb25Sb2xlOgorICAgICAgICAgICAgcmV0
dXJuIEAiQVhEb2N1bWVudFJlZ2lvbiI7CisgICAgICAgIGNhc2UgVXNlckludGVyZmFjZVRvb2x0
aXBSb2xlOgorICAgICAgICAgICAgcmV0dXJuIEAiQVhVc2VySW50ZXJmYWNlVG9vbHRpcCI7Cisg
ICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gbmlsOworICAgIH0KKyAgICAKICAg
ICByZXR1cm4gbmlsOwogfQogCkBAIC0xMDU2LDggKzExMDksNDQgQEAgc3RhdGljIE5TU3RyaW5n
KiByb2xlVmFsdWVUb05TU3RyaW5nKEFjYwogICAgIGlmIChbYXhSb2xlIGlzRXF1YWxUb1N0cmlu
ZzpOU0FjY2Vzc2liaWxpdHlJbWFnZVJvbGVdKQogICAgICAgICByZXR1cm4gTlNBY2Nlc3NpYmls
aXR5Um9sZURlc2NyaXB0aW9uKE5TQWNjZXNzaWJpbGl0eUltYWdlUm9sZSwgW3NlbGYgc3Vicm9s
ZV0pOwogICAgIAotICAgIGlmIChbYXhSb2xlIGlzRXF1YWxUb1N0cmluZzpOU0FjY2Vzc2liaWxp
dHlHcm91cFJvbGVdKQotICAgICAgICByZXR1cm4gTlNBY2Nlc3NpYmlsaXR5Um9sZURlc2NyaXB0
aW9uKE5TQWNjZXNzaWJpbGl0eUdyb3VwUm9sZSwgW3NlbGYgc3Vicm9sZV0pOworICAgIGlmIChb
YXhSb2xlIGlzRXF1YWxUb1N0cmluZzpOU0FjY2Vzc2liaWxpdHlHcm91cFJvbGVdKSB7CisgICAg
ICAgIHN3aXRjaCAobV9vYmplY3QtPnJvbGVWYWx1ZSgpKSB7CisgICAgICAgICAgICBkZWZhdWx0
OgorICAgICAgICAgICAgICAgIHJldHVybiBOU0FjY2Vzc2liaWxpdHlSb2xlRGVzY3JpcHRpb24o
TlNBY2Nlc3NpYmlsaXR5R3JvdXBSb2xlLCBbc2VsZiBzdWJyb2xlXSk7CisgICAgICAgICAgICBj
YXNlIExhbmRtYXJrQXBwbGljYXRpb25Sb2xlOgorICAgICAgICAgICAgICAgIHJldHVybiBBWEFS
SUFDb250ZW50R3JvdXBUZXh0KEAiQVJJQUxhbmRtYXJrQXBwbGljYXRpb24iKTsKKyAgICAgICAg
ICAgIGNhc2UgTGFuZG1hcmtCYW5uZXJSb2xlOgorICAgICAgICAgICAgICAgIHJldHVybiBBWEFS
SUFDb250ZW50R3JvdXBUZXh0KEAiQVJJQUxhbmRtYXJrQmFubmVyIik7CisgICAgICAgICAgICBj
YXNlIExhbmRtYXJrQ29tcGxlbWVudGFyeVJvbGU6CisgICAgICAgICAgICAgICAgcmV0dXJuIEFY
QVJJQUNvbnRlbnRHcm91cFRleHQoQCJBUklBTGFuZG1hcmtDb21wbGVtZW50YXJ5Iik7CisgICAg
ICAgICAgICBjYXNlIExhbmRtYXJrQ29udGVudEluZm9Sb2xlOgorICAgICAgICAgICAgICAgIHJl
dHVybiBBWEFSSUFDb250ZW50R3JvdXBUZXh0KEAiQVJJQUxhbmRtYXJrQ29udGVudEluZm8iKTsK
KyAgICAgICAgICAgIGNhc2UgTGFuZG1hcmtNYWluUm9sZToKKyAgICAgICAgICAgICAgICByZXR1
cm4gQVhBUklBQ29udGVudEdyb3VwVGV4dChAIkFSSUFMYW5kbWFya01haW4iKTsKKyAgICAgICAg
ICAgIGNhc2UgTGFuZG1hcmtOYXZpZ2F0aW9uUm9sZToKKyAgICAgICAgICAgICAgICByZXR1cm4g
QVhBUklBQ29udGVudEdyb3VwVGV4dChAIkFSSUFMYW5kbWFya05hdmlnYXRpb24iKTsKKyAgICAg
ICAgICAgIGNhc2UgTGFuZG1hcmtTZWFyY2hSb2xlOgorICAgICAgICAgICAgICAgIHJldHVybiBB
WEFSSUFDb250ZW50R3JvdXBUZXh0KEAiQVJJQUxhbmRtYXJrU2VhcmNoIik7CisgICAgICAgICAg
ICBjYXNlIEFwcGxpY2F0aW9uTG9nUm9sZToKKyAgICAgICAgICAgICAgICByZXR1cm4gQVhBUklB
Q29udGVudEdyb3VwVGV4dChAIkFSSUFBcHBsaWNhdGlvbkxvZyIpOworICAgICAgICAgICAgY2Fz
ZSBBcHBsaWNhdGlvbk1hcnF1ZWVSb2xlOgorICAgICAgICAgICAgICAgIHJldHVybiBBWEFSSUFD
b250ZW50R3JvdXBUZXh0KEAiQVJJQUFwcGxpY2F0aW9uTWFycXVlZSIpOworICAgICAgICAgICAg
Y2FzZSBBcHBsaWNhdGlvblN0YXR1c1JvbGU6CisgICAgICAgICAgICAgICAgcmV0dXJuIEFYQVJJ
QUNvbnRlbnRHcm91cFRleHQoQCJBUklBQXBwbGljYXRpb25TdGF0dXMiKTsKKyAgICAgICAgICAg
IGNhc2UgQXBwbGljYXRpb25UaW1lclJvbGU6CisgICAgICAgICAgICAgICAgcmV0dXJuIEFYQVJJ
QUNvbnRlbnRHcm91cFRleHQoQCJBUklBQXBwbGljYXRpb25UaW1lciIpOworICAgICAgICAgICAg
Y2FzZSBEb2N1bWVudFJvbGU6CisgICAgICAgICAgICAgICAgcmV0dXJuIEFYQVJJQUNvbnRlbnRH
cm91cFRleHQoQCJBUklBRG9jdW1lbnQiKTsKKyAgICAgICAgICAgIGNhc2UgRG9jdW1lbnRBcnRp
Y2xlUm9sZToKKyAgICAgICAgICAgICAgICByZXR1cm4gQVhBUklBQ29udGVudEdyb3VwVGV4dChA
IkFSSUFEb2N1bWVudEFydGljbGUiKTsKKyAgICAgICAgICAgIGNhc2UgRG9jdW1lbnROb3RlUm9s
ZToKKyAgICAgICAgICAgICAgICByZXR1cm4gQVhBUklBQ29udGVudEdyb3VwVGV4dChAIkFSSUFE
b2N1bWVudE5vdGUiKTsKKyAgICAgICAgICAgIGNhc2UgRG9jdW1lbnRSZWdpb25Sb2xlOgorICAg
ICAgICAgICAgICAgIHJldHVybiBBWEFSSUFDb250ZW50R3JvdXBUZXh0KEAiQVJJQURvY3VtZW50
UmVnaW9uIik7CisgICAgICAgICAgICBjYXNlIFVzZXJJbnRlcmZhY2VUb29sdGlwUm9sZToKKyAg
ICAgICAgICAgICAgICByZXR1cm4gQVhBUklBQ29udGVudEdyb3VwVGV4dChAIkFSSUFVc2VySW50
ZXJmYWNlVG9vbHRpcCIpOworICAgICAgICB9CisgICAgfSAgICAgICAgCiAgICAgCiAgICAgaWYg
KFtheFJvbGUgaXNFcXVhbFRvU3RyaW5nOk5TQWNjZXNzaWJpbGl0eUNoZWNrQm94Um9sZV0pCiAg
ICAgICAgIHJldHVybiBOU0FjY2Vzc2liaWxpdHlSb2xlRGVzY3JpcHRpb24oTlNBY2Nlc3NpYmls
aXR5Q2hlY2tCb3hSb2xlLCBbc2VsZiBzdWJyb2xlXSk7CkBAIC0xMTIwLDYgKzEyMDksOSBAQCBz
dGF0aWMgTlNTdHJpbmcqIHJvbGVWYWx1ZVRvTlNTdHJpbmcoQWNjCiAgICAgaWYgKFtheFJvbGUg
aXNFcXVhbFRvU3RyaW5nOk5TQWNjZXNzaWJpbGl0eVRvb2xiYXJSb2xlXSkKICAgICAgICAgcmV0
dXJuIE5TQWNjZXNzaWJpbGl0eVJvbGVEZXNjcmlwdGlvbihOU0FjY2Vzc2liaWxpdHlUb29sYmFy
Um9sZSwgW3NlbGYgc3Vicm9sZV0pOwogCisgICAgaWYgKFtheFJvbGUgaXNFcXVhbFRvU3RyaW5n
Ok5TQWNjZXNzaWJpbGl0eVNwbGl0dGVyUm9sZV0pCisgICAgICAgIHJldHVybiBOU0FjY2Vzc2li
aWxpdHlSb2xlRGVzY3JpcHRpb24oTlNBY2Nlc3NpYmlsaXR5U3BsaXR0ZXJSb2xlLCBbc2VsZiBz
dWJyb2xlXSk7CisgICAgCiAgICAgcmV0dXJuIE5TQWNjZXNzaWJpbGl0eVJvbGVEZXNjcmlwdGlv
bihOU0FjY2Vzc2liaWxpdHlVbmtub3duUm9sZSwgbmlsKTsKIH0KIApJbmRleDogV2ViQ29yZS9w
YWdlL21hYy9XZWJDb3JlVmlld0ZhY3RvcnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2Uv
bWFjL1dlYkNvcmVWaWV3RmFjdG9yeS5oCShyZXZpc2lvbiA0NzU1MikKKysrIFdlYkNvcmUvcGFn
ZS9tYWMvV2ViQ29yZVZpZXdGYWN0b3J5LmgJKHdvcmtpbmcgY29weSkKQEAgLTEyOSw2ICsxMjks
NyBAQAogLSAoTlNTdHJpbmcgKilBWEhlYWRpbmdUZXh0OwogLSAoTlNTdHJpbmcgKilBWERlZmlu
aXRpb25MaXN0VGVybVRleHQ7CiAtIChOU1N0cmluZyAqKUFYRGVmaW5pdGlvbkxpc3REZWZpbml0
aW9uVGV4dDsKKy0gKE5TU3RyaW5nICopQVhBUklBQ29udGVudEdyb3VwVGV4dDooTlNTdHJpbmcg
KilhcmlhVHlwZTsKIAogLSAoTlNTdHJpbmcgKilBWEJ1dHRvbkFjdGlvblZlcmI7CiAtIChOU1N0
cmluZyAqKUFYUmFkaW9CdXR0b25BY3Rpb25WZXJiOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9M
b2NhbGl6ZWRTdHJpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6
ZWRTdHJpbmdzLmgJKHJldmlzaW9uIDQ3NTUyKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6
ZWRTdHJpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNSw2ICsxMTUsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgU3RyaW5nIEFYSGVhZGluZ1RleHQoKTsKICAgICBTdHJpbmcgQVhEZWZp
bml0aW9uTGlzdFRlcm1UZXh0KCk7CiAgICAgU3RyaW5nIEFYRGVmaW5pdGlvbkxpc3REZWZpbml0
aW9uVGV4dCgpOworICAgIFN0cmluZyBBWEFSSUFDb250ZW50R3JvdXBUZXh0KGNvbnN0IFN0cmlu
ZyYgYXJpYVR5cGUpOwogICAgIAogICAgIFN0cmluZyBBWEJ1dHRvbkFjdGlvblZlcmIoKTsKICAg
ICBTdHJpbmcgQVhSYWRpb0J1dHRvbkFjdGlvblZlcmIoKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vbWFjL0xvY2FsaXplZFN0cmluZ3NNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvTG9jYWxpemVkU3RyaW5nc01hYy5tbQkocmV2aXNpb24gNDc1NTIpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL21hYy9Mb2NhbGl6ZWRTdHJpbmdzTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC02MjUsNiArNjI1LDE0IEBAIFN0cmluZyBBWERlZmluaXRpb25MaXN0RGVmaW5pdGlvblRleHQo
KQogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KICAgICAKK1N0cmluZyBBWEFSSUFDb250ZW50R3Jv
dXBUZXh0KGNvbnN0IFN0cmluZyYgYXJpYVR5cGUpCit7CisgICAgQkVHSU5fQkxPQ0tfT0JKQ19F
WENFUFRJT05TOworICAgIHJldHVybiBbW1dlYkNvcmVWaWV3RmFjdG9yeSBzaGFyZWRGYWN0b3J5
XSBBWEFSSUFDb250ZW50R3JvdXBUZXh0OmFyaWFUeXBlXTsKKyAgICBFTkRfQkxPQ0tfT0JKQ19F
WENFUFRJT05TOworICAgIHJldHVybiBTdHJpbmcoKTsgICAgICAgIAorfQorICAgIAogU3RyaW5n
IEFYQnV0dG9uQWN0aW9uVmVyYigpCiB7CiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05T
OwpJbmRleDogV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NzU1MykKKysrIFdlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxMiBAQAorMjAwOS0wOC0yMCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBw
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEVuYWJsZSB2YXJpb3VzICJncm91cGluZyIgQVJJQSByb2xlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjg0ODYKKworICAgICAgICAqIEVuZ2xpc2gu
bHByb2ovTG9jYWxpemFibGUuc3RyaW5nczoKKwogMjAwOS0wOC0xOCAgRHJldyBXaWxzb24gIDxh
dHdpbHNvbkBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJ
bmRleDogV2ViS2l0L0VuZ2xpc2gubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQvRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCShyZXZpc2lvbiA0
NzU1MikKKysrIFdlYktpdC9FbmdsaXNoLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MJKHdvcmtp
bmcgY29weSkKQEAgLTQ0Miw2ICs0NDIsMjQgQEAKIAAvACoAIABWAGUAcgBiACAAcwB0AGEAdABp
AG4AZwAgAHQAaABlACAAYQBjAHQAaQBvAG4AIAB0AGgAYQB0ACAAdwBpAGwAbAAgAG8AYwBjAHUA
cgAgAHcAaABlAG4AIABhACAAdABlAHgAdAAgAGYAaQBlAGwAZAAgAGkAcwAgAHMAZQBsAGUAYwB0
AGUAZAAsACAAYQBzACAAdQBzAGUAZAAgAGIAeQAgAGEAYwBjAGUAcwBzAGkAYgBpAGwAaQB0AHkA
IAAqAC8ACiAAIgBhAGMAdABpAHYAYQB0AGUAIgAgAD0AIAAiAGEAYwB0AGkAdgBhAHQAZQAiADsA
CiAACisALwAqACAAUwBoAG8AcgB0ACAAZABlAHMAYwByAGkAcAB0AGkAbwBuAHMAIABvAGYAIABX
AEEASQAtAEEAUgBJAEEAIABjAG8AbgB0AGUAbgB0ACAAcgBvAGwAZQBzACAAKgAvAAorACIAQQBS
AEkAQQBBAHAAcABsAGkAYwBhAHQAaQBvAG4ATABvAGcAIgAgAD0AIAAiAGwAbwBnACIAOwAKKwAi
AEEAUgBJAEEAQQBwAHAAbABpAGMAYQB0AGkAbwBuAE0AYQByAHEAdQBlAGUAIgAgAD0AIAAiAG0A
YQByAHEAdQBlAGUAIgA7AAorACIAQQBSAEkAQQBBAHAAcABsAGkAYwBhAHQAaQBvAG4AUwB0AGEA
dAB1AHMAIgAgAD0AIAAiAHMAdABhAHQAdQBzACIAOwAKKwAiAEEAUgBJAEEAQQBwAHAAbABpAGMA
YQB0AGkAbwBuAFQAaQBtAGUAcgAiACAAPQAgACIAdABpAG0AZQByACIAOwAKKwAiAEEAUgBJAEEA
RABvAGMAdQBtAGUAbgB0ACIAIAA9ACAAIgBkAG8AYwB1AG0AZQBuAHQAIgA7AAorACIAQQBSAEkA
QQBEAG8AYwB1AG0AZQBuAHQAQQByAHQAaQBjAGwAZQAiACAAPQAgACIAYQByAHQAaQBjAGwAZQAi
ADsACisAIgBBAFIASQBBAEQAbwBjAHUAbQBlAG4AdABOAG8AdABlACIAIAA9ACAAIgBuAG8AdABl
ACIAOwAKKwAiAEEAUgBJAEEARABvAGMAdQBtAGUAbgB0AFIAZQBnAGkAbwBuACIAIAA9ACAAIgBy
AGUAZwBpAG8AbgAiADsACisAIgBBAFIASQBBAEwAYQBuAGQAbQBhAHIAawBBAHAAcABsAGkAYwBh
AHQAaQBvAG4AIgAgAD0AIAAiAGEAcABwAGwAaQBjAGEAdABpAG8AbgAiADsACisAIgBBAFIASQBB
AEwAYQBuAGQAbQBhAHIAawBCAGEAbgBuAGUAcgAiACAAPQAgACIAYgBhAG4AbgBlAHIAIgA7AAor
ACIAQQBSAEkAQQBMAGEAbgBkAG0AYQByAGsAQwBvAG0AcABsAGUAbQBlAG4AdABhAHIAeQAiACAA
PQAgACIAYwBvAG0AcABsAGUAbQBlAG4AdABhAHIAeQAiADsACisAIgBBAFIASQBBAEwAYQBuAGQA
bQBhAHIAawBDAG8AbgB0AGUAbgB0AEkAbgBmAG8AIgAgAD0AIAAiAGMAbwBuAHQAZQBuAHQAIgA7
AAorACIAQQBSAEkAQQBMAGEAbgBkAG0AYQByAGsATQBhAGkAbgAiACAAPQAgACIAbQBhAGkAbgAi
ADsACisAIgBBAFIASQBBAEwAYQBuAGQAbQBhAHIAawBOAGEAdgBpAGcAYQB0AGkAbwBuACIAIAA9
ACAAIgBuAGEAdgBpAGcAYQB0AGkAbwBuACIAOwAKKwAiAEEAUgBJAEEATABhAG4AZABtAGEAcgBr
AFMAZQBhAHIAYwBoACIAIAA9ACAAIgBzAGUAYQByAGMAaAAiADsACisAIgBBAFIASQBBAFUAcwBl
AHIASQBuAHQAZQByAGYAYQBjAGUAVABvAG8AbAB0AGkAcAAiACAAPQAgACIAdABvAG8AbAB0AGkA
cAAiADsACisACiAALwAqACAASABUAFQAUAAgAHIAZQBzAHUAbAB0ACAAYwBvAGQAZQAgAHMAdABy
AGkAbgBnACAAKgAvAAogACIAYgBhAGQAIABnAGEAdABlAHcAYQB5ACIAIAA9ACAAIgBiAGEAZAAg
AGcAYQB0AGUAdwBhAHkAIgA7AAogAApJbmRleDogV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ3NTUzKQorKysgV2ViS2l0
L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAwOS0wOC0y
MCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSB2YXJpb3VzICJncm91cGlu
ZyIgQVJJQSByb2xlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Mjg0ODYKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlZpZXdGYWN0b3J5Lm1t
OgorICAgICAgICAoLVtXZWJWaWV3RmFjdG9yeSBBWEFSSUFDb250ZW50R3JvdXBUZXh0Ol0pOgor
CiAyMDA5LTA4LTE5ICBNYXJrIFJvd2UgIDxtcm93ZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbi4KSW5kZXg6IFdlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViVmlld0ZhY3RvcnkubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJWaWV3RmFjdG9yeS5tbQkocmV2aXNpb24gNDc1NTIpCisrKyBXZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYlZpZXdGYWN0b3J5Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC01NTMsNiArNTUz
LDExIEBACiAgICAgcmV0dXJuIFVJX1NUUklORygiZGVmaW5pdGlvbiIsICJkZWZpbml0aW9uIHBo
cmFzZSIpOwogfQogCistIChOU1N0cmluZyAqKUFYQVJJQUNvbnRlbnRHcm91cFRleHQ6KE5TU3Ry
aW5nICopYXJpYVR5cGUKK3sKKyAgICByZXR1cm4gVUlfU1RSSU5HKFthcmlhVHlwZSBVVEY4U3Ry
aW5nXSwgIkEgZGVzY3JpcHRpb24gZm9yIGEgc3BlY2lmaWVkIEFSSUEgZ3JvdXBpbmcgcm9sZS4i
KTsgICAgCit9CisKIC0gKE5TU3RyaW5nICopQVhCdXR0b25BY3Rpb25WZXJiCiB7CiAgICAgcmV0
dXJuIFVJX1NUUklORygicHJlc3MiLCAiVmVyYiBzdGF0aW5nIHRoZSBhY3Rpb24gdGhhdCB3aWxs
IG9jY3VyIHdoZW4gYSBidXR0b24gaXMgcHJlc3NlZCwgYXMgdXNlZCBieSBhY2Nlc3NpYmlsaXR5
Iik7CkluZGV4OiBXZWJLaXRUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0NzU1MykKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDA5LTA4LTIwICBDaHJpcyBGbGVpemFj
aCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRW5hYmxlIHZhcmlvdXMgImdyb3VwaW5nIiBBUklBIHJvbGVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODQ4NgorCisg
ICAgICAgIEV4cG9zZSB0aGUgYWJpbGl0eSB0byByZXRyaWV2ZSB0aGUgc3Vicm9sZSB0aHJvdWdo
IGFjY2Vzc2liaWxpdHkgZm9yIERSVC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnQuY3BwOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnQuaDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudEd0ay5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRNYWMubW06CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwOgorCiAyMDA5LTA4LTE5ICBNYXJrIFJvd2UgIDxt
cm93ZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbi4KSW5k
ZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnQuY3BwCShyZXZpc2lvbiA0NzU1MikKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjIsNiAr
MjYyLDEyIEBAIHN0YXRpYyBKU1ZhbHVlUmVmIGdldFJvbGVDYWxsYmFjayhKU0NvbnQKICAgICBy
ZXR1cm4gSlNWYWx1ZU1ha2VTdHJpbmcoY29udGV4dCwgcm9sZS5nZXQoKSk7CiB9CiAKK3N0YXRp
YyBKU1ZhbHVlUmVmIGdldFN1YnJvbGVDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNP
YmplY3RSZWYgdGhpc09iamVjdCwgSlNTdHJpbmdSZWYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlUmVm
KiBleGNlcHRpb24pCit7CisgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHJvbGUoQWRvcHQs
IHRvQVhFbGVtZW50KHRoaXNPYmplY3QpLT5zdWJyb2xlKCkpOworICAgIHJldHVybiBKU1ZhbHVl
TWFrZVN0cmluZyhjb250ZXh0LCByb2xlLmdldCgpKTsKK30KKwogc3RhdGljIEpTVmFsdWVSZWYg
Z2V0VGl0bGVDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgdGhpc09i
amVjdCwgSlNTdHJpbmdSZWYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCiB7
CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHRpdGxlKEFkb3B0LCB0b0FYRWxlbWVudCh0
aGlzT2JqZWN0KS0+dGl0bGUoKSk7CkBAIC0zNzUsNiArMzgxLDcgQEAgSlNDbGFzc1JlZiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpnZXRKUwogewogICAgIHN0YXRpYyBKU1N0YXRpY1ZhbHVlIHN0
YXRpY1ZhbHVlc1tdID0gewogICAgICAgICB7ICJyb2xlIiwgZ2V0Um9sZUNhbGxiYWNrLCAwLCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVs
ZXRlIH0sCisgICAgICAgIHsgInN1YnJvbGUiLCBnZXRTdWJyb2xlQ2FsbGJhY2ssIDAsIGtKU1By
b3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUg
fSwKICAgICAgICAgeyAidGl0bGUiLCBnZXRUaXRsZUNhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAg
ICAgIHsgImRlc2NyaXB0aW9uIiwgZ2V0RGVzY3JpcHRpb25DYWxsYmFjaywgMCwga0pTUHJvcGVy
dHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAog
ICAgICAgICB7ICJsYW5ndWFnZSIsIGdldExhbmd1YWdlQ2FsbGJhY2ssIDAsIGtKU1Byb3BlcnR5
QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKSW5k
ZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50LmgJKHJldmlzaW9uIDQ3NTUyKQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC04Niw2ICs4Niw3IEBA
IHB1YmxpYzoKICAgICBib29sIGlzQXR0cmlidXRlU2V0dGFibGUoSlNTdHJpbmdSZWYgYXR0cmli
dXRlKTsKICAgICBib29sIGlzQWN0aW9uU3VwcG9ydGVkKEpTU3RyaW5nUmVmIGFjdGlvbik7CiAg
ICAgSlNTdHJpbmdSZWYgcm9sZSgpOworICAgIEpTU3RyaW5nUmVmIHN1YnJvbGUoKTsKICAgICBK
U1N0cmluZ1JlZiB0aXRsZSgpOwogICAgIEpTU3RyaW5nUmVmIGRlc2NyaXB0aW9uKCk7CiAgICAg
SlNTdHJpbmdSZWYgbGFuZ3VhZ2UoKTsKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50R3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAJKHJl
dmlzaW9uIDQ3NTUyKQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnRHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTYsNiArMTU2LDExIEBA
IEpTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvbGUKICAgICByZXR1cm4gSlNT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoYXRrX3JvbGVfZ2V0X25hbWUocm9sZSkpOwogfQog
CitKU1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdWJyb2xlKCkKK3sKKyAgICBy
ZXR1cm4gMDsKK30KKwogSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGl0bGUo
KQogewogICAgIGNvbnN0IGdjaGFyKiBuYW1lID0gYXRrX29iamVjdF9nZXRfbmFtZShBVEtfT0JK
RUNUKG1fZWxlbWVudCkpOwpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0JKHJldmlzaW9uIDQ3
NTUyKQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTMxMSw2ICszMTEsMTIgQEAgSlNTdHJpbmdS
ZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm9sZQogICAgIHJldHVybiBjb25jYXRlbmF0ZUF0
dHJpYnV0ZUFuZFZhbHVlKEAiQVhSb2xlIiwgcm9sZSk7CiB9CiAKK0pTU3RyaW5nUmVmIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnN1YnJvbGUoKQoreworICAgIE5TU3RyaW5nKiByb2xlID0gZGVz
Y3JpcHRpb25PZlZhbHVlKFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5T
QWNjZXNzaWJpbGl0eVN1YnJvbGVBdHRyaWJ1dGVdLCBtX2VsZW1lbnQpOworICAgIHJldHVybiBj
b25jYXRlbmF0ZUF0dHJpYnV0ZUFuZFZhbHVlKEAiQVhTdWJyb2xlIiwgcm9sZSk7Cit9CisKIEpT
U3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRpdGxlKCkKIHsKICAgICBOU1N0cmlu
ZyogdGl0bGUgPSBkZXNjcmlwdGlvbk9mVmFsdWUoW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5QXR0
cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5VGl0bGVBdHRyaWJ1dGVdLCBtX2VsZW1lbnQpOwpJ
bmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnRXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNwcAkocmV2aXNpb24gNDc1NTIpCisrKyBXZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE1Nyw2ICsxNTcsMTEgQEAgSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6cm9sZQogICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJz
KHJvbGVUZXh0LCBfdGNzbGVuKHJvbGVUZXh0KSk7CiB9CiAKK0pTU3RyaW5nUmVmIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OnN1YnJvbGUoKQoreworICAgIHJldHVybiAwOworfQorCiBKU1N0cmlu
Z1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0aXRsZSgpCiB7CiAgICAgQlNUUiB0aXRsZUJT
VFI7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0NzU1MykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDA5LTA4LTIwICBDaHJpcyBGbGVpemFj
aCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRW5hYmxlIHZhcmlvdXMgImdyb3VwaW5nIiBBUklBIHJvbGVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODQ4NgorCisg
ICAgICAgICogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvYXJpYS1ncm91cGluZy1yb2xlcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5
L2FyaWEtZ3JvdXBpbmctcm9sZXMuaHRtbDogQWRkZWQuCisKIDIwMDktMDgtMTkgIEFhcm9uIEJv
b2RtYW4gIDxhYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2
aW4uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9hcmlhLWdy
b3VwaW5nLXJvbGVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9hcmlhLWdyb3VwaW5nLXJvbGVzLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2Fy
aWEtZ3JvdXBpbmctcm9sZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM4
IEBACit0ZXh0Cit0ZXh0Cit0ZXh0Cit0ZXh0Cit0ZXh0Cit0ZXh0Cit0ZXh0Cit0ZXh0Cit0ZXh0
Cit0ZXh0Cit0ZXh0Cit0ZXh0Cit0ZXh0Cit0ZXh0Cit0ZXh0CitUaGlzIHRlc3RzIHRoYXQgZWFj
aCBvZiB0aGVzZSBBUklBIGdyb3VwaW5nIHR5cGUgcm9sZXMgbWFwIHRvIHRoZSByaWdodCByb2xl
IGFuZCBzdWJyb2xlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBzdWNj
ZWVkZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZWVkZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZWVkZWQgaXMg
dHJ1ZQorUEFTUyBzdWNjZWVkZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZWVkZWQgaXMgdHJ1ZQorUEFT
UyBzdWNjZWVkZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZWVkZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZWVk
ZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZWVkZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZWVkZWQgaXMgdHJ1
ZQorUEFTUyBzdWNjZWVkZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZWVkZWQgaXMgdHJ1ZQorUEFTUyBz
dWNjZWVkZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZWVkZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2FyaWEtZ3JvdXBpbmctcm9sZXMuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9hcmlhLWdyb3Vw
aW5nLXJvbGVzLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
YWNjZXNzaWJpbGl0eS9hcmlhLWdyb3VwaW5nLXJvbGVzLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQ+Cit2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keSBpZD0iYm9keSI+CisKKzxkaXYgcm9sZT0iYXBwbGljYXRpb24iPnRleHQ8L2Rpdj4KKzxk
aXYgcm9sZT0iYXJ0aWNsZSI+dGV4dDwvZGl2PgorPGRpdiByb2xlPSJiYW5uZXIiPnRleHQ8L2Rp
dj4KKzxkaXYgcm9sZT0iY29tcGxlbWVudGFyeSI+dGV4dDwvZGl2PgorPGRpdiByb2xlPSJjb250
ZW50aW5mbyI+dGV4dDwvZGl2PgorPGRpdiByb2xlPSJkb2N1bWVudCI+dGV4dDwvZGl2PgorPGRp
diByb2xlPSJsb2ciPnRleHQ8L2Rpdj4KKzxkaXYgcm9sZT0ibWFpbiI+dGV4dDwvZGl2PgorPGRp
diByb2xlPSJtYXJxdWVlIj50ZXh0PC9kaXY+Cis8ZGl2IHJvbGU9Im5vdGUiPnRleHQ8L2Rpdj4K
KzxkaXYgcm9sZT0ibmF2aWdhdGlvbiI+dGV4dDwvZGl2PgorPGRpdiByb2xlPSJyZWdpb24iPnRl
eHQ8L2Rpdj4KKzxkaXYgcm9sZT0ic2VhcmNoIj50ZXh0PC9kaXY+Cis8ZGl2IHJvbGU9InN0YXR1
cyI+dGV4dDwvZGl2PgorPGRpdiByb2xlPSJ0b29sdGlwIj50ZXh0PC9kaXY+CisKKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisK
KyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IGVhY2ggb2YgdGhlc2UgQVJJQSBncm91
cGluZyB0eXBlIHJvbGVzIG1hcCB0byB0aGUgcmlnaHQgcm9sZSBhbmQgc3Vicm9sZS4iKTsKKwor
ICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKworICAgICAgICAgIC8v
IHRoaXMgdGV4dCBmaWVsZCBzaG91bGQgYmUgcmVxdWlyZWQuCisgICAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImJvZHkiKS5mb2N1cygpOworICAgICAgICAgIHZhciBvYmogPSBhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKKworICAgICAgICAgIHZhciBzdWJy
b2xlcyA9IG5ldyBBcnJheSgiQVhMYW5kbWFya0FwcGxpY2F0aW9uIiwiQVhEb2N1bWVudEFydGlj
bGUiLCJBWExhbmRtYXJrQmFubmVyIiwiQVhMYW5kbWFya0NvbXBsZW1lbnRhcnkiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAiQVhMYW5kbWFya0NvbnRlbnRJbmZvIiwgIkFYRG9jdW1lbnQi
LCAiQVhBcHBsaWNhdGlvbkxvZyIsICJBWExhbmRtYXJrTWFpbiIsICJBWEFwcGxpY2F0aW9uTWFy
cXVlZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICJBWERvY3VtZW50Tm90ZSIsICJBWExh
bmRtYXJrTmF2aWdhdGlvbiIsICJBWERvY3VtZW50UmVnaW9uIiwgIkFYTGFuZG1hcmtTZWFyY2gi
LCAiQVhBcHBsaWNhdGlvblN0YXR1cyIpOworCisgICAgICAgICAgZm9yICh2YXIgayA9IDA7IGsg
PCAxNDsgaysrKSB7CisgICAgICAgICAgICAgIHZhciBzdWNjZWVkZWQgPSBvYmouY2hpbGRBdElu
ZGV4KGspLnJvbGUgPT0gIkFYUm9sZTogQVhHcm91cCIgJiYgb2JqLmNoaWxkQXRJbmRleChrKS5z
dWJyb2xlID09ICJBWFN1YnJvbGU6ICIgKyBzdWJyb2xlc1trXTsKKyAgICAgICAgICAgICAgc2hv
dWxkQmUoInN1Y2NlZWRlZCIsICJ0cnVlIik7CisgICAgICAgICAgfQorICAgIH0KKworICAgIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>