453453
454454
455455< h1 class ="title toc-ignore "> Preprocessing</ h1 >
456- < h4 class ="date "> Last updated: November 04 , 2025</ h4 >
456+ < h4 class ="date "> Last updated: November 10 , 2025</ h4 >
457457
458458</ div >
459459
@@ -647,10 +647,10 @@ <h3 class="hasAnchor">Arithmetic averaging<a
647647editing experiment < span class ="math inline "> \(x_m\)</ span > (e.g., all
648648edit-ON and all edit-OFF subspectra) are averaged using the arithmetic
649649mean: < span class ="math inline "> \(\bar{x} =
650- \frac{1}{M}\sum{x_m}\)</ span > . The difference between the averaged
651- edit-ON and edit-OFF spectra is then calculated to yield the final
652- difference spectrum: < span class ="math inline "> \(x_{DIFF} = \bar{x}_{ON}
653- - \bar{x}_{OFF}\)</ span > .</ p >
650+ \frac{1}{M}\sum{x_m}\)</ span > . The average difference between the
651+ averaged edit-ON and edit-OFF spectra is then calculated to yield the
652+ final difference spectrum: < span class ="math inline "> \(x_{DIFF} =
653+ (\bar{x}_{ON} - \bar{x}_{OFF})/2 \)</ span > .</ p >
654654< p > Note that before the arithmetic averaging of subspectra, individual
655655transients are excluded based on the outlier rejection algorithm used
656656during frequency and phase alignment.</ p >
@@ -674,7 +674,7 @@ <h3 class="hasAnchor">Weighted averaging<a href="#weighted-averaging"
674674class ="math inline "> \(w_{m} = d^{-2}_m/\sum{d^{-2}_m}\)</ span > , and
675675applied to the subspectra to give the weighted average: < span
676676class ="math inline "> \(\bar{x} = \sum{w_{m}x_{m}}\)</ span > . As above, the
677- difference is then taken to obtain the difference spectrum.</ p >
677+ difference is then taken to obtain the average difference spectrum.</ p >
678678< p > Other algorithms to calculate weights can be found in
679679< code > SignalAveraging.m</ code > . (Note: These have not been tested
680680extensively and should be used with caution.)</ p >
@@ -747,7 +747,7 @@ <h3 class="unnumbered hasAnchor">References<a href="#references"
747747</ div >
748748</ div >
749749
750- < div id ="rmd-source-code "> LS0tCnRpdGxlOiAiUHJlcHJvY2Vzc2luZyIKZGF0ZTogIkxhc3QgdXBkYXRlZDogYHIgZm9ybWF0KFN5cy50aW1lKCksICclQiAlZCwgJVknKWAiCmJpYmxpb2dyYXBoeTogYmlibGlvZ3JhcGh5LmJpYgpjc2w6IGFtZXJpY2FuLW1lZGljYWwtYXNzb2NpYXRpb24uY3NsCmxpbmstY2l0YXRpb25zOiB5ZXMKb3V0cHV0OgogIGh0bWxfZG9jdW1lbnQ6CiAgICB0b2M6IFRSVUUKICAgIHRvY19kZXB0aDogMgogICAgdG9jX2Zsb2F0OgogICAgICBjb2xsYXBzZWQ6IEZBTFNFCi0tLQoKYGBge3Igc2V0dXAsIGluY2x1ZGUgPSBGQUxTRX0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFKQpgYGAKCmBgYHtyLCBjaGlsZCA9ICJqcy9iYWNrLXRvLXRvcC5qcyJ9CmBgYAoKYGBge2NzcywgZWNobyA9IEZBTFNFfQp0YWJsZSB7CiAgbWFyZ2luOiBhdXRvOwp9Cgp0YWJsZSB0aGVhZCB0aCB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7Cn0KCnRoLCB0ZCB7CiAgcGFkZGluZzogNXB4Owp9CmBgYAoKPGJyPgoKTGlzdGVkIGJlbG93IGFyZSB0aGUgcHJlcHJvY2Vzc2luZyByb3V0aW5lcyB0aGF0IGFyZSBydW4gaW4gYEdhbm5ldExvYWQubWAuIFdoZXRoZXIgYSBwYXJ0aWN1bGFyIHJvdXRpbmUgb3Igc3Vicm91dGluZSBpcyBydW4gd2lsbCBkZXBlbmQgb24gdGhlIGZvcm1hdCBvZiB0aGUgaW5wdXR0ZWQgZGF0YSBhbmQgdGhlIG9wdGlvbnMgc2V0IGluIGBHYW5uZXRQcmVJbml0aWFsaXNlLm1gLgoKIyMgUkYgY29pbCBjb21iaW5hdGlvbgoKQ2VydGFpbiByYXcgTVJTIGRhdGEgZm9ybWF0cyBzdG9yZSBkYXRhIHdpdGhvdXQgY29pbCBjb21iaW5hdGlvbjsgc3BlY2lmaWNhbGx5LCBHRSBQLWZpbGUgKC43KSwgTklmVEktTVJTIChpZiB0aGUgc291cmNlIGRhdGEgd2VyZSByYXcpLCBQaGlsaXBzIC5yYXcsIGFuZCBTaWVtZW5zIFRXSVggKC5kYXQpIGRhdGEuIEdhbm5ldCB1c2VzIGdlbmVyYWxpemVkIGxlYXN0IHNxdWFyZXMgW0BBbjIwMTNdIHRvIG9wdGltYWxseSBjb21iaW5lIHRoZSBzaWduYWwgZnJvbSB0aGUgbXVsdGlwbGUgUkYgY2hhbm5lbHMuIElmIHdhdGVyIGZpbGVzIGFyZSBwcm92aWRlZCwgdGhlc2UgZGF0YSB3aWxsIGJlIHVzZWQgYXMgcmVmZXJlbmNlcyBmb3Igc2lnbmFsIHdlaWdodGluZyBhbmQgcGhhc2luZyBvZiB0aGUgY29pbCBkYXRhLgoKIyMgRWRkeS1jdXJyZW50IGNvcnJlY3Rpb24KCjo6OiBpbmZvCjxpIGNsYXNzPSJmYSBmYS1pbmZvLWNpcmNsZSIgc3R5bGU9ImNvbG9yOiB3aGl0ZSI+PC9pPsKgIEVkZHktY3VycmVudCBjb3JyZWN0aW9uIGNhbiBvbmx5IGJlIGFwcGxpZWQgaWYgd2F0ZXIgcmVmZXJlbmNlIGRhdGEgYXJlIHByb3ZpZGVkLgo6OjoKCkluIGBHYW5uZXRQcmVJbml0aWFsaXNlLm1gLCB1c2VycyBoYXZlIHRoZSBvcHRpb24gdG8gYXBwbHkgZWRkeS1jdXJyZW50IGNvcnJlY3Rpb24gKEVDQykgdG8gbWV0YWJvbGl0ZSBhbmQgd2F0ZXIgZGF0YS4gSWYgYXBwbGllZCwgR2FubmV0IHVzZXMgdGhlIG1ldGhvZCBkZXNjcmliZWQgYnkgS2xvc2UgKDE5OTApIFtAS2xvc2UxOTkwXS4gVGhlIGNvZGUgZm9yIHRoZSBFQ0Mgcm91dGluZSBjYW4gYmUgZm91bmQgaW4gYEVkZHlDdXJyZW50Q29ycmVjdGlvbi5tYC4KCiMjIFBoYXNlIGNvcnJlY3Rpb24KCkl0IGlzIGNvbW1vbiBmb3IgdW5wcm9jZXNzZWQgc3BlY3RyYSB0byBiZSBvdXQgb2YgcGhhc2UuIEdhbm5ldCBhcHBsaWVzIGEgZ2xvYmFsIHplcm8tb3JkZXIgcGhhc2UgY29ycmVjdGlvbiB0byBhbGwgdHJhbnNpZW50cyBieSBmaXR0aW5nIHRoZSByZWFsLXZhbHVlZCAzIHBwbSBDciBhbmQgMy4yIHBwbSBDaG8gc2lnbmFscyBpbiB0aGUgZnJlcXVlbmN5IGRvbWFpbiBhbmQgY29ycmVjdGluZyB0aGUgcGhhc2UgdG8gYmUgMMKwIHBoYXNlIChpLmUuLCB0byBtYWtlIGFsbCB0aGUgQ3IgYW5kIENobyBwZWFrcyBoYXZlIHBvc2l0aXZlIHBoYXNlKS4gVGhpcyBpcyBwZXJmb3JtZWQgaW4gYFBoYXNlQ29ycmVjdGlvbi5tYC4KCiMjIExpbmUtYnJvYWRlbmRpbmcgKGFwb2RpemF0aW9uKQoKRklEIGRhdGEgYXJlIG11bHRpcGxpZWQgYnkgYSB0aW1lLXZhcnlpbmcgZXhwb25lbnRpYWwgd2VpZ2h0aW5nIGZ1bmN0aW9uIHdoZXJlIHRoZSB3ZWlnaHRpbmcgY29uc3RhbnQgaXMgc2V0IGluIGBHYW5uZXRQcmVJbml0aWFsaXNlLm1gICgzIEh6IGlzIHRoZSBkZWZhdWx0KS4KCiMjIFplcm8tZmlsbGluZwoKR2FubmV0IHplcm8tcGFkcyBhbGwgcmF3IEZJRHMgKGkuZS4sIGFkZHMgemVyb3MgdG8gdGhlIGVuZCBvZiBlYWNoIEZJRCkgdG8gb2J0YWluIGEgbm9taW5hbCBzcGVjdHJhbCByZXNvbHV0aW9uICh0aGUgcmVzb2x1dGlvbiBiZXR3ZWVuIGVhY2ggZnJlcXVlbmN5LWRvbWFpbiBkYXRhIHBvaW50KSBvZiAwLjA2MSBIei9wb2ludC4gRGlmZmVyZW5jZXMgaW4gc3BlY3RyYWwgd2lkdGggYW5kIG51bWJlciBvZiBjb21wbGV4IGRhdGEgcG9pbnRzIG9mIHRoZSByYXcgRklEcyBhcmUgYWNjb3VudGVkIGZvciB0byBvYnRhaW4gdGhpcyBub21pbmFsIHNwZWN0cmFsIHJlc29sdXRpb24uCgojIyBGcmVxdWVuY3kgYW5kIHBoYXNlIGFsaWdubWVudAoKRHVyaW5nIGFjcXVpc2l0aW9uLCBzcGVjdHJhbCBkYXRhIGFyZSBhZmZlY3RlZCBieSBmcmVxdWVuY3kgYW5kIHBoYXNlIG9mZnNldHMgYXMgYSByZXN1bHQgb2YgYmlvcGh5c2ljYWwsIGVsZWN0cm9uaWMsIGFuZCBwYXJ0aWNpcGFudCBmYWN0b3JzLiBHYW5uZXQgaGFzIHNldmVyYWwgYWxnb3JpdGhtcyB0byBjb3JyZWN0IGZvciB0aGVzZSBlcnJvcnMgZHVyaW5nIHByZXByb2Nlc3NpbmcuIFVzZXJzIGNhbiBjaG9vc2Ugd2hpY2ggbWV0aG9kIHRvIHVzZSBpbiBgR2FubmV0UHJlSW5pdGlhbGlzZS5tYDoKCnwgPHU+TWV0aG9kPC91PiB8IDx1Pk9wdGlvbjwvdT4gfCA8dT5EZXNjcmlwdGlvbjwvdT4gfCA8dT5GdW5jdGlvbjwvdT4gfAp8Oi0tLS0tLS0tLS0tLS0tLS0tfDotLS0tLS0tLS0tLS0tLS0tLXw6LS0tLS0tLS0tLS0tLS0tLS0tfDotLS0tLS0tLS0tLS0tLS0tLXwKfCBTcGVjdHJhbCByZWdpc3RyYXRpb24gW0BOZWFyMjAxNV0gfCBgU3BlY1JlZ2AgfCBBIHRpbWUtZG9tYWluLWJhc2VkIGFsaWdubWVudCBtZXRob2QgdGhhdCB1c2VzIG5vbmxpbmVhciBsZWFzdC1zcXVhcmVzIG9wdGltaXphdGlvbiB0byBhbGlnbiBlYWNoIGluZGl2aWR1YWwgdHJhbnNpZW50IHRvIGEgcmVmZXJlbmNlIHRyYW5zaWVudC4gfCBgU3BlY3RyYWxSZWdpc3RyYXRpb24ubWAgfAp8IE11bHRpLXN0ZXAgZnJlcXVlbmN5IGFuZCBwaGFzZSBjb3JyZWN0aW9uIFtATWlra2Vsc2VuMjAxOF0gfCBgU3BlY1JlZ0hFUk1FU2AgfCBBIG1ldGhvZCBvcmlnaW5hbGx5IGRldmVsb3BlZCB0byBhbGlnbiBtdWx0aXBsZXhlZCBlZGl0ZWQgSEVSTUVTIGRhdGEuIFRoaXMgYXBwcm9hY2ggaXMgYmFzZWQgb24gc3BlY3RyYWwgcmVnaXN0cmF0aW9uLiB8IGBTcGVjdHJhbFJlZ2lzdHJhdGlvbkhFUk1FUy5tYCB8CnwgUm9idXN0IHNwZWN0cmFsIHJlZ2lzdHJhdGlvbiBbQE1pa2tlbHNlbjIwMjBdICh0aGUgZGVmYXVsdCBhbmQgcmVjb21tZW5kZWQpIHwgYFJvYnVzdFNwZWNSZWdgIHwgQSBtZXRob2QgYmFzZWQgb24gc3BlY3RyYWwgcmVnaXN0cmF0aW9uIHRoYXQgaXMgcm9idXN0IGFnYWluc3Qgc3BlY3RyYWwgZGlzdG9ydGlvbnMgY2F1c2VkIGJ5IHVuc3RhYmxlIHJlc2lkdWFsIHdhdGVyIHBlYWtzIGFuZCBsaXBpZCBjb250YW1pbmF0aW9uLiB8IGBSb2J1c3RTcGVjdHJhbFJlZ2lzdHJhdGlvbi5tYCB8CnwgUGVhayBhbGlnbm1lbnQgfCBgQ3JgLCBgQ2hvYCwgYE5BQWAsIGBIMk9gIHwgRnJlcXVlbmN5LWRvbWFpbi1iYXNlZCBhbGlnbm1lbnQgdXNpbmcgb25lIG9mIHRoZSBmb2xsb3dpbmcgcGVha3MgaW4gZWFjaCB0cmFuc2llbnQgYXMgdGhlIHRhcmdldCBzaWduYWw6IENyLCBDaG8sIE5BQSwgb3IgcmVzaWR1YWwgSDJPLiB8IGBBbGlnblVzaW5nUGVhay5tYCwgYEFsaWduVXNpbmdIMk8ubWAgfAp8IE5vIGFsaWdubWVudCB8IGBub25lYCB8IERvIG5vdCBwZXJmb3JtIGFueSBmcmVxdWVuY3kgb3IgcGhhc2UgYWxpZ25tZW50IGJldHdlZW4gdHJhbnNpZW50cy4gfCBuL2EgfAoKIyMgU2lnbmFsIGF2ZXJhZ2luZyBhbmQgc3VidHJhY3Rpb24KCkdhbm5ldCBwcm92aWRlcyB0d28gbWV0aG9kcyBmb3IgYXZlcmFnaW5nIGluZGl2aWR1YWwgdHJhbnNpZW50cyAoc2VsZWN0ZWQgaW4gYEdhbm5ldFByZUluaXRpYWxpc2UubWApOiBhcml0aG1ldGljIGF2ZXJhZ2luZyAod2l0aCBvdXRsaWVyIHJlamVjdGlvbikgYW5kIHdlaWdodGVkIGF2ZXJhZ2luZyAodGhlIGRlZmF1bHQpLiBUaGUgY29kZSBmb3IgdGhlIHNpZ25hbCBhdmVyYWdpbmcgcm91dGluZXMgY2FuIGJlIGZvdW5kIGluIGBTaWduYWxBdmVyYWdpbmcubWAuCgojIyMgQXJpdGhtZXRpYyBhdmVyYWdpbmcKCkFyaXRobWV0aWMgYXZlcmFnaW5nIGlzIHN0cmFpZ2h0Zm9yd2FyZC4gQWxsIHN1YnNwZWN0cmEgZm9yIGVhY2ggZWRpdGluZyBleHBlcmltZW50ICR4X20kIChlLmcuLCBhbGwgZWRpdC1PTiBhbmQgYWxsIGVkaXQtT0ZGIHN1YnNwZWN0cmEpIGFyZSBhdmVyYWdlZCB1c2luZyB0aGUgYXJpdGhtZXRpYyBtZWFuOiAkXGJhcnt4fSA9IFxmcmFjezF9e019XHN1bXt4X219JC4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgYXZlcmFnZWQgZWRpdC1PTiBhbmQgZWRpdC1PRkYgc3BlY3RyYSBpcyB0aGVuIGNhbGN1bGF0ZWQgdG8geWllbGQgdGhlIGZpbmFsIGRpZmZlcmVuY2Ugc3BlY3RydW06ICR4X3tESUZGfSA9IFxiYXJ7eH1fe09OfSAtIFxiYXJ7eH1fe09GRn0kLgoKTm90ZSB0aGF0IGJlZm9yZSB0aGUgYXJpdGhtZXRpYyBhdmVyYWdpbmcgb2Ygc3Vic3BlY3RyYSwgaW5kaXZpZHVhbCB0cmFuc2llbnRzIGFyZSBleGNsdWRlZCBiYXNlZCBvbiB0aGUgb3V0bGllciByZWplY3Rpb24gYWxnb3JpdGhtIHVzZWQgZHVyaW5nIGZyZXF1ZW5jeSBhbmQgcGhhc2UgYWxpZ25tZW50LgoKIyMjIFdlaWdodGVkIGF2ZXJhZ2luZwoKV2VpZ2h0ZWQgYXZlcmFnaW5nIGRvd24td2VpZ2h0cyBpbmRpdmlkdWFsIHN1YnNwZWN0cmEgdGhhdCBhcmUgY29ycnVwdGVkIGJ5IHNpZ25hbCBhcnRpZmFjdHMg4oCUIHRoaXMgaXMgYW4gaW1wb3J0YW50IGRpc3RpbmN0aW9uIGZyb20gdHJhZGl0aW9uYWwgc2lnbmFsIGF2ZXJhZ2luZy4gQXMgZGVzY3JpYmVkIGluIE1pa2tlbHNlbiBldCBhbC4gW0BNaWtrZWxzZW4yMDIwXSwgZm9yIGFsbCBzdWJzcGVjdHJhIGZvciBlYWNoIGVkaXRpbmcgZXhwZXJpbWVudCwgYSBzaW1pbGFyaXR5IG1hdHJpeCAkXG1hdGhiZntEfVxpblxtYXRoYmJ7Un1ee017XHRpbWVzfU19JCBpcyBvYnRhaW5lZCBieSBjYWxjdWxhdGluZyB0aGUgbWVhbiBzcXVhcmVkIGVycm9yIGJldHdlZW4gZWFjaCByZWFsLXZhbHVlZCBzdWJzcGVjdHJ1bSBhbmQgZXZlcnkgb3RoZXIgcmVhbC12YWx1ZWQgc3Vic3BlY3RydW0gKGluIHRoZSByYW5nZSAxLjggdG8gMy40IHBwbSkuIEEgc2ltaWxhcml0eSBtZXRyaWMgJGQkIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIGNvbHVtbi13aXNlIG1lZGlhbiBvZiAkXG1hdGhiZntEfSQuIE5vcm1hbGl6ZWQgd2VpZ2h0cyAkd197bX0kIGFyZSB0aGVuIGRlcml2ZWQsICR3X3ttfSA9IGReey0yfV9tL1xzdW17ZF57LTJ9X219JCwgYW5kIGFwcGxpZWQgdG8gdGhlIHN1YnNwZWN0cmEgdG8gZ2l2ZSB0aGUgd2VpZ2h0ZWQgYXZlcmFnZTogJFxiYXJ7eH0gPSBcc3Vte3dfe219eF97bX19JC4gQXMgYWJvdmUsIHRoZSBkaWZmZXJlbmNlIGlzIHRoZW4gdGFrZW4gdG8gb2J0YWluIHRoZSBkaWZmZXJlbmNlIHNwZWN0cnVtLgoKT3RoZXIgYWxnb3JpdGhtcyB0byBjYWxjdWxhdGUgd2VpZ2h0cyBjYW4gYmUgZm91bmQgaW4gYFNpZ25hbEF2ZXJhZ2luZy5tYC4gKE5vdGU6IFRoZXNlIGhhdmUgbm90IGJlZW4gdGVzdGVkIGV4dGVuc2l2ZWx5IGFuZCBzaG91bGQgYmUgdXNlZCB3aXRoIGNhdXRpb24uKQoKIyMgUmVzaWR1YWwgd2F0ZXIgcmVtb3ZhbAoKSWYgYHdhdGVyX3JlbW92YWxgIGlzIHNldCB0byAxIGluIGBHYW5uZXRQcmVJbml0aWFsaXNlLm1gICh0aGUgZGVmYXVsdCksIHRoZSByZXNpZHVhbCB3YXRlciBwZWFrIGlzIHJlbW92ZWQgZnJvbSBhbGwgZGlmZmVyZW5jZSBzcGVjdHJhIHVzaW5nIGFuIEhTVkQgZmlsdGVyIFtAQmFya2h1aWpzZW4xOTg3XS4KCjxicj4KCiMjIyBSZWZlcmVuY2VzCg==</ div >
750+ < div id ="rmd-source-code "> LS0tCnRpdGxlOiAiUHJlcHJvY2Vzc2luZyIKZGF0ZTogIkxhc3QgdXBkYXRlZDogYHIgZm9ybWF0KFN5cy50aW1lKCksICclQiAlZCwgJVknKWAiCmJpYmxpb2dyYXBoeTogYmlibGlvZ3JhcGh5LmJpYgpjc2w6IGFtZXJpY2FuLW1lZGljYWwtYXNzb2NpYXRpb24uY3NsCmxpbmstY2l0YXRpb25zOiB5ZXMKb3V0cHV0OgogIGh0bWxfZG9jdW1lbnQ6CiAgICB0b2M6IFRSVUUKICAgIHRvY19kZXB0aDogMgogICAgdG9jX2Zsb2F0OgogICAgICBjb2xsYXBzZWQ6IEZBTFNFCi0tLQoKYGBge3Igc2V0dXAsIGluY2x1ZGUgPSBGQUxTRX0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFKQpgYGAKCmBgYHtyLCBjaGlsZCA9ICJqcy9iYWNrLXRvLXRvcC5qcyJ9CmBgYAoKYGBge2NzcywgZWNobyA9IEZBTFNFfQp0YWJsZSB7CiAgbWFyZ2luOiBhdXRvOwp9Cgp0YWJsZSB0aGVhZCB0aCB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7Cn0KCnRoLCB0ZCB7CiAgcGFkZGluZzogNXB4Owp9CmBgYAoKPGJyPgoKTGlzdGVkIGJlbG93IGFyZSB0aGUgcHJlcHJvY2Vzc2luZyByb3V0aW5lcyB0aGF0IGFyZSBydW4gaW4gYEdhbm5ldExvYWQubWAuIFdoZXRoZXIgYSBwYXJ0aWN1bGFyIHJvdXRpbmUgb3Igc3Vicm91dGluZSBpcyBydW4gd2lsbCBkZXBlbmQgb24gdGhlIGZvcm1hdCBvZiB0aGUgaW5wdXR0ZWQgZGF0YSBhbmQgdGhlIG9wdGlvbnMgc2V0IGluIGBHYW5uZXRQcmVJbml0aWFsaXNlLm1gLgoKIyMgUkYgY29pbCBjb21iaW5hdGlvbgoKQ2VydGFpbiByYXcgTVJTIGRhdGEgZm9ybWF0cyBzdG9yZSBkYXRhIHdpdGhvdXQgY29pbCBjb21iaW5hdGlvbjsgc3BlY2lmaWNhbGx5LCBHRSBQLWZpbGUgKC43KSwgTklmVEktTVJTIChpZiB0aGUgc291cmNlIGRhdGEgd2VyZSByYXcpLCBQaGlsaXBzIC5yYXcsIGFuZCBTaWVtZW5zIFRXSVggKC5kYXQpIGRhdGEuIEdhbm5ldCB1c2VzIGdlbmVyYWxpemVkIGxlYXN0IHNxdWFyZXMgW0BBbjIwMTNdIHRvIG9wdGltYWxseSBjb21iaW5lIHRoZSBzaWduYWwgZnJvbSB0aGUgbXVsdGlwbGUgUkYgY2hhbm5lbHMuIElmIHdhdGVyIGZpbGVzIGFyZSBwcm92aWRlZCwgdGhlc2UgZGF0YSB3aWxsIGJlIHVzZWQgYXMgcmVmZXJlbmNlcyBmb3Igc2lnbmFsIHdlaWdodGluZyBhbmQgcGhhc2luZyBvZiB0aGUgY29pbCBkYXRhLgoKIyMgRWRkeS1jdXJyZW50IGNvcnJlY3Rpb24KCjo6OiBpbmZvCjxpIGNsYXNzPSJmYSBmYS1pbmZvLWNpcmNsZSIgc3R5bGU9ImNvbG9yOiB3aGl0ZSI+PC9pPsKgIEVkZHktY3VycmVudCBjb3JyZWN0aW9uIGNhbiBvbmx5IGJlIGFwcGxpZWQgaWYgd2F0ZXIgcmVmZXJlbmNlIGRhdGEgYXJlIHByb3ZpZGVkLgo6OjoKCkluIGBHYW5uZXRQcmVJbml0aWFsaXNlLm1gLCB1c2VycyBoYXZlIHRoZSBvcHRpb24gdG8gYXBwbHkgZWRkeS1jdXJyZW50IGNvcnJlY3Rpb24gKEVDQykgdG8gbWV0YWJvbGl0ZSBhbmQgd2F0ZXIgZGF0YS4gSWYgYXBwbGllZCwgR2FubmV0IHVzZXMgdGhlIG1ldGhvZCBkZXNjcmliZWQgYnkgS2xvc2UgKDE5OTApIFtAS2xvc2UxOTkwXS4gVGhlIGNvZGUgZm9yIHRoZSBFQ0Mgcm91dGluZSBjYW4gYmUgZm91bmQgaW4gYEVkZHlDdXJyZW50Q29ycmVjdGlvbi5tYC4KCiMjIFBoYXNlIGNvcnJlY3Rpb24KCkl0IGlzIGNvbW1vbiBmb3IgdW5wcm9jZXNzZWQgc3BlY3RyYSB0byBiZSBvdXQgb2YgcGhhc2UuIEdhbm5ldCBhcHBsaWVzIGEgZ2xvYmFsIHplcm8tb3JkZXIgcGhhc2UgY29ycmVjdGlvbiB0byBhbGwgdHJhbnNpZW50cyBieSBmaXR0aW5nIHRoZSByZWFsLXZhbHVlZCAzIHBwbSBDciBhbmQgMy4yIHBwbSBDaG8gc2lnbmFscyBpbiB0aGUgZnJlcXVlbmN5IGRvbWFpbiBhbmQgY29ycmVjdGluZyB0aGUgcGhhc2UgdG8gYmUgMMKwIHBoYXNlIChpLmUuLCB0byBtYWtlIGFsbCB0aGUgQ3IgYW5kIENobyBwZWFrcyBoYXZlIHBvc2l0aXZlIHBoYXNlKS4gVGhpcyBpcyBwZXJmb3JtZWQgaW4gYFBoYXNlQ29ycmVjdGlvbi5tYC4KCiMjIExpbmUtYnJvYWRlbmRpbmcgKGFwb2RpemF0aW9uKQoKRklEIGRhdGEgYXJlIG11bHRpcGxpZWQgYnkgYSB0aW1lLXZhcnlpbmcgZXhwb25lbnRpYWwgd2VpZ2h0aW5nIGZ1bmN0aW9uIHdoZXJlIHRoZSB3ZWlnaHRpbmcgY29uc3RhbnQgaXMgc2V0IGluIGBHYW5uZXRQcmVJbml0aWFsaXNlLm1gICgzIEh6IGlzIHRoZSBkZWZhdWx0KS4KCiMjIFplcm8tZmlsbGluZwoKR2FubmV0IHplcm8tcGFkcyBhbGwgcmF3IEZJRHMgKGkuZS4sIGFkZHMgemVyb3MgdG8gdGhlIGVuZCBvZiBlYWNoIEZJRCkgdG8gb2J0YWluIGEgbm9taW5hbCBzcGVjdHJhbCByZXNvbHV0aW9uICh0aGUgcmVzb2x1dGlvbiBiZXR3ZWVuIGVhY2ggZnJlcXVlbmN5LWRvbWFpbiBkYXRhIHBvaW50KSBvZiAwLjA2MSBIei9wb2ludC4gRGlmZmVyZW5jZXMgaW4gc3BlY3RyYWwgd2lkdGggYW5kIG51bWJlciBvZiBjb21wbGV4IGRhdGEgcG9pbnRzIG9mIHRoZSByYXcgRklEcyBhcmUgYWNjb3VudGVkIGZvciB0byBvYnRhaW4gdGhpcyBub21pbmFsIHNwZWN0cmFsIHJlc29sdXRpb24uCgojIyBGcmVxdWVuY3kgYW5kIHBoYXNlIGFsaWdubWVudAoKRHVyaW5nIGFjcXVpc2l0aW9uLCBzcGVjdHJhbCBkYXRhIGFyZSBhZmZlY3RlZCBieSBmcmVxdWVuY3kgYW5kIHBoYXNlIG9mZnNldHMgYXMgYSByZXN1bHQgb2YgYmlvcGh5c2ljYWwsIGVsZWN0cm9uaWMsIGFuZCBwYXJ0aWNpcGFudCBmYWN0b3JzLiBHYW5uZXQgaGFzIHNldmVyYWwgYWxnb3JpdGhtcyB0byBjb3JyZWN0IGZvciB0aGVzZSBlcnJvcnMgZHVyaW5nIHByZXByb2Nlc3NpbmcuIFVzZXJzIGNhbiBjaG9vc2Ugd2hpY2ggbWV0aG9kIHRvIHVzZSBpbiBgR2FubmV0UHJlSW5pdGlhbGlzZS5tYDoKCnwgPHU+TWV0aG9kPC91PiB8IDx1Pk9wdGlvbjwvdT4gfCA8dT5EZXNjcmlwdGlvbjwvdT4gfCA8dT5GdW5jdGlvbjwvdT4gfAp8Oi0tLS0tLS0tLS0tLS0tLS0tfDotLS0tLS0tLS0tLS0tLS0tLXw6LS0tLS0tLS0tLS0tLS0tLS0tfDotLS0tLS0tLS0tLS0tLS0tLXwKfCBTcGVjdHJhbCByZWdpc3RyYXRpb24gW0BOZWFyMjAxNV0gfCBgU3BlY1JlZ2AgfCBBIHRpbWUtZG9tYWluLWJhc2VkIGFsaWdubWVudCBtZXRob2QgdGhhdCB1c2VzIG5vbmxpbmVhciBsZWFzdC1zcXVhcmVzIG9wdGltaXphdGlvbiB0byBhbGlnbiBlYWNoIGluZGl2aWR1YWwgdHJhbnNpZW50IHRvIGEgcmVmZXJlbmNlIHRyYW5zaWVudC4gfCBgU3BlY3RyYWxSZWdpc3RyYXRpb24ubWAgfAp8IE11bHRpLXN0ZXAgZnJlcXVlbmN5IGFuZCBwaGFzZSBjb3JyZWN0aW9uIFtATWlra2Vsc2VuMjAxOF0gfCBgU3BlY1JlZ0hFUk1FU2AgfCBBIG1ldGhvZCBvcmlnaW5hbGx5IGRldmVsb3BlZCB0byBhbGlnbiBtdWx0aXBsZXhlZCBlZGl0ZWQgSEVSTUVTIGRhdGEuIFRoaXMgYXBwcm9hY2ggaXMgYmFzZWQgb24gc3BlY3RyYWwgcmVnaXN0cmF0aW9uLiB8IGBTcGVjdHJhbFJlZ2lzdHJhdGlvbkhFUk1FUy5tYCB8CnwgUm9idXN0IHNwZWN0cmFsIHJlZ2lzdHJhdGlvbiBbQE1pa2tlbHNlbjIwMjBdICh0aGUgZGVmYXVsdCBhbmQgcmVjb21tZW5kZWQpIHwgYFJvYnVzdFNwZWNSZWdgIHwgQSBtZXRob2QgYmFzZWQgb24gc3BlY3RyYWwgcmVnaXN0cmF0aW9uIHRoYXQgaXMgcm9idXN0IGFnYWluc3Qgc3BlY3RyYWwgZGlzdG9ydGlvbnMgY2F1c2VkIGJ5IHVuc3RhYmxlIHJlc2lkdWFsIHdhdGVyIHBlYWtzIGFuZCBsaXBpZCBjb250YW1pbmF0aW9uLiB8IGBSb2J1c3RTcGVjdHJhbFJlZ2lzdHJhdGlvbi5tYCB8CnwgUGVhayBhbGlnbm1lbnQgfCBgQ3JgLCBgQ2hvYCwgYE5BQWAsIGBIMk9gIHwgRnJlcXVlbmN5LWRvbWFpbi1iYXNlZCBhbGlnbm1lbnQgdXNpbmcgb25lIG9mIHRoZSBmb2xsb3dpbmcgcGVha3MgaW4gZWFjaCB0cmFuc2llbnQgYXMgdGhlIHRhcmdldCBzaWduYWw6IENyLCBDaG8sIE5BQSwgb3IgcmVzaWR1YWwgSDJPLiB8IGBBbGlnblVzaW5nUGVhay5tYCwgYEFsaWduVXNpbmdIMk8ubWAgfAp8IE5vIGFsaWdubWVudCB8IGBub25lYCB8IERvIG5vdCBwZXJmb3JtIGFueSBmcmVxdWVuY3kgb3IgcGhhc2UgYWxpZ25tZW50IGJldHdlZW4gdHJhbnNpZW50cy4gfCBuL2EgfAoKIyMgU2lnbmFsIGF2ZXJhZ2luZyBhbmQgc3VidHJhY3Rpb24KCkdhbm5ldCBwcm92aWRlcyB0d28gbWV0aG9kcyBmb3IgYXZlcmFnaW5nIGluZGl2aWR1YWwgdHJhbnNpZW50cyAoc2VsZWN0ZWQgaW4gYEdhbm5ldFByZUluaXRpYWxpc2UubWApOiBhcml0aG1ldGljIGF2ZXJhZ2luZyAod2l0aCBvdXRsaWVyIHJlamVjdGlvbikgYW5kIHdlaWdodGVkIGF2ZXJhZ2luZyAodGhlIGRlZmF1bHQpLiBUaGUgY29kZSBmb3IgdGhlIHNpZ25hbCBhdmVyYWdpbmcgcm91dGluZXMgY2FuIGJlIGZvdW5kIGluIGBTaWduYWxBdmVyYWdpbmcubWAuCgojIyMgQXJpdGhtZXRpYyBhdmVyYWdpbmcKCkFyaXRobWV0aWMgYXZlcmFnaW5nIGlzIHN0cmFpZ2h0Zm9yd2FyZC4gQWxsIHN1YnNwZWN0cmEgZm9yIGVhY2ggZWRpdGluZyBleHBlcmltZW50ICR4X20kIChlLmcuLCBhbGwgZWRpdC1PTiBhbmQgYWxsIGVkaXQtT0ZGIHN1YnNwZWN0cmEpIGFyZSBhdmVyYWdlZCB1c2luZyB0aGUgYXJpdGhtZXRpYyBtZWFuOiAkXGJhcnt4fSA9IFxmcmFjezF9e019XHN1bXt4X219JC4gVGhlIGF2ZXJhZ2UgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBhdmVyYWdlZCBlZGl0LU9OIGFuZCBlZGl0LU9GRiBzcGVjdHJhIGlzIHRoZW4gY2FsY3VsYXRlZCB0byB5aWVsZCB0aGUgZmluYWwgZGlmZmVyZW5jZSBzcGVjdHJ1bTogJHhfe0RJRkZ9ID0gKFxiYXJ7eH1fe09OfSAtIFxiYXJ7eH1fe09GRn0pLzIkLgoKTm90ZSB0aGF0IGJlZm9yZSB0aGUgYXJpdGhtZXRpYyBhdmVyYWdpbmcgb2Ygc3Vic3BlY3RyYSwgaW5kaXZpZHVhbCB0cmFuc2llbnRzIGFyZSBleGNsdWRlZCBiYXNlZCBvbiB0aGUgb3V0bGllciByZWplY3Rpb24gYWxnb3JpdGhtIHVzZWQgZHVyaW5nIGZyZXF1ZW5jeSBhbmQgcGhhc2UgYWxpZ25tZW50LgoKIyMjIFdlaWdodGVkIGF2ZXJhZ2luZwoKV2VpZ2h0ZWQgYXZlcmFnaW5nIGRvd24td2VpZ2h0cyBpbmRpdmlkdWFsIHN1YnNwZWN0cmEgdGhhdCBhcmUgY29ycnVwdGVkIGJ5IHNpZ25hbCBhcnRpZmFjdHMg4oCUIHRoaXMgaXMgYW4gaW1wb3J0YW50IGRpc3RpbmN0aW9uIGZyb20gdHJhZGl0aW9uYWwgc2lnbmFsIGF2ZXJhZ2luZy4gQXMgZGVzY3JpYmVkIGluIE1pa2tlbHNlbiBldCBhbC4gW0BNaWtrZWxzZW4yMDIwXSwgZm9yIGFsbCBzdWJzcGVjdHJhIGZvciBlYWNoIGVkaXRpbmcgZXhwZXJpbWVudCwgYSBzaW1pbGFyaXR5IG1hdHJpeCAkXG1hdGhiZntEfVxpblxtYXRoYmJ7Un1ee017XHRpbWVzfU19JCBpcyBvYnRhaW5lZCBieSBjYWxjdWxhdGluZyB0aGUgbWVhbiBzcXVhcmVkIGVycm9yIGJldHdlZW4gZWFjaCByZWFsLXZhbHVlZCBzdWJzcGVjdHJ1bSBhbmQgZXZlcnkgb3RoZXIgcmVhbC12YWx1ZWQgc3Vic3BlY3RydW0gKGluIHRoZSByYW5nZSAxLjggdG8gMy40IHBwbSkuIEEgc2ltaWxhcml0eSBtZXRyaWMgJGQkIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIGNvbHVtbi13aXNlIG1lZGlhbiBvZiAkXG1hdGhiZntEfSQuIE5vcm1hbGl6ZWQgd2VpZ2h0cyAkd197bX0kIGFyZSB0aGVuIGRlcml2ZWQsICR3X3ttfSA9IGReey0yfV9tL1xzdW17ZF57LTJ9X219JCwgYW5kIGFwcGxpZWQgdG8gdGhlIHN1YnNwZWN0cmEgdG8gZ2l2ZSB0aGUgd2VpZ2h0ZWQgYXZlcmFnZTogJFxiYXJ7eH0gPSBcc3Vte3dfe219eF97bX19JC4gQXMgYWJvdmUsIHRoZSBkaWZmZXJlbmNlIGlzIHRoZW4gdGFrZW4gdG8gb2J0YWluIHRoZSBhdmVyYWdlIGRpZmZlcmVuY2Ugc3BlY3RydW0uCgpPdGhlciBhbGdvcml0aG1zIHRvIGNhbGN1bGF0ZSB3ZWlnaHRzIGNhbiBiZSBmb3VuZCBpbiBgU2lnbmFsQXZlcmFnaW5nLm1gLiAoTm90ZTogVGhlc2UgaGF2ZSBub3QgYmVlbiB0ZXN0ZWQgZXh0ZW5zaXZlbHkgYW5kIHNob3VsZCBiZSB1c2VkIHdpdGggY2F1dGlvbi4pCgojIyBSZXNpZHVhbCB3YXRlciByZW1vdmFsCgpJZiBgd2F0ZXJfcmVtb3ZhbGAgaXMgc2V0IHRvIDEgaW4gYEdhbm5ldFByZUluaXRpYWxpc2UubWAgKHRoZSBkZWZhdWx0KSwgdGhlIHJlc2lkdWFsIHdhdGVyIHBlYWsgaXMgcmVtb3ZlZCBmcm9tIGFsbCBkaWZmZXJlbmNlIHNwZWN0cmEgdXNpbmcgYW4gSFNWRCBmaWx0ZXIgW0BCYXJraHVpanNlbjE5ODddLgoKPGJyPgoKIyMjIFJlZmVyZW5jZXMK</ div >
751751<!DOCTYPE html>
752752< br >
753753< hr >
0 commit comments