GIS Developer
Hackajob
Software Engineering
London, UK
Posted on Mar 10, 2026
hackajob is collaborating with Verisk to connect them with exceptional professionals for this role.
PHA+V2UgYXJlIGxvb2tpbmcgZm9yIGEgUHl0aG9uIERldmVsb3BlciB3aXRoIHN0cm9uZyBHSVMgZXhwZXJpZW5jZSB0byBqb2luIG91ciBncm93aW5nIHRlYW0uIEFzIGEgcGFydCBvZiB0aGUgY2xpZW50IHNvbHV0aW9ucyB0ZWFtIGF0IFZlcmlzayBNYXBsZWNyb2Z0IHlvdSB3aWxsIGJlIGEgcGFydCBvZiB0aGUgdGVhbSBjaGFyZ2VkIHdpdGggdXNpbmcgdGVjaG5vbG9neSB0byBjcmVhdGUsIGNvbGxhdGUgYW5kIGRlbGl2ZXIgZGF0YSBhbmFseXRpY3MgYW5kIGludGVsbGlnZW5jZSB0byBvdXIgY2xpZW50cyBpbiBhIGdlb3NwYXRpYWwgY29udGV4dC4gV2UgYXJlIHByaW1hcmlseSBhIFB5dGhvbi9EamFuZ28gaG91c2Ugd2l0aCBhbiBBbmd1bGFyIGZyb250IGVuZC4gV2UgcmVjZW50bHkgbW92ZWQgdG8gQVdTIGZvciBvdXIgY2xvdWQgb3BlcmF0aW9ucywgYW5kIG91ciBhcHByb2FjaCB0byB0ZWNobm9sb2d5IGFuZCBkZXZlbG9wbWVudCBpcyBjb25zdGFudGx5IGV2b2x2aW5nLiBXZSBhcmUgYnVpbGRpbmcgYSB0ZWFtIHRoYXQgaXMgYWJsZSB0byB1dGlsaXplIGNsb3VkIGNvbXB1dGluZyB0byBkZXZlbG9wIG5ldyB3b3JrZmxvd3MsIHBpcGVsaW5lcywgZmVhdHVyZXMgYW5kIHRvb2xzIHRoYXQgZ2l2ZSBvdXIgY2xpZW50cyB0aGUgaW5mb3JtYXRpb24gdGhleSBuZWVkIHRvIG1ha2UgdGhlIHJpZ2h0IGRlY2lzaW9ucyB0byBjcmVhdGUgYSBtb3JlIHN1c3RhaW5hYmxlIGFuZCByZXNpbGllbnQgd29ybGQuJm5ic3A7PC9wPgo8cD5HZW9zcGF0aWFsIGRhdGEgZm9ybXMgYXJlIGEgc2lnbmlmaWNhbnQgY29tcG9uZW50IG9mIHRoZSBkYXRhIHN0cnVjdHVyZXMgdXNlZCB3aXRoaW4gVmVyaXNrIE1hcGxlY3JvZnQsIGFuZCB3aXRoIGFuIGluY3JlYXNpbmcgYXZhaWxhYmlsaXR5IG9mIGdlb3NwYXRpYWwgZGF0YSBpbiB0aGUgbW9kZXJuIGVyYSwgZXhwbG9pdGluZyB0aGF0IGRhdGEgdG8gcHJvdmlkZSByaXNrIGluc2lnaHRzIHRvIG91ciBjbGllbnQmcnNxdW87cyBpcyBhIHByaW1hcnkgb2JqZWN0aXZlIG9mIHRoZSBjbGllbnQgc29sdXRpb25zIHRlYW0gYW5kIHRoaXMgcm9sZS48L3A+CjxwPlJlc3BvbnNpYmlsaXRpZXM8YnI+V29ya2luZyBpbiBhbiBhZ2lsZSB0ZWFtIGFuZCBhc3Npc3RpbmcgaW4gcmVxdWlyZW1lbnRzIGdhdGhlcmluZywgcmVmaW5lbWVudCwgYW5kIGRlbGl2ZXJ5IG9mIGNvbnRpbnVhbCBpbXByb3ZlbWVudHMgdG8gb3VyIG1hcHBpbmcgc29sdXRpb25zIGFuZCBHSVMgZGF0YSBwaXBlbGluZXM8YnI+U3VwcG9ydGluZyBhbmQgd29ya2luZyB3aXRoIGNvbnRyYWN0b3JzIHRvIGVuc3VyZSBlZmZlY3RpdmUgY29sbGFib3JhdGl2ZSBlZmZvcnQgYW5kIGNvbnNpc3RlbmN5IG9mIGFwcHJvYWNoPGJyPkNvbW11bmljYXRlIGFuZCBjb2xsYWJvcmF0ZSBlZmZlY3RpdmVseSB3aXRoIHRlYW0gbWVtYmVycyBvbiB0ZWNobmljYWwgcHJvamVjdHM8YnI+RGVsaXZlciBoaWdoLXF1YWxpdHksIG1haW50YWluYWJsZSB3ZWxsLXRlc3RlZCBjb2RlIHRoYXQgbWVldHMgdXNlciByZXF1aXJlbWVudHM8YnI+UGVlciByZXZpZXcgb3RoZXIgZGV2ZWxvcGVycycgd29yayBpbiBhIHRob3JvdWdoIGFuZCBjb25zdHJ1Y3RpdmUgbWFubmVyPGJyPkxvb2sgZm9yIGFuZCBkcml2ZSBvcHBvcnR1bml0aWVzIHRvIGltcHJvdmUgY29kZSBxdWFsaXR5LCBkZXZlbG9wbWVudCBwcm9jZXNzZXMsIGFuZCB0ZWFtIHNhdGlzZmFjdGlvbjxicj5Qcm92aWRlIG1lbnRvcmluZyB0byBtb3JlIGp1bmlvciBtZW1iZXJzIG9mIHRoZSB0ZWFtPGJyPlF1YWxpZmljYXRpb25zPGJyPkFib3V0IFlvdSBhbmQgSG93IFlvdSBDYW4gRXhjZWwgaW4gVGhpcyBSb2xlPC9wPgo8cD5TdHJvbmcgcHl0aG9uIGRldmVsb3BtZW50IGV4cGVyaWVuY2UsIGFibGUgdG8gZm9sbG93IFBFUDggc3RhbmRhcmRzPGJyPkV4cGVyaWVuY2Ugb2YgZGV2ZWxvcGluZyBHSVMgcGlwZWxpbmVzIGluIHB5dGhvbiwgbGV2ZXJhZ2luZyBvcGVuIHNvdXJjZSBsaWJyYXJpZXMgc3VjaCBhcyBGaW9uYSwgU2hhcGVseSwgTnVtcHkgYW5kIFJhc3RlcmlvPGJyPkFiaWxpdHkgdG8gY29tbXVuaWNhdGUgZWZmZWN0aXZlbHksIGV4cGxhaW5pbmcgYW5kIHJhdGlvbmFsaXppbmcgZGVzaWduIGRlY2lzaW9ucyB0byBhIGNyb3NzIGZ1bmN0aW9uYWwgdGVhbS48YnI+RXhwZXJpZW5jZSBpbiBvYmplY3Qtb3JpZW50ZWQgcHJvZ3JhbW1pbmcgY29uY2VwdHMsIHVuaXQgJmFtcDsgaW50ZWdyYXRpb24gdGVzdGluZywgZGF0YSBhbmQgcmVsYXRpb25hbCBkYXRhYmFzZXMsIHRlY2huaWNhbCBkYXRhYmFzZSBkZXNpZ24sIHdlYiBhcmNoaXRlY3R1cmUgYW5kIGFwcGxpY2F0aW9uIHNlcnZlcnMu4oCvPGJyPlVuZGVyc3RhbmRpbmcgYW5kIGV4cGVyaWVuY2Ugb2YgZ2Vvc2VydmVycywgc3BhdGlhbCBwcm9qZWN0aW9ucywgcmFzdGVyIGFuZCB2ZWN0b3IgbWFuaXB1bGF0aW9uIHdpdGhpbiBweXRob24gYW5kIHVzYWdlIG9mIEdEQUw8YnI+RXhwZXJpZW5jZSB3aXRoIEFXUyBhbmQgZGF0YSBtYW5hZ2VtZW50IHRvb2xzLCBpbmNsdWRpbmcgZGF0YSBsYWtlLCBkYXRhIHdhcmVob3VzZSBFVEwsIFNRTCBiYXNlZCBzdG9yYWdlIGFuZCBQb3N0Z3JlU1FMLjxicj5BYmlsaXR5IHRvIGRlc2lnbiBhbmQgaW1wbGVtZW50IGRhdGEgcGlwZWxpbmVzIGFuZCBkYXRhLXJlbGF0ZWQgc29sdXRpb25zLCBpZGVhbGx5IHdpdGhpbiBhIGNsb3VkIGVudmlyb25tZW50PGJyPlN0cm9uZyBhYmlsaXR5IHRvIGRvY3VtZW50IGRldmVsb3BtZW50IGluY2x1ZGluZyBkYXRhYmFzZSBkZXNpZ24sIGFwcGxpY2F0aW9uIGRlc2lnbiBhbmQgb25nb2luZyBkb2N1bWVudGF0aW9uIG9mIGNoYW5nZXMgYW5kIG1vZGlmaWNhdGlvbnMu4oCvJm5ic3A7PGJyPkRlZXAgdW5kZXJzdGFuZGluZyBhYm91dCBwZXJmb3JtYW5jZSBhbmQgc2NhbGFiaWxpdHkgaW1wbGljYXRpb25zIGluIHRoZSBkZXZlbG9wbWVudCBwcm9jZXNzPGJyPldvcmtpbmcga25vd2xlZGdlIG9mIGFsbCBwaGFzZXMgb2YgdGhlIHNvZnR3YXJlIGRldmVsb3BtZW50IGxpZmUgY3ljbGUu4oCvSW5jbHVkaW5nIGJhc2ljIHVuZGVyc3RhbmRpbmcgb2YgaWRlbnRpZnkgYW5kIGF1dGhlbnRpY2F0aW9uIG1hbmFnZW1lbnQgY29uY2VwdHMgYW5kIGNvbmNlcHRzIHJlbGF0ZWQgdG8gc2VjdXJpdHksIHN1Y2ggYXMgc2VjcmV0IG1hbmFnZW1lbnQgYW5kIGtleSBtYW5hZ2VtZW50LiDigK/igK8mbmJzcDs8YnI+QWJpbGl0eSB0byByZXZpZXcgY29kZSB3cml0dGVuIGJ5IG90aGVycyBhbmQgcHJvdmlkZSBmZWVkYmFjayBhbmQgcmVjb21tZW5kYXRpb25zIHRvIGZvbGxvdyBjb2RpbmcgZ3VpZGVsaW5lLuKArzxicj5FeHBlcmllbmNlIHdvcmtpbmcgd2l0aCBCdXNpbmVzcyBJbnRlbGxpZ2VuY2UgdGVhbXMsIERldmVsb3BlcnMsIERhdGEgU2NpZW50aXN0cywgQW5hbHlzdHMgYW5kIFBNJnJzcXVvO3MgdG8gZGVsaXZlciB3ZWxsLWFyY2hpdGVjdGVkIGFuZCBzY2FsYWJsZSBCaWcgRGF0YSAmYW1wOyBBbmFseXRpY3MgZWNvLXN5c3RlbTxicj5EZW1vbnN0cmF0ZWQgYWJpbGl0eSB0byBsZWFybiBhbmQgYWRhcHQgdG8gY29udGludW91c2x5IGNoYW5naW5nIHRlY2hub2xvZ3ku4oCv4oCvJm5ic3A7PGJyPk11c3QgYmUgYWJsZSB0byBpZGVudGlmeSBtdWx0aXBsZSBzb2x1dGlvbnMgdG8gYSBnaXZlbiBwcm9ibGVtIGFuZCBmaW5kIGEgcmF0aW9uYWwsIGZhY3QtYmFzZWQgYXBwcm9hY2ggZm9yIGNob29zaW5nIHRoZSBiZXN0IG9uZS4mbmJzcDs8YnI+I0xJLVJlbW90ZSZuYnNwOzwvcD4KPHA+QWJvdXQgVXM8YnI+Rm9yIG92ZXIgNTAgeWVhcnMsIFZlcmlzayBoYXMgYmVlbiB0aGUgbGVhZGluZyBkYXRhIGFuYWx5dGljcyBhbmQgdGVjaG5vbG9neSBwYXJ0bmVyIHRvIHRoZSBnbG9iYWwgaW5zdXJhbmNlIGluZHVzdHJ5IGJ5IGRlbGl2ZXJpbmcgdmFsdWUgdG8gb3VyIGNsaWVudHMgdGhyb3VnaCBleHBlcnRpc2UgYW5kIHNjYWxlLiBXZSBlbXBvd2VyIGNvbW11bml0aWVzIGFuZCBidXNpbmVzc2VzIHRvIG1ha2UgYmV0dGVyIGRlY2lzaW9ucyBvbiByaXNrLCBmYXN0ZXIuPC9wPgo8cD5BdCBWZXJpc2ssIHlvdSdsbCBoYXZlIHRoZSBjaGFuY2UgdG8gdXNlIHlvdXIgdm9pY2UgYW5kIGJ1aWxkIGEgcmV3YXJkaW5nIGNhcmVlciB0aGF0J3MgYXMgdW5pcXVlIGFzIHlvdSBhcmUsIHdpdGggd29yayBmbGV4aWJpbGl0eSBhbmQgdGhlIHN1cHBvcnQsIGNvYWNoaW5nLCBhbmQgdHJhaW5pbmcgeW91IG5lZWQgdG8gc3VjY2VlZC4mbmJzcDs8L3A+CjxwPkZvciB0aGUgZWlnaHRoIGNvbnNlY3V0aXZlIHllYXIsIFZlcmlzayBpcyBwcm91ZGx5IHJlY29nbml6ZWQgYXMgYSBHcmVhdCBQbGFjZSB0byBXb3JrJnJlZzsgZm9yIG91dHN0YW5kaW5nIHdvcmtwbGFjZSBjdWx0dXJlIGluIHRoZSBVUywgZm91cnRoIGNvbnNlY3V0aXZlIHllYXIgaW4gdGhlIFVLLCBTcGFpbiwgYW5kIEluZGlhLCBhbmQgc2Vjb25kIGNvbnNlY3V0aXZlIHllYXIgaW4gUG9sYW5kLiAmbmJzcDtXZSB2YWx1ZSBsZWFybmluZywgY2FyaW5nIGFuZCByZXN1bHRzIGFuZCBtYWtlIGluY2x1c2l2aXR5IGFuZCBkaXZlcnNpdHkgYSB0b3AgcHJpb3JpdHkuICZuYnNwO0luIGFkZGl0aW9uIHRvIG91ciBHcmVhdCBQbGFjZSB0byBXb3JrJnJlZzsgQ2VydGlmaWNhdGlvbiwgd2UmcnNxdW87dmUgYmVlbiByZWNvZ25pemVkIGJ5IFRoZSBXYWxsIFN0cmVldCBKb3VybmFsIGFzIG9uZSBvZiB0aGUgQmVzdC1NYW5hZ2VkIENvbXBhbmllcyBhbmQgYnkgRm9yYmVzIGFzIGEgV29ybGQmcnNxdW87cyBCZXN0IEVtcGxveWVyIGFuZCBCZXN0IEVtcGxveWVyIGZvciBXb21lbiwgdGVzdGFtZW50cyB0byB0aGUgdmFsdWUgd2UgcGxhY2Ugb24gd29ya3BsYWNlIGN1bHR1cmUuPC9wPgo8cD5XZSZyc3F1bztyZSA3LDAwMCBwZW9wbGUgc3Ryb25nLiAmbmJzcDtXZSByZWxlbnRsZXNzbHkgYW5kIGV0aGljYWxseSBwdXJzdWUgaW5ub3ZhdGlvbi4gQW5kIHdlIGFyZSBsb29raW5nIGZvciBwZW9wbGUgbGlrZSB5b3UgdG8gaGVscCB1cyB0cmFuc2xhdGUgYmlnIGRhdGEgaW50byBiaWcgaWRlYXMuIEpvaW4gdXMgYW5kIGNyZWF0ZSBhbiBleGNlcHRpb25hbCBleHBlcmllbmNlIGZvciB5b3Vyc2VsZiBhbmQgYSBiZXR0ZXIgdG9tb3Jyb3cgZm9yIGZ1dHVyZSBnZW5lcmF0aW9ucy48L3A+CjxwPiZuYnNwOzwvcD4KPHA+VmVyaXNrIEJ1c2luZXNzZXM8L3A+CjxwPlVuZGVyd3JpdGluZyBTb2x1dGlvbnMgJm1kYXNoOyBwcm92aWRlcyB1bmRlcndyaXRpbmcgYW5kIHJhdGluZyBzb2x1dGlvbnMgZm9yIGF1dG8gYW5kIHByb3BlcnR5LCBnZW5lcmFsIGxpYWJpbGl0eSwgYW5kIGV4Y2VzcyBhbmQgc3VycGx1cyB0byBhc3Nlc3MgYW5kIHByaWNlIHJpc2sgd2l0aCBzcGVlZCBhbmQgcHJlY2lzaW9uPC9wPgo8cD5DbGFpbXMgU29sdXRpb25zICZtZGFzaDsgc3VwcG9ydHMgZW5kLXRvLWVuZCBjbGFpbXMgaGFuZGxpbmcgd2l0aCBhbmFseXRpYyBhbmQgYXV0b21hdGlvbiB0b29scyB0aGF0IHN0cmVhbWxpbmUgd29ya2Zsb3csIGltcHJvdmUgY2xhaW1zIG1hbmFnZW1lbnQsIGFuZCBzdXBwb3J0IGJldHRlciBjdXN0b21lciBleHBlcmllbmNlczwvcD4KPHA+UHJvcGVydHkgRXN0aW1hdGluZyBTb2x1dGlvbnMgJm1kYXNoOyBvZmZlcnMgcHJvcGVydHkgZXN0aW1hdGlvbiBzb2Z0d2FyZSBhbmQgdG9vbHMgZm9yIHByb2Zlc3Npb25hbHMgaW4gZXN0aW1hdGluZyBhbGwgcGhhc2VzIG9mIGJ1aWxkaW5nIGFuZCByZXBhaXIgdG8gbWFrZSBkYXktdG8tZGF5IHdvcmtmbG93cyB0aGUgbW9zdCBlZmZpY2llbnQ8L3A+CjxwPkV4dHJlbWUgRXZlbnQgU29sdXRpb25zICZtZGFzaDsgcHJvdmlkZXMgcmlzayBtb2RlbGluZyBzb2x1dGlvbnMgdG8gaGVscCBpbmRpdmlkdWFscywgYnVzaW5lc3NlcywgYW5kIHNvY2lldHkgYmVjb21lIG1vcmUgcmVzaWxpZW50IHRvIGV4dHJlbWUgZXZlbnRzLjwvcD4KPHA+U3BlY2lhbHR5IEJ1c2luZXNzIFNvbHV0aW9ucyAmbWRhc2g7IHByb3ZpZGVzIGFuIGludGVncmF0ZWQgc3VpdGUgb2Ygc29mdHdhcmUgZm9yIGZ1bGwgZW5kLXRvLWVuZCBtYW5hZ2VtZW50IG9mIGluc3VyYW5jZSBhbmQgcmVpbnN1cmFuY2UgYnVzaW5lc3MsIGhlbHBpbmcgY29tcGFuaWVzIG1hbmFnZSB0aGVpciBidXNpbmVzc2VzIHRocm91Z2ggZWZmaWNpZW5jeSwgZmxleGliaWxpdHksIGFuZCBkYXRhIGdvdmVybmFuY2U8L3A+CjxwPk1hcmtldGluZyBTb2x1dGlvbnMgJm1kYXNoOyBkZWxpdmVycyBkYXRhIGFuZCBpbnNpZ2h0cyB0byBpbXByb3ZlIHRoZSByZWFjaCwgdGltaW5nLCByZWxldmFuY2UsIGFuZCBjb21wbGlhbmNlIG9mIGV2ZXJ5IGNvbnN1bWVyIGVuZ2FnZW1lbnQ8L3A+CjxwPkxpZmUgSW5zdXJhbmNlIFNvbHV0aW9ucyAmbmRhc2g7IG9mZmVycyBlbmQtdG8tZW5kLCBkYXRhIGluc2lnaHQtZHJpdmVuIGNvcmUgY2FwYWJpbGl0aWVzIGZvciBjYXJyaWVycywgZGlzdHJpYnV0aW9uLCBhbmQgZGlyZWN0IGN1c3RvbWVycyBhY3Jvc3MgdGhlIGVudGlyZSBwb2xpY3kgbGlmZWN5Y2xlIG9mIGxpZmUgYW5kIGFubnVpdGllcyBmb3IgYm90aCBpbmRpdmlkdWFsIGFuZCBncm91cC48L3A+CjxwPlZlcmlzayBNYXBsZWNyb2Z0ICZtZGFzaDsgcHJvdmlkZXMgaW50ZWxsaWdlbmNlIG9uIHN1c3RhaW5hYmlsaXR5LCByZXNpbGllbmNlLCBhbmQgRVNHLCBoZWxwaW5nIHBlb3BsZSwgYnVzaW5lc3MsIGFuZCBzb2NpZXRpZXMgYmVjb21lIHN0cm9uZ2VyPC9wPgo8cD5WZXJpc2sgQW5hbHl0aWNzIGlzIGFuIGVxdWFsIG9wcG9ydHVuaXR5IGVtcGxveWVyLjwvcD4KPHA+QWxsIG1lbWJlcnMgb2YgdGhlIFZlcmlzayBBbmFseXRpY3MgZmFtaWx5IG9mIGNvbXBhbmllcyBhcmUgZXF1YWwgb3Bwb3J0dW5pdHkgZW1wbG95ZXJzLiBXZSBjb25zaWRlciBhbGwgcXVhbGlmaWVkIGFwcGxpY2FudHMgZm9yIGVtcGxveW1lbnQgd2l0aG91dCByZWdhcmQgdG8gcmFjZSwgcmVsaWdpb24sIGNvbG9yLCBuYXRpb25hbCBvcmlnaW4sIGNpdGl6ZW5zaGlwLCBzZXgsIGdlbmRlciBpZGVudGl0eSBhbmQvb3IgZXhwcmVzc2lvbiwgc2V4dWFsIG9yaWVudGF0aW9uLCB2ZXRlcmFuJ3Mgc3RhdHVzLCBhZ2Ugb3IgZGlzYWJpbGl0eS4gVmVyaXNrJnJzcXVvO3MgbWluaW11bSBoaXJpbmcgYWdlIGlzIDE4IGV4Y2VwdCBpbiBjb3VudHJpZXMgd2l0aCBhIGhpZ2hlciBhZ2UgbGltaXQgc3ViamVjdCB0byBhcHBsaWNhYmxlIGxhdy48L3A+CjxwPlVuc29saWNpdGVkIHJlc3VtZXMgc2VudCB0byBWZXJpc2ssIGluY2x1ZGluZyB1bnNvbGljaXRlZCByZXN1bWVzIHNlbnQgdG8gYSBWZXJpc2sgYnVzaW5lc3MgbWFpbGluZyBhZGRyZXNzLCBmYXggbWFjaGluZSBvciBlbWFpbCBhZGRyZXNzLCBvciBkaXJlY3RseSB0byBWZXJpc2sgZW1wbG95ZWVzLCB3aWxsIGJlIGNvbnNpZGVyZWQgVmVyaXNrIHByb3BlcnR5LiBWZXJpc2sgd2lsbCBOT1QgcGF5IGEgZmVlIGZvciBhbnkgcGxhY2VtZW50IHJlc3VsdGluZyBmcm9tIHRoZSByZWNlaXB0IG9mIGFuIHVuc29saWNpdGVkIHJlc3VtZS48L3A+
PHA+V2UgYXJlIGxvb2tpbmcgZm9yIGEgUHl0aG9uIERldmVsb3BlciB3aXRoIHN0cm9uZyBHSVMgZXhwZXJpZW5jZSB0byBqb2luIG91ciBncm93aW5nIHRlYW0uIEFzIGEgcGFydCBvZiB0aGUgY2xpZW50IHNvbHV0aW9ucyB0ZWFtIGF0IFZlcmlzayBNYXBsZWNyb2Z0IHlvdSB3aWxsIGJlIGEgcGFydCBvZiB0aGUgdGVhbSBjaGFyZ2VkIHdpdGggdXNpbmcgdGVjaG5vbG9neSB0byBjcmVhdGUsIGNvbGxhdGUgYW5kIGRlbGl2ZXIgZGF0YSBhbmFseXRpY3MgYW5kIGludGVsbGlnZW5jZSB0byBvdXIgY2xpZW50cyBpbiBhIGdlb3NwYXRpYWwgY29udGV4dC4gV2UgYXJlIHByaW1hcmlseSBhIFB5dGhvbi9EamFuZ28gaG91c2Ugd2l0aCBhbiBBbmd1bGFyIGZyb250IGVuZC4gV2UgcmVjZW50bHkgbW92ZWQgdG8gQVdTIGZvciBvdXIgY2xvdWQgb3BlcmF0aW9ucywgYW5kIG91ciBhcHByb2FjaCB0byB0ZWNobm9sb2d5IGFuZCBkZXZlbG9wbWVudCBpcyBjb25zdGFudGx5IGV2b2x2aW5nLiBXZSBhcmUgYnVpbGRpbmcgYSB0ZWFtIHRoYXQgaXMgYWJsZSB0byB1dGlsaXplIGNsb3VkIGNvbXB1dGluZyB0byBkZXZlbG9wIG5ldyB3b3JrZmxvd3MsIHBpcGVsaW5lcywgZmVhdHVyZXMgYW5kIHRvb2xzIHRoYXQgZ2l2ZSBvdXIgY2xpZW50cyB0aGUgaW5mb3JtYXRpb24gdGhleSBuZWVkIHRvIG1ha2UgdGhlIHJpZ2h0IGRlY2lzaW9ucyB0byBjcmVhdGUgYSBtb3JlIHN1c3RhaW5hYmxlIGFuZCByZXNpbGllbnQgd29ybGQuJm5ic3A7PC9wPgo8cD5HZW9zcGF0aWFsIGRhdGEgZm9ybXMgYXJlIGEgc2lnbmlmaWNhbnQgY29tcG9uZW50IG9mIHRoZSBkYXRhIHN0cnVjdHVyZXMgdXNlZCB3aXRoaW4gVmVyaXNrIE1hcGxlY3JvZnQsIGFuZCB3aXRoIGFuIGluY3JlYXNpbmcgYXZhaWxhYmlsaXR5IG9mIGdlb3NwYXRpYWwgZGF0YSBpbiB0aGUgbW9kZXJuIGVyYSwgZXhwbG9pdGluZyB0aGF0IGRhdGEgdG8gcHJvdmlkZSByaXNrIGluc2lnaHRzIHRvIG91ciBjbGllbnQmcnNxdW87cyBpcyBhIHByaW1hcnkgb2JqZWN0aXZlIG9mIHRoZSBjbGllbnQgc29sdXRpb25zIHRlYW0gYW5kIHRoaXMgcm9sZS48L3A+CjxwPlJlc3BvbnNpYmlsaXRpZXM8YnI+V29ya2luZyBpbiBhbiBhZ2lsZSB0ZWFtIGFuZCBhc3Npc3RpbmcgaW4gcmVxdWlyZW1lbnRzIGdhdGhlcmluZywgcmVmaW5lbWVudCwgYW5kIGRlbGl2ZXJ5IG9mIGNvbnRpbnVhbCBpbXByb3ZlbWVudHMgdG8gb3VyIG1hcHBpbmcgc29sdXRpb25zIGFuZCBHSVMgZGF0YSBwaXBlbGluZXM8YnI+U3VwcG9ydGluZyBhbmQgd29ya2luZyB3aXRoIGNvbnRyYWN0b3JzIHRvIGVuc3VyZSBlZmZlY3RpdmUgY29sbGFib3JhdGl2ZSBlZmZvcnQgYW5kIGNvbnNpc3RlbmN5IG9mIGFwcHJvYWNoPGJyPkNvbW11bmljYXRlIGFuZCBjb2xsYWJvcmF0ZSBlZmZlY3RpdmVseSB3aXRoIHRlYW0gbWVtYmVycyBvbiB0ZWNobmljYWwgcHJvamVjdHM8YnI+RGVsaXZlciBoaWdoLXF1YWxpdHksIG1haW50YWluYWJsZSB3ZWxsLXRlc3RlZCBjb2RlIHRoYXQgbWVldHMgdXNlciByZXF1aXJlbWVudHM8YnI+UGVlciByZXZpZXcgb3RoZXIgZGV2ZWxvcGVycycgd29yayBpbiBhIHRob3JvdWdoIGFuZCBjb25zdHJ1Y3RpdmUgbWFubmVyPGJyPkxvb2sgZm9yIGFuZCBkcml2ZSBvcHBvcnR1bml0aWVzIHRvIGltcHJvdmUgY29kZSBxdWFsaXR5LCBkZXZlbG9wbWVudCBwcm9jZXNzZXMsIGFuZCB0ZWFtIHNhdGlzZmFjdGlvbjxicj5Qcm92aWRlIG1lbnRvcmluZyB0byBtb3JlIGp1bmlvciBtZW1iZXJzIG9mIHRoZSB0ZWFtPGJyPlF1YWxpZmljYXRpb25zPGJyPkFib3V0IFlvdSBhbmQgSG93IFlvdSBDYW4gRXhjZWwgaW4gVGhpcyBSb2xlPC9wPgo8cD5TdHJvbmcgcHl0aG9uIGRldmVsb3BtZW50IGV4cGVyaWVuY2UsIGFibGUgdG8gZm9sbG93IFBFUDggc3RhbmRhcmRzPGJyPkV4cGVyaWVuY2Ugb2YgZGV2ZWxvcGluZyBHSVMgcGlwZWxpbmVzIGluIHB5dGhvbiwgbGV2ZXJhZ2luZyBvcGVuIHNvdXJjZSBsaWJyYXJpZXMgc3VjaCBhcyBGaW9uYSwgU2hhcGVseSwgTnVtcHkgYW5kIFJhc3RlcmlvPGJyPkFiaWxpdHkgdG8gY29tbXVuaWNhdGUgZWZmZWN0aXZlbHksIGV4cGxhaW5pbmcgYW5kIHJhdGlvbmFsaXppbmcgZGVzaWduIGRlY2lzaW9ucyB0byBhIGNyb3NzIGZ1bmN0aW9uYWwgdGVhbS48YnI+RXhwZXJpZW5jZSBpbiBvYmplY3Qtb3JpZW50ZWQgcHJvZ3JhbW1pbmcgY29uY2VwdHMsIHVuaXQgJmFtcDsgaW50ZWdyYXRpb24gdGVzdGluZywgZGF0YSBhbmQgcmVsYXRpb25hbCBkYXRhYmFzZXMsIHRlY2huaWNhbCBkYXRhYmFzZSBkZXNpZ24sIHdlYiBhcmNoaXRlY3R1cmUgYW5kIGFwcGxpY2F0aW9uIHNlcnZlcnMu4oCvPGJyPlVuZGVyc3RhbmRpbmcgYW5kIGV4cGVyaWVuY2Ugb2YgZ2Vvc2VydmVycywgc3BhdGlhbCBwcm9qZWN0aW9ucywgcmFzdGVyIGFuZCB2ZWN0b3IgbWFuaXB1bGF0aW9uIHdpdGhpbiBweXRob24gYW5kIHVzYWdlIG9mIEdEQUw8YnI+RXhwZXJpZW5jZSB3aXRoIEFXUyBhbmQgZGF0YSBtYW5hZ2VtZW50IHRvb2xzLCBpbmNsdWRpbmcgZGF0YSBsYWtlLCBkYXRhIHdhcmVob3VzZSBFVEwsIFNRTCBiYXNlZCBzdG9yYWdlIGFuZCBQb3N0Z3JlU1FMLjxicj5BYmlsaXR5IHRvIGRlc2lnbiBhbmQgaW1wbGVtZW50IGRhdGEgcGlwZWxpbmVzIGFuZCBkYXRhLXJlbGF0ZWQgc29sdXRpb25zLCBpZGVhbGx5IHdpdGhpbiBhIGNsb3VkIGVudmlyb25tZW50PGJyPlN0cm9uZyBhYmlsaXR5IHRvIGRvY3VtZW50IGRldmVsb3BtZW50IGluY2x1ZGluZyBkYXRhYmFzZSBkZXNpZ24sIGFwcGxpY2F0aW9uIGRlc2lnbiBhbmQgb25nb2luZyBkb2N1bWVudGF0aW9uIG9mIGNoYW5nZXMgYW5kIG1vZGlmaWNhdGlvbnMu4oCvJm5ic3A7PGJyPkRlZXAgdW5kZXJzdGFuZGluZyBhYm91dCBwZXJmb3JtYW5jZSBhbmQgc2NhbGFiaWxpdHkgaW1wbGljYXRpb25zIGluIHRoZSBkZXZlbG9wbWVudCBwcm9jZXNzPGJyPldvcmtpbmcga25vd2xlZGdlIG9mIGFsbCBwaGFzZXMgb2YgdGhlIHNvZnR3YXJlIGRldmVsb3BtZW50IGxpZmUgY3ljbGUu4oCvSW5jbHVkaW5nIGJhc2ljIHVuZGVyc3RhbmRpbmcgb2YgaWRlbnRpZnkgYW5kIGF1dGhlbnRpY2F0aW9uIG1hbmFnZW1lbnQgY29uY2VwdHMgYW5kIGNvbmNlcHRzIHJlbGF0ZWQgdG8gc2VjdXJpdHksIHN1Y2ggYXMgc2VjcmV0IG1hbmFnZW1lbnQgYW5kIGtleSBtYW5hZ2VtZW50LiDigK/igK8mbmJzcDs8YnI+QWJpbGl0eSB0byByZXZpZXcgY29kZSB3cml0dGVuIGJ5IG90aGVycyBhbmQgcHJvdmlkZSBmZWVkYmFjayBhbmQgcmVjb21tZW5kYXRpb25zIHRvIGZvbGxvdyBjb2RpbmcgZ3VpZGVsaW5lLuKArzxicj5FeHBlcmllbmNlIHdvcmtpbmcgd2l0aCBCdXNpbmVzcyBJbnRlbGxpZ2VuY2UgdGVhbXMsIERldmVsb3BlcnMsIERhdGEgU2NpZW50aXN0cywgQW5hbHlzdHMgYW5kIFBNJnJzcXVvO3MgdG8gZGVsaXZlciB3ZWxsLWFyY2hpdGVjdGVkIGFuZCBzY2FsYWJsZSBCaWcgRGF0YSAmYW1wOyBBbmFseXRpY3MgZWNvLXN5c3RlbTxicj5EZW1vbnN0cmF0ZWQgYWJpbGl0eSB0byBsZWFybiBhbmQgYWRhcHQgdG8gY29udGludW91c2x5IGNoYW5naW5nIHRlY2hub2xvZ3ku4oCv4oCvJm5ic3A7PGJyPk11c3QgYmUgYWJsZSB0byBpZGVudGlmeSBtdWx0aXBsZSBzb2x1dGlvbnMgdG8gYSBnaXZlbiBwcm9ibGVtIGFuZCBmaW5kIGEgcmF0aW9uYWwsIGZhY3QtYmFzZWQgYXBwcm9hY2ggZm9yIGNob29zaW5nIHRoZSBiZXN0IG9uZS4mbmJzcDs8YnI+I0xJLVJlbW90ZSZuYnNwOzwvcD4KPHA+QWJvdXQgVXM8YnI+Rm9yIG92ZXIgNTAgeWVhcnMsIFZlcmlzayBoYXMgYmVlbiB0aGUgbGVhZGluZyBkYXRhIGFuYWx5dGljcyBhbmQgdGVjaG5vbG9neSBwYXJ0bmVyIHRvIHRoZSBnbG9iYWwgaW5zdXJhbmNlIGluZHVzdHJ5IGJ5IGRlbGl2ZXJpbmcgdmFsdWUgdG8gb3VyIGNsaWVudHMgdGhyb3VnaCBleHBlcnRpc2UgYW5kIHNjYWxlLiBXZSBlbXBvd2VyIGNvbW11bml0aWVzIGFuZCBidXNpbmVzc2VzIHRvIG1ha2UgYmV0dGVyIGRlY2lzaW9ucyBvbiByaXNrLCBmYXN0ZXIuPC9wPgo8cD5BdCBWZXJpc2ssIHlvdSdsbCBoYXZlIHRoZSBjaGFuY2UgdG8gdXNlIHlvdXIgdm9pY2UgYW5kIGJ1aWxkIGEgcmV3YXJkaW5nIGNhcmVlciB0aGF0J3MgYXMgdW5pcXVlIGFzIHlvdSBhcmUsIHdpdGggd29yayBmbGV4aWJpbGl0eSBhbmQgdGhlIHN1cHBvcnQsIGNvYWNoaW5nLCBhbmQgdHJhaW5pbmcgeW91IG5lZWQgdG8gc3VjY2VlZC4mbmJzcDs8L3A+CjxwPkZvciB0aGUgZWlnaHRoIGNvbnNlY3V0aXZlIHllYXIsIFZlcmlzayBpcyBwcm91ZGx5IHJlY29nbml6ZWQgYXMgYSBHcmVhdCBQbGFjZSB0byBXb3JrJnJlZzsgZm9yIG91dHN0YW5kaW5nIHdvcmtwbGFjZSBjdWx0dXJlIGluIHRoZSBVUywgZm91cnRoIGNvbnNlY3V0aXZlIHllYXIgaW4gdGhlIFVLLCBTcGFpbiwgYW5kIEluZGlhLCBhbmQgc2Vjb25kIGNvbnNlY3V0aXZlIHllYXIgaW4gUG9sYW5kLiAmbmJzcDtXZSB2YWx1ZSBsZWFybmluZywgY2FyaW5nIGFuZCByZXN1bHRzIGFuZCBtYWtlIGluY2x1c2l2aXR5IGFuZCBkaXZlcnNpdHkgYSB0b3AgcHJpb3JpdHkuICZuYnNwO0luIGFkZGl0aW9uIHRvIG91ciBHcmVhdCBQbGFjZSB0byBXb3JrJnJlZzsgQ2VydGlmaWNhdGlvbiwgd2UmcnNxdW87dmUgYmVlbiByZWNvZ25pemVkIGJ5IFRoZSBXYWxsIFN0cmVldCBKb3VybmFsIGFzIG9uZSBvZiB0aGUgQmVzdC1NYW5hZ2VkIENvbXBhbmllcyBhbmQgYnkgRm9yYmVzIGFzIGEgV29ybGQmcnNxdW87cyBCZXN0IEVtcGxveWVyIGFuZCBCZXN0IEVtcGxveWVyIGZvciBXb21lbiwgdGVzdGFtZW50cyB0byB0aGUgdmFsdWUgd2UgcGxhY2Ugb24gd29ya3BsYWNlIGN1bHR1cmUuPC9wPgo8cD5XZSZyc3F1bztyZSA3LDAwMCBwZW9wbGUgc3Ryb25nLiAmbmJzcDtXZSByZWxlbnRsZXNzbHkgYW5kIGV0aGljYWxseSBwdXJzdWUgaW5ub3ZhdGlvbi4gQW5kIHdlIGFyZSBsb29raW5nIGZvciBwZW9wbGUgbGlrZSB5b3UgdG8gaGVscCB1cyB0cmFuc2xhdGUgYmlnIGRhdGEgaW50byBiaWcgaWRlYXMuIEpvaW4gdXMgYW5kIGNyZWF0ZSBhbiBleGNlcHRpb25hbCBleHBlcmllbmNlIGZvciB5b3Vyc2VsZiBhbmQgYSBiZXR0ZXIgdG9tb3Jyb3cgZm9yIGZ1dHVyZSBnZW5lcmF0aW9ucy48L3A+CjxwPiZuYnNwOzwvcD4KPHA+VmVyaXNrIEJ1c2luZXNzZXM8L3A+CjxwPlVuZGVyd3JpdGluZyBTb2x1dGlvbnMgJm1kYXNoOyBwcm92aWRlcyB1bmRlcndyaXRpbmcgYW5kIHJhdGluZyBzb2x1dGlvbnMgZm9yIGF1dG8gYW5kIHByb3BlcnR5LCBnZW5lcmFsIGxpYWJpbGl0eSwgYW5kIGV4Y2VzcyBhbmQgc3VycGx1cyB0byBhc3Nlc3MgYW5kIHByaWNlIHJpc2sgd2l0aCBzcGVlZCBhbmQgcHJlY2lzaW9uPC9wPgo8cD5DbGFpbXMgU29sdXRpb25zICZtZGFzaDsgc3VwcG9ydHMgZW5kLXRvLWVuZCBjbGFpbXMgaGFuZGxpbmcgd2l0aCBhbmFseXRpYyBhbmQgYXV0b21hdGlvbiB0b29scyB0aGF0IHN0cmVhbWxpbmUgd29ya2Zsb3csIGltcHJvdmUgY2xhaW1zIG1hbmFnZW1lbnQsIGFuZCBzdXBwb3J0IGJldHRlciBjdXN0b21lciBleHBlcmllbmNlczwvcD4KPHA+UHJvcGVydHkgRXN0aW1hdGluZyBTb2x1dGlvbnMgJm1kYXNoOyBvZmZlcnMgcHJvcGVydHkgZXN0aW1hdGlvbiBzb2Z0d2FyZSBhbmQgdG9vbHMgZm9yIHByb2Zlc3Npb25hbHMgaW4gZXN0aW1hdGluZyBhbGwgcGhhc2VzIG9mIGJ1aWxkaW5nIGFuZCByZXBhaXIgdG8gbWFrZSBkYXktdG8tZGF5IHdvcmtmbG93cyB0aGUgbW9zdCBlZmZpY2llbnQ8L3A+CjxwPkV4dHJlbWUgRXZlbnQgU29sdXRpb25zICZtZGFzaDsgcHJvdmlkZXMgcmlzayBtb2RlbGluZyBzb2x1dGlvbnMgdG8gaGVscCBpbmRpdmlkdWFscywgYnVzaW5lc3NlcywgYW5kIHNvY2lldHkgYmVjb21lIG1vcmUgcmVzaWxpZW50IHRvIGV4dHJlbWUgZXZlbnRzLjwvcD4KPHA+U3BlY2lhbHR5IEJ1c2luZXNzIFNvbHV0aW9ucyAmbWRhc2g7IHByb3ZpZGVzIGFuIGludGVncmF0ZWQgc3VpdGUgb2Ygc29mdHdhcmUgZm9yIGZ1bGwgZW5kLXRvLWVuZCBtYW5hZ2VtZW50IG9mIGluc3VyYW5jZSBhbmQgcmVpbnN1cmFuY2UgYnVzaW5lc3MsIGhlbHBpbmcgY29tcGFuaWVzIG1hbmFnZSB0aGVpciBidXNpbmVzc2VzIHRocm91Z2ggZWZmaWNpZW5jeSwgZmxleGliaWxpdHksIGFuZCBkYXRhIGdvdmVybmFuY2U8L3A+CjxwPk1hcmtldGluZyBTb2x1dGlvbnMgJm1kYXNoOyBkZWxpdmVycyBkYXRhIGFuZCBpbnNpZ2h0cyB0byBpbXByb3ZlIHRoZSByZWFjaCwgdGltaW5nLCByZWxldmFuY2UsIGFuZCBjb21wbGlhbmNlIG9mIGV2ZXJ5IGNvbnN1bWVyIGVuZ2FnZW1lbnQ8L3A+CjxwPkxpZmUgSW5zdXJhbmNlIFNvbHV0aW9ucyAmbmRhc2g7IG9mZmVycyBlbmQtdG8tZW5kLCBkYXRhIGluc2lnaHQtZHJpdmVuIGNvcmUgY2FwYWJpbGl0aWVzIGZvciBjYXJyaWVycywgZGlzdHJpYnV0aW9uLCBhbmQgZGlyZWN0IGN1c3RvbWVycyBhY3Jvc3MgdGhlIGVudGlyZSBwb2xpY3kgbGlmZWN5Y2xlIG9mIGxpZmUgYW5kIGFubnVpdGllcyBmb3IgYm90aCBpbmRpdmlkdWFsIGFuZCBncm91cC48L3A+CjxwPlZlcmlzayBNYXBsZWNyb2Z0ICZtZGFzaDsgcHJvdmlkZXMgaW50ZWxsaWdlbmNlIG9uIHN1c3RhaW5hYmlsaXR5LCByZXNpbGllbmNlLCBhbmQgRVNHLCBoZWxwaW5nIHBlb3BsZSwgYnVzaW5lc3MsIGFuZCBzb2NpZXRpZXMgYmVjb21lIHN0cm9uZ2VyPC9wPgo8cD5WZXJpc2sgQW5hbHl0aWNzIGlzIGFuIGVxdWFsIG9wcG9ydHVuaXR5IGVtcGxveWVyLjwvcD4KPHA+QWxsIG1lbWJlcnMgb2YgdGhlIFZlcmlzayBBbmFseXRpY3MgZmFtaWx5IG9mIGNvbXBhbmllcyBhcmUgZXF1YWwgb3Bwb3J0dW5pdHkgZW1wbG95ZXJzLiBXZSBjb25zaWRlciBhbGwgcXVhbGlmaWVkIGFwcGxpY2FudHMgZm9yIGVtcGxveW1lbnQgd2l0aG91dCByZWdhcmQgdG8gcmFjZSwgcmVsaWdpb24sIGNvbG9yLCBuYXRpb25hbCBvcmlnaW4sIGNpdGl6ZW5zaGlwLCBzZXgsIGdlbmRlciBpZGVudGl0eSBhbmQvb3IgZXhwcmVzc2lvbiwgc2V4dWFsIG9yaWVudGF0aW9uLCB2ZXRlcmFuJ3Mgc3RhdHVzLCBhZ2Ugb3IgZGlzYWJpbGl0eS4gVmVyaXNrJnJzcXVvO3MgbWluaW11bSBoaXJpbmcgYWdlIGlzIDE4IGV4Y2VwdCBpbiBjb3VudHJpZXMgd2l0aCBhIGhpZ2hlciBhZ2UgbGltaXQgc3ViamVjdCB0byBhcHBsaWNhYmxlIGxhdy48L3A+CjxwPlVuc29saWNpdGVkIHJlc3VtZXMgc2VudCB0byBWZXJpc2ssIGluY2x1ZGluZyB1bnNvbGljaXRlZCByZXN1bWVzIHNlbnQgdG8gYSBWZXJpc2sgYnVzaW5lc3MgbWFpbGluZyBhZGRyZXNzLCBmYXggbWFjaGluZSBvciBlbWFpbCBhZGRyZXNzLCBvciBkaXJlY3RseSB0byBWZXJpc2sgZW1wbG95ZWVzLCB3aWxsIGJlIGNvbnNpZGVyZWQgVmVyaXNrIHByb3BlcnR5LiBWZXJpc2sgd2lsbCBOT1QgcGF5IGEgZmVlIGZvciBhbnkgcGxhY2VtZW50IHJlc3VsdGluZyBmcm9tIHRoZSByZWNlaXB0IG9mIGFuIHVuc29saWNpdGVkIHJlc3VtZS48L3A+