<?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>219687</bug_id>
          
          <creation_ts>2020-12-09 08:27:31 -0800</creation_ts>
          <short_desc>width: max-content with box-sizing: border-box should leave space for padding (Twitter date hover overflow)</short_desc>
          <delta_ts>2020-12-19 14:10:42 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=219944</see_also>
          <bug_file_loc>https://twitter.com/gsnedders</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BrowserCompat, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Sneddon [:gsnedders]">gsnedders</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jfernandez</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mifenton</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pdr</cc>
    
    <cc>rego</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1713154</commentid>
    <comment_count>0</comment_count>
      <attachid>415759</attachid>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2020-12-09 08:27:31 -0800</bug_when>
    <thetext>Created attachment 415759
Firefox mouseover

If you mouseover a date on a tweet, in Safari (14.0, STP 116, trunk) it wraps to multiple lines but doesn&apos;t in other browsers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713155</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-09 08:27:41 -0800</bug_when>
    <thetext>&lt;rdar://problem/72137685&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713156</commentid>
    <comment_count>2</comment_count>
      <attachid>415760</attachid>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2020-12-09 08:27:55 -0800</bug_when>
    <thetext>Created attachment 415760
Safari mouseover</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713197</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-12-09 09:25:06 -0800</bug_when>
    <thetext>Maybe the element just isn&apos;t quite wide enough for the text in Safari?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713206</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2020-12-09 09:52:11 -0800</bug_when>
    <thetext>Nah, it&apos;s definitely WebKit. :)

&lt;div style=&quot;box-sizing: border-box; padding: 5px; position: absolute; width: max-content;&quot;&gt;Filler text&lt;/div&gt;

Presumably we&apos;re not obeying box-sizing for max-content or something like that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713230</commentid>
    <comment_count>5</comment_count>
      <attachid>415774</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-12-09 11:10:31 -0800</bug_when>
    <thetext>Created attachment 415774
test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715123</commentid>
    <comment_count>6</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-12-16 09:14:53 -0800</bug_when>
    <thetext>LFC patch landed here: https://trac.webkit.org/changeset/270891</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715904</commentid>
    <comment_count>7</comment_count>
      <attachid>416570</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-12-19 08:17:16 -0800</bug_when>
    <thetext>Created attachment 416570
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715905</commentid>
    <comment_count>8</comment_count>
      <attachid>416571</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-12-19 08:37:40 -0800</bug_when>
    <thetext>Created attachment 416571
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715915</commentid>
    <comment_count>9</comment_count>
      <attachid>416573</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-12-19 12:12:14 -0800</bug_when>
    <thetext>Created attachment 416573
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715917</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-19 14:10:40 -0800</bug_when>
    <thetext>Committed r271003: &lt;https://trac.webkit.org/changeset/271003&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 416573.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>415759</attachid>
            <date>2020-12-09 08:27:31 -0800</date>
            <delta_ts>2020-12-09 08:27:31 -0800</delta_ts>
            <desc>Firefox mouseover</desc>
            <filename>Firefox.png</filename>
            <type>image/png</type>
            <size>5645</size>
            <attacher name="Sam Sneddon [:gsnedders]">gsnedders</attacher>
            
              <data encoding="base64">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
YII=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>415760</attachid>
            <date>2020-12-09 08:27:55 -0800</date>
            <delta_ts>2020-12-09 08:27:55 -0800</delta_ts>
            <desc>Safari mouseover</desc>
            <filename>Safari.png</filename>
            <type>image/png</type>
            <size>6802</size>
            <attacher name="Sam Sneddon [:gsnedders]">gsnedders</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAZgAAACUCAIAAAAh7KjNAAAACXBIWXMAABYlAAAWJQFJUiTwAAAa
RElEQVR4AezUMQ0AAAACIPsX9jWHG4QgBTgnMkBkACIDEBkgMgCRAYgMQGSAyABEBiAyAJEBIgMQ
GYDIAEQGiAxAZAAiAxAZIDIAkQGIDMbeWfA4sitR+H9eZmZmXmZmZmZmZhxmZkaL9T7d2luyutKT
N5YSjTo+8pLTtXG77ePyqXJPREQksmmhtrFl68HTlBv3nxbWKiIFF28+kM5sbusMsY+IiER2/vr9
l7/4m7J08/5wq5LElgOnV247ROnp63cuHLNW7ZDOvP2obFqGbZ3d63YfkzaUVde7FNx7UrHr6PnZ
q3a89+OCd39c8PfybdsOnmEFmpycdBGRyBSRyEoT73w/TzqhpqGl+ER27d4TbQDl9JXbzmB0bHzV
9sNygS3z1+0eGh5xxUdEJLJIZJHIYB9LT5bIBoeGf1u8yb/mnR/m45H5Nd/NWdPbP+iKiYhIZJHI
IpFV1TV9+fcKLs5LZCcv3dJP2Xu2dXRLfUdXz5JN+/SjnUfOuYjMENmjsmo3sxGJLBLZ86r6176e
JRe/8uXfSF0IXmlE9vPCDWlUhTg2b+0u+fSHeWtdZhCJ7L2fFrBSuVx4WlF74uJNBs1BBsujMpEV
+gYG0VApja0dOZ3/51V1Jy7eIhSFEX8fGBpOXNM/MPTif2hp558TE5PV9c3H//2iM1fvYDK1FNva
0XXhxv09xy9sP3SG5tFIlw9PK2ulSYf4gkdlwyOjlpLCrYKaV1HbSA/cf1oxPj7BPwnb8SV815Fz
1/P258wkssdl1dwRv+c04VnLQ2f8BBDZzQfP5MoPf1n04FklNXNW78xJZC3tnVL/2lezevoGnMHZ
a3flAjabLjOIRMYTJQiVqK1vbvt+7tqED//Rr4tv3H82xUxmEr761T8Jq7e+m3v++r1E0F0+Wrxx
X3l1g84KLX8s3Wzj8cKhmLzyZfIrvp2zGipMyZZo/XH++sT1H/+25Ordx+ZGAqzCm/fZH8vk08q6
pp8WrPc7eRr9OWOIDDrWFo6Nj1sT3dPx9IOJDPLq7RduSiUy1huoinLrwXOXCywYYvjd3DUuIktE
hhTqB3FYx3SaaVGvfuGGvXYm40MtkvqUsmHPCUtkcCX+YM7rP/1j2cjomPPQ3tVjJBItLNSLrV9Z
WdvIraXdCFsMvZFQq/DmaQ/rgqFENo3+LBkiq29qw71VV90QWX7oQFXDTftPuYgsERlF0ztHx8Z+
WbRRByVKxOGz167cebx+z/FPfl8qlXYm41hpPTPwSXkNiaOsin8s3SKVeBYyk5XItHwze/XeExfv
PC6n3veD9p+87DyoJkIhM+j4hZtcv3rHkbe/n6eM4NMx0+nrWavUhDDWgVNX2CGv3XWU7Ym9kSCr
8OYllgr6nJ316St32JZOpz+zT2QG4URGTsbyLQfF6s3v5qqbHJEdIkMGkn9DWzoidx+7kNg6ffHX
8pwzGQVHKnFYEhLPN//xwlHUH0NkTO+BwWEqdT78KjQKiSzZpPW3Hj5PCzYRrEANoV72yFYKoazf
fdw36erp++DnReZGAqxCmmeJjD7X+oD+nAKRyFgOyYllkZi1crs2+/WvZ4vQlh1EImO75E9afCKd
QvjhVrJFo7EzWTdcm/adtPI/VhSyeyyRWS0M10w+ev/nhVqJ9iSVC9bttq3C/VEZSz/VgY4CxVJs
hXyVn/RGAqyCm6dEtmLbIacI6s80RCIjg9/uynmyNY00O1uIRCaDEuVLhqPwGgVdP20A2ZnM3lBD
RfgX/YNDLh1KZDg4OU+f6JiTiB7QDRq7PGsCG6qJJA3BF69/M1tqkOddLvwiQXq9kSCrsOYpkVmT
9P4MB640m9xPf1+6ce9JtPASJzIRhXG9M3hOKXpkm/8VPju7e/VhE8bOacB+085k5AbcdbXl72hG
zMZnleRSpBIZYzGnkKH/D3+XRG2tQVDH60kU9V8oqEuYMPO1hrCgywVkL/9GwqzCmucTWV1Tq1ME
9aeF3V7pf3X26t0SITKNEtCZJNOSQMOS8Km3o6c/XcYQNTJi0vyD1DB9zBI0tDh1+bYlMjmg++a3
c+zqx4zdc/ziiDgCJv3CGeiUUCLzPJr85e7j8oSJSuxpOz69kQCrsOb5REami1OE9Gd+qMJNQX0r
WbEf0LZlmw+ot9vQ3O6yhEhkqD+yB9HhWJXikmzce8ISmfomECIiPUPEpobxaRiRkWKqNUQbiHLa
It4QfymvaUiYSFakBeFI/0bCrMKal0ZkQf2ZHySpirSHZ0f0s2SJTBPNyHERW1I6XJYQiYwDtCIS
vYEX4PloFmillsisIP3oeRWLv44Yyr6Tl8KIDO9Da/7PkPmwZ2JzzXVq6Y0EW4U1L43IgvozP0Q0
YG+l2aRhMJqgIbJ0Z5agYXGIjIfIy4UoJBKl2bLf9wLTWUEkMrIr7TMmxEbCQeJqEp1M/kGeGajE
99fyrWFEBohgSg0arcsLMfnphcnR8zdcLnz1z0pzIwFWtnnhRBbQn4V76yQbWAophImPBjxNsKO7
V2V1PQvZ1NqRdr9FIDLeUyb1HBFLs8WflWvIjnTZQCQy8j99wYV1W4cph2+JIaq4cO3uE3Yolsig
HnRTsnUQlW18jXQnuR4KCCYyldhpLV9hD2+SpkBIbvP+kxroXPnf+154qR5p9/Y0lb2RAKvA5qUQ
WUB/Fgjnrt2Tb+HoBYdhnQdkPnuaCnAGW+rtCSrcSeqLQ2R6KpM1KadT1t3br8P42IUbLhuIRGZf
YMAU0mEnE4bkMk0fszOZ4aInjRiaMu51Dmu+AsG7YCLjsLRWohn5B6dxCv5ctlWDhrgGdvLgxdAS
n6wtI4dZBTYvhcgC+rNA8MM+2w+f1Xq2bBwd1SMHvglvClOh0D91QNIWNUUjMsaMvnrsx/nrEomK
xIg///NFY3Ahda3KIOL7yJhrqgTZM4OcAbAzecfhs3oNA4WsJbZmpHT4x3oggmAiA2t2HtV6xG8O
ACBwMJk1tGdzsngRqH7EWW7OG81ds4sts2XkYKvg5qURWUB/FgiwgH+CCoWOXZsyrE218/OcoRJC
pRxmhG40UlE0sZ8dsX4d/f/nsi14xJTfl2zWPEE9zZJNRCJTp4BtlJ90Q6CKcUlYk9loZzKxgn9E
zTVFBhNbleD0CxVxRb+zxR70Uf9FX02lRfcdJiEuxCq4eWlEFtCfBQKpCRr5MSX3WwmRnOyVoreS
B1ccIlMxVzU7W6AzXVQyikhkJgOAAe3/jAki1jIayMdJ+HG8NouTgP4KjAqOO0NSYuKd61OczmEn
Jbmg/K6KkirK5HPykmIxV/cHx8fmr6o6DvWoHyFOFs4CUTxkbKlhTxRsFdw81DSbeBzWn4WU/Ftx
SC2b87a1tEx6JHZuTc+HUBZt3Mt5Bt7UKv9EabWRJd7L5qYJtZVj9hb8UBJ6XuO8UnjxATtiTUvO
LCKRoe7zLkBKWsIR89kegU6IFNgivaGqusKAJC/S3Mh1QAEZn5hw+QAhciXXMzNVAA6zCm9eAGx/
Fh3wKbrS9XtPcXxwpkRysrC+MA2m3+yJqOKDZZij+08qarQDs49IZLrvQ90njm5PdOtiy5UuIiIi
YgYSGes/ir6erWX3x49y4J0naApIWrCYnvfWM0zZQwSPuHSKyxgikalTliaUahpBtg+pRXz257LS
KS4iq2I/oowffddCIhXZCfoqxIiIiIgZSmQagSKghihG3sCBU5c5fIOAPS3NOyIiIiL+gN7/sVMH
AgAAAABA/q+NEKFqZNXIqkZWNbKqkVUjqxpZ1ciqRlaNrGpkVSOrGlk1sqqRVY2samTVyKpGVjWy
qpFh7yx4HseBMPz/xZBlZrpl1NLHzMzMjMv4qKN7pbPzWSnqWvk92NSdxo6TeTozdrX/a33NyWmU
vn379j0nDgo4raNwR04vhXVX2GW6ZmVTYSf/lRPzU5J7ylvMM5JNVFWCLErs+P3795+cOA68a+Jl
xkf/58+f2KeKt3wvdWxoyZcO+uxJV5rlzD9+/DAzDsox4UygZiAvaVRF3lNQ6N9T8TEqgqz6JKf1
H3p5vqkAlolNYZBxKvmV31G4C8c/nQsJGNBpGDTVC7LwPdW7vsrFsgiyqJmZmZcvX16+fDkpta5e
vbq6uuo8yo8fP5YBWl9ft/bh4eEbN27cu3dvbm7OWsbHx2V2/vz5hYWFg4ODjx8/qhFtbW1hOTY2
9o8nepdZW1ubnZOT3L59+/Tp03fu3NnY2LDGt2/fJtm0ubmpC6FT3+D169cyGBoaStL07t072fT1
9SVlEBPFyaemppI8ZSDu7u4u+J6eOXMGrhmz3r9/f+HChYsXLzY2NtpXzt7eXlIpMdRXr14xCRFk
ta/Z2dnr168n5RHQsQcd3DQ1NfkP/f37961xe3v71KlTYhYDs1gJN7DGDx8+mCV/MzwvpU+fPtGI
nyRB7ezs+F7Eg+4gKSzY5wQXZ8+eDYAMg3PnziWe1tbWKg8y8M34IbhabKppvHbtmg+ygu/pmzdv
rBFeqxGNjIxYu7qrjG7dusU8RJDVuHC8BJUTZAMDA3xLP3v2zH/o+ca2xhcvXqgRNTc3WzuBlbXw
KWshjJIZ7LMcKnAVOmF/fz/fz44b2zlHR0eTDOrt7TV7qCpfDYAM1dfXh2lYGZDhzKnzzK2h8fj4
2AdZwfeUC2SqkSivvioPMrE1gqzGxeOYlE08sjzrdpz60Pf09FijhiFnEDLU+Pz5c3LAK1euqOXS
pUtmRmrc3t5Ojjw/P88B+FN8FxAQsY/D04CZoGnR38rKCscEhhwvLS2dBDLm1iJNx4B8k3ZbGawY
yAjHNFE+XLguH2SF3dNAWGSzx8CSiounK4KsxpWUX4GHfnp62s8WERmZGUO6jLmepPpaKssIyhoa
GjitanOLi4skXNnHX1dXx8vBwUFLflWJc0DW1dXlBJV2XUYKEEOeW40gC99TJ3NnqomFuRdUzQzf
gmCFFUFWRkWQEbA42aJkjz6kC5zz6dOnIhfeiN9SfsJbArX2/f193pJ2d3czrnJMTEyYK1K65iV4
sjO0tramgoyFCxbvnCULMk1NQkaQsfpB4FmNICN8tncloEZ7BFkEWU2BTIuA/N+3V+SiloCrUOSi
IiPPNwgSLlEFcz4yOTlJldryPtPR0RF+ngRFJGVUInV1YAEKU0EGfShv2x4II5HAzcoDx1lAxiqE
0fPu3btVB7JHjx4x1cwPBhK1swiyCLJaAxmeRos/DBYrzTjsUQCCRI/ys5MbqhhPWe2kgtfDhw+t
XKWQMCCdEM38K7Ww9poKMuhjxy0tLbxFj/aShCsjyARc1gerDmQSMS8TSCysBYcIsgiymgKZCknO
ChcI0LKg0AOz+D6nLsbLsEjr7OMdHR1hS+1ZC6dvFPjNLFXUy1JBpp0W+LCSU0hBnJgRZFwvcSUB
JsXycoCMkVcAZIqUNV0RZBFkNQUy5YbOltTOzk4n2OFrnJfKy7R7AxL5u8AePHigwrxVnedzwpdk
4yybBvjIPjsxa+C/0gKlQkIHZIBYRCbHtH2/tGcBmaJOKB9e8WBulXsi7K0v0CmQuRU9cbzUICP8
ZKr962KKsFTdM4Isgqx2QKZlR2IWsYBMxNwJb7QNpUKes+mJgMsanbUwSmbWfvPmTQOZbTejQOa4
lhXpCHnUu+T3opzI/8EAi6E+yLTwby0OMUuyaqnfNhweHqqFwSggVaquJVqZMc9ceMlBBqmt0ak8
amYgXQRZBFlNgQyxFUu1J5YCqWrpFzBadrQoAw8hVyI58mMl3I8qDJ5JYIKZqvh+L8QgDIDck/Go
IwEuVUDWfjgp2PkDYPA+yJxttIgeaSktyERtIlMCWIJQ1dfFd10F6wbMKmV45tlWHkoOMpUCoSSD
AdzcFNYrtZpMmmz70dZywiaCLIKsikGmrMfiAkkxmlgQkHJDR3BHiSTimFAu1RK3h2tJurTNQimh
K1zRAMFoHZAJdsSDyqBLDjIwYYxwxMCUkyKSSt+mDCDTpt90EcM6tQIYF0EWQVY1INMXNQUsv6Rl
0YG0vLyc/RegbM5S+mZMYbMr7u2vnVGdkaU5MFGMfs6ZKv2ckCgm1YAlSDN48uSJfJsx6LSImpHt
+1VMp60nLHckRYso1fbNm+AmE+hfF32ZmRJt6Oz8BJVBqpRWzD0lQOae0pFuCkvDUF4Gf9k7A80K
YigK/j8A+YoAWNiva4eDrlMaeU95YQZQaZYt4zbZey7+6tPJl1FkMj4DLiUpmvjA9bqu3Ru6QFVF
XYBNOFZbNk7xiPoi/3Q4jJtz8gZ4h9yK/p0JwRtIsfbf8BQqbt52taBBHJpi8EiRKTJFJpIvWqiI
TxWZIlNkItRiOTQ8VWSKTJGJ8MkulzxciSgyRabIRBSZKDJRZIpMkYkoMkWmyEQUmSJTZCKKTIbI
6SgyGSKno8hkyGYjFCFoNGDSZlhtN9UJzzLyau77ph/o/Q3p9aF5i/GdtHbSh5S5KqLIRJFth0yQ
+fX1gEZotPLbOMQZ1jKSfF7eMHPwKrqDdMmNFH9RZIpMks+RrKFERzxiczooIln+Teba7W+YlYl7
LYipqFpPFJkik3W0fzJXSdcgjYeYGgQUoTxLpyyj1GK6NSkUDEZJwheLiavd3RAyfzOBaPwfSkZI
fvdn0JwoMhmyAstERgmSrckdgFyeuWOAxTopO5PQNjecc+YnZHvlXAzwI3+4yDGhY6LIFJksoJKi
woKKaiCjuYbOZXYRCYJ1apakB/LydzfkHqDGBVQqIQG2QxSZDHk7LJ+zqkQbfrN3DsCa4DAcH3vW
tm3btm3btm3btm3bNp/O7PnuP5eZzLfNQ5+V3/Rud9N+Xf83TZMGLpIMhwG8TEvnTfcNrYe86UJT
Nm3BgXSRokKmLFJC+nI3yRa3SWdxwdPb1mI8zM/tO903ZAVE1Ex2Phd3CIoKWfhw7/6Di5euYPzw
w48qZDEsm8wYw4c7qwmb7BqH/C9+n959Q4DQWECN0HHpyT0iFRWycKRUuUpxEyXHuH3nbswQMoU6
5lIDJO4JxB1ArG7eMqSFRFn3DalBieWjWe2OuJe4okKmQqa4gjMd/CPZdhOgxQbZZVIr9STHyRGh
LvcNAXQKdvu3iRvuUt82RYVMhYz+aimOnYrQZo0UBBLD+RCcVAGp8rdV5Zs3b6hTp/uG3MBNBteo
KoDsJ0+eXOSA/sbFcCF78fLlwcNHVqxas2PX7mvXb+Ca3PjH+w8fniL78Plztjx89Hjdho279uxF
IAwdrY0HiIhhMUbBoiVJyPbuO0AWb28fa2eUnty9e2/Dpi3bduzirSISynhSXBrWcdY+UlIhWwH1
JEf9EBZ7ek/oFgw7ssyCuyHyM2RnX3Djxg2yI9FskRIUqHiNsUJ26/ad+o2akdDwyFOg6MbNWwPx
raBoc+cvzJg1l+en8hYsdubsOV584NBhssvRqWsPXoYG1126906WOoPngiQp0g4bOSYiLwfgCLj3
kdRkC0oHYzfW3zQLgIR+NqLQkm8YXTcUaRaQSFY6dBqmABlKl4Js4qnAe0X1a8wUMnhhydNk9Fdr
4iVOAT8rICGbOXteQJ86eep0kELWsUt3WvP8xYtipcoHtAzfHXy3iNQy3LjJhrWKzJ8ASFI9/iVI
cLU6bxtjECnDvxBI64fcUEE4/wq7bwg+fvxIy+C+4UITubJeXl4ypqZI0Kwevc1RPmFAzBOyly9f
pUibiSQjZ75Cg4eN3Ll7z/SZcypXr03GpKnSX712XQoZjcQp0nTv1ReHQajhhElTsZjsRUuVwzkR
iz97ee3Zux8jR96CNDVn3gKywA2kDXv26U9TmbPnWb9hEw6Vp06fwW6p0mdhxTRRA4UOhoEAqeLF
JFuSP//8M2QbYjGF3ixgxJSJJShSyJq3bkdikTt/kY+fPrEdaYet2nakqSw58yJcJYUsQdJUlr92
4dJl1jhEu1yC/dC7DFlykh+HwJnxYPeeffxjM1EGReqIFCkG37QW4CQYmg2RMmZpGfw7VbFYLWQ+
Pr6JkqehaNSDh4+sRd99/33h4qVJSo4dPyklacDgoUZQp0FjmoXP5SJkcAnJnjJdZnm9gFPn/QcP
nzyFwCnR2ImD+hAmjOANVcKMCtnW7TtJRMpVqmb8Y+DgYbRgxOixUpJwt2gEQ4aPotkFi5a4CBlc
v7SZstEU4v3BC4cpiqJCNmPWXD4JDh0xWg6OUiEwLyXJX0cJITCaxYWmi5BxjIwGPMSGTVpgk8tX
rgoHTaAoigoZQvvQDpdRr2FTf9MvjGD+wsXBFTIE4Fq36yS/0+x5CowdP+n16zdGURQXVMgQDpMD
hz6a6t1vYPgJGeey4SSbNVc+S84yZct95y59RKAoigoZJ4L16jvAOBNOQsagZmDt+o1NWrSOnyQl
fSRXvsJGURTFXyFDtJ6UonT5ylFHyBhclbJfBnUzEkVRVMjw0gAyWiETCZOlPnf+ghFcuXoNl48Y
KL0MKyHbvnOXpx26hjpNDMo7s+AKzaPHThiJoigqZICj7AiHIaXeClqlz5yDZpG4H0ohw3UB2VEJ
4Glfs24D2dNlzo6cMuMBpA05t9IjQyEB6gTyFy6+/8AhoyiKCtm7d+85xyJpynS16jWcPG0GYmcQ
OBaRClVqINsrlELGKWkYqKxEYhqewYAdr+hBQ/maEkm2cNlQMIAF+PGQvXb9Rp5puljPBer0A1MU
JVYLGcChkj0vOUqUqeDl5R36GNnjJ09JmGTROBSNtUkOpJWhYJP3wXvHKHHn2kzNNTOKokLGdUJ9
Bwzm6nGuIV+0ZPn3P/xgLUYZAC349PmzESxcskxm9hPnL1ysUacBCsvlMz5v375r0bo9vQjE5ehQ
TMii9LngMOLBHziSq9asM4qiqJBZjyAiWR/9QRDa9/X1M+EGNocI0vMYFrAjpx+JY2gXZgLmu//R
38j/2qkDAQAAAABB/taDXBCByABEBiAyAJEBIgMQGYDIAEQGiAzgGBmAyABEBiAyQGQAIgMQGUDA
7g9N3WSmIwAAAABJRU5ErkJggg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>415774</attachid>
            <date>2020-12-09 11:10:31 -0800</date>
            <delta_ts>2020-12-09 11:10:31 -0800</delta_ts>
            <desc>test case</desc>
            <filename>219687.html</filename>
            <type>text/html</type>
            <size>199</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">PHN0eWxlPgpkaXYgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBib3gtc2l6aW5nOiBib3JkZXIt
Ym94OyAKICB3aWR0aDogbWF4LWNvbnRlbnQ7CiAgcGFkZGluZzogMXB4OwogIGJvcmRlcjogMXB4
IHNvbGlkIGdyZWVuOwp9Cjwvc3R5bGU+CjxkaXY+UEFTUyBpZiB0aGVyZSdzIG9ubHkgb25lIGxp
bmUgaGVyZSAobm8gd3JhcHBpbmcpLjwvZGl2Pg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416570</attachid>
            <date>2020-12-19 08:17:16 -0800</date>
            <delta_ts>2020-12-19 08:37:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219687-20201219081714.patch</filename>
            <type>text/plain</type>
            <size>41327</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwOTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY1MWMyZmQzOTg2OTJj
YWIyZDQ3YWM3ZDUzYTEzY2UxN2Y3MDZhYS4uNjE5OWMzMjcxNjgzYjJmNTZiNjk0NmJkNDgxZjQx
OTBlMjgxOTdlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIwLTEyLTE5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgd2lkdGg6IG1heC1jb250ZW50
IHdpdGggYm94LXNpemluZzogYm9yZGVyLWJveCBzaG91bGQgbGVhdmUgc3BhY2UgZm9yIHBhZGRp
bmcgKFR3aXR0ZXIgZGF0ZSBob3ZlciBvdmVyZmxvdykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTY4NworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NzIxMzc2ODU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTm9uLXF1YW50aXRhdGl2ZSB2YWx1ZXMgc3VjaCBhcyBhdXRvIGFuZCBtaW4tY29udGVudCBh
cmUgbm90IGluZmx1ZW5jZWQgYnkgdGhlIGJveC1zaXppbmcgcHJvcGVydHkuCisgICAgICAgIFNl
ZSDigItodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXNpemluZy0zLyNib3gtc2l6aW5nCisgICAg
ICAgIChhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yKiBub3cgbmVlZHMgdGhlIHByb3Bl
cnR5IHR5cGUgdG9vKQorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRo
cyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzIGNv
bnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJveDo6YWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVSZXBsYWNlZExvZ2lj
YWxXaWR0aFVzaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0
ZVBvc2l0aW9uZWRMb2dpY2FsV2lkdGhVc2luZyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckJveC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjphZGp1c3RDb250ZW50
Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y29tcHV0ZVByZWZlcnJlZExvZ2lj
YWxXaWR0aHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGcmFnbWVudENvbnRhaW5lcjo6Y29tcHV0ZVBy
ZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJHcmlkLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmNvbXB1dGVBdXRvUmVwZWF0VHJhY2tz
Q291bnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lk
dGhzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwOgorICAgICAgICAo
UmVuZGVyTWVudUxpc3Q6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
UmVwbGFjZWQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyU2xpZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNsaWRlcjo6
Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUYWJsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZTo6Y29tcHV0ZVByZWZl
cnJlZExvZ2ljYWxXaWR0aHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJv
bC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbDo6Y29tcHV0ZVByZWZl
cnJlZExvZ2ljYWxXaWR0aHMpOgorCiAyMDIwLTEyLTE4ICBMYXVybyBNb3VyYSAgPGxtb3VyYUBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtXUEVdIFVucmV2aWV3ZWQgYnVpbGRmaXggYWZ0ZXIgcjI3
MDk2NApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0F1dG9UYWJsZUxheW91
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNwcAppbmRl
eCBmNjQyYjUxNDczNTA4Y2ZkMjAxMWI3YjVlZDI1NDFmMTRhZTk0NjdiLi44MTQzYWQyOWNkMjBj
ZDE1OGViMzk5NjRlOWYyZTg5M2ZmNzYzMGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvQXV0b1RhYmxlTGF5b3V0LmNwcApAQCAtOTUsNyArOTUsNyBAQCB2b2lkIEF1dG9UYWJsZUxh
eW91dDo6cmVjYWxjQ29sdW1uKHVuc2lnbmVkIGVmZkNvbCkKICAgICAgICAgICAgICAgICAgICAg
Y2FzZSBGaXhlZDoKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlnbm9yZSB3aWR0aD0wCiAg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2VsbExvZ2ljYWxXaWR0aC5pc1Bvc2l0aXZlKCkg
JiYgIWNvbHVtbkxheW91dC5sb2dpY2FsV2lkdGguaXNQZXJjZW50T3JDYWxjdWxhdGVkKCkpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCBsb2dpY2FsV2lkdGggPSBjZWxsLT5h
ZGp1c3RCb3JkZXJCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoY2VsbExvZ2ljYWxXaWR0aC52
YWx1ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCBsb2dpY2FsV2lkdGgg
PSBjZWxsLT5hZGp1c3RCb3JkZXJCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoY2VsbExvZ2lj
YWxXaWR0aCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbHVtbkxheW91dC5s
b2dpY2FsV2lkdGguaXNGaXhlZCgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIE5hdi9JRSB3ZWlyZG5lc3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KChsb2dpY2FsV2lkdGggPiBjb2x1bW5MYXlvdXQubG9naWNhbFdpZHRoLnZhbHVlKCkpIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ZpeGVkVGFibGVMYXlvdXQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ZpeGVkVGFibGVMYXlvdXQuY3BwCmluZGV4IGIwNWRm
ZWUwNzI0MjlkZWY2NGQ5OGE4ZDdkYzU0YWEzNTUzYzBmOTkuLjIzYjM4YTk4ZTFhNDM2NWMxNmZk
OTQ2YTk0ZmYyMzNlY2RkODdhZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9GaXhlZFRhYmxlTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRml4
ZWRUYWJsZUxheW91dC5jcHAKQEAgLTE0Miw3ICsxNDIsNyBAQCBmbG9hdCBGaXhlZFRhYmxlTGF5
b3V0OjpjYWxjV2lkdGhBcnJheSgpCiAgICAgICAgIC8vIEZJWE1FOiBTdXBwb3J0IG90aGVyIGxl
bmd0aCB0eXBlcy4gSWYgdGhlIHdpZHRoIGlzIG5vbi1hdXRvLCBpdCBzaG91bGQgcHJvYmFibHkg
anVzdCB1c2UKICAgICAgICAgLy8gUmVuZGVyQm94Ojpjb21wdXRlTG9naWNhbFdpZHRoSW5GcmFn
bWVudFVzaW5nIHRvIGNvbXB1dGUgdGhlIHdpZHRoLgogICAgICAgICBpZiAobG9naWNhbFdpZHRo
LmlzRml4ZWQoKSAmJiBsb2dpY2FsV2lkdGguaXNQb3NpdGl2ZSgpKSB7Ci0gICAgICAgICAgICBm
aXhlZEJvcmRlckJveExvZ2ljYWxXaWR0aCA9IGNlbGwtPmFkanVzdEJvcmRlckJveExvZ2ljYWxX
aWR0aEZvckJveFNpemluZyhsb2dpY2FsV2lkdGgudmFsdWUoKSk7CisgICAgICAgICAgICBmaXhl
ZEJvcmRlckJveExvZ2ljYWxXaWR0aCA9IGNlbGwtPmFkanVzdEJvcmRlckJveExvZ2ljYWxXaWR0
aEZvckJveFNpemluZyhsb2dpY2FsV2lkdGgpOwogICAgICAgICAgICAgbG9naWNhbFdpZHRoLnNl
dFZhbHVlKEZpeGVkLCBmaXhlZEJvcmRlckJveExvZ2ljYWxXaWR0aCk7CiAgICAgICAgIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggMzU4ZDY2Zjk4NzIz
OTYyOTMyMWY5YzMzYTY0ZmQxMTM4N2Q1MjczNy4uOGE3Zjg5NjZiN2M1Yjc1NWIyZDRhNmQwN2Q0
NDdjMjkyMjYxMzEzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
CkBAIC0yMjgwLDE4ICsyMjgwLDE4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVQcmVmZXJy
ZWRMb2dpY2FsV2lkdGhzKCkKICAgICBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGVUb1VzZSA9IHN0
eWxlKCk7CiAgICAgaWYgKCFpc1RhYmxlQ2VsbCgpICYmIHN0eWxlVG9Vc2UubG9naWNhbFdpZHRo
KCkuaXNGaXhlZCgpICYmIHN0eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkudmFsdWUoKSA+PSAwCiAg
ICAgICAgICYmICEoaXNEZXByZWNhdGVkRmxleEl0ZW0oKSAmJiAhc3R5bGVUb1VzZS5sb2dpY2Fs
V2lkdGgoKS5pbnRWYWx1ZSgpKSkKLSAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgg
PSBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lk
dGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS52YWx1ZSgpKTsKKyAgICAg
ICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0
aCA9IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5s
b2dpY2FsV2lkdGgoKSk7CiAgICAgZWxzZQogICAgICAgICBjb21wdXRlSW50cmluc2ljTG9naWNh
bFdpZHRocyhtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgbV9tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGgpOwogCiAgICAgaWYgKHN0eWxlVG9Vc2UubG9naWNhbE1heFdpZHRoKCkuaXNGaXhlZCgp
KSB7Ci0gICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9tYXhQ
cmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hT
aXppbmcoc3R5bGVUb1VzZS5sb2dpY2FsTWF4V2lkdGgoKS52YWx1ZSgpKSk7Ci0gICAgICAgIG1f
bWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9taW5QcmVmZXJyZWRMb2dpY2Fs
V2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1Vz
ZS5sb2dpY2FsTWF4V2lkdGgoKS52YWx1ZSgpKSk7CisgICAgICAgIG1fbWF4UHJlZmVycmVkTG9n
aWNhbFdpZHRoID0gc3RkOjptaW4obV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENv
bnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5sb2dpY2FsTWF4V2lk
dGgoKSkpOworICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1f
bWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9y
Qm94U2l6aW5nKHN0eWxlVG9Vc2UubG9naWNhbE1heFdpZHRoKCkpKTsKICAgICB9CiAgICAgCiAg
ICAgaWYgKHN0eWxlVG9Vc2UubG9naWNhbE1pbldpZHRoKCkuaXNGaXhlZCgpICYmIHN0eWxlVG9V
c2UubG9naWNhbE1pbldpZHRoKCkudmFsdWUoKSA+IDApIHsKLSAgICAgICAgbV9tYXhQcmVmZXJy
ZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRq
dXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2ljYWxN
aW5XaWR0aCgpLnZhbHVlKCkpKTsKLSAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgg
PSBzdGQ6Om1heChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExv
Z2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpLnZhbHVl
KCkpKTsKKyAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21h
eFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJv
eFNpemluZyhzdHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpKSk7CisgICAgICAgIG1fbWluUHJl
ZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgs
IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5sb2dp
Y2FsTWluV2lkdGgoKSkpOwogICAgIH0KICAgICAKICAgICBMYXlvdXRVbml0IGJvcmRlckFuZFBh
ZGRpbmcgPSBib3JkZXJBbmRQYWRkaW5nTG9naWNhbFdpZHRoKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCmluZGV4IDg1YzNiNzEzYThiODYxZWMwYzRl
NTExNGY4YjRhN2FlNDg5NTZjM2UuLmVkMTQwNTQ3NmY0OWZmZmIwOGI1MTNhZTRmODAxNmU4MDVl
NDk5MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zs
b3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3Bw
CkBAIC0zNTYsNyArMzU2LDcgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmNvbXB1dGVJbnRyaW5z
aWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwKICAgICBpZiAoaXM8
UmVuZGVyVGFibGVDZWxsPigqdGhpcykpIHsKICAgICAgICAgTGVuZ3RoIHRhYmxlQ2VsbFdpZHRo
ID0gZG93bmNhc3Q8UmVuZGVyVGFibGVDZWxsPigqdGhpcykuc3R5bGVPckNvbExvZ2ljYWxXaWR0
aCgpOwogICAgICAgICBpZiAodGFibGVDZWxsV2lkdGguaXNGaXhlZCgpICYmIHRhYmxlQ2VsbFdp
ZHRoLnZhbHVlKCkgPiAwKQotICAgICAgICAgICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgo
bWluTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5n
KHRhYmxlQ2VsbFdpZHRoLnZhbHVlKCkpKTsKKyAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCA9
IHN0ZDo6bWF4KG1pbkxvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZv
ckJveFNpemluZyh0YWJsZUNlbGxXaWR0aCkpOwogICAgIH0KIAogICAgIGludCBzY3JvbGxiYXJX
aWR0aCA9IGludHJpbnNpY1Njcm9sbGJhckxvZ2ljYWxXaWR0aCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCA4ZDg1M2FhMmM4YWE0YjcwYjBiMmFiYjQxOTJjY2Ji
Mjk5N2NhYzIzLi5iZjNkZDlkMThhN2RiNDE1NDY5M2NkZWRjZDA3MmU2MDUzOGFmOGY1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtMTIzMSwxMCArMTIzMSwxMSBA
QCB2b2lkIFJlbmRlckJveDo6Y2xlYXJPdmVycmlkaW5nQ29udGFpbmluZ0Jsb2NrQ29udGVudExv
Z2ljYWxIZWlnaHQoKQogICAgICAgICBnT3ZlcnJpZGluZ0NvbnRhaW5pbmdCbG9ja0NvbnRlbnRM
b2dpY2FsSGVpZ2h0TWFwLT5yZW1vdmUodGhpcyk7CiB9CiAKLUxheW91dFVuaXQgUmVuZGVyQm94
OjphZGp1c3RCb3JkZXJCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoTGF5b3V0VW5pdCB3aWR0
aCkgY29uc3QKK0xheW91dFVuaXQgUmVuZGVyQm94OjphZGp1c3RCb3JkZXJCb3hMb2dpY2FsV2lk
dGhGb3JCb3hTaXppbmcoY29uc3QgTGVuZ3RoJiBsb2dpY2FsV2lkdGgpIGNvbnN0CiB7CisgICAg
YXV0byB3aWR0aCA9IExheW91dFVuaXQgeyBsb2dpY2FsV2lkdGgudmFsdWUoKSB9OwogICAgIExh
eW91dFVuaXQgYm9yZGVyc1BsdXNQYWRkaW5nID0gYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxXaWR0
aCgpOwotICAgIGlmIChzdHlsZSgpLmJveFNpemluZygpID09IEJveFNpemluZzo6Q29udGVudEJv
eCkKKyAgICBpZiAoc3R5bGUoKS5ib3hTaXppbmcoKSA9PSBCb3hTaXppbmc6OkNvbnRlbnRCb3gg
fHwgbG9naWNhbFdpZHRoLmlzSW50cmluc2ljT3JBdXRvKCkpCiAgICAgICAgIHJldHVybiB3aWR0
aCArIGJvcmRlcnNQbHVzUGFkZGluZzsKICAgICByZXR1cm4gc3RkOjptYXgod2lkdGgsIGJvcmRl
cnNQbHVzUGFkZGluZyk7CiB9CkBAIC0xMjQ3LDExICsxMjQ4LDEyIEBAIExheW91dFVuaXQgUmVu
ZGVyQm94OjphZGp1c3RCb3JkZXJCb3hMb2dpY2FsSGVpZ2h0Rm9yQm94U2l6aW5nKExheW91dFVu
aXQgaGVpZ2h0CiAgICAgcmV0dXJuIHN0ZDo6bWF4KGhlaWdodCwgYm9yZGVyc1BsdXNQYWRkaW5n
KTsKIH0KIAotTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lk
dGhGb3JCb3hTaXppbmcoTGF5b3V0VW5pdCB3aWR0aCkgY29uc3QKK0xheW91dFVuaXQgUmVuZGVy
Qm94OjphZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKGNvbnN0IExlbmd0
aCYgbG9naWNhbFdpZHRoKSBjb25zdAogewotICAgIGlmIChzdHlsZSgpLmJveFNpemluZygpID09
IEJveFNpemluZzo6Qm9yZGVyQm94KQotICAgICAgICB3aWR0aCAtPSBib3JkZXJBbmRQYWRkaW5n
TG9naWNhbFdpZHRoKCk7Ci0gICAgcmV0dXJuIHN0ZDo6bWF4PExheW91dFVuaXQ+KDAsIHdpZHRo
KTsKKyAgICBhdXRvIHdpZHRoID0gTGF5b3V0VW5pdCB7IGxvZ2ljYWxXaWR0aC52YWx1ZSgpIH07
CisgICAgaWYgKHN0eWxlKCkuYm94U2l6aW5nKCkgPT0gQm94U2l6aW5nOjpDb250ZW50Qm94IHx8
IGxvZ2ljYWxXaWR0aC5pc0ludHJpbnNpY09yQXV0bygpKQorICAgICAgICByZXR1cm4gc3RkOjpt
YXgoMF9sdSwgd2lkdGgpOworICAgIHJldHVybiBzdGQ6Om1heCgwX2x1LCB3aWR0aCAtIGJvcmRl
ckFuZFBhZGRpbmdMb2dpY2FsV2lkdGgoKSk7CiB9CiAKIExheW91dFVuaXQgUmVuZGVyQm94Ojph
ZGp1c3RDb250ZW50Qm94TG9naWNhbEhlaWdodEZvckJveFNpemluZyhPcHRpb25hbDxMYXlvdXRV
bml0PiBoZWlnaHQpIGNvbnN0CkBAIC0yNTczLDExICsyNTc1LDExIEBAIExheW91dFVuaXQgUmVu
ZGVyQm94Ojpjb21wdXRlTG9naWNhbFdpZHRoSW5GcmFnbWVudFVzaW5nKFNpemVUeXBlIHdpZHRo
VHlwZSwgTGVuCiB7CiAgICAgQVNTRVJUKHdpZHRoVHlwZSA9PSBNaW5TaXplIHx8IHdpZHRoVHlw
ZSA9PSBNYWluT3JQcmVmZXJyZWRTaXplIHx8ICFsb2dpY2FsV2lkdGguaXNBdXRvKCkpOwogICAg
IGlmICh3aWR0aFR5cGUgPT0gTWluU2l6ZSAmJiBsb2dpY2FsV2lkdGguaXNBdXRvKCkpCi0gICAg
ICAgIHJldHVybiBhZGp1c3RCb3JkZXJCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoMCk7Cisg
ICAgICAgIHJldHVybiBhZGp1c3RCb3JkZXJCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoeyAw
LCBsb2dpY2FsV2lkdGgudHlwZSgpLCBsb2dpY2FsV2lkdGguaGFzUXVpcmsoKSB9KTsKIAogICAg
IGlmICghbG9naWNhbFdpZHRoLmlzSW50cmluc2ljT3JBdXRvKCkpIHsKICAgICAgICAgLy8gRklY
TUU6IElmIHRoZSBjb250YWluaW5nIGJsb2NrIGZsb3cgaXMgcGVycGVuZGljdWxhciB0byBvdXIg
ZGlyZWN0aW9uIHdlIG5lZWQgdG8gdXNlIHRoZSBhdmFpbGFibGUgbG9naWNhbCBoZWlnaHQgaW5z
dGVhZC4KLSAgICAgICAgcmV0dXJuIGFkanVzdEJvcmRlckJveExvZ2ljYWxXaWR0aEZvckJveFNp
emluZyh2YWx1ZUZvckxlbmd0aChsb2dpY2FsV2lkdGgsIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkp
OworICAgICAgICByZXR1cm4gYWRqdXN0Qm9yZGVyQm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5n
KHsgdmFsdWVGb3JMZW5ndGgobG9naWNhbFdpZHRoLCBhdmFpbGFibGVMb2dpY2FsV2lkdGgpLCBs
b2dpY2FsV2lkdGgudHlwZSgpLCBsb2dpY2FsV2lkdGguaGFzUXVpcmsoKSB9KTsKICAgICB9CiAK
ICAgICBpZiAobG9naWNhbFdpZHRoLmlzSW50cmluc2ljKCkpCkBAIC0zMTEzLDExICszMTE1LDEx
IEBAIExheW91dFVuaXQgUmVuZGVyQm94Ojpjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhVc2lu
ZyhTaXplVHlwZSB3aWR0aFR5cGUsIExlbmd0CiB7CiAgICAgQVNTRVJUKHdpZHRoVHlwZSA9PSBN
aW5TaXplIHx8IHdpZHRoVHlwZSA9PSBNYWluT3JQcmVmZXJyZWRTaXplIHx8ICFsb2dpY2FsV2lk
dGguaXNBdXRvKCkpOwogICAgIGlmICh3aWR0aFR5cGUgPT0gTWluU2l6ZSAmJiBsb2dpY2FsV2lk
dGguaXNBdXRvKCkpCi0gICAgICAgIHJldHVybiBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRo
Rm9yQm94U2l6aW5nKDApOworICAgICAgICByZXR1cm4gYWRqdXN0Q29udGVudEJveExvZ2ljYWxX
aWR0aEZvckJveFNpemluZyh7IDAsIGxvZ2ljYWxXaWR0aC50eXBlKCksIGxvZ2ljYWxXaWR0aC5o
YXNRdWlyaygpIH0pOwogCiAgICAgc3dpdGNoIChsb2dpY2FsV2lkdGgudHlwZSgpKSB7CiAgICAg
ICAgIGNhc2UgRml4ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gYWRqdXN0Q29udGVudEJveExvZ2lj
YWxXaWR0aEZvckJveFNpemluZyhsb2dpY2FsV2lkdGgudmFsdWUoKSk7CisgICAgICAgICAgICBy
ZXR1cm4gYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhsb2dpY2FsV2lk
dGgpOwogICAgICAgICBjYXNlIE1pbkNvbnRlbnQ6CiAgICAgICAgIGNhc2UgTWF4Q29udGVudDog
ewogICAgICAgICAgICAgLy8gTWluQ29udGVudC9NYXhDb250ZW50IGRvbid0IG5lZWQgdGhlIGF2
YWlsYWJsZUxvZ2ljYWxXaWR0aCBhcmd1bWVudC4KQEAgLTMxMzgsNyArMzE0MCw3IEBAIExheW91
dFVuaXQgUmVuZGVyQm94Ojpjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhVc2luZyhTaXplVHlw
ZSB3aWR0aFR5cGUsIExlbmd0CiAgICAgICAgICAgICBpZiAobG9naWNhbFdpZHRoLmlzSW50cmlu
c2ljKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lk
dGhVc2luZyhsb2dpY2FsV2lkdGgsIGN3LCBib3JkZXJBbmRQYWRkaW5nTG9naWNhbFdpZHRoKCkp
IC0gYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxXaWR0aCgpOwogICAgICAgICAgICAgaWYgKGN3ID4g
MCB8fCAoIWN3ICYmIChjb250YWluZXJMb2dpY2FsV2lkdGguaXNGaXhlZCgpIHx8IGNvbnRhaW5l
ckxvZ2ljYWxXaWR0aC5pc1BlcmNlbnRPckNhbGN1bGF0ZWQoKSkpKQotICAgICAgICAgICAgICAg
IHJldHVybiBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKG1pbmltdW1W
YWx1ZUZvckxlbmd0aChsb2dpY2FsV2lkdGgsIGN3KSk7CisgICAgICAgICAgICAgICAgcmV0dXJu
IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoeyBtaW5pbXVtVmFsdWVG
b3JMZW5ndGgobG9naWNhbFdpZHRoLCBjdyksIGxvZ2ljYWxXaWR0aC50eXBlKCksIGxvZ2ljYWxX
aWR0aC5oYXNRdWlyaygpIH0pOwogICAgICAgICAgICAgcmV0dXJuIDBfbHU7CiAgICAgICAgIH0K
ICAgICAgICAgY2FzZSBJbnRyaW5zaWM6CkBAIC0zNjk2LDYgKzM2OTgsNyBAQCB2b2lkIFJlbmRl
ckJveDo6Y29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsV2lkdGhVc2luZyhTaXplVHlwZSB3aWR0aFR5
cGUsIExlbmd0aCBsbwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgTG9naWNhbEV4dGVudENvbXB1dGVkVmFsdWVzJiBjb21wdXRlZFZhbHVlcykgY29u
c3QKIHsKICAgICBBU1NFUlQod2lkdGhUeXBlID09IE1pblNpemUgfHwgd2lkdGhUeXBlID09IE1h
aW5PclByZWZlcnJlZFNpemUgfHwgIWxvZ2ljYWxXaWR0aC5pc0F1dG8oKSk7CisgICAgYXV0byBv
cmlnaW5hbExvZ2ljYWxXaWR0aFR5cGUgPSBsb2dpY2FsV2lkdGgudHlwZSgpOwogICAgIGlmICh3
aWR0aFR5cGUgPT0gTWluU2l6ZSAmJiBsb2dpY2FsV2lkdGguaXNBdXRvKCkpCiAgICAgICAgIGxv
Z2ljYWxXaWR0aCA9IExlbmd0aCgwLCBGaXhlZCk7CiAgICAgZWxzZSBpZiAobG9naWNhbFdpZHRo
LmlzSW50cmluc2ljKCkpCkBAIC0zNzMyLDcgKzM3MzUsNyBAQCB2b2lkIFJlbmRlckJveDo6Y29t
cHV0ZVBvc2l0aW9uZWRMb2dpY2FsV2lkdGhVc2luZyhTaXplVHlwZSB3aWR0aFR5cGUsIExlbmd0
aCBsbwogICAgICAgICAvLyBjYXNlIGJlY2F1c2UgdGhlIHZhbHVlIGlzIG5vdCB1c2VkIGZvciBh
bnkgZnVydGhlciBjYWxjdWxhdGlvbnMuCiAKICAgICAgICAgbG9naWNhbExlZnRWYWx1ZSA9IHZh
bHVlRm9yTGVuZ3RoKGxvZ2ljYWxMZWZ0LCBjb250YWluZXJMb2dpY2FsV2lkdGgpOwotICAgICAg
ICBjb21wdXRlZFZhbHVlcy5tX2V4dGVudCA9IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhG
b3JCb3hTaXppbmcodmFsdWVGb3JMZW5ndGgobG9naWNhbFdpZHRoLCBjb250YWluZXJMb2dpY2Fs
V2lkdGgpKTsKKyAgICAgICAgY29tcHV0ZWRWYWx1ZXMubV9leHRlbnQgPSBhZGp1c3RDb250ZW50
Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHsgdmFsdWVGb3JMZW5ndGgobG9naWNhbFdpZHRo
LCBjb250YWluZXJMb2dpY2FsV2lkdGgpLCBvcmlnaW5hbExvZ2ljYWxXaWR0aFR5cGUsIGxvZ2lj
YWxXaWR0aC5oYXNRdWlyaygpIH0pOwogCiAgICAgICAgIGNvbnN0IExheW91dFVuaXQgYXZhaWxh
YmxlU3BhY2UgPSBjb250YWluZXJMb2dpY2FsV2lkdGggLSAobG9naWNhbExlZnRWYWx1ZSArIGNv
bXB1dGVkVmFsdWVzLm1fZXh0ZW50ICsgdmFsdWVGb3JMZW5ndGgobG9naWNhbFJpZ2h0LCBjb250
YWluZXJMb2dpY2FsV2lkdGgpICsgYm9yZGVyc1BsdXNQYWRkaW5nKTsKIApAQCAtMzg0Miw3ICsz
ODQ1LDcgQEAgdm9pZCBSZW5kZXJCb3g6OmNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoVXNp
bmcoU2l6ZVR5cGUgd2lkdGhUeXBlLCBMZW5ndGggbG8KICAgICAgICAgICAgIGNvbXB1dGVkVmFs
dWVzLm1fZXh0ZW50ID0gc3RkOjptaW4oc3RkOjptYXgocHJlZmVycmVkTWluV2lkdGgsIGF2YWls
YWJsZVdpZHRoKSwgcHJlZmVycmVkV2lkdGgpOwogICAgICAgICB9IGVsc2UgaWYgKGxvZ2ljYWxM
ZWZ0SXNBdXRvICYmICFsb2dpY2FsV2lkdGhJc0F1dG8gJiYgIWxvZ2ljYWxSaWdodElzQXV0bykg
ewogICAgICAgICAgICAgLy8gUlVMRSA0OiAoc29sdmUgZm9yIGxlZnQpCi0gICAgICAgICAgICBj
b21wdXRlZFZhbHVlcy5tX2V4dGVudCA9IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JC
b3hTaXppbmcodmFsdWVGb3JMZW5ndGgobG9naWNhbFdpZHRoLCBjb250YWluZXJMb2dpY2FsV2lk
dGgpKTsKKyAgICAgICAgICAgIGNvbXB1dGVkVmFsdWVzLm1fZXh0ZW50ID0gYWRqdXN0Q29udGVu
dEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyh7IHZhbHVlRm9yTGVuZ3RoKGxvZ2ljYWxXaWR0
aCwgY29udGFpbmVyTG9naWNhbFdpZHRoKSwgb3JpZ2luYWxMb2dpY2FsV2lkdGhUeXBlLCBsb2dp
Y2FsV2lkdGguaGFzUXVpcmsoKSB9KTsKICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0VmFsdWUgPSBh
dmFpbGFibGVTcGFjZSAtIChjb21wdXRlZFZhbHVlcy5tX2V4dGVudCArIHZhbHVlRm9yTGVuZ3Ro
KGxvZ2ljYWxSaWdodCwgY29udGFpbmVyTG9naWNhbFdpZHRoKSk7CiAgICAgICAgIH0gZWxzZSBp
ZiAoIWxvZ2ljYWxMZWZ0SXNBdXRvICYmIGxvZ2ljYWxXaWR0aElzQXV0byAmJiAhbG9naWNhbFJp
Z2h0SXNBdXRvKSB7CiAgICAgICAgICAgICAvLyBSVUxFIDU6IChzb2x2ZSBmb3Igd2lkdGgpCkBA
IC0zODUxLDcgKzM4NTQsNyBAQCB2b2lkIFJlbmRlckJveDo6Y29tcHV0ZVBvc2l0aW9uZWRMb2dp
Y2FsV2lkdGhVc2luZyhTaXplVHlwZSB3aWR0aFR5cGUsIExlbmd0aCBsbwogICAgICAgICB9IGVs
c2UgaWYgKCFsb2dpY2FsTGVmdElzQXV0byAmJiAhbG9naWNhbFdpZHRoSXNBdXRvICYmIGxvZ2lj
YWxSaWdodElzQXV0bykgewogICAgICAgICAgICAgLy8gUlVMRSA2OiAobm8gbmVlZCBzb2x2ZSBm
b3IgcmlnaHQpCiAgICAgICAgICAgICBsb2dpY2FsTGVmdFZhbHVlID0gdmFsdWVGb3JMZW5ndGgo
bG9naWNhbExlZnQsIGNvbnRhaW5lckxvZ2ljYWxXaWR0aCk7Ci0gICAgICAgICAgICBjb21wdXRl
ZFZhbHVlcy5tX2V4dGVudCA9IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXpp
bmcodmFsdWVGb3JMZW5ndGgobG9naWNhbFdpZHRoLCBjb250YWluZXJMb2dpY2FsV2lkdGgpKTsK
KyAgICAgICAgICAgIGNvbXB1dGVkVmFsdWVzLm1fZXh0ZW50ID0gYWRqdXN0Q29udGVudEJveExv
Z2ljYWxXaWR0aEZvckJveFNpemluZyh7IHZhbHVlRm9yTGVuZ3RoKGxvZ2ljYWxXaWR0aCwgY29u
dGFpbmVyTG9naWNhbFdpZHRoKSwgb3JpZ2luYWxMb2dpY2FsV2lkdGhUeXBlLCBsb2dpY2FsV2lk
dGguaGFzUXVpcmsoKSB9KTsKICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5oCmluZGV4IDIzYmI3ODE5YzIyODg2MjZjNTZjMDQ1ZTEyMTY5YWQ3MWY4YjJj
YjAuLjZkM2JjZjE5NWZhODk5YmMxNzBkNmE5MDk0ZjRhMmQ2ZmYwYzQ2NjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKQEAgLTMzNSwxMSArMzM1LDggQEAgcHVibGljOgogCiAg
ICAgTGF5b3V0U2l6ZSBvZmZzZXRGcm9tQ29udGFpbmVyKFJlbmRlckVsZW1lbnQmLCBjb25zdCBM
YXlvdXRQb2ludCYsIGJvb2wqIG9mZnNldERlcGVuZHNPblBvaW50ID0gbnVsbHB0cikgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgCi0gICAgTGF5b3V0VW5pdCBhZGp1c3RCb3JkZXJCb3hMb2dpY2FsV2lk
dGhGb3JCb3hTaXppbmcoTGF5b3V0VW5pdCB3aWR0aCkgY29uc3Q7Ci0gICAgTGF5b3V0VW5pdCBh
ZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKExheW91dFVuaXQgd2lkdGgp
IGNvbnN0OwotCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gTGF5b3V0VW5pdCBhZGp1c3RCb3Jk
ZXJCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoVCB3aWR0aCkgY29uc3QgeyByZXR1cm4gYWRq
dXN0Qm9yZGVyQm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKExheW91dFVuaXQod2lkdGgpKTsg
fQotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IExheW91dFVuaXQgYWRqdXN0Q29udGVudEJveExv
Z2ljYWxXaWR0aEZvckJveFNpemluZyhUIHdpZHRoKSBjb25zdCB7IHJldHVybiBhZGp1c3RDb250
ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKExheW91dFVuaXQod2lkdGgpKTsgfQorICAg
IExheW91dFVuaXQgYWRqdXN0Qm9yZGVyQm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKGNvbnN0
IExlbmd0aCYgbG9naWNhbFdpZHRoKSBjb25zdDsKKyAgICBMYXlvdXRVbml0IGFkanVzdENvbnRl
bnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoY29uc3QgTGVuZ3RoJiBsb2dpY2FsV2lkdGgp
IGNvbnN0OwogCiAgICAgLy8gT3ZlcnJpZGRlbiBieSBmaWVsZHNldHMgdG8gc3VidHJhY3Qgb3V0
IHRoZSBpbnRyaW5zaWMgYm9yZGVyLgogICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBhZGp1c3RCb3Jk
ZXJCb3hMb2dpY2FsSGVpZ2h0Rm9yQm94U2l6aW5nKExheW91dFVuaXQgaGVpZ2h0KSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxl
eGlibGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRG
bGV4aWJsZUJveC5jcHAKaW5kZXggYzE3MWQyYTc5M2ZjNjZiZWUxNjE5M2UxYmEyYzA0ZjBiYzNk
MmNmMi4uMjg0YTBiNjY4NmVkNmZjOWY1NmZhNDgzYTg0YWE0MzM3MGIwYzI1YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJs
ZUJveC5jcHAKQEAgLTIyMywxOCArMjIzLDE4IEBAIHZvaWQgUmVuZGVyRGVwcmVjYXRlZEZsZXhp
YmxlQm94Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpCiAKICAgICBtX21pblByZWZl
cnJlZExvZ2ljYWxXaWR0aCA9IG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gMDsKICAgICBp
ZiAoc3R5bGUoKS53aWR0aCgpLmlzRml4ZWQoKSAmJiBzdHlsZSgpLndpZHRoKCkudmFsdWUoKSA+
IDApCi0gICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbV9tYXhQcmVmZXJyZWRM
b2dpY2FsV2lkdGggPSBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0
eWxlKCkud2lkdGgoKS52YWx1ZSgpKTsKKyAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lk
dGggPSBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IGFkanVzdENvbnRlbnRCb3hMb2dpY2Fs
V2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS53aWR0aCgpKTsKICAgICBlbHNlCiAgICAgICAgIGNv
bXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBt
X21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CiAKICAgICBpZiAoc3R5bGUoKS5taW5XaWR0aCgp
LmlzRml4ZWQoKSAmJiBzdHlsZSgpLm1pbldpZHRoKCkudmFsdWUoKSA+IDApIHsKLSAgICAgICAg
bV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21heFByZWZlcnJlZExvZ2lj
YWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgp
Lm1pbldpZHRoKCkudmFsdWUoKSkpOwotICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCA9IHN0ZDo6bWF4KG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94
TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWluV2lkdGgoKS52YWx1ZSgpKSk7Cisg
ICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9tYXhQcmVmZXJy
ZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmco
c3R5bGUoKS5taW5XaWR0aCgpKSk7CisgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRo
ID0gc3RkOjptYXgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hM
b2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5taW5XaWR0aCgpKSk7CiAgICAgfQogCiAg
ICAgaWYgKHN0eWxlKCkubWF4V2lkdGgoKS5pc0ZpeGVkKCkpIHsKLSAgICAgICAgbV9tYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwg
YWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1heFdpZHRo
KCkudmFsdWUoKSkpOwotICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6
bWluKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdp
ZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWF4V2lkdGgoKS52YWx1ZSgpKSk7CisgICAgICAgIG1f
bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5t
YXhXaWR0aCgpKSk7CisgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjpt
aW4obV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lk
dGhGb3JCb3hTaXppbmcoc3R5bGUoKS5tYXhXaWR0aCgpKSk7CiAgICAgfQogCiAgICAgTGF5b3V0
VW5pdCBib3JkZXJBbmRQYWRkaW5nID0gYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxXaWR0aCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250
cm9sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJv
bC5jcHAKaW5kZXggMDhlYzAwZjc0OTY1ZDgxYmY3MTMxNWRkMzNlNmY4ZTJhYjNlYTE0Ni4uOWRm
NzNlZjc2Y2I0YWI1ZmQxOTUyZDc3MWIzMmYxNmY4NzM1MWVlNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCkBAIC0yMjQs
MTggKzIyNCwxOCBAQCB2b2lkIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpjb21wdXRlUHJlZmVy
cmVkTG9naWNhbFdpZHRocygpCiAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSAwOwog
CiAgICAgaWYgKHN0eWxlKCkud2lkdGgoKS5pc0ZpeGVkKCkgJiYgc3R5bGUoKS53aWR0aCgpLnZh
bHVlKCkgPiAwKQotICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1fbWF4UHJl
ZmVycmVkTG9naWNhbFdpZHRoID0gYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNp
emluZyhzdHlsZSgpLndpZHRoKCkudmFsdWUoKSk7CisgICAgICAgIG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoID0gbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBhZGp1c3RDb250ZW50Qm94
TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkud2lkdGgoKSk7CiAgICAgZWxzZQogICAg
ICAgICBjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhtX21pblByZWZlcnJlZExvZ2ljYWxX
aWR0aCwgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgpOwogCiAgICAgaWYgKHN0eWxlKCkubWlu
V2lkdGgoKS5pc0ZpeGVkKCkgJiYgc3R5bGUoKS5taW5XaWR0aCgpLnZhbHVlKCkgPiAwKSB7Ci0g
ICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9tYXhQcmVmZXJy
ZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmco
c3R5bGUoKS5taW5XaWR0aCgpLnZhbHVlKCkpKTsKLSAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGggPSBzdGQ6Om1heChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29u
dGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1pbldpZHRoKCkudmFsdWUo
KSkpOworICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1fbWF4
UHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94
U2l6aW5nKHN0eWxlKCkubWluV2lkdGgoKSkpOworICAgICAgICBtX21pblByZWZlcnJlZExvZ2lj
YWxXaWR0aCA9IHN0ZDo6bWF4KG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250
ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWluV2lkdGgoKSkpOwogICAg
IH0KIAogICAgIGlmIChzdHlsZSgpLm1heFdpZHRoKCkuaXNGaXhlZCgpKSB7Ci0gICAgICAgIG1f
bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5t
YXhXaWR0aCgpLnZhbHVlKCkpKTsKLSAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgg
PSBzdGQ6Om1pbihtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExv
Z2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1heFdpZHRoKCkudmFsdWUoKSkpOworICAg
ICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1fbWF4UHJlZmVycmVk
TG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0
eWxlKCkubWF4V2lkdGgoKSkpOworICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9
IHN0ZDo6bWluKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9n
aWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWF4V2lkdGgoKSkpOwogICAgIH0KIAogICAg
IGludCB0b0FkZCA9IGhvcml6b250YWxCb3JkZXJBbmRQYWRkaW5nRXh0ZW50KCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAppbmRleCAxZjFhYjdh
YWYzMWIwMWQ4MTIwYWFiMWRhNjM3YTdhNTQ4M2QxZjMzLi42NjhkOTBlNTlkNGM1NTk2Yzk3N2Vi
NTE1NzA1MGM2NzlhZGEzZmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRmxleGlibGVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJGbGV4aWJsZUJveC5jcHAKQEAgLTc4MCw3ICs3ODAsNyBAQCBMYXlvdXRVbml0IFJlbmRlckZs
ZXhpYmxlQm94Ojpjb21wdXRlTWFpblNpemVGcm9tQXNwZWN0UmF0aW9Vc2luZyhjb25zdCBSZW5k
ZXJCbwogICAgICAgICBjcm9zc1NpemUgPSBhZGp1c3RGb3JCb3hTaXppbmcoKnRoaXMsIGNvbnRh
aW5lckNyb3NzU2l6ZUxlbmd0aCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgQVNTRVJUKGNyb3Nz
U2l6ZUxlbmd0aC5pc1BlcmNlbnRPckNhbGN1bGF0ZWQoKSk7Ci0gICAgICAgIGNyb3NzU2l6ZSA9
IG1haW5BeGlzSXNDaGlsZElubGluZUF4aXMoY2hpbGQpID8gY2hpbGQuY29tcHV0ZVBlcmNlbnRh
Z2VMb2dpY2FsSGVpZ2h0KGNyb3NzU2l6ZUxlbmd0aCkgOiBhZGp1c3RCb3JkZXJCb3hMb2dpY2Fs
V2lkdGhGb3JCb3hTaXppbmcodmFsdWVGb3JMZW5ndGgoY3Jvc3NTaXplTGVuZ3RoLCBjb250ZW50
V2lkdGgoKSkpOworICAgICAgICBjcm9zc1NpemUgPSBtYWluQXhpc0lzQ2hpbGRJbmxpbmVBeGlz
KGNoaWxkKSA/IGNoaWxkLmNvbXB1dGVQZXJjZW50YWdlTG9naWNhbEhlaWdodChjcm9zc1NpemVM
ZW5ndGgpIDogYWRqdXN0Qm9yZGVyQm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHsgdmFsdWVG
b3JMZW5ndGgoY3Jvc3NTaXplTGVuZ3RoLCBjb250ZW50V2lkdGgoKSksIGNyb3NzU2l6ZUxlbmd0
aC50eXBlKCksIGNyb3NzU2l6ZUxlbmd0aC5oYXNRdWlyaygpIH0pOwogICAgICAgICBpZiAoIWNy
b3NzU2l6ZSkKICAgICAgICAgICAgIHJldHVybiAwX2x1OwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwCmluZGV4IGEx
MDY3YzA2MjdjMzVkN2ExM2I5ZGIzNGM3OGI4MjdkNDE1NDYwNzguLjgwNjI1Zjk0ZWM3N2UxNWRh
YzdhMGU2YzJmMTE0YzY4NDhjNjE3OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcApAQCAtMzc0LDE4ICszNzQsMTggQEAg
dm9pZCBSZW5kZXJGcmFnbWVudENvbnRhaW5lcjo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0
aHMoKQogCiAgICAgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlVG9Vc2UgPSBzdHlsZSgpOwogICAg
IGlmIChzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzRml4ZWQoKSAmJiBzdHlsZVRvVXNlLmxv
Z2ljYWxXaWR0aCgpLnZhbHVlKCkgPiAwKQotICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxX
aWR0aCA9IG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gYWRqdXN0Q29udGVudEJveExvZ2lj
YWxXaWR0aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLnZhbHVlKCkpOwor
ICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1fbWF4UHJlZmVycmVkTG9naWNh
bFdpZHRoID0gYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZVRv
VXNlLmxvZ2ljYWxXaWR0aCgpKTsKICAgICBlbHNlCiAgICAgICAgIGNvbXB1dGVJbnRyaW5zaWNM
b2dpY2FsV2lkdGhzKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBtX21heFByZWZlcnJlZExv
Z2ljYWxXaWR0aCk7CiAKICAgICBpZiAoc3R5bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgoKS5pc0Zp
eGVkKCkgJiYgc3R5bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgoKS52YWx1ZSgpID4gMCkgewotICAg
ICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1fbWF4UHJlZmVycmVk
TG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0
eWxlVG9Vc2UubG9naWNhbE1pbldpZHRoKCkudmFsdWUoKSkpOwotICAgICAgICBtX21pblByZWZl
cnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBh
ZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlVG9Vc2UubG9naWNh
bE1pbldpZHRoKCkudmFsdWUoKSkpOworICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0
aCA9IHN0ZDo6bWF4KG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94
TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlVG9Vc2UubG9naWNhbE1pbldpZHRoKCkpKTsK
KyAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21pblByZWZl
cnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemlu
ZyhzdHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpKSk7CiAgICAgfQogCiAgICAgaWYgKHN0eWxl
VG9Vc2UubG9naWNhbE1heFdpZHRoKCkuaXNGaXhlZCgpKSB7Ci0gICAgICAgIG1fbWF4UHJlZmVy
cmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFk
anVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5sb2dpY2Fs
TWF4V2lkdGgoKS52YWx1ZSgpKSk7Ci0gICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRo
ID0gc3RkOjptaW4obV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hM
b2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5sb2dpY2FsTWF4V2lkdGgoKS52YWx1
ZSgpKSk7CisgICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9t
YXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JC
b3hTaXppbmcoc3R5bGVUb1VzZS5sb2dpY2FsTWF4V2lkdGgoKSkpOworICAgICAgICBtX21pblBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRo
LCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlVG9Vc2UubG9n
aWNhbE1heFdpZHRoKCkpKTsKICAgICB9CiAKICAgICBMYXlvdXRVbml0IGJvcmRlckFuZFBhZGRp
bmcgPSBib3JkZXJBbmRQYWRkaW5nTG9naWNhbFdpZHRoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyR3JpZC5jcHAKaW5kZXggNGU2YzhlODM4NmM1Nzk5Y2M5OTg1ZTlkMzNkMWRjYTIw
NjEyNzc1MS4uNWFiYTU0NzBiZjAzZTQwMTVmMGFkMmNiZTE4ZWVhMTJiNDVlZmNiYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcApAQCAtNDY2LDcgKzQ2Niw3IEBAIHVu
c2lnbmVkIFJlbmRlckdyaWQ6OmNvbXB1dGVBdXRvUmVwZWF0VHJhY2tzQ291bnQoR3JpZFRyYWNr
U2l6aW5nRGlyZWN0aW9uIGRpcmVjCiAgICAgICAgICAgICBpZiAobWF4U2l6ZS5pc1BlcmNlbnRP
ckNhbGN1bGF0ZWQoKSkKICAgICAgICAgICAgICAgICBjb250YWluaW5nQmxvY2tBdmFpbGFibGVT
aXplID0gaXNSb3dBeGlzID8gY29udGFpbmluZ0Jsb2NrTG9naWNhbFdpZHRoRm9yQ29udGVudCgp
IDogY29udGFpbmluZ0Jsb2NrTG9naWNhbEhlaWdodEZvckNvbnRlbnQoRXhjbHVkZU1hcmdpbkJv
cmRlclBhZGRpbmcpOwogICAgICAgICAgICAgTGF5b3V0VW5pdCBtYXhTaXplVmFsdWUgPSB2YWx1
ZUZvckxlbmd0aChtYXhTaXplLCBjb250YWluaW5nQmxvY2tBdmFpbGFibGVTaXplLnZhbHVlT3Io
TGF5b3V0VW5pdCgpKSk7Ci0gICAgICAgICAgICBhdmFpbGFibGVNYXhTaXplID0gaXNSb3dBeGlz
ID8gYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhtYXhTaXplVmFsdWUp
IDogYWRqdXN0Q29udGVudEJveExvZ2ljYWxIZWlnaHRGb3JCb3hTaXppbmcobWF4U2l6ZVZhbHVl
KTsKKyAgICAgICAgICAgIGF2YWlsYWJsZU1heFNpemUgPSBpc1Jvd0F4aXMgPyBhZGp1c3RDb250
ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHsgbWF4U2l6ZVZhbHVlLCBtYXhTaXplLnR5
cGUoKSwgbWF4U2l6ZS5oYXNRdWlyaygpIH0pIDogYWRqdXN0Q29udGVudEJveExvZ2ljYWxIZWln
aHRGb3JCb3hTaXppbmcobWF4U2l6ZVZhbHVlKTsKICAgICAgICAgfQogCiAgICAgICAgIGNvbnN0
IExlbmd0aCYgbWluU2l6ZSA9IGlzUm93QXhpcyA/IHN0eWxlKCkubG9naWNhbE1pbldpZHRoKCkg
OiBzdHlsZSgpLmxvZ2ljYWxNaW5IZWlnaHQoKTsKQEAgLTQ3OCw3ICs0NzgsNyBAQCB1bnNpZ25l
ZCBSZW5kZXJHcmlkOjpjb21wdXRlQXV0b1JlcGVhdFRyYWNrc0NvdW50KEdyaWRUcmFja1Npemlu
Z0RpcmVjdGlvbiBkaXJlYwogICAgICAgICAgICAgaWYgKCFjb250YWluaW5nQmxvY2tBdmFpbGFi
bGVTaXplICYmIG1pblNpemUuaXNQZXJjZW50T3JDYWxjdWxhdGVkKCkpCiAgICAgICAgICAgICAg
ICAgY29udGFpbmluZ0Jsb2NrQXZhaWxhYmxlU2l6ZSA9IGlzUm93QXhpcyA/IGNvbnRhaW5pbmdC
bG9ja0xvZ2ljYWxXaWR0aEZvckNvbnRlbnQoKSA6IGNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxIZWln
aHRGb3JDb250ZW50KEV4Y2x1ZGVNYXJnaW5Cb3JkZXJQYWRkaW5nKTsKICAgICAgICAgICAgIExh
eW91dFVuaXQgbWluU2l6ZVZhbHVlID0gdmFsdWVGb3JMZW5ndGgobWluU2l6ZSwgY29udGFpbmlu
Z0Jsb2NrQXZhaWxhYmxlU2l6ZS52YWx1ZU9yKExheW91dFVuaXQoKSkpOwotICAgICAgICAgICAg
YXZhaWxhYmxlTWluU2l6ZSA9IGlzUm93QXhpcyA/IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lk
dGhGb3JCb3hTaXppbmcobWluU2l6ZVZhbHVlKSA6IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsSGVp
Z2h0Rm9yQm94U2l6aW5nKG1pblNpemVWYWx1ZSk7CisgICAgICAgICAgICBhdmFpbGFibGVNaW5T
aXplID0gaXNSb3dBeGlzID8gYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemlu
Zyh7IG1pblNpemVWYWx1ZSwgbWluU2l6ZS50eXBlKCksIG1pblNpemUuaGFzUXVpcmsoKSB9KSA6
IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0Rm9yQm94U2l6aW5nKG1pblNpemVWYWx1ZSk7
CiAgICAgICAgICAgICBpZiAoIW1heFNpemUuaXNTcGVjaWZpZWQoKSkKICAgICAgICAgICAgICAg
ICBuZWVkc1RvRnVsZmlsbE1pbmltdW1TaXplID0gdHJ1ZTsKICAgICAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCmluZGV4IDczNDQwNmM0MzA1ZDAzOWUw
ZjhlYjhhMTIzODE3NDIxOGE4MmIwNWQuLjhlOGFkNzA0M2ExZDc0MDYxMTdlMjcyZWIwYTIwNDVh
ZmU2NWMyZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0
Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAK
QEAgLTIyNiwxOCArMjI2LDE4IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6Y29tcHV0ZVByZWZlcnJl
ZExvZ2ljYWxXaWR0aHMoKQogICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gMDsKIAog
ICAgIGlmIChzdHlsZSgpLndpZHRoKCkuaXNGaXhlZCgpICYmIHN0eWxlKCkud2lkdGgoKS52YWx1
ZSgpID4gMCkKLSAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtX21heFByZWZl
cnJlZExvZ2ljYWxXaWR0aCA9IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXpp
bmcoc3R5bGUoKS53aWR0aCgpLnZhbHVlKCkpOworICAgICAgICBtX21pblByZWZlcnJlZExvZ2lj
YWxXaWR0aCA9IG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gYWRqdXN0Q29udGVudEJveExv
Z2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLndpZHRoKCkpOwogICAgIGVsc2UKICAgICAg
ICAgY29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lk
dGgsIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKTsKIAogICAgIGlmIChzdHlsZSgpLm1pbldp
ZHRoKCkuaXNGaXhlZCgpICYmIHN0eWxlKCkubWluV2lkdGgoKS52YWx1ZSgpID4gMCkgewotICAg
ICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1fbWF4UHJlZmVycmVk
TG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0
eWxlKCkubWluV2lkdGgoKS52YWx1ZSgpKSk7Ci0gICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNh
bFdpZHRoID0gc3RkOjptYXgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRl
bnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5taW5XaWR0aCgpLnZhbHVlKCkp
KTsKKyAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21heFBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNp
emluZyhzdHlsZSgpLm1pbldpZHRoKCkpKTsKKyAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2Fs
V2lkdGggPSBzdGQ6Om1heChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVu
dEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1pbldpZHRoKCkpKTsKICAgICB9
CiAKICAgICBpZiAoc3R5bGUoKS5tYXhXaWR0aCgpLmlzRml4ZWQoKSkgewotICAgICAgICBtX21h
eFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1fbWF4UHJlZmVycmVkTG9naWNhbFdp
ZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWF4
V2lkdGgoKS52YWx1ZSgpKSk7Ci0gICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0g
c3RkOjptaW4obV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dp
Y2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5tYXhXaWR0aCgpLnZhbHVlKCkpKTsKKyAgICAg
ICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21heFByZWZlcnJlZExv
Z2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHls
ZSgpLm1heFdpZHRoKCkpKTsKKyAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBz
dGQ6Om1pbihtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2lj
YWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1heFdpZHRoKCkpKTsKICAgICB9CiAKICAgICBM
YXlvdXRVbml0IHRvQWRkID0gaG9yaXpvbnRhbEJvcmRlckFuZFBhZGRpbmdFeHRlbnQoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCmluZGV4IDYxOTI4NWRl
M2I1ODg3OTliNTM5NzJmMDkxNGUzYzk4MzZmYThmYmQuLjViZDQ2ZGM2MmFlMTcxZDU2YWE0MTQ5
YzA1NTYzNTM1ZjA4ZWY3NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNZW51TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1l
bnVMaXN0LmNwcApAQCAtMzI2LDE4ICszMjYsMTggQEAgdm9pZCBSZW5kZXJNZW51TGlzdDo6Y29t
cHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdp
ZHRoID0gMDsKICAgICAKICAgICBpZiAoc3R5bGUoKS53aWR0aCgpLmlzRml4ZWQoKSAmJiBzdHls
ZSgpLndpZHRoKCkudmFsdWUoKSA+IDApCi0gICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoID0gbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBhZGp1c3RDb250ZW50Qm94TG9naWNh
bFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkud2lkdGgoKS52YWx1ZSgpKTsKKyAgICAgICAgbV9t
aW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IGFk
anVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS53aWR0aCgpKTsK
ICAgICBlbHNlCiAgICAgICAgIGNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKG1fbWluUHJl
ZmVycmVkTG9naWNhbFdpZHRoLCBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CiAKICAgICBp
ZiAoc3R5bGUoKS5taW5XaWR0aCgpLmlzRml4ZWQoKSAmJiBzdHlsZSgpLm1pbldpZHRoKCkudmFs
dWUoKSA+IDApIHsKLSAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1h
eChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0
aEZvckJveFNpemluZyhzdHlsZSgpLm1pbldpZHRoKCkudmFsdWUoKSkpOwotICAgICAgICBtX21p
blByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1fbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWlu
V2lkdGgoKS52YWx1ZSgpKSk7CisgICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0g
c3RkOjptYXgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dp
Y2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5taW5XaWR0aCgpKSk7CisgICAgICAgIG1fbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lk
dGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5taW5X
aWR0aCgpKSk7CiAgICAgfQogCiAgICAgaWYgKHN0eWxlKCkubWF4V2lkdGgoKS5pc0ZpeGVkKCkp
IHsKLSAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21heFBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNp
emluZyhzdHlsZSgpLm1heFdpZHRoKCkudmFsdWUoKSkpOwotICAgICAgICBtX21pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1
c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWF4V2lkdGgoKS52
YWx1ZSgpKSk7CisgICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4o
bV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhG
b3JCb3hTaXppbmcoc3R5bGUoKS5tYXhXaWR0aCgpKSk7CisgICAgICAgIG1fbWluUHJlZmVycmVk
TG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVz
dENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5tYXhXaWR0aCgpKSk7
CiAgICAgfQogCiAgICAgTGF5b3V0VW5pdCB0b0FkZCA9IGhvcml6b250YWxCb3JkZXJBbmRQYWRk
aW5nRXh0ZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
UmVwbGFjZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNw
cAppbmRleCA3NGQxNGM3YzdlMWIxOWY4OWNjZWFmOThiYzU5OTFiOWZlOWEzMTBkLi4yYmM5YzJi
MzljMDhjM2YzMzJhMTBmZTc5YjA1MmM5NjcyMzZlYWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKQEAgLTY2MywxMyArNjYzLDEzIEBAIHZvaWQgUmVu
ZGVyUmVwbGFjZWQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkKICAgICAgICAgbV9t
aW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSAwOwogCiAgICAgaWYgKHN0eWxlVG9Vc2UubG9naWNh
bE1pbldpZHRoKCkuaXNGaXhlZCgpICYmIHN0eWxlVG9Vc2UubG9naWNhbE1pbldpZHRoKCkudmFs
dWUoKSA+IDApIHsKLSAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1h
eChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0
aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpLnZhbHVlKCkpKTsKLSAg
ICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhz
dHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpLnZhbHVlKCkpKTsKKyAgICAgICAgbV9tYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwg
YWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2lj
YWxNaW5XaWR0aCgpKSk7CisgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3Rk
OjptYXgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2Fs
V2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgoKSkpOwogICAgIH0K
ICAgICAKICAgICBpZiAoc3R5bGVUb1VzZS5sb2dpY2FsTWF4V2lkdGgoKS5pc0ZpeGVkKCkpIHsK
LSAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21heFByZWZl
cnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemlu
ZyhzdHlsZVRvVXNlLmxvZ2ljYWxNYXhXaWR0aCgpLnZhbHVlKCkpKTsKLSAgICAgICAgbV9taW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxv
Z2ljYWxNYXhXaWR0aCgpLnZhbHVlKCkpKTsKKyAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGggPSBzdGQ6Om1pbihtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVu
dEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2ljYWxNYXhXaWR0aCgp
KSk7CisgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9taW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hT
aXppbmcoc3R5bGVUb1VzZS5sb2dpY2FsTWF4V2lkdGgoKSkpOwogICAgIH0KIAogICAgIExheW91
dFVuaXQgYm9yZGVyQW5kUGFkZGluZyA9IGJvcmRlckFuZFBhZGRpbmdMb2dpY2FsV2lkdGgoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAKaW5kZXggYjFlMTMxNGE2
ZGRjYTY5OWMyYjBhN2RlZWNmNjViMGUwYTMwYTFkNy4uMjUzNDg5NzkwNmJiNDg1OTAzZDQxMjEw
ZGY1N2FjMDM4MTUwNTAwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclNsaWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRl
ci5jcHAKQEAgLTgwLDE4ICs4MCwxOCBAQCB2b2lkIFJlbmRlclNsaWRlcjo6Y29tcHV0ZVByZWZl
cnJlZExvZ2ljYWxXaWR0aHMoKQogICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gMDsK
IAogICAgIGlmIChzdHlsZSgpLndpZHRoKCkuaXNGaXhlZCgpICYmIHN0eWxlKCkud2lkdGgoKS52
YWx1ZSgpID4gMCkKLSAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtX21heFBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCA9IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hT
aXppbmcoc3R5bGUoKS53aWR0aCgpLnZhbHVlKCkpOworICAgICAgICBtX21pblByZWZlcnJlZExv
Z2ljYWxXaWR0aCA9IG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gYWRqdXN0Q29udGVudEJv
eExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLndpZHRoKCkpOwogICAgIGVsc2UKICAg
ICAgICAgY29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMobV9taW5QcmVmZXJyZWRMb2dpY2Fs
V2lkdGgsIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKTsKIAogICAgIGlmIChzdHlsZSgpLm1p
bldpZHRoKCkuaXNGaXhlZCgpICYmIHN0eWxlKCkubWluV2lkdGgoKS52YWx1ZSgpID4gMCkgewot
ICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1fbWF4UHJlZmVy
cmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5n
KHN0eWxlKCkubWluV2lkdGgoKS52YWx1ZSgpKSk7Ci0gICAgICAgIG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoID0gc3RkOjptYXgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENv
bnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5taW5XaWR0aCgpLnZhbHVl
KCkpKTsKKyAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21h
eFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJv
eFNpemluZyhzdHlsZSgpLm1pbldpZHRoKCkpKTsKKyAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGggPSBzdGQ6Om1heChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29u
dGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1pbldpZHRoKCkpKTsKICAg
ICB9CiAKICAgICBpZiAoc3R5bGUoKS5tYXhXaWR0aCgpLmlzRml4ZWQoKSkgewotICAgICAgICBt
X21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1fbWF4UHJlZmVycmVkTG9naWNh
bFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCku
bWF4V2lkdGgoKS52YWx1ZSgpKSk7Ci0gICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRo
ID0gc3RkOjptaW4obV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hM
b2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5tYXhXaWR0aCgpLnZhbHVlKCkpKTsKKyAg
ICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21heFByZWZlcnJl
ZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhz
dHlsZSgpLm1heFdpZHRoKCkpKTsKKyAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgg
PSBzdGQ6Om1pbihtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExv
Z2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1heFdpZHRoKCkpKTsKICAgICB9CiAKICAg
ICBMYXlvdXRVbml0IHRvQWRkID0gaG9yaXpvbnRhbEJvcmRlckFuZFBhZGRpbmdFeHRlbnQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCmluZGV4IGYzYWVhZDY3YmE1
YzA3ZDg5YjRiYmQyYmNlYzhkZmVmNTlkNDc1MzUuLmEwMThmM2ZhNzZhMDFlZjFiNDI3YzJhMzhk
NTFiMTdlMmRjN2RkZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNw
cApAQCAtODI0LDEzICs4MjQsMTMgQEAgdm9pZCBSZW5kZXJUYWJsZTo6Y29tcHV0ZVByZWZlcnJl
ZExvZ2ljYWxXaWR0aHMoKQogICAgIGF1dG8mIHN0eWxlVG9Vc2UgPSBzdHlsZSgpOwogICAgIC8v
IEZJWE1FOiBUaGlzIHNob3VsZCBwcm9iYWJseSBiZSBjaGVja2luZyBmb3IgaXNTcGVjaWZpZWQg
c2luY2UgeW91IHNob3VsZCBiZSBhYmxlIHRvIHVzZSBwZXJjZW50YWdlIG9yIGNhbGMgdmFsdWVz
IGZvciBtaW4td2lkdGguCiAgICAgaWYgKHN0eWxlVG9Vc2UubG9naWNhbE1pbldpZHRoKCkuaXNG
aXhlZCgpICYmIHN0eWxlVG9Vc2UubG9naWNhbE1pbldpZHRoKCkudmFsdWUoKSA+IDApIHsKLSAg
ICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21heFByZWZlcnJl
ZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhz
dHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpLnZhbHVlKCkpKTsKLSAgICAgICAgbV9taW5QcmVm
ZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwg
YWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2lj
YWxNaW5XaWR0aCgpLnZhbHVlKCkpKTsKKyAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lk
dGggPSBzdGQ6Om1heChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJv
eExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpKSk7
CisgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9taW5QcmVm
ZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXpp
bmcoc3R5bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgoKSkpOwogICAgIH0KIAogICAgIC8vIEZJWE1F
OiBUaGlzIHNob3VsZCBwcm9iYWJseSBiZSBjaGVja2luZyBmb3IgaXNTcGVjaWZpZWQgc2luY2Ug
eW91IHNob3VsZCBiZSBhYmxlIHRvIHVzZSBwZXJjZW50YWdlIG9yIGNhbGMgdmFsdWVzIGZvciBt
YXhXaWR0aC4KICAgICBpZiAoc3R5bGVUb1VzZS5sb2dpY2FsTWF4V2lkdGgoKS5pc0ZpeGVkKCkp
IHsKLSAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21heFBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNp
emluZyhzdHlsZVRvVXNlLmxvZ2ljYWxNYXhXaWR0aCgpLnZhbHVlKCkpKTsKKyAgICAgICAgbV9t
YXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21heFByZWZlcnJlZExvZ2ljYWxX
aWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZVRvVXNl
LmxvZ2ljYWxNYXhXaWR0aCgpKSk7CiAgICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
ID0gc3RkOjptYXgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0Q29udHJvbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGV4dENvbnRyb2wuY3BwCmluZGV4IGY1NzVlMTNhMGI2YjNhZTJkOTRjMzVlZjkwZjVkNWUwNzE4
Njc4ZjQuLjQwZWExY2NiNjY3NjI5ZDYzNTdhNDBjZDE0N2IzMGYzMDQ3MGQ5NWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcApAQCAtMTcyLDE4
ICsxNzIsMTggQEAgdm9pZCBSZW5kZXJUZXh0Q29udHJvbDo6Y29tcHV0ZVByZWZlcnJlZExvZ2lj
YWxXaWR0aHMoKQogICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gMDsKIAogICAgIGlm
IChzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzRml4ZWQoKSAmJiBzdHlsZSgpLmxvZ2ljYWxXaWR0
aCgpLnZhbHVlKCkgPj0gMCkKLSAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBt
X21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhG
b3JCb3hTaXppbmcoc3R5bGUoKS5sb2dpY2FsV2lkdGgoKS52YWx1ZSgpKTsKKyAgICAgICAgbV9t
aW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IGFk
anVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5sb2dpY2FsV2lk
dGgoKSk7CiAgICAgZWxzZQogICAgICAgICBjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyht
X21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgpOwog
CiAgICAgaWYgKHN0eWxlKCkubG9naWNhbE1pbldpZHRoKCkuaXNGaXhlZCgpICYmIHN0eWxlKCku
bG9naWNhbE1pbldpZHRoKCkudmFsdWUoKSA+IDApIHsKLSAgICAgICAgbV9tYXhQcmVmZXJyZWRM
b2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0
Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLmxvZ2ljYWxNaW5XaWR0
aCgpLnZhbHVlKCkpKTsKLSAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6
Om1heChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxX
aWR0aEZvckJveFNpemluZyhzdHlsZSgpLmxvZ2ljYWxNaW5XaWR0aCgpLnZhbHVlKCkpKTsKKyAg
ICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21heFByZWZlcnJl
ZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhz
dHlsZSgpLmxvZ2ljYWxNaW5XaWR0aCgpKSk7CisgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNh
bFdpZHRoID0gc3RkOjptYXgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRl
bnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5sb2dpY2FsTWluV2lkdGgoKSkp
OwogICAgIH0KIAogICAgIGlmIChzdHlsZSgpLmxvZ2ljYWxNYXhXaWR0aCgpLmlzRml4ZWQoKSkg
ewotICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1fbWF4UHJl
ZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6
aW5nKHN0eWxlKCkubG9naWNhbE1heFdpZHRoKCkudmFsdWUoKSkpOwotICAgICAgICBtX21pblBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRo
LCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubG9naWNh
bE1heFdpZHRoKCkudmFsdWUoKSkpOworICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0
aCA9IHN0ZDo6bWluKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94
TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubG9naWNhbE1heFdpZHRoKCkpKTsKKyAg
ICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhz
dHlsZSgpLmxvZ2ljYWxNYXhXaWR0aCgpKSk7CiAgICAgfQogCiAgICAgTGF5b3V0VW5pdCB0b0Fk
ZCA9IGJvcmRlckFuZFBhZGRpbmdMb2dpY2FsV2lkdGgoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5NmYxOWNmYmFlZjAz
YTNjYmRhNDAxNDA0NDMwODEyMWNjZmVkNmE5Li5mMWE5MDI4MjMzYjAyZGVjM2EzNmQ5NzM0YmFh
NWJkYTI1NDI1ODU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMTItMTkgIFphbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQgd2l0
aCBib3gtc2l6aW5nOiBib3JkZXItYm94IHNob3VsZCBsZWF2ZSBzcGFjZSBmb3IgcGFkZGluZyAo
VHdpdHRlciBkYXRlIGhvdmVyIG92ZXJmbG93KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5Njg3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjEz
NzY4NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMC0xMi0xNyAgVHJ1aXR0IFNhdmVsbCAgPHRzYXZl
bGxAYXBwbGUuY29tPgogCiAgICAgICAgIFsgQmlnIFN1ciBdIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvY29udGVudC10eXBlL3NjcmlwdC53aW5kb3cuaHRtbCBpcyBmYWls
aW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggMDg4OTVmMWY2MzhlOGZiYjlmZDI1MWZkYzU0MDU4YTZiOTYzMmM5NC4uZDg2MWU4YTI0MDYx
NDllNDlmODBhNDc1YzFiODA0MDllMjUxMGM4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTMxNiw0ICsxMzE2LDMgQEAgZmFzdC9sYXlv
dXRmb3JtYXR0aW5nY29udGV4dC9ibG9jay1vbmx5L21pbi1tYXgtYW5kLXByZWZlcnJlZC13aWR0
aC1zaW1wbGUuaHRtbAogd2Via2l0Lm9yZy9iLzIxNzA1NCBmYXN0L2xheW91dGZvcm1hdHRpbmdj
b250ZXh0L2hvcml6b250YWwtc2l6aW5nLXdpdGgtdHJhaWxpbmctbGV0dGVyLXNwYWNpbmcuaHRt
bCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzIxOTMyMiBmYXN0L2xheW91dGZvcm1hdHRpbmdjb250
ZXh0L3RhYmxlLXNpbXBsZS1ib3JkZXItY29sbGFwc2UuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogd2Via2l0Lm9yZy9iLzIxOTMyMiBmYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L3RhYmxl
LXNpbXBsZS1ib3JkZXItY29sbGFwc2UyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtp
dC5vcmcvYi8yMTk2ODcgZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC9tYXgtY29udGVudC1h
bmQtYm94LXNpemluZy1zaW1wbGUuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA5MzY0NGE4ZDBhZTdkZTVhNTMzZTVjNTBlMzY4MjAy
OGY1MTNlMzZhLi41M2UzMjhmNWMwODgwOWRhOWQ0NWUwZDg3M2FlNDA1ZDliZTMxMDc2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjI1Nyw2ICsyMjU3
LDQgQEAgd2Via2l0Lm9yZy9iLzIxOTIyNSBodHRwL3Rlc3RzL2luc3BlY3Rvci9kb20vZGlzY29u
bmVjdC1kb20tdHJlZS1hZnRlci1tYWluLWZyYW0KIAogd2Via2l0Lm9yZy9iLzIxOTkwNyBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZlci10aW1pbmcvc2VydmljZV93b3JrZXJf
aWRsLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCi13ZWJraXQub3JnL2IvMjE5Njg3IGZhc3QvbGF5
b3V0Zm9ybWF0dGluZ2NvbnRleHQvbWF4LWNvbnRlbnQtYW5kLWJveC1zaXppbmctc2ltcGxlLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLQogd2Via2l0Lm9yZy9iLzIxOTk2NSBbIEJpZ1N1ciBd
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvY29udGVudC10eXBlL3Njcmlw
dC53aW5kb3cuaHRtbCBbIFBhc3MgRmFpbHVyZSBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416571</attachid>
            <date>2020-12-19 08:37:40 -0800</date>
            <delta_ts>2020-12-19 12:12:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219687-20201219083738.patch</filename>
            <type>text/plain</type>
            <size>41492</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzU5YzZjZmIyZWJlYmVk
MjllN2I2Y2FjODg2MjRiNjZjZjc1YzdhZS4uNWNkYjgyMzg2YjM1NTg2YTA4Y2Q4Mjk1YTk1MzIy
Y2FjY2FmNDM5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIwLTEyLTE5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgd2lkdGg6IG1heC1jb250ZW50
IHdpdGggYm94LXNpemluZzogYm9yZGVyLWJveCBzaG91bGQgbGVhdmUgc3BhY2UgZm9yIHBhZGRp
bmcgKFR3aXR0ZXIgZGF0ZSBob3ZlciBvdmVyZmxvdykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTY4NworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NzIxMzc2ODU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAg
ICAgTm9uLXF1YW50aXRhdGl2ZSB2YWx1ZXMgc3VjaCBhcyBhdXRvIGFuZCBtaW4tY29udGVudCBh
cmUgbm90IGluZmx1ZW5jZWQgYnkgdGhlIGJveC1zaXppbmcgcHJvcGVydHkuCisgICAgICAgIFNl
ZSBodHRwOjovL3d3dy53My5vcmcvVFIvY3NzLXNpemluZy0zLyNib3gtc2l6aW5nCisgICAgICAg
IChhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yKiBub3cgbmVlZHMgdGhlIHByb3BlcnR5
IHR5cGUgdG9vKQorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJveDo6YWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxX
aWR0aFVzaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZVBv
c2l0aW9uZWRMb2dpY2FsV2lkdGhVc2luZyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckJveC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjphZGp1c3RDb250ZW50Qm94
TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckRl
cHJlY2F0ZWRGbGV4aWJsZUJveDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxX
aWR0aHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGcmFnbWVudENvbnRhaW5lcjo6Y29tcHV0ZVByZWZl
cnJlZExvZ2ljYWxXaWR0aHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJHcmlkLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmNvbXB1dGVBdXRvUmVwZWF0VHJhY2tzQ291
bnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhz
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwOgorICAgICAgICAoUmVu
ZGVyTWVudUxpc3Q6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVw
bGFjZWQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyU2xpZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNsaWRlcjo6Y29t
cHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJU
YWJsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZTo6Y29tcHV0ZVByZWZlcnJl
ZExvZ2ljYWxXaWR0aHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbDo6Y29tcHV0ZVByZWZlcnJl
ZExvZ2ljYWxXaWR0aHMpOgorCiAyMDIwLTEyLTE5ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBBZGQgZmFzdCBwYXRoIHZlcnRpY2FsIGFsaWdu
bWVudCBmb3Igbm9uLXN0cmV0Y2h5LCBiYXNlbGluZSBhbGlnbmVkIGF0b21pYyBpbmxpbmUgbGV2
ZWwgYm94ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9BdXRvVGFibGVM
YXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0F1dG9UYWJsZUxheW91dC5jcHAK
aW5kZXggZjY0MmI1MTQ3MzUwOGNmZDIwMTFiN2I1ZWQyNTQxZjE0YWU5NDY3Yi4uODE0M2FkMjlj
ZDIwY2QxNThlYjM5OTY0ZTlmMmU4OTNmZjc2MzBmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0F1dG9UYWJsZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0F1dG9UYWJsZUxheW91dC5jcHAKQEAgLTk1LDcgKzk1LDcgQEAgdm9pZCBBdXRvVGFi
bGVMYXlvdXQ6OnJlY2FsY0NvbHVtbih1bnNpZ25lZCBlZmZDb2wpCiAgICAgICAgICAgICAgICAg
ICAgIGNhc2UgRml4ZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZ25vcmUgd2lkdGg9
MAogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNlbGxMb2dpY2FsV2lkdGguaXNQb3NpdGl2
ZSgpICYmICFjb2x1bW5MYXlvdXQubG9naWNhbFdpZHRoLmlzUGVyY2VudE9yQ2FsY3VsYXRlZCgp
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgbG9naWNhbFdpZHRoID0gY2Vs
bC0+YWRqdXN0Qm9yZGVyQm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKGNlbGxMb2dpY2FsV2lk
dGgudmFsdWUoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgbG9naWNhbFdp
ZHRoID0gY2VsbC0+YWRqdXN0Qm9yZGVyQm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKGNlbGxM
b2dpY2FsV2lkdGgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb2x1bW5MYXlv
dXQubG9naWNhbFdpZHRoLmlzRml4ZWQoKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyBOYXYvSUUgd2VpcmRuZXNzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlmICgobG9naWNhbFdpZHRoID4gY29sdW1uTGF5b3V0LmxvZ2ljYWxXaWR0aC52YWx1ZSgpKSAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GaXhlZFRhYmxlTGF5b3V0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GaXhlZFRhYmxlTGF5b3V0LmNwcAppbmRleCBi
MDVkZmVlMDcyNDI5ZGVmNjRkOThhOGQ3ZGM1NGFhMzU1M2MwZjk5Li4yM2IzOGE5OGUxYTQzNjVj
MTZmZDk0NmE5NGZmMjMzZWNkZDg3YWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvRml4ZWRUYWJsZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0ZpeGVkVGFibGVMYXlvdXQuY3BwCkBAIC0xNDIsNyArMTQyLDcgQEAgZmxvYXQgRml4ZWRUYWJs
ZUxheW91dDo6Y2FsY1dpZHRoQXJyYXkoKQogICAgICAgICAvLyBGSVhNRTogU3VwcG9ydCBvdGhl
ciBsZW5ndGggdHlwZXMuIElmIHRoZSB3aWR0aCBpcyBub24tYXV0bywgaXQgc2hvdWxkIHByb2Jh
Ymx5IGp1c3QgdXNlCiAgICAgICAgIC8vIFJlbmRlckJveDo6Y29tcHV0ZUxvZ2ljYWxXaWR0aElu
RnJhZ21lbnRVc2luZyB0byBjb21wdXRlIHRoZSB3aWR0aC4KICAgICAgICAgaWYgKGxvZ2ljYWxX
aWR0aC5pc0ZpeGVkKCkgJiYgbG9naWNhbFdpZHRoLmlzUG9zaXRpdmUoKSkgewotICAgICAgICAg
ICAgZml4ZWRCb3JkZXJCb3hMb2dpY2FsV2lkdGggPSBjZWxsLT5hZGp1c3RCb3JkZXJCb3hMb2dp
Y2FsV2lkdGhGb3JCb3hTaXppbmcobG9naWNhbFdpZHRoLnZhbHVlKCkpOworICAgICAgICAgICAg
Zml4ZWRCb3JkZXJCb3hMb2dpY2FsV2lkdGggPSBjZWxsLT5hZGp1c3RCb3JkZXJCb3hMb2dpY2Fs
V2lkdGhGb3JCb3hTaXppbmcobG9naWNhbFdpZHRoKTsKICAgICAgICAgICAgIGxvZ2ljYWxXaWR0
aC5zZXRWYWx1ZShGaXhlZCwgZml4ZWRCb3JkZXJCb3hMb2dpY2FsV2lkdGgpOwogICAgICAgICB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDM1OGQ2NmY5
ODcyMzk2MjkzMjFmOWMzM2E2NGZkMTEzODdkNTI3MzcuLjhhN2Y4OTY2YjdjNWI3NTViMmQ0YTZk
MDdkNDQ3YzI5MjI2MTMxM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcApAQCAtMjI4MCwxOCArMjI4MCwxOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlUHJl
ZmVycmVkTG9naWNhbFdpZHRocygpCiAgICAgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlVG9Vc2Ug
PSBzdHlsZSgpOwogICAgIGlmICghaXNUYWJsZUNlbGwoKSAmJiBzdHlsZVRvVXNlLmxvZ2ljYWxX
aWR0aCgpLmlzRml4ZWQoKSAmJiBzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLnZhbHVlKCkgPj0g
MAogICAgICAgICAmJiAhKGlzRGVwcmVjYXRlZEZsZXhJdGVtKCkgJiYgIXN0eWxlVG9Vc2UubG9n
aWNhbFdpZHRoKCkuaW50VmFsdWUoKSkpCi0gICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoID0gbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBhZGp1c3RDb250ZW50Qm94TG9naWNh
bFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkudmFsdWUoKSk7Cisg
ICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbV9tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGggPSBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlVG9V
c2UubG9naWNhbFdpZHRoKCkpOwogICAgIGVsc2UKICAgICAgICAgY29tcHV0ZUludHJpbnNpY0xv
Z2ljYWxXaWR0aHMobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIG1fbWF4UHJlZmVycmVkTG9n
aWNhbFdpZHRoKTsKIAogICAgIGlmIChzdHlsZVRvVXNlLmxvZ2ljYWxNYXhXaWR0aCgpLmlzRml4
ZWQoKSkgewotICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1f
bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9y
Qm94U2l6aW5nKHN0eWxlVG9Vc2UubG9naWNhbE1heFdpZHRoKCkudmFsdWUoKSkpOwotICAgICAg
ICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxl
VG9Vc2UubG9naWNhbE1heFdpZHRoKCkudmFsdWUoKSkpOworICAgICAgICBtX21heFByZWZlcnJl
ZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1
c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlVG9Vc2UubG9naWNhbE1h
eFdpZHRoKCkpKTsKKyAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1p
bihtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0
aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2ljYWxNYXhXaWR0aCgpKSk7CiAgICAgfQogICAg
IAogICAgIGlmIChzdHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpLmlzRml4ZWQoKSAmJiBzdHls
ZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpLnZhbHVlKCkgPiAwKSB7Ci0gICAgICAgIG1fbWF4UHJl
ZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgs
IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5sb2dp
Y2FsTWluV2lkdGgoKS52YWx1ZSgpKSk7Ci0gICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoID0gc3RkOjptYXgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRC
b3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgoKS52
YWx1ZSgpKSk7CisgICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgo
bV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhG
b3JCb3hTaXppbmcoc3R5bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgoKSkpOworICAgICAgICBtX21p
blByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1fbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlVG9Vc2Uu
bG9naWNhbE1pbldpZHRoKCkpKTsKICAgICB9CiAgICAgCiAgICAgTGF5b3V0VW5pdCBib3JkZXJB
bmRQYWRkaW5nID0gYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxXaWR0aCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCA4NWMzYjcxM2E4Yjg2MWVj
MGM0ZTUxMTRmOGI0YTdhZTQ4OTU2YzNlLi5lZDE0MDU0NzZmNDlmZmZiMDhiNTEzYWU0ZjgwMTZl
ODA1ZTQ5OTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93
LmNwcApAQCAtMzU2LDcgKzM1Niw3IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93Ojpjb21wdXRlSW50
cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsCiAgICAgaWYg
KGlzPFJlbmRlclRhYmxlQ2VsbD4oKnRoaXMpKSB7CiAgICAgICAgIExlbmd0aCB0YWJsZUNlbGxX
aWR0aCA9IGRvd25jYXN0PFJlbmRlclRhYmxlQ2VsbD4oKnRoaXMpLnN0eWxlT3JDb2xMb2dpY2Fs
V2lkdGgoKTsKICAgICAgICAgaWYgKHRhYmxlQ2VsbFdpZHRoLmlzRml4ZWQoKSAmJiB0YWJsZUNl
bGxXaWR0aC52YWx1ZSgpID4gMCkKLSAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6
bWF4KG1pbkxvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNp
emluZyh0YWJsZUNlbGxXaWR0aC52YWx1ZSgpKSk7CisgICAgICAgICAgICBtYXhMb2dpY2FsV2lk
dGggPSBzdGQ6Om1heChtaW5Mb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lk
dGhGb3JCb3hTaXppbmcodGFibGVDZWxsV2lkdGgpKTsKICAgICB9CiAKICAgICBpbnQgc2Nyb2xs
YmFyV2lkdGggPSBpbnRyaW5zaWNTY3JvbGxiYXJMb2dpY2FsV2lkdGgoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggOGQ4NTNhYTJjOGFhNGI3MGIwYjJhYmI0MTky
Y2NiYjI5OTdjYWMyMy4uYmYzZGQ5ZDE4YTdkYjQxNTQ2OTNjZGVkY2QwNzJlNjA1MzhhZjhmNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTEyMzEsMTAgKzEyMzEs
MTEgQEAgdm9pZCBSZW5kZXJCb3g6OmNsZWFyT3ZlcnJpZGluZ0NvbnRhaW5pbmdCbG9ja0NvbnRl
bnRMb2dpY2FsSGVpZ2h0KCkKICAgICAgICAgZ092ZXJyaWRpbmdDb250YWluaW5nQmxvY2tDb250
ZW50TG9naWNhbEhlaWdodE1hcC0+cmVtb3ZlKHRoaXMpOwogfQogCi1MYXlvdXRVbml0IFJlbmRl
ckJveDo6YWRqdXN0Qm9yZGVyQm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKExheW91dFVuaXQg
d2lkdGgpIGNvbnN0CitMYXlvdXRVbml0IFJlbmRlckJveDo6YWRqdXN0Qm9yZGVyQm94TG9naWNh
bFdpZHRoRm9yQm94U2l6aW5nKGNvbnN0IExlbmd0aCYgbG9naWNhbFdpZHRoKSBjb25zdAogewor
ICAgIGF1dG8gd2lkdGggPSBMYXlvdXRVbml0IHsgbG9naWNhbFdpZHRoLnZhbHVlKCkgfTsKICAg
ICBMYXlvdXRVbml0IGJvcmRlcnNQbHVzUGFkZGluZyA9IGJvcmRlckFuZFBhZGRpbmdMb2dpY2Fs
V2lkdGgoKTsKLSAgICBpZiAoc3R5bGUoKS5ib3hTaXppbmcoKSA9PSBCb3hTaXppbmc6OkNvbnRl
bnRCb3gpCisgICAgaWYgKHN0eWxlKCkuYm94U2l6aW5nKCkgPT0gQm94U2l6aW5nOjpDb250ZW50
Qm94IHx8IGxvZ2ljYWxXaWR0aC5pc0ludHJpbnNpY09yQXV0bygpKQogICAgICAgICByZXR1cm4g
d2lkdGggKyBib3JkZXJzUGx1c1BhZGRpbmc7CiAgICAgcmV0dXJuIHN0ZDo6bWF4KHdpZHRoLCBi
b3JkZXJzUGx1c1BhZGRpbmcpOwogfQpAQCAtMTI0NywxMSArMTI0OCwxMiBAQCBMYXlvdXRVbml0
IFJlbmRlckJveDo6YWRqdXN0Qm9yZGVyQm94TG9naWNhbEhlaWdodEZvckJveFNpemluZyhMYXlv
dXRVbml0IGhlaWdodAogICAgIHJldHVybiBzdGQ6Om1heChoZWlnaHQsIGJvcmRlcnNQbHVzUGFk
ZGluZyk7CiB9CiAKLUxheW91dFVuaXQgUmVuZGVyQm94OjphZGp1c3RDb250ZW50Qm94TG9naWNh
bFdpZHRoRm9yQm94U2l6aW5nKExheW91dFVuaXQgd2lkdGgpIGNvbnN0CitMYXlvdXRVbml0IFJl
bmRlckJveDo6YWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhjb25zdCBM
ZW5ndGgmIGxvZ2ljYWxXaWR0aCkgY29uc3QKIHsKLSAgICBpZiAoc3R5bGUoKS5ib3hTaXppbmco
KSA9PSBCb3hTaXppbmc6OkJvcmRlckJveCkKLSAgICAgICAgd2lkdGggLT0gYm9yZGVyQW5kUGFk
ZGluZ0xvZ2ljYWxXaWR0aCgpOwotICAgIHJldHVybiBzdGQ6Om1heDxMYXlvdXRVbml0PigwLCB3
aWR0aCk7CisgICAgYXV0byB3aWR0aCA9IExheW91dFVuaXQgeyBsb2dpY2FsV2lkdGgudmFsdWUo
KSB9OworICAgIGlmIChzdHlsZSgpLmJveFNpemluZygpID09IEJveFNpemluZzo6Q29udGVudEJv
eCB8fCBsb2dpY2FsV2lkdGguaXNJbnRyaW5zaWNPckF1dG8oKSkKKyAgICAgICAgcmV0dXJuIHN0
ZDo6bWF4KDBfbHUsIHdpZHRoKTsKKyAgICByZXR1cm4gc3RkOjptYXgoMF9sdSwgd2lkdGggLSBi
b3JkZXJBbmRQYWRkaW5nTG9naWNhbFdpZHRoKCkpOwogfQogCiBMYXlvdXRVbml0IFJlbmRlckJv
eDo6YWRqdXN0Q29udGVudEJveExvZ2ljYWxIZWlnaHRGb3JCb3hTaXppbmcoT3B0aW9uYWw8TGF5
b3V0VW5pdD4gaGVpZ2h0KSBjb25zdApAQCAtMjU3MywxMSArMjU3NSwxMSBAQCBMYXlvdXRVbml0
IFJlbmRlckJveDo6Y29tcHV0ZUxvZ2ljYWxXaWR0aEluRnJhZ21lbnRVc2luZyhTaXplVHlwZSB3
aWR0aFR5cGUsIExlbgogewogICAgIEFTU0VSVCh3aWR0aFR5cGUgPT0gTWluU2l6ZSB8fCB3aWR0
aFR5cGUgPT0gTWFpbk9yUHJlZmVycmVkU2l6ZSB8fCAhbG9naWNhbFdpZHRoLmlzQXV0bygpKTsK
ICAgICBpZiAod2lkdGhUeXBlID09IE1pblNpemUgJiYgbG9naWNhbFdpZHRoLmlzQXV0bygpKQot
ICAgICAgICByZXR1cm4gYWRqdXN0Qm9yZGVyQm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKDAp
OworICAgICAgICByZXR1cm4gYWRqdXN0Qm9yZGVyQm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5n
KHsgMCwgbG9naWNhbFdpZHRoLnR5cGUoKSwgbG9naWNhbFdpZHRoLmhhc1F1aXJrKCkgfSk7CiAK
ICAgICBpZiAoIWxvZ2ljYWxXaWR0aC5pc0ludHJpbnNpY09yQXV0bygpKSB7CiAgICAgICAgIC8v
IEZJWE1FOiBJZiB0aGUgY29udGFpbmluZyBibG9jayBmbG93IGlzIHBlcnBlbmRpY3VsYXIgdG8g
b3VyIGRpcmVjdGlvbiB3ZSBuZWVkIHRvIHVzZSB0aGUgYXZhaWxhYmxlIGxvZ2ljYWwgaGVpZ2h0
IGluc3RlYWQuCi0gICAgICAgIHJldHVybiBhZGp1c3RCb3JkZXJCb3hMb2dpY2FsV2lkdGhGb3JC
b3hTaXppbmcodmFsdWVGb3JMZW5ndGgobG9naWNhbFdpZHRoLCBhdmFpbGFibGVMb2dpY2FsV2lk
dGgpKTsKKyAgICAgICAgcmV0dXJuIGFkanVzdEJvcmRlckJveExvZ2ljYWxXaWR0aEZvckJveFNp
emluZyh7IHZhbHVlRm9yTGVuZ3RoKGxvZ2ljYWxXaWR0aCwgYXZhaWxhYmxlTG9naWNhbFdpZHRo
KSwgbG9naWNhbFdpZHRoLnR5cGUoKSwgbG9naWNhbFdpZHRoLmhhc1F1aXJrKCkgfSk7CiAgICAg
fQogCiAgICAgaWYgKGxvZ2ljYWxXaWR0aC5pc0ludHJpbnNpYygpKQpAQCAtMzExMywxMSArMzEx
NSwxMSBAQCBMYXlvdXRVbml0IFJlbmRlckJveDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRo
VXNpbmcoU2l6ZVR5cGUgd2lkdGhUeXBlLCBMZW5ndAogewogICAgIEFTU0VSVCh3aWR0aFR5cGUg
PT0gTWluU2l6ZSB8fCB3aWR0aFR5cGUgPT0gTWFpbk9yUHJlZmVycmVkU2l6ZSB8fCAhbG9naWNh
bFdpZHRoLmlzQXV0bygpKTsKICAgICBpZiAod2lkdGhUeXBlID09IE1pblNpemUgJiYgbG9naWNh
bFdpZHRoLmlzQXV0bygpKQotICAgICAgICByZXR1cm4gYWRqdXN0Q29udGVudEJveExvZ2ljYWxX
aWR0aEZvckJveFNpemluZygwKTsKKyAgICAgICAgcmV0dXJuIGFkanVzdENvbnRlbnRCb3hMb2dp
Y2FsV2lkdGhGb3JCb3hTaXppbmcoeyAwLCBsb2dpY2FsV2lkdGgudHlwZSgpLCBsb2dpY2FsV2lk
dGguaGFzUXVpcmsoKSB9KTsKIAogICAgIHN3aXRjaCAobG9naWNhbFdpZHRoLnR5cGUoKSkgewog
ICAgICAgICBjYXNlIEZpeGVkOgotICAgICAgICAgICAgcmV0dXJuIGFkanVzdENvbnRlbnRCb3hM
b2dpY2FsV2lkdGhGb3JCb3hTaXppbmcobG9naWNhbFdpZHRoLnZhbHVlKCkpOworICAgICAgICAg
ICAgcmV0dXJuIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcobG9naWNh
bFdpZHRoKTsKICAgICAgICAgY2FzZSBNaW5Db250ZW50OgogICAgICAgICBjYXNlIE1heENvbnRl
bnQ6IHsKICAgICAgICAgICAgIC8vIE1pbkNvbnRlbnQvTWF4Q29udGVudCBkb24ndCBuZWVkIHRo
ZSBhdmFpbGFibGVMb2dpY2FsV2lkdGggYXJndW1lbnQuCkBAIC0zMTM4LDcgKzMxNDAsNyBAQCBM
YXlvdXRVbml0IFJlbmRlckJveDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoVXNpbmcoU2l6
ZVR5cGUgd2lkdGhUeXBlLCBMZW5ndAogICAgICAgICAgICAgaWYgKGxvZ2ljYWxXaWR0aC5pc0lu
dHJpbnNpYygpKQogICAgICAgICAgICAgICAgIHJldHVybiBjb21wdXRlSW50cmluc2ljTG9naWNh
bFdpZHRoVXNpbmcobG9naWNhbFdpZHRoLCBjdywgYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxXaWR0
aCgpKSAtIGJvcmRlckFuZFBhZGRpbmdMb2dpY2FsV2lkdGgoKTsKICAgICAgICAgICAgIGlmIChj
dyA+IDAgfHwgKCFjdyAmJiAoY29udGFpbmVyTG9naWNhbFdpZHRoLmlzRml4ZWQoKSB8fCBjb250
YWluZXJMb2dpY2FsV2lkdGguaXNQZXJjZW50T3JDYWxjdWxhdGVkKCkpKSkKLSAgICAgICAgICAg
ICAgICByZXR1cm4gYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhtaW5p
bXVtVmFsdWVGb3JMZW5ndGgobG9naWNhbFdpZHRoLCBjdykpOworICAgICAgICAgICAgICAgIHJl
dHVybiBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHsgbWluaW11bVZh
bHVlRm9yTGVuZ3RoKGxvZ2ljYWxXaWR0aCwgY3cpLCBsb2dpY2FsV2lkdGgudHlwZSgpLCBsb2dp
Y2FsV2lkdGguaGFzUXVpcmsoKSB9KTsKICAgICAgICAgICAgIHJldHVybiAwX2x1OwogICAgICAg
ICB9CiAgICAgICAgIGNhc2UgSW50cmluc2ljOgpAQCAtMzY5Niw2ICszNjk4LDcgQEAgdm9pZCBS
ZW5kZXJCb3g6OmNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoVXNpbmcoU2l6ZVR5cGUgd2lk
dGhUeXBlLCBMZW5ndGggbG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIExvZ2ljYWxFeHRlbnRDb21wdXRlZFZhbHVlcyYgY29tcHV0ZWRWYWx1ZXMp
IGNvbnN0CiB7CiAgICAgQVNTRVJUKHdpZHRoVHlwZSA9PSBNaW5TaXplIHx8IHdpZHRoVHlwZSA9
PSBNYWluT3JQcmVmZXJyZWRTaXplIHx8ICFsb2dpY2FsV2lkdGguaXNBdXRvKCkpOworICAgIGF1
dG8gb3JpZ2luYWxMb2dpY2FsV2lkdGhUeXBlID0gbG9naWNhbFdpZHRoLnR5cGUoKTsKICAgICBp
ZiAod2lkdGhUeXBlID09IE1pblNpemUgJiYgbG9naWNhbFdpZHRoLmlzQXV0bygpKQogICAgICAg
ICBsb2dpY2FsV2lkdGggPSBMZW5ndGgoMCwgRml4ZWQpOwogICAgIGVsc2UgaWYgKGxvZ2ljYWxX
aWR0aC5pc0ludHJpbnNpYygpKQpAQCAtMzczMiw3ICszNzM1LDcgQEAgdm9pZCBSZW5kZXJCb3g6
OmNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoVXNpbmcoU2l6ZVR5cGUgd2lkdGhUeXBlLCBM
ZW5ndGggbG8KICAgICAgICAgLy8gY2FzZSBiZWNhdXNlIHRoZSB2YWx1ZSBpcyBub3QgdXNlZCBm
b3IgYW55IGZ1cnRoZXIgY2FsY3VsYXRpb25zLgogCiAgICAgICAgIGxvZ2ljYWxMZWZ0VmFsdWUg
PSB2YWx1ZUZvckxlbmd0aChsb2dpY2FsTGVmdCwgY29udGFpbmVyTG9naWNhbFdpZHRoKTsKLSAg
ICAgICAgY29tcHV0ZWRWYWx1ZXMubV9leHRlbnQgPSBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdp
ZHRoRm9yQm94U2l6aW5nKHZhbHVlRm9yTGVuZ3RoKGxvZ2ljYWxXaWR0aCwgY29udGFpbmVyTG9n
aWNhbFdpZHRoKSk7CisgICAgICAgIGNvbXB1dGVkVmFsdWVzLm1fZXh0ZW50ID0gYWRqdXN0Q29u
dGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyh7IHZhbHVlRm9yTGVuZ3RoKGxvZ2ljYWxX
aWR0aCwgY29udGFpbmVyTG9naWNhbFdpZHRoKSwgb3JpZ2luYWxMb2dpY2FsV2lkdGhUeXBlLCBs
b2dpY2FsV2lkdGguaGFzUXVpcmsoKSB9KTsKIAogICAgICAgICBjb25zdCBMYXlvdXRVbml0IGF2
YWlsYWJsZVNwYWNlID0gY29udGFpbmVyTG9naWNhbFdpZHRoIC0gKGxvZ2ljYWxMZWZ0VmFsdWUg
KyBjb21wdXRlZFZhbHVlcy5tX2V4dGVudCArIHZhbHVlRm9yTGVuZ3RoKGxvZ2ljYWxSaWdodCwg
Y29udGFpbmVyTG9naWNhbFdpZHRoKSArIGJvcmRlcnNQbHVzUGFkZGluZyk7CiAKQEAgLTM4NDIs
NyArMzg0NSw3IEBAIHZvaWQgUmVuZGVyQm94Ojpjb21wdXRlUG9zaXRpb25lZExvZ2ljYWxXaWR0
aFVzaW5nKFNpemVUeXBlIHdpZHRoVHlwZSwgTGVuZ3RoIGxvCiAgICAgICAgICAgICBjb21wdXRl
ZFZhbHVlcy5tX2V4dGVudCA9IHN0ZDo6bWluKHN0ZDo6bWF4KHByZWZlcnJlZE1pbldpZHRoLCBh
dmFpbGFibGVXaWR0aCksIHByZWZlcnJlZFdpZHRoKTsKICAgICAgICAgfSBlbHNlIGlmIChsb2dp
Y2FsTGVmdElzQXV0byAmJiAhbG9naWNhbFdpZHRoSXNBdXRvICYmICFsb2dpY2FsUmlnaHRJc0F1
dG8pIHsKICAgICAgICAgICAgIC8vIFJVTEUgNDogKHNvbHZlIGZvciBsZWZ0KQotICAgICAgICAg
ICAgY29tcHV0ZWRWYWx1ZXMubV9leHRlbnQgPSBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRo
Rm9yQm94U2l6aW5nKHZhbHVlRm9yTGVuZ3RoKGxvZ2ljYWxXaWR0aCwgY29udGFpbmVyTG9naWNh
bFdpZHRoKSk7CisgICAgICAgICAgICBjb21wdXRlZFZhbHVlcy5tX2V4dGVudCA9IGFkanVzdENv
bnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoeyB2YWx1ZUZvckxlbmd0aChsb2dpY2Fs
V2lkdGgsIGNvbnRhaW5lckxvZ2ljYWxXaWR0aCksIG9yaWdpbmFsTG9naWNhbFdpZHRoVHlwZSwg
bG9naWNhbFdpZHRoLmhhc1F1aXJrKCkgfSk7CiAgICAgICAgICAgICBsb2dpY2FsTGVmdFZhbHVl
ID0gYXZhaWxhYmxlU3BhY2UgLSAoY29tcHV0ZWRWYWx1ZXMubV9leHRlbnQgKyB2YWx1ZUZvckxl
bmd0aChsb2dpY2FsUmlnaHQsIGNvbnRhaW5lckxvZ2ljYWxXaWR0aCkpOwogICAgICAgICB9IGVs
c2UgaWYgKCFsb2dpY2FsTGVmdElzQXV0byAmJiBsb2dpY2FsV2lkdGhJc0F1dG8gJiYgIWxvZ2lj
YWxSaWdodElzQXV0bykgewogICAgICAgICAgICAgLy8gUlVMRSA1OiAoc29sdmUgZm9yIHdpZHRo
KQpAQCAtMzg1MSw3ICszODU0LDcgQEAgdm9pZCBSZW5kZXJCb3g6OmNvbXB1dGVQb3NpdGlvbmVk
TG9naWNhbFdpZHRoVXNpbmcoU2l6ZVR5cGUgd2lkdGhUeXBlLCBMZW5ndGggbG8KICAgICAgICAg
fSBlbHNlIGlmICghbG9naWNhbExlZnRJc0F1dG8gJiYgIWxvZ2ljYWxXaWR0aElzQXV0byAmJiBs
b2dpY2FsUmlnaHRJc0F1dG8pIHsKICAgICAgICAgICAgIC8vIFJVTEUgNjogKG5vIG5lZWQgc29s
dmUgZm9yIHJpZ2h0KQogICAgICAgICAgICAgbG9naWNhbExlZnRWYWx1ZSA9IHZhbHVlRm9yTGVu
Z3RoKGxvZ2ljYWxMZWZ0LCBjb250YWluZXJMb2dpY2FsV2lkdGgpOwotICAgICAgICAgICAgY29t
cHV0ZWRWYWx1ZXMubV9leHRlbnQgPSBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94
U2l6aW5nKHZhbHVlRm9yTGVuZ3RoKGxvZ2ljYWxXaWR0aCwgY29udGFpbmVyTG9naWNhbFdpZHRo
KSk7CisgICAgICAgICAgICBjb21wdXRlZFZhbHVlcy5tX2V4dGVudCA9IGFkanVzdENvbnRlbnRC
b3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoeyB2YWx1ZUZvckxlbmd0aChsb2dpY2FsV2lkdGgs
IGNvbnRhaW5lckxvZ2ljYWxXaWR0aCksIG9yaWdpbmFsTG9naWNhbFdpZHRoVHlwZSwgbG9naWNh
bFdpZHRoLmhhc1F1aXJrKCkgfSk7CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guaAppbmRleCAyM2JiNzgxOWMyMjg4NjI2YzU2YzA0NWUxMjE2OWFkNzFm
OGIyY2IwLi42ZDNiY2YxOTVmYTg5OWJjMTcwZDZhOTA5NGY0YTJkNmZmMGM0NjYwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCkBAIC0zMzUsMTEgKzMzNSw4IEBAIHB1YmxpYzoK
IAogICAgIExheW91dFNpemUgb2Zmc2V0RnJvbUNvbnRhaW5lcihSZW5kZXJFbGVtZW50JiwgY29u
c3QgTGF5b3V0UG9pbnQmLCBib29sKiBvZmZzZXREZXBlbmRzT25Qb2ludCA9IG51bGxwdHIpIGNv
bnN0IG92ZXJyaWRlOwogICAgIAotICAgIExheW91dFVuaXQgYWRqdXN0Qm9yZGVyQm94TG9naWNh
bFdpZHRoRm9yQm94U2l6aW5nKExheW91dFVuaXQgd2lkdGgpIGNvbnN0OwotICAgIExheW91dFVu
aXQgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhMYXlvdXRVbml0IHdp
ZHRoKSBjb25zdDsKLQotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IExheW91dFVuaXQgYWRqdXN0
Qm9yZGVyQm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKFQgd2lkdGgpIGNvbnN0IHsgcmV0dXJu
IGFkanVzdEJvcmRlckJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhMYXlvdXRVbml0KHdpZHRo
KSk7IH0KLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBMYXlvdXRVbml0IGFkanVzdENvbnRlbnRC
b3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoVCB3aWR0aCkgY29uc3QgeyByZXR1cm4gYWRqdXN0
Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhMYXlvdXRVbml0KHdpZHRoKSk7IH0K
KyAgICBMYXlvdXRVbml0IGFkanVzdEJvcmRlckJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhj
b25zdCBMZW5ndGgmIGxvZ2ljYWxXaWR0aCkgY29uc3Q7CisgICAgTGF5b3V0VW5pdCBhZGp1c3RD
b250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKGNvbnN0IExlbmd0aCYgbG9naWNhbFdp
ZHRoKSBjb25zdDsKIAogICAgIC8vIE92ZXJyaWRkZW4gYnkgZmllbGRzZXRzIHRvIHN1YnRyYWN0
IG91dCB0aGUgaW50cmluc2ljIGJvcmRlci4KICAgICB2aXJ0dWFsIExheW91dFVuaXQgYWRqdXN0
Qm9yZGVyQm94TG9naWNhbEhlaWdodEZvckJveFNpemluZyhMYXlvdXRVbml0IGhlaWdodCkgY29u
c3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRl
ZEZsZXhpYmxlQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNh
dGVkRmxleGlibGVCb3guY3BwCmluZGV4IGMxNzFkMmE3OTNmYzY2YmVlMTYxOTNlMWJhMmMwNGYw
YmMzZDJjZjIuLjI4NGEwYjY2ODZlZDZmYzlmNTZmYTQ4M2E4NGFhNDMzNzBiMGMyNWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVC
b3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxl
eGlibGVCb3guY3BwCkBAIC0yMjMsMTggKzIyMywxOCBAQCB2b2lkIFJlbmRlckRlcHJlY2F0ZWRG
bGV4aWJsZUJveDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogCiAgICAgbV9taW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IDA7CiAg
ICAgaWYgKHN0eWxlKCkud2lkdGgoKS5pc0ZpeGVkKCkgJiYgc3R5bGUoKS53aWR0aCgpLnZhbHVl
KCkgPiAwKQotICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1fbWF4UHJlZmVy
cmVkTG9naWNhbFdpZHRoID0gYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemlu
ZyhzdHlsZSgpLndpZHRoKCkudmFsdWUoKSk7CisgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNh
bFdpZHRoID0gbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBhZGp1c3RDb250ZW50Qm94TG9n
aWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkud2lkdGgoKSk7CiAgICAgZWxzZQogICAgICAg
ICBjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCwgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgpOwogCiAgICAgaWYgKHN0eWxlKCkubWluV2lk
dGgoKS5pc0ZpeGVkKCkgJiYgc3R5bGUoKS5taW5XaWR0aCgpLnZhbHVlKCkgPiAwKSB7Ci0gICAg
ICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9tYXhQcmVmZXJyZWRM
b2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5
bGUoKS5taW5XaWR0aCgpLnZhbHVlKCkpKTsKLSAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2Fs
V2lkdGggPSBzdGQ6Om1heChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVu
dEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1pbldpZHRoKCkudmFsdWUoKSkp
OworICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1fbWF4UHJl
ZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6
aW5nKHN0eWxlKCkubWluV2lkdGgoKSkpOworICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxX
aWR0aCA9IHN0ZDo6bWF4KG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50
Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWluV2lkdGgoKSkpOwogICAgIH0K
IAogICAgIGlmIChzdHlsZSgpLm1heFdpZHRoKCkuaXNGaXhlZCgpKSB7Ci0gICAgICAgIG1fbWF4
UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lk
dGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5tYXhX
aWR0aCgpLnZhbHVlKCkpKTsKLSAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBz
dGQ6Om1pbihtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2lj
YWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1heFdpZHRoKCkudmFsdWUoKSkpOworICAgICAg
ICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1fbWF4UHJlZmVycmVkTG9n
aWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxl
KCkubWF4V2lkdGgoKSkpOworICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0
ZDo6bWluKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNh
bFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWF4V2lkdGgoKSkpOwogICAgIH0KIAogICAgIExh
eW91dFVuaXQgYm9yZGVyQW5kUGFkZGluZyA9IGJvcmRlckFuZFBhZGRpbmdMb2dpY2FsV2lkdGgo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2Fk
Q29udHJvbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENv
bnRyb2wuY3BwCmluZGV4IDA4ZWMwMGY3NDk2NWQ4MWJmNzEzMTVkZDMzZTZmOGUyYWIzZWExNDYu
LjlkZjczZWY3NmNiNGFiNWZkMTk1MmQ3NzFiMzJmMTZmODczNTFlZTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcApAQCAt
MjI0LDE4ICsyMjQsMTggQEAgdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y29tcHV0ZVBy
ZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0g
MDsKIAogICAgIGlmIChzdHlsZSgpLndpZHRoKCkuaXNGaXhlZCgpICYmIHN0eWxlKCkud2lkdGgo
KS52YWx1ZSgpID4gMCkKLSAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtX21h
eFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JC
b3hTaXppbmcoc3R5bGUoKS53aWR0aCgpLnZhbHVlKCkpOworICAgICAgICBtX21pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCA9IG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gYWRqdXN0Q29udGVu
dEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLndpZHRoKCkpOwogICAgIGVsc2UK
ICAgICAgICAgY29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMobV9taW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGgsIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKTsKIAogICAgIGlmIChzdHlsZSgp
Lm1pbldpZHRoKCkuaXNGaXhlZCgpICYmIHN0eWxlKCkubWluV2lkdGgoKS52YWx1ZSgpID4gMCkg
ewotICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1fbWF4UHJl
ZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6
aW5nKHN0eWxlKCkubWluV2lkdGgoKS52YWx1ZSgpKSk7Ci0gICAgICAgIG1fbWluUHJlZmVycmVk
TG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVz
dENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5taW5XaWR0aCgpLnZh
bHVlKCkpKTsKKyAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heCht
X21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZv
ckJveFNpemluZyhzdHlsZSgpLm1pbldpZHRoKCkpKTsKKyAgICAgICAgbV9taW5QcmVmZXJyZWRM
b2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0
Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1pbldpZHRoKCkpKTsK
ICAgICB9CiAKICAgICBpZiAoc3R5bGUoKS5tYXhXaWR0aCgpLmlzRml4ZWQoKSkgewotICAgICAg
ICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1fbWF4UHJlZmVycmVkTG9n
aWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxl
KCkubWF4V2lkdGgoKS52YWx1ZSgpKSk7Ci0gICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoID0gc3RkOjptaW4obV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRC
b3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5tYXhXaWR0aCgpLnZhbHVlKCkpKTsK
KyAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21heFByZWZl
cnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemlu
ZyhzdHlsZSgpLm1heFdpZHRoKCkpKTsKKyAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lk
dGggPSBzdGQ6Om1pbihtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJv
eExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1heFdpZHRoKCkpKTsKICAgICB9CiAK
ICAgICBpbnQgdG9BZGQgPSBob3Jpem9udGFsQm9yZGVyQW5kUGFkZGluZ0V4dGVudCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKaW5kZXggMWYx
YWI3YWFmMzFiMDFkODEyMGFhYjFkYTYzN2E3YTU0ODNkMWYzMy4uNjY4ZDkwZTU5ZDRjNTU5NmM5
NzdlYjUxNTcwNTBjNjc5YWRhM2ZiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRmxleGlibGVCb3guY3BwCkBAIC03ODAsNyArNzgwLDcgQEAgTGF5b3V0VW5pdCBSZW5k
ZXJGbGV4aWJsZUJveDo6Y29tcHV0ZU1haW5TaXplRnJvbUFzcGVjdFJhdGlvVXNpbmcoY29uc3Qg
UmVuZGVyQm8KICAgICAgICAgY3Jvc3NTaXplID0gYWRqdXN0Rm9yQm94U2l6aW5nKCp0aGlzLCBj
b250YWluZXJDcm9zc1NpemVMZW5ndGgpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEFTU0VSVChj
cm9zc1NpemVMZW5ndGguaXNQZXJjZW50T3JDYWxjdWxhdGVkKCkpOwotICAgICAgICBjcm9zc1Np
emUgPSBtYWluQXhpc0lzQ2hpbGRJbmxpbmVBeGlzKGNoaWxkKSA/IGNoaWxkLmNvbXB1dGVQZXJj
ZW50YWdlTG9naWNhbEhlaWdodChjcm9zc1NpemVMZW5ndGgpIDogYWRqdXN0Qm9yZGVyQm94TG9n
aWNhbFdpZHRoRm9yQm94U2l6aW5nKHZhbHVlRm9yTGVuZ3RoKGNyb3NzU2l6ZUxlbmd0aCwgY29u
dGVudFdpZHRoKCkpKTsKKyAgICAgICAgY3Jvc3NTaXplID0gbWFpbkF4aXNJc0NoaWxkSW5saW5l
QXhpcyhjaGlsZCkgPyBjaGlsZC5jb21wdXRlUGVyY2VudGFnZUxvZ2ljYWxIZWlnaHQoY3Jvc3NT
aXplTGVuZ3RoKSA6IGFkanVzdEJvcmRlckJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyh7IHZh
bHVlRm9yTGVuZ3RoKGNyb3NzU2l6ZUxlbmd0aCwgY29udGVudFdpZHRoKCkpLCBjcm9zc1NpemVM
ZW5ndGgudHlwZSgpLCBjcm9zc1NpemVMZW5ndGguaGFzUXVpcmsoKSB9KTsKICAgICAgICAgaWYg
KCFjcm9zc1NpemUpCiAgICAgICAgICAgICByZXR1cm4gMF9sdTsKICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcAppbmRl
eCBhMTA2N2MwNjI3YzM1ZDdhMTNiOWRiMzRjNzhiODI3ZDQxNTQ2MDc4Li44MDYyNWY5NGVjNzdl
MTVkYWM3YTBlNmMyZjExNGM2ODQ4YzYxNzkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAKQEAgLTM3NCwxOCArMzc0LDE4
IEBAIHZvaWQgUmVuZGVyRnJhZ21lbnRDb250YWluZXI6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2Fs
V2lkdGhzKCkKIAogICAgIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZVRvVXNlID0gc3R5bGUoKTsK
ICAgICBpZiAoc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc0ZpeGVkKCkgJiYgc3R5bGVUb1Vz
ZS5sb2dpY2FsV2lkdGgoKS52YWx1ZSgpID4gMCkKLSAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGggPSBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IGFkanVzdENvbnRlbnRCb3hM
b2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS52YWx1ZSgp
KTsKKyAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtX21heFByZWZlcnJlZExv
Z2ljYWxXaWR0aCA9IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5
bGVUb1VzZS5sb2dpY2FsV2lkdGgoKSk7CiAgICAgZWxzZQogICAgICAgICBjb21wdXRlSW50cmlu
c2ljTG9naWNhbFdpZHRocyhtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgbV9tYXhQcmVmZXJy
ZWRMb2dpY2FsV2lkdGgpOwogCiAgICAgaWYgKHN0eWxlVG9Vc2UubG9naWNhbE1pbldpZHRoKCku
aXNGaXhlZCgpICYmIHN0eWxlVG9Vc2UubG9naWNhbE1pbldpZHRoKCkudmFsdWUoKSA+IDApIHsK
LSAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21heFByZWZl
cnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemlu
ZyhzdHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpLnZhbHVlKCkpKTsKLSAgICAgICAgbV9taW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxv
Z2ljYWxNaW5XaWR0aCgpLnZhbHVlKCkpKTsKKyAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGggPSBzdGQ6Om1heChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVu
dEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgp
KSk7CisgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9taW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hT
aXppbmcoc3R5bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgoKSkpOwogICAgIH0KIAogICAgIGlmIChz
dHlsZVRvVXNlLmxvZ2ljYWxNYXhXaWR0aCgpLmlzRml4ZWQoKSkgewotICAgICAgICBtX21heFBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
LCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlVG9Vc2UubG9n
aWNhbE1heFdpZHRoKCkudmFsdWUoKSkpOwotICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxX
aWR0aCA9IHN0ZDo6bWluKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50
Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlVG9Vc2UubG9naWNhbE1heFdpZHRoKCku
dmFsdWUoKSkpOworICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWlu
KG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRo
Rm9yQm94U2l6aW5nKHN0eWxlVG9Vc2UubG9naWNhbE1heFdpZHRoKCkpKTsKKyAgICAgICAgbV9t
aW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21pblByZWZlcnJlZExvZ2ljYWxX
aWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZVRvVXNl
LmxvZ2ljYWxNYXhXaWR0aCgpKSk7CiAgICAgfQogCiAgICAgTGF5b3V0VW5pdCBib3JkZXJBbmRQ
YWRkaW5nID0gYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxXaWR0aCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckdyaWQuY3BwCmluZGV4IDRlNmM4ZTgzODZjNTc5OWNjOTk4NWU5ZDMzZDFk
Y2EyMDYxMjc3NTEuLjVhYmE1NDcwYmYwM2U0MDE1ZjBhZDJjYmUxOGVlYTEyYjQ1ZWZjYmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKQEAgLTQ2Niw3ICs0NjYsNyBA
QCB1bnNpZ25lZCBSZW5kZXJHcmlkOjpjb21wdXRlQXV0b1JlcGVhdFRyYWNrc0NvdW50KEdyaWRU
cmFja1NpemluZ0RpcmVjdGlvbiBkaXJlYwogICAgICAgICAgICAgaWYgKG1heFNpemUuaXNQZXJj
ZW50T3JDYWxjdWxhdGVkKCkpCiAgICAgICAgICAgICAgICAgY29udGFpbmluZ0Jsb2NrQXZhaWxh
YmxlU2l6ZSA9IGlzUm93QXhpcyA/IGNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxXaWR0aEZvckNvbnRl
bnQoKSA6IGNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxIZWlnaHRGb3JDb250ZW50KEV4Y2x1ZGVNYXJn
aW5Cb3JkZXJQYWRkaW5nKTsKICAgICAgICAgICAgIExheW91dFVuaXQgbWF4U2l6ZVZhbHVlID0g
dmFsdWVGb3JMZW5ndGgobWF4U2l6ZSwgY29udGFpbmluZ0Jsb2NrQXZhaWxhYmxlU2l6ZS52YWx1
ZU9yKExheW91dFVuaXQoKSkpOwotICAgICAgICAgICAgYXZhaWxhYmxlTWF4U2l6ZSA9IGlzUm93
QXhpcyA/IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcobWF4U2l6ZVZh
bHVlKSA6IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0Rm9yQm94U2l6aW5nKG1heFNpemVW
YWx1ZSk7CisgICAgICAgICAgICBhdmFpbGFibGVNYXhTaXplID0gaXNSb3dBeGlzID8gYWRqdXN0
Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyh7IG1heFNpemVWYWx1ZSwgbWF4U2l6
ZS50eXBlKCksIG1heFNpemUuaGFzUXVpcmsoKSB9KSA6IGFkanVzdENvbnRlbnRCb3hMb2dpY2Fs
SGVpZ2h0Rm9yQm94U2l6aW5nKG1heFNpemVWYWx1ZSk7CiAgICAgICAgIH0KIAogICAgICAgICBj
b25zdCBMZW5ndGgmIG1pblNpemUgPSBpc1Jvd0F4aXMgPyBzdHlsZSgpLmxvZ2ljYWxNaW5XaWR0
aCgpIDogc3R5bGUoKS5sb2dpY2FsTWluSGVpZ2h0KCk7CkBAIC00NzgsNyArNDc4LDcgQEAgdW5z
aWduZWQgUmVuZGVyR3JpZDo6Y29tcHV0ZUF1dG9SZXBlYXRUcmFja3NDb3VudChHcmlkVHJhY2tT
aXppbmdEaXJlY3Rpb24gZGlyZWMKICAgICAgICAgICAgIGlmICghY29udGFpbmluZ0Jsb2NrQXZh
aWxhYmxlU2l6ZSAmJiBtaW5TaXplLmlzUGVyY2VudE9yQ2FsY3VsYXRlZCgpKQogICAgICAgICAg
ICAgICAgIGNvbnRhaW5pbmdCbG9ja0F2YWlsYWJsZVNpemUgPSBpc1Jvd0F4aXMgPyBjb250YWlu
aW5nQmxvY2tMb2dpY2FsV2lkdGhGb3JDb250ZW50KCkgOiBjb250YWluaW5nQmxvY2tMb2dpY2Fs
SGVpZ2h0Rm9yQ29udGVudChFeGNsdWRlTWFyZ2luQm9yZGVyUGFkZGluZyk7CiAgICAgICAgICAg
ICBMYXlvdXRVbml0IG1pblNpemVWYWx1ZSA9IHZhbHVlRm9yTGVuZ3RoKG1pblNpemUsIGNvbnRh
aW5pbmdCbG9ja0F2YWlsYWJsZVNpemUudmFsdWVPcihMYXlvdXRVbml0KCkpKTsKLSAgICAgICAg
ICAgIGF2YWlsYWJsZU1pblNpemUgPSBpc1Jvd0F4aXMgPyBhZGp1c3RDb250ZW50Qm94TG9naWNh
bFdpZHRoRm9yQm94U2l6aW5nKG1pblNpemVWYWx1ZSkgOiBhZGp1c3RDb250ZW50Qm94TG9naWNh
bEhlaWdodEZvckJveFNpemluZyhtaW5TaXplVmFsdWUpOworICAgICAgICAgICAgYXZhaWxhYmxl
TWluU2l6ZSA9IGlzUm93QXhpcyA/IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hT
aXppbmcoeyBtaW5TaXplVmFsdWUsIG1pblNpemUudHlwZSgpLCBtaW5TaXplLmhhc1F1aXJrKCkg
fSkgOiBhZGp1c3RDb250ZW50Qm94TG9naWNhbEhlaWdodEZvckJveFNpemluZyhtaW5TaXplVmFs
dWUpOwogICAgICAgICAgICAgaWYgKCFtYXhTaXplLmlzU3BlY2lmaWVkKCkpCiAgICAgICAgICAg
ICAgICAgbmVlZHNUb0Z1bGZpbGxNaW5pbXVtU2l6ZSA9IHRydWU7CiAgICAgICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAppbmRleCA3MzQ0MDZjNDMwNWQw
MzllMGY4ZWI4YTEyMzgxNzQyMThhODJiMDVkLi44ZThhZDcwNDNhMWQ3NDA2MTE3ZTI3MmViMGEy
MDQ1YWZlNjVjMmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGlzdEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3gu
Y3BwCkBAIC0yMjYsMTggKzIyNiwxOCBAQCB2b2lkIFJlbmRlckxpc3RCb3g6OmNvbXB1dGVQcmVm
ZXJyZWRMb2dpY2FsV2lkdGhzKCkKICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IDA7
CiAKICAgICBpZiAoc3R5bGUoKS53aWR0aCgpLmlzRml4ZWQoKSAmJiBzdHlsZSgpLndpZHRoKCku
dmFsdWUoKSA+IDApCi0gICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbV9tYXhQ
cmVmZXJyZWRMb2dpY2FsV2lkdGggPSBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94
U2l6aW5nKHN0eWxlKCkud2lkdGgoKS52YWx1ZSgpKTsKKyAgICAgICAgbV9taW5QcmVmZXJyZWRM
b2dpY2FsV2lkdGggPSBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IGFkanVzdENvbnRlbnRC
b3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS53aWR0aCgpKTsKICAgICBlbHNlCiAg
ICAgICAgIGNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKG1fbWluUHJlZmVycmVkTG9naWNh
bFdpZHRoLCBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CiAKICAgICBpZiAoc3R5bGUoKS5t
aW5XaWR0aCgpLmlzRml4ZWQoKSAmJiBzdHlsZSgpLm1pbldpZHRoKCkudmFsdWUoKSA+IDApIHsK
LSAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21heFByZWZl
cnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemlu
ZyhzdHlsZSgpLm1pbldpZHRoKCkudmFsdWUoKSkpOwotICAgICAgICBtX21pblByZWZlcnJlZExv
Z2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RD
b250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWluV2lkdGgoKS52YWx1
ZSgpKSk7CisgICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9t
YXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JC
b3hTaXppbmcoc3R5bGUoKS5taW5XaWR0aCgpKSk7CisgICAgICAgIG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoID0gc3RkOjptYXgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENv
bnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5taW5XaWR0aCgpKSk7CiAg
ICAgfQogCiAgICAgaWYgKHN0eWxlKCkubWF4V2lkdGgoKS5pc0ZpeGVkKCkpIHsKLSAgICAgICAg
bV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21heFByZWZlcnJlZExvZ2lj
YWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgp
Lm1heFdpZHRoKCkudmFsdWUoKSkpOwotICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCA9IHN0ZDo6bWluKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94
TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWF4V2lkdGgoKS52YWx1ZSgpKSk7Cisg
ICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9tYXhQcmVmZXJy
ZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmco
c3R5bGUoKS5tYXhXaWR0aCgpKSk7CisgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRo
ID0gc3RkOjptaW4obV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hM
b2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5tYXhXaWR0aCgpKSk7CiAgICAgfQogCiAg
ICAgTGF5b3V0VW5pdCB0b0FkZCA9IGhvcml6b250YWxCb3JkZXJBbmRQYWRkaW5nRXh0ZW50KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAppbmRleCA2MTky
ODVkZTNiNTg4Nzk5YjUzOTcyZjA5MTRlM2M5ODM2ZmE4ZmJkLi41YmQ0NmRjNjJhZTE3MWQ1NmFh
NDE0OWMwNTU2MzUzNWYwOGVmNzc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWVudUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJNZW51TGlzdC5jcHAKQEAgLTMyNiwxOCArMzI2LDE4IEBAIHZvaWQgUmVuZGVyTWVudUxpc3Q6
OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkKICAgICBtX21heFByZWZlcnJlZExvZ2lj
YWxXaWR0aCA9IDA7CiAgICAgCiAgICAgaWYgKHN0eWxlKCkud2lkdGgoKS5pc0ZpeGVkKCkgJiYg
c3R5bGUoKS53aWR0aCgpLnZhbHVlKCkgPiAwKQotICAgICAgICBtX21pblByZWZlcnJlZExvZ2lj
YWxXaWR0aCA9IG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gYWRqdXN0Q29udGVudEJveExv
Z2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLndpZHRoKCkudmFsdWUoKSk7CisgICAgICAg
IG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgg
PSBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkud2lkdGgo
KSk7CiAgICAgZWxzZQogICAgICAgICBjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhtX21p
blByZWZlcnJlZExvZ2ljYWxXaWR0aCwgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgpOwogCiAg
ICAgaWYgKHN0eWxlKCkubWluV2lkdGgoKS5pc0ZpeGVkKCkgJiYgc3R5bGUoKS5taW5XaWR0aCgp
LnZhbHVlKCkgPiAwKSB7Ci0gICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3Rk
OjptYXgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2Fs
V2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5taW5XaWR0aCgpLnZhbHVlKCkpKTsKLSAgICAgICAg
bV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21pblByZWZlcnJlZExvZ2lj
YWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgp
Lm1pbldpZHRoKCkudmFsdWUoKSkpOworICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0
aCA9IHN0ZDo6bWF4KG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94
TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWluV2lkdGgoKSkpOworICAgICAgICBt
X21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1fbWluUHJlZmVycmVkTG9naWNh
bFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCku
bWluV2lkdGgoKSkpOwogICAgIH0KIAogICAgIGlmIChzdHlsZSgpLm1heFdpZHRoKCkuaXNGaXhl
ZCgpKSB7Ci0gICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9t
YXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JC
b3hTaXppbmcoc3R5bGUoKS5tYXhXaWR0aCgpLnZhbHVlKCkpKTsKLSAgICAgICAgbV9taW5QcmVm
ZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwg
YWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1heFdpZHRo
KCkudmFsdWUoKSkpOworICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6
bWluKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdp
ZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWF4V2lkdGgoKSkpOworICAgICAgICBtX21pblByZWZl
cnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBh
ZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWF4V2lkdGgo
KSkpOwogICAgIH0KIAogICAgIExheW91dFVuaXQgdG9BZGQgPSBob3Jpem9udGFsQm9yZGVyQW5k
UGFkZGluZ0V4dGVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclJlcGxhY2VkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNl
ZC5jcHAKaW5kZXggNzRkMTRjN2M3ZTFiMTlmODljY2VhZjk4YmM1OTkxYjlmZTlhMzEwZC4uMmJj
OWMyYjM5YzA4YzNmMzMyYTEwZmU3OWIwNTJjOTY3MjM2ZWFmNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCkBAIC02NjMsMTMgKzY2MywxMyBAQCB2b2lk
IFJlbmRlclJlcGxhY2VkOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpCiAgICAgICAg
IG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gMDsKIAogICAgIGlmIChzdHlsZVRvVXNlLmxv
Z2ljYWxNaW5XaWR0aCgpLmlzRml4ZWQoKSAmJiBzdHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgp
LnZhbHVlKCkgPiAwKSB7Ci0gICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3Rk
OjptYXgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2Fs
V2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgoKS52YWx1ZSgpKSk7
Ci0gICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9taW5QcmVm
ZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXpp
bmcoc3R5bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgoKS52YWx1ZSgpKSk7CisgICAgICAgIG1fbWF4
UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lk
dGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5s
b2dpY2FsTWluV2lkdGgoKSkpOworICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9
IHN0ZDo6bWF4KG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9n
aWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlVG9Vc2UubG9naWNhbE1pbldpZHRoKCkpKTsKICAg
ICB9CiAgICAgCiAgICAgaWYgKHN0eWxlVG9Vc2UubG9naWNhbE1heFdpZHRoKCkuaXNGaXhlZCgp
KSB7Ci0gICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9tYXhQ
cmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hT
aXppbmcoc3R5bGVUb1VzZS5sb2dpY2FsTWF4V2lkdGgoKS52YWx1ZSgpKSk7Ci0gICAgICAgIG1f
bWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9taW5QcmVmZXJyZWRMb2dpY2Fs
V2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1Vz
ZS5sb2dpY2FsTWF4V2lkdGgoKS52YWx1ZSgpKSk7CisgICAgICAgIG1fbWF4UHJlZmVycmVkTG9n
aWNhbFdpZHRoID0gc3RkOjptaW4obV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENv
bnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5sb2dpY2FsTWF4V2lk
dGgoKSkpOworICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1f
bWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9y
Qm94U2l6aW5nKHN0eWxlVG9Vc2UubG9naWNhbE1heFdpZHRoKCkpKTsKICAgICB9CiAKICAgICBM
YXlvdXRVbml0IGJvcmRlckFuZFBhZGRpbmcgPSBib3JkZXJBbmRQYWRkaW5nTG9naWNhbFdpZHRo
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2xpZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwCmluZGV4IGIxZTEz
MTRhNmRkY2E2OTljMmIwYTdkZWVjZjY1YjBlMGEzMGExZDcuLjI1MzQ4OTc5MDZiYjQ4NTkwM2Q0
MTIxMGRmNTdhYzAzODE1MDUwMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTbGlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJT
bGlkZXIuY3BwCkBAIC04MCwxOCArODAsMTggQEAgdm9pZCBSZW5kZXJTbGlkZXI6OmNvbXB1dGVQ
cmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkKICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9
IDA7CiAKICAgICBpZiAoc3R5bGUoKS53aWR0aCgpLmlzRml4ZWQoKSAmJiBzdHlsZSgpLndpZHRo
KCkudmFsdWUoKSA+IDApCi0gICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbV9t
YXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9y
Qm94U2l6aW5nKHN0eWxlKCkud2lkdGgoKS52YWx1ZSgpKTsKKyAgICAgICAgbV9taW5QcmVmZXJy
ZWRMb2dpY2FsV2lkdGggPSBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IGFkanVzdENvbnRl
bnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS53aWR0aCgpKTsKICAgICBlbHNl
CiAgICAgICAgIGNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoLCBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CiAKICAgICBpZiAoc3R5bGUo
KS5taW5XaWR0aCgpLmlzRml4ZWQoKSAmJiBzdHlsZSgpLm1pbldpZHRoKCkudmFsdWUoKSA+IDAp
IHsKLSAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21heFBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNp
emluZyhzdHlsZSgpLm1pbldpZHRoKCkudmFsdWUoKSkpOwotICAgICAgICBtX21pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1
c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWluV2lkdGgoKS52
YWx1ZSgpKSk7CisgICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgo
bV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhG
b3JCb3hTaXppbmcoc3R5bGUoKS5taW5XaWR0aCgpKSk7CisgICAgICAgIG1fbWluUHJlZmVycmVk
TG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVz
dENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5taW5XaWR0aCgpKSk7
CiAgICAgfQogCiAgICAgaWYgKHN0eWxlKCkubWF4V2lkdGgoKS5pc0ZpeGVkKCkpIHsKLSAgICAg
ICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21heFByZWZlcnJlZExv
Z2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHls
ZSgpLm1heFdpZHRoKCkudmFsdWUoKSkpOwotICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxX
aWR0aCA9IHN0ZDo6bWluKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50
Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWF4V2lkdGgoKS52YWx1ZSgpKSk7
CisgICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9tYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXpp
bmcoc3R5bGUoKS5tYXhXaWR0aCgpKSk7CisgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoID0gc3RkOjptaW4obV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRC
b3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5tYXhXaWR0aCgpKSk7CiAgICAgfQog
CiAgICAgTGF5b3V0VW5pdCB0b0FkZCA9IGhvcml6b250YWxCb3JkZXJBbmRQYWRkaW5nRXh0ZW50
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcAppbmRleCBmM2FlYWQ2
N2JhNWMwN2Q4OWI0YmJkMmJjZWM4ZGZlZjU5ZDQ3NTM1Li5hMDE4ZjNmYTc2YTAxZWYxYjQyN2My
YTM4ZDUxYjE3ZTJkYzdkZGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZS5jcHAKQEAgLTgyNCwxMyArODI0LDEzIEBAIHZvaWQgUmVuZGVyVGFibGU6OmNvbXB1dGVQcmVm
ZXJyZWRMb2dpY2FsV2lkdGhzKCkKICAgICBhdXRvJiBzdHlsZVRvVXNlID0gc3R5bGUoKTsKICAg
ICAvLyBGSVhNRTogVGhpcyBzaG91bGQgcHJvYmFibHkgYmUgY2hlY2tpbmcgZm9yIGlzU3BlY2lm
aWVkIHNpbmNlIHlvdSBzaG91bGQgYmUgYWJsZSB0byB1c2UgcGVyY2VudGFnZSBvciBjYWxjIHZh
bHVlcyBmb3IgbWluLXdpZHRoLgogICAgIGlmIChzdHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgp
LmlzRml4ZWQoKSAmJiBzdHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpLnZhbHVlKCkgPiAwKSB7
Ci0gICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9tYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXpp
bmcoc3R5bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgoKS52YWx1ZSgpKSk7Ci0gICAgICAgIG1fbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lk
dGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5s
b2dpY2FsTWluV2lkdGgoKS52YWx1ZSgpKSk7CisgICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNh
bFdpZHRoID0gc3RkOjptYXgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRl
bnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgo
KSkpOworICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1fbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94
U2l6aW5nKHN0eWxlVG9Vc2UubG9naWNhbE1pbldpZHRoKCkpKTsKICAgICB9CiAKICAgICAvLyBG
SVhNRTogVGhpcyBzaG91bGQgcHJvYmFibHkgYmUgY2hlY2tpbmcgZm9yIGlzU3BlY2lmaWVkIHNp
bmNlIHlvdSBzaG91bGQgYmUgYWJsZSB0byB1c2UgcGVyY2VudGFnZSBvciBjYWxjIHZhbHVlcyBm
b3IgbWF4V2lkdGguCiAgICAgaWYgKHN0eWxlVG9Vc2UubG9naWNhbE1heFdpZHRoKCkuaXNGaXhl
ZCgpKSB7Ci0gICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9t
YXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JC
b3hTaXppbmcoc3R5bGVUb1VzZS5sb2dpY2FsTWF4V2lkdGgoKS52YWx1ZSgpKSk7CisgICAgICAg
IG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9tYXhQcmVmZXJyZWRMb2dp
Y2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVU
b1VzZS5sb2dpY2FsTWF4V2lkdGgoKSkpOwogICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxX
aWR0aCA9IHN0ZDo6bWF4KG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBtX21pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRleHRDb250cm9sLmNwcAppbmRleCBmNTc1ZTEzYTBiNmIzYWUyZDk0YzM1ZWY5MGY1ZDVl
MDcxODY3OGY0Li40MGVhMWNjYjY2NzYyOWQ2MzU3YTQwY2QxNDdiMzBmMzA0NzBkOTVlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKQEAgLTE3
MiwxOCArMTcyLDE4IEBAIHZvaWQgUmVuZGVyVGV4dENvbnRyb2w6OmNvbXB1dGVQcmVmZXJyZWRM
b2dpY2FsV2lkdGhzKCkKICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IDA7CiAKICAg
ICBpZiAoc3R5bGUoKS5sb2dpY2FsV2lkdGgoKS5pc0ZpeGVkKCkgJiYgc3R5bGUoKS5sb2dpY2Fs
V2lkdGgoKS52YWx1ZSgpID49IDApCi0gICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRo
ID0gbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdp
ZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubG9naWNhbFdpZHRoKCkudmFsdWUoKSk7CisgICAgICAg
IG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgg
PSBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubG9naWNh
bFdpZHRoKCkpOwogICAgIGVsc2UKICAgICAgICAgY29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0
aHMobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
KTsKIAogICAgIGlmIChzdHlsZSgpLmxvZ2ljYWxNaW5XaWR0aCgpLmlzRml4ZWQoKSAmJiBzdHls
ZSgpLmxvZ2ljYWxNaW5XaWR0aCgpLnZhbHVlKCkgPiAwKSB7Ci0gICAgICAgIG1fbWF4UHJlZmVy
cmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFk
anVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5sb2dpY2FsTWlu
V2lkdGgoKS52YWx1ZSgpKSk7Ci0gICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0g
c3RkOjptYXgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dp
Y2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5sb2dpY2FsTWluV2lkdGgoKS52YWx1ZSgpKSk7
CisgICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9tYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXpp
bmcoc3R5bGUoKS5sb2dpY2FsTWluV2lkdGgoKSkpOworICAgICAgICBtX21pblByZWZlcnJlZExv
Z2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RD
b250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubG9naWNhbE1pbldpZHRo
KCkpKTsKICAgICB9CiAKICAgICBpZiAoc3R5bGUoKS5sb2dpY2FsTWF4V2lkdGgoKS5pc0ZpeGVk
KCkpIHsKLSAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21h
eFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJv
eFNpemluZyhzdHlsZSgpLmxvZ2ljYWxNYXhXaWR0aCgpLnZhbHVlKCkpKTsKLSAgICAgICAgbV9t
aW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21pblByZWZlcnJlZExvZ2ljYWxX
aWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLmxv
Z2ljYWxNYXhXaWR0aCgpLnZhbHVlKCkpKTsKKyAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGggPSBzdGQ6Om1pbihtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVu
dEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLmxvZ2ljYWxNYXhXaWR0aCgpKSk7
CisgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9taW5QcmVm
ZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXpp
bmcoc3R5bGUoKS5sb2dpY2FsTWF4V2lkdGgoKSkpOwogICAgIH0KIAogICAgIExheW91dFVuaXQg
dG9BZGQgPSBib3JkZXJBbmRQYWRkaW5nTG9naWNhbFdpZHRoKCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTA0YWRjNjVk
NWFhYjBmNTU2YWY2N2I3OGEwYzFiNDY4YmU3NjZiNi4uMmY3NThkZjA1ZDI2MzAxNTBlYjA1YmQw
MGE1MDRkYTc1NjFhMTNlNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTEyLTE5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgd2lkdGg6IG1heC1jb250ZW50
IHdpdGggYm94LXNpemluZzogYm9yZGVyLWJveCBzaG91bGQgbGVhdmUgc3BhY2UgZm9yIHBhZGRp
bmcgKFR3aXR0ZXIgZGF0ZSBob3ZlciBvdmVyZmxvdykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTY4NworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NzIxMzc2ODU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMTItMTggIFJpbmkgUGF0ZWwgIDxyaW5p
X3BhdGVsQGFwcGxlLmNvbT4KIAogICAgICAgICBbR1BVIHByb2Nlc3NdIEFkZGluZyBtb3JlIHRl
c3RzIHRvIFRlc3RFeHBlY3RhdGlvbnMgZm9yIExheW91dCB0ZXN0cyBjcmFzaGVzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggOGQzYjgzNjMy
ODUyNzVkYzg3NDE1YzA5YWMwMWUyNTFmNmZjMmQ1Yi4uNjZjNTU1ZWYwYWY1OTY3NjBmN2E0MDE1
ZDU0ZjBhYWRjOGVjZTRlZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
Mi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVz
dEV4cGVjdGF0aW9ucwpAQCAtMTMxNiw3ICsxMzE2LDYgQEAgZmFzdC9sYXlvdXRmb3JtYXR0aW5n
Y29udGV4dC9ibG9jay1vbmx5L21pbi1tYXgtYW5kLXByZWZlcnJlZC13aWR0aC1zaW1wbGUuaHRt
bAogd2Via2l0Lm9yZy9iLzIxNzA1NCBmYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L2hvcml6
b250YWwtc2l6aW5nLXdpdGgtdHJhaWxpbmctbGV0dGVyLXNwYWNpbmcuaHRtbCBbIFNraXAgXQog
d2Via2l0Lm9yZy9iLzIxOTMyMiBmYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L3RhYmxlLXNp
bXBsZS1ib3JkZXItY29sbGFwc2UuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9y
Zy9iLzIxOTMyMiBmYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L3RhYmxlLXNpbXBsZS1ib3Jk
ZXItY29sbGFwc2UyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTk2
ODcgZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC9tYXgtY29udGVudC1hbmQtYm94LXNpemlu
Zy1zaW1wbGUuaHRtbCBbIFNraXAgXQogCiB3ZWJraXQub3JnL2IvMjIwMDE4IHdlYmFuaW1hdGlv
bnMvYWNjZWxlcmF0ZWQtdHJhbnNmb3JtLXJlbGF0ZWQtYW5pbWF0aW9uLXByb3BlcnR5LW9yZGVy
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVz
dEV4cGVjdGF0aW9ucwppbmRleCA5MzY0NGE4ZDBhZTdkZTVhNTMzZTVjNTBlMzY4MjAyOGY1MTNl
MzZhLi41M2UzMjhmNWMwODgwOWRhOWQ0NWUwZDg3M2FlNDA1ZDliZTMxMDc2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjI1Nyw2ICsyMjU3LDQgQEAg
d2Via2l0Lm9yZy9iLzIxOTIyNSBodHRwL3Rlc3RzL2luc3BlY3Rvci9kb20vZGlzY29ubmVjdC1k
b20tdHJlZS1hZnRlci1tYWluLWZyYW0KIAogd2Via2l0Lm9yZy9iLzIxOTkwNyBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZlci10aW1pbmcvc2VydmljZV93b3JrZXJfaWRsLmh0
bWwgWyBQYXNzIEZhaWx1cmUgXQogCi13ZWJraXQub3JnL2IvMjE5Njg3IGZhc3QvbGF5b3V0Zm9y
bWF0dGluZ2NvbnRleHQvbWF4LWNvbnRlbnQtYW5kLWJveC1zaXppbmctc2ltcGxlLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLQogd2Via2l0Lm9yZy9iLzIxOTk2NSBbIEJpZ1N1ciBdIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvY29udGVudC10eXBlL3NjcmlwdC53aW5k
b3cuaHRtbCBbIFBhc3MgRmFpbHVyZSBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>
<flag name="commit-queue"
          id="434140"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416573</attachid>
            <date>2020-12-19 12:12:14 -0800</date>
            <delta_ts>2020-12-19 14:10:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219687-20201219121213.patch</filename>
            <type>text/plain</type>
            <size>42826</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzU5YzZjZmIyZWJlYmVk
MjllN2I2Y2FjODg2MjRiNjZjZjc1YzdhZS4uNWNkYjgyMzg2YjM1NTg2YTA4Y2Q4Mjk1YTk1MzIy
Y2FjY2FmNDM5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIwLTEyLTE5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgd2lkdGg6IG1heC1jb250ZW50
IHdpdGggYm94LXNpemluZzogYm9yZGVyLWJveCBzaG91bGQgbGVhdmUgc3BhY2UgZm9yIHBhZGRp
bmcgKFR3aXR0ZXIgZGF0ZSBob3ZlciBvdmVyZmxvdykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTY4NworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NzIxMzc2ODU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAg
ICAgTm9uLXF1YW50aXRhdGl2ZSB2YWx1ZXMgc3VjaCBhcyBhdXRvIGFuZCBtaW4tY29udGVudCBh
cmUgbm90IGluZmx1ZW5jZWQgYnkgdGhlIGJveC1zaXppbmcgcHJvcGVydHkuCisgICAgICAgIFNl
ZSBodHRwOjovL3d3dy53My5vcmcvVFIvY3NzLXNpemluZy0zLyNib3gtc2l6aW5nCisgICAgICAg
IChhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yKiBub3cgbmVlZHMgdGhlIHByb3BlcnR5
IHR5cGUgdG9vKQorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJveDo6YWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxX
aWR0aFVzaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZVBv
c2l0aW9uZWRMb2dpY2FsV2lkdGhVc2luZyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckJveC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjphZGp1c3RDb250ZW50Qm94
TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckRl
cHJlY2F0ZWRGbGV4aWJsZUJveDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxX
aWR0aHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGcmFnbWVudENvbnRhaW5lcjo6Y29tcHV0ZVByZWZl
cnJlZExvZ2ljYWxXaWR0aHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJHcmlkLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmNvbXB1dGVBdXRvUmVwZWF0VHJhY2tzQ291
bnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhz
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwOgorICAgICAgICAoUmVu
ZGVyTWVudUxpc3Q6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVw
bGFjZWQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyU2xpZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNsaWRlcjo6Y29t
cHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJU
YWJsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZTo6Y29tcHV0ZVByZWZlcnJl
ZExvZ2ljYWxXaWR0aHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbDo6Y29tcHV0ZVByZWZlcnJl
ZExvZ2ljYWxXaWR0aHMpOgorCiAyMDIwLTEyLTE5ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBBZGQgZmFzdCBwYXRoIHZlcnRpY2FsIGFsaWdu
bWVudCBmb3Igbm9uLXN0cmV0Y2h5LCBiYXNlbGluZSBhbGlnbmVkIGF0b21pYyBpbmxpbmUgbGV2
ZWwgYm94ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9BdXRvVGFibGVM
YXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0F1dG9UYWJsZUxheW91dC5jcHAK
aW5kZXggZjY0MmI1MTQ3MzUwOGNmZDIwMTFiN2I1ZWQyNTQxZjE0YWU5NDY3Yi4uODE0M2FkMjlj
ZDIwY2QxNThlYjM5OTY0ZTlmMmU4OTNmZjc2MzBmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0F1dG9UYWJsZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0F1dG9UYWJsZUxheW91dC5jcHAKQEAgLTk1LDcgKzk1LDcgQEAgdm9pZCBBdXRvVGFi
bGVMYXlvdXQ6OnJlY2FsY0NvbHVtbih1bnNpZ25lZCBlZmZDb2wpCiAgICAgICAgICAgICAgICAg
ICAgIGNhc2UgRml4ZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZ25vcmUgd2lkdGg9
MAogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNlbGxMb2dpY2FsV2lkdGguaXNQb3NpdGl2
ZSgpICYmICFjb2x1bW5MYXlvdXQubG9naWNhbFdpZHRoLmlzUGVyY2VudE9yQ2FsY3VsYXRlZCgp
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgbG9naWNhbFdpZHRoID0gY2Vs
bC0+YWRqdXN0Qm9yZGVyQm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKGNlbGxMb2dpY2FsV2lk
dGgudmFsdWUoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgbG9naWNhbFdp
ZHRoID0gY2VsbC0+YWRqdXN0Qm9yZGVyQm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKGNlbGxM
b2dpY2FsV2lkdGgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb2x1bW5MYXlv
dXQubG9naWNhbFdpZHRoLmlzRml4ZWQoKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyBOYXYvSUUgd2VpcmRuZXNzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlmICgobG9naWNhbFdpZHRoID4gY29sdW1uTGF5b3V0LmxvZ2ljYWxXaWR0aC52YWx1ZSgpKSAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GaXhlZFRhYmxlTGF5b3V0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GaXhlZFRhYmxlTGF5b3V0LmNwcAppbmRleCBi
MDVkZmVlMDcyNDI5ZGVmNjRkOThhOGQ3ZGM1NGFhMzU1M2MwZjk5Li4yM2IzOGE5OGUxYTQzNjVj
MTZmZDk0NmE5NGZmMjMzZWNkZDg3YWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvRml4ZWRUYWJsZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0ZpeGVkVGFibGVMYXlvdXQuY3BwCkBAIC0xNDIsNyArMTQyLDcgQEAgZmxvYXQgRml4ZWRUYWJs
ZUxheW91dDo6Y2FsY1dpZHRoQXJyYXkoKQogICAgICAgICAvLyBGSVhNRTogU3VwcG9ydCBvdGhl
ciBsZW5ndGggdHlwZXMuIElmIHRoZSB3aWR0aCBpcyBub24tYXV0bywgaXQgc2hvdWxkIHByb2Jh
Ymx5IGp1c3QgdXNlCiAgICAgICAgIC8vIFJlbmRlckJveDo6Y29tcHV0ZUxvZ2ljYWxXaWR0aElu
RnJhZ21lbnRVc2luZyB0byBjb21wdXRlIHRoZSB3aWR0aC4KICAgICAgICAgaWYgKGxvZ2ljYWxX
aWR0aC5pc0ZpeGVkKCkgJiYgbG9naWNhbFdpZHRoLmlzUG9zaXRpdmUoKSkgewotICAgICAgICAg
ICAgZml4ZWRCb3JkZXJCb3hMb2dpY2FsV2lkdGggPSBjZWxsLT5hZGp1c3RCb3JkZXJCb3hMb2dp
Y2FsV2lkdGhGb3JCb3hTaXppbmcobG9naWNhbFdpZHRoLnZhbHVlKCkpOworICAgICAgICAgICAg
Zml4ZWRCb3JkZXJCb3hMb2dpY2FsV2lkdGggPSBjZWxsLT5hZGp1c3RCb3JkZXJCb3hMb2dpY2Fs
V2lkdGhGb3JCb3hTaXppbmcobG9naWNhbFdpZHRoKTsKICAgICAgICAgICAgIGxvZ2ljYWxXaWR0
aC5zZXRWYWx1ZShGaXhlZCwgZml4ZWRCb3JkZXJCb3hMb2dpY2FsV2lkdGgpOwogICAgICAgICB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDM1OGQ2NmY5
ODcyMzk2MjkzMjFmOWMzM2E2NGZkMTEzODdkNTI3MzcuLjhhN2Y4OTY2YjdjNWI3NTViMmQ0YTZk
MDdkNDQ3YzI5MjI2MTMxM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcApAQCAtMjI4MCwxOCArMjI4MCwxOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlUHJl
ZmVycmVkTG9naWNhbFdpZHRocygpCiAgICAgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlVG9Vc2Ug
PSBzdHlsZSgpOwogICAgIGlmICghaXNUYWJsZUNlbGwoKSAmJiBzdHlsZVRvVXNlLmxvZ2ljYWxX
aWR0aCgpLmlzRml4ZWQoKSAmJiBzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLnZhbHVlKCkgPj0g
MAogICAgICAgICAmJiAhKGlzRGVwcmVjYXRlZEZsZXhJdGVtKCkgJiYgIXN0eWxlVG9Vc2UubG9n
aWNhbFdpZHRoKCkuaW50VmFsdWUoKSkpCi0gICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoID0gbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBhZGp1c3RDb250ZW50Qm94TG9naWNh
bFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkudmFsdWUoKSk7Cisg
ICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbV9tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGggPSBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlVG9V
c2UubG9naWNhbFdpZHRoKCkpOwogICAgIGVsc2UKICAgICAgICAgY29tcHV0ZUludHJpbnNpY0xv
Z2ljYWxXaWR0aHMobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIG1fbWF4UHJlZmVycmVkTG9n
aWNhbFdpZHRoKTsKIAogICAgIGlmIChzdHlsZVRvVXNlLmxvZ2ljYWxNYXhXaWR0aCgpLmlzRml4
ZWQoKSkgewotICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1f
bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9y
Qm94U2l6aW5nKHN0eWxlVG9Vc2UubG9naWNhbE1heFdpZHRoKCkudmFsdWUoKSkpOwotICAgICAg
ICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxl
VG9Vc2UubG9naWNhbE1heFdpZHRoKCkudmFsdWUoKSkpOworICAgICAgICBtX21heFByZWZlcnJl
ZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1
c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlVG9Vc2UubG9naWNhbE1h
eFdpZHRoKCkpKTsKKyAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1p
bihtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0
aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2ljYWxNYXhXaWR0aCgpKSk7CiAgICAgfQogICAg
IAogICAgIGlmIChzdHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpLmlzRml4ZWQoKSAmJiBzdHls
ZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpLnZhbHVlKCkgPiAwKSB7Ci0gICAgICAgIG1fbWF4UHJl
ZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgs
IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5sb2dp
Y2FsTWluV2lkdGgoKS52YWx1ZSgpKSk7Ci0gICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoID0gc3RkOjptYXgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRC
b3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgoKS52
YWx1ZSgpKSk7CisgICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgo
bV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhG
b3JCb3hTaXppbmcoc3R5bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgoKSkpOworICAgICAgICBtX21p
blByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1fbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlVG9Vc2Uu
bG9naWNhbE1pbldpZHRoKCkpKTsKICAgICB9CiAgICAgCiAgICAgTGF5b3V0VW5pdCBib3JkZXJB
bmRQYWRkaW5nID0gYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxXaWR0aCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCA4NWMzYjcxM2E4Yjg2MWVj
MGM0ZTUxMTRmOGI0YTdhZTQ4OTU2YzNlLi5lZDE0MDU0NzZmNDlmZmZiMDhiNTEzYWU0ZjgwMTZl
ODA1ZTQ5OTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93
LmNwcApAQCAtMzU2LDcgKzM1Niw3IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93Ojpjb21wdXRlSW50
cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsCiAgICAgaWYg
KGlzPFJlbmRlclRhYmxlQ2VsbD4oKnRoaXMpKSB7CiAgICAgICAgIExlbmd0aCB0YWJsZUNlbGxX
aWR0aCA9IGRvd25jYXN0PFJlbmRlclRhYmxlQ2VsbD4oKnRoaXMpLnN0eWxlT3JDb2xMb2dpY2Fs
V2lkdGgoKTsKICAgICAgICAgaWYgKHRhYmxlQ2VsbFdpZHRoLmlzRml4ZWQoKSAmJiB0YWJsZUNl
bGxXaWR0aC52YWx1ZSgpID4gMCkKLSAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6
bWF4KG1pbkxvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNp
emluZyh0YWJsZUNlbGxXaWR0aC52YWx1ZSgpKSk7CisgICAgICAgICAgICBtYXhMb2dpY2FsV2lk
dGggPSBzdGQ6Om1heChtaW5Mb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lk
dGhGb3JCb3hTaXppbmcodGFibGVDZWxsV2lkdGgpKTsKICAgICB9CiAKICAgICBpbnQgc2Nyb2xs
YmFyV2lkdGggPSBpbnRyaW5zaWNTY3JvbGxiYXJMb2dpY2FsV2lkdGgoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggOGQ4NTNhYTJjOGFhNGI3MGIwYjJhYmI0MTky
Y2NiYjI5OTdjYWMyMy4uYzQ5NzVkOTRkMjcxMmNlOWZkNmUyNGJlZTFkMDc5ZThmYjRmM2VjMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTEyMzEsMTQgKzEyMzEs
MjIgQEAgdm9pZCBSZW5kZXJCb3g6OmNsZWFyT3ZlcnJpZGluZ0NvbnRhaW5pbmdCbG9ja0NvbnRl
bnRMb2dpY2FsSGVpZ2h0KCkKICAgICAgICAgZ092ZXJyaWRpbmdDb250YWluaW5nQmxvY2tDb250
ZW50TG9naWNhbEhlaWdodE1hcC0+cmVtb3ZlKHRoaXMpOwogfQogCi1MYXlvdXRVbml0IFJlbmRl
ckJveDo6YWRqdXN0Qm9yZGVyQm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKExheW91dFVuaXQg
d2lkdGgpIGNvbnN0CitMYXlvdXRVbml0IFJlbmRlckJveDo6YWRqdXN0Qm9yZGVyQm94TG9naWNh
bFdpZHRoRm9yQm94U2l6aW5nKGNvbnN0IExlbmd0aCYgbG9naWNhbFdpZHRoKSBjb25zdAogewor
ICAgIGF1dG8gd2lkdGggPSBMYXlvdXRVbml0IHsgbG9naWNhbFdpZHRoLnZhbHVlKCkgfTsKICAg
ICBMYXlvdXRVbml0IGJvcmRlcnNQbHVzUGFkZGluZyA9IGJvcmRlckFuZFBhZGRpbmdMb2dpY2Fs
V2lkdGgoKTsKLSAgICBpZiAoc3R5bGUoKS5ib3hTaXppbmcoKSA9PSBCb3hTaXppbmc6OkNvbnRl
bnRCb3gpCisgICAgaWYgKHN0eWxlKCkuYm94U2l6aW5nKCkgPT0gQm94U2l6aW5nOjpDb250ZW50
Qm94IHx8IGxvZ2ljYWxXaWR0aC5pc0ludHJpbnNpY09yQXV0bygpKQogICAgICAgICByZXR1cm4g
d2lkdGggKyBib3JkZXJzUGx1c1BhZGRpbmc7CiAgICAgcmV0dXJuIHN0ZDo6bWF4KHdpZHRoLCBi
b3JkZXJzUGx1c1BhZGRpbmcpOwogfQogCitMYXlvdXRVbml0IFJlbmRlckJveDo6YWRqdXN0Qm9y
ZGVyQm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKExheW91dFVuaXQgY29tcHV0ZWRMb2dpY2Fs
V2lkdGgsIExlbmd0aFR5cGUgb3JpZ2luYWxUeXBlKSBjb25zdAoreworICAgIGlmIChvcmlnaW5h
bFR5cGUgPT0gQ2FsY3VsYXRlZCkKKyAgICAgICAgcmV0dXJuIGFkanVzdEJvcmRlckJveExvZ2lj
YWxXaWR0aEZvckJveFNpemluZyh7IGNvbXB1dGVkTG9naWNhbFdpZHRoLCBGaXhlZCwgZmFsc2Ug
fSk7CisgICAgcmV0dXJuIGFkanVzdEJvcmRlckJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyh7
IGNvbXB1dGVkTG9naWNhbFdpZHRoLCBvcmlnaW5hbFR5cGUsIGZhbHNlIH0pOworfQorCiBMYXlv
dXRVbml0IFJlbmRlckJveDo6YWRqdXN0Qm9yZGVyQm94TG9naWNhbEhlaWdodEZvckJveFNpemlu
ZyhMYXlvdXRVbml0IGhlaWdodCkgY29uc3QKIHsKICAgICBMYXlvdXRVbml0IGJvcmRlcnNQbHVz
UGFkZGluZyA9IGJvcmRlckFuZFBhZGRpbmdMb2dpY2FsSGVpZ2h0KCk7CkBAIC0xMjQ3LDExICsx
MjU1LDE5IEBAIExheW91dFVuaXQgUmVuZGVyQm94OjphZGp1c3RCb3JkZXJCb3hMb2dpY2FsSGVp
Z2h0Rm9yQm94U2l6aW5nKExheW91dFVuaXQgaGVpZ2h0CiAgICAgcmV0dXJuIHN0ZDo6bWF4KGhl
aWdodCwgYm9yZGVyc1BsdXNQYWRkaW5nKTsKIH0KIAotTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmFk
anVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoTGF5b3V0VW5pdCB3aWR0aCkg
Y29uc3QKK0xheW91dFVuaXQgUmVuZGVyQm94OjphZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRo
Rm9yQm94U2l6aW5nKGNvbnN0IExlbmd0aCYgbG9naWNhbFdpZHRoKSBjb25zdAogewotICAgIGlm
IChzdHlsZSgpLmJveFNpemluZygpID09IEJveFNpemluZzo6Qm9yZGVyQm94KQotICAgICAgICB3
aWR0aCAtPSBib3JkZXJBbmRQYWRkaW5nTG9naWNhbFdpZHRoKCk7Ci0gICAgcmV0dXJuIHN0ZDo6
bWF4PExheW91dFVuaXQ+KDAsIHdpZHRoKTsKKyAgICBhdXRvIHdpZHRoID0gTGF5b3V0VW5pdCB7
IGxvZ2ljYWxXaWR0aC52YWx1ZSgpIH07CisgICAgaWYgKHN0eWxlKCkuYm94U2l6aW5nKCkgPT0g
Qm94U2l6aW5nOjpDb250ZW50Qm94IHx8IGxvZ2ljYWxXaWR0aC5pc0ludHJpbnNpY09yQXV0bygp
KQorICAgICAgICByZXR1cm4gc3RkOjptYXgoMF9sdSwgd2lkdGgpOworICAgIHJldHVybiBzdGQ6
Om1heCgwX2x1LCB3aWR0aCAtIGJvcmRlckFuZFBhZGRpbmdMb2dpY2FsV2lkdGgoKSk7Cit9CisK
K0xheW91dFVuaXQgUmVuZGVyQm94OjphZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94
U2l6aW5nKExheW91dFVuaXQgY29tcHV0ZWRMb2dpY2FsV2lkdGgsIExlbmd0aFR5cGUgb3JpZ2lu
YWxUeXBlKSBjb25zdAoreworICAgIGlmIChvcmlnaW5hbFR5cGUgPT0gQ2FsY3VsYXRlZCkKKyAg
ICAgICAgcmV0dXJuIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoeyBj
b21wdXRlZExvZ2ljYWxXaWR0aCwgRml4ZWQsIGZhbHNlIH0pOworICAgIHJldHVybiBhZGp1c3RD
b250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHsgY29tcHV0ZWRMb2dpY2FsV2lkdGgs
IG9yaWdpbmFsVHlwZSwgZmFsc2UgfSk7CiB9CiAKIExheW91dFVuaXQgUmVuZGVyQm94OjphZGp1
c3RDb250ZW50Qm94TG9naWNhbEhlaWdodEZvckJveFNpemluZyhPcHRpb25hbDxMYXlvdXRVbml0
PiBoZWlnaHQpIGNvbnN0CkBAIC0yNTczLDExICsyNTg5LDExIEBAIExheW91dFVuaXQgUmVuZGVy
Qm94Ojpjb21wdXRlTG9naWNhbFdpZHRoSW5GcmFnbWVudFVzaW5nKFNpemVUeXBlIHdpZHRoVHlw
ZSwgTGVuCiB7CiAgICAgQVNTRVJUKHdpZHRoVHlwZSA9PSBNaW5TaXplIHx8IHdpZHRoVHlwZSA9
PSBNYWluT3JQcmVmZXJyZWRTaXplIHx8ICFsb2dpY2FsV2lkdGguaXNBdXRvKCkpOwogICAgIGlm
ICh3aWR0aFR5cGUgPT0gTWluU2l6ZSAmJiBsb2dpY2FsV2lkdGguaXNBdXRvKCkpCi0gICAgICAg
IHJldHVybiBhZGp1c3RCb3JkZXJCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoMCk7CisgICAg
ICAgIHJldHVybiBhZGp1c3RCb3JkZXJCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoMCwgbG9n
aWNhbFdpZHRoLnR5cGUoKSk7CiAKICAgICBpZiAoIWxvZ2ljYWxXaWR0aC5pc0ludHJpbnNpY09y
QXV0bygpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBJZiB0aGUgY29udGFpbmluZyBibG9jayBmbG93
IGlzIHBlcnBlbmRpY3VsYXIgdG8gb3VyIGRpcmVjdGlvbiB3ZSBuZWVkIHRvIHVzZSB0aGUgYXZh
aWxhYmxlIGxvZ2ljYWwgaGVpZ2h0IGluc3RlYWQuCi0gICAgICAgIHJldHVybiBhZGp1c3RCb3Jk
ZXJCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcodmFsdWVGb3JMZW5ndGgobG9naWNhbFdpZHRo
LCBhdmFpbGFibGVMb2dpY2FsV2lkdGgpKTsKKyAgICAgICAgcmV0dXJuIGFkanVzdEJvcmRlckJv
eExvZ2ljYWxXaWR0aEZvckJveFNpemluZyh2YWx1ZUZvckxlbmd0aChsb2dpY2FsV2lkdGgsIGF2
YWlsYWJsZUxvZ2ljYWxXaWR0aCksIGxvZ2ljYWxXaWR0aC50eXBlKCkpOwogICAgIH0KIAogICAg
IGlmIChsb2dpY2FsV2lkdGguaXNJbnRyaW5zaWMoKSkKQEAgLTMxMTMsMTEgKzMxMjksMTEgQEAg
TGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFVzaW5nKFNp
emVUeXBlIHdpZHRoVHlwZSwgTGVuZ3QKIHsKICAgICBBU1NFUlQod2lkdGhUeXBlID09IE1pblNp
emUgfHwgd2lkdGhUeXBlID09IE1haW5PclByZWZlcnJlZFNpemUgfHwgIWxvZ2ljYWxXaWR0aC5p
c0F1dG8oKSk7CiAgICAgaWYgKHdpZHRoVHlwZSA9PSBNaW5TaXplICYmIGxvZ2ljYWxXaWR0aC5p
c0F1dG8oKSkKLSAgICAgICAgcmV0dXJuIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JC
b3hTaXppbmcoMCk7CisgICAgICAgIHJldHVybiBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRo
Rm9yQm94U2l6aW5nKDAsIGxvZ2ljYWxXaWR0aC50eXBlKCkpOwogCiAgICAgc3dpdGNoIChsb2dp
Y2FsV2lkdGgudHlwZSgpKSB7CiAgICAgICAgIGNhc2UgRml4ZWQ6Ci0gICAgICAgICAgICByZXR1
cm4gYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhsb2dpY2FsV2lkdGgu
dmFsdWUoKSk7CisgICAgICAgICAgICByZXR1cm4gYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0
aEZvckJveFNpemluZyhsb2dpY2FsV2lkdGgpOwogICAgICAgICBjYXNlIE1pbkNvbnRlbnQ6CiAg
ICAgICAgIGNhc2UgTWF4Q29udGVudDogewogICAgICAgICAgICAgLy8gTWluQ29udGVudC9NYXhD
b250ZW50IGRvbid0IG5lZWQgdGhlIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCBhcmd1bWVudC4KQEAg
LTMxMzgsNyArMzE1NCw3IEBAIExheW91dFVuaXQgUmVuZGVyQm94Ojpjb21wdXRlUmVwbGFjZWRM
b2dpY2FsV2lkdGhVc2luZyhTaXplVHlwZSB3aWR0aFR5cGUsIExlbmd0CiAgICAgICAgICAgICBp
ZiAobG9naWNhbFdpZHRoLmlzSW50cmluc2ljKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGNv
bXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhVc2luZyhsb2dpY2FsV2lkdGgsIGN3LCBib3JkZXJB
bmRQYWRkaW5nTG9naWNhbFdpZHRoKCkpIC0gYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxXaWR0aCgp
OwogICAgICAgICAgICAgaWYgKGN3ID4gMCB8fCAoIWN3ICYmIChjb250YWluZXJMb2dpY2FsV2lk
dGguaXNGaXhlZCgpIHx8IGNvbnRhaW5lckxvZ2ljYWxXaWR0aC5pc1BlcmNlbnRPckNhbGN1bGF0
ZWQoKSkpKQotICAgICAgICAgICAgICAgIHJldHVybiBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdp
ZHRoRm9yQm94U2l6aW5nKG1pbmltdW1WYWx1ZUZvckxlbmd0aChsb2dpY2FsV2lkdGgsIGN3KSk7
CisgICAgICAgICAgICAgICAgcmV0dXJuIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JC
b3hTaXppbmcobWluaW11bVZhbHVlRm9yTGVuZ3RoKGxvZ2ljYWxXaWR0aCwgY3cpLCBsb2dpY2Fs
V2lkdGgudHlwZSgpKTsKICAgICAgICAgICAgIHJldHVybiAwX2x1OwogICAgICAgICB9CiAgICAg
ICAgIGNhc2UgSW50cmluc2ljOgpAQCAtMzY5Niw2ICszNzEyLDcgQEAgdm9pZCBSZW5kZXJCb3g6
OmNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoVXNpbmcoU2l6ZVR5cGUgd2lkdGhUeXBlLCBM
ZW5ndGggbG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIExvZ2ljYWxFeHRlbnRDb21wdXRlZFZhbHVlcyYgY29tcHV0ZWRWYWx1ZXMpIGNvbnN0CiB7
CiAgICAgQVNTRVJUKHdpZHRoVHlwZSA9PSBNaW5TaXplIHx8IHdpZHRoVHlwZSA9PSBNYWluT3JQ
cmVmZXJyZWRTaXplIHx8ICFsb2dpY2FsV2lkdGguaXNBdXRvKCkpOworICAgIGF1dG8gb3JpZ2lu
YWxMb2dpY2FsV2lkdGhUeXBlID0gbG9naWNhbFdpZHRoLnR5cGUoKTsKICAgICBpZiAod2lkdGhU
eXBlID09IE1pblNpemUgJiYgbG9naWNhbFdpZHRoLmlzQXV0bygpKQogICAgICAgICBsb2dpY2Fs
V2lkdGggPSBMZW5ndGgoMCwgRml4ZWQpOwogICAgIGVsc2UgaWYgKGxvZ2ljYWxXaWR0aC5pc0lu
dHJpbnNpYygpKQpAQCAtMzczMiw3ICszNzQ5LDcgQEAgdm9pZCBSZW5kZXJCb3g6OmNvbXB1dGVQ
b3NpdGlvbmVkTG9naWNhbFdpZHRoVXNpbmcoU2l6ZVR5cGUgd2lkdGhUeXBlLCBMZW5ndGggbG8K
ICAgICAgICAgLy8gY2FzZSBiZWNhdXNlIHRoZSB2YWx1ZSBpcyBub3QgdXNlZCBmb3IgYW55IGZ1
cnRoZXIgY2FsY3VsYXRpb25zLgogCiAgICAgICAgIGxvZ2ljYWxMZWZ0VmFsdWUgPSB2YWx1ZUZv
ckxlbmd0aChsb2dpY2FsTGVmdCwgY29udGFpbmVyTG9naWNhbFdpZHRoKTsKLSAgICAgICAgY29t
cHV0ZWRWYWx1ZXMubV9leHRlbnQgPSBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94
U2l6aW5nKHZhbHVlRm9yTGVuZ3RoKGxvZ2ljYWxXaWR0aCwgY29udGFpbmVyTG9naWNhbFdpZHRo
KSk7CisgICAgICAgIGNvbXB1dGVkVmFsdWVzLm1fZXh0ZW50ID0gYWRqdXN0Q29udGVudEJveExv
Z2ljYWxXaWR0aEZvckJveFNpemluZyh2YWx1ZUZvckxlbmd0aChsb2dpY2FsV2lkdGgsIGNvbnRh
aW5lckxvZ2ljYWxXaWR0aCksIG9yaWdpbmFsTG9naWNhbFdpZHRoVHlwZSk7CiAKICAgICAgICAg
Y29uc3QgTGF5b3V0VW5pdCBhdmFpbGFibGVTcGFjZSA9IGNvbnRhaW5lckxvZ2ljYWxXaWR0aCAt
IChsb2dpY2FsTGVmdFZhbHVlICsgY29tcHV0ZWRWYWx1ZXMubV9leHRlbnQgKyB2YWx1ZUZvckxl
bmd0aChsb2dpY2FsUmlnaHQsIGNvbnRhaW5lckxvZ2ljYWxXaWR0aCkgKyBib3JkZXJzUGx1c1Bh
ZGRpbmcpOwogCkBAIC0zODQyLDcgKzM4NTksNyBAQCB2b2lkIFJlbmRlckJveDo6Y29tcHV0ZVBv
c2l0aW9uZWRMb2dpY2FsV2lkdGhVc2luZyhTaXplVHlwZSB3aWR0aFR5cGUsIExlbmd0aCBsbwog
ICAgICAgICAgICAgY29tcHV0ZWRWYWx1ZXMubV9leHRlbnQgPSBzdGQ6Om1pbihzdGQ6Om1heChw
cmVmZXJyZWRNaW5XaWR0aCwgYXZhaWxhYmxlV2lkdGgpLCBwcmVmZXJyZWRXaWR0aCk7CiAgICAg
ICAgIH0gZWxzZSBpZiAobG9naWNhbExlZnRJc0F1dG8gJiYgIWxvZ2ljYWxXaWR0aElzQXV0byAm
JiAhbG9naWNhbFJpZ2h0SXNBdXRvKSB7CiAgICAgICAgICAgICAvLyBSVUxFIDQ6IChzb2x2ZSBm
b3IgbGVmdCkKLSAgICAgICAgICAgIGNvbXB1dGVkVmFsdWVzLm1fZXh0ZW50ID0gYWRqdXN0Q29u
dGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyh2YWx1ZUZvckxlbmd0aChsb2dpY2FsV2lk
dGgsIGNvbnRhaW5lckxvZ2ljYWxXaWR0aCkpOworICAgICAgICAgICAgY29tcHV0ZWRWYWx1ZXMu
bV9leHRlbnQgPSBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHZhbHVl
Rm9yTGVuZ3RoKGxvZ2ljYWxXaWR0aCwgY29udGFpbmVyTG9naWNhbFdpZHRoKSwgb3JpZ2luYWxM
b2dpY2FsV2lkdGhUeXBlKTsKICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0VmFsdWUgPSBhdmFpbGFi
bGVTcGFjZSAtIChjb21wdXRlZFZhbHVlcy5tX2V4dGVudCArIHZhbHVlRm9yTGVuZ3RoKGxvZ2lj
YWxSaWdodCwgY29udGFpbmVyTG9naWNhbFdpZHRoKSk7CiAgICAgICAgIH0gZWxzZSBpZiAoIWxv
Z2ljYWxMZWZ0SXNBdXRvICYmIGxvZ2ljYWxXaWR0aElzQXV0byAmJiAhbG9naWNhbFJpZ2h0SXNB
dXRvKSB7CiAgICAgICAgICAgICAvLyBSVUxFIDU6IChzb2x2ZSBmb3Igd2lkdGgpCkBAIC0zODUx
LDcgKzM4NjgsNyBAQCB2b2lkIFJlbmRlckJveDo6Y29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsV2lk
dGhVc2luZyhTaXplVHlwZSB3aWR0aFR5cGUsIExlbmd0aCBsbwogICAgICAgICB9IGVsc2UgaWYg
KCFsb2dpY2FsTGVmdElzQXV0byAmJiAhbG9naWNhbFdpZHRoSXNBdXRvICYmIGxvZ2ljYWxSaWdo
dElzQXV0bykgewogICAgICAgICAgICAgLy8gUlVMRSA2OiAobm8gbmVlZCBzb2x2ZSBmb3Igcmln
aHQpCiAgICAgICAgICAgICBsb2dpY2FsTGVmdFZhbHVlID0gdmFsdWVGb3JMZW5ndGgobG9naWNh
bExlZnQsIGNvbnRhaW5lckxvZ2ljYWxXaWR0aCk7Ci0gICAgICAgICAgICBjb21wdXRlZFZhbHVl
cy5tX2V4dGVudCA9IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcodmFs
dWVGb3JMZW5ndGgobG9naWNhbFdpZHRoLCBjb250YWluZXJMb2dpY2FsV2lkdGgpKTsKKyAgICAg
ICAgICAgIGNvbXB1dGVkVmFsdWVzLm1fZXh0ZW50ID0gYWRqdXN0Q29udGVudEJveExvZ2ljYWxX
aWR0aEZvckJveFNpemluZyh2YWx1ZUZvckxlbmd0aChsb2dpY2FsV2lkdGgsIGNvbnRhaW5lckxv
Z2ljYWxXaWR0aCksIG9yaWdpbmFsTG9naWNhbFdpZHRoVHlwZSk7CiAgICAgICAgIH0KICAgICB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAppbmRleCAyM2JiNzgxOWMyMjg4NjI2
YzU2YzA0NWUxMjE2OWFkNzFmOGIyY2IwLi41NzE4ODBlNmZkZmU5ZjllMmNkNDgzYjc4NDEzOGU0
YTBkYjljYzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCkBAIC0zMzUsMTEg
KzMzNSwxNCBAQCBwdWJsaWM6CiAKICAgICBMYXlvdXRTaXplIG9mZnNldEZyb21Db250YWluZXIo
UmVuZGVyRWxlbWVudCYsIGNvbnN0IExheW91dFBvaW50JiwgYm9vbCogb2Zmc2V0RGVwZW5kc09u
UG9pbnQgPSBudWxscHRyKSBjb25zdCBvdmVycmlkZTsKICAgICAKLSAgICBMYXlvdXRVbml0IGFk
anVzdEJvcmRlckJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhMYXlvdXRVbml0IHdpZHRoKSBj
b25zdDsKLSAgICBMYXlvdXRVbml0IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hT
aXppbmcoTGF5b3V0VW5pdCB3aWR0aCkgY29uc3Q7CisgICAgTGF5b3V0VW5pdCBhZGp1c3RCb3Jk
ZXJCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoY29uc3QgTGVuZ3RoJiBsb2dpY2FsV2lkdGgp
IGNvbnN0OworICAgIExheW91dFVuaXQgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJv
eFNpemluZyhjb25zdCBMZW5ndGgmIGxvZ2ljYWxXaWR0aCkgY29uc3Q7CiAKLSAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBMYXlvdXRVbml0IGFkanVzdEJvcmRlckJveExvZ2ljYWxXaWR0aEZvckJv
eFNpemluZyhUIHdpZHRoKSBjb25zdCB7IHJldHVybiBhZGp1c3RCb3JkZXJCb3hMb2dpY2FsV2lk
dGhGb3JCb3hTaXppbmcoTGF5b3V0VW5pdCh3aWR0aCkpOyB9Ci0gICAgdGVtcGxhdGU8dHlwZW5h
bWUgVD4gTGF5b3V0VW5pdCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5n
KFQgd2lkdGgpIGNvbnN0IHsgcmV0dXJuIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JC
b3hTaXppbmcoTGF5b3V0VW5pdCh3aWR0aCkpOyB9CisgICAgTGF5b3V0VW5pdCBhZGp1c3RCb3Jk
ZXJCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoTGF5b3V0VW5pdCBjb21wdXRlZExvZ2ljYWxX
aWR0aCwgTGVuZ3RoVHlwZSBvcmlnaW5hbFR5cGUpIGNvbnN0OworICAgIExheW91dFVuaXQgYWRq
dXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhMYXlvdXRVbml0IGNvbXB1dGVk
TG9naWNhbFdpZHRoLCBMZW5ndGhUeXBlIG9yaWdpbmFsVHlwZSkgY29uc3Q7CisKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBMYXlvdXRVbml0IGFkanVzdEJvcmRlckJveExvZ2ljYWxXaWR0aEZv
ckJveFNpemluZyhUIGNvbXB1dGVkTG9naWNhbFdpZHRoLCBMZW5ndGhUeXBlIG9yaWdpbmFsVHlw
ZSkgY29uc3QgeyByZXR1cm4gYWRqdXN0Qm9yZGVyQm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5n
KExheW91dFVuaXQoY29tcHV0ZWRMb2dpY2FsV2lkdGgpLCBvcmlnaW5hbFR5cGUpOyB9CisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gTGF5b3V0VW5pdCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdp
ZHRoRm9yQm94U2l6aW5nKFQgY29tcHV0ZWRMb2dpY2FsV2lkdGgsIExlbmd0aFR5cGUgb3JpZ2lu
YWxUeXBlKSBjb25zdCB7IHJldHVybiBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94
U2l6aW5nKExheW91dFVuaXQoY29tcHV0ZWRMb2dpY2FsV2lkdGgpLCBvcmlnaW5hbFR5cGUpOyB9
CiAKICAgICAvLyBPdmVycmlkZGVuIGJ5IGZpZWxkc2V0cyB0byBzdWJ0cmFjdCBvdXQgdGhlIGlu
dHJpbnNpYyBib3JkZXIuCiAgICAgdmlydHVhbCBMYXlvdXRVbml0IGFkanVzdEJvcmRlckJveExv
Z2ljYWxIZWlnaHRGb3JCb3hTaXppbmcoTGF5b3V0VW5pdCBoZWlnaHQpIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJv
eC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxl
Qm94LmNwcAppbmRleCBjMTcxZDJhNzkzZmM2NmJlZTE2MTkzZTFiYTJjMDRmMGJjM2QyY2YyLi4y
ODRhMGI2Njg2ZWQ2ZmM5ZjU2ZmE0ODNhODRhYTQzMzcwYjBjMjViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmNw
cApAQCAtMjIzLDE4ICsyMjMsMTggQEAgdm9pZCBSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3g6
OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkKIAogICAgIG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoID0gbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSAwOwogICAgIGlmIChzdHls
ZSgpLndpZHRoKCkuaXNGaXhlZCgpICYmIHN0eWxlKCkud2lkdGgoKS52YWx1ZSgpID4gMCkKLSAg
ICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtX21heFByZWZlcnJlZExvZ2ljYWxX
aWR0aCA9IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS53
aWR0aCgpLnZhbHVlKCkpOworICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1f
bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZv
ckJveFNpemluZyhzdHlsZSgpLndpZHRoKCkpOwogICAgIGVsc2UKICAgICAgICAgY29tcHV0ZUlu
dHJpbnNpY0xvZ2ljYWxXaWR0aHMobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIG1fbWF4UHJl
ZmVycmVkTG9naWNhbFdpZHRoKTsKIAogICAgIGlmIChzdHlsZSgpLm1pbldpZHRoKCkuaXNGaXhl
ZCgpICYmIHN0eWxlKCkubWluV2lkdGgoKS52YWx1ZSgpID4gMCkgewotICAgICAgICBtX21heFBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
LCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWluV2lk
dGgoKS52YWx1ZSgpKSk7Ci0gICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3Rk
OjptYXgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2Fs
V2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5taW5XaWR0aCgpLnZhbHVlKCkpKTsKKyAgICAgICAg
bV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21heFByZWZlcnJlZExvZ2lj
YWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgp
Lm1pbldpZHRoKCkpKTsKKyAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6
Om1heChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxX
aWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1pbldpZHRoKCkpKTsKICAgICB9CiAKICAgICBpZiAo
c3R5bGUoKS5tYXhXaWR0aCgpLmlzRml4ZWQoKSkgewotICAgICAgICBtX21heFByZWZlcnJlZExv
Z2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RD
b250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWF4V2lkdGgoKS52YWx1
ZSgpKSk7Ci0gICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9t
aW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JC
b3hTaXppbmcoc3R5bGUoKS5tYXhXaWR0aCgpLnZhbHVlKCkpKTsKKyAgICAgICAgbV9tYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwg
YWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1heFdpZHRo
KCkpKTsKKyAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21p
blByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJv
eFNpemluZyhzdHlsZSgpLm1heFdpZHRoKCkpKTsKICAgICB9CiAKICAgICBMYXlvdXRVbml0IGJv
cmRlckFuZFBhZGRpbmcgPSBib3JkZXJBbmRQYWRkaW5nTG9naWNhbFdpZHRoKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcApp
bmRleCAwOGVjMDBmNzQ5NjVkODFiZjcxMzE1ZGQzM2U2ZjhlMmFiM2VhMTQ2Li45ZGY3M2VmNzZj
YjRhYjVmZDE5NTJkNzcxYjMyZjE2Zjg3MzUxZWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKQEAgLTIyNCwxOCArMjI0
LDE4IEBAIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNvbXB1dGVQcmVmZXJyZWRMb2dp
Y2FsV2lkdGhzKCkKICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IDA7CiAKICAgICBp
ZiAoc3R5bGUoKS53aWR0aCgpLmlzRml4ZWQoKSAmJiBzdHlsZSgpLndpZHRoKCkudmFsdWUoKSA+
IDApCi0gICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbV9tYXhQcmVmZXJyZWRM
b2dpY2FsV2lkdGggPSBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0
eWxlKCkud2lkdGgoKS52YWx1ZSgpKTsKKyAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lk
dGggPSBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IGFkanVzdENvbnRlbnRCb3hMb2dpY2Fs
V2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS53aWR0aCgpKTsKICAgICBlbHNlCiAgICAgICAgIGNv
bXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBt
X21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CiAKICAgICBpZiAoc3R5bGUoKS5taW5XaWR0aCgp
LmlzRml4ZWQoKSAmJiBzdHlsZSgpLm1pbldpZHRoKCkudmFsdWUoKSA+IDApIHsKLSAgICAgICAg
bV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21heFByZWZlcnJlZExvZ2lj
YWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgp
Lm1pbldpZHRoKCkudmFsdWUoKSkpOwotICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCA9IHN0ZDo6bWF4KG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94
TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWluV2lkdGgoKS52YWx1ZSgpKSk7Cisg
ICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9tYXhQcmVmZXJy
ZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmco
c3R5bGUoKS5taW5XaWR0aCgpKSk7CisgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRo
ID0gc3RkOjptYXgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hM
b2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5taW5XaWR0aCgpKSk7CiAgICAgfQogCiAg
ICAgaWYgKHN0eWxlKCkubWF4V2lkdGgoKS5pc0ZpeGVkKCkpIHsKLSAgICAgICAgbV9tYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwg
YWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1heFdpZHRo
KCkudmFsdWUoKSkpOwotICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6
bWluKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdp
ZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWF4V2lkdGgoKS52YWx1ZSgpKSk7CisgICAgICAgIG1f
bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5t
YXhXaWR0aCgpKSk7CisgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjpt
aW4obV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lk
dGhGb3JCb3hTaXppbmcoc3R5bGUoKS5tYXhXaWR0aCgpKSk7CiAgICAgfQogCiAgICAgaW50IHRv
QWRkID0gaG9yaXpvbnRhbEJvcmRlckFuZFBhZGRpbmdFeHRlbnQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCmluZGV4IDFmMWFiN2FhZjMxYjAx
ZDgxMjBhYWIxZGE2MzdhN2E1NDgzZDFmMzMuLmE3MzZjNDVhODE3NmNjNmQ5YTk2NjgzNDg1NmY3
MTcxZGIwYTgxYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
bGV4aWJsZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhp
YmxlQm94LmNwcApAQCAtNzgwLDcgKzc4MCw3IEBAIExheW91dFVuaXQgUmVuZGVyRmxleGlibGVC
b3g6OmNvbXB1dGVNYWluU2l6ZUZyb21Bc3BlY3RSYXRpb1VzaW5nKGNvbnN0IFJlbmRlckJvCiAg
ICAgICAgIGNyb3NzU2l6ZSA9IGFkanVzdEZvckJveFNpemluZygqdGhpcywgY29udGFpbmVyQ3Jv
c3NTaXplTGVuZ3RoKTsKICAgICB9IGVsc2UgewogICAgICAgICBBU1NFUlQoY3Jvc3NTaXplTGVu
Z3RoLmlzUGVyY2VudE9yQ2FsY3VsYXRlZCgpKTsKLSAgICAgICAgY3Jvc3NTaXplID0gbWFpbkF4
aXNJc0NoaWxkSW5saW5lQXhpcyhjaGlsZCkgPyBjaGlsZC5jb21wdXRlUGVyY2VudGFnZUxvZ2lj
YWxIZWlnaHQoY3Jvc3NTaXplTGVuZ3RoKSA6IGFkanVzdEJvcmRlckJveExvZ2ljYWxXaWR0aEZv
ckJveFNpemluZyh2YWx1ZUZvckxlbmd0aChjcm9zc1NpemVMZW5ndGgsIGNvbnRlbnRXaWR0aCgp
KSk7CisgICAgICAgIGNyb3NzU2l6ZSA9IG1haW5BeGlzSXNDaGlsZElubGluZUF4aXMoY2hpbGQp
ID8gY2hpbGQuY29tcHV0ZVBlcmNlbnRhZ2VMb2dpY2FsSGVpZ2h0KGNyb3NzU2l6ZUxlbmd0aCkg
OiBhZGp1c3RCb3JkZXJCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcodmFsdWVGb3JMZW5ndGgo
Y3Jvc3NTaXplTGVuZ3RoLCBjb250ZW50V2lkdGgoKSksIGNyb3NzU2l6ZUxlbmd0aC50eXBlKCkp
OwogICAgICAgICBpZiAoIWNyb3NzU2l6ZSkKICAgICAgICAgICAgIHJldHVybiAwX2x1OwogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENv
bnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250
YWluZXIuY3BwCmluZGV4IGExMDY3YzA2MjdjMzVkN2ExM2I5ZGIzNGM3OGI4MjdkNDE1NDYwNzgu
LjgwNjI1Zjk0ZWM3N2UxNWRhYzdhMGU2YzJmMTE0YzY4NDhjNjE3OTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcApAQCAt
Mzc0LDE4ICszNzQsMTggQEAgdm9pZCBSZW5kZXJGcmFnbWVudENvbnRhaW5lcjo6Y29tcHV0ZVBy
ZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogCiAgICAgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlVG9V
c2UgPSBzdHlsZSgpOwogICAgIGlmIChzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzRml4ZWQo
KSAmJiBzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLnZhbHVlKCkgPiAwKQotICAgICAgICBtX21p
blByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gYWRq
dXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2ljYWxX
aWR0aCgpLnZhbHVlKCkpOworICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1f
bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZv
ckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpKTsKICAgICBlbHNlCiAgICAgICAg
IGNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRo
LCBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CiAKICAgICBpZiAoc3R5bGVUb1VzZS5sb2dp
Y2FsTWluV2lkdGgoKS5pc0ZpeGVkKCkgJiYgc3R5bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgoKS52
YWx1ZSgpID4gMCkgewotICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6
bWF4KG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdp
ZHRoRm9yQm94U2l6aW5nKHN0eWxlVG9Vc2UubG9naWNhbE1pbldpZHRoKCkudmFsdWUoKSkpOwot
ICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1fbWluUHJlZmVy
cmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5n
KHN0eWxlVG9Vc2UubG9naWNhbE1pbldpZHRoKCkudmFsdWUoKSkpOworICAgICAgICBtX21heFBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
LCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlVG9Vc2UubG9n
aWNhbE1pbldpZHRoKCkpKTsKKyAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBz
dGQ6Om1heChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2lj
YWxXaWR0aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpKSk7CiAgICAg
fQogCiAgICAgaWYgKHN0eWxlVG9Vc2UubG9naWNhbE1heFdpZHRoKCkuaXNGaXhlZCgpKSB7Ci0g
ICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9tYXhQcmVmZXJy
ZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmco
c3R5bGVUb1VzZS5sb2dpY2FsTWF4V2lkdGgoKS52YWx1ZSgpKSk7Ci0gICAgICAgIG1fbWluUHJl
ZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgs
IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5sb2dp
Y2FsTWF4V2lkdGgoKS52YWx1ZSgpKSk7CisgICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdp
ZHRoID0gc3RkOjptaW4obV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRC
b3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5sb2dpY2FsTWF4V2lkdGgoKSkp
OworICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1fbWluUHJl
ZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6
aW5nKHN0eWxlVG9Vc2UubG9naWNhbE1heFdpZHRoKCkpKTsKICAgICB9CiAKICAgICBMYXlvdXRV
bml0IGJvcmRlckFuZFBhZGRpbmcgPSBib3JkZXJBbmRQYWRkaW5nTG9naWNhbFdpZHRoKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKaW5kZXggNGU2YzhlODM4NmM1Nzk5
Y2M5OTg1ZTlkMzNkMWRjYTIwNjEyNzc1MS4uZDUzY2FjZjdmNDNjZmEzNzFhZDEwMzZlNmZjYTcz
ZDViZTUzYjY0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdy
aWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcApAQCAt
NDY2LDcgKzQ2Niw3IEBAIHVuc2lnbmVkIFJlbmRlckdyaWQ6OmNvbXB1dGVBdXRvUmVwZWF0VHJh
Y2tzQ291bnQoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjCiAgICAgICAgICAgICBpZiAo
bWF4U2l6ZS5pc1BlcmNlbnRPckNhbGN1bGF0ZWQoKSkKICAgICAgICAgICAgICAgICBjb250YWlu
aW5nQmxvY2tBdmFpbGFibGVTaXplID0gaXNSb3dBeGlzID8gY29udGFpbmluZ0Jsb2NrTG9naWNh
bFdpZHRoRm9yQ29udGVudCgpIDogY29udGFpbmluZ0Jsb2NrTG9naWNhbEhlaWdodEZvckNvbnRl
bnQoRXhjbHVkZU1hcmdpbkJvcmRlclBhZGRpbmcpOwogICAgICAgICAgICAgTGF5b3V0VW5pdCBt
YXhTaXplVmFsdWUgPSB2YWx1ZUZvckxlbmd0aChtYXhTaXplLCBjb250YWluaW5nQmxvY2tBdmFp
bGFibGVTaXplLnZhbHVlT3IoTGF5b3V0VW5pdCgpKSk7Ci0gICAgICAgICAgICBhdmFpbGFibGVN
YXhTaXplID0gaXNSb3dBeGlzID8gYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNp
emluZyhtYXhTaXplVmFsdWUpIDogYWRqdXN0Q29udGVudEJveExvZ2ljYWxIZWlnaHRGb3JCb3hT
aXppbmcobWF4U2l6ZVZhbHVlKTsKKyAgICAgICAgICAgIGF2YWlsYWJsZU1heFNpemUgPSBpc1Jv
d0F4aXMgPyBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKG1heFNpemVW
YWx1ZSwgbWF4U2l6ZS50eXBlKCkpIDogYWRqdXN0Q29udGVudEJveExvZ2ljYWxIZWlnaHRGb3JC
b3hTaXppbmcobWF4U2l6ZVZhbHVlKTsKICAgICAgICAgfQogCiAgICAgICAgIGNvbnN0IExlbmd0
aCYgbWluU2l6ZSA9IGlzUm93QXhpcyA/IHN0eWxlKCkubG9naWNhbE1pbldpZHRoKCkgOiBzdHls
ZSgpLmxvZ2ljYWxNaW5IZWlnaHQoKTsKQEAgLTQ3OCw3ICs0NzgsNyBAQCB1bnNpZ25lZCBSZW5k
ZXJHcmlkOjpjb21wdXRlQXV0b1JlcGVhdFRyYWNrc0NvdW50KEdyaWRUcmFja1NpemluZ0RpcmVj
dGlvbiBkaXJlYwogICAgICAgICAgICAgaWYgKCFjb250YWluaW5nQmxvY2tBdmFpbGFibGVTaXpl
ICYmIG1pblNpemUuaXNQZXJjZW50T3JDYWxjdWxhdGVkKCkpCiAgICAgICAgICAgICAgICAgY29u
dGFpbmluZ0Jsb2NrQXZhaWxhYmxlU2l6ZSA9IGlzUm93QXhpcyA/IGNvbnRhaW5pbmdCbG9ja0xv
Z2ljYWxXaWR0aEZvckNvbnRlbnQoKSA6IGNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxIZWlnaHRGb3JD
b250ZW50KEV4Y2x1ZGVNYXJnaW5Cb3JkZXJQYWRkaW5nKTsKICAgICAgICAgICAgIExheW91dFVu
aXQgbWluU2l6ZVZhbHVlID0gdmFsdWVGb3JMZW5ndGgobWluU2l6ZSwgY29udGFpbmluZ0Jsb2Nr
QXZhaWxhYmxlU2l6ZS52YWx1ZU9yKExheW91dFVuaXQoKSkpOwotICAgICAgICAgICAgYXZhaWxh
YmxlTWluU2l6ZSA9IGlzUm93QXhpcyA/IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JC
b3hTaXppbmcobWluU2l6ZVZhbHVlKSA6IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0Rm9y
Qm94U2l6aW5nKG1pblNpemVWYWx1ZSk7CisgICAgICAgICAgICBhdmFpbGFibGVNaW5TaXplID0g
aXNSb3dBeGlzID8gYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhtaW5T
aXplVmFsdWUsIG1pblNpemUudHlwZSgpKSA6IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0
Rm9yQm94U2l6aW5nKG1pblNpemVWYWx1ZSk7CiAgICAgICAgICAgICBpZiAoIW1heFNpemUuaXNT
cGVjaWZpZWQoKSkKICAgICAgICAgICAgICAgICBuZWVkc1RvRnVsZmlsbE1pbmltdW1TaXplID0g
dHJ1ZTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxpc3RCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3gu
Y3BwCmluZGV4IDczNDQwNmM0MzA1ZDAzOWUwZjhlYjhhMTIzODE3NDIxOGE4MmIwNWQuLjhlOGFk
NzA0M2ExZDc0MDYxMTdlMjcyZWIwYTIwNDVhZmU2NWMyZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKQEAgLTIyNiwxOCArMjI2LDE4IEBAIHZvaWQgUmVu
ZGVyTGlzdEJveDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogICAgIG1fbWF4UHJl
ZmVycmVkTG9naWNhbFdpZHRoID0gMDsKIAogICAgIGlmIChzdHlsZSgpLndpZHRoKCkuaXNGaXhl
ZCgpICYmIHN0eWxlKCkud2lkdGgoKS52YWx1ZSgpID4gMCkKLSAgICAgICAgbV9taW5QcmVmZXJy
ZWRMb2dpY2FsV2lkdGggPSBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IGFkanVzdENvbnRl
bnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS53aWR0aCgpLnZhbHVlKCkpOwor
ICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1fbWF4UHJlZmVycmVkTG9naWNh
bFdpZHRoID0gYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgp
LndpZHRoKCkpOwogICAgIGVsc2UKICAgICAgICAgY29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0
aHMobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
KTsKIAogICAgIGlmIChzdHlsZSgpLm1pbldpZHRoKCkuaXNGaXhlZCgpICYmIHN0eWxlKCkubWlu
V2lkdGgoKS52YWx1ZSgpID4gMCkgewotICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0
aCA9IHN0ZDo6bWF4KG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94
TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWluV2lkdGgoKS52YWx1ZSgpKSk7Ci0g
ICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9taW5QcmVmZXJy
ZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmco
c3R5bGUoKS5taW5XaWR0aCgpLnZhbHVlKCkpKTsKKyAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dp
Y2FsV2lkdGggPSBzdGQ6Om1heChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29u
dGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1pbldpZHRoKCkpKTsKKyAg
ICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhz
dHlsZSgpLm1pbldpZHRoKCkpKTsKICAgICB9CiAKICAgICBpZiAoc3R5bGUoKS5tYXhXaWR0aCgp
LmlzRml4ZWQoKSkgewotICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6
bWluKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdp
ZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWF4V2lkdGgoKS52YWx1ZSgpKSk7Ci0gICAgICAgIG1f
bWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9taW5QcmVmZXJyZWRMb2dpY2Fs
V2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5t
YXhXaWR0aCgpLnZhbHVlKCkpKTsKKyAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgg
PSBzdGQ6Om1pbihtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExv
Z2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1heFdpZHRoKCkpKTsKKyAgICAgICAgbV9t
aW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21pblByZWZlcnJlZExvZ2ljYWxX
aWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1h
eFdpZHRoKCkpKTsKICAgICB9CiAKICAgICBMYXlvdXRVbml0IHRvQWRkID0gaG9yaXpvbnRhbEJv
cmRlckFuZFBhZGRpbmdFeHRlbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNZW51TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWVudUxpc3QuY3BwCmluZGV4IDYxOTI4NWRlM2I1ODg3OTliNTM5NzJmMDkxNGUzYzk4MzZmYThm
YmQuLjViZDQ2ZGM2MmFlMTcxZDU2YWE0MTQ5YzA1NTYzNTM1ZjA4ZWY3NzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcApAQCAtMzI2LDE4ICszMjYsMTgg
QEAgdm9pZCBSZW5kZXJNZW51TGlzdDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQog
ICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gMDsKICAgICAKICAgICBpZiAoc3R5bGUo
KS53aWR0aCgpLmlzRml4ZWQoKSAmJiBzdHlsZSgpLndpZHRoKCkudmFsdWUoKSA+IDApCi0gICAg
ICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lk
dGggPSBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkud2lk
dGgoKS52YWx1ZSgpKTsKKyAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtX21h
eFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JC
b3hTaXppbmcoc3R5bGUoKS53aWR0aCgpKTsKICAgICBlbHNlCiAgICAgICAgIGNvbXB1dGVJbnRy
aW5zaWNMb2dpY2FsV2lkdGhzKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBtX21heFByZWZl
cnJlZExvZ2ljYWxXaWR0aCk7CiAKICAgICBpZiAoc3R5bGUoKS5taW5XaWR0aCgpLmlzRml4ZWQo
KSAmJiBzdHlsZSgpLm1pbldpZHRoKCkudmFsdWUoKSA+IDApIHsKLSAgICAgICAgbV9tYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwg
YWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1pbldpZHRo
KCkudmFsdWUoKSkpOwotICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6
bWF4KG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdp
ZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWluV2lkdGgoKS52YWx1ZSgpKSk7CisgICAgICAgIG1f
bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5t
aW5XaWR0aCgpKSk7CisgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjpt
YXgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lk
dGhGb3JCb3hTaXppbmcoc3R5bGUoKS5taW5XaWR0aCgpKSk7CiAgICAgfQogCiAgICAgaWYgKHN0
eWxlKCkubWF4V2lkdGgoKS5pc0ZpeGVkKCkpIHsKLSAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dp
Y2FsV2lkdGggPSBzdGQ6Om1pbihtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29u
dGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1heFdpZHRoKCkudmFsdWUo
KSkpOwotICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1fbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94
U2l6aW5nKHN0eWxlKCkubWF4V2lkdGgoKS52YWx1ZSgpKSk7CisgICAgICAgIG1fbWF4UHJlZmVy
cmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFk
anVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5tYXhXaWR0aCgp
KSk7CisgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9taW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hT
aXppbmcoc3R5bGUoKS5tYXhXaWR0aCgpKSk7CiAgICAgfQogCiAgICAgTGF5b3V0VW5pdCB0b0Fk
ZCA9IGhvcml6b250YWxCb3JkZXJBbmRQYWRkaW5nRXh0ZW50KCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAppbmRleCA3NGQxNGM3YzdlMWIxOWY4OWNjZWFm
OThiYzU5OTFiOWZlOWEzMTBkLi4yYmM5YzJiMzljMDhjM2YzMzJhMTBmZTc5YjA1MmM5NjcyMzZl
YWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKQEAg
LTY2MywxMyArNjYzLDEzIEBAIHZvaWQgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVQcmVmZXJyZWRM
b2dpY2FsV2lkdGhzKCkKICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSAwOwog
CiAgICAgaWYgKHN0eWxlVG9Vc2UubG9naWNhbE1pbldpZHRoKCkuaXNGaXhlZCgpICYmIHN0eWxl
VG9Vc2UubG9naWNhbE1pbldpZHRoKCkudmFsdWUoKSA+IDApIHsKLSAgICAgICAgbV9tYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwg
YWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2lj
YWxNaW5XaWR0aCgpLnZhbHVlKCkpKTsKLSAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lk
dGggPSBzdGQ6Om1heChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJv
eExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpLnZh
bHVlKCkpKTsKKyAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heCht
X21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZv
ckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpKSk7CisgICAgICAgIG1fbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lk
dGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5s
b2dpY2FsTWluV2lkdGgoKSkpOwogICAgIH0KICAgICAKICAgICBpZiAoc3R5bGVUb1VzZS5sb2dp
Y2FsTWF4V2lkdGgoKS5pc0ZpeGVkKCkpIHsKLSAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGggPSBzdGQ6Om1pbihtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVu
dEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2ljYWxNYXhXaWR0aCgp
LnZhbHVlKCkpKTsKLSAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1p
bihtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0
aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2ljYWxNYXhXaWR0aCgpLnZhbHVlKCkpKTsKKyAg
ICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21heFByZWZlcnJl
ZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhz
dHlsZVRvVXNlLmxvZ2ljYWxNYXhXaWR0aCgpKSk7CisgICAgICAgIG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoID0gc3RkOjptaW4obV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENv
bnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5sb2dpY2FsTWF4V2lk
dGgoKSkpOwogICAgIH0KIAogICAgIExheW91dFVuaXQgYm9yZGVyQW5kUGFkZGluZyA9IGJvcmRl
ckFuZFBhZGRpbmdMb2dpY2FsV2lkdGgoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNsaWRlci5jcHAKaW5kZXggYjFlMTMxNGE2ZGRjYTY5OWMyYjBhN2RlZWNmNjViMGUwYTMwYTFk
Ny4uMjUzNDg5NzkwNmJiNDg1OTAzZDQxMjEwZGY1N2FjMDM4MTUwNTAwZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAKQEAgLTgwLDE4ICs4MCwxOCBAQCB2b2lk
IFJlbmRlclNsaWRlcjo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogICAgIG1fbWF4
UHJlZmVycmVkTG9naWNhbFdpZHRoID0gMDsKIAogICAgIGlmIChzdHlsZSgpLndpZHRoKCkuaXNG
aXhlZCgpICYmIHN0eWxlKCkud2lkdGgoKS52YWx1ZSgpID4gMCkKLSAgICAgICAgbV9taW5QcmVm
ZXJyZWRMb2dpY2FsV2lkdGggPSBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IGFkanVzdENv
bnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS53aWR0aCgpLnZhbHVlKCkp
OworICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1fbWF4UHJlZmVycmVkTG9n
aWNhbFdpZHRoID0gYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHls
ZSgpLndpZHRoKCkpOwogICAgIGVsc2UKICAgICAgICAgY29tcHV0ZUludHJpbnNpY0xvZ2ljYWxX
aWR0aHMobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIG1fbWF4UHJlZmVycmVkTG9naWNhbFdp
ZHRoKTsKIAogICAgIGlmIChzdHlsZSgpLm1pbldpZHRoKCkuaXNGaXhlZCgpICYmIHN0eWxlKCku
bWluV2lkdGgoKS52YWx1ZSgpID4gMCkgewotICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxX
aWR0aCA9IHN0ZDo6bWF4KG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50
Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWluV2lkdGgoKS52YWx1ZSgpKSk7
Ci0gICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9taW5QcmVm
ZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXpp
bmcoc3R5bGUoKS5taW5XaWR0aCgpLnZhbHVlKCkpKTsKKyAgICAgICAgbV9tYXhQcmVmZXJyZWRM
b2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0
Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1pbldpZHRoKCkpKTsK
KyAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21pblByZWZl
cnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemlu
ZyhzdHlsZSgpLm1pbldpZHRoKCkpKTsKICAgICB9CiAKICAgICBpZiAoc3R5bGUoKS5tYXhXaWR0
aCgpLmlzRml4ZWQoKSkgewotICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0
ZDo6bWluKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNh
bFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubWF4V2lkdGgoKS52YWx1ZSgpKSk7Ci0gICAgICAg
IG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptaW4obV9taW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUo
KS5tYXhXaWR0aCgpLnZhbHVlKCkpKTsKKyAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lk
dGggPSBzdGQ6Om1pbihtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJv
eExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLm1heFdpZHRoKCkpKTsKKyAgICAgICAg
bV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihtX21pblByZWZlcnJlZExvZ2lj
YWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgp
Lm1heFdpZHRoKCkpKTsKICAgICB9CiAKICAgICBMYXlvdXRVbml0IHRvQWRkID0gaG9yaXpvbnRh
bEJvcmRlckFuZFBhZGRpbmdFeHRlbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGUuY3BwCmluZGV4IGYzYWVhZDY3YmE1YzA3ZDg5YjRiYmQyYmNlYzhkZmVmNTlkNDc1MzUu
LmEwMThmM2ZhNzZhMDFlZjFiNDI3YzJhMzhkNTFiMTdlMmRjN2RkZjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcApAQCAtODI0LDEzICs4MjQsMTMgQEAgdm9pZCBS
ZW5kZXJUYWJsZTo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogICAgIGF1dG8mIHN0
eWxlVG9Vc2UgPSBzdHlsZSgpOwogICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBwcm9iYWJseSBi
ZSBjaGVja2luZyBmb3IgaXNTcGVjaWZpZWQgc2luY2UgeW91IHNob3VsZCBiZSBhYmxlIHRvIHVz
ZSBwZXJjZW50YWdlIG9yIGNhbGMgdmFsdWVzIGZvciBtaW4td2lkdGguCiAgICAgaWYgKHN0eWxl
VG9Vc2UubG9naWNhbE1pbldpZHRoKCkuaXNGaXhlZCgpICYmIHN0eWxlVG9Vc2UubG9naWNhbE1p
bldpZHRoKCkudmFsdWUoKSA+IDApIHsKLSAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lk
dGggPSBzdGQ6Om1heChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJv
eExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpLnZh
bHVlKCkpKTsKLSAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heCht
X21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZv
ckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpLnZhbHVlKCkpKTsKKyAgICAg
ICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21heFByZWZlcnJlZExv
Z2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHls
ZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpKSk7CisgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNh
bFdpZHRoID0gc3RkOjptYXgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRl
bnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgo
KSkpOwogICAgIH0KIAogICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBwcm9iYWJseSBiZSBjaGVj
a2luZyBmb3IgaXNTcGVjaWZpZWQgc2luY2UgeW91IHNob3VsZCBiZSBhYmxlIHRvIHVzZSBwZXJj
ZW50YWdlIG9yIGNhbGMgdmFsdWVzIGZvciBtYXhXaWR0aC4KICAgICBpZiAoc3R5bGVUb1VzZS5s
b2dpY2FsTWF4V2lkdGgoKS5pc0ZpeGVkKCkpIHsKLSAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dp
Y2FsV2lkdGggPSBzdGQ6Om1pbihtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29u
dGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2ljYWxNYXhXaWR0
aCgpLnZhbHVlKCkpKTsKKyAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6
Om1pbihtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxX
aWR0aEZvckJveFNpemluZyhzdHlsZVRvVXNlLmxvZ2ljYWxNYXhXaWR0aCgpKSk7CiAgICAgICAg
IG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9tYXhQcmVmZXJyZWRMb2dp
Y2FsV2lkdGgsIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKICAgICB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCmluZGV4IGY1NzVlMTNh
MGI2YjNhZTJkOTRjMzVlZjkwZjVkNWUwNzE4Njc4ZjQuLjQwZWExY2NiNjY3NjI5ZDYzNTdhNDBj
ZDE0N2IzMGYzMDQ3MGQ5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRleHRDb250cm9sLmNwcApAQCAtMTcyLDE4ICsxNzIsMTggQEAgdm9pZCBSZW5kZXJUZXh0Q29u
dHJvbDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogICAgIG1fbWF4UHJlZmVycmVk
TG9naWNhbFdpZHRoID0gMDsKIAogICAgIGlmIChzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzRml4
ZWQoKSAmJiBzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLnZhbHVlKCkgPj0gMCkKLSAgICAgICAgbV9t
aW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IGFk
anVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmcoc3R5bGUoKS5sb2dpY2FsV2lk
dGgoKS52YWx1ZSgpKTsKKyAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtX21h
eFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JC
b3hTaXppbmcoc3R5bGUoKS5sb2dpY2FsV2lkdGgoKSk7CiAgICAgZWxzZQogICAgICAgICBjb21w
dXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgbV9t
YXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgpOwogCiAgICAgaWYgKHN0eWxlKCkubG9naWNhbE1pbldp
ZHRoKCkuaXNGaXhlZCgpICYmIHN0eWxlKCkubG9naWNhbE1pbldpZHRoKCkudmFsdWUoKSA+IDAp
IHsKLSAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21heFBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNp
emluZyhzdHlsZSgpLmxvZ2ljYWxNaW5XaWR0aCgpLnZhbHVlKCkpKTsKLSAgICAgICAgbV9taW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCwgYWRqdXN0Q29udGVudEJveExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLmxvZ2lj
YWxNaW5XaWR0aCgpLnZhbHVlKCkpKTsKKyAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lk
dGggPSBzdGQ6Om1heChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJv
eExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLmxvZ2ljYWxNaW5XaWR0aCgpKSk7Cisg
ICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9taW5QcmVmZXJy
ZWRMb2dpY2FsV2lkdGgsIGFkanVzdENvbnRlbnRCb3hMb2dpY2FsV2lkdGhGb3JCb3hTaXppbmco
c3R5bGUoKS5sb2dpY2FsTWluV2lkdGgoKSkpOwogICAgIH0KIAogICAgIGlmIChzdHlsZSgpLmxv
Z2ljYWxNYXhXaWR0aCgpLmlzRml4ZWQoKSkgewotICAgICAgICBtX21heFByZWZlcnJlZExvZ2lj
YWxXaWR0aCA9IHN0ZDo6bWluKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250
ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxlKCkubG9naWNhbE1heFdpZHRoKCku
dmFsdWUoKSkpOwotICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWlu
KG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRo
Rm9yQm94U2l6aW5nKHN0eWxlKCkubG9naWNhbE1heFdpZHRoKCkudmFsdWUoKSkpOworICAgICAg
ICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKG1fbWF4UHJlZmVycmVkTG9n
aWNhbFdpZHRoLCBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9yQm94U2l6aW5nKHN0eWxl
KCkubG9naWNhbE1heFdpZHRoKCkpKTsKKyAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lk
dGggPSBzdGQ6Om1pbihtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgYWRqdXN0Q29udGVudEJv
eExvZ2ljYWxXaWR0aEZvckJveFNpemluZyhzdHlsZSgpLmxvZ2ljYWxNYXhXaWR0aCgpKSk7CiAg
ICAgfQogCiAgICAgTGF5b3V0VW5pdCB0b0FkZCA9IGJvcmRlckFuZFBhZGRpbmdMb2dpY2FsV2lk
dGgoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCBhMDRhZGM2NWQ1YWFiMGY1NTZhZjY3Yjc4YTBjMWI0NjhiZTc2NmI2Li4y
Zjc1OGRmMDVkMjYzMDE1MGViMDViZDAwYTUwNGRhNzU2MWExM2U2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMjAtMTItMTkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAg
ICAgICB3aWR0aDogbWF4LWNvbnRlbnQgd2l0aCBib3gtc2l6aW5nOiBib3JkZXItYm94IHNob3Vs
ZCBsZWF2ZSBzcGFjZSBmb3IgcGFkZGluZyAoVHdpdHRlciBkYXRlIGhvdmVyIG92ZXJmbG93KQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5Njg3Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjEzNzY4NT4KKworICAgICAgICBSZXZpZXdlZCBieSBB
bnR0aSBLb2l2aXN0by4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0
aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMC0x
Mi0xOCAgUmluaSBQYXRlbCAgPHJpbmlfcGF0ZWxAYXBwbGUuY29tPgogCiAgICAgICAgIFtHUFUg
cHJvY2Vzc10gQWRkaW5nIG1vcmUgdGVzdHMgdG8gVGVzdEV4cGVjdGF0aW9ucyBmb3IgTGF5b3V0
IHRlc3RzIGNyYXNoZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVj
dGF0aW9ucwppbmRleCA4ZDNiODM2MzI4NTI3NWRjODc0MTVjMDlhYzAxZTI1MWY2ZmMyZDViLi42
NmM1NTVlZjBhZjU5Njc2MGY3YTQwMTVkNTRmMGFhZGM4ZWNlNGVmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMzE2LDcgKzEzMTYsNiBA
QCBmYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L2Jsb2NrLW9ubHkvbWluLW1heC1hbmQtcHJl
ZmVycmVkLXdpZHRoLXNpbXBsZS5odG1sCiB3ZWJraXQub3JnL2IvMjE3MDU0IGZhc3QvbGF5b3V0
Zm9ybWF0dGluZ2NvbnRleHQvaG9yaXpvbnRhbC1zaXppbmctd2l0aC10cmFpbGluZy1sZXR0ZXIt
c3BhY2luZy5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMjE5MzIyIGZhc3QvbGF5b3V0Zm9y
bWF0dGluZ2NvbnRleHQvdGFibGUtc2ltcGxlLWJvcmRlci1jb2xsYXBzZS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE5MzIyIGZhc3QvbGF5b3V0Zm9ybWF0dGluZ2Nv
bnRleHQvdGFibGUtc2ltcGxlLWJvcmRlci1jb2xsYXBzZTIuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotd2Via2l0Lm9yZy9iLzIxOTY4NyBmYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L21h
eC1jb250ZW50LWFuZC1ib3gtc2l6aW5nLXNpbXBsZS5odG1sIFsgU2tpcCBdCiAKIHdlYmtpdC5v
cmcvYi8yMjAwMTggd2ViYW5pbWF0aW9ucy9hY2NlbGVyYXRlZC10cmFuc2Zvcm0tcmVsYXRlZC1h
bmltYXRpb24tcHJvcGVydHktb3JkZXIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDkzNjQ0YThkMGFlN2Rl
NWE1MzNlNWM1MGUzNjgyMDI4ZjUxM2UzNmEuLjUzZTMyOGY1YzA4ODA5ZGE5ZDQ1ZTBkODczYWU0
MDVkOWJlMzEwNzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25z
CkBAIC0yMjU3LDYgKzIyNTcsNCBAQCB3ZWJraXQub3JnL2IvMjE5MjI1IGh0dHAvdGVzdHMvaW5z
cGVjdG9yL2RvbS9kaXNjb25uZWN0LWRvbS10cmVlLWFmdGVyLW1haW4tZnJhbQogCiB3ZWJraXQu
b3JnL2IvMjE5OTA3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmVyLXRpbWlu
Zy9zZXJ2aWNlX3dvcmtlcl9pZGwuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcv
Yi8yMTk2ODcgZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC9tYXgtY29udGVudC1hbmQtYm94
LXNpemluZy1zaW1wbGUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotCiB3ZWJraXQub3JnL2Iv
MjE5OTY1IFsgQmlnU3VyIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9j
b250ZW50LXR5cGUvc2NyaXB0LndpbmRvdy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>