<?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>140453</bug_id>
          
          <creation_ts>2015-01-14 10:13:25 -0800</creation_ts>
          <short_desc>Web Replay: capture and dispatch keyboard and wheel inputs in WebPage</short_desc>
          <delta_ts>2017-07-10 13:59:30 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>LATER</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>136294</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brian Burg">burg</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bburg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1061208</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-01-14 10:13:25 -0800</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061235</commentid>
    <comment_count>1</comment_count>
      <attachid>244621</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-01-14 10:56:27 -0800</bug_when>
    <thetext>Created attachment 244621
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327145</commentid>
    <comment_count>2</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-07-10 13:59:30 -0700</bug_when>
    <thetext>Closing web replay-related bugs until we resume working on the feature again.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244621</attachid>
            <date>2015-01-14 10:56:27 -0800</date>
            <delta_ts>2015-01-14 10:56:27 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-140453-20150114105600.patch</filename>
            <type>text/plain</type>
            <size>56052</size>
            <attacher name="Brian Burg">burg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDkzNTRkYWRhMzM2NmM1
ZGM2ZjI3YjUwYTI0ODdkMWY5ZDMyYTEwZi4uZjkwZWQ1NGRkMGIxMjQ2ZmVhZDdkMmZkNTk2M2U3
ZGE4YWJhMWFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMxIEBACiAyMDE1LTAxLTExICBCcmlh
biBKLiBCdXJnICA8YnVyZ0Bjcy53YXNoaW5ndG9uLmVkdT4KIAorICAgICAgICBXZWIgUmVwbGF5
OiBjYXB0dXJlIGFuZCBkaXNwYXRjaCBrZXlib2FyZCBhbmQgd2hlZWwgaW5wdXRzIGluIFdlYlBh
Z2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDQ1
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUg
dGhlIGNhcHR1cmUvZGlzcGF0Y2ggZW50cnkgcG9pbnQgZnJvbSBVc2VySW5wdXRCcmlkZ2UgdG8g
V2ViUGFnZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZWQuCisK
KyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiByZXBsYXkvVXNlcklucHV0QnJp
ZGdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJJbnB1dEJyaWRnZTo6aGFuZGxlTW91c2VQ
cmVzc0V2ZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlVzZXJJbnB1dEJyaWRnZTo6
aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6VXNl
cklucHV0QnJpZGdlOjpoYW5kbGVNb3VzZU1vdmVFdmVudCk6IERlbGV0ZWQuCisgICAgICAgICog
cmVwbGF5L1VzZXJJbnB1dEJyaWRnZS5oOgorICAgICAgICAqIHJlcGxheS9XZWJJbnB1dHMuanNv
bjoKKyAgICAgICAgKiByZXBsYXkvV2ViUmVwbGF5SW5wdXRDb2RlcnMuY3BwOgorICAgICAgICAo
SlNDOjpFbmNvZGluZ1RyYWl0czxGbG9hdFNpemU+OjplbmNvZGVWYWx1ZSk6IEFkZGVkLgorICAg
ICAgICAoSlNDOjpFbmNvZGluZ1RyYWl0czxGbG9hdFNpemU+OjpkZWNvZGVWYWx1ZSk6IEFkZGVk
LgorICAgICAgICAoSlNDOjpFbmNvZGluZ1RyYWl0czxLZXlwcmVzc0NvbW1hbmQ+OjplbmNvZGVW
YWx1ZSk6CisgICAgICAgIChKU0M6OkVuY29kaW5nVHJhaXRzPEtleXByZXNzQ29tbWFuZD46OmRl
Y29kZVZhbHVlKToKKyAgICAgICAgKiByZXBsYXkvV2ViUmVwbGF5SW5wdXRDb2RlcnMuaDoKKyAg
ICAgICAgKiByZXBsYXkvV2ViUmVwbGF5SW5wdXREaXNwYXRjaE1ldGhvZHMuY3BwOgorCisyMDE1
LTAxLTExICBCcmlhbiBKLiBCdXJnICA8YnVyZ0Bjcy53YXNoaW5ndG9uLmVkdT4KKwogICAgICAg
ICBXZWIgUmVwbGF5OiBjYXB0dXJlIGFuZCBkaXNwYXRjaCBtb3VzZSBpbnB1dHMgaW4gV2ViUGFn
ZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwNDUy
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwppbmRleCA5NTM3OTk3MjJhYjEzZjk1MTYzMWNmYTczZTY4YzJiNWM1Mzc0MDlh
Li4xM2RiYjhhMTMzMTgwYzJhMjIyZTk0YTg1ZjdmZWZiYjFkNjE3NGJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDUgKzEsNDMgQEAKIDIwMTUtMDEtMTEgIEJyaWFuIEouIEJ1cmcgIDxidXJnQGNzLndhc2hp
bmd0b24uZWR1PgogCisgICAgICAgIFdlYiBSZXBsYXk6IGNhcHR1cmUgYW5kIGRpc3BhdGNoIGtl
eWJvYXJkIGFuZCB3aGVlbCBpbnB1dHMgaW4gV2ViUGFnZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwNDUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSB0aGUgY2FwdHVyZS9kaXNwYXRjaCBlbnRy
eSBwb2ludCBmcm9tIFVzZXJJbnB1dEJyaWRnZSB0byBXZWJQYWdlLgorICAgICAgICBMaWtlIGZv
ciBtb3VzZSBldmVudHMsIHJlYXJyYW5nZSBjb2RlIHBhdGhzIHNvIHRoYXQgaW5wdXRzIGNhbiBi
ZSBkaXNwYXRjaGVkCisgICAgICAgIGR1cmluZyByZXBsYXkgd2l0aG91dCBzZW5kaW5nIElQQyBt
ZXNzYWdlcyB0byBVSVByb2Nlc3MuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViRXZlbnQuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1JlcGxheS9XS0lucHV0cy5qc29uOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvUmVwbGF5L1dLUmVwbGF5SW5wdXRDb2RlcnMuY3BwOgorICAgICAgICAoSlNDOjpFbmNv
ZGluZ1RyYWl0czxXZWJLZXlib2FyZEV2ZW50Pjo6ZW5jb2RlVmFsdWUpOiBBZGRlZC4KKyAgICAg
ICAgKEpTQzo6RW5jb2RpbmdUcmFpdHM8V2ViS2V5Ym9hcmRFdmVudD46OmRlY29kZVZhbHVlKTog
QWRkZWQuCisgICAgICAgIChKU0M6OkVuY29kaW5nVHJhaXRzPFdlYldoZWVsRXZlbnQ+OjplbmNv
ZGVWYWx1ZSk6IEFkZGVkLgorICAgICAgICAoSlNDOjpFbmNvZGluZ1RyYWl0czxXZWJXaGVlbEV2
ZW50Pjo6ZGVjb2RlVmFsdWUpOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1JlcGxheS9X
S1JlcGxheUlucHV0Q29kZXJzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9SZXBsYXkvV0tSZXBs
YXlJbnB1dERpc3BhdGNoTWV0aG9kcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkhhbmRsZUtleUV2
ZW50OjpkaXNwYXRjaCk6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpIYW5kbGVXaGVlbEV2ZW50
OjpkaXNwYXRjaCk6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y29udGV4dE1lbnVBdFBvaW50SW5XaW5k
b3cpOgorICAgICAgICAoV2ViS2l0Ojpmb3J3YXJkQ29udGV4dE1lbnVFdmVudCk6IFJlbmFtZSBm
cm9tIGhhbmRsZUNvbnRleHRNZW51RXZlbnQuCisgICAgICAgIChXZWJLaXQ6OmZvcndhcmRNb3Vz
ZUV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6Zm9yd2FyZFdoZWVsRXZlbnQpOiBSZW5hbWUgZnJv
bSBoYW5kbGVXaGVlbEV2ZW50LgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp3aGVlbEV2ZW50
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6aGFuZGxlV2hlZWxFdmVudCk6IEFkZGVkLgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp3aGVlbEV2ZW50U3luY0ZvclRlc3RpbmcpOgorICAg
ICAgICAoV2ViS2l0Ojpmb3J3YXJkS2V5RXZlbnQpOiBSZW5hbWUgZnJvbSBoYW5kbGVLZXlFdmVu
dC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6a2V5RXZlbnQpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjpoYW5kbGVLZXlFdmVudCk6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjprZXlFdmVudFN5bmNGb3JUZXN0aW5nKToKKyAgICAgICAgKFdlYktpdDo6aGFuZGxlQ29u
dGV4dE1lbnVFdmVudCk6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpoYW5kbGVLZXlFdmVudCk6
IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisKKzIwMTUt
MDEtMTEgIEJyaWFuIEouIEJ1cmcgIDxidXJnQGNzLndhc2hpbmd0b24uZWR1PgorCiAgICAgICAg
IFdlYiBSZXBsYXk6IGNhcHR1cmUgYW5kIGRpc3BhdGNoIG1vdXNlIGlucHV0cyBpbiBXZWJQYWdl
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA0NTIK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA2MGNjMmQ3M2ZhYjFmMzQ0NzNiZDk2YWViYjIyMThi
Mjc5MDAwNjA4Li5jNjNlODlkODdhOTUzYzI1MjI0MjI5M2VjNzlmMTAyYmNiYzVhZTE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgpAQCAtNjYyLDExICs2NjIsOCBAQCBfX1pON1dlYkNvcmUxNVN0cmlu
Z1RydW5jYXRvcjV3aWR0aEVSS04zV1RGNlN0cmluZ0VSS05TXzRGb250RU5TMF8yNEVuYWJsZVJv
dW5kaQogX19aTjdXZWJDb3JlMTVVc2VySW5wdXRCcmlkZ2UxMWxvYWRSZXF1ZXN0RVJLTlNfMTZG
cmFtZUxvYWRSZXF1ZXN0RU5TXzExSW5wdXRTb3VyY2VFCiBfX1pON1dlYkNvcmUxNVVzZXJJbnB1
dEJyaWRnZTExcmVsb2FkRnJhbWVFUE5TXzVGcmFtZUViTlNfMTFJbnB1dFNvdXJjZUUKIF9fWk43
V2ViQ29yZTE1VXNlcklucHV0QnJpZGdlMTJ0cnlDbG9zZVBhZ2VFTlNfMTFJbnB1dFNvdXJjZUUK
LV9fWk43V2ViQ29yZTE1VXNlcklucHV0QnJpZGdlMTRoYW5kbGVLZXlFdmVudEVSS05TXzIxUGxh
dGZvcm1LZXlib2FyZEV2ZW50RU5TXzExSW5wdXRTb3VyY2VFCi1fX1pON1dlYkNvcmUxNVVzZXJJ
bnB1dEJyaWRnZTE2aGFuZGxlV2hlZWxFdmVudEVSS05TXzE4UGxhdGZvcm1XaGVlbEV2ZW50RU5T
XzExSW5wdXRTb3VyY2VFCiBfX1pON1dlYkNvcmUxNVVzZXJJbnB1dEJyaWRnZTE2c3RvcExvYWRp
bmdGcmFtZUVQTlNfNUZyYW1lRU5TXzExSW5wdXRTb3VyY2VFCiBfX1pON1dlYkNvcmUxNVVzZXJJ
bnB1dEJyaWRnZTE3c2Nyb2xsUmVjdXJzaXZlbHlFTlNfMTVTY3JvbGxEaXJlY3Rpb25FTlNfMTdT
Y3JvbGxHcmFudWxhcml0eUVOU18xMUlucHV0U291cmNlRQotX19aTjdXZWJDb3JlMTVVc2VySW5w
dXRCcmlkZ2UyMGhhbmRsZUFjY2Vzc0tleUV2ZW50RVJLTlNfMjFQbGF0Zm9ybUtleWJvYXJkRXZl
bnRFTlNfMTFJbnB1dFNvdXJjZUUKIF9fWk43V2ViQ29yZTE1VmlzaWJsZVBvc2l0aW9uQzFFUktO
U184UG9zaXRpb25FTlNfOUVBZmZpbml0eUUKIF9fWk43V2ViQ29yZTE1ZGVmYXVsdExhbmd1YWdl
RXYKIF9fWk43V2ViQ29yZTE1bG9jYWxpemVkU3RyaW5nRVBLYwpAQCAtMzAzNyw3ICszMDM0LDYg
QEAgX19aTjdXZWJDb3JlMTVDb250ZXh0TWVudUl0ZW1DMUVOU18xOUNvbnRleHRNZW51SXRlbVR5
cGVFTlNfMTdDb250ZXh0TWVudUFjdGlvbkUKIF9fWk43V2ViQ29yZTE1Q29udGV4dE1lbnVJdGVt
QzFFTlNfMTlDb250ZXh0TWVudUl0ZW1UeXBlRU5TXzE3Q29udGV4dE1lbnVBY3Rpb25FUktOM1dU
RjZTdHJpbmdFYmIKIF9fWk43V2ViQ29yZTE1Q29udGV4dE1lbnVJdGVtQzFFUDEwTlNNZW51SXRl
bQogX19aTjdXZWJDb3JlMTVDb250ZXh0TWVudUl0ZW1EMUV2Ci1fX1pON1dlYkNvcmUxNVVzZXJJ
bnB1dEJyaWRnZTIyaGFuZGxlQ29udGV4dE1lbnVFdmVudEVSS05TXzE4UGxhdGZvcm1Nb3VzZUV2
ZW50RVBLTlNfNUZyYW1lRU5TXzExSW5wdXRTb3VyY2VFCiBfX1pON1dlYkNvcmUyMUNvbnRleHRN
ZW51Q29udHJvbGxlcjE2Y2xlYXJDb250ZXh0TWVudUV2CiBfX1pON1dlYkNvcmUyMUNvbnRleHRN
ZW51Q29udHJvbGxlcjIzY29udGV4dE1lbnVJdGVtU2VsZWN0ZWRFUE5TXzE1Q29udGV4dE1lbnVJ
dGVtRQogX19aTjdXZWJDb3JlMjFjb250ZXh0TWVudUl0ZW1WZWN0b3JFUDE0TlNNdXRhYmxlQXJy
YXkKQEAgLTM1NDAsOSArMzUzNiw2IEBAIF9fWk4zSlNDMTFJbnB1dFRyYWl0c0lON1dlYkNvcmUx
MlRyeUNsb3NlUGFnZUVFNmVuY29kZUVSTlNfMTJFbmNvZGVkVmFsdWVFUktTMl8KIF9fWk4zSlND
MTFJbnB1dFRyYWl0c0lON1dlYkNvcmUxM0RPTVRpbWVyRmlyZWRFRTR0eXBlRXYKIF9fWk4zSlND
MTFJbnB1dFRyYWl0c0lON1dlYkNvcmUxM0RPTVRpbWVyRmlyZWRFRTZkZWNvZGVFUk5TXzEyRW5j
b2RlZFZhbHVlRVJOU3QzX18xMTB1bmlxdWVfcHRySVMyX05TNl8xNGRlZmF1bHRfZGVsZXRlSVMy
X0VFRUUKIF9fWk4zSlNDMTFJbnB1dFRyYWl0c0lON1dlYkNvcmUxM0RPTVRpbWVyRmlyZWRFRTZl
bmNvZGVFUk5TXzEyRW5jb2RlZFZhbHVlRVJLUzJfCi1fX1pOM0pTQzExSW5wdXRUcmFpdHNJTjdX
ZWJDb3JlMTRIYW5kbGVLZXlQcmVzc0VFNHR5cGVFdgotX19aTjNKU0MxMUlucHV0VHJhaXRzSU43
V2ViQ29yZTE0SGFuZGxlS2V5UHJlc3NFRTZkZWNvZGVFUk5TXzEyRW5jb2RlZFZhbHVlRVJOU3Qz
X18xMTB1bmlxdWVfcHRySVMyX05TNl8xNGRlZmF1bHRfZGVsZXRlSVMyX0VFRUUKLV9fWk4zSlND
MTFJbnB1dFRyYWl0c0lON1dlYkNvcmUxNEhhbmRsZUtleVByZXNzRUU2ZW5jb2RlRVJOU18xMkVu
Y29kZWRWYWx1ZUVSS1MyXwogX19aTjNKU0MxMUlucHV0VHJhaXRzSU43V2ViQ29yZTE0TG9hZFVS
TFJlcXVlc3RFRTR0eXBlRXYKIF9fWk4zSlNDMTFJbnB1dFRyYWl0c0lON1dlYkNvcmUxNExvYWRV
UkxSZXF1ZXN0RUU2ZGVjb2RlRVJOU18xMkVuY29kZWRWYWx1ZUVSTlN0M19fMTEwdW5pcXVlX3B0
cklTMl9OUzZfMTRkZWZhdWx0X2RlbGV0ZUlTMl9FRUVFCiBfX1pOM0pTQzExSW5wdXRUcmFpdHNJ
TjdXZWJDb3JlMTRMb2FkVVJMUmVxdWVzdEVFNmVuY29kZUVSTlNfMTJFbmNvZGVkVmFsdWVFUktT
Ml8KQEAgLTM1NTUsOSArMzU0OCw2IEBAIF9fWk4zSlNDMTFJbnB1dFRyYWl0c0lON1dlYkNvcmUx
NURPTVRpbWVyQ3JlYXRlZEVFNmVuY29kZUVSTlNfMTJFbmNvZGVkVmFsdWVFUktTCiBfX1pOM0pT
QzExSW5wdXRUcmFpdHNJTjdXZWJDb3JlMTVGZXRjaFBsdWdpbkRhdGFFRTR0eXBlRXYKIF9fWk4z
SlNDMTFJbnB1dFRyYWl0c0lON1dlYkNvcmUxNUZldGNoUGx1Z2luRGF0YUVFNmRlY29kZUVSTlNf
MTJFbmNvZGVkVmFsdWVFUk5TdDNfXzExMHVuaXF1ZV9wdHJJUzJfTlM2XzE0ZGVmYXVsdF9kZWxl
dGVJUzJfRUVFRQogX19aTjNKU0MxMUlucHV0VHJhaXRzSU43V2ViQ29yZTE1RmV0Y2hQbHVnaW5E
YXRhRUU2ZW5jb2RlRVJOU18xMkVuY29kZWRWYWx1ZUVSS1MyXwotX19aTjNKU0MxMUlucHV0VHJh
aXRzSU43V2ViQ29yZTE2SGFuZGxlV2hlZWxFdmVudEVFNHR5cGVFdgotX19aTjNKU0MxMUlucHV0
VHJhaXRzSU43V2ViQ29yZTE2SGFuZGxlV2hlZWxFdmVudEVFNmRlY29kZUVSTlNfMTJFbmNvZGVk
VmFsdWVFUk5TdDNfXzExMHVuaXF1ZV9wdHJJUzJfTlM2XzE0ZGVmYXVsdF9kZWxldGVJUzJfRUVF
RQotX19aTjNKU0MxMUlucHV0VHJhaXRzSU43V2ViQ29yZTE2SGFuZGxlV2hlZWxFdmVudEVFNmVu
Y29kZUVSTlNfMTJFbmNvZGVkVmFsdWVFUktTMl8KIF9fWk4zSlNDMTFJbnB1dFRyYWl0c0lON1dl
YkNvcmUxNlN0b3BMb2FkaW5nRnJhbWVFRTR0eXBlRXYKIF9fWk4zSlNDMTFJbnB1dFRyYWl0c0lO
N1dlYkNvcmUxNlN0b3BMb2FkaW5nRnJhbWVFRTZkZWNvZGVFUk5TXzEyRW5jb2RlZFZhbHVlRVJO
U3QzX18xMTB1bmlxdWVfcHRySVMyX05TNl8xNGRlZmF1bHRfZGVsZXRlSVMyX0VFRUUKIF9fWk4z
SlNDMTFJbnB1dFRyYWl0c0lON1dlYkNvcmUxNlN0b3BMb2FkaW5nRnJhbWVFRTZlbmNvZGVFUk5T
XzEyRW5jb2RlZFZhbHVlRVJLUzJfCkBAIC0zNTk3LDggKzM1ODcsMTIgQEAgX19aTjNKU0MxMUlu
cHV0VHJhaXRzSU43V2ViQ29yZTMwUmVzb3VyY2VMb2FkZXJEaWRGaW5pc2hMb2FkaW5nRUU2ZW5j
b2RlRVJOU18xMkUKIF9fWk4zSlNDMTFJbnB1dFRyYWl0c0lON1dlYkNvcmUzMlJlc291cmNlTG9h
ZGVyRGlkUmVjZWl2ZVJlc3BvbnNlRUU0dHlwZUV2CiBfX1pOM0pTQzExSW5wdXRUcmFpdHNJTjdX
ZWJDb3JlMzJSZXNvdXJjZUxvYWRlckRpZFJlY2VpdmVSZXNwb25zZUVFNmRlY29kZUVSTlNfMTJF
bmNvZGVkVmFsdWVFUk5TdDNfXzExMHVuaXF1ZV9wdHJJUzJfTlM2XzE0ZGVmYXVsdF9kZWxldGVJ
UzJfRUVFRQogX19aTjNKU0MxMUlucHV0VHJhaXRzSU43V2ViQ29yZTMyUmVzb3VyY2VMb2FkZXJE
aWRSZWNlaXZlUmVzcG9uc2VFRTZlbmNvZGVFUk5TXzEyRW5jb2RlZFZhbHVlRVJLUzJfCitfX1pO
M0pTQzE0RW5jb2RpbmdUcmFpdHNJTjdXZWJDb3JlMTVLZXlwcmVzc0NvbW1hbmRFRTExZGVjb2Rl
VmFsdWVFUk5TXzEyRW5jb2RlZFZhbHVlRVJTMl8KK19fWk4zSlNDMTRFbmNvZGluZ1RyYWl0c0lO
N1dlYkNvcmUxNUtleXByZXNzQ29tbWFuZEVFMTFlbmNvZGVWYWx1ZUVSS1MyXwogX19aTjNKU0Mx
NEVuY29kaW5nVHJhaXRzSU43V2ViQ29yZThJbnRQb2ludEVFMTFkZWNvZGVWYWx1ZUVSTlNfMTJF
bmNvZGVkVmFsdWVFUlMyXwogX19aTjNKU0MxNEVuY29kaW5nVHJhaXRzSU43V2ViQ29yZThJbnRQ
b2ludEVFMTFlbmNvZGVWYWx1ZUVSS1MyXworX19aTjNKU0MxNEVuY29kaW5nVHJhaXRzSU43V2Vi
Q29yZTlGbG9hdFNpemVFRTExZGVjb2RlVmFsdWVFUk5TXzEyRW5jb2RlZFZhbHVlRVJTMl8KK19f
Wk4zSlNDMTRFbmNvZGluZ1RyYWl0c0lON1dlYkNvcmU5RmxvYXRTaXplRUUxMWVuY29kZVZhbHVl
RVJLUzJfCiBfX1pON1dlYkNvcmUyMEV2ZW50TG9vcElucHV0RXh0ZW50QzFFUk4zSlNDMTFJbnB1
dEN1cnNvckUKIF9fWk43V2ViQ29yZTIwRXZlbnRMb29wSW5wdXRFeHRlbnREMUV2CiBfX1pOSzdX
ZWJDb3JlMTRSZXNvdXJjZUxvYWRlcjE3YWN0aXZlSW5wdXRDdXJzb3JFdgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVwbGF5L1VzZXJJbnB1dEJyaWRnZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZXBsYXkvVXNlcklucHV0QnJpZGdlLmNwcAppbmRleCAwYjFmZDI5NDE4NWM0NzEzMmIyZjNi
MjljNGMxOGI1ZmRiZDhjZTVjLi42NjhhMDcwY2ViMjY5OTEyZjQ4YmI1NTQyZTg0MjllOGFkM2Qw
ZTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvVXNlcklucHV0QnJpZGdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvVXNlcklucHV0QnJpZGdlLmNwcApAQCAtMzQs
OSArMzQsNiBAQAogI2luY2x1ZGUgIkZyYW1lTG9hZFJlcXVlc3QuaCIKICNpbmNsdWRlICJNYWlu
RnJhbWUuaCIKICNpbmNsdWRlICJQYWdlLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1LZXlib2FyZEV2
ZW50LmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCi0jaW5jbHVkZSAiUGxhdGZv
cm1XaGVlbEV2ZW50LmgiCiAKICNpZiBFTkFCTEUoV0VCX1JFUExBWSkKICNpbmNsdWRlICJSZXBs
YXlDb250cm9sbGVyLmgiCkBAIC03NSw1NCArNzIsNiBAQCBJbnB1dEN1cnNvciYgVXNlcklucHV0
QnJpZGdlOjphY3RpdmVDdXJzb3IoKSBjb25zdAogfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQ09O
VEVYVF9NRU5VUykKLWJvb2wgVXNlcklucHV0QnJpZGdlOjpoYW5kbGVDb250ZXh0TWVudUV2ZW50
KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgbW91c2VFdmVudCwgY29uc3QgRnJhbWUqIGZyYW1l
LCBJbnB1dFNvdXJjZSkKLXsKLSAgICByZXR1cm4gZnJhbWUtPmV2ZW50SGFuZGxlcigpLnNlbmRD
b250ZXh0TWVudUV2ZW50KG1vdXNlRXZlbnQpOwotfQotI2VuZGlmCi0KLWJvb2wgVXNlcklucHV0
QnJpZGdlOjpoYW5kbGVLZXlFdmVudChjb25zdCBQbGF0Zm9ybUtleWJvYXJkRXZlbnQmIGtleUV2
ZW50LCBJbnB1dFNvdXJjZSBpbnB1dFNvdXJjZSkKLXsKLSNpZiBFTkFCTEUoV0VCX1JFUExBWSkK
LSAgICBFQVJMWV9SRVRVUk5fSUZfU0hPVUxEX0lHTk9SRV9JTlBVVDsKLQotICAgIElucHV0Q3Vy
c29yJiBjdXJzb3IgPSBhY3RpdmVDdXJzb3IoKTsKLSAgICBpZiAoY3Vyc29yLmlzQ2FwdHVyaW5n
KCkpIHsKLSAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtS2V5Ym9hcmRFdmVudD4gb3du
ZWRFdmVudCA9IHN0ZDo6bWFrZV91bmlxdWU8UGxhdGZvcm1LZXlib2FyZEV2ZW50PihrZXlFdmVu
dCk7Ci0gICAgICAgIGN1cnNvci5hcHBlbmRJbnB1dDxIYW5kbGVLZXlQcmVzcz4oV1RGOjptb3Zl
KG93bmVkRXZlbnQpKTsKLSAgICB9Ci0gICAgRXZlbnRMb29wSW5wdXRFeHRlbnQgZXh0ZW50KGN1
cnNvcik7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShpbnB1dFNvdXJjZSk7Ci0jZW5kaWYKLQot
ICAgIHJldHVybiBtX3BhZ2UuZm9jdXNDb250cm9sbGVyKCkuZm9jdXNlZE9yTWFpbkZyYW1lKCku
ZXZlbnRIYW5kbGVyKCkua2V5RXZlbnQoa2V5RXZlbnQpOwotfQotCi1ib29sIFVzZXJJbnB1dEJy
aWRnZTo6aGFuZGxlQWNjZXNzS2V5RXZlbnQoY29uc3QgUGxhdGZvcm1LZXlib2FyZEV2ZW50JiBr
ZXlFdmVudCwgSW5wdXRTb3VyY2UpCi17Ci0gICAgcmV0dXJuIG1fcGFnZS5mb2N1c0NvbnRyb2xs
ZXIoKS5mb2N1c2VkT3JNYWluRnJhbWUoKS5ldmVudEhhbmRsZXIoKS5oYW5kbGVBY2Nlc3NLZXko
a2V5RXZlbnQpOwotfQotCi1ib29sIFVzZXJJbnB1dEJyaWRnZTo6aGFuZGxlV2hlZWxFdmVudChj
b25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQsIElucHV0U291cmNlIGlucHV0U291
cmNlKQotewotI2lmIEVOQUJMRShXRUJfUkVQTEFZKQotICAgIEVBUkxZX1JFVFVSTl9JRl9TSE9V
TERfSUdOT1JFX0lOUFVUOwotCi0gICAgSW5wdXRDdXJzb3ImIGN1cnNvciA9IGFjdGl2ZUN1cnNv
cigpOwotICAgIGlmIChjdXJzb3IuaXNDYXB0dXJpbmcoKSkgewotICAgICAgICBzdGQ6OnVuaXF1
ZV9wdHI8UGxhdGZvcm1XaGVlbEV2ZW50PiBvd25lZEV2ZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxQ
bGF0Zm9ybVdoZWVsRXZlbnQ+KHdoZWVsRXZlbnQpOwotICAgICAgICBjdXJzb3IuYXBwZW5kSW5w
dXQ8SGFuZGxlV2hlZWxFdmVudD4oV1RGOjptb3ZlKG93bmVkRXZlbnQpKTsKLSAgICB9Ci0gICAg
RXZlbnRMb29wSW5wdXRFeHRlbnQgZXh0ZW50KGN1cnNvcik7Ci0jZWxzZQotICAgIFVOVVNFRF9Q
QVJBTShpbnB1dFNvdXJjZSk7Ci0jZW5kaWYKLQotICAgIHJldHVybiBtX3BhZ2UubWFpbkZyYW1l
KCkuZXZlbnRIYW5kbGVyKCkuaGFuZGxlV2hlZWxFdmVudCh3aGVlbEV2ZW50KTsKLX0KLQogdm9p
ZCBVc2VySW5wdXRCcmlkZ2U6OmZvY3VzU2V0QWN0aXZlKGJvb2wgYWN0aXZlLCBJbnB1dFNvdXJj
ZSkKIHsKICAgICBtX3BhZ2UuZm9jdXNDb250cm9sbGVyKCkuc2V0QWN0aXZlKGFjdGl2ZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvVXNlcklucHV0QnJpZGdlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZXBsYXkvVXNlcklucHV0QnJpZGdlLmgKaW5kZXggMDQxYTNmYTA0YWQyNTlj
ZWRkNTNiMDgwYTgzYTYxMmU4MWQ0ZTkwOC4uYzFkNTk3N2E4MDliODY3MTE0NmIwNjQ3MTFkZjdl
NjM4OTYzNjliOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1VzZXJJbnB1dEJy
aWRnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9Vc2VySW5wdXRCcmlkZ2UuaApAQCAt
NDEsOSArNDEsNiBAQCBzdHJ1Y3QgRnJhbWVMb2FkUmVxdWVzdDsKIAogY2xhc3MgRnJhbWU7CiBj
bGFzcyBQYWdlOwotY2xhc3MgUGxhdGZvcm1LZXlib2FyZEV2ZW50OwotY2xhc3MgUGxhdGZvcm1N
b3VzZUV2ZW50OwotY2xhc3MgUGxhdGZvcm1XaGVlbEV2ZW50OwogCiAvLyBSZWFsIHVzZXIgaW5w
dXRzIGNvbWUgZnJvbSBXZWJLaXQgb3IgV2ViS2l0Mi4KIC8vIFN5bnRoZXRpYyBpbnB1dHMgY29t
ZSBmcm9tIHdpdGhpbiBXZWJDb3JlIChpLmUuLCBmcm9tIHdlYiByZXBsYXkgb3IgZmFrZSBtb3Vz
ZSBtb3ZlcykuCkBAIC03MSwxMiArNjgsNiBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIC8vIFVz
ZXIgaW5wdXQgQVBJcy4KLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICBXRUJDT1JFX0VY
UE9SVCBib29sIGhhbmRsZUNvbnRleHRNZW51RXZlbnQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50
JiwgY29uc3QgRnJhbWUqLCBJbnB1dFNvdXJjZSBzb3VyY2UgPSBJbnB1dFNvdXJjZTo6VXNlcik7
Ci0jZW5kaWYKLSAgICBXRUJDT1JFX0VYUE9SVCBib29sIGhhbmRsZVdoZWVsRXZlbnQoY29uc3Qg
UGxhdGZvcm1XaGVlbEV2ZW50JiwgSW5wdXRTb3VyY2Ugc291cmNlID0gSW5wdXRTb3VyY2U6OlVz
ZXIpOwotICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaGFuZGxlS2V5RXZlbnQoY29uc3QgUGxhdGZv
cm1LZXlib2FyZEV2ZW50JiwgSW5wdXRTb3VyY2Ugc291cmNlID0gSW5wdXRTb3VyY2U6OlVzZXIp
OwotICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaGFuZGxlQWNjZXNzS2V5RXZlbnQoY29uc3QgUGxh
dGZvcm1LZXlib2FyZEV2ZW50JiwgSW5wdXRTb3VyY2Ugc291cmNlID0gSW5wdXRTb3VyY2U6OlVz
ZXIpOwogICAgIHZvaWQgZm9jdXNTZXRBY3RpdmUoYm9vbCBhY3RpdmUsIElucHV0U291cmNlIHNv
dXJjZSA9IElucHV0U291cmNlOjpVc2VyKTsKICAgICB2b2lkIGZvY3VzU2V0Rm9jdXNlZChib29s
IGZvY3VzZWQsIElucHV0U291cmNlIHNvdXJjZSA9IElucHV0U291cmNlOjpVc2VyKTsKICAgICBX
RUJDT1JFX0VYUE9SVCBib29sIHNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbERpcmVjdGlvbiwgU2Ny
b2xsR3JhbnVsYXJpdHksIElucHV0U291cmNlIHNvdXJjZSA9IElucHV0U291cmNlOjpVc2VyKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9XZWJJbnB1dHMuanNvbiBiL1NvdXJj
ZS9XZWJDb3JlL3JlcGxheS9XZWJJbnB1dHMuanNvbgppbmRleCAyN2VjOTk0ZWEzZTY5N2ZhZWI3
ZWI3ZWM1NzM5NTg0NWU5NmEwYzczLi43NzhiZGYzMTE0OTRhNTg1NTQ1OTZmYzJiMDYzYjJiMzBi
NmFhM2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvV2ViSW5wdXRzLmpzb24K
KysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1dlYklucHV0cy5qc29uCkBAIC00Nyw0NiArNDcs
MTAgQEAKICAgICAgICAgICAgICAgICAiaGVhZGVyIjogImhpc3RvcnkvSGlzdG9yeUl0ZW0uaCIK
ICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAi
TW9kaWZpZXJzIiwgIm1vZGUiOiAiU0NBTEFSIiwgInN0b3JhZ2UiOiAidWludDhfdCIsCi0gICAg
ICAgICAgICAgICAgImVuY2xvc2luZ19jbGFzcyI6ICJQbGF0Zm9ybUV2ZW50IiwKLSAgICAgICAg
ICAgICAgICAiZmxhZ3MiOiBbIkVOVU0iXSwKLSAgICAgICAgICAgICAgICAidmFsdWVzIjogWyJB
bHRLZXkiLCAiQ3RybEtleSIsICJNZXRhS2V5IiwgIlNoaWZ0S2V5Il0sCi0gICAgICAgICAgICAg
ICAgImhlYWRlciI6ICJwbGF0Zm9ybS9QbGF0Zm9ybUV2ZW50LmgiCi0gICAgICAgICAgICB9LAot
ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICJuYW1lIjogIlBhZ2UiLCAibW9kZSI6ICJP
V05FRCIsCiAgICAgICAgICAgICAgICAgImhlYWRlciI6ICJwYWdlL1BhZ2UuaCIKICAgICAgICAg
ICAgIH0sCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiUGxhdGZvcm1L
ZXlib2FyZEV2ZW50IiwgIm1vZGUiOiAiT1dORUQiLAotICAgICAgICAgICAgICAgICJoZWFkZXIi
OiAicGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgiCi0gICAgICAgICAgICB9LAotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogIlBsYXRmb3JtV2hlZWxFdmVudCIs
ICJtb2RlIjogIk9XTkVEIiwKLSAgICAgICAgICAgICAgICAiaGVhZGVyIjogInBsYXRmb3JtL1Bs
YXRmb3JtV2hlZWxFdmVudC5oIgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJQbGF0Zm9ybVdoZWVsRXZlbnRHcmFudWxhcml0eSIsICJtb2Rl
IjogIlNDQUxBUiIsICJzdG9yYWdlIjogInVpbnQ4X3QiLAotICAgICAgICAgICAgICAgICJmbGFn
cyI6IFsiRU5VTSJdLAotICAgICAgICAgICAgICAgICJ2YWx1ZXMiOiBbIlNjcm9sbEJ5UGFnZVdo
ZWVsRXZlbnQiLCAiU2Nyb2xsQnlQaXhlbFdoZWVsRXZlbnQiXSwKLSAgICAgICAgICAgICAgICAi
aGVhZGVyIjogInBsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oIgotICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJQbGF0Zm9ybVdoZWVsRXZl
bnRQaGFzZSIsICJtb2RlIjogIlNDQUxBUiIsICJzdG9yYWdlIjogInVpbnQ4X3QiLAotICAgICAg
ICAgICAgICAgICJmbGFncyI6IFsiRU5VTSJdLAotICAgICAgICAgICAgICAgICJndWFyZCI6ICJQ
TEFURk9STShDT0NPQSkiLAotICAgICAgICAgICAgICAgICJ2YWx1ZXMiOiBbCi0gICAgICAgICAg
ICAgICAgICAgICJQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU5vbmUiLAotICAgICAgICAgICAgICAg
ICAgICAiUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VCZWdhbiIsCi0gICAgICAgICAgICAgICAgICAg
ICJQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZVN0YXRpb25hcnkiLAotICAgICAgICAgICAgICAgICAg
ICAiUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VDaGFuZ2VkIiwKLSAgICAgICAgICAgICAgICAgICAg
IlBsYXRmb3JtV2hlZWxFdmVudFBoYXNlRW5kZWQiLAotICAgICAgICAgICAgICAgICAgICAiUGxh
dGZvcm1XaGVlbEV2ZW50UGhhc2VDYW5jZWxsZWQiLAotICAgICAgICAgICAgICAgICAgICAiUGxh
dGZvcm1XaGVlbEV2ZW50UGhhc2VNYXlCZWdpbiIKLSAgICAgICAgICAgICAgICBdLAotICAgICAg
ICAgICAgICAgICJoZWFkZXIiOiAicGxhdGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmgiCi0gICAg
ICAgICAgICB9LAotICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICJuYW1lIjogIlBsdWdp
bkRhdGEiLCAibW9kZSI6ICJTSEFSRUQiLAogICAgICAgICAgICAgICAgICJoZWFkZXIiOiAicGx1
Z2lucy9QbHVnaW5EYXRhLmgiCiAgICAgICAgICAgICB9LApAQCAtMTc1LDMyICsxMzksNiBAQAog
ICAgICAgICAgICAgICAgICJoZWFkZXIiOiAicGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YS5oIgog
ICAgICAgICAgICAgfSwKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJU
eXBlIiwgIm1vZGUiOiAiU0NBTEFSIiwgInN0b3JhZ2UiOiAidWludDhfdCIsCi0gICAgICAgICAg
ICAgICAgImVuY2xvc2luZ19jbGFzcyI6ICJQbGF0Zm9ybUV2ZW50IiwKLSAgICAgICAgICAgICAg
ICAiZmxhZ3MiOiBbIkVOVU0iXSwKLSAgICAgICAgICAgICAgICAidmFsdWVzIjogWwotICAgICAg
ICAgICAgICAgICAgICAiTm9UeXBlIiwKLSAgICAgICAgICAgICAgICAgICAgIktleURvd24iLAot
ICAgICAgICAgICAgICAgICAgICAiS2V5VXAiLAotICAgICAgICAgICAgICAgICAgICAiUmF3S2V5
RG93biIsCi0gICAgICAgICAgICAgICAgICAgICJDaGFyIiwKLSAgICAgICAgICAgICAgICAgICAg
Ik1vdXNlTW92ZWQiLAotICAgICAgICAgICAgICAgICAgICAiTW91c2VQcmVzc2VkIiwKLSAgICAg
ICAgICAgICAgICAgICAgIk1vdXNlUmVsZWFzZWQiLAotICAgICAgICAgICAgICAgICAgICAiTW91
c2VTY3JvbGwiLAotICAgICAgICAgICAgICAgICAgICAiV2hlZWwiCi0gICAgICAgICAgICAgICAg
XSwKLSAgICAgICAgICAgICAgICAiZ3VhcmRlZF92YWx1ZXMiOiB7Ci0gICAgICAgICAgICAgICAg
ICAgICJFTkFCTEUoVE9VQ0hfRVZFTlRTKSI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICJU
b3VjaFN0YXJ0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJUb3VjaE1vdmUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgIlRvdWNoRW5kIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJU
b3VjaENhbmNlbCIKLSAgICAgICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgImhlYWRlciI6ICJwbGF0Zm9ybS9QbGF0Zm9ybUV2ZW50LmgiCi0gICAg
ICAgICAgICB9LAotICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICJuYW1lIjogIlVSTCIs
ICJtb2RlIjogIkhFQVZZX1NDQUxBUiIsCiAgICAgICAgICAgICAgICAgImhlYWRlciI6ICJwbGF0
Zm9ybS9VUkwuaCIKICAgICAgICAgICAgIH0KQEAgLTI1NiwyMiArMTk0LDYgQEAKICAgICAgICAg
ICAgICJtZW1iZXJzIjogWyBdCiAgICAgICAgIH0sCiAgICAgICAgIHsKLSAgICAgICAgICAgICJu
YW1lIjogIkhhbmRsZUtleVByZXNzIiwKLSAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJUaGUg
ZW1iZWRkZXIgc2lnbmFsbGVkIGEga2V5IHByZXNzIGV2ZW50LiIsCi0gICAgICAgICAgICAicXVl
dWUiOiAiRVZFTlRfTE9PUCIsCi0gICAgICAgICAgICAibWVtYmVycyI6IFsKLSAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogInBsYXRmb3JtRXZlbnQiLCAidHlwZSI6ICJQbGF0Zm9ybUtleWJvYXJk
RXZlbnQiIH0KLSAgICAgICAgICAgIF0KLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAg
ICAgIm5hbWUiOiAiSGFuZGxlV2hlZWxFdmVudCIsCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24i
OiAiVGhlIGVtYmVkZGVyIHNpZ25hbGxlZCBhIG1vdXNlIHdoZWVsIGV2ZW50LiIsCi0gICAgICAg
ICAgICAicXVldWUiOiAiRVZFTlRfTE9PUCIsCi0gICAgICAgICAgICAibWVtYmVycyI6IFsKLSAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogInBsYXRmb3JtRXZlbnQiLCAidHlwZSI6ICJQbGF0Zm9y
bVdoZWVsRXZlbnQiIH0KLSAgICAgICAgICAgIF0KLSAgICAgICAgfSwKLSAgICAgICAgewogICAg
ICAgICAgICAgIm5hbWUiOiAiSW5pdGlhbGl6ZUhpc3RvcnkiLAogICAgICAgICAgICAgImRlc2Ny
aXB0aW9uIjogIlJlc3RvcmUgdGhlIHNhdmVkIGhpc3RvcnkgaXRlbXMgdGhhdCBjb21wcmlzZSB0
aGUgcGFnZSdzIGJhY2stZm9yd2FyZCBsaXN0LiIsCiAgICAgICAgICAgICAicXVldWUiOiAiRVZF
TlRfTE9PUCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvV2ViUmVwbGF5SW5w
dXRDb2RlcnMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1dlYlJlcGxheUlucHV0Q29kZXJz
LmNwcAppbmRleCA4MDNiMDkwN2I2YTZlNzI5NTBjNTE4NGUwOWRhMDc5ZjU4N2FmYTllLi5iY2M5
OGE0MWJiMTU4MDI2OGM1NmRjYWI2ODgzOGI5Y2RkZjQwMzBhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZXBsYXkvV2ViUmVwbGF5SW5wdXRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlcGxheS9XZWJSZXBsYXlJbnB1dENvZGVycy5jcHAKQEAgLTMxLDE3ICszMSwxNyBAQAog
I2lmIEVOQUJMRShXRUJfUkVQTEFZKQogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRl
ICJGbG9hdFNpemUuaCIKICNpbmNsdWRlICJGb3JtRGF0YS5oIgogI2luY2x1ZGUgIkZyYW1lLmgi
CiAjaW5jbHVkZSAiRnJhbWVMb2FkUmVxdWVzdC5oIgogI2luY2x1ZGUgIkZyYW1lVHJlZS5oIgog
I2luY2x1ZGUgIkhUVFBIZWFkZXJNYXAuaCIKICNpbmNsdWRlICJIaXN0b3J5SXRlbS5oIgorI2lu
Y2x1ZGUgIktleXByZXNzQ29tbWFuZC5oIgogI2luY2x1ZGUgIk1haW5GcmFtZS5oIgogI2luY2x1
ZGUgIk1lbW9pemVkRE9NUmVzdWx0LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgotI2luY2x1ZGUgIlBs
YXRmb3JtS2V5Ym9hcmRFdmVudC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtV2hlZWxFdmVudC5oIgog
I2luY2x1ZGUgIlBsdWdpbkRhdGEuaCIKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCiAjaW5j
bHVkZSAiUmVzb3VyY2VMb2FkVGltaW5nLmgiCkBAIC01Niw2ICs1Niw3IEBACiAjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvSlNSZXBsYXlJbnB1dHMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9CYXNl
NjQuaD4KIAordXNpbmcgV2ViQ29yZTo6RmxvYXRTaXplOwogdXNpbmcgV2ViQ29yZTo6Rm9ybURh
dGE7CiB1c2luZyBXZWJDb3JlOjpGb3JtRGF0YUVsZW1lbnQ7CiB1c2luZyBXZWJDb3JlOjpGcmFt
ZUxvYWRSZXF1ZXN0OwpAQCAtNjMsMTAgKzY0LDYgQEAgdXNpbmcgV2ViQ29yZTo6SFRUUEhlYWRl
ck1hcDsKIHVzaW5nIFdlYkNvcmU6Okhpc3RvcnlJdGVtOwogdXNpbmcgV2ViQ29yZTo6SW50UG9p
bnQ7CiB1c2luZyBXZWJDb3JlOjpNaW1lQ2xhc3NJbmZvOwotdXNpbmcgV2ViQ29yZTo6UGxhdGZv
cm1FdmVudDsKLXVzaW5nIFdlYkNvcmU6OlBsYXRmb3JtS2V5Ym9hcmRFdmVudDsKLXVzaW5nIFdl
YkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDsKLXVzaW5nIFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxF
dmVudEdyYW51bGFyaXR5OwogdXNpbmcgV2ViQ29yZTo6UGx1Z2luRGF0YTsKIHVzaW5nIFdlYkNv
cmU6OlBsdWdpbkluZm87CiB1c2luZyBXZWJDb3JlOjpSZXNvdXJjZUVycm9yOwpAQCAtODEsOSAr
NzgsOCBAQCB1c2luZyBXZWJDb3JlOjpTaGFyZWRCdWZmZXI7CiB1c2luZyBXZWJDb3JlOjpTdWJz
dGl0dXRlRGF0YTsKIHVzaW5nIFdlYkNvcmU6OlVSTDsKIAotI2lmIFBMQVRGT1JNKENPQ09BKQor
I2lmIFVTRShBUFBLSVQpCiB1c2luZyBXZWJDb3JlOjpLZXlwcmVzc0NvbW1hbmQ7Ci11c2luZyBX
ZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTsKICNlbmRpZgogCiAjZGVmaW5lIElNUE9S
VF9GUk9NX1dFQkNPUkVfTkFNRVNQQUNFKG5hbWUpIFwKQEAgLTE1OSw2ICsxNTUsMjcgQEAgRnJh
bWUqIGZyYW1lRnJvbUZyYW1lSW5kZXgoUGFnZSogcGFnZSwgdWludDMyX3QgZnJhbWVJbmRleCkK
IAogbmFtZXNwYWNlIEpTQyB7CiAKK0VuY29kZWRWYWx1ZSBFbmNvZGluZ1RyYWl0czxGbG9hdFNp
emU+OjplbmNvZGVWYWx1ZShjb25zdCBGbG9hdFNpemUmIFNpemUpCit7CisgICAgRW5jb2RlZFZh
bHVlIGVuY29kZWREYXRhID0gRW5jb2RlZFZhbHVlOjpjcmVhdGVPYmplY3QoKTsKKworICAgIEVO
Q09ERV9UWVBFX1dJVEhfS0VZKGVuY29kZWREYXRhLCBmbG9hdCwgd2lkdGgsIFNpemUud2lkdGgo
KSk7CisgICAgRU5DT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZERhdGEsIGZsb2F0LCBoZWlnaHQs
IFNpemUuaGVpZ2h0KCkpOworCisgICAgcmV0dXJuIGVuY29kZWREYXRhOworfQorCitib29sIEVu
Y29kaW5nVHJhaXRzPEZsb2F0U2l6ZT46OmRlY29kZVZhbHVlKEVuY29kZWRWYWx1ZSYgZW5jb2Rl
ZERhdGEsIEZsb2F0U2l6ZSYgU2l6ZSkKK3sKKyAgICBGbG9hdFNpemUgZGVjb2RlZFNpemU7CisK
KyAgICBERUNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkRGF0YSwgZmxvYXQsIHdpZHRoKTsKKyAg
ICBERUNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkRGF0YSwgZmxvYXQsIGhlaWdodCk7CisKKyAg
ICBTaXplID0gRmxvYXRTaXplKHdpZHRoLCBoZWlnaHQpOworICAgIHJldHVybiB0cnVlOworfQor
CiBFbmNvZGVkVmFsdWUgRW5jb2RpbmdUcmFpdHM8Rm9ybURhdGE+OjplbmNvZGVWYWx1ZShSZWZQ
dHI8Rm9ybURhdGE+IGRhdGEpCiB7CiAgICAgRW5jb2RlZFZhbHVlIGVuY29kZWREYXRhID0gRW5j
b2RlZFZhbHVlOjpjcmVhdGVPYmplY3QoKTsKQEAgLTMwNyw2ICszMjQsMjcgQEAgYm9vbCBFbmNv
ZGluZ1RyYWl0czxIVFRQSGVhZGVyTWFwPjo6ZGVjb2RlVmFsdWUoRW5jb2RlZFZhbHVlJiBlbmNv
ZGVkRGF0YSwgc3RkOjoKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorI2lmIFVTRShBUFBLSVQpCitF
bmNvZGVkVmFsdWUgRW5jb2RpbmdUcmFpdHM8S2V5cHJlc3NDb21tYW5kPjo6ZW5jb2RlVmFsdWUo
Y29uc3QgS2V5cHJlc3NDb21tYW5kJiBjb21tYW5kKQoreworICAgIEVuY29kZWRWYWx1ZSBlbmNv
ZGVkVmFsdWUgPSBFbmNvZGVkVmFsdWU6OmNyZWF0ZU9iamVjdCgpOworCisgICAgRU5DT0RFX1RZ
UEVfV0lUSF9LRVkoZW5jb2RlZFZhbHVlLCBTdHJpbmcsIGNvbW1hbmROYW1lLCBjb21tYW5kLmNv
bW1hbmROYW1lKTsKKyAgICBFTkNPREVfT1BUSU9OQUxfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFs
dWUsIFN0cmluZywgdGV4dCwgY29tbWFuZC50ZXh0LCAhY29tbWFuZC50ZXh0LmlzRW1wdHkoKSk7
CisKKyAgICByZXR1cm4gZW5jb2RlZFZhbHVlOworfQorCitib29sIEVuY29kaW5nVHJhaXRzPEtl
eXByZXNzQ29tbWFuZD46OmRlY29kZVZhbHVlKEVuY29kZWRWYWx1ZSYgZW5jb2RlZFZhbHVlLCBL
ZXlwcmVzc0NvbW1hbmQmIGRlY29kZWRWYWx1ZSkKK3sKKyAgICBERUNPREVfVFlQRV9XSVRIX0tF
WShlbmNvZGVkVmFsdWUsIFN0cmluZywgY29tbWFuZE5hbWUpOworICAgIERFQ09ERV9PUFRJT05B
TF9UWVBFX1dJVEhfS0VZKGVuY29kZWRWYWx1ZSwgU3RyaW5nLCB0ZXh0KTsKKworICAgIGRlY29k
ZWRWYWx1ZSA9IHRleHRXYXNEZWNvZGVkID8gS2V5cHJlc3NDb21tYW5kKGNvbW1hbmROYW1lLCB0
ZXh0KSA6IEtleXByZXNzQ29tbWFuZChjb21tYW5kTmFtZSk7CisgICAgcmV0dXJuIHRydWU7Cit9
CisjZW5kaWYgLy8gVVNFKEFQUEtJVCkKKwogdGVtcGxhdGU8PgogRW5jb2RlZFZhbHVlIEVuY29k
aW5nVHJhaXRzPE1pbWVDbGFzc0luZm8+OjplbmNvZGVWYWx1ZShjb25zdCBNaW1lQ2xhc3NJbmZv
JiBpbnB1dCkKIHsKQEAgLTQxOCwxODQgKzQ1Niw2IEBAIGJvb2wgRW5jb2RpbmdUcmFpdHM8SW50
UG9pbnQ+OjpkZWNvZGVWYWx1ZShFbmNvZGVkVmFsdWUmIGVuY29kZWREYXRhLCBJbnRQb2ludCYK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotI2lmIFVTRShBUFBLSVQpCi1FbmNvZGVkVmFsdWUgRW5j
b2RpbmdUcmFpdHM8S2V5cHJlc3NDb21tYW5kPjo6ZW5jb2RlVmFsdWUoY29uc3QgS2V5cHJlc3ND
b21tYW5kJiBjb21tYW5kKQotewotICAgIEVuY29kZWRWYWx1ZSBlbmNvZGVkVmFsdWUgPSBFbmNv
ZGVkVmFsdWU6OmNyZWF0ZU9iamVjdCgpOwotCi0gICAgRU5DT0RFX1RZUEVfV0lUSF9LRVkoZW5j
b2RlZFZhbHVlLCBTdHJpbmcsIGNvbW1hbmROYW1lLCBjb21tYW5kLmNvbW1hbmROYW1lKTsKLSAg
ICBFTkNPREVfT1BUSU9OQUxfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIFN0cmluZywgdGV4
dCwgY29tbWFuZC50ZXh0LCAhY29tbWFuZC50ZXh0LmlzRW1wdHkoKSk7Ci0KLSAgICByZXR1cm4g
ZW5jb2RlZFZhbHVlOwotfQotCi1ib29sIEVuY29kaW5nVHJhaXRzPEtleXByZXNzQ29tbWFuZD46
OmRlY29kZVZhbHVlKEVuY29kZWRWYWx1ZSYgZW5jb2RlZFZhbHVlLCBLZXlwcmVzc0NvbW1hbmQm
IGRlY29kZWRWYWx1ZSkKLXsKLSAgICBERUNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUs
IFN0cmluZywgY29tbWFuZE5hbWUpOwotICAgIERFQ09ERV9PUFRJT05BTF9UWVBFX1dJVEhfS0VZ
KGVuY29kZWRWYWx1ZSwgU3RyaW5nLCB0ZXh0KTsKLQotICAgIGRlY29kZWRWYWx1ZSA9IHRleHRX
YXNEZWNvZGVkID8gS2V5cHJlc3NDb21tYW5kKGNvbW1hbmROYW1lLCB0ZXh0KSA6IEtleXByZXNz
Q29tbWFuZChjb21tYW5kTmFtZSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLWNsYXNzIFBsYXRm
b3JtS2V5Ym9hcmRFdmVudEFwcEtpdCA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybUtleWJvYXJk
RXZlbnQgewotcHVibGljOgotICAgIFBsYXRmb3JtS2V5Ym9hcmRFdmVudEFwcEtpdChjb25zdCBQ
bGF0Zm9ybUtleWJvYXJkRXZlbnQmIGV2ZW50LCBib29sIGhhbmRsZWRCeUlucHV0TWV0aG9kLCBW
ZWN0b3I8S2V5cHJlc3NDb21tYW5kPiYgY29tbWFuZHMpCi0gICAgICAgIDogUGxhdGZvcm1LZXli
b2FyZEV2ZW50KGV2ZW50KQotICAgIHsKLSAgICAgICAgbV9oYW5kbGVkQnlJbnB1dE1ldGhvZCA9
IGhhbmRsZWRCeUlucHV0TWV0aG9kOwotICAgICAgICBtX2NvbW1hbmRzID0gY29tbWFuZHM7Ci0g
ICAgfQotfTsKLSNlbmRpZiAvLyBVU0UoQVBQS0lUKQotCi1FbmNvZGVkVmFsdWUgRW5jb2RpbmdU
cmFpdHM8UGxhdGZvcm1LZXlib2FyZEV2ZW50Pjo6ZW5jb2RlVmFsdWUoY29uc3QgUGxhdGZvcm1L
ZXlib2FyZEV2ZW50JiBpbnB1dCkKLXsKLSAgICBFbmNvZGVkVmFsdWUgZW5jb2RlZFZhbHVlID0g
RW5jb2RlZFZhbHVlOjpjcmVhdGVPYmplY3QoKTsKLQotICAgIEVOQ09ERV9UWVBFX1dJVEhfS0VZ
KGVuY29kZWRWYWx1ZSwgZG91YmxlLCB0aW1lc3RhbXAsIGlucHV0LnRpbWVzdGFtcCgpKTsKLSAg
ICBFTkNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIFBsYXRmb3JtRXZlbnQ6OlR5cGUs
IHR5cGUsIGlucHV0LnR5cGUoKSk7Ci0gICAgRU5DT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZFZh
bHVlLCBQbGF0Zm9ybUV2ZW50OjpNb2RpZmllcnMsIG1vZGlmaWVycywgc3RhdGljX2Nhc3Q8UGxh
dGZvcm1FdmVudDo6TW9kaWZpZXJzPihpbnB1dC5tb2RpZmllcnMoKSkpOwotICAgIEVOQ09ERV9U
WVBFX1dJVEhfS0VZKGVuY29kZWRWYWx1ZSwgU3RyaW5nLCB0ZXh0LCBpbnB1dC50ZXh0KCkpOwot
ICAgIEVOQ09ERV9UWVBFX1dJVEhfS0VZKGVuY29kZWRWYWx1ZSwgU3RyaW5nLCB1bm1vZGlmaWVk
VGV4dCwgaW5wdXQudW5tb2RpZmllZFRleHQoKSk7Ci0gICAgRU5DT0RFX1RZUEVfV0lUSF9LRVko
ZW5jb2RlZFZhbHVlLCBTdHJpbmcsIGtleUlkZW50aWZpZXIsIGlucHV0LmtleUlkZW50aWZpZXIo
KSk7Ci0gICAgRU5DT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZFZhbHVlLCBpbnQsIHdpbmRvd3NW
aXJ0dWFsS2V5Q29kZSwgaW5wdXQud2luZG93c1ZpcnR1YWxLZXlDb2RlKCkpOwotICAgIEVOQ09E
RV9UWVBFX1dJVEhfS0VZKGVuY29kZWRWYWx1ZSwgaW50LCBuYXRpdmVWaXJ0dWFsS2V5Q29kZSwg
aW5wdXQubmF0aXZlVmlydHVhbEtleUNvZGUoKSk7Ci0gICAgRU5DT0RFX1RZUEVfV0lUSF9LRVko
ZW5jb2RlZFZhbHVlLCBpbnQsIG1hY0NoYXJDb2RlLCBpbnB1dC5tYWNDaGFyQ29kZSgpKTsKLSAg
ICBFTkNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIGJvb2wsIGF1dG9SZXBlYXQsIGlu
cHV0LmlzQXV0b1JlcGVhdCgpKTsKLSAgICBFTkNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFs
dWUsIGJvb2wsIGtleXBhZCwgaW5wdXQuaXNLZXlwYWQoKSk7Ci0gICAgRU5DT0RFX1RZUEVfV0lU
SF9LRVkoZW5jb2RlZFZhbHVlLCBib29sLCBzeXN0ZW1LZXksIGlucHV0LmlzU3lzdGVtS2V5KCkp
OwotI2lmIFVTRShBUFBLSVQpCi0gICAgRU5DT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZFZhbHVl
LCBib29sLCBoYW5kbGVkQnlJbnB1dE1ldGhvZCwgaW5wdXQuaGFuZGxlZEJ5SW5wdXRNZXRob2Qo
KSk7Ci0gICAgRU5DT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZFZhbHVlLCBWZWN0b3I8S2V5cHJl
c3NDb21tYW5kPiwgY29tbWFuZHMsIGlucHV0LmNvbW1hbmRzKCkpOwotI2VuZGlmCi0gICAgcmV0
dXJuIGVuY29kZWRWYWx1ZTsKLX0KLQotYm9vbCBFbmNvZGluZ1RyYWl0czxQbGF0Zm9ybUtleWJv
YXJkRXZlbnQ+OjpkZWNvZGVWYWx1ZShFbmNvZGVkVmFsdWUmIGVuY29kZWRWYWx1ZSwgc3RkOjp1
bmlxdWVfcHRyPFBsYXRmb3JtS2V5Ym9hcmRFdmVudD4mIGlucHV0KQotewotICAgIERFQ09ERV9U
WVBFX1dJVEhfS0VZKGVuY29kZWRWYWx1ZSwgZG91YmxlLCB0aW1lc3RhbXApOwotICAgIERFQ09E
RV9UWVBFX1dJVEhfS0VZKGVuY29kZWRWYWx1ZSwgUGxhdGZvcm1FdmVudDo6VHlwZSwgdHlwZSk7
Ci0gICAgREVDT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZFZhbHVlLCBQbGF0Zm9ybUV2ZW50OjpN
b2RpZmllcnMsIG1vZGlmaWVycyk7Ci0gICAgREVDT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZFZh
bHVlLCBTdHJpbmcsIHRleHQpOwotICAgIERFQ09ERV9UWVBFX1dJVEhfS0VZKGVuY29kZWRWYWx1
ZSwgU3RyaW5nLCB1bm1vZGlmaWVkVGV4dCk7Ci0gICAgREVDT0RFX1RZUEVfV0lUSF9LRVkoZW5j
b2RlZFZhbHVlLCBTdHJpbmcsIGtleUlkZW50aWZpZXIpOwotICAgIERFQ09ERV9UWVBFX1dJVEhf
S0VZKGVuY29kZWRWYWx1ZSwgaW50LCB3aW5kb3dzVmlydHVhbEtleUNvZGUpOwotICAgIERFQ09E
RV9UWVBFX1dJVEhfS0VZKGVuY29kZWRWYWx1ZSwgaW50LCBuYXRpdmVWaXJ0dWFsS2V5Q29kZSk7
Ci0gICAgREVDT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZFZhbHVlLCBpbnQsIG1hY0NoYXJDb2Rl
KTsKLSAgICBERUNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIGJvb2wsIGF1dG9SZXBl
YXQpOwotICAgIERFQ09ERV9UWVBFX1dJVEhfS0VZKGVuY29kZWRWYWx1ZSwgYm9vbCwga2V5cGFk
KTsKLSAgICBERUNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIGJvb2wsIHN5c3RlbUtl
eSk7Ci0jaWYgVVNFKEFQUEtJVCkKLSAgICBERUNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFs
dWUsIGJvb2wsIGhhbmRsZWRCeUlucHV0TWV0aG9kKTsKLSAgICBERUNPREVfVFlQRV9XSVRIX0tF
WShlbmNvZGVkVmFsdWUsIFZlY3RvcjxLZXlwcmVzc0NvbW1hbmQ+LCBjb21tYW5kcyk7Ci0jZW5k
aWYKLQotICAgIFBsYXRmb3JtS2V5Ym9hcmRFdmVudCBwbGF0Zm9ybUV2ZW50ID0gUGxhdGZvcm1L
ZXlib2FyZEV2ZW50KHR5cGUsIHRleHQsIHVubW9kaWZpZWRUZXh0LCBrZXlJZGVudGlmaWVyLCBX
VEY6OnNhZmVDYXN0PGludD4od2luZG93c1ZpcnR1YWxLZXlDb2RlKSwgV1RGOjpzYWZlQ2FzdDxp
bnQ+KG5hdGl2ZVZpcnR1YWxLZXlDb2RlKSwgV1RGOjpzYWZlQ2FzdDxpbnQ+KG1hY0NoYXJDb2Rl
KSwgYXV0b1JlcGVhdCwga2V5cGFkLCBzeXN0ZW1LZXksIG1vZGlmaWVycywgdGltZXN0YW1wKTsK
LSNpZiBVU0UoQVBQS0lUKQotICAgIGlucHV0ID0gc3RkOjptYWtlX3VuaXF1ZTxQbGF0Zm9ybUtl
eWJvYXJkRXZlbnRBcHBLaXQ+KHBsYXRmb3JtRXZlbnQsIGhhbmRsZWRCeUlucHV0TWV0aG9kLCBj
b21tYW5kcyk7Ci0jZWxzZQotICAgIGlucHV0ID0gc3RkOjptYWtlX3VuaXF1ZTxQbGF0Zm9ybUtl
eWJvYXJkRXZlbnQ+KHBsYXRmb3JtRXZlbnQpOwotI2VuZGlmCi0gICAgcmV0dXJuIHRydWU7Ci19
Ci0KLSNpZiBQTEFURk9STShDT0NPQSkKLXN0cnVjdCBQbGF0Zm9ybVdoZWVsRXZlbnRDb2NvYUFy
Z3VtZW50cyB7Ci0gICAgYm9vbCBkaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2U7Ci0gICAgYm9v
bCBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzOwotICAgIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNl
IHBoYXNlOwotICAgIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlIG1vbWVudHVtUGhhc2U7Ci0gICAg
aW50IHNjcm9sbENvdW50OwotICAgIGZsb2F0IHVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YVg7
Ci0gICAgZmxvYXQgdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhWTsKLX07Ci0KLWNsYXNzIFBs
YXRmb3JtV2hlZWxFdmVudENvY29hIDogcHVibGljIFBsYXRmb3JtV2hlZWxFdmVudCB7Ci1wdWJs
aWM6Ci0gICAgUGxhdGZvcm1XaGVlbEV2ZW50Q29jb2EoUGxhdGZvcm1XaGVlbEV2ZW50JiBldmVu
dCwgUGxhdGZvcm1XaGVlbEV2ZW50Q29jb2FBcmd1bWVudHMmIGFyZ3VtZW50cykKLSAgICAgICAg
OiBQbGF0Zm9ybVdoZWVsRXZlbnQoZXZlbnQpCi0gICAgewotICAgICAgICBtX2RpcmVjdGlvbklu
dmVydGVkRnJvbURldmljZSA9IGFyZ3VtZW50cy5kaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2U7
Ci0gICAgICAgIG1faGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcyA9IGFyZ3VtZW50cy5oYXNQcmVj
aXNlU2Nyb2xsaW5nRGVsdGFzOwotICAgICAgICBtX3BoYXNlID0gYXJndW1lbnRzLnBoYXNlOwot
ICAgICAgICBtX21vbWVudHVtUGhhc2UgPSBhcmd1bWVudHMubW9tZW50dW1QaGFzZTsKLSAgICAg
ICAgbV9zY3JvbGxDb3VudCA9IGFyZ3VtZW50cy5zY3JvbGxDb3VudDsKLSAgICAgICAgbV91bmFj
Y2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGFYID0gYXJndW1lbnRzLnVuYWNjZWxlcmF0ZWRTY3JvbGxp
bmdEZWx0YVg7Ci0gICAgICAgIG1fdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhWSA9IGFyZ3Vt
ZW50cy51bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGFZOwotICAgIH0KLX07Ci0jZW5kaWYgLy8g
UExBVEZPUk0oQ09DT0EpCi0KLUVuY29kZWRWYWx1ZSBFbmNvZGluZ1RyYWl0czxQbGF0Zm9ybVdo
ZWVsRXZlbnQ+OjplbmNvZGVWYWx1ZShjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGlucHV0KQot
ewotICAgIEVuY29kZWRWYWx1ZSBlbmNvZGVkRGF0YSA9IEVuY29kZWRWYWx1ZTo6Y3JlYXRlT2Jq
ZWN0KCk7Ci0KLSAgICBFTkNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkRGF0YSwgaW50LCBwb3Np
dGlvblgsIGlucHV0LnBvc2l0aW9uKCkueCgpKTsKLSAgICBFTkNPREVfVFlQRV9XSVRIX0tFWShl
bmNvZGVkRGF0YSwgaW50LCBwb3NpdGlvblksIGlucHV0LnBvc2l0aW9uKCkueSgpKTsKLSAgICBF
TkNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkRGF0YSwgaW50LCBnbG9iYWxQb3NpdGlvblgsIGlu
cHV0Lmdsb2JhbFBvc2l0aW9uKCkueCgpKTsKLSAgICBFTkNPREVfVFlQRV9XSVRIX0tFWShlbmNv
ZGVkRGF0YSwgaW50LCBnbG9iYWxQb3NpdGlvblksIGlucHV0Lmdsb2JhbFBvc2l0aW9uKCkueSgp
KTsKLSAgICBFTkNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkRGF0YSwgYm9vbCwgc2hpZnRLZXks
IGlucHV0LnNoaWZ0S2V5KCkpOwotICAgIEVOQ09ERV9UWVBFX1dJVEhfS0VZKGVuY29kZWREYXRh
LCBib29sLCBjdHJsS2V5LCBpbnB1dC5jdHJsS2V5KCkpOwotICAgIEVOQ09ERV9UWVBFX1dJVEhf
S0VZKGVuY29kZWREYXRhLCBib29sLCBhbHRLZXksIGlucHV0LmFsdEtleSgpKTsKLSAgICBFTkNP
REVfVFlQRV9XSVRIX0tFWShlbmNvZGVkRGF0YSwgYm9vbCwgbWV0YUtleSwgaW5wdXQubWV0YUtl
eSgpKTsKLSAgICBFTkNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkRGF0YSwgZmxvYXQsIGRlbHRh
WCwgaW5wdXQuZGVsdGFYKCkpOwotICAgIEVOQ09ERV9UWVBFX1dJVEhfS0VZKGVuY29kZWREYXRh
LCBmbG9hdCwgZGVsdGFZLCBpbnB1dC5kZWx0YVkoKSk7Ci0gICAgRU5DT0RFX1RZUEVfV0lUSF9L
RVkoZW5jb2RlZERhdGEsIGZsb2F0LCB3aGVlbFRpY2tzWCwgaW5wdXQud2hlZWxUaWNrc1goKSk7
Ci0gICAgRU5DT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZERhdGEsIGZsb2F0LCB3aGVlbFRpY2tz
WSwgaW5wdXQud2hlZWxUaWNrc1koKSk7Ci0gICAgRU5DT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2Rl
ZERhdGEsIFBsYXRmb3JtV2hlZWxFdmVudEdyYW51bGFyaXR5LCBncmFudWxhcml0eSwgc3RhdGlj
X2Nhc3Q8UGxhdGZvcm1XaGVlbEV2ZW50R3JhbnVsYXJpdHk+KGlucHV0LmdyYW51bGFyaXR5KCkp
KTsKLQotI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIEVOQ09ERV9UWVBFX1dJVEhfS0VZKGVuY29k
ZWREYXRhLCBib29sLCBkaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UsIGlucHV0LmRpcmVjdGlv
bkludmVydGVkRnJvbURldmljZSgpKTsKLSAgICBFTkNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVk
RGF0YSwgYm9vbCwgaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcywgaW5wdXQuaGFzUHJlY2lzZVNj
cm9sbGluZ0RlbHRhcygpKTsKLSAgICBFTkNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkRGF0YSwg
UGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UsIHBoYXNlLCBzdGF0aWNfY2FzdDxQbGF0Zm9ybVdoZWVs
RXZlbnRQaGFzZT4oaW5wdXQucGhhc2UoKSkpOwotICAgIEVOQ09ERV9UWVBFX1dJVEhfS0VZKGVu
Y29kZWREYXRhLCBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSwgbW9tZW50dW1QaGFzZSwgc3RhdGlj
X2Nhc3Q8UGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U+KGlucHV0Lm1vbWVudHVtUGhhc2UoKSkpOwot
ICAgIEVOQ09ERV9UWVBFX1dJVEhfS0VZKGVuY29kZWREYXRhLCBpbnQsIHNjcm9sbENvdW50LCBp
bnB1dC5zY3JvbGxDb3VudCgpKTsKLSAgICBFTkNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkRGF0
YSwgZmxvYXQsIHVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YVgsIGlucHV0LnVuYWNjZWxlcmF0
ZWRTY3JvbGxpbmdEZWx0YVgoKSk7Ci0gICAgRU5DT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZERh
dGEsIGZsb2F0LCB1bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGFZLCBpbnB1dC51bmFjY2VsZXJh
dGVkU2Nyb2xsaW5nRGVsdGFZKCkpOwotI2VuZGlmCi0KLSAgICByZXR1cm4gZW5jb2RlZERhdGE7
Ci19Ci0KLWJvb2wgRW5jb2RpbmdUcmFpdHM8UGxhdGZvcm1XaGVlbEV2ZW50Pjo6ZGVjb2RlVmFs
dWUoRW5jb2RlZFZhbHVlJiBlbmNvZGVkRGF0YSwgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtV2hl
ZWxFdmVudD4mIGlucHV0KQotewotICAgIERFQ09ERV9UWVBFX1dJVEhfS0VZKGVuY29kZWREYXRh
LCBpbnQsIHBvc2l0aW9uWCk7Ci0gICAgREVDT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZERhdGEs
IGludCwgcG9zaXRpb25ZKTsKLSAgICBERUNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkRGF0YSwg
aW50LCBnbG9iYWxQb3NpdGlvblgpOwotICAgIERFQ09ERV9UWVBFX1dJVEhfS0VZKGVuY29kZWRE
YXRhLCBpbnQsIGdsb2JhbFBvc2l0aW9uWSk7Ci0gICAgREVDT0RFX1RZUEVfV0lUSF9LRVkoZW5j
b2RlZERhdGEsIGJvb2wsIHNoaWZ0S2V5KTsKLSAgICBERUNPREVfVFlQRV9XSVRIX0tFWShlbmNv
ZGVkRGF0YSwgYm9vbCwgY3RybEtleSk7Ci0gICAgREVDT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2Rl
ZERhdGEsIGJvb2wsIGFsdEtleSk7Ci0gICAgREVDT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZERh
dGEsIGJvb2wsIG1ldGFLZXkpOwotICAgIERFQ09ERV9UWVBFX1dJVEhfS0VZKGVuY29kZWREYXRh
LCBmbG9hdCwgZGVsdGFYKTsKLSAgICBERUNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkRGF0YSwg
ZmxvYXQsIGRlbHRhWSk7Ci0gICAgREVDT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZERhdGEsIGZs
b2F0LCB3aGVlbFRpY2tzWCk7Ci0gICAgREVDT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZERhdGEs
IGZsb2F0LCB3aGVlbFRpY2tzWSk7Ci0gICAgREVDT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZERh
dGEsIFBsYXRmb3JtV2hlZWxFdmVudEdyYW51bGFyaXR5LCBncmFudWxhcml0eSk7Ci0KLSNpZiBQ
TEFURk9STShDT0NPQSkKLSAgICBQbGF0Zm9ybVdoZWVsRXZlbnRDb2NvYUFyZ3VtZW50cyBhcmd1
bWVudHM7Ci0gICAgREVDT0RFX1RZUEVfV0lUSF9LRVlfVE9fTFZBTFVFKGVuY29kZWREYXRhLCBi
b29sLCBkaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UsIGFyZ3VtZW50cy5kaXJlY3Rpb25JbnZl
cnRlZEZyb21EZXZpY2UpOwotICAgIERFQ09ERV9UWVBFX1dJVEhfS0VZX1RPX0xWQUxVRShlbmNv
ZGVkRGF0YSwgYm9vbCwgaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcywgYXJndW1lbnRzLmhhc1By
ZWNpc2VTY3JvbGxpbmdEZWx0YXMpOwotICAgIERFQ09ERV9UWVBFX1dJVEhfS0VZX1RPX0xWQUxV
RShlbmNvZGVkRGF0YSwgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UsIHBoYXNlLCBhcmd1bWVudHMu
cGhhc2UpOwotICAgIERFQ09ERV9UWVBFX1dJVEhfS0VZX1RPX0xWQUxVRShlbmNvZGVkRGF0YSwg
UGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UsIG1vbWVudHVtUGhhc2UsIGFyZ3VtZW50cy5tb21lbnR1
bVBoYXNlKTsKLSAgICBERUNPREVfVFlQRV9XSVRIX0tFWV9UT19MVkFMVUUoZW5jb2RlZERhdGEs
IGludCwgc2Nyb2xsQ291bnQsIGFyZ3VtZW50cy5zY3JvbGxDb3VudCk7Ci0gICAgREVDT0RFX1RZ
UEVfV0lUSF9LRVlfVE9fTFZBTFVFKGVuY29kZWREYXRhLCBmbG9hdCwgdW5hY2NlbGVyYXRlZFNj
cm9sbGluZ0RlbHRhWCwgYXJndW1lbnRzLnVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YVgpOwot
ICAgIERFQ09ERV9UWVBFX1dJVEhfS0VZX1RPX0xWQUxVRShlbmNvZGVkRGF0YSwgZmxvYXQsIHVu
YWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YVksIGFyZ3VtZW50cy51bmFjY2VsZXJhdGVkU2Nyb2xs
aW5nRGVsdGFZKTsKLSNlbmRpZgotCi0gICAgUGxhdGZvcm1XaGVlbEV2ZW50IGV2ZW50KEludFBv
aW50KHBvc2l0aW9uWCwgcG9zaXRpb25ZKSwgSW50UG9pbnQoZ2xvYmFsUG9zaXRpb25YLCBnbG9i
YWxQb3NpdGlvblkpLAotICAgICAgICBkZWx0YVgsIGRlbHRhWSwgd2hlZWxUaWNrc1gsIHdoZWVs
VGlja3NZLCBncmFudWxhcml0eSwgc2hpZnRLZXksIGN0cmxLZXksIGFsdEtleSwgbWV0YUtleSk7
Ci0KLSNpZiBQTEFURk9STShDT0NPQSkKLSAgICBpbnB1dCA9IHN0ZDo6bWFrZV91bmlxdWU8UGxh
dGZvcm1XaGVlbEV2ZW50Q29jb2E+KGV2ZW50LCBhcmd1bWVudHMpOwotI2Vsc2UKLSAgICBpbnB1
dCA9IHN0ZDo6bWFrZV91bmlxdWU8UGxhdGZvcm1XaGVlbEV2ZW50PihldmVudCk7Ci0jZW5kaWYK
LSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogRW5jb2RlZFZhbHVlIEVuY29kaW5nVHJhaXRzPFBsdWdp
bkRhdGE+OjplbmNvZGVWYWx1ZShSZWZQdHI8UGx1Z2luRGF0YT4gaW5wdXQpCiB7CiAgICAgRW5j
b2RlZFZhbHVlIGVuY29kZWREYXRhID0gRW5jb2RlZFZhbHVlOjpjcmVhdGVPYmplY3QoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9XZWJSZXBsYXlJbnB1dENvZGVycy5oIGIv
U291cmNlL1dlYkNvcmUvcmVwbGF5L1dlYlJlcGxheUlucHV0Q29kZXJzLmgKaW5kZXggNTNkZWJk
MDc3ZmVlY2RkYmViMjI0NmY0ZjgzYWY0MDc4YTk5NGY0Zi4uMjAyYzRiMjNhNjdlMmVmOWM1OWE4
YzFjNzMwMjFhMDQ3YzAyYjNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1dl
YlJlcGxheUlucHV0Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1dlYlJlcGxh
eUlucHV0Q29kZXJzLmgKQEAgLTM5LDE1ICszOSwxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBz
dHJ1Y3QgRnJhbWVMb2FkUmVxdWVzdDsKIAogY2xhc3MgRG9jdW1lbnQ7CitjbGFzcyBGbG9hdFNp
emU7CiBjbGFzcyBGb3JtRGF0YTsKIGNsYXNzIEZyYW1lOwogY2xhc3MgSFRUUEhlYWRlck1hcDsK
IGNsYXNzIEhpc3RvcnlJdGVtOwogY2xhc3MgSW50UG9pbnQ7CiBjbGFzcyBQYWdlOwotY2xhc3Mg
UGxhdGZvcm1LZXlib2FyZEV2ZW50OwotY2xhc3MgUGxhdGZvcm1Nb3VzZUV2ZW50OwotY2xhc3Mg
UGxhdGZvcm1XaGVlbEV2ZW50OwogY2xhc3MgUGx1Z2luRGF0YTsKIGNsYXNzIFJlc291cmNlRXJy
b3I7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CkBAIC03MSw2ICs2OSwxMyBAQCBGcmFtZSogZnJh
bWVGcm9tRnJhbWVJbmRleChQYWdlKiwgdWludDMyX3QgZnJhbWVJbmRleCk7CiAvLyBUZW1wbGF0
ZSBzcGVjaWFsaXphdGlvbnMgbXVzdCBiZSBkZWZpbmVkIGluIHRoZSBzYW1lIG5hbWVzcGFjZSBh
cyB0aGUgdGVtcGxhdGUgZGVjbGFyYXRpb24uCiBuYW1lc3BhY2UgSlNDIHsKIAordGVtcGxhdGU8
PiBzdHJ1Y3QgRW5jb2RpbmdUcmFpdHM8V2ViQ29yZTo6RmxvYXRTaXplPiB7CisgICAgdHlwZWRl
ZiBXZWJDb3JlOjpGbG9hdFNpemUgRGVjb2RlZFR5cGU7CisKKyAgICBzdGF0aWMgRW5jb2RlZFZh
bHVlIGVuY29kZVZhbHVlKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgdmFsdWUpOworICAgIHN0
YXRpYyBib29sIGRlY29kZVZhbHVlKEVuY29kZWRWYWx1ZSYsIFdlYkNvcmU6OkZsb2F0U2l6ZSYg
dmFsdWUpOworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgRW5jb2RpbmdUcmFpdHM8V2ViQ29yZTo6
Rm9ybURhdGE+IHsKICAgICB0eXBlZGVmIFJlZlB0cjxXZWJDb3JlOjpGb3JtRGF0YT4gRGVjb2Rl
ZFR5cGU7CiAKQEAgLTExNSwyMCArMTIwLDYgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW5jb2RpbmdU
cmFpdHM8V2ViQ29yZTo6SGlzdG9yeUl0ZW0+IHsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGVWYWx1
ZShFbmNvZGVkVmFsdWUmLCBSZWZQdHI8V2ViQ29yZTo6SGlzdG9yeUl0ZW0+Jik7CiB9OwogCi10
ZW1wbGF0ZTw+IHN0cnVjdCBFbmNvZGluZ1RyYWl0czxXZWJDb3JlOjpQbGF0Zm9ybUtleWJvYXJk
RXZlbnQ+IHsKLSAgICB0eXBlZGVmIFdlYkNvcmU6OlBsYXRmb3JtS2V5Ym9hcmRFdmVudCBEZWNv
ZGVkVHlwZTsKLQotICAgIHN0YXRpYyBFbmNvZGVkVmFsdWUgZW5jb2RlVmFsdWUoY29uc3QgV2Vi
Q29yZTo6UGxhdGZvcm1LZXlib2FyZEV2ZW50JiB2YWx1ZSk7Ci0gICAgc3RhdGljIGJvb2wgZGVj
b2RlVmFsdWUoRW5jb2RlZFZhbHVlJiwgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlBsYXRmb3Jt
S2V5Ym9hcmRFdmVudD4mIHZhbHVlKTsKLX07Ci0KLXRlbXBsYXRlPD4gc3RydWN0IEVuY29kaW5n
VHJhaXRzPFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudD4gewotICAgIHR5cGVkZWYgV2ViQ29y
ZTo6UGxhdGZvcm1XaGVlbEV2ZW50IERlY29kZWRUeXBlOwotCi0gICAgc3RhdGljIEVuY29kZWRW
YWx1ZSBlbmNvZGVWYWx1ZShjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnQmIHZhbHVl
KTsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGVWYWx1ZShFbmNvZGVkVmFsdWUmLCBzdGQ6OnVuaXF1
ZV9wdHI8V2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50PiYgdmFsdWUpOwotfTsKLQogdGVtcGxh
dGU8PiBzdHJ1Y3QgRW5jb2RpbmdUcmFpdHM8V2ViQ29yZTo6UGx1Z2luRGF0YT4gewogICAgIHR5
cGVkZWYgUmVmUHRyPFdlYkNvcmU6OlBsdWdpbkRhdGE+IERlY29kZWRUeXBlOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvV2ViUmVwbGF5SW5wdXREaXNwYXRjaE1ldGhvZHMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1dlYlJlcGxheUlucHV0RGlzcGF0Y2hNZXRob2Rz
LmNwcAppbmRleCAyZGI5YjQ2ZDUxMTc5ZDI4MmZhNjE3Zjk3NzkwN2Q3NTU4OTY2NjVkLi4wOGE0
NWY2NTkzMWY0Yjg2ZjhlMDgzY2YzYzQ3MmU4NjA2MWIzZjc5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZXBsYXkvV2ViUmVwbGF5SW5wdXREaXNwYXRjaE1ldGhvZHMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlcGxheS9XZWJSZXBsYXlJbnB1dERpc3BhdGNoTWV0aG9kcy5jcHAKQEAg
LTExOCwxNyArMTE4LDcgQEAgdm9pZCBJbml0aWFsaXplSGlzdG9yeTo6ZGlzcGF0Y2goUGFnZSYg
cGFnZSkKICAgICBwYWdlLm1haW5GcmFtZSgpLmxvYWRlcigpLmhpc3RvcnkoKS5zZXRDdXJyZW50
SXRlbShwYWdlLmJhY2tGb3J3YXJkKCkuY3VycmVudEl0ZW0oKSk7CiB9CiAKLXZvaWQgSGFuZGxl
S2V5UHJlc3M6OmRpc3BhdGNoKFBhZ2UmIHBhZ2UpCi17Ci0gICAgcGFnZS51c2VySW5wdXRCcmlk
Z2UoKS5oYW5kbGVLZXlFdmVudChwbGF0Zm9ybUV2ZW50KCksIElucHV0U291cmNlOjpTeW50aGV0
aWMpOwotfQotCiAvLyBVc2VyIGludGVyYWN0aW9uIGlucHV0cy4KLXZvaWQgSGFuZGxlV2hlZWxF
dmVudDo6ZGlzcGF0Y2goUGFnZSYgcGFnZSkKLXsKLSAgICBwYWdlLnVzZXJJbnB1dEJyaWRnZSgp
LmhhbmRsZVdoZWVsRXZlbnQocGxhdGZvcm1FdmVudCgpLCBJbnB1dFNvdXJjZTo6U3ludGhldGlj
KTsKLX0KLQogdm9pZCBMb2dpY2FsU2Nyb2xsUGFnZTo6ZGlzcGF0Y2goUGFnZSYgcGFnZSkKIHsK
ICAgICBwYWdlLnVzZXJJbnB1dEJyaWRnZSgpLmxvZ2ljYWxTY3JvbGxSZWN1cnNpdmVseShkaXJl
Y3Rpb24oKSwgZ3JhbnVsYXJpdHkoKSwgSW5wdXRTb3VyY2U6OlN5bnRoZXRpYyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJFdmVudC5oCmluZGV4IGZjMmQ4YzBmNGRkYTJmNGE5ZWNlYTNkZTljZDdmMmNlMDJk
Y2YyOTguLmRkNGVhMDVjNDUzZTQ1Y2Y3ZDZiYjBiNDlhNWQ2ODhmMjI0MjU0ZTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJFdmVudC5oCkBAIC0xNTEsMTMgKzE1MSwxMyBAQCBwcml2YXRlOgogLy8gRklY
TUU6IE1vdmUgdGhpcyBjbGFzcyB0byBpdHMgb3duIGhlYWRlciBmaWxlLgogY2xhc3MgV2ViV2hl
ZWxFdmVudCA6IHB1YmxpYyBXZWJFdmVudCB7CiBwdWJsaWM6Ci0gICAgZW51bSBHcmFudWxhcml0
eSB7CisgICAgZW51bSBHcmFudWxhcml0eSA6IHVpbnQ4X3QgewogICAgICAgICBTY3JvbGxCeVBh
Z2VXaGVlbEV2ZW50LAogICAgICAgICBTY3JvbGxCeVBpeGVsV2hlZWxFdmVudAogICAgIH07CiAK
ICNpZiBQTEFURk9STShDT0NPQSkKLSAgICBlbnVtIFBoYXNlIHsKKyAgICBlbnVtIFBoYXNlIDog
dWludDhfdCB7CiAgICAgICAgIFBoYXNlTm9uZSAgICAgICAgPSAwLAogICAgICAgICBQaGFzZUJl
Z2FuICAgICAgID0gMSA8PCAwLAogICAgICAgICBQaGFzZVN0YXRpb25hcnkgID0gMSA8PCAxLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9SZXBsYXkvV0tJbnB1dHMuanNv
biBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUmVwbGF5L1dLSW5wdXRzLmpzb24KaW5kZXgg
YzkxYzMxNDI5YmY1N2Q1MjYwZDI2MDU2ZDZhYWRjMjUwM2Y0NGViYi4uODMyMTNkNjQwYTNhYTJi
NzZhMDAwZTdiNTNiMjc4ZThjNjFiZGRhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9SZXBsYXkvV0tJbnB1dHMuanNvbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1JlcGxheS9XS0lucHV0cy5qc29uCkBAIC0xLDUgKzEsMTEgQEAKIHsKICAgICAidHlwZXMi
OiB7CisgICAgICAgICJHbG9iYWwiOiBbCisgICAgICAgICAgICB7ICJuYW1lIjogImRvdWJsZSIs
ICJtb2RlIjogIlNDQUxBUiIgfSwKKyAgICAgICAgICAgIHsgIm5hbWUiOiAiZmxvYXQiLCAibW9k
ZSI6ICJTQ0FMQVIiIH0sCisgICAgICAgICAgICB7ICJuYW1lIjogImludDhfdCIsICJtb2RlIjog
IlNDQUxBUiIsICJkZXNjcmlwdGlvbiI6ICJTaWduZWQgOC1iaXQgaW50ZWdlci4iIH0sCisgICAg
ICAgICAgICB7ICJuYW1lIjogInVpbnQ4X3QiLCAibW9kZSI6ICJTQ0FMQVIiLCAiZGVzY3JpcHRp
b24iOiAiVW5zaWduZWQgOC1iaXQgaW50ZWdlci4iIH0KKyAgICAgICAgXSwKICAgICAgICAgIldl
YktpdCI6IFsKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6ICJXZWJNb3Vz
ZUV2ZW50IiwgIm1vZGUiOiAiT1dORUQiLApAQCAtMjAsNiArMjYsMzcgQEAKICAgICAgICAgICAg
ICAgICAiaGVhZGVyIjogIlNoYXJlZC9XZWJFdmVudC5oIgogICAgICAgICAgICAgfSwKICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJXZWJLZXlib2FyZEV2ZW50IiwgIm1v
ZGUiOiAiT1dORUQiLAorICAgICAgICAgICAgICAgICJoZWFkZXIiOiAiU2hhcmVkL1dlYkV2ZW50
LmgiCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJuYW1l
IjogIldlYldoZWVsRXZlbnQiLCAibW9kZSI6ICJPV05FRCIsCisgICAgICAgICAgICAgICAgImhl
YWRlciI6ICJTaGFyZWQvV2ViRXZlbnQuaCIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiR3JhbnVsYXJpdHkiLCAibW9kZSI6ICJTQ0FMQVIi
LCAic3RvcmFnZSI6ICJ1aW50OF90IiwKKyAgICAgICAgICAgICAgICAiZW5jbG9zaW5nX2NsYXNz
IjogIldlYldoZWVsRXZlbnQiLAorICAgICAgICAgICAgICAgICJmbGFncyI6IFsiRU5VTSJdLAor
ICAgICAgICAgICAgICAgICJ2YWx1ZXMiOiBbIlNjcm9sbEJ5UGFnZVdoZWVsRXZlbnQiLCAiU2Ny
b2xsQnlQaXhlbFdoZWVsRXZlbnQiXSwKKyAgICAgICAgICAgICAgICAiaGVhZGVyIjogIlNoYXJl
ZC9XZWJFdmVudC5oIgorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICAibmFtZSI6ICJQaGFzZSIsICJtb2RlIjogIlNDQUxBUiIsICJzdG9yYWdlIjogInVpbnQ4
X3QiLAorICAgICAgICAgICAgICAgICJlbmNsb3NpbmdfY2xhc3MiOiAiV2ViV2hlZWxFdmVudCIs
CisgICAgICAgICAgICAgICAgImZsYWdzIjogWyJFTlVNIl0sCisgICAgICAgICAgICAgICAgImd1
YXJkIjogIlBMQVRGT1JNKENPQ09BKSIsCisgICAgICAgICAgICAgICAgInZhbHVlcyI6IFsKKyAg
ICAgICAgICAgICAgICAgICAgIlBoYXNlTm9uZSIsCisgICAgICAgICAgICAgICAgICAgICJQaGFz
ZUJlZ2FuIiwKKyAgICAgICAgICAgICAgICAgICAgIlBoYXNlU3RhdGlvbmFyeSIsCisgICAgICAg
ICAgICAgICAgICAgICJQaGFzZUNoYW5nZWQiLAorICAgICAgICAgICAgICAgICAgICAiUGhhc2VF
bmRlZCIsCisgICAgICAgICAgICAgICAgICAgICJQaGFzZUNhbmNlbGxlZCIsCisgICAgICAgICAg
ICAgICAgICAgICJQaGFzZU1heUJlZ2luIgorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAg
ICAgICAgImhlYWRlciI6ICJTaGFyZWQvV2ViRXZlbnQuaCIKKyAgICAgICAgICAgIH0sCisgICAg
ICAgICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAiVHlwZSIsICJtb2RlIjogIlNDQUxB
UiIsICJzdG9yYWdlIjogImludDhfdCIsCiAgICAgICAgICAgICAgICAgImVuY2xvc2luZ19jbGFz
cyI6ICJXZWJFdmVudCIsCiAgICAgICAgICAgICAgICAgImZsYWdzIjogWyJFTlVNIl0sCkBAIC01
MCwxMSArODcsMjcgQEAKICAgICAiaW5wdXRzIjogWwogICAgICAgICB7CiAgICAgICAgICAgICAi
bmFtZSI6ICJIYW5kbGVNb3VzZUV2ZW50IiwKLSAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJB
IG1vdXNlIGV2ZW50IGlzIGhhbmRsZWQgYnkgdGhlIHdlYiBwYWdlLiIsCisgICAgICAgICAgICAi
ZGVzY3JpcHRpb24iOiAiQSBtb3VzZSBldmVudCBpcyBmb3J3YXJkZWQgdG8gdGhlIHdlYiBwYWdl
LiIsCiAgICAgICAgICAgICAicXVldWUiOiAiRVZFTlRfTE9PUCIsCiAgICAgICAgICAgICAibWVt
YmVycyI6IFsKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm1vdXNlRXZlbnQiLCAidHlwZSI6
ICJXZWJNb3VzZUV2ZW50IiB9CiAgICAgICAgICAgICBdCisgICAgICAgIH0sCisgICAgICAgIHsK
KyAgICAgICAgICAgICJuYW1lIjogIkhhbmRsZUtleUV2ZW50IiwKKyAgICAgICAgICAgICJkZXNj
cmlwdGlvbiI6ICJBIGtleWJvYXJkIGV2ZW50IGlzIGZvcndhcmRlZCB0byB0aGUgd2ViIHBhZ2Uu
IiwKKyAgICAgICAgICAgICJxdWV1ZSI6ICJFVkVOVF9MT09QIiwKKyAgICAgICAgICAgICJtZW1i
ZXJzIjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAia2V5Ym9hcmRFdmVudCIsICJ0eXBl
IjogIldlYktleWJvYXJkRXZlbnQiIH0KKyAgICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAg
ICAgeworICAgICAgICAgICAgIm5hbWUiOiAiSGFuZGxlV2hlZWxFdmVudCIsCisgICAgICAgICAg
ICAiZGVzY3JpcHRpb24iOiAiQSB3aGVlbCBldmVudCBpcyBmb3J3YXJkZWQgdG8gdGhlIHdlYiBw
YWdlLiIsCisgICAgICAgICAgICAicXVldWUiOiAiRVZFTlRfTE9PUCIsCisgICAgICAgICAgICAi
bWVtYmVycyI6IFsKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogIndoZWVsRXZlbnQiLCAidHlw
ZSI6ICJXZWJXaGVlbEV2ZW50IiB9CisgICAgICAgICAgICBdCiAgICAgICAgIH0KICAgICBdCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1JlcGxheS9XS1JlcGxheUlu
cHV0Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUmVwbGF5L1dLUmVwbGF5
SW5wdXRDb2RlcnMuY3BwCmluZGV4IDliYjI4MTg4ZmUzY2U0NDYyNjNlM2M4NDY0Mzg0MDYwNjJi
ODE0ZjguLjU4MjYxYjdjYjI0ZTcwZGQzNzdiMGM1ZDE4MDE0YWYyYjhmY2JmNDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUmVwbGF5L1dLUmVwbGF5SW5wdXRDb2RlcnMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUmVwbGF5L1dLUmVwbGF5SW5wdXRD
b2RlcnMuY3BwCkBAIC0zMyw3ICszMywxMSBAQAogI2luY2x1ZGUgIldLUmVwbGF5SW5wdXRzLmgi
CiAjaW5jbHVkZSAiV2ViRXZlbnQuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1JlcGxh
eUlucHV0cy5oPgorI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRTaXplLmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9JbnRQb2ludC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvS2V5cHJlc3NDb21tYW5kLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9NZW1vaXplZERPTVJlc3VsdC5oPgorI2luY2x1ZGUgPFdlYmNvcmUv
V2ViUmVwbGF5SW5wdXRDb2RlcnMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dlYlJlcGxheUlucHV0
cy5oPgogCiAjZGVmaW5lIElNUE9SVF9GUk9NX0pTQ19OQU1FU1BBQ0UobmFtZSkgXApAQCAtNjcs
MTAgKzcxLDE0IEBAIF9lbmNvZGVkVmFsdWUucHV0PF90eXBlPihBU0NJSUxpdGVyYWwoI19rZXkp
LCBfdmFsdWUpCiAgICAgREVDT0RFX1RZUEVfV0lUSF9LRVlfVE9fTFZBTFVFKF9lbmNvZGVkVmFs
dWUsIF90eXBlLCBfa2V5LCBfa2V5KQogCiAKK3VzaW5nIFdlYkNvcmU6OkZsb2F0U2l6ZTsKIHVz
aW5nIFdlYkNvcmU6OkludFBvaW50OwordXNpbmcgV2ViQ29yZTo6S2V5cHJlc3NDb21tYW5kOwog
dXNpbmcgV2ViQ29yZTo6TWVtb2l6ZWRET01SZXN1bHRCYXNlOwogdXNpbmcgV2ViS2l0OjpXZWJF
dmVudDsKIHVzaW5nIFdlYktpdDo6V2ViTW91c2VFdmVudDsKK3VzaW5nIFdlYktpdDo6V2ViS2V5
Ym9hcmRFdmVudDsKK3VzaW5nIFdlYktpdDo6V2ViV2hlZWxFdmVudDsKIAogbmFtZXNwYWNlIEpT
QyB7CiAKQEAgLTEzNiw2ICsxNDQsNjQgQEAgYm9vbCBFbmNvZGluZ1RyYWl0czxOb25kZXRlcm1p
bmlzdGljSW5wdXRCYXNlPjo6ZGVjb2RlVmFsdWUoRW5jb2RlZFZhbHVlJiBlbmNvZGUKIAogLy8g
QWN0dWFsIGlucHV0cyBiZWxvdy4KIAorRW5jb2RlZFZhbHVlIEVuY29kaW5nVHJhaXRzPFdlYktl
eWJvYXJkRXZlbnQ+OjplbmNvZGVWYWx1ZShjb25zdCBXZWJLZXlib2FyZEV2ZW50JiBpbnB1dCkK
K3sKKyAgICBFbmNvZGVkVmFsdWUgZW5jb2RlZFZhbHVlID0gRW5jb2RlZFZhbHVlOjpjcmVhdGVP
YmplY3QoKTsKKworICAgIC8vIFdlYkV2ZW50IG1lbWJlcnMuCisgICAgRU5DT0RFX1RZUEVfV0lU
SF9LRVkoZW5jb2RlZFZhbHVlLCBXZWJFdmVudDo6VHlwZSwgdHlwZSwgaW5wdXQudHlwZSgpKTsK
KyAgICBFTkNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIFdlYkV2ZW50OjpNb2RpZmll
cnMsIG1vZGlmaWVycywgaW5wdXQubW9kaWZpZXJzKCkpOworICAgIEVOQ09ERV9UWVBFX1dJVEhf
S0VZKGVuY29kZWRWYWx1ZSwgZG91YmxlLCB0aW1lc3RhbXAsIGlucHV0LnRpbWVzdGFtcCgpKTsK
KworICAgIC8vIFdlYktleWJvYXJkRXZlbnQgbWVtYmVycy4KKyAgICBFTkNPREVfVFlQRV9XSVRI
X0tFWShlbmNvZGVkVmFsdWUsIFN0cmluZywgdGV4dCwgaW5wdXQudGV4dCgpKTsKKyAgICBFTkNP
REVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIFN0cmluZywgdW5tb2RpZmllZFRleHQsIGlu
cHV0LnVubW9kaWZpZWRUZXh0KCkpOworICAgIEVOQ09ERV9UWVBFX1dJVEhfS0VZKGVuY29kZWRW
YWx1ZSwgU3RyaW5nLCBrZXlJZGVudGlmaWVyLCBpbnB1dC5rZXlJZGVudGlmaWVyKCkpOworICAg
IEVOQ09ERV9UWVBFX1dJVEhfS0VZKGVuY29kZWRWYWx1ZSwgaW50MzJfdCwgd2luZG93c1ZpcnR1
YWxLZXlDb2RlLCBpbnB1dC53aW5kb3dzVmlydHVhbEtleUNvZGUoKSk7CisgICAgRU5DT0RFX1RZ
UEVfV0lUSF9LRVkoZW5jb2RlZFZhbHVlLCBpbnQzMl90LCBuYXRpdmVWaXJ0dWFsS2V5Q29kZSwg
aW5wdXQubmF0aXZlVmlydHVhbEtleUNvZGUoKSk7CisgICAgRU5DT0RFX1RZUEVfV0lUSF9LRVko
ZW5jb2RlZFZhbHVlLCBpbnQzMl90LCBtYWNDaGFyQ29kZSwgaW5wdXQubWFjQ2hhckNvZGUoKSk7
CisjaWYgVVNFKEFQUEtJVCkKKyAgICBFTkNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUs
IGJvb2wsIGhhbmRsZWRCeUlucHV0TWV0aG9kLCBpbnB1dC5oYW5kbGVkQnlJbnB1dE1ldGhvZCgp
KTsKKyAgICBFTkNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIFZlY3RvcjxLZXlwcmVz
c0NvbW1hbmQ+LCBjb21tYW5kcywgaW5wdXQuY29tbWFuZHMoKSk7CisjZW5kaWYKKyAgICBFTkNP
REVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIGJvb2wsIGF1dG9SZXBlYXQsIGlucHV0Lmlz
QXV0b1JlcGVhdCgpKTsKKyAgICBFTkNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIGJv
b2wsIGtleXBhZCwgaW5wdXQuaXNLZXlwYWQoKSk7CisgICAgRU5DT0RFX1RZUEVfV0lUSF9LRVko
ZW5jb2RlZFZhbHVlLCBib29sLCBzeXN0ZW1LZXksIGlucHV0LmlzU3lzdGVtS2V5KCkpOworICAg
IHJldHVybiBlbmNvZGVkVmFsdWU7Cit9CisKK2Jvb2wgRW5jb2RpbmdUcmFpdHM8V2ViS2V5Ym9h
cmRFdmVudD46OmRlY29kZVZhbHVlKEVuY29kZWRWYWx1ZSYgZW5jb2RlZFZhbHVlLCBzdGQ6OnVu
aXF1ZV9wdHI8V2ViS2V5Ym9hcmRFdmVudD4mIGlucHV0KQoreworICAgIC8vIFdlYkV2ZW50IG1l
bWJlcnMuCisgICAgREVDT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZFZhbHVlLCBXZWJFdmVudDo6
VHlwZSwgdHlwZSk7CisgICAgREVDT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZFZhbHVlLCBXZWJF
dmVudDo6TW9kaWZpZXJzLCBtb2RpZmllcnMpOworICAgIERFQ09ERV9UWVBFX1dJVEhfS0VZKGVu
Y29kZWRWYWx1ZSwgZG91YmxlLCB0aW1lc3RhbXApOworCisgICAgLy8gV2ViS2V5Ym9hcmRFdmVu
dCBtZW1iZXJzLgorICAgIERFQ09ERV9UWVBFX1dJVEhfS0VZKGVuY29kZWRWYWx1ZSwgU3RyaW5n
LCB0ZXh0KTsKKyAgICBERUNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIFN0cmluZywg
dW5tb2RpZmllZFRleHQpOworICAgIERFQ09ERV9UWVBFX1dJVEhfS0VZKGVuY29kZWRWYWx1ZSwg
U3RyaW5nLCBrZXlJZGVudGlmaWVyKTsKKyAgICBERUNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVk
VmFsdWUsIGludDMyX3QsIHdpbmRvd3NWaXJ0dWFsS2V5Q29kZSk7CisgICAgREVDT0RFX1RZUEVf
V0lUSF9LRVkoZW5jb2RlZFZhbHVlLCBpbnQzMl90LCBuYXRpdmVWaXJ0dWFsS2V5Q29kZSk7Cisg
ICAgREVDT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZFZhbHVlLCBpbnQzMl90LCBtYWNDaGFyQ29k
ZSk7CisjaWYgVVNFKEFQUEtJVCkKKyAgICBERUNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFs
dWUsIGJvb2wsIGhhbmRsZWRCeUlucHV0TWV0aG9kKTsKKyAgICBERUNPREVfVFlQRV9XSVRIX0tF
WShlbmNvZGVkVmFsdWUsIFZlY3RvcjxLZXlwcmVzc0NvbW1hbmQ+LCBjb21tYW5kcyk7CisjZW5k
aWYKKyAgICBERUNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIGJvb2wsIGF1dG9SZXBl
YXQpOworICAgIERFQ09ERV9UWVBFX1dJVEhfS0VZKGVuY29kZWRWYWx1ZSwgYm9vbCwga2V5cGFk
KTsKKyAgICBERUNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIGJvb2wsIHN5c3RlbUtl
eSk7CisKKyNpZiBVU0UoQVBQS0lUKQorICAgIFdlYktleWJvYXJkRXZlbnQgZXZlbnQodHlwZSwg
dGV4dCwgdW5tb2RpZmllZFRleHQsIGtleUlkZW50aWZpZXIsIFdURjo6c2FmZUNhc3Q8aW50Pih3
aW5kb3dzVmlydHVhbEtleUNvZGUpLCBXVEY6OnNhZmVDYXN0PGludD4obmF0aXZlVmlydHVhbEtl
eUNvZGUpLCBXVEY6OnNhZmVDYXN0PGludD4obWFjQ2hhckNvZGUpLCBoYW5kbGVkQnlJbnB1dE1l
dGhvZCwgY29tbWFuZHMsIGF1dG9SZXBlYXQsIGtleXBhZCwgc3lzdGVtS2V5LCBtb2RpZmllcnMs
IHRpbWVzdGFtcCk7CisjZWxzZQorICAgIFdlYktleWJvYXJkRXZlbnQgZXZlbnQodHlwZSwgdGV4
dCwgdW5tb2RpZmllZFRleHQsIGtleUlkZW50aWZpZXIsIFdURjo6c2FmZUNhc3Q8aW50Pih3aW5k
b3dzVmlydHVhbEtleUNvZGUpLCBXVEY6OnNhZmVDYXN0PGludD4obmF0aXZlVmlydHVhbEtleUNv
ZGUpLCBXVEY6OnNhZmVDYXN0PGludD4obWFjQ2hhckNvZGUpLCBhdXRvUmVwZWF0LCBrZXlwYWQs
IHN5c3RlbUtleSwgbW9kaWZpZXJzLCB0aW1lc3RhbXApOworI2VuZGlmCisKKyAgICBpbnB1dCA9
IHN0ZDo6bWFrZV91bmlxdWU8V2ViS2V5Ym9hcmRFdmVudD4oZXZlbnQpOworICAgIHJldHVybiB0
cnVlOworfQorCiBFbmNvZGVkVmFsdWUgRW5jb2RpbmdUcmFpdHM8V2ViTW91c2VFdmVudD46OmVu
Y29kZVZhbHVlKGNvbnN0IFdlYk1vdXNlRXZlbnQmIGlucHV0KQogewogICAgIEVuY29kZWRWYWx1
ZSBlbmNvZGVkVmFsdWUgPSBFbmNvZGVkVmFsdWU6OmNyZWF0ZU9iamVjdCgpOwpAQCAtMTc3LDYg
KzI0Myw2NSBAQCBib29sIEVuY29kaW5nVHJhaXRzPFdlYk1vdXNlRXZlbnQ+OjpkZWNvZGVWYWx1
ZShFbmNvZGVkVmFsdWUmIGVuY29kZWRWYWx1ZSwgc3RkOgogICAgIHJldHVybiB0cnVlOwogfQog
CitFbmNvZGVkVmFsdWUgRW5jb2RpbmdUcmFpdHM8V2ViV2hlZWxFdmVudD46OmVuY29kZVZhbHVl
KGNvbnN0IFdlYldoZWVsRXZlbnQmIGlucHV0KQoreworICAgIEVuY29kZWRWYWx1ZSBlbmNvZGVk
VmFsdWUgPSBFbmNvZGVkVmFsdWU6OmNyZWF0ZU9iamVjdCgpOworCisgICAgLy8gV2ViRXZlbnQg
bWVtYmVycy4KKyAgICBFTkNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIFdlYkV2ZW50
OjpUeXBlLCB0eXBlLCBpbnB1dC50eXBlKCkpOworICAgIEVOQ09ERV9UWVBFX1dJVEhfS0VZKGVu
Y29kZWRWYWx1ZSwgV2ViRXZlbnQ6Ok1vZGlmaWVycywgbW9kaWZpZXJzLCBpbnB1dC5tb2RpZmll
cnMoKSk7CisgICAgRU5DT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZFZhbHVlLCBkb3VibGUsIHRp
bWVzdGFtcCwgaW5wdXQudGltZXN0YW1wKCkpOworCisgICAgLy8gV2ViV2hlZWxFdmVudCBtZW1i
ZXJzLgorICAgIEVOQ09ERV9UWVBFX1dJVEhfS0VZKGVuY29kZWRWYWx1ZSwgSW50UG9pbnQsIHBv
c2l0aW9uLCBpbnB1dC5wb3NpdGlvbigpKTsKKyAgICBFTkNPREVfVFlQRV9XSVRIX0tFWShlbmNv
ZGVkVmFsdWUsIEludFBvaW50LCBnbG9iYWxQb3NpdGlvbiwgaW5wdXQuZ2xvYmFsUG9zaXRpb24o
KSk7CisgICAgRU5DT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZFZhbHVlLCBGbG9hdFNpemUsIGRl
bHRhLCBpbnB1dC5kZWx0YSgpKTsKKyAgICBFTkNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFs
dWUsIEZsb2F0U2l6ZSwgd2hlZWxUaWNrcywgaW5wdXQud2hlZWxUaWNrcygpKTsKKyAgICBFTkNP
REVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIFdlYldoZWVsRXZlbnQ6OkdyYW51bGFyaXR5
LCBncmFudWxhcml0eSwgaW5wdXQuZ3JhbnVsYXJpdHkoKSk7CisjaWYgUExBVEZPUk0oQ09DT0Ep
CisgICAgRU5DT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZFZhbHVlLCBib29sLCBkaXJlY3Rpb25J
bnZlcnRlZEZyb21EZXZpY2UsIGlucHV0LmRpcmVjdGlvbkludmVydGVkRnJvbURldmljZSgpKTsK
KyAgICBFTkNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIFdlYldoZWVsRXZlbnQ6OlBo
YXNlLCBwaGFzZSwgaW5wdXQucGhhc2UoKSk7CisgICAgRU5DT0RFX1RZUEVfV0lUSF9LRVkoZW5j
b2RlZFZhbHVlLCBXZWJXaGVlbEV2ZW50OjpQaGFzZSwgbW9tZW50dW1QaGFzZSwgaW5wdXQubW9t
ZW50dW1QaGFzZSgpKTsKKyAgICBFTkNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIGJv
b2wsIGhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMsIGlucHV0Lmhhc1ByZWNpc2VTY3JvbGxpbmdE
ZWx0YXMoKSk7CisgICAgRU5DT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZFZhbHVlLCB1aW50MzJf
dCwgc2Nyb2xsQ291bnQsIGlucHV0LnNjcm9sbENvdW50KCkpOworICAgIEVOQ09ERV9UWVBFX1dJ
VEhfS0VZKGVuY29kZWRWYWx1ZSwgRmxvYXRTaXplLCB1bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVs
dGEsIGlucHV0LnVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSgpKTsKKyNlbmRpZgorCisgICAg
cmV0dXJuIGVuY29kZWRWYWx1ZTsKK30KKworYm9vbCBFbmNvZGluZ1RyYWl0czxXZWJXaGVlbEV2
ZW50Pjo6ZGVjb2RlVmFsdWUoRW5jb2RlZFZhbHVlJiBlbmNvZGVkVmFsdWUsIHN0ZDo6dW5pcXVl
X3B0cjxXZWJXaGVlbEV2ZW50PiYgaW5wdXQpCit7CisgICAgLy8gV2ViRXZlbnQgbWVtYmVycy4K
KyAgICBERUNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIFdlYkV2ZW50OjpUeXBlLCB0
eXBlKTsKKyAgICBERUNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIFdlYkV2ZW50OjpN
b2RpZmllcnMsIG1vZGlmaWVycyk7CisgICAgREVDT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZFZh
bHVlLCBkb3VibGUsIHRpbWVzdGFtcCk7CisKKyAgICAvLyBXZWJXaGVlbEV2ZW50IG1lbWJlcnMu
CisgICAgREVDT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZFZhbHVlLCBJbnRQb2ludCwgcG9zaXRp
b24pOworICAgIERFQ09ERV9UWVBFX1dJVEhfS0VZKGVuY29kZWRWYWx1ZSwgSW50UG9pbnQsIGds
b2JhbFBvc2l0aW9uKTsKKyAgICBERUNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIEZs
b2F0U2l6ZSwgZGVsdGEpOworICAgIERFQ09ERV9UWVBFX1dJVEhfS0VZKGVuY29kZWRWYWx1ZSwg
RmxvYXRTaXplLCB3aGVlbFRpY2tzKTsKKyAgICBERUNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVk
VmFsdWUsIFdlYldoZWVsRXZlbnQ6OkdyYW51bGFyaXR5LCBncmFudWxhcml0eSk7CisjaWYgUExB
VEZPUk0oQ09DT0EpCisgICAgREVDT0RFX1RZUEVfV0lUSF9LRVkoZW5jb2RlZFZhbHVlLCBib29s
LCBkaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UpOworICAgIERFQ09ERV9UWVBFX1dJVEhfS0VZ
KGVuY29kZWRWYWx1ZSwgV2ViV2hlZWxFdmVudDo6UGhhc2UsIHBoYXNlKTsKKyAgICBERUNPREVf
VFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIFdlYldoZWVsRXZlbnQ6OlBoYXNlLCBtb21lbnR1
bVBoYXNlKTsKKyAgICBERUNPREVfVFlQRV9XSVRIX0tFWShlbmNvZGVkVmFsdWUsIGJvb2wsIGhh
c1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMpOworICAgIERFQ09ERV9UWVBFX1dJVEhfS0VZKGVuY29k
ZWRWYWx1ZSwgdWludDMyX3QsIHNjcm9sbENvdW50KTsKKyAgICBERUNPREVfVFlQRV9XSVRIX0tF
WShlbmNvZGVkVmFsdWUsIEZsb2F0U2l6ZSwgdW5hY2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhKTsK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgV2ViV2hlZWxFdmVudCBldmVudCh0
eXBlLCBwb3NpdGlvbiwgZ2xvYmFsUG9zaXRpb24sIGRlbHRhLCB3aGVlbFRpY2tzLCBncmFudWxh
cml0eSwgbW9kaWZpZXJzLCB0aW1lc3RhbXApOworI2Vsc2UKKyAgICBXZWJXaGVlbEV2ZW50IGV2
ZW50KHR5cGUsIHBvc2l0aW9uLCBnbG9iYWxQb3NpdGlvbiwgZGVsdGEsIHdoZWVsVGlja3MsIGdy
YW51bGFyaXR5LCBwaGFzZSwgbW9tZW50dW1QaGFzZSwgaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRh
cywgc2Nyb2xsQ291bnQsIHVuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YSwgbW9kaWZpZXJzLCB0
aW1lKTsKKyNlbmRpZgorCisgICAgaW5wdXQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYldoZWVsRXZl
bnQ+KGV2ZW50KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCiAK
ICNlbmRpZiAvLyBFTkFCTEUoV0VCX1JFUExBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUmVwbGF5L1dLUmVwbGF5SW5wdXRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUmVwbGF5L1dLUmVwbGF5SW5wdXRDb2RlcnMuaAppbmRleCAyYTE4M2E1YmU3
ZThhNzJhNGNjOWQyYTg0YTllZGY0NzkzM2I4YjRjLi5mNjhjNjBjNzAyZmVjZDIwY2FjODIzODE2
ZDZhOGJmOWI0MzJiNWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Jl
cGxheS9XS1JlcGxheUlucHV0Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9SZXBsYXkvV0tSZXBsYXlJbnB1dENvZGVycy5oCkBAIC0zMywxMiArMzMsMjggQEAKICNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25kZXRlcm1pbmlzdGljSW5wdXQuaD4KIAogbmFtZXNwYWNl
IFdlYktpdCB7CitjbGFzcyBXZWJLZXlib2FyZEV2ZW50OwogY2xhc3MgV2ViTW91c2VFdmVudDsK
K2NsYXNzIFdlYldoZWVsRXZlbnQ7CiB9CiAKIC8vIFRlbXBsYXRlIHNwZWNpYWxpemF0aW9ucyBt
dXN0IGJlIGRlZmluZWQgaW4gdGhlIHNhbWUgbmFtZXNwYWNlIGFzIHRoZSB0ZW1wbGF0ZSBkZWNs
YXJhdGlvbi4KIG5hbWVzcGFjZSBKU0MgewogCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbmNvZGluZ1Ry
YWl0czxKU0M6Ok5vbmRldGVybWluaXN0aWNJbnB1dEJhc2U+IHsKKyAgICB0eXBlZGVmIEpTQzo6
Tm9uZGV0ZXJtaW5pc3RpY0lucHV0QmFzZSBEZWNvZGVkVHlwZTsKKworICAgIHN0YXRpYyBFbmNv
ZGVkVmFsdWUgZW5jb2RlVmFsdWUoY29uc3QgSlNDOjpOb25kZXRlcm1pbmlzdGljSW5wdXRCYXNl
JiBpbnB1dCk7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlVmFsdWUoRW5jb2RlZFZhbHVlJiwgc3Rk
Ojp1bmlxdWVfcHRyPEpTQzo6Tm9uZGV0ZXJtaW5pc3RpY0lucHV0QmFzZT4mIGlucHV0KTsKK307
CisKKy8vIENvbmNyZXRlIGlucHV0IHN1YmNsYXNzZXMuCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbmNv
ZGluZ1RyYWl0czxXZWJLaXQ6OldlYktleWJvYXJkRXZlbnQ+IHsKKyAgICB0eXBlZGVmIFdlYktp
dDo6V2ViS2V5Ym9hcmRFdmVudCBEZWNvZGVkVHlwZTsKKworICAgIHN0YXRpYyBFbmNvZGVkVmFs
dWUgZW5jb2RlVmFsdWUoY29uc3QgV2ViS2l0OjpXZWJLZXlib2FyZEV2ZW50JiB2YWx1ZSk7Cisg
ICAgc3RhdGljIGJvb2wgZGVjb2RlVmFsdWUoRW5jb2RlZFZhbHVlJiwgc3RkOjp1bmlxdWVfcHRy
PFdlYktpdDo6V2ViS2V5Ym9hcmRFdmVudD4mIHZhbHVlKTsKK307CiB0ZW1wbGF0ZTw+IHN0cnVj
dCBFbmNvZGluZ1RyYWl0czxXZWJLaXQ6OldlYk1vdXNlRXZlbnQ+IHsKICAgICB0eXBlZGVmIFdl
YktpdDo6V2ViTW91c2VFdmVudCBEZWNvZGVkVHlwZTsKIApAQCAtNDYsMTEgKzYyLDExIEBAIHRl
bXBsYXRlPD4gc3RydWN0IEVuY29kaW5nVHJhaXRzPFdlYktpdDo6V2ViTW91c2VFdmVudD4gewog
ICAgIHN0YXRpYyBib29sIGRlY29kZVZhbHVlKEVuY29kZWRWYWx1ZSYsIHN0ZDo6dW5pcXVlX3B0
cjxXZWJLaXQ6OldlYk1vdXNlRXZlbnQ+JiB2YWx1ZSk7CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVj
dCBFbmNvZGluZ1RyYWl0czxKU0M6Ok5vbmRldGVybWluaXN0aWNJbnB1dEJhc2U+IHsKLSAgICB0
eXBlZGVmIEpTQzo6Tm9uZGV0ZXJtaW5pc3RpY0lucHV0QmFzZSBEZWNvZGVkVHlwZTsKK3RlbXBs
YXRlPD4gc3RydWN0IEVuY29kaW5nVHJhaXRzPFdlYktpdDo6V2ViV2hlZWxFdmVudD4geworICAg
IHR5cGVkZWYgV2ViS2l0OjpXZWJXaGVlbEV2ZW50IERlY29kZWRUeXBlOwogCi0gICAgc3RhdGlj
IEVuY29kZWRWYWx1ZSBlbmNvZGVWYWx1ZShjb25zdCBKU0M6Ok5vbmRldGVybWluaXN0aWNJbnB1
dEJhc2UmIGlucHV0KTsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGVWYWx1ZShFbmNvZGVkVmFsdWUm
LCBzdGQ6OnVuaXF1ZV9wdHI8SlNDOjpOb25kZXRlcm1pbmlzdGljSW5wdXRCYXNlPiYgaW5wdXQp
OworICAgIHN0YXRpYyBFbmNvZGVkVmFsdWUgZW5jb2RlVmFsdWUoY29uc3QgV2ViS2l0OjpXZWJX
aGVlbEV2ZW50JiB2YWx1ZSk7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlVmFsdWUoRW5jb2RlZFZh
bHVlJiwgc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6V2ViV2hlZWxFdmVudD4mIHZhbHVlKTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9SZXBsYXkvV0tSZXBsYXlJbnB1dERpc3BhdGNoTWV0aG9kcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1JlcGxheS9XS1JlcGxheUlucHV0RGlzcGF0Y2hNZXRob2RzLmNwcApp
bmRleCAzMTEzZTBmZjM0ZTFhNDk4NDY1YTIwMGY4MDA0YTI5MmQ5ZmIxMDA2Li5iMWE0YWZjOTRi
Y2M5OTA0YmZkYTcxMGQ2OTFmMTA0MWQ5YmQwYTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1JlcGxheS9XS1JlcGxheUlucHV0RGlzcGF0Y2hNZXRob2RzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1JlcGxheS9XS1JlcGxheUlucHV0RGlzcGF0Y2hN
ZXRob2RzLmNwcApAQCAtMzMsMTEgKzMzLDIxIEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCit2
b2lkIEhhbmRsZUtleUV2ZW50OjpkaXNwYXRjaChXZWJQYWdlJiBwYWdlKQoreworICAgIHBhZ2Uu
aGFuZGxlS2V5RXZlbnQoa2V5Ym9hcmRFdmVudCgpLCBXZWJQYWdlOjpBY3Rpb25Tb3VyY2U6OlN5
bnRoZXRpYyk7Cit9CisKIHZvaWQgSGFuZGxlTW91c2VFdmVudDo6ZGlzcGF0Y2goV2ViUGFnZSYg
cGFnZSkKIHsKICAgICBwYWdlLmhhbmRsZU1vdXNlRXZlbnQobW91c2VFdmVudCgpLCBXZWJQYWdl
OjpBY3Rpb25Tb3VyY2U6OlN5bnRoZXRpYyk7CiB9CiAKK3ZvaWQgSGFuZGxlV2hlZWxFdmVudDo6
ZGlzcGF0Y2goV2ViUGFnZSYgcGFnZSkKK3sKKyAgICBwYWdlLmhhbmRsZVdoZWVsRXZlbnQod2hl
ZWxFdmVudCgpLCBXZWJQYWdlOjpBY3Rpb25Tb3VyY2U6OlN5bnRoZXRpYyk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9SRVBMQVkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNDdiMWRhNmUw
Y2U5OTJhYjg3N2MyMjc1NTk3NGUzMzAwOTg0ZTQ1OS4uOWIwMzY4NzZiYzJmYmNiNDQ4OGVhZGJm
ODYzMmMzZmQ1OTAxMzM0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcApAQCAtMTgzNSw5ICsxODM1LDkgQEAgV2ViQ29udGV4dE1lbnUqIFdlYlBh
Z2U6OmNvbnRleHRNZW51QXRQb2ludEluV2luZG93KGNvbnN0IEludFBvaW50JiBwb2ludCkKICAg
ICAKICAgICAvLyBTaW11bGF0ZSBhIG1vdXNlIGNsaWNrIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0
IG1lbnUuCiAgICAgUGxhdGZvcm1Nb3VzZUV2ZW50IG1vdXNlRXZlbnQocG9pbnQsIHBvaW50LCBS
aWdodEJ1dHRvbiwgUGxhdGZvcm1FdmVudDo6TW91c2VQcmVzc2VkLCAxLCBmYWxzZSwgZmFsc2Us
IGZhbHNlLCBmYWxzZSwgY3VycmVudFRpbWUoKSk7Ci0gICAgYm9vbCBoYW5kbGVkID0gY29yZVBh
Z2UoKS0+dXNlcklucHV0QnJpZGdlKCkuaGFuZGxlQ29udGV4dE1lbnVFdmVudChtb3VzZUV2ZW50
LCAmY29yZVBhZ2UoKS0+bWFpbkZyYW1lKCkpOworICAgIGJvb2wgaGFuZGxlZCA9IGNvcmVQYWdl
KCktPm1haW5GcmFtZSgpLmV2ZW50SGFuZGxlcigpLnNlbmRDb250ZXh0TWVudUV2ZW50KG1vdXNl
RXZlbnQpOwogICAgIGlmICghaGFuZGxlZCkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJl
dHVybiBudWxscHRyOwogCiAgICAgcmV0dXJuIGNvbnRleHRNZW51KCk7CiB9CkBAIC0xODg3LDcg
KzE4ODcsNyBAQCBzdGF0aWMgYm9vbCBpc0NvbnRleHRDbGljayhjb25zdCBQbGF0Zm9ybU1vdXNl
RXZlbnQmIGV2ZW50KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3RhdGljIGJvb2wgaGFuZGxl
Q29udGV4dE1lbnVFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBsYXRmb3JtTW91c2VF
dmVudCwgV2ViUGFnZSogcGFnZSkKK3N0YXRpYyBib29sIGZvcndhcmRDb250ZXh0TWVudUV2ZW50
KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgcGxhdGZvcm1Nb3VzZUV2ZW50LCBXZWJQYWdlKiBw
YWdlKQogewogICAgIEludFBvaW50IHBvaW50ID0gcGFnZS0+Y29yZVBhZ2UoKS0+bWFpbkZyYW1l
KCkudmlldygpLT53aW5kb3dUb0NvbnRlbnRzKHBsYXRmb3JtTW91c2VFdmVudC5wb3NpdGlvbigp
KTsKICAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCA9IHBhZ2UtPmNvcmVQYWdlKCktPm1haW5GcmFt
ZSgpLmV2ZW50SGFuZGxlcigpLmhpdFRlc3RSZXN1bHRBdFBvaW50KHBvaW50KTsKQEAgLTE4OTYs
NyArMTg5Niw3IEBAIHN0YXRpYyBib29sIGhhbmRsZUNvbnRleHRNZW51RXZlbnQoY29uc3QgUGxh
dGZvcm1Nb3VzZUV2ZW50JiBwbGF0Zm9ybU1vdXNlRXZlbnQsCiAgICAgaWYgKHJlc3VsdC5pbm5l
ck5vblNoYXJlZE5vZGUoKSkKICAgICAgICAgZnJhbWUgPSByZXN1bHQuaW5uZXJOb25TaGFyZWRO
b2RlKCktPmRvY3VtZW50KCkuZnJhbWUoKTsKIAotICAgIGJvb2wgaGFuZGxlZCA9IHBhZ2UtPmNv
cmVQYWdlKCktPnVzZXJJbnB1dEJyaWRnZSgpLmhhbmRsZUNvbnRleHRNZW51RXZlbnQocGxhdGZv
cm1Nb3VzZUV2ZW50LCBmcmFtZSk7CisgICAgYm9vbCBoYW5kbGVkID0gZnJhbWUtPmV2ZW50SGFu
ZGxlcigpLnNlbmRDb250ZXh0TWVudUV2ZW50KHBsYXRmb3JtTW91c2VFdmVudCk7CiAgICAgaWYg
KGhhbmRsZWQpCiAgICAgICAgIHBhZ2UtPmNvbnRleHRNZW51KCktPnNob3coKTsKIApAQCAtMTky
Miw3ICsxOTIyLDcgQEAgc3RhdGljIGJvb2wgZm9yd2FyZE1vdXNlRXZlbnQoY29uc3QgV2ViTW91
c2VFdmVudCYgbW91c2VFdmVudCwgV2ViUGFnZSogcGFnZSwgYm8KICAgICAgICAgICAgIGJvb2wg
aGFuZGxlZCA9IGZyYW1lLmV2ZW50SGFuZGxlcigpLmhhbmRsZU1vdXNlUHJlc3NFdmVudChwbGF0
Zm9ybU1vdXNlRXZlbnQpOwogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQogICAgICAgICAgICAg
aWYgKGlzQ29udGV4dENsaWNrKHBsYXRmb3JtTW91c2VFdmVudCkpCi0gICAgICAgICAgICAgICAg
aGFuZGxlZCA9IGhhbmRsZUNvbnRleHRNZW51RXZlbnQocGxhdGZvcm1Nb3VzZUV2ZW50LCBwYWdl
KTsKKyAgICAgICAgICAgICAgICBoYW5kbGVkID0gZm9yd2FyZENvbnRleHRNZW51RXZlbnQocGxh
dGZvcm1Nb3VzZUV2ZW50LCBwYWdlKTsKICNlbmRpZgogICAgICAgICAgICAgcmV0dXJuIGhhbmRs
ZWQ7CiAgICAgICAgIH0KQEAgLTIwMzAsMjggKzIwMzAsNDggQEAgdm9pZCBXZWJQYWdlOjptb3Vz
ZUV2ZW50U3luY0ZvclRlc3RpbmcoY29uc3QgV2ViTW91c2VFdmVudCYgbW91c2VFdmVudCwgYm9v
bCYgaGEKICAgICB9CiB9CiAKLXN0YXRpYyBib29sIGhhbmRsZVdoZWVsRXZlbnQoY29uc3QgV2Vi
V2hlZWxFdmVudCYgd2hlZWxFdmVudCwgUGFnZSogcGFnZSkKK3N0YXRpYyBib29sIGZvcndhcmRX
aGVlbEV2ZW50KGNvbnN0IFdlYldoZWVsRXZlbnQmIHdoZWVsRXZlbnQsIFBhZ2UqIHBhZ2UpCiB7
CiAgICAgRnJhbWUmIGZyYW1lID0gcGFnZS0+bWFpbkZyYW1lKCk7CiAgICAgaWYgKCFmcmFtZS52
aWV3KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFBsYXRmb3JtV2hlZWxFdmVudCBw
bGF0Zm9ybVdoZWVsRXZlbnQgPSBwbGF0Zm9ybSh3aGVlbEV2ZW50KTsKLSAgICByZXR1cm4gcGFn
ZS0+dXNlcklucHV0QnJpZGdlKCkuaGFuZGxlV2hlZWxFdmVudChwbGF0Zm9ybVdoZWVsRXZlbnQp
OworICAgIHJldHVybiBwYWdlLT5tYWluRnJhbWUoKS5ldmVudEhhbmRsZXIoKS5oYW5kbGVXaGVl
bEV2ZW50KHBsYXRmb3JtV2hlZWxFdmVudCk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6d2hlZWxFdmVu
dChjb25zdCBXZWJXaGVlbEV2ZW50JiB3aGVlbEV2ZW50KQogeworICAgIGJvb2wgaGFuZGxlZCA9
IGhhbmRsZVdoZWVsRXZlbnQod2hlZWxFdmVudCwgQWN0aW9uU291cmNlOjpVc2VyKTsKKyAgICBz
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFJlY2VpdmVFdmVudChzdGF0aWNfY2FzdDx1
aW50MzJfdD4od2hlZWxFdmVudC50eXBlKCkpLCBoYW5kbGVkKSk7Cit9CisKK2Jvb2wgV2ViUGFn
ZTo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBXZWJXaGVlbEV2ZW50JiB3aGVlbEV2ZW50LCBBY3Rp
b25Tb3VyY2Ugc291cmNlKQorewogICAgIG1fcGFnZS0+cGFnZVRocm90dGxlcigpLmRpZFJlY2Vp
dmVVc2VySW5wdXQoKTsKIAorI2lmIEVOQUJMRShXRUJfUkVQTEFZKQorICAgIC8vIERvbid0IHRy
eSB0byBoYW5kbGUgYW55IHVzZXIgZXZlbnRzIGlmIHRoZSB3ZWIgY29udGVudCBpcyBiZWluZyBy
ZXBsYXllZC4KKyAgICBJbnB1dEN1cnNvciYgY3Vyc29yID0gY29yZVBhZ2UoKS0+cmVwbGF5Q29u
dHJvbGxlcigpLmFjdGl2ZUlucHV0Q3Vyc29yKCk7CisgICAgaWYgKGN1cnNvci5pc1JlcGxheWlu
ZygpICYmIHNvdXJjZSAhPSBBY3Rpb25Tb3VyY2U6OlN5bnRoZXRpYykKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oc291cmNlKTsKKyNlbmRpZgorCiAgICAg
Ym9vbCBoYW5kbGVkID0gZmFsc2U7CiAKICAgICBpZiAoY2FuSGFuZGxlVXNlckV2ZW50cygpKSB7
CiAgICAgICAgIEN1cnJlbnRFdmVudCBjdXJyZW50RXZlbnQod2hlZWxFdmVudCk7CiAKLSAgICAg
ICAgaGFuZGxlZCA9IGhhbmRsZVdoZWVsRXZlbnQod2hlZWxFdmVudCwgbV9wYWdlLmdldCgpKTsK
KyNpZiBFTkFCTEUoV0VCX1JFUExBWSkKKyAgICAgICAgaWYgKGN1cnNvci5pc0NhcHR1cmluZygp
KQorICAgICAgICAgICAgY3Vyc29yLmFwcGVuZElucHV0PEhhbmRsZVdoZWVsRXZlbnQ+KHN0ZDo6
bWFrZV91bmlxdWU8V2ViV2hlZWxFdmVudD4od2hlZWxFdmVudCkpOworICAgICAgICBFdmVudExv
b3BJbnB1dEV4dGVudCBleHRlbnQoY3Vyc29yKTsKKyNlbmRpZgorICAgICAgICBoYW5kbGVkID0g
Zm9yd2FyZFdoZWVsRXZlbnQod2hlZWxFdmVudCwgbV9wYWdlLmdldCgpKTsKICAgICB9Ci0gICAg
c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRSZWNlaXZlRXZlbnQoc3RhdGljX2Nhc3Q8
dWludDMyX3Q+KHdoZWVsRXZlbnQudHlwZSgpKSwgaGFuZGxlZCkpOworICAgIHJldHVybiBoYW5k
bGVkOwogfQogCiB2b2lkIFdlYlBhZ2U6OndoZWVsRXZlbnRTeW5jRm9yVGVzdGluZyhjb25zdCBX
ZWJXaGVlbEV2ZW50JiB3aGVlbEV2ZW50LCBib29sJiBoYW5kbGVkKQpAQCAtMjA2MSwzNCArMjA4
MSw1NSBAQCB2b2lkIFdlYlBhZ2U6OndoZWVsRXZlbnRTeW5jRm9yVGVzdGluZyhjb25zdCBXZWJX
aGVlbEV2ZW50JiB3aGVlbEV2ZW50LCBib29sJiBoYQogICAgIGlmIChTY3JvbGxpbmdDb29yZGlu
YXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBtX3BhZ2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9y
KCkpCiAgICAgICAgIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5jb21taXRUcmVlU3RhdGVJZk5lZWRl
ZCgpOwogCi0gICAgaGFuZGxlZCA9IGhhbmRsZVdoZWVsRXZlbnQod2hlZWxFdmVudCwgbV9wYWdl
LmdldCgpKTsKKyAgICBoYW5kbGVkID0gZm9yd2FyZFdoZWVsRXZlbnQod2hlZWxFdmVudCwgbV9w
YWdlLmdldCgpKTsKIH0KIAotc3RhdGljIGJvb2wgaGFuZGxlS2V5RXZlbnQoY29uc3QgV2ViS2V5
Ym9hcmRFdmVudCYga2V5Ym9hcmRFdmVudCwgUGFnZSogcGFnZSkKK3N0YXRpYyBib29sIGZvcndh
cmRLZXlFdmVudChjb25zdCBXZWJLZXlib2FyZEV2ZW50JiBrZXlib2FyZEV2ZW50LCBQYWdlKiBw
YWdlKQogewogICAgIGlmICghcGFnZS0+bWFpbkZyYW1lKCkudmlldygpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKICAgICBpZiAoa2V5Ym9hcmRFdmVudC50eXBlKCkgPT0gV2ViRXZlbnQ6OkNo
YXIgJiYga2V5Ym9hcmRFdmVudC5pc1N5c3RlbUtleSgpKQotICAgICAgICByZXR1cm4gcGFnZS0+
dXNlcklucHV0QnJpZGdlKCkuaGFuZGxlQWNjZXNzS2V5RXZlbnQocGxhdGZvcm0oa2V5Ym9hcmRF
dmVudCkpOwotICAgIHJldHVybiBwYWdlLT51c2VySW5wdXRCcmlkZ2UoKS5oYW5kbGVLZXlFdmVu
dChwbGF0Zm9ybShrZXlib2FyZEV2ZW50KSk7CisgICAgICAgIHJldHVybiBwYWdlLT5mb2N1c0Nv
bnRyb2xsZXIoKS5mb2N1c2VkT3JNYWluRnJhbWUoKS5ldmVudEhhbmRsZXIoKS5oYW5kbGVBY2Nl
c3NLZXkocGxhdGZvcm0oa2V5Ym9hcmRFdmVudCkpOworICAgIHJldHVybiBwYWdlLT5mb2N1c0Nv
bnRyb2xsZXIoKS5mb2N1c2VkT3JNYWluRnJhbWUoKS5ldmVudEhhbmRsZXIoKS5rZXlFdmVudChw
bGF0Zm9ybShrZXlib2FyZEV2ZW50KSk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6a2V5RXZlbnQoY29u
c3QgV2ViS2V5Ym9hcmRFdmVudCYga2V5Ym9hcmRFdmVudCkKIHsKKyAgICBib29sIGhhbmRsZWQg
PSBoYW5kbGVLZXlFdmVudChrZXlib2FyZEV2ZW50LCBBY3Rpb25Tb3VyY2U6OlVzZXIpOworICAg
IHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkUmVjZWl2ZUV2ZW50KHN0YXRpY19jYXN0
PHVpbnQzMl90PihrZXlib2FyZEV2ZW50LnR5cGUoKSksIGhhbmRsZWQpKTsKK30KKworYm9vbCBX
ZWJQYWdlOjpoYW5kbGVLZXlFdmVudChjb25zdCBXZWJLZXlib2FyZEV2ZW50JiBrZXlib2FyZEV2
ZW50LCBBY3Rpb25Tb3VyY2Ugc291cmNlKQorewogICAgIG1fcGFnZS0+cGFnZVRocm90dGxlcigp
LmRpZFJlY2VpdmVVc2VySW5wdXQoKTsKIAorI2lmIEVOQUJMRShXRUJfUkVQTEFZKQorICAgIC8v
IERvbid0IHRyeSB0byBoYW5kbGUgYW55IHVzZXIgZXZlbnRzIGlmIHRoZSB3ZWIgY29udGVudCBp
cyBiZWluZyByZXBsYXllZC4KKyAgICBJbnB1dEN1cnNvciYgY3Vyc29yID0gY29yZVBhZ2UoKS0+
cmVwbGF5Q29udHJvbGxlcigpLmFjdGl2ZUlucHV0Q3Vyc29yKCk7CisgICAgaWYgKGN1cnNvci5p
c1JlcGxheWluZygpICYmIHNvdXJjZSAhPSBBY3Rpb25Tb3VyY2U6OlN5bnRoZXRpYykKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oc291cmNlKTsKKyNlbmRp
ZgorCiAgICAgYm9vbCBoYW5kbGVkID0gZmFsc2U7CiAKICAgICBpZiAoY2FuSGFuZGxlVXNlckV2
ZW50cygpKSB7CiAgICAgICAgIEN1cnJlbnRFdmVudCBjdXJyZW50RXZlbnQoa2V5Ym9hcmRFdmVu
dCk7CiAKLSAgICAgICAgaGFuZGxlZCA9IGhhbmRsZUtleUV2ZW50KGtleWJvYXJkRXZlbnQsIG1f
cGFnZS5nZXQoKSk7CisjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCisgICAgICAgIGlmIChjdXJzb3Iu
aXNDYXB0dXJpbmcoKSkKKyAgICAgICAgICAgIGN1cnNvci5hcHBlbmRJbnB1dDxIYW5kbGVLZXlF
dmVudD4oc3RkOjptYWtlX3VuaXF1ZTxXZWJLZXlib2FyZEV2ZW50PihrZXlib2FyZEV2ZW50KSk7
CisgICAgICAgIEV2ZW50TG9vcElucHV0RXh0ZW50IGV4dGVudChjdXJzb3IpOworI2VuZGlmCisg
ICAgICAgIGhhbmRsZWQgPSBmb3J3YXJkS2V5RXZlbnQoa2V5Ym9hcmRFdmVudCwgbV9wYWdlLmdl
dCgpKTsKICAgICAgICAgLy8gRklYTUU6IFBsYXRmb3JtIGRlZmF1bHQgYmVoYXZpb3JzIHNob3Vs
ZCBiZSBwZXJmb3JtZWQgZHVyaW5nIG5vcm1hbCBET00gZXZlbnQgZGlzcGF0Y2ggKGluIG1vc3Qg
Y2FzZXMsIGluIGRlZmF1bHQga2V5ZG93biBldmVudCBoYW5kbGVyKS4KICAgICAgICAgaWYgKCFo
YW5kbGVkKQogICAgICAgICAgICAgaGFuZGxlZCA9IHBlcmZvcm1EZWZhdWx0QmVoYXZpb3JGb3JL
ZXlFdmVudChrZXlib2FyZEV2ZW50KTsKICAgICB9Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViUGFn
ZVByb3h5OjpEaWRSZWNlaXZlRXZlbnQoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGtleWJvYXJkRXZl
bnQudHlwZSgpKSwgaGFuZGxlZCkpOworCisgICAgcmV0dXJuIGhhbmRsZWQ7CiB9CiAKIHZvaWQg
V2ViUGFnZTo6a2V5RXZlbnRTeW5jRm9yVGVzdGluZyhjb25zdCBXZWJLZXlib2FyZEV2ZW50JiBr
ZXlib2FyZEV2ZW50LCBib29sJiBoYW5kbGVkKQpAQCAtMjA5OCw3ICsyMTM5LDcgQEAgdm9pZCBX
ZWJQYWdlOjprZXlFdmVudFN5bmNGb3JUZXN0aW5nKGNvbnN0IFdlYktleWJvYXJkRXZlbnQmIGtl
eWJvYXJkRXZlbnQsIGJvb2wKICAgICBGcmFtZSYgZnJhbWUgPSBtX3BhZ2UtPmZvY3VzQ29udHJv
bGxlcigpLmZvY3VzZWRPck1haW5GcmFtZSgpOwogICAgIGZyYW1lLmRvY3VtZW50KCktPnVwZGF0
ZVN0eWxlSWZOZWVkZWQoKTsKIAotICAgIGhhbmRsZWQgPSBoYW5kbGVLZXlFdmVudChrZXlib2Fy
ZEV2ZW50LCBtX3BhZ2UuZ2V0KCkpOworICAgIGhhbmRsZWQgPSBmb3J3YXJkS2V5RXZlbnQoa2V5
Ym9hcmRFdmVudCwgbV9wYWdlLmdldCgpKTsKICAgICBpZiAoIWhhbmRsZWQpCiAgICAgICAgIGhh
bmRsZWQgPSBwZXJmb3JtRGVmYXVsdEJlaGF2aW9yRm9yS2V5RXZlbnQoa2V5Ym9hcmRFdmVudCk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBj
MGVjOWY0ZmE0NzA1OWUyMmJlZjYzYzg0OGFiNjNjMTRkNzljZTc5Li41M2FhNTdiMDE1ZTQ4ODRm
YTkzM2I2MDQzMDZlZTc2MTZmMWRmZTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKQEAgLTg3MCw3ICs4NzAsMTAgQEAgcHVibGljOgogICAgICAgICBT
eW50aGV0aWMKICAgICB9OwogCisgICAgLy8gRW50cnkgcG9pbnRzIGZvciBhY3Rpb25zIHRoYXQg
Y2FuIGJlIHNpbXVsYXRlZCBkdXJpbmcgd2ViIHJlcGxheS4KICAgICBib29sIGhhbmRsZU1vdXNl
RXZlbnQoY29uc3QgV2ViTW91c2VFdmVudCYsIEFjdGlvblNvdXJjZSk7CisgICAgYm9vbCBoYW5k
bGVLZXlFdmVudChjb25zdCBXZWJLZXlib2FyZEV2ZW50JiwgQWN0aW9uU291cmNlKTsKKyAgICBi
b29sIGhhbmRsZVdoZWVsRXZlbnQoY29uc3QgV2ViV2hlZWxFdmVudCYsIEFjdGlvblNvdXJjZSk7
CiAKIHByaXZhdGU6CiAgICAgV2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VD
cmVhdGlvblBhcmFtZXRlcnMmKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>