Good Faith Investing

stewardship theology Good Faith Investing

Stewardship Theology and Your Finances

An open Bible on top of another against a plain black background.

PGgxPlN0ZXdhcmRzaGlwIFRoZW9sb2d5IGFuZCBZb3VyIEZpbmFuY2VzPC9oMT4KCjxwPldoZW4geW91IG1hbmFnZSB5b3VyIGludmVzdG1lbnRzLCBtYWtlIGEgc2lnbmlmaWNhbnQgcHVyY2hhc2UsIG9yIGRlY2lkZSBob3cgbXVjaCB0byBnaXZlLCB5b3UncmUgbWFraW5nIHRoZW9sb2dpY2FsIHN0YXRlbWVudHMgYWJvdXQgd2hhdCB5b3UgYmVsaWV2ZSByZWdhcmRpbmcgb3duZXJzaGlwLCByZXNwb25zaWJpbGl0eSwgYW5kIHB1cnBvc2UuIEZvciBDaHJpc3RpYW5zIHNlZWtpbmcgdG8gYWxpZ24gdGhlaXIgZmluYW5jaWFsIGxpdmVzIHdpdGggdGhlaXIgZmFpdGgsIHVuZGVyc3RhbmRpbmcgc3Rld2FyZHNoaXAgdGhlb2xvZ3kgaXMgbm90IG9wdGlvbmFs4oCUaXQncyBmb3VuZGF0aW9uYWwuIFN0ZXdhcmRzaGlwIHRoZW9sb2d5IHRyYW5zZm9ybXMgaG93IHdlIHZpZXcgbW9uZXkgZnJvbSBhIHRvb2wgZm9yIHBlcnNvbmFsIGFkdmFuY2VtZW50IGludG8gYSBzYWNyZWQgdHJ1c3QgZnJvbSBHb2QsIHJlc2hhcGluZyBldmVyeSBmaW5hbmNpYWwgZGVjaXNpb24gd2UgbWFrZS48L3A+Cgo8aDI+VW5kZXJzdGFuZGluZyBTdGV3YXJkc2hpcDogVGhlIEJpYmxpY2FsIEZvdW5kYXRpb248L2gyPgoKPHA+VGhlIGNvbmNlcHQgb2Ygc3Rld2FyZHNoaXAgZW1lcmdlcyBmcm9tIHRoZSBHcmVlayB3b3JkIDxzdHJvbmc+b2lrb25vbW9zPC9zdHJvbmc+LCB3aGljaCBkZXNjcmliZXMgYSBwZXJzb24gZW50cnVzdGVkIHdpdGggbWFuYWdpbmcgYW5vdGhlcidzIGhvdXNlaG9sZCBvciBlc3RhdGUuIFRoaXMgdGVybSBwZXJmZWN0bHkgY2FwdHVyZXMgdGhlIGJpYmxpY2FsIHZpc2lvbiBvZiBvdXIgcmVsYXRpb25zaGlwIHdpdGggbW9uZXkgYW5kIHJlc291cmNlcy4gV2UgYXJlIG5vdCBvd25lcnMgYnV0IG1hbmFnZXJz4oCUY3VzdG9kaWFucyBvZiB3aGF0IGJlbG9uZ3MgdWx0aW1hdGVseSB0byBHb2QuIFRoaXMgZGlzdGluY3Rpb24gY2FycmllcyBwcm9mb3VuZCBpbXBsaWNhdGlvbnMgZm9yIGhvdyB3ZSBlYXJuLCBzYXZlLCBpbnZlc3QsIHNwZW5kLCBhbmQgZ2l2ZSBvdXIgcmVzb3VyY2VzLjwvcD4KCjxwPlRoZSBiaWJsaWNhbCBmb3VuZGF0aW9uIGZvciBzdGV3YXJkc2hpcCBiZWdpbnMgaW4gR2VuZXNpcywgd2hlcmUgR29kIGVzdGFibGlzaGVzIGh1bWFuaXR5J3MgZnVuZGFtZW50YWwgcmVzcG9uc2liaWxpdHkgdG93YXJkIGNyZWF0aW9uLiBJbiBHZW5lc2lzIDE6MjgsIEdvZCBjb21tYW5kcyBodW1hbnMgdG8gImJlIGZydWl0ZnVsIGFuZCBtdWx0aXBseSBhbmQgZmlsbCB0aGUgZWFydGggYW5kIHN1YmR1ZSBpdCBhbmQgaGF2ZSBkb21pbmlvbiBvdmVyIHRoZSBmaXNoIG9mIHRoZSBzZWEgYW5kIG92ZXIgdGhlIGJpcmRzIG9mIHRoZSBoZWF2ZW5zIGFuZCBvdmVyIGV2ZXJ5IGxpdmluZyB0aGluZyB0aGF0IG1vdmVzIG9uIHRoZSBlYXJ0aC4iIFRoaXMgZG9taW5pb24gbWFuZGF0ZSBpcyBub3QgYSBsaWNlbnNlIGZvciBleHBsb2l0YXRpb24gYnV0IGFuIGFzc2lnbm1lbnQgb2YgY2FyZWZ1bCBtYW5hZ2VtZW50LiBUaGUgSGVicmV3IHdvcmQgPHN0cm9uZz5rYWJhc2g8L3N0cm9uZz4gKHN1YmR1ZSkgYW5kIDxzdHJvbmc+cmFkYWg8L3N0cm9uZz4gKGhhdmUgZG9taW5pb24pIGRlc2NyaWJlIGFjdGl2ZSBzdGV3YXJkc2hpcOKAlGVuZ2FnaW5nIHdpdGggY3JlYXRpb24gcmVzcG9uc2libHkgYW5kIHByb2R1Y3RpdmVseS48L3A+Cgo8cD5HZW5lc2lzIDI6MTUgcmVpbmZvcmNlcyB0aGlzIHN0ZXdhcmRzaGlwIGV0aGljOiAiVGhlIExvcmQgR29kIHRvb2sgdGhlIG1hbiBhbmQgcHV0IGhpbSBpbiB0aGUgR2FyZGVuIG9mIEVkZW4gdG8gd29yayBpdCBhbmQga2VlcCBpdC4iIFRoZSB3b3JkcyAid29yayIgYW5kICJrZWVwIiBzdWdnZXN0IGJvdGggcHJvZHVjdGl2ZSBlZmZvcnQgYW5kIHByb3RlY3RpdmUgY2FyZS4gR29kIGNyZWF0ZWQgdXMgYXMgc3Rld2FyZHMgZnJvbSB0aGUgYmVnaW5uaW5nLCBjYWxsZWQgdG8gZGV2ZWxvcCByZXNvdXJjZXMgd2hpbGUgcHJlc2VydmluZyB0aGVtLiBUaGlzIGR1YWwgcmVzcG9uc2liaWxpdHnigJRjdWx0aXZhdGlvbiBhbmQgY29uc2VydmF0aW9u4oCUZm9ybXMgdGhlIHRlbXBsYXRlIGZvciBhbGwgZmluYW5jaWFsIHN0ZXdhcmRzaGlwLjwvcD4KCjxoMj5PbGQgVGVzdGFtZW50IFN0ZXdhcmRzaGlwIFByaW5jaXBsZXM8L2gyPgoKPHA+T2xkIFRlc3RhbWVudCBsYXcgcmV2ZWFscyBob3cgc2VyaW91c2x5IEdvZCB0b29rIHN0ZXdhcmRzaGlwIHByaW5jaXBsZXMuIFRoZSBJc3JhZWxpdGUgZWNvbm9taWMgc3lzdGVtIHdhcyBmdW5kYW1lbnRhbGx5IGRlc2lnbmVkIHRvIHByZXZlbnQgdGhlIHBlcm1hbmVudCBhY2N1bXVsYXRpb24gb2Ygd2VhbHRoIGFuZCB0byBlbnN1cmUgdGhhdCByZXNvdXJjZXMgc2VydmVkIGNvbW11bmFsIGZsb3VyaXNoaW5nIHJhdGhlciB0aGFuIGluZGl2aWR1YWwgaG9hcmRpbmcuPC9wPgoKPGgzPlRoZSBUaXRoZSBTeXN0ZW08L2gzPgoKPHA+VGhlIHRpdGhl4oCUYSB0ZW50aCBvZiBvbmUncyBpbmNyZWFzZeKAlHJlcHJlc2VudGVkIGJvdGggYWNrbm93bGVkZ21lbnQgb2YgR29kJ3Mgb3duZXJzaGlwIGFuZCBzdXBwb3J0IGZvciB0aGUgcmVsaWdpb3VzIGFuZCBzb2NpYWwgc3lzdGVtcyB0aGF0IHN1c3RhaW5lZCBjb21tdW5pdHkgbGlmZS4gRGV1dGVyb25vbXkgMTQ6MjItMjkgZGVzY3JpYmVzIGEgdGl0aGUgc3lzdGVtIHRoYXQgc3VwcG9ydGVkIExldml0ZXMgKHJlbGlnaW91cyBsZWFkZXJzKSwgZm9yZWlnbmVycywgb3JwaGFucywgYW5kIHdpZG93cy4gVGhlIHRpdGhlIHdhcyBub3QgbWVyZWx5IGEgdGF4IGJ1dCBhIHRoZW9sb2dpY2FsIHN0YXRlbWVudDogIlJlbWVtYmVyIHRoYXQgeW91IGRvIHRoaXMgYmVmb3JlIHRoZSBMb3JkIHlvdXIgR29kLiIgVGl0aGluZyBlc3RhYmxpc2hlZCB0aGF0IHBvcnRpb24gb2Ygb3VyIGluY3JlYXNlIGJlbG9uZ3MgdG8gR29kJ3MgcHVycG9zZXMgaW4gdGhlIHdvcmxkLCBwYXJ0aWN1bGFybHkgdG93YXJkIGNhcmluZyBmb3IgdnVsbmVyYWJsZSBwZW9wbGUuPC9wPgoKPGgzPlRoZSBMYXdzIG9mIEdsZWFuaW5nPC9oMz4KCjxwPkxldml0aWN1cyAxOTo5LTEwIGFuZCAyMzoyMiBjb250YWluIHJldm9sdXRpb25hcnkgZWNvbm9taWMgbGF3czogIldoZW4geW91IHJlYXAgdGhlIGhhcnZlc3Qgb2YgeW91ciBsYW5kLCB5b3Ugc2hhbGwgbm90IHdob2xseSByZWFwIHRoZSBjb3JuZXJzIG9mIHlvdXIgZmllbGQsIG5laXRoZXIgc2hhbGwgeW91IGdhdGhlciB0aGUgZ2xlYW5pbmdzIG9mIHlvdXIgaGFydmVzdC4uLiB5b3Ugc2hhbGwgbGVhdmUgdGhlbSBmb3IgdGhlIHBvb3IgYW5kIGZvciB0aGUgc29qb3VybmVyLiIgUmF0aGVyIHRoYW4gZm9yYmlkZGluZyBwb3ZlcnR5LCBHb2QgY3JlYXRlZCBzdHJ1Y3R1cmVzIGZvciB0aGUgcG9vciB0byBtYWludGFpbiBkaWduaXR5IHRocm91Z2ggd29yay4gR2xlYW5pbmcgbGF3cyByZWNvZ25pemVkIHRoYXQgdGhlIHZ1bG5lcmFibGUgaGFkIGEgY2xhaW0gb24gcHJvZHVjdGl2ZSBsYW5k4oCUbm90IHRocm91Z2ggY2hhcml0eSBhbG9uZSwgYnV0IHRocm91Z2ggdGhlaXIgb3duIGxhYm9yLiBUaGlzIHN5c3RlbSBwcmV2ZW50ZWQgYWJzb2x1dGUgcG92ZXJ0eSB3aGlsZSByZWZ1c2luZyB0byBjcmVhdGUgcGVybWFuZW50IGRlcGVuZGVuY3kuPC9wPgoKPGgzPkp1YmlsZWUgYW5kIFNhYmJhdGggRWNvbm9taWNzPC9oMz4KCjxwPlBlcmhhcHMgdGhlIG1vc3QgcmFkaWNhbCBzdGV3YXJkc2hpcCBwcmluY2lwbGUgYXBwZWFycyBpbiBMZXZpdGljdXMgMjU6IHRoZSBZZWFyIG9mIEp1YmlsZWUuIEV2ZXJ5IGZpZnR5IHllYXJzLCBhbGwgbGFuZCByZXR1cm5lZCB0byBpdHMgb3JpZ2luYWwgb3duZXJzLCBhbGwgZGVidHMgd2VyZSBmb3JnaXZlbiwgYW5kIGFsbCBzbGF2ZXMgd2VyZSBmcmVlZC4gVGhpcyBqdWJpbGVhbiByaHl0aG0gYWNrbm93bGVkZ2VkIHRoYXQgR29kIG93bnMgdGhlIGxhbmQgdWx0aW1hdGVseSBhbmQgdGhhdCBodW1hbiBzeXN0ZW1zIG9mIGFjY3VtdWxhdGlvbiBtdXN0IHBlcmlvZGljYWxseSByZXNldC4gU2FiYmF0aCBlY29ub21pY3PigJR0aGUgcHJpbmNpcGxlIHRoYXQgZXZlcnkgc2V2ZW50aCB5ZWFyIHRoZSBsYW5kIGxpZXMgZmFsbG934oCUZnVydGhlciByZWluZm9yY2VkIHRoYXQgcHJvZHVjdGl2aXR5IHNlcnZlcyBwdXJwb3NlcyBiZXlvbmQgaW5kaXZpZHVhbCB3ZWFsdGggYWNjdW11bGF0aW9uLiBUaGVzZSBwcmFjdGljZXMgdGF1Z2h0IHRoYXQgc3Rld2FyZHNoaXAgaW5jbHVkZXMgbGltaXRpbmcgb25lJ3MgY2xhaW1zIG9uIHJlc291cmNlcyBpbiBzZXJ2aWNlIHRvIGNvbW11bml0eSBqdXN0aWNlIGFuZCBHb2QncyB1bHRpbWF0ZSBvd25lcnNoaXAuPC9wPgoKPGgyPk5ldyBUZXN0YW1lbnQgU3Rld2FyZHNoaXAgVGVhY2hpbmdzPC9oMj4KCjxwPkplc3VzIGFuZCB0aGUgYXBvc3RsZXMgZGVlcGVuZWQgc3Rld2FyZHNoaXAgdGhlb2xvZ3kgd2l0aCBuZXcgdXJnZW5jeSBhbmQgcmFkaWNhbCBhcHBsaWNhdGlvbi4gSmVzdXMgc3Bva2UgbW9yZSBvZnRlbiBhYm91dCBtb25leSB0aGFuIGFsbW9zdCBhbnkgb3RoZXIgdG9waWMsIGFuZCBoaXMgdGVhY2hpbmdzIGNvbnNpc3RlbnRseSByZWRpcmVjdCBvdXIgdW5kZXJzdGFuZGluZyBvZiBmaW5hbmNpYWwgcmVzcG9uc2liaWxpdHkuPC9wPgoKPGgzPkplc3VzJ3MgUGFyYWJsZXMgb2YgU3Rld2FyZHNoaXA8L2gzPgoKPHA+VGhlIFBhcmFibGUgb2YgdGhlIFRhbGVudHMgKE1hdHRoZXcgMjU6MTQtMzApIHByZXNlbnRzIHN0ZXdhcmRzaGlwIGFzIGEgZnVuZGFtZW50YWwgYWNjb3VudGFiaWxpdHkgYmVmb3JlIEdvZC4gQSBtYXN0ZXIgZW50cnVzdHMgc2VydmFudHMgd2l0aCBkaWZmZXJlbnQgYW1vdW50cyBvZiB0YWxlbnQgKGEgdW5pdCBvZiBjdXJyZW5jeSkgYmVmb3JlIHRyYXZlbGluZy4gVGhlIHNlcnZhbnRzIHdobyBpbnZlc3RlZCB0aGVpciB0YWxlbnRzIGFuZCBnYWluZWQgcmV0dXJucyBhcmUgcHJhaXNlZCwgd2hpbGUgdGhlIHNlcnZhbnQgd2hvIGJ1cmllZCBoaXMgdGFsZW50IG91dCBvZiBmZWFyIGlzIGNvbmRlbW5lZC4gSmVzdXMncyBtZXNzYWdlIGlzIGNsZWFyOiBzdGV3YXJkc2hpcCBpcyBub3QgYWJvdXQgbWVyZSBwcmVzZXJ2YXRpb24gYnV0IGFib3V0IHByb2R1Y3RpdmUgcmVzcG9uc2liaWxpdHkuIFdlIHdpbGwgZ2l2ZSBhY2NvdW50IGZvciBob3cgd2UgbWFuYWdlZCB3aGF0IHdhcyBlbnRydXN0ZWQgdG8gdXMuPC9wPgoKPHA+VGhlIFBhcmFibGUgb2YgdGhlIFNocmV3ZCBNYW5hZ2VyIChMdWtlIDE2OjEtMTMpIHByZXNlbnRzIGEgbW9yZSB1bnNldHRsaW5nIGxlc3Nvbi4gQSBkaXNob25lc3QgbWFuYWdlciwgZmFjaW5nIHRlcm1pbmF0aW9uLCB1c2VzIGhpcyByZW1haW5pbmcgYXV0aG9yaXR5IHRvIHJlZHVjZSBoaXMgbWFzdGVyJ3MgZGVidG9ycycgYmlsbHMgaW4gb3JkZXIgdG8gZWFybiB0aGVpciBnb29kd2lsbC4gV2hpbGUgdGhlIG1hbmFnZXIncyBkaXNob25lc3R5IGlzIGNvbmRlbW5lZCwgSmVzdXMgcHJhaXNlcyBoaXMgc3RyYXRlZ2ljIHRoaW5raW5nIGFuZCB0aGVuIG9mZmVycyBhIHN0dW5uaW5nIGFwcGxpY2F0aW9uOiAiTWFrZSBmcmllbmRzIGZvciB5b3Vyc2VsdmVzIGJ5IG1lYW5zIG9mIHVucmlnaHRlb3VzIG1hbW1vbiwgc28gdGhhdCB3aGVuIGl0IGZhaWxzIHRoZXkgbWF5IHJlY2VpdmUgeW91IGludG8gdGhlIGV0ZXJuYWwgZHdlbGxpbmdzLiIgSmVzdXMgdXJnZXMgdXMgdG8gdXNlIGZpbmFuY2lhbCByZXNvdXJjZXMgc3RyYXRlZ2ljYWxseSB0byBhZHZhbmNlIGV0ZXJuYWwgcHVycG9zZXPigJRmcmllbmRzaGlwcywgcmVsYXRpb25zaGlwcywgYW5kIGtpbmdkb20gd29ya+KAlHJhdGhlciB0aGFuIGhvYXJkIHRoZW0gZm9yIHRlbXBvcmFsIHNlY3VyaXR5LjwvcD4KCjxoMz5KZXN1cyBhbmQgdGhlIFJpY2ggWW91bmcgUnVsZXI8L2gzPgoKPHA+V2hlbiB0aGUgcmljaCB5b3VuZyBydWxlciBhc2tzIEplc3VzIGFib3V0IGV0ZXJuYWwgbGlmZSwgSmVzdXMgdGVsbHMgaGltIHRvIGtlZXAgdGhlIGNvbW1hbmRtZW50cy4gVGhlIHJ1bGVyIGNsYWltcyB0byBoYXZlIGRvbmUgc28sIGFuZCB0aGVuIEplc3VzIHNheXM6ICJJZiB5b3Ugd2FudCB0byBiZSBwZXJmZWN0LCBnbywgc2VsbCB5b3VyIHBvc3Nlc3Npb25zIGFuZCBnaXZlIHRoZSBtb25leSB0byB0aGUgcG9vciwgYW5kIHlvdSB3aWxsIGhhdmUgdHJlYXN1cmUgaW4gaGVhdmVuIiAoTWF0dGhldyAxOToyMSkuIFRoaXMgcGFzc2FnZSBkaXN0dXJicyBtYW55IHJlYWRlcnMsIGJ1dCBKZXN1cyBpcyBub3QgY29uZGVtbmluZyB3ZWFsdGggdW5pdmVyc2FsbHkuIFJhdGhlciwgaGUncyBleHBvc2luZyB3aGVyZSB0aGUgcnVsZXIncyB1bHRpbWF0ZSBsb3lhbHR5IGxpZXMuIFRydWUgc3Rld2FyZHNoaXAgcmVxdWlyZXMgdGhhdCB3ZSBob2xkIG5vdGhpbmcgc28gdGlnaHRseSB0aGF0IEdvZCBjYW5ub3QgYXNrIHVzIHRvIHJlbGVhc2UgaXQuIEplc3VzIGlzIHRlc3Rpbmcgd2hldGhlciB0aGUgcnVsZXIncyBzdGV3YXJkc2hpcCBpcyBnZW51aW5lIG9yIHdoZXRoZXIgbWFtbW9uIGhhcyBiZWNvbWUgaGlzIGdvZC48L3A+Cgo8aDM+UGF1bCdzIEluc3RydWN0aW9ucyB0byBUaW1vdGh5PC9oMz4KCjxwPkZpcnN0IFRpbW90aHkgNjoxNy0xOSBnaXZlcyBQYXVsJ3MgY2xlYXJlc3Qgc3Rld2FyZHNoaXAgaW5zdHJ1Y3Rpb246ICJDb21tYW5kIHRob3NlIHdobyBhcmUgcmljaCBpbiB0aGlzIHByZXNlbnQgd29ybGQgbm90IHRvIGJlIGFycm9nYW50IG5vciB0byBwdXQgdGhlaXIgaG9wZSBpbiB3ZWFsdGgsIHdoaWNoIGlzIHNvIHVuY2VydGFpbjsgYnV0IHRvIHB1dCB0aGVpciBob3BlIGluIEdvZCwgd2hvIHJpY2hseSBwcm92aWRlcyB1cyB3aXRoIGV2ZXJ5dGhpbmcgZm9yIG91ciBlbmpveW1lbnQuIENvbW1hbmQgdGhlbSB0byBkbyBnb29kLCB0byBiZSByaWNoIGluIGdvb2QgZGVlZHMsIGFuZCB0byBiZSBnZW5lcm91cyBhbmQgd2lsbGluZyB0byBzaGFyZS4gSW4gdGhpcyB3YXkgdGhleSB3aWxsIGxheSB1cCB0cmVhc3VyZSBmb3IgdGhlbXNlbHZlcyBhcyBhIGZpcm0gZm91bmRhdGlvbiBmb3IgdGhlIGNvbWluZyBhZ2UuIjwvcD4KCjxwPk5vdGljZSB0aGUgcHJvZ3Jlc3Npb246IHRydXN0IEdvZCAobm90IHdlYWx0aCksIGRvIGdvb2QsIGJlIGdlbmVyb3VzLCBnaXZlIGdlbmVyb3VzbHkuIFBhdWwgYXNzdW1lcyB0aGF0IHdlYWx0aHkgQ2hyaXN0aWFucyB3aWxsIGV4aXN0IGJ1dCBpbnNpc3RzIHRoZXkgdW5kZXJzdGFuZCB0aGF0IHRoZWlyIHdlYWx0aCBpcyBHb2QncyBwcm92aXNpb24gZm9yIHRoZWlyIGVuam95bWVudCBhbmQgZm9yIGdlbmVyb3NpdHkgdG93YXJkIG90aGVycy4gU3Rld2FyZHNoaXAgbWVhbnMgc3Rld2FyZGluZyB3ZWFsdGggdG93YXJkIGdvb2QgZGVlZHMgYW5kIHNoYXJlZCByZXNvdXJjZXMuPC9wPgoKPGgzPlBhdWwgb24gR2VuZXJvdXMgR2l2aW5nPC9oMz4KCjxwPlNlY29uZCBDb3JpbnRoaWFucyA4IGFuZCA5IGNvbnRhaW4gUGF1bCdzIHRoZW9sb2d5IG9mIGdlbmVyb3VzIGdpdmluZyBpbiB0aGUgY29udGV4dCBvZiBhIGNvbGxlY3Rpb24gZm9yIHBlcnNlY3V0ZWQgSmVydXNhbGVtIGJlbGlldmVycy4gUGF1bCBwcmFpc2VzIHRoZSBNYWNlZG9uaWFuIGNodXJjaGVzIGZvciBnaXZpbmcgImJleW9uZCB0aGVpciBhYmlsaXR5IiBhbmQgY29ubmVjdHMgdGhlaXIgZ2VuZXJvc2l0eSB0byBKZXN1cydzIGdlbmVyb3NpdHk6ICJGb3IgeW91IGtub3cgdGhlIGdyYWNlIG9mIG91ciBMb3JkIEplc3VzIENocmlzdCwgdGhhdCB0aG91Z2ggaGUgd2FzIHJpY2gsIHlldCBmb3IgeW91ciBzYWtlIGhlIGJlY2FtZSBwb29yLCBzbyB0aGF0IHlvdSB0aHJvdWdoIGhpcyBwb3ZlcnR5IG1pZ2h0IGJlY29tZSByaWNoIiAoMiBDb3JpbnRoaWFucyA4OjkpLiBTdGV3YXJkc2hpcCBpcyB1bHRpbWF0ZWx5IHBhcnRpY2lwYXRpb24gaW4gQ2hyaXN0J3Mgc2VsZi1naXZpbmcgbG92ZS4gUGF1bCBjb25jbHVkZXM6ICJHb2QgbG92ZXMgYSBjaGVlcmZ1bCBnaXZlciIgKDIgQ29yaW50aGlhbnMgOTo3KSwgdHJhbnNmb3JtaW5nIGdpdmluZyBmcm9tIG9ibGlnYXRpb24gaW50byBqb3kuPC9wPgoKPGgyPlRoZSBUaGVvbG9naWNhbCBGb3VuZGF0aW9uOiBHb2QgT3ducyBFdmVyeXRoaW5nPC9oMj4KCjxwPlN0ZXdhcmRzaGlwIHRoZW9sb2d5IHJlc3RzIG9uIGEgbm9uLW5lZ290aWFibGUgZm91bmRhdGlvbjogR29kIG93bnMgZXZlcnl0aGluZy4gUHNhbG0gMjQ6MSBvcGVucyB3aXRoIGFic29sdXRlIGNsYXJpdHk6ICJUaGUgZWFydGggaXMgdGhlIExvcmQncyBhbmQgYWxsIGl0cyBmdWxsbmVzcywgdGhlIHdvcmxkIGFuZCB0aG9zZSB3aG8gZHdlbGwgdGhlcmVpbi4iIE91ciBwb3NzZXNzaW9ucyBhcmUgbm90IHVsdGltYXRlbHkgb3Vycy4gV2UgaG9sZCB0aGVtIHRlbXBvcmFyaWx5LCBhY2NvdW50YWJsZSB0byBHb2QgZm9yIHRoZWlyIHVzZS48L3A+Cgo8cD5IYWdnYWkgMjo4IHJlaW5mb3JjZXMgdGhpczogIlRoZSBzaWx2ZXIgaXMgbWluZSBhbmQgdGhlIGdvbGQgaXMgbWluZSwgZGVjbGFyZXMgdGhlIExvcmQgb2YgaG9zdHMuIiBXaGVuIHdlIGFjY3VtdWxhdGUgd2VhbHRoLCB3ZSdyZSBub3QgY2xhaW1pbmcgd2hhdCB3ZSd2ZSBwcm9kdWNlZCBpbiBpc29sYXRpb24uIFdlJ3JlIG1hbmFnaW5nIHJlc291cmNlcyB0aGF0IHVsdGltYXRlbHkgYmVsb25nIHRvIEdvZC4gVGhpcyByZWNvZ25pdGlvbiBzaG91bGQgdHJhbnNmb3JtIG91ciBzZW5zZSBvZiBvd25lcnNoaXAgaW50byBhIHNlbnNlIG9mIHByaXZpbGVnZSBhbmQgcmVzcG9uc2liaWxpdHkuPC9wPgoKPHA+VGhpcyBmb3VuZGF0aW9uYWwgYmVsaWVmIGRpc3Rpbmd1aXNoZXMgYmlibGljYWwgc3Rld2FyZHNoaXAgZnJvbSBtZXJlIGZpbmFuY2lhbCBwbGFubmluZy4gQSBzZWN1bGFyIGZpbmFuY2lhbCBhZHZpc29yIG1pZ2h0IGVuY291cmFnZSB5b3UgdG8gYWNjdW11bGF0ZSB3ZWFsdGggZm9yIHNlY3VyaXR5IGFuZCBwZXJzb25hbCBnb2Fscy4gQSBzdGV3YXJkc2hpcCB0aGVvbG9naWFuIGFza3M6ICJBcmUgeW91IG1hbmFnaW5nIHRoaXMgd2VhbHRoIGFjY29yZGluZyB0byBHb2QncyBwdXJwb3Nlcz8iIFRoZSBxdWVzdGlvbiBzaGlmdHMgZnJvbSBwZXJzb25hbCBwcm9zcGVyaXR5IHRvIGZhaXRoZnVsIG1hbmFnZW1lbnQuPC9wPgoKPGgyPktleSBTdGV3YXJkc2hpcCBUaGVvbG9naWFucyBhbmQgVGhpbmtlcnM8L2gyPgoKPHA+VGhyb3VnaG91dCBDaHJpc3RpYW4gaGlzdG9yeSwgdmFyaW91cyB0aGlua2VycyBoYXZlIGRldmVsb3BlZCBzdGV3YXJkc2hpcCB0aGVvbG9neS4gVW5kZXJzdGFuZGluZyB0aGVpciBjb250cmlidXRpb25zIGVucmljaGVzIG91ciBvd24gdGhpbmtpbmcuPC9wPgoKPGgzPkpvaG4gQ2FsdmluIGFuZCBWb2NhdGlvbjwvaDM+Cgo8cD5Kb2huIENhbHZpbiByZXZvbHV0aW9uaXplZCBDaHJpc3RpYW4gdGhpbmtpbmcgYWJvdXQgd29yayBhbmQgbW9uZXkuIFJhdGhlciB0aGFuIHZpZXdpbmcgc2VjdWxhciB3b3JrIGFzIGluZmVyaW9yIHRvIHJlbGlnaW91cyBjYWxsaW5nLCBDYWx2aW4gdGF1Z2h0IHRoYXQgYWxsIGxlZ2l0aW1hdGUgd29yayBpcyBhIGRpdmluZSBjYWxsaW5nLiBBIG1lcmNoYW50IHRyYWRpbmcgZ29vZHMsIGEgZmFybWVyIHRlbmRpbmcgY3JvcHMsIG9yIGFuIGFydGlzYW4gY3JhZnRpbmcgdG9vbHMgYXJlIGFsbCBmdWxmaWxsaW5nIHZvY2F0aW9ucyBmcm9tIEdvZC4gVGhpcyBtZWFudCB0aGF0IGVhcm5pbmcgbW9uZXkgdGhyb3VnaCBob25lc3Qgd29yayBpcyBub3QgYSBuZWNlc3NhcnkgZXZpbCBidXQgYSBzcGlyaXR1YWwgcmVzcG9uc2liaWxpdHkuIFdlIGFyZSBjYWxsZWQgdG8gYmUgcHJvZHVjdGl2ZSwgdG8gZGV2ZWxvcCBvdXIgZ2lmdHMsIHRvIGNvbnRyaWJ1dGUgdG8gc29jaWV0eeKAlGFsbCBhcyBzZXJ2aWNlIHRvIEdvZC4gVGhpcyB1bmRlcnN0YW5kaW5nIGVsZXZhdGVkIHN0ZXdhcmRzaGlwIGZyb20gYW4gaW5kaXZpZHVhbCB2aXJ0dWUgdG8gYSBjb21wcmVoZW5zaXZlIHZpc2lvbiBvZiBDaHJpc3RpYW4gZWNvbm9taWMgbGlmZS48L3A+Cgo8aDM+Sm9obiBXZXNsZXkncyBUaHJlZSBGaW5hbmNpYWwgUHJpbmNpcGxlczwvaDM+Cgo8cD5Kb2huIFdlc2xleSBkaXN0aWxsZWQgc3Rld2FyZHNoaXAgaW50byB0aHJlZSBwb3dlcmZ1bCBjb21tYW5kczogIkVhcm4gYWxsIHlvdSBjYW4sIHNhdmUgYWxsIHlvdSBjYW4sIGdpdmUgYWxsIHlvdSBjYW4uIiBXZXNsZXkgdXJnZWQgTWV0aG9kaXN0cyB0byBkZXZlbG9wIHRoZWlyIGFiaWxpdGllcywgcHVyc3VlIHByb2R1Y3RpdmUgd29yaywgYW5kIGluY3JlYXNlIHRoZWlyIGVhcm5pbmdz4oCUbm90IGZvciBzZWxmLWluZHVsZ2VuY2UgYnV0IHRvIGhhdmUgbW9yZSB0byBzYXZlIGFuZCBnaXZlLiBIZSB3YXMgY2xlYXI6IGdhaW4gd2VhbHRoIHJpZ2h0ZW91c2x5LCBhdm9pZCB3YXN0ZWZ1bCBzcGVuZGluZywgYnV0IGRvIG5vdCBob2FyZC4gVGhlIGVudGlyZSBzZXF1ZW5jZSBzZXJ2ZXMgdGhlIGZpbmFsIGdvYWw6IGdpdmluZy4gV2VzbGV5IHVuZGVyc3Rvb2QgdGhhdCBlYXJuaW5nIGFuZCBzYXZpbmcgYXJlIG5vdCBlbmRzIGluIHRoZW1zZWx2ZXMgYnV0IG1lYW5zIHRvIGdlbmVyb3NpdHkuPC9wPgoKPGgzPlJvbiBCbHVlJ3MgU3Rld2FyZHNoaXAgRnJhbWV3b3JrPC9oMz4KCjxwPk1vZGVybiBzdGV3YXJkc2hpcCB0aGVvbG9neSBoYXMgZm91bmQgY2xlYXIgYXJ0aWN1bGF0aW9uIGluIFJvbiBCbHVlJ3MgZnJhbWV3b3JrLCB3aGljaCBpZGVudGlmaWVzIGZpdmUgZGltZW5zaW9ucyBvZiBmaW5hbmNpYWwgc3Rld2FyZHNoaXAuIEJsdWUgYXJndWVzIHRoYXQgZmFpdGhmdWwgc3Rld2FyZHNoaXAgZW5jb21wYXNzZXMgZWFybmluZywgc3BlbmRpbmcsIHNhdmluZywgaW52ZXN0aW5nLCBhbmQgZ2l2aW5nLiBFYWNoIGRpbWVuc2lvbiByZXF1aXJlcyB3aXNkb20gYW5kIGF0dGVudGlvbi4gWW91IGNhbm5vdCBiZSBhIGdvb2Qgc3Rld2FyZCBpbiBvbmUgYXJlYSB3aGlsZSBuZWdsZWN0aW5nIG90aGVycy4gUmVzcG9uc2libGUgZWFybmluZyBtdXN0IGJlIHBhaXJlZCB3aXRoIHdpc2Ugc3BlbmRpbmc7IHNhdmluZyBtdXN0IGxlYWQgdG8gc3RyYXRlZ2ljIGludmVzdGluZzsgYW5kIGFsbCBtdXN0IGN1bG1pbmF0ZSBpbiBnZW5lcm91cyBnaXZpbmcuIEJsdWUncyBmcmFtZXdvcmsgcHJvdmlkZXMgcHJhY3RpY2FsIHN0cnVjdHVyZSBmb3IgY29tcHJlaGVuc2l2ZSBmaW5hbmNpYWwgc3Rld2FyZHNoaXAuPC9wPgoKPGgzPlJhbmR5IEFsY29ybidzIFRyZWFzdXJlIFByaW5jaXBsZTwvaDM+Cgo8cD5SYW5keSBBbGNvcm4ncyAiVHJlYXN1cmUgUHJpbmNpcGxlIiBvZmZlcnMgYSBtZW1vcmFibGUgc3Rld2FyZHNoaXAgaW5zaWdodDogd2UgY2Fubm90IHRha2UgcG9zc2Vzc2lvbnMgdG8gaGVhdmVuLCBidXQgd2UgY2FuIHNlbmQgdGhlbSBhaGVhZCB0aHJvdWdoIGdlbmVyb3NpdHkuICJJZiB3ZSBnaXZlIGF3YXkgb3VyIGVhcnRobHkgdHJlYXN1cmVzLCB0aGV5IHdpbGwgZm9sbG93IHVzIHRvIGhlYXZlbiBhbmQgcHJvdmlkZSByZXdhcmQuIElmIHdlIGtlZXAgdGhlbSBvbiBlYXJ0aCwgdGhleSBzdGF5IG9uIGVhcnRo4oCUYW5kIHdlIGxlYXZlIHRoZW0gYmVoaW5kLiIgQWxjb3JuIGFyZ3VlcyB0aGF0IGdlbmVyb3NpdHkgaXMgbm90IHNhY3JpZmljZSBidXQgaW52ZXN0bWVudCB3aXRoIGV0ZXJuYWwgcmV0dXJucy4gVGhpcyByZWZyYW1lcyBzdGV3YXJkc2hpcCBmcm9tIGEgYnVyZGVuIGludG8gYW4gb3Bwb3J0dW5pdHkgZm9yIGV0ZXJuYWwgZ2Fpbi48L3A+Cgo8aDI+Rml2ZSBEaW1lbnNpb25zIG9mIEZpbmFuY2lhbCBTdGV3YXJkc2hpcDwvaDI+Cgo8cD5Gb2xsb3dpbmcgUm9uIEJsdWUncyBmcmFtZXdvcmssIGNvbXByZWhlbnNpdmUgc3Rld2FyZHNoaXAgaW52b2x2ZXMgZml2ZSBpbnRlcmNvbm5lY3RlZCBkaW1lbnNpb25zOjwvcD4KCjxoMz5FYXJuaW5nPC9oMz4KCjxwPlN0ZXdhcmRzaGlwIGJlZ2lucyB3aXRoIHByb2R1Y3RpdmUgd29yay4gV2UgYXJlIGNhbGxlZCB0byBkZXZlbG9wIG91ciBhYmlsaXRpZXMgYW5kIGVhcm4gaG9uZXN0bHkuIFByb3ZlcmJzIGNlbGVicmF0ZXMgdGhlIGRpbGlnZW50IHdvcmtlciBhbmQgd2FybnMgYWdhaW5zdCBsYXppbmVzcy4gRWFybmluZyBpcyBub3QgaW5jaWRlbnRhbCB0byBzdGV3YXJkc2hpcCBidXQgY2VudHJhbCB0byBpdC4gV2Ugc3Rld2FyZCBvdXIgdGFsZW50cyBhbmQgdGltZSBieSBkZXZlbG9waW5nIHRoZW0gaW50byBwcm9kdWN0aXZpdHkgdGhhdCBzZXJ2ZXMgb3RoZXJzIGFuZCBnZW5lcmF0ZXMgcmVzb3VyY2VzIGZvciB3aXNlIG1hbmFnZW1lbnQuPC9wPgoKPGgzPlNhdmluZzwvaDM+Cgo8cD5QcnVkZW50IHNhdmluZyByZWZsZWN0cyBiaWJsaWNhbCB3aXNkb20uIFByb3ZlcmJzIDIxOjUgbm90ZXM6ICJUaGUgcGxhbnMgb2YgdGhlIGRpbGlnZW50IGxlYWQgdG8gcHJvZml0IGFzIHN1cmVseSBhcyBoYXN0ZSBsZWFkcyB0byBsb3NzLiIgU2F2aW5nIHJlcXVpcmVzIGRpc2NpcGxpbmUsIGRlbGF5ZWQgZ3JhdGlmaWNhdGlvbiwgYW5kIGZhaXRoIHRoYXQgR29kIHdpbGwgcHJvdmlkZS4gV2Ugc2F2ZSBub3Qgb3V0IG9mIGFueGlldHkgYnV0IG91dCBvZiB3aXNkb20sIHJlY29nbml6aW5nIHRoYXQgc2Vhc29ucyBvZiBwbGVudHkgc2hvdWxkIHN1cHBvcnQgc2Vhc29ucyBvZiBuZWVkLjwvcD4KCjxoMz5JbnZlc3Rpbmc8L2gzPgoKPHA+VGhlIFBhcmFibGUgb2YgdGhlIFRhbGVudHMgZXhwbGljaXRseSBhcHByb3ZlcyBpbnZlc3RtZW50LiBSYXRoZXIgdGhhbiBidXJ5IHJlc291cmNlcywgd2UgYXJlIGNhbGxlZCB0byBkZXBsb3kgdGhlbSBwcm9kdWN0aXZlbHkuIEludmVzdG1lbnTigJR3aGV0aGVyIGluIGJ1c2luZXNzLCBsYW5kLCBlZHVjYXRpb24sIG9yIGZpbmFuY2lhbCBpbnN0cnVtZW50c+KAlGlzIGEgZm9ybSBvZiBzdGV3YXJkc2hpcCB0aGF0IG11bHRpcGxpZXMgcmVzb3VyY2VzIGZvciBmdXR1cmUgbmVlZHMgYW5kIG9wcG9ydHVuaXRpZXMuIEdvb2Qgc3Rld2FyZHMgdGhpbmsgZ2VuZXJhdGlvbmFsbHkgYWJvdXQgaG93IHRvIHByZXNlcnZlIGFuZCBncm93IHJlc291cmNlcy48L3A+Cgo8aDM+U3BlbmRpbmc8L2gzPgoKPHA+U3Rld2FyZHNoaXAgaW5jbHVkZXMgd2lzZSBzcGVuZGluZyBvbiBsZWdpdGltYXRlIG5lZWRzIGFuZCBhcHByb3ByaWF0ZSBlbmpveW1lbnQuIFBhdWwgdGVsbHMgVGltb3RoeSB0aGF0IEdvZCBnaXZlcyB1cyAicmljaGx5IGFsbCB0aGluZ3MgdG8gZW5qb3kiICgxIFRpbW90aHkgNjoxNykuIFNwZW5kaW5nIGlzIG5vdCBpbmhlcmVudGx5IHNpbmZ1bC4gUmF0aGVyLCB3ZSBzdGV3YXJkIG91ciBzcGVuZGluZyBieSBkaXN0aW5ndWlzaGluZyBuZWVkcyBmcm9tIHdhbnRzLCBhdm9pZGluZyB3YXN0ZSwgYW5kIGVuc3VyaW5nIG91ciBzcGVuZGluZyByZWZsZWN0cyBvdXIgdmFsdWVzIGFuZCBzdXBwb3J0cyBvdXIgZ2VuZXJvc2l0eS48L3A+Cgo8aDM+R2l2aW5nPC9oMz4KCjxwPkdlbmVyb3NpdHkgaXMgdGhlIHVsdGltYXRlIGV4cHJlc3Npb24gb2Ygc3Rld2FyZHNoaXAuIFdoZW4gd2UgZ2l2ZeKAlHRocm91Z2ggdGl0aGVzLCBvZmZlcmluZ3MsIGhlbHBpbmcgb3RoZXJzLCBvciBpbnZlc3RpbmcgaW4gR29kJ3Mga2luZ2RvbeKAlHdlIGFja25vd2xlZGdlIHRoYXQgd2UgYXJlIG1hbmFnZXJzLCBub3Qgb3duZXJzLiBHaXZpbmcgYnJlYWtzIHRoZSBncmlwIHRoYXQgYWNjdW11bGF0aW9uIGNhbiBoYXZlIG9uIG91ciBoZWFydHMgYW5kIGFsaWducyBvdXIgcmVzb3VyY2VzIHdpdGggR29kJ3MgcHVycG9zZXMuPC9wPgoKPGgyPlN0ZXdhcmRzaGlwIFRoZW9sb2d5IGFuZCBJbnZlc3RpbmcgRGVjaXNpb25zPC9oMj4KCjxwPkhvdyBkb2VzIHN0ZXdhcmRzaGlwIHRoZW9sb2d5IHNoYXBlIGludmVzdGluZz8gSXQgdHJhbnNmb3JtcyBpbnZlc3RpbmcgZnJvbSBhIHBlcnNvbmFsIHdlYWx0aC1idWlsZGluZyBzdHJhdGVneSBpbnRvIGEgc2FjcmVkIHJlc3BvbnNpYmlsaXR5LiBHcm93aW5nIHdlYWx0aCBpcyBub3QgbWVyZWx5IGEgcmlnaHQgb3IgYSBwcml2aWxlZ2XigJRpdCBpcyBhIHN0ZXdhcmRzaGlwIHJlc3BvbnNpYmlsaXR5LjwvcD4KCjxwPldoZW4geW91IGludmVzdCB3aXNlbHksIHlvdSBhcmUgc3Rld2FyZGluZyByZXNvdXJjZXMgdG8gc2VydmUgbXVsdGlwbGUgcHVycG9zZXM6IHlvdXIgZmFtaWx5J3Mgc2VjdXJpdHksIGNoYXJpdGFibGUgZ2l2aW5nLCB5b3VyIGV2ZW50dWFsIGFiaWxpdHkgdG8gaGVscCBvdGhlcnMsIGFuZCBwYXJ0aWNpcGF0aW9uIGluIHByb2R1Y3RpdmUgZWNvbm9taWMgc3lzdGVtcyB0aGF0IGNyZWF0ZSBnb29kcyBhbmQgc2VydmljZXMgb3RoZXJzIG5lZWQuIEEgZ29vZCBzdGV3YXJkIGludmVzdHMgdGhvdWdodGZ1bGx5IGJlY2F1c2UgbGF6eSBzdGV3YXJkc2hpcOKAlGZhaWxpbmcgdG8gZ3JvdyByZXNvdXJjZXMgcHJ1ZGVudGx54oCUdmlvbGF0ZXMgdGhlIFBhcmFibGUgb2YgdGhlIFRhbGVudHMuPC9wPgoKPHA+VGhpcyBwZXJzcGVjdGl2ZSBsaWJlcmF0ZXMgQ2hyaXN0aWFuIGludmVzdG9ycyBmcm9tIHRoZSBndWlsdCB0aGF0IHNvbWV0aW1lcyBhY2NvbXBhbmllcyB3ZWFsdGggYWNjdW11bGF0aW9uLiBZb3UgY2FuIHB1cnN1ZSBpbnZlc3RtZW50IHJldHVybnMgd2hpbGUgaG9sZGluZyB0aGVtIGxvb3NlbHksIGtub3dpbmcgdGhleSBleGlzdCB0byBzZXJ2ZSBwdXJwb3NlcyBiZXlvbmQgeW91cnNlbGYuIFlvdSBjYW4gZWFybiBpbnZlc3RtZW50IGluY29tZSBhbmQgc2ltdWx0YW5lb3VzbHkgbWFpbnRhaW4gZ2VuZXJvc2l0eSwgc2VlaW5nIHdlYWx0aCBncm93dGggYXMgZXhwYW5kaW5nIHlvdXIgY2FwYWNpdHkgdG8gZ2l2ZS48L3A+Cgo8cD5TdGV3YXJkc2hpcCBhbHNvIHJhaXNlcyBpbXBvcnRhbnQgcXVlc3Rpb25zIGFib3V0IHdoYXQgeW91IGludmVzdCBpbi4gQSBzdGV3YXJkIGFza3Mgbm90IG9ubHkgIldpbGwgdGhpcyByZXR1cm4gcHJvZml0PyIgYnV0IGFsc28gIkRvZXMgdGhpcyBhbGlnbiB3aXRoIGJpYmxpY2FsIHZhbHVlcz8gQW0gSSBpbnZlc3RpbmcgaW4gY29tcGFuaWVzIG9yIHByYWN0aWNlcyB0aGF0IGhhcm0gb3RoZXJzIG9yIGNyZWF0aW9uPyIgU3Rld2FyZHNoaXAgaW52ZXN0aW5nIGNvbnNpZGVycyB0aGUgZnVsbCBpbXBsaWNhdGlvbnMgb2Ygd2hlcmUgY2FwaXRhbCBmbG93cy48L3A+Cgo8aDI+U3Rld2FyZHNoaXAgdnMuIEFzY2V0aWNpc206IFdlYWx0aCBhbmQgU3Bpcml0dWFsaXR5PC9oMj4KCjxwPkEgY3JpdGljYWwgZGlzdGluY3Rpb24gc2VwYXJhdGVzIGJpYmxpY2FsIHN0ZXdhcmRzaGlwIGZyb20gYXNjZXRpY2lzbS4gQXNjZXRpY2lzbSBzdWdnZXN0cyB0aGF0IHNwaXJpdHVhbCBtYXR1cml0eSByZXF1aXJlcyByZWplY3RpbmcgbWF0ZXJpYWwgZ29vZHMgYW5kIGVtYnJhY2luZyBwb3ZlcnR5LiBTdGV3YXJkc2hpcCByZWplY3RzIHRoaXMgZnJhbWV3b3JrIGVudGlyZWx5LjwvcD4KCjxwPlRoZSBCaWJsZSBkb2VzIG5vdCBjb25kZW1uIHdlYWx0aC4gQWJyYWhhbSB3YXMgd2VhbHRoeSwgSm9iIHdhcyB3ZWFsdGh5LCBEYXZpZCB3YXMgd2VhbHRoeSwgYW5kIHRoZSBQcm92ZXJicyBjZWxlYnJhdGUgdGhlIGJsZXNzaW5ncyBvZiBwcm9kdWN0aXZlIHdvcmsuIFdoYXQgdGhlIEJpYmxlIGNvbmRlbW5zIGlzIHRoZSB3cm9uZyB1c2Ugb2Ygd2VhbHRoOiBob2FyZGluZyBvdXQgb2YgZ3JlZWQsIHVzaW5nIHdlYWx0aCB0byBvcHByZXNzIG90aGVycywgdHJ1c3RpbmcgaW4gcmljaGVzIHJhdGhlciB0aGFuIEdvZCwgb3IgYWxsb3dpbmcgd2VhbHRoIHRvIGJlY29tZSBvdXIgZ29kLjwvcD4KCjxwPkplc3VzJ3Mgd29yZHMgdG8gdGhlIHJpY2ggd2VyZSBub3QgIlBvdmVydHkgaXMgc3Bpcml0dWFsIiBidXQgcmF0aGVyICJZb3VyIGhlYXJ0IGJlbG9uZ3MgdG8geW91ciB3ZWFsdGjigJRnaXZlIGl0IGF3YXkgc28geW91ciBoZWFydCBjYW4gYmVsb25nIHRvIEdvZC4iIEhlIHdhcyBhZGRyZXNzaW5nIHRoZSBzcGlyaXR1YWwgZGFuZ2VyIG9mIG1pc3BsYWNlZCBsb3lhbHR5LCBub3QgY29uZGVtbmluZyBtYXRlcmlhbCBwb3NzZXNzaW9ucy48L3A+Cgo8cD5CaWJsaWNhbCBzdGV3YXJkc2hpcCBjZWxlYnJhdGVzIHRoZSByZXNwb25zaWJsZSBlbmpveW1lbnQgb2YgR29kJ3MgcHJvdmlzaW9uIHdoaWxlIGluc2lzdGluZyB0aGF0IGVuam95bWVudCBzZXJ2ZXMgYSBsYXJnZXIgcHVycG9zZSB0aGFuIHBlcnNvbmFsIHBsZWFzdXJlLiBZb3UgY2FuIG93biBhIGNvbWZvcnRhYmxlIGhvbWUsIHByb3ZpZGUgd2VsbCBmb3IgeW91ciBmYW1pbHksIGVuam95IGdvb2QgZm9vZCBhbmQgYmVhdXR5LCBhbmQgc3RpbGwgYmUgYSBmYWl0aGZ1bCBzdGV3YXJk4oCUaWYgeW91IGhvbGQgdGhlc2UgdGhpbmdzIGxvb3NlbHkgYW5kIHJlbWFpbiBvcGVuIHRvIEdvZCdzIGNsYWltIG9uIHRoZW0uPC9wPgoKPGgyPlN0ZXdhcmRzaGlwIGFuZCBFbnZpcm9ubWVudGFsIEludmVzdGluZzwvaDI+Cgo8cD5UaGUgc3Rld2FyZHNoaXAgbWFuZGF0ZSBleHRlbmRzIHRvIGNyZWF0aW9uIGNhcmUuIFdoZW4gR29kIGdhdmUgaHVtYW5pdHkgZG9taW5pb24gb3ZlciBjcmVhdGlvbiwgSGUgYXNzaWduZWQgdXMgcmVzcG9uc2liaWxpdHkgZm9yIGl0cyBmbG91cmlzaGluZy4gVGhpcyBhbmNpZW50IG1hbmRhdGUgZ2FpbnMgdXJnZW5jeSBhcyB3ZSBmYWNlIGVudmlyb25tZW50YWwgY2hhbGxlbmdlcy48L3A+Cgo8cD5FbnZpcm9ubWVudGFsIHN0ZXdhcmRzaGlwIGNhbiBpbmZvcm0gaW52ZXN0aW5nIGRlY2lzaW9ucy4gQSBmYWl0aGZ1bCBzdGV3YXJkIGNvbnNpZGVycyB3aGV0aGVyIHRoZWlyIGludmVzdG1lbnRzIHN1cHBvcnQgdGhlIGNhcmUgYW5kIHByZXNlcnZhdGlvbiBvZiBjcmVhdGlvbiBvciBjb250cmlidXRlIHRvIGl0cyBkZWdyYWRhdGlvbi4gVGhpcyBkb2VzIG5vdCBuZWNlc3NhcmlseSByZXF1aXJlIGF2b2lkaW5nIGFsbCBjb21wYW5pZXMgd2l0aCBlbnZpcm9ubWVudGFsIGltcGFjdOKAlHJlc3BvbnNpYmxlIHN0ZXdhcmRzaGlwIGlzIG1vcmUgbnVhbmNlZC4gUmF0aGVyLCBpdCBhc2tzOiBBcmUgd2Ugc3VwcG9ydGluZyBjb21wYW5pZXMgd29ya2luZyB0byBtaW5pbWl6ZSBlbnZpcm9ubWVudGFsIGhhcm0/IERvIHdlIG93biBidXNpbmVzc2VzIHRoYXQgcHJhY3RpY2UgY3JlYXRpb24gY2FyZT8gQXJlIHdlIHVzaW5nIG91ciBpbnZlc3RtZW50IHZvaWNlIHRvIGVuY291cmFnZSBlbnZpcm9ubWVudGFsIHJlc3BvbnNpYmlsaXR5PzwvcD4KCjxwPlNvbWUgaW52ZXN0b3JzIHB1cnN1ZSBFU0cgKEVudmlyb25tZW50YWwsIFNvY2lhbCwgR292ZXJuYW5jZSkgaW52ZXN0aW5nIGFzIGEgc3Rld2FyZHNoaXAgc3RyYXRlZ3ksIGV2YWx1YXRpbmcgY29tcGFuaWVzJyBlbnZpcm9ubWVudGFsIGltcGFjdCBhbmQgc29jaWFsIHJlc3BvbnNpYmlsaXR5LiBPdGhlcnMgYXJndWUgdGhhdCBzdGV3YXJkc2hpcCBtZWFucyBiZWluZyB0aGUgYmVzdCBzdGV3YXJkcyBwb3NzaWJsZSBvZiBjYXBpdGFsIHJldHVybnMgYW5kIHRoZW4gdXNpbmcgdGhvc2UgcmV0dXJucyBmb3IgZW52aXJvbm1lbnRhbCBjYXVzZXMuIEVpdGhlciB3YXksIHRoZSBzdGV3YXJkc2hpcCBtYW5kYXRlIHJlbWluZHMgdXMgdGhhdCB3ZSBjYW5ub3Qgc2VwYXJhdGUgZmluYW5jaWFsIHN0ZXdhcmRzaGlwIGZyb20gY2FyZSBmb3IgdGhlIGNyZWF0aW9uIGVudHJ1c3RlZCB0byB1cy48L3A+Cgo8aDI+R2VuZXJhdGlvbmFsIFN0ZXdhcmRzaGlwOiBQYXNzaW5nIFdlYWx0aCBXaXNlbHk8L2gyPgoKPHA+U3Rld2FyZHNoaXAgZXh0ZW5kcyBiZXlvbmQgb3VyIGxpZmV0aW1lcy4gSG93IHdlIHBhc3Mgd2VhbHRoIHRvIHRoZSBuZXh0IGdlbmVyYXRpb24gaXMgYSBjcml0aWNhbCBzdGV3YXJkc2hpcCBxdWVzdGlvbi4gUHJvdmVyYnMgMTM6MjIgbm90ZXM6ICJBIGdvb2QgbWFuIGxlYXZlcyBhbiBpbmhlcml0YW5jZSB0byBoaXMgY2hpbGRyZW4ncyBjaGlsZHJlbi4iIEJpYmxpY2FsIHN0ZXdhcmRzaGlwIGluY2x1ZGVzIHRoaW5raW5nIGdlbmVyYXRpb25hbGx5IGFib3V0IGhvdyB0byB0cmFuc2ZlciByZXNvdXJjZXMgd2lzZWx5LjwvcD4KCjxwPlRoaXMgcmFpc2VzIGltcG9ydGFudCBjb25zaWRlcmF0aW9ucy4gSG93IG11Y2ggc2hvdWxkIHlvdSBsZWF2ZSB0byBjaGlsZHJlbj8gUHJvdmVyYnMgY2VsZWJyYXRlcyBsZWF2aW5nIGluaGVyaXRhbmNlIGJ1dCBhbHNvIHdhcm5zIHRoYXQgd2VhbHRoIGdpdmVuIHdpdGhvdXQgd2lzZG9tIGNhbiBoYXJtIHJlY2lwaWVudHMuIFNvbWUgc3Rld2FyZHNoaXAgdGhpbmtlcnMgYXJndWUgdGhhdCBvdXIgcHJpbWFyeSBpbmhlcml0YW5jZSBzaG91bGQgYmUgYmlibGljYWwgdmFsdWVzLCB3b3JrIGV0aGljLCBhbmQgZ2VuZXJvc2l0eeKAlG5vdCBtZXJlbHkgbW9uZXkuIE90aGVycyBlbXBoYXNpemUgY3JlYXRpbmcgdHJ1c3RzIHRoYXQgZW5zdXJlIHdlYWx0aCBzZXJ2ZXMga2luZ2RvbSBwdXJwb3NlcyBhY3Jvc3MgZ2VuZXJhdGlvbnMuPC9wPgoKPHA+R2VuZXJhdGlvbmFsIHN0ZXdhcmRzaGlwIGFsc28gYXNrcyBhYm91dCB3ZWFsdGggaW5lcXVhbGl0eSBhbmQganVzdGljZS4gSWYgd2UgYXJlIHN0ZXdhcmRzIGFjY291bnRhYmxlIHRvIEdvZCwgaG93IGRvIHdlIHJlY29uY2lsZSBhY2N1bXVsYXRpbmcgbXVsdGktZ2VuZXJhdGlvbmFsIHdlYWx0aCB3aXRoIGJpYmxpY2FsIGNvbW1hbmRzIHRvIGNhcmUgZm9yIHRoZSBwb29yIGFuZCBvcHByZXNzZWQ/IFRoaXMgcXVlc3Rpb24gaGFzIG5vIGVhc3kgYW5zd2VyLCBidXQgZmFpdGhmdWwgc3Rld2FyZHNoaXAgcmVxdWlyZXMgYXNraW5nIGl0IGhvbmVzdGx5LjwvcD4KCjxwPk1hbnkgQ2hyaXN0aWFucyBwcmFjdGljZSBhIGNvbWJpbmF0aW9uOiBsZWF2aW5nIGVub3VnaCB0byBwcm92aWRlIG9wcG9ydHVuaXR5IGFuZCBzZWN1cml0eSBmb3IgY2hpbGRyZW4gd2hpbGUgZGlyZWN0aW5nIHNpZ25pZmljYW50IHBvcnRpb25zIG9mIHdlYWx0aCB0b3dhcmQga2luZ2RvbSBjYXVzZXMuIFNvbWUgZXN0YWJsaXNoIGNoYXJpdGFibGUgdHJ1c3RzIG9yIGRvbm9yLWFkdmlzZWQgZnVuZHMgdGhhdCBjb250aW51ZSBnaXZpbmcgdG8gd29ydGh5IGNhdXNlcyBsb25nIGFmdGVyIHRoZXkncmUgZ29uZS4gT3RoZXJzIGNvbW1pdCB0byByYWlzaW5nIGNoaWxkcmVuIHdobyB1bmRlcnN0YW5kIHRoYXQgaW5oZXJpdGVkIHdlYWx0aCBjYXJyaWVzIHJlc3BvbnNpYmlsaXR5LjwvcD4KCjxoMj5Bc3Nlc3NpbmcgWW91ciBGaW5hbmNpYWwgTGlmZSBUaHJvdWdoIGEgU3Rld2FyZHNoaXAgTGVuczwvaDI+Cgo8cD5Ib3cgZG8geW91IGV2YWx1YXRlIHdoZXRoZXIgeW91IGFyZSBzdGV3YXJkaW5nIHdlbGw/IENvbnNpZGVyIHRoZXNlIHF1ZXN0aW9uczo8L3A+Cgo8dWw+CjxsaT5EbyBJIHZpZXcgbXkgcG9zc2Vzc2lvbnMgYXMgdWx0aW1hdGVseSBHb2QncywgaGVsZCBpbiB0cnVzdCwgcmF0aGVyIHRoYW4gYXMgcHVyZWx5IG1pbmU/PC9saT4KPGxpPkFtIEkgZGV2ZWxvcGluZyBteSBhYmlsaXRpZXMgYW5kIHdvcmtpbmcgcmVzcG9uc2libHkgdG8gZWFybiBob25lc3RseT88L2xpPgo8bGk+RG8gSSBzYXZlIHBydWRlbnRseSBmb3IgbGVnaXRpbWF0ZSBmdXR1cmUgbmVlZHMgd2hpbGUgdHJ1c3RpbmcgR29kPzwvbGk+CjxsaT5BcmUgbXkgaW52ZXN0bWVudHMgc3RyYXRlZ2ljIGFuZCBhbGlnbmVkIHdpdGggbXkgdmFsdWVzPzwvbGk+CjxsaT5Eb2VzIG15IHNwZW5kaW5nIHJlZmxlY3QgbXkgcHJpb3JpdGllcyBhbmQgdmFsdWVzLCBvciBoYXZlIEkgbG9zdCBpbnRlbnRpb25hbGl0eT88L2xpPgo8bGk+QW0gSSBnZW5lcm91cywgZ2l2aW5nIGF3YXkgYSBtZWFuaW5nZnVsIHBvcnRpb24gb2YgbXkgaW5jcmVhc2U/PC9saT4KPGxpPklzIG15IHdlYWx0aCBzZXJ2aW5nIG90aGVycyBhbmQgR29kJ3MgcHVycG9zZXMsIG9yIHByaW1hcmlseSBzZXJ2aW5nIG15c2VsZj88L2xpPgo8bGk+Q291bGQgSSByZWxlYXNlIG15IHBvc3Nlc3Npb25zIGlmIEdvZCBhc2tlZCBtZSB0bywgb3IgaGF2ZSB0aGV5IGJlY29tZSBpZG9scz88L2xpPgo8bGk+QW0gSSBsZWF2aW5nIGEgcG9zaXRpdmUgbGVnYWN54oCUYm90aCBpbiB2YWx1ZXMgYW5kIGluIHJlc291cmNlc+KAlHRvIHRoZSBuZXh0IGdlbmVyYXRpb24/PC9saT4KPGxpPkRvZXMgbXkgc3Rld2FyZHNoaXAgZXh0ZW5kIHRvIGNyZWF0aW9uIGNhcmUgYW5kIHNvY2lhbCBqdXN0aWNlPzwvbGk+CjwvdWw+Cgo8cD5UaGVzZSBxdWVzdGlvbnMgZm9ybSBhIHN0ZXdhcmRzaGlwIGF1ZGl0LiBUaGV5IGhlbHAgaWRlbnRpZnkgYXJlYXMgd2hlcmUgeW91ciBwcmFjdGljZSBhbGlnbnMgd2l0aCB5b3VyIHRoZW9sb2d5IGFuZCBhcmVhcyB3aGVyZSBhZGp1c3RtZW50IGlzIG5lZWRlZC48L3A+Cgo8aDI+Q29tbW9uIFN0ZXdhcmRzaGlwIE1pc3Rha2VzPC9oMj4KCjxwPlVuZGVyc3RhbmRpbmcgY29tbW9uIHN0ZXdhcmRzaGlwIG1pc3Rha2VzIGhlbHBzIHVzIGF2b2lkIHRoZW0uPC9wPgoKPGgzPkhvYXJkaW5nIE91dCBvZiBGZWFyPC9oMz4KCjxwPk1hbnkgcGVvcGxlIGFjY3VtdWxhdGUgd2VhbHRoIG5vdCBvdXQgb2YgdmlzaW9uIGZvciB3aGF0IHRoZXkgd2lsbCBkbyB3aXRoIGl0IGJ1dCBvdXQgb2YgZmVhciBvZiB0aGUgZnV0dXJlLiBUaGV5IHNhdmUgb2JzZXNzaXZlbHksIHNwZW5kIGxpdHRsZSwgYW5kIGdpdmUgcmVsdWN0YW50bHnigJRhbGwgZHJpdmVuIGJ5IGFueGlldHkgYWJvdXQgc2VjdXJpdHkuIFRoaXMgdmlvbGF0ZXMgc3Rld2FyZHNoaXAgYmVjYXVzZSBpdCBkZW5pZXMgR29kJ3MgcHJvdmlzaW9uIGFuZCB0cmVhdHMgcmVzb3VyY2VzIGFzIHBlcnNvbmFsIHNlY3VyaXR5IGJsYW5rZXRzIHJhdGhlciB0aGFuIHRydXN0cyBmcm9tIEdvZC4gQSBzdGV3YXJkIHNhdmVzIHBydWRlbnRseSBidXQgdHJ1c3RzIEdvZCwgcmVtYWluaW5nIG9wZW4gdG8gaGlzIGxlYWRpbmcgdG93YXJkIGdlbmVyb3NpdHkuPC9wPgoKPGgzPlNwZW5kaW5nIE9ubHkgb24gU2VsZjwvaDM+Cgo8cD5Bbm90aGVyIGNvbW1vbiBtaXN0YWtlIGludmVydHMgcHJvcGVyIHByaW9yaXRpZXMuIFBlb3BsZSBlYXJuLCBzYXZlLCBpbnZlc3TigJRhbGwgZm9yIHRoZW1zZWx2ZXMgYW5kIHRoZWlyIGltbWVkaWF0ZSBmYW1pbGllc+KAlHdpdGhvdXQgZXZlciBkaXJlY3RpbmcgcmVzb3VyY2VzIHRvd2FyZCBoZWxwaW5nIG90aGVycyBvciBhZHZhbmNpbmcgR29kJ3Mga2luZ2RvbS4gVGhpcyBmb3JnZXRzIHRoYXQgc3Rld2FyZHNoaXAgc2VydmVzIHB1cnBvc2VzIGJleW9uZCBvdXJzZWx2ZXMuIFRydWUgc3Rld2FyZHNoaXAgYWx3YXlzIGluY2x1ZGVzIGEgZ2l2aW5nIGNvbXBvbmVudCwgYSBkaXJlY3Rpb24gb2YgcmVzb3VyY2VzIHRvd2FyZCBvdGhlcnMuPC9wPgoKPGgzPkd1aWx0IEFib3V0IEhhdmluZyBXZWFsdGg8L2gzPgoKPHA+U29tZSBDaHJpc3RpYW5zIGFzc3VtZSB0aGF0IGZhaXRoZnVsbmVzcyByZXF1aXJlcyBwb3ZlcnR5LiBUaGV5IGFjY3VtdWxhdGUgd2VhbHRoIGJ1dCBmZWVsIGd1aWx0eSBhYm91dCBpdCwgbmVpdGhlciBlbmpveWluZyBHb2QncyBwcm92aXNpb24gbm9yIHVzaW5nIGl0IHN0cmF0ZWdpY2FsbHkuIFRoaXMgc3Rld2FyZHNoaXAgbWlzdGFrZSBjb21iaW5lcyB0aGUgd29yc3Qgb2YgYm90aCB3b3JsZHM6IHRoZSBhbnhpZXR5IG9mIGFjY3VtdWxhdGlvbiB3aXRoIHRoZSBub24tZW5qb3ltZW50IG9mIGFzY2V0aWNpc20uIEluc3RlYWQsIGZhaXRoZnVsIHN0ZXdhcmRzIHJlY2VpdmUgR29kJ3MgcHJvdmlzaW9uIHdpdGggZ3JhdGl0dWRlLCBlbmpveSBpdCByZXNwb25zaWJseSwgYW5kIGRlcGxveSBpdCB0b3dhcmQgb3RoZXJzLjwvcD4KCjxoMz5OZWdsZWN0aW5nIE9uZSBEaW1lbnNpb248L2gzPgoKPHA+T3RoZXJzIGV4Y2VsIGluIHNvbWUgc3Rld2FyZHNoaXAgZGltZW5zaW9ucyB3aGlsZSBuZWdsZWN0aW5nIG90aGVycy4gVGhleSBlYXJuIGFuZCBzYXZlIGJyaWxsaWFudGx5IGJ1dCBzcGVuZCByZWNrbGVzc2x5LiBUaGV5IGludmVzdCB3aXNlbHkgYnV0IG5ldmVyIGdpdmUuIFRoZXkgcHJvdmlkZSBnZW5lcm91c2x5IGJ1dCBuZWdsZWN0IHRvIHNhdmUgZm9yIGxlZ2l0aW1hdGUgZnV0dXJlIG5lZWRzLiBDb21wcmVoZW5zaXZlIHN0ZXdhcmRzaGlwIHJlcXVpcmVzIGJhbGFuY2VkIGF0dGVudGlvbiB0byBhbGwgZml2ZSBkaW1lbnNpb25zLjwvcD4KCjxoMz5Db25mdXNpbmcgU3Rld2FyZHNoaXAgd2l0aCBXb3JrcyBSaWdodGVvdXNuZXNzPC9oMz4KCjxwPlNvbWUgYXBwcm9hY2ggc3Rld2FyZHNoaXAgYXMgYSB3YXkgdG8gZWFybiBHb2QncyBmYXZvciB0aHJvdWdoIGZpbmFuY2lhbCBkaXNjaXBsaW5lLiBUaGlzIG1pc3NlcyB0aGUgaGVhcnQgb2Ygc3Rld2FyZHNoaXAgdGhlb2xvZ3k6IHdlIHN0ZXdhcmQgYmVjYXVzZSB3ZSB0cnVzdCBHb2QsIG5vdCB0byBwcm92ZSBvdXJzZWx2ZXMgdG8gR29kLiBTdGV3YXJkc2hpcCBmbG93cyBmcm9tIGdyYWNlLCBub3QgdG93YXJkIGl0LiBXZSBnaXZlLCBzYXZlLCBhbmQgaW52ZXN0IG5vdCB0byBlYXJuIEdvZCdzIGxvdmUgYnV0IGJlY2F1c2Ugd2UgcmVzdCBpbiBpdC48L3A+Cgo8aDI+U3Rld2FyZHNoaXAgYXMgU3Bpcml0dWFsIFByYWN0aWNlPC9oMj4KCjxwPlN0ZXdhcmRzaGlwIHRoZW9sb2d5IHVsdGltYXRlbHkgcmV2ZWFscyBzb21ldGhpbmcgcHJvZm91bmQgYWJvdXQgc3Bpcml0dWFsIGxpZmU6IGhvdyB3ZSBoYW5kbGUgbW9uZXkgcmVmbGVjdHMgYW5kIHNoYXBlcyBvdXIgcmVsYXRpb25zaGlwIHdpdGggR29kLiBKZXN1cyB0YXVnaHQgdGhhdCBvdXIgaGVhcnRzIGZvbGxvdyBvdXIgdHJlYXN1cmVzIChNYXR0aGV3IDY6MjEpLiBXaGVuIHdlIGdpdmUgZ2VuZXJvdXNseSwgd2UgdHJhaW4gb3VyIGhlYXJ0cyB0b3dhcmQgZ2VuZXJvc2l0eS4gV2hlbiB3ZSBpbnZlc3Qgd2lzZWx5LCB3ZSBleGVyY2lzZSBmYWl0aCB0aGF0IEdvZCBwcm92aWRlcy4gV2hlbiB3ZSBzcGVuZCBpbnRlbnRpb25hbGx5LCB3ZSBwcmFjdGljZSBhbGlnbm1lbnQgYmV0d2VlbiB2YWx1ZXMgYW5kIGFjdGlvbnMuPC9wPgoKPHA+VGhlIHByYWN0aWNlIG9mIHN0ZXdhcmRzaGlwIGRpc2NpcGxpbmVzIHVzIHNwaXJpdHVhbGx5LiBUaXRoaW5nIHRyYWlucyBnZW5lcm9zaXR5LiBCdWRnZXRpbmcgdHJhaW5zIGludGVudGlvbmFsaXR5LiBTYXZpbmcgdHJhaW5zIGRlbGF5ZWQgZ3JhdGlmaWNhdGlvbiBhbmQgZmFpdGguIEludmVzdGluZyB0cmFpbnMgcmVzcG9uc2liaWxpdHkgYW5kIGxvbmctdGVybSB0aGlua2luZy4gQXZvaWRpbmcgZGVidCB0cmFpbnMgaHVtaWxpdHkgYW5kIGxpbWl0cyBvdXIgY2xhaW1zIG9uIHRoZSBmdXR1cmUuPC9wPgoKPHA+U3Rld2FyZHNoaXAgdGhlb2xvZ3kgcmVmdXNlcyB0byBzZXBhcmF0ZSAic3Bpcml0dWFsIiBsaWZlIGZyb20gImZpbmFuY2lhbCIgbGlmZS4gSG93IHdlIG1hbmFnZSBtb25leSBpcyBzcGlyaXR1YWwgcHJhY3RpY2UuIE91ciBpbnZlc3RtZW50IHBvcnRmb2xpb3MgYXJlIHRoZW9sb2dpY2FsIHN0YXRlbWVudHMuIE91ciBnaXZpbmcgcGF0dGVybnMgcmV2ZWFsIHdoYXQgd2UgdHJ1bHkgYmVsaWV2ZSBhYm91dCBHb2QncyBzdWZmaWNpZW5jeS4gT3VyIHNhdmluZyBoYWJpdHMgc2hvdyB3aGV0aGVyIHdlIHRydXN0IEdvZC4gT3VyIHNwZW5kaW5nIHJldmVhbHMgd2hldGhlciB3ZSBhcmUgbWFzdGVyZWQgYnkgZGVzaXJlcyBvciB3YWxraW5nIGluIGZyZWVkb20uPC9wPgoKPGgyPkNvbmNsdXNpb246IEJlY29taW5nIGEgRmFpdGhmdWwgU3Rld2FyZDwvaDI+Cgo8cD5TdGV3YXJkc2hpcCB0aGVvbG9neSB0cmFuc2Zvcm1zIGZpbmFuY2lhbCBsaWZlIGZyb20gYSBwcmFjdGljYWwgcHJvYmxlbSB0byBzb2x2ZSBpbnRvIGEgc3Bpcml0dWFsIHByYWN0aWNlIHRoYXQgc2hhcGVzIHVzIGFuZCBzZXJ2ZXMgR29kJ3MgcHVycG9zZXMuIFdoZW4geW91IHVuZGVyc3RhbmQgdGhhdCB5b3UgYXJlIGFuIDxzdHJvbmc+b2lrb25vbW9zPC9zdHJvbmc+4oCUYSBtYW5hZ2VyIG9mIEdvZCdzIGhvdXNlaG9sZOKAlGV2ZXJ5IGZpbmFuY2lhbCBkZWNpc2lvbiBiZWNvbWVzIGEgc3Bpcml0dWFsIGRlY2lzaW9uLjwvcD4KCjxwPllvdSBhcmUgY2FsbGVkIHRvIGVhcm4gcmVzcG9uc2libHksIGRldmVsb3BpbmcgeW91ciBHb2QtZ2l2ZW4gYWJpbGl0aWVzLiBZb3UgYXJlIGludml0ZWQgdG8gc2F2ZSBwcnVkZW50bHksIHRydXN0aW5nIEdvZCdzIHByb3Zpc2lvbiBhbmQgcGxhbm5pbmcgd2lzZWx5LiBZb3UgYXJlIGNoYWxsZW5nZWQgdG8gaW52ZXN0IHN0cmF0ZWdpY2FsbHksIG11bHRpcGx5aW5nIHJlc291cmNlcyBmb3IgeW91cnNlbGYgYW5kIG90aGVycy4gWW91IGFyZSBpbnN0cnVjdGVkIHRvIHNwZW5kIGludGVudGlvbmFsbHksIGVuam95aW5nIEdvZCdzIHByb3Zpc2lvbiB3aGlsZSBhdm9pZGluZyB3YXN0ZS4gWW91IGFyZSBjb21tYW5kZWQgdG8gZ2l2ZSBnZW5lcm91c2x5LCBhY2tub3dsZWRnaW5nIEdvZCdzIG93bmVyc2hpcCBhbmQgc2VydmluZyBoaXMgcHVycG9zZXMuPC9wPgoKPHA+VGhlc2UgZGltZW5zaW9ucyBvZiBzdGV3YXJkc2hpcCBhcmUgbm90IGJ1cmRlbnMgYnV0IGdpZnRzLiBUaGV5IG9mZmVyIGEgY29tcHJlaGVuc2l2ZSB2aXNpb24gZm9yIGZpbmFuY2lhbCBsaWZlIHRoYXQgbGliZXJhdGVzIHlvdSBmcm9tIGNvbnN1bWVyaXNtJ3MgZW5kbGVzcyBkZW1hbmRzLCBmcm9tIGdyZWVkJ3MgaXNvbGF0aW5nIGdyaXAsIGZyb20gZmVhcidzIHBhcmFseXppbmcgY29udHJvbC4gSW4gdGhlaXIgcGxhY2UsIHN0ZXdhcmRzaGlwIG9mZmVycyBmcmVlZG9tLCBwdXJwb3NlLCBhbmQgYWxpZ25tZW50IHdpdGggR29kJ3MgbGFyZ2VyIHN0b3J5LjwvcD4KCjxwPlRoZSBHZW5lc2lzIG1hbmRhdGUgdG8gc3Rld2FyZCBjcmVhdGlvbiwgdGhlIE9sZCBUZXN0YW1lbnQgc3RydWN0dXJlcyBvZiBqdWJpbGVlIGFuZCBnbGVhbmluZywgSmVzdXMncyBwYXJhYmxlcyBvZiBpbnZlc3RtZW50IGFuZCBnZW5lcm9zaXR5LCBhbmQgdGhlIGFwb3N0bGVzJyB0ZWFjaGluZyBvbiB3aXNlIGdpdmluZ+KAlGFsbCBwb2ludCB0b3dhcmQgYSB2aXNpb24gb2YgZmFpdGhmdWwgZmluYW5jaWFsIHN0ZXdhcmRzaGlwLiBUaGlzIGlzIG5vdCBhIHZpc2lvbiBvZiBwb3ZlcnR5IG9yIGd1aWx0LCBub3Igb2YgdW5jaGVja2VkIGFjY3VtdWxhdGlvbi4gSXQgaXMgYSB2aXNpb24gb2YgbWFuYWdpbmcgR29kJ3MgcmVzb3VyY2VzIGluIHNlcnZpY2UgdG8gaGlzIHB1cnBvc2VzLCB5b3VyIGZhbWlseSdzIGZsb3VyaXNoaW5nLCBhbmQgdGhlIHdlbGxiZWluZyBvZiBvdGhlcnMuPC9wPgoKPHA+QXMgeW91IG1ha2UgZmluYW5jaWFsIGRlY2lzaW9uc+KAlHdoZXRoZXIgZWFybmluZywgc2F2aW5nLCBpbnZlc3RpbmcsIHNwZW5kaW5nLCBvciBnaXZpbmfigJRhc2sgeW91cnNlbGY6IEFtIEkgc3Rld2FyZGluZyB0aGlzIHJlc291cmNlIGluIGEgd2F5IHRoYXQgaG9ub3JzIEdvZCwgc2VydmVzIG90aGVycywgYW5kIGFsaWducyB3aXRoIG15IGRlZXBlc3QgdmFsdWVzPyBJbiB0aGF0IHF1ZXN0aW9uIGxpZXMgdGhlIGhlYXJ0IG9mIHN0ZXdhcmRzaGlwIHRoZW9sb2d5LiBJbiBhbnN3ZXJpbmcgaXQgZmFpdGhmdWxseSBsaWVzIHRoZSBwYXRoIHRvIGEgbGlmZSBvZiBmaW5hbmNpYWwgaW50ZWdyaXR5LCBzcGlyaXR1YWwgbWF0dXJpdHksIGFuZCBraW5nZG9tIGltcGFjdC48L3A+