Ahead of 2001: A Space Odyssey's anniversary, we look at special effects genius Douglas Trumbull’s contribution to the film – and how it helped build his reputation as a filmmaking genius in his own right.
This article originally appeared in Film Stories issue 41 in March 2023.
Douglas Trumbull was just 23 years old when he found himself sitting on a plane heading across the Atlantic to the UK set of 2001: A Space Odyssey in the summer of 1965. Despite a lack of feature film credits to his name, this young background artist and animator had managed to get a job on one of the biggest film productions of the 1960s.
Exactly how this happened was partly down to serendipity: just a few months earlier, director Stanley Kubrick and sci-fi author Arthur C Clarke had been in the audience for To The Moon And Beyond, a short film about space travel that used 70mm film projected onto a 96ft-tall, domed screen. It was one of the key attractions of the New York World’s Fair, and its immersive depiction of stars and planets chimed with the film Kubrick and Clarke were collaborating on – initially called Journey To The Stars. Impressed, Kubrick invited the team behind the short, Graphic Films, to illustrate a series of storyboards for his movie.
Ultimately, Kubrick’s broader deal with Graphic Films fell apart when the director shifted production from the US to the UK – where he would move to, and produce all his films going forward – but Trumbull’s illustrative work, which he regularly sent to Kubrick, clearly impressed the director; by August 1965, both Trumbull and Con Pederson, another Graphic Films team member, were winging their way to MGM Studios in Borehamwood.
PGRpdiBjbGFzcz0iYWRkdG9hbnlfc2hhcmVfc2F2ZV9jb250YWluZXIgYWRkdG9hbnlfY29udGVudCBhZGR0b2FueV9jb250ZW50X3RvcCI+PGRpdiBjbGFzcz0iYWRkdG9hbnlfaGVhZGVyIj5TaGFyZSB0aGlzIEFydGljbGU6PC9kaXY+PGRpdiBjbGFzcz0iYTJhX2tpdCBhMmFfa2l0X3NpemVfMzIgYWRkdG9hbnlfbGlzdCIgZGF0YS1hMmEtdXJsPSJodHRwczovL2ZpbG1zdG9yaWVzLmNvLnVrL2ZlYXR1cmVzL2RvdWdsYXMtdHJ1bWJ1bGxzLXNwYWNlLW9keXNzZXktdGhlLXNmeC1nZW5pdXMtYmVoaW5kLTIwMDEvIiBkYXRhLWEyYS10aXRsZT0iRG91Z2xhcyBUcnVtYnVsbOKAmXMgU3BhY2UgT2R5c3NleSB8IFRoZSBTRlggZ2VuaXVzIGJlaGluZCAyMDAxIj48YSBjbGFzcz0iYTJhX2J1dHRvbl9mYWNlYm9vayIgaHJlZj0iaHR0cHM6Ly93d3cuYWRkdG9hbnkuY29tL2FkZF90by9mYWNlYm9vaz9saW5rdXJsPWh0dHBzJTNBJTJGJTJGZmlsbXN0b3JpZXMuY28udWslMkZmZWF0dXJlcyUyRmRvdWdsYXMtdHJ1bWJ1bGxzLXNwYWNlLW9keXNzZXktdGhlLXNmeC1nZW5pdXMtYmVoaW5kLTIwMDElMkYmYW1wO2xpbmtuYW1lPURvdWdsYXMlMjBUcnVtYnVsbCVFMiU4MCU5OXMlMjBTcGFjZSUyME9keXNzZXklMjAlN0MlMjBUaGUlMjBTRlglMjBnZW5pdXMlMjBiZWhpbmQlMjAyMDAxIiB0aXRsZT0iRmFjZWJvb2siIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj48L2E+PGEgY2xhc3M9ImEyYV9idXR0b25fdHdpdHRlciIgaHJlZj0iaHR0cHM6Ly93d3cuYWRkdG9hbnkuY29tL2FkZF90by90d2l0dGVyP2xpbmt1cmw9aHR0cHMlM0ElMkYlMkZmaWxtc3Rvcmllcy5jby51ayUyRmZlYXR1cmVzJTJGZG91Z2xhcy10cnVtYnVsbHMtc3BhY2Utb2R5c3NleS10aGUtc2Z4LWdlbml1cy1iZWhpbmQtMjAwMSUyRiZhbXA7bGlua25hbWU9RG91Z2xhcyUyMFRydW1idWxsJUUyJTgwJTk5cyUyMFNwYWNlJTIwT2R5c3NleSUyMCU3QyUyMFRoZSUyMFNGWCUyMGdlbml1cyUyMGJlaGluZCUyMDIwMDEiIHRpdGxlPSJUd2l0dGVyIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+PC9hPjxhIGNsYXNzPSJhMmFfYnV0dG9uX2VtYWlsIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vYWRkX3RvL2VtYWlsP2xpbmt1cmw9aHR0cHMlM0ElMkYlMkZmaWxtc3Rvcmllcy5jby51ayUyRmZlYXR1cmVzJTJGZG91Z2xhcy10cnVtYnVsbHMtc3BhY2Utb2R5c3NleS10aGUtc2Z4LWdlbml1cy1iZWhpbmQtMjAwMSUyRiZhbXA7bGlua25hbWU9RG91Z2xhcyUyMFRydW1idWxsJUUyJTgwJTk5cyUyMFNwYWNlJTIwT2R5c3NleSUyMCU3QyUyMFRoZSUyMFNGWCUyMGdlbml1cyUyMGJlaGluZCUyMDIwMDEiIHRpdGxlPSJFbWFpbCIgcmVsPSJub2ZvbGxvdyBub29wZW5lciIgdGFyZ2V0PSJfYmxhbmsiPjwvYT48YSBjbGFzcz0iYTJhX2RkIGFkZHRvYW55X3NoYXJlX3NhdmUgYWRkdG9hbnlfc2hhcmUiIGhyZWY9Imh0dHBzOi8vd3d3LmFkZHRvYW55LmNvbS9zaGFyZSI+PC9hPjwvZGl2PjwvZGl2Pgo8cD48c3Ryb25nPkFoZWFkIG9mIDxlbT4yMDAxOiBBIFNwYWNlIE9keXNzZXk8L2VtPidzIGFubml2ZXJzYXJ5LCB3ZSBsb29rIGF0IHNwZWNpYWwgZWZmZWN0cyBnZW5pdXMgRG91Z2xhcyBUcnVtYnVsbOKAmXMgY29udHJpYnV0aW9uIHRvIHRoZSBmaWxtIOKAkyBhbmQgaG93IGl0IGhlbHBlZCBidWlsZCBoaXMgcmVwdXRhdGlvbiBhcyBhIGZpbG1tYWtpbmcgZ2VuaXVzIGluIGhpcyBvd24gcmlnaHQ8L3N0cm9uZz4uPC9wPgoKCgo8aHIgY2xhc3M9IndwLWJsb2NrLXNlcGFyYXRvciBoYXMtYWxwaGEtY2hhbm5lbC1vcGFjaXR5Ii8+CgoKCjxwPjxlbT5UaGlzIGFydGljbGUgb3JpZ2luYWxseSBhcHBlYXJlZCBpbiBGaWxtIFN0b3JpZXMgaXNzdWUgNDEgaW4gTWFyY2ggMjAyMy48L2VtPjwvcD4KCgoKPHA+RG91Z2xhcyBUcnVtYnVsbCB3YXMganVzdCAyMyB5ZWFycyBvbGQgd2hlbiBoZSBmb3VuZCBoaW1zZWxmIHNpdHRpbmcgb24gYSBwbGFuZSBoZWFkaW5nIGFjcm9zcyB0aGUgQXRsYW50aWMgdG8gdGhlIFVLIHNldCBvZiA8ZW0+MjAwMTogQSBTcGFjZSBPZHlzc2V5PC9lbT4gaW4gdGhlIHN1bW1lciBvZiAxOTY1LiBEZXNwaXRlIGEgbGFjayBvZiBmZWF0dXJlIGZpbG0gY3JlZGl0cyB0byBoaXMgbmFtZSwgdGhpcyB5b3VuZyBiYWNrZ3JvdW5kIGFydGlzdCBhbmQ8c3Ryb25nPiA8L3N0cm9uZz5hbmltYXRvciBoYWQgbWFuYWdlZCB0byBnZXQgYSBqb2Igb24gb25lIG9mIHRoZSBiaWdnZXN0IGZpbG0gcHJvZHVjdGlvbnMgb2YgdGhlIDE5NjBzLjwvcD4KCgoKPHA+RXhhY3RseSBob3cgdGhpcyBoYXBwZW5lZCB3YXMgcGFydGx5IGRvd24gdG8gc2VyZW5kaXBpdHk6IGp1c3QgYSBmZXcgbW9udGhzIGVhcmxpZXIsIGRpcmVjdG9yIFN0YW5sZXkgS3VicmljayBhbmQgc2NpLWZpIGF1dGhvciBBcnRodXIgQyBDbGFya2UgaGFkIGJlZW4gaW4gdGhlIGF1ZGllbmNlIGZvciA8ZW0+VG8gVGhlIE1vb24gQW5kIEJleW9uZDwvZW0+LCBhIHNob3J0IGZpbG0gYWJvdXQgc3BhY2UgdHJhdmVsIHRoYXQgdXNlZCA3MG1tIGZpbG0gcHJvamVjdGVkIG9udG8gYSA5NmZ0LXRhbGwsIGRvbWVkIHNjcmVlbi4gSXQgd2FzIG9uZSBvZiB0aGUga2V5IGF0dHJhY3Rpb25zIG9mIHRoZSBOZXcgWW9yayBXb3JsZOKAmXMgRmFpciwgYW5kIGl0cyBpbW1lcnNpdmUgZGVwaWN0aW9uIG9mIHN0YXJzIGFuZCBwbGFuZXRzIGNoaW1lZCB3aXRoIHRoZSBmaWxtIEt1YnJpY2sgYW5kIENsYXJrZSB3ZXJlIGNvbGxhYm9yYXRpbmcgb24g4oCTIGluaXRpYWxseSBjYWxsZWQgPGVtPkpvdXJuZXkgVG8gVGhlIFN0YXJzPC9lbT4uIEltcHJlc3NlZCwgS3VicmljayBpbnZpdGVkIHRoZSB0ZWFtIGJlaGluZCB0aGUgc2hvcnQsIEdyYXBoaWMgRmlsbXMsIHRvIGlsbHVzdHJhdGUgYSBzZXJpZXMgb2Ygc3Rvcnlib2FyZHMgZm9yIGhpcyBtb3ZpZS48L3A+CgoKCjxwPlVsdGltYXRlbHksIEt1YnJpY2vigJlzIGJyb2FkZXIgZGVhbCB3aXRoIEdyYXBoaWMgRmlsbXMgZmVsbCBhcGFydCB3aGVuIHRoZSBkaXJlY3RvciBzaGlmdGVkIHByb2R1Y3Rpb24gZnJvbSB0aGUgVVMgdG8gdGhlIFVLIOKAkyB3aGVyZSBoZSB3b3VsZCBtb3ZlIHRvLCBhbmQgcHJvZHVjZSBhbGwgaGlzIGZpbG1zIGdvaW5nIGZvcndhcmQg4oCTIGJ1dCBUcnVtYnVsbOKAmXMgaWxsdXN0cmF0aXZlIHdvcmssIHdoaWNoIGhlIHJlZ3VsYXJseSBzZW50IHRvIEt1YnJpY2ssIGNsZWFybHkgaW1wcmVzc2VkIHRoZSBkaXJlY3RvcjsgYnkgQXVndXN0IDE5NjUsIGJvdGggVHJ1bWJ1bGwgYW5kIENvbiBQZWRlcnNvbiwgYW5vdGhlciBHcmFwaGljIEZpbG1zIHRlYW0gbWVtYmVyLCB3ZXJlIHdpbmdpbmcgdGhlaXIgd2F5IHRvIE1HTSBTdHVkaW9zIGluIEJvcmVoYW13b29kLjwvcD4KCgoKPHNwYW4gaWQ9Im1vcmUtOTU3OTciPjwvc3Bhbj4KCgoKPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIiBpZD0iaC1zdGFydGluZy1vdXQiPlN0YXJ0aW5nIG91dDwvaDI+CgoKCjxwPk9uIGNsb3NlciBpbnNwZWN0aW9uLCB0aG91Z2gsIFRydW1idWxs4oCZcyBjcmVhdGl2ZSBhbGxpYW5jZSB3aXRoIEt1YnJpY2sgbG9va3MgbGVzcyBsaWtlIHNlcmVuZGlwaXR5IGFuZCBtb3JlIGxpa2UgZmF0ZS4gQm90aCB0ZWNobmljYWxseSBtaW5kZWQgYW5kIGFydGlzdGljLCBUcnVtYnVsbCB3YXMgc29tZXRoaW5nIG9mIGEgUmVuYWlzc2FuY2UgbWFuLCBtdWNoIGxpa2UgS3Vicmljay4gVHJ1bWJ1bGwgd2FzIGFsc28gYmxlc3NlZCB3aXRoIHRoZSBleWUgZm9yIGRldGFpbCDigJMgbm90IHRvIG1lbnRpb24geW91dGhmdWwgZW5lcmd5IOKAkyByZXF1aXJlZCB0byBtZWV0IEt1YnJpY2vigJlzIGZhbW91c2x5IGV4YWN0aW5nIHN0YW5kYXJkcy4gVGhlbiB0aGVyZSB3YXMgVHJ1bWJ1bGzigJlzIGxvdmUgb2Ygc2NpZW5jZSBmaWN0aW9uIGFuZCBtb3ZpZXMuPC9wPgoKCgo8cD7igJxBcyBJIGJlY2FtZSBhIHlvdW5nIGFydGlzdCwgSSB3YXMgZmlsbGluZyB1cCBteSBwb3J0Zm9saW8gd2l0aCBhbGllbiBwbGFuZXRzIGFuZCBzcGFjZWNyYWZ0IGFuZCB0aGluZ3MgbGlrZSB0aGF0LOKAnSBUcnVtYnVsbCB0b2xkIG1lIGluIDIwMTQuPC9wPgoKCgo8cD7igJxUaGVuIHdoZW4gSSBzdGFydGVkIGxvb2tpbmcgZm9yIGEgam9iLCBJIHdhcyBsb29raW5nIGZvciBzb21ldGhpbmcgaW4gYW5pbWF0aW9uLCBiZWNhdXNlIEkgd2FzIHdhdGNoaW5nIGFsbCB0aGVzZSBEaXNuZXkgYW5pbWF0ZWQgZmlsbXMu4oCdPC9wPgoKCgo8cD5XaGVuIFRydW1idWxsIGFwcHJvYWNoZWQgRGlzbmV5IGluIHRoZSBlYXJseSAxOTYwcywgdGhlIHRlY2huaWNhbCBuYXR1cmUgb2YgaGlzIHdvcmsgc2F3IGhpbSBwb2ludGVkIGluIHRoZSBkaXJlY3Rpb24gb2YgR3JhcGhpYyBGaWxtcy4gQSBzdHVkaW8gZm91bmRlZCBieSBmb3JtZXIgRGlzbmV5IGFuaW1hdG9yIExlc3RlciBOb3Zyb3MsIGl0IHNwZWNpYWxpc2VkIGluIG1ha2luZyBib3RoIGFuaW1hdGVkIGFuZCBsaXZlLWFjdGlvbiBzaG9ydHMgZm9yIHN1Y2ggY2xpZW50cyBhcyBOQVNBIGFuZCBCb2VpbmcuIFRydW1idWxs4oCZcyBza2lsbHMgYXMgYSBkcmF1Z2h0c3BlcnNvbiBhbmQgaW50ZXJlc3QgaW4gc2NpLWZpIG1hZGUgaGltIGFuIGlkZWFsIGZpdCBmb3IgdGhlIHJvbGUsIGFuZCBpbiAxOTY0IGhlIGlsbHVzdHJhdGVkIHRoZSBiYWNrZ3JvdW5kcyBmb3IgPGVtPlRvIFRoZSBNb29uIEFuZCBCZXlvbmQ8L2VtPiDigJMgYSBmaWxtIHRoYXQsIGxpa2UgS3Vicmlja+KAmXMgcHJvZHVjdGlvbiwgd2FzIGRlc2lnbmVkIHRvIGVudmVsb3Agdmlld2VycyBpbiBpdHMgdmFzdCAoYXN0cm9ub21pY2FsLCB5b3UgbWlnaHQgc2F5KSBzY2FsZS48L3A+CgoKCjxwPkJ5IHRoZSB0aW1lIFRydW1idWxsIGJvYXJkZWQgaGlzIGZsaWdodCB0byB0aGUgVUsgaW4gQXVndXN0IDE5NjUsIEt1YnJpY2sgaGFkIGJlZW4gd29ya2luZyBvbiBoaXMg4oCccHJvdmVyYmlhbCBnb29kIHNjaWVuY2UgZmljdGlvbiBtb3ZpZeKAnSBmb3Igb3ZlciBhIHllYXIuIEluIHRoYXQgdGltZSwgdGhlIGRpcmVjdG9yIGhhZCBzdXJyb3VuZGVkIGhpbXNlbGYgd2l0aCBzb21lIG9mIHRoZSBmaW5lc3QgdGVjaG5pY2FsIG1pbmRzIGhlIGNvdWxkIGNvYXggYWJvYXJkIGhpcyBwcm9qZWN0LCBpbmNsdWRpbmcgTkFTQSBzY2llbnRpc3QgRnJlZCBPcmR3YXksIEVsaW90IE5veWVzLCBhbiBpbmR1c3RyaWFsIGRlc2lnbmVyIGF0IElCTSwgYW5kIGFydGlmaWNpYWwgaW50ZWxsaWdlbmNlIGV4cGVydCBNYXJ2aW4gTWluc2t5LjwvcD4KCgoKPHA+VGhlIGluaXRpYWwgYmFzaXMgZm9yIEt1YnJpY2vigJlzIHByb2plY3Qgd2FzIEFydGh1ciBDIENsYXJrZeKAmXMgc2hvcnQgc3RvcnkgPGVtPlRoZSBTZW50aW5lbDwvZW0+LCBhYm91dCB0aGUgZGlzY292ZXJ5IG9mIGEgbXlzdGVyaW91cywgdGVjaG5vbG9naWNhbGx5IGFkdmFuY2VkIGFydGVmYWN0IGxlZnQgYmVoaW5kIGJ5IGFsaWVuIHZpc2l0b3JzLiBCdXQgd2hhdCBLdWJyaWNrIGFsc28gaGFkIGluIG1pbmQgd2FzIHNvbWV0aGluZyBmYXIgYmlnZ2VyIGFuZCBtb3JlIG1pbmQtZXhwYW5kaW5nIOKAkyBhbiBlcGljIHN0b3J5IHRoYXQgc3Bhbm5lZCB0aW1lIGZyb20gaHVtYW5pdHnigJlzIHByZWhpc3RvcnkgdG8gb3VyIGZ1dHVyZSBleHBsb3JhdGlvbiBvZiBzcGFjZSwgYm9va2VuZGVkIGJ5IHF1YXNp4oCRcmVsaWdpb3VzIGVuY291bnRlcnMgd2l0aCBhbiBpbnRlbGxpZ2VuY2UgZmFyIGJleW9uZCBvdXIgb3duLjwvcD4KCgoKPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIiBpZD0iaC1hbWJpdGlvbiI+QW1iaXRpb248L2gyPgoKCgo8cD5TdWNoIGFuIGFtYml0aW91cyBmaWxtIHJlcXVpcmVkIGFuIGVxdWFsbHkgZXh0ZW5zaXZlIGJ1ZGdldCDigJMgTUdNIHVsdGltYXRlbHkgc3BlbnQgYXJvdW5kICQxMG0gb24gMjAwMSwgdGhlbiBhIGZvcnR1bmUg4oCTIGFuZCBhIGh1Z2UgcXVhbnRpdHkgb2Ygc2V0cywgcHJvcHMsIHNjYWxlIG1pbmlhdHVyZXMgYW5kIHRoZW4tbmV3IGFuZCB1bnRlc3RlZCB2aXN1YWwgZWZmZWN0cy4gQnV0IGlmIFRydW1idWxsIGZlbHQgaW50aW1pZGF0ZWQgYnkgdGhlIHZhc3Qgc2NhbGUgb2YgdGhlIHByb2R1Y3Rpb24sIGFzIGZpbG1pbmcgYmVnYW4gYXQgTUdNIFN0dWRpb3MgYW5kIFNoZXBwZXJ0b24sIHRoZW4gaGUgZGlkbuKAmXQgc2hvdyBpdC4gSW4gYSByZW1hcmthYmx5IGNhbG0sIG1hdHRlci1vZi1mYWN0IGVzc2F5IHdyaXR0ZW4gZm9yIEFtZXJpY2FuIENpbmVtYXRvZ3JhcGhlciBpbiAxOTY4LCBUcnVtYnVsbCBkZXNjcmliZWQgaG93IG11Y2ggdHJvdWJsZSB0aGUgcHJvZHVjdGlvbiBoYWQgd2l0aCBrZWVwaW5nIHRyYWNrIG9mIGl0cyBhcnJheSBvZiDigJxpZGVhcywgc2hvdHMgYW5kIGNoYW5nZXPigJ0g4oCTIHN1Y2ggdGhhdCBhIOKAmGNvbnRyb2wgcm9vbeKAmSB3YXMgc2V0IHVwLCBwb3B1bGF0ZWQgYnkgcGVvcGxlIHdob3NlIGZ1bGwtdGltZSBqb2Igd2FzIHRvIGtlZXAgZXZlcnl0aGluZyB0cmFja2VkIGFuZCBsb2dnZWQgaW4gYW4gZWxhYm9yYXRlIGZpbGluZyBzeXN0ZW0uIE91dHNpZGUsIFRydW1idWxsIHdyb3RlLCB0aGVyZSB3ZXJlIOKAnGEgaGFsZi1kb3plbiBjYW1lcmFzIHNob290aW5nIHNpbXVsdGFuZW91c2x5LCBzb21lIG9uIDI0LWhvdXIgc2hpZnRzLuKAnTwvcD4KCgoKPHA+T3JpZ2luYWxseSwgVHJ1bWJ1bGwgd2FzIGxlZCB0byBiZWxpZXZlIGhl4oCZZCBiZSB3b3JraW5nIG9uIDIwMDEgZm9yIGFib3V0IHNpeCBtb250aHM7IGluc3RlYWQsIGhlIHdhcyBvbiB0aGUgcHJvZHVjdGlvbiBmb3IgdHdvIGFuZCBhIGhhbGYgeWVhcnMuIFRoZSBmaWxt4oCZcyBsZW5ndGh5IHNob290IHdhcyBwYXJ0bHkgZHVlIHRvIEt1YnJpY2vigJlzIGluc2lzdGVuY2Ugb24gaW50ZXJyb2dhdGluZyBldmVyeSBlbGVtZW50IGluIG1pbnV0ZSBkZXRhaWwsIHdoZXRoZXIgaXQgd2FzIGFuIGluaXRpYWwgY29uY2VwdCBza2V0Y2ggb3IgYSBzcGxpdC1zZWNvbmQgZWZmZWN0cyBzaG90LjwvcD4KCgoKPHA+4oCcVGhlcmUgd2FzIGEgaHVnZSBzaG9vdGluZyByYXRpbyzigJ0gVHJ1bWJ1bGwgdG9sZCBtZSwg4oCcYmVjYXVzZSBTdGFubGV5IHdhcyB2ZXJ5IGNyaXRpY2FsIGFuZCBkaXNjZXJuaW5nLCBhbmQgaGUgZGlkbuKAmXQgbGlrZSBhbnl0aGluZyB0aGF0IGhhZCBhbnkga2luZCBvZiBlcnJvciBpbiBpdC4gU28gZXZlcnkgc2hvdCB5b3UgY2FuIHNlZSBpbiB0aGUgbW92aWUgaGFkIG1hbnkgdGFrZXMgb2YgaXQsIHRyeWluZyB0byBkZWJ1ZyBpdCwgbWFraW5nIHNtYWxsIGNoYW5nZXMgdW50aWwgaXQgd2FzIHBlcmZlY3Qu4oCdPC9wPgoKCgo8cD5OZXZlcnRoZWxlc3MsIFRydW1idWxsIGFncmVlZCBoZSYjODIxNztkIGZvdW5kIGEgbGlrZS1taW5kIGluIEt1YnJpY2suPC9wPgoKCgo8cD7igJxXZSBoYWQgYSByZWFsbHkgZ3JlYXQgcmVsYXRpb25zaGlwLiBJdCB0dXJuZWQgb3V0IHRoYXQgSSBoYWQgdGhlIHJpZ2h0IHNraWxsLXNldCB0aGF0IGhlIHdhcyBsb29raW5nIGZvciwgd2hpY2ggd2FzIHBhcnQgYXJ0LCBwYXJ0IGVuZ2luZWVyaW5nLCBhbmQgcGFydCBwaG90b2dyYXBoeeKApiBoZSB3b3JrZWQgbWUgdXAgdGhyb3VnaCB0aGUgcmFua3MsIGFuZCBieSB0aGUgZW5kIG9mIHRoZSB0d28gYW5kIGEgaGFsZiB5ZWFycyBJIHdhcyB0aGVyZSwgSSB3YXMgb25lIG9mIGZvdXIgaGVhZCBzdXBlcnZpc29ycyBvbiB0aGUgbW92aWUu4oCdPC9wPgoKCgo8cD5UcnVtYnVsbOKAmXMgd29yayBvbiAyMDAxIHRoZXJlZm9yZSByYW4gdGhlIGdhbXV0IGZyb20gYW5pbWF0aW5nIGRpc3BsYXlzIG9uIHRoZSBpbnRlcmlvcnMgb2Ygc3BhY2VjcmFmdCB0byBvdmVyc2VlaW5nIHNob3RzIG9mIHRoZSBNb29u4oCZcyBzdXJmYWNlIHRvIGJ1aWxkaW5nIGFuZCBwYWludGluZyBzY2FsZSBtaW5pYXR1cmVzLCBzdWNoIGFzIHRoZSA2MGZ0LWxvbmcgRGlzY292ZXJ5IHNwYWNlY3JhZnQgdGhhdCBmZWF0dXJlcyBpbiBtdWNoIG9mIHRoZSBmaWxt4oCZcyBsYXRlciZuYnNwO3N0YWdlcy48L3A+CgoKCjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyIgaWQ9ImgtYS1zaGlmdGluZy1zdG9yeSI+QSBzaGlmdGluZyBzdG9yeTwvaDI+CgoKCjxwPkFzaWRlIGZyb20gS3Vicmlja+KAmXMgY29uc3RhbnQgZGVtYW5kcyBmb3IgcGVyZmVjdGlvbiwgdGhlIHByb2R1Y3Rpb27igJlzIHBhY2Ugd2FzIHNsb3dlZCBieSB0aGUgY2hhbmdpbmcgbmF0dXJlIG9mIHRoZSBmaWxt4oCZcyBwbG90IGFuZCBzdG9yeXRlbGxpbmcgZGV0YWlscy4gSW4gQXVndXN0IDE5NjUg4oCTIG1lcmUgbW9udGhzIGJlZm9yZSBmaWxtaW5nIGJlZ2FuIHRoYXQgRGVjZW1iZXIg4oCTIHRoZSBhcnRpZmljaWFsbHkgaW50ZWxsaWdlbnQgY29tcHV0ZXIgdGhhdCBkcml2ZXMgdGhlIGxhdHRlciBoYWxmIG9mIHRoZSBtb3ZpZSBoYWQgYSBmZW1hbGUgdm9pY2UsIGFuZCB3YXMgY2FsbGVkIEF0aGVuYSByYXRoZXIgdGhhbiBIQUwtOTAwMC4gQXQgb3RoZXIgdGltZXMsIHN0b3J5IGRldGFpbHMgaGFkIHRvIGJlIGNoYW5nZWQgYmVjYXVzZSB0aGUgcHV6emxlIG9mIG1ha2luZyB0aGVtIGxvb2sgY29udmluY2luZyBvbiB0aGUgYmlnIHNjcmVlbiB3YXMgc2ltcGx5IHRvbyBncmVhdCB0byBzb2x2ZSB3aXRoIHRoZSB0ZWNobm9sb2d5IG9mIHRoZSB0aW1lLjwvcD4KCgoKPHA+QSBwcmltZSBleGFtcGxlIG9mIHRoaXMgYXJyaXZlZCBuZWFyIHRoZSBlbmQgb2YgdGhlIG1vdmllLiBBc3Ryb25hdXQgRGF2ZSBCb3dtYW4gKHBsYXllZCB3aXRoIGljeSBjYWxtIGJ5IEtlaXIgRHVsbGVhKSBoYXMgcmVhY2hlZCBoaXMgZGVzdGluYXRpb24gb3JiaXRpbmcgSnVwaXRlciwgYW5kIGluIHRoZSBvcmlnaW5hbCBzY3JpcHQsIOKAnHRoZXJlIHdhcyBhIHNsb3QgaW4gb25lIG9mIEp1cGl0ZXLigJlzIG1vb25zLOKAnSBUcnVtYnVsbCByZWNhbGxlZC48L3A+CgoKCjxwPuKAnEFuZCBpZiB5b3UgbG9va2VkIGRvd24gdGhyb3VnaCBpdCwgeW91IGNvdWxkIHNlZSBhbm90aGVyIHVuaXZlcnNlIG9uIHRoZSBvdGhlciBzaWRlIOKAkyBzbyBpdCB3YXMgYXMgaWYgdGhlIHNsb3Qgd2FzIGEga2luZCBvZiB0aW1lLXNwYWNlIGdhdGUuIE5vIG9uZSBjb3VsZCBtYWtlIGl0IGxvb2sgY29udmluY2luZy7igJ08L3A+CgoKCjxwPkFzIGFuIGFsdGVybmF0aXZlLCBUcnVtYnVsbCBzdWdnZXN0ZWQgdHJ5aW5nIG91dCBhbiBleHBlcmltZW50YWwgcHJvY2VzcyBoZSwgY29sbGVhZ3VlIENvbiBQZWRlcnNvbiBhbmQgaW52ZW50b3IgSm9obiBXaGl0bmV5IGhhZCBiZWVuIHRpbmtlcmluZyB3aXRoIGF0IEdyYXBoaWMgRmlsbXMg4oCTIGEgcGhvdG9ncmFwaGljIHRlY2huaXF1ZSBXaGl0bmV5IGhhZCBkdWJiZWQg4oCYc2xpdCBzY2FubmluZ+KAmS4gSXQgaW52b2x2ZWQgcGxhY2luZyBhIGNhbWVyYSBvbiBhIHRyYWNrIGFuZCBleHBvc2luZyBpdHMgYXBlcnR1cmUgdG8gYW4gaW1hZ2Ugdmlld2VkIHRocm91Z2ggYSBuYXJyb3cgc2xpdDsgVHJ1bWJ1bGwgdG9vayB0aGUgdGVjaG5pcXVlIGFuZCBhZGFwdGVkIGl0IHRvIGNyZWF0ZSB0aGUgaWxsdXNpb24gb2Ygc3RyZWFrcyBvZiBjb2xvdXJlZCBsaWdodCBodXJ0bGluZyBvdXQgb2YgdGhlIHNjcmVlbiBhdCB0aGUgdmlld2VyLjwvcD4KCgoKPHA+4oCcSXQgd2FzIHF1aXRlIGEgbGFyZ2UgbWFjaGluZSDigJMgYWJvdXQgMzBmdCBieSAzMGZ0LOKAnSBUcnVtYnVsbCByZWNhbGxlZCBvZiB0aGUgc3lzdGVtIHRoYXQgd2FzIGEgcHJlY3Vyc29yIHRvIHRoZSBhZHZhbmNlZCBtb3Rpb24gY29udHJvbCBzeXN0ZW1zIHRoYXQgcmV2b2x1dGlvbmlzZWQgc3BlY2lhbCBlZmZlY3RzIGFsbW9zdCBhIGRlY2FkZSBsYXRlci4g4oCcSXQgdG9vayB1cCBhIHdob2xlIHJvb23igKYgU2FsdmFkb3IgRGFsw60gZXhwZXJpbWVudGVkIHdpdGggdGhpbmdzIGxpa2UgdGhhdCDigJMgaGUgZXhwZXJpbWVudGVkIHdpdGggc3Ryb2JlIGxpZ2h0cyBhbmQgdGltZS1sYXBzZS4gQWxsIGtpbmRzIG9mIGludGVyZXN0aW5nIHN0dWZmIHRoYXQgSeKAmWQgc3R1ZGllZC4gU28gaXQgc2VlbWVkIG5hdHVyYWwgdG8gc2F5LCDigJh3ZWxsLCBsZXTigJlzIHB1dCB0aGUgc2xpdCBvdXRzaWRlIHRoZSBjYW1lcmEgYW5kIG1vdmUgaXQgaW4gdGhyZWUtZGltZW5zaW9uYWwgc3BhY2UgcmF0aGVyIHRoYW4gdHdvLWRpbWVuc2lvbmFsIHNwYWNlLuKAmSBJdCBhbGwgd29ya2VkIHBlcmZlY3RseSwgYW5kIGl0IHNvbHZlZCBhIHByb2JsZW0gZm9yIEt1YnJpY2su4oCdPC9wPgoKCgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciIGlkPSJoLWludmVudGluZyI+SW52ZW50aW5nPC9oMj4KCgoKPHA+T25jZSBhZ2FpbiwgVHJ1bWJ1bGzigJlzIHRlY2huaWNhbCBpbmdlbnVpdHkgYW5kIGFydGlzdGljIGZsYWlyIGNvbWJpbmVkIHRvIGNyZWF0ZSBzb21ldGhpbmcgbmV3LiBBbG9uZyB3aXRoIGFuIGFwZSBzbWFzaGluZyBza3VsbHMgd2l0aCBhIGJvbmUsIG9yIERhdmUgQm93bWFuIHJ1bm5pbmcgaW4gemVybyBncmF2aXR5LCB0aGUg4oCYU3RhcmdhdGXigJkgc2VxdWVuY2UgYmVjYW1lIG9uZSBvZiA8ZW0+MjAwMTogQSBTcGFjZSBPZHlzc2V5PC9lbT7igJlzIG1vc3QgZmFtb3VzIHNlcXVlbmNlcy48L3A+CgoKCjxwPuKAnEnigJltIGZlYXJsZXNzIHdoZW4gaXQgY29tZXMgdG8gZW5naW5lZXJpbmcgYW5kIG1vdG9ycyBhbmQgZ2VhcnMgYW5kIHB1bGxleXMgYW5kIGdsYXNzIGFuZCBhcnR3b3JrLOKAnSBzYWlkIFRydW1idWxsLiDigJxJdCBhbGwganVzdCBzZWVtZWQgY29tcGxldGVseSBuYXR1cmFsIHRvIG1lLCBhbmQgaXQgd2FzIGEgZ29vZCB0aGluZyBJIHdhcyB0aGVyZSwgYmVjYXVzZSBJIGNvdWxkIGludmVudCB0aGlzIHRoaW5nIGFuZCB3b3JrIHdpdGggdGhlIGVuZ2luZWVycyBhdCB0aGUgc3R1ZGlvIGFuZCBoYXZlIHRoZW0gaGVscCBtZSBidWlsZCBpdC7igJ08L3A+CgoKCjxwPk9mIGNvdXJzZSwgdmlzdWFsIGVmZmVjdHMgc3VjaCBhcyB0aGVzZSB3ZXJlIG9ubHkgYSBwYXJ0IG9mIHdoYXQgbWFkZSB0aGUgbGFyZ2VyIHBpY3R1cmUsIGFuZCBldmVuIGJ5IHRoZSBzdGFuZGFyZHMgb2YgMjFzdCBjZW50dXJ5IGZpbG1tYWtpbmcsIHRoZSBzY2FsZSBhbmQgZGV0YWlsIG9mIHdoYXQgS3VicmljayBhbmQgaGlzIGNvbGxhYm9yYXRvcnMgYXR0ZW1wdGVkIHdhcyBxdWl0ZSBtaW5kLWJvZ2dsaW5nLiBBbG1vc3QgYXMgYW4gYXNpZGUsIFRydW1idWxsIG1lbnRpb25zIHRvd2FyZHMgdGhlIGVuZCBvZiBoaXMgZXNzYXkgZm9yIEFtZXJpY2FuIENpbmVtYXRvZ3JhcGhlciB0aGF0IGFsbCBvZiAyMDAx4oCZcyBpbnRlcmlvciBzZXRzIGhhZCDigJxsaWdodGluZyB0aGF0IHdhcyBhbiBhY3R1YWwgaW50ZWdyYWwgcGFydCBvZiB0aGUgc2V0IGl0c2VsZiwgYW5kIGFkZGl0aW9uYWwgbGlnaHRpbmcgd2FzIHVzZWQgb25seSBmb3IgY3JpdGljYWwgY2xvc2UtdXBzLuKAnSBLdWJyaWNrIG5ldmVyIHdhcyBvbmUgZm9yIGN1dHRpbmcgY29ybmVycy48L3A+CgoKCjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyIgaWQ9ImgtcmVjb2duaXRpb24iPlJlY29nbml0aW9uPC9oMj4KCgoKPHA+S3Vicmlja+KAmXMgZmFtZSBhcyBhbiBhdXRldXIgd2FzIHN1Y2ggdGhhdCwgZGVzcGl0ZSB0aGUgbnVtYmVyIG9mIGdlbml1cy1sZXZlbCBjb2xsYWJvcmF0b3JzIHRoYXQgc3Vycm91bmRlZCBoaW0gdGhyb3VnaG91dCB0aGUgbWFraW5nIG9mIDxlbT4yMDAxOiBBIFNwYWNlIE9keXNzZXksPC9lbT4gdGhlIGlucHV0IG9mIGhpcyBmZWxsb3cgYXJ0aXN0cyBhbmQgZmlsbW1ha2VycyB3YXMgb2Z0ZW4gZG93bnBsYXllZCwgYXQgbGVhc3QgYXQgdGhlIHRpbWUgb2YgdGhlIGZpbG3igJlzIHJlbGVhc2UuIEluIGEgbGlzdCBvZiBjcmVkaXRzIHByaW50ZWQgaW4gdGhhdCBzYW1lIGlzc3VlIG9mIEFtZXJpY2FuIENpbmVtYXRvZ3JhcGhlciwgaXQgc29tZXdoYXQgc3Rlcm5seSBzdGF0ZXMsIOKAnEFsbCBzcGVjaWFsIGVmZmVjdHMgZGVzaWduZWQgYW5kIGRpcmVjdGVkIGJ5IE1SIEtVQlJJQ0vigJ0uIFllcywgS3Vicmlja+KAmXMgbmFtZSB3YXMgcHJpbnRlZCBpbiBhbGwtY2FwaXRhbHMuPC9wPgoKCgo8cD5BdCB0aGUgQWNhZGVteSBBd2FyZHMgdGhlIGZvbGxvd2luZyB5ZWFyLCBpdCB3YXMgdGhlcmVmb3JlIEt1YnJpY2sgd2hvIGNvbGxlY3RlZCB0aGUgT3NjYXIgZm9yIEJlc3QgU3BlY2lhbCBWaXN1YWwgRWZmZWN0cyBhbmQgbm90IFRydW1idWxsIOKAkyBzb21ldGhpbmcgdGhhdCBtdXN0IGhhdmUgc3R1bmcgYXQgdGhlIHRpbWUuIE1lYW53aGlsZSwgaXQgd2FzIDxlbT5PbGl2ZXIhPC9lbT4gdGhhdCBjbGVhbmVkIHVwIGF0IDE5NjnigJlzIGF3YXJkcywgd2l0aCBLdWJyaWNrIGxvc2luZyBvdXQgdG8gQ2Fyb2wgUmVlZCBpbiB0aGUgQmVzdCBEaXJlY3RvciBjYXRlZ29yeS4gS3Vicmlja+KAmXMgZmlsbSB3YXMgYWxzbyBub21pbmF0ZWQgYnV0IGZhaWxlZCB0byB3aW4gQmVzdCBBcnQgRGlyZWN0aW9uLCBXcml0aW5nLCBhbmQgZGlkbuKAmXQgZXZlbiBnZXQgYSBtZW50aW9uIGZvciBFZGl0aW5nLCBTb3VuZCwgb3IgQ2luZW1hdG9ncmFwaHkuPC9wPgoKCgo8cD5UaGUgYXBwcmVjaWF0aW9uIGZvciA8ZW0+MjAwMTogQSBTcGFjZSBPZHlzc2V5PC9lbT4gb25seSBncmV3LCBob3dldmVyLiBUaGUgZmlsbSB3ZW50IGZyb20gaW5pdGlhbGx5IGRpdmlzaXZlIHJldmlld3MgYW5kIHNsb3cgdGlja2V0IHNhbGVzIGluIDE5NjggdG8gYSB3b3JsZHdpZGUgaGl0IHRoYW5rcyB0byBsYXRlciB0aGVhdHJpY2FsIHJlLXJlbGVhc2VzIGluIHRoZSBlYXJseSAxOTcwcy4gVGhlIGZpbG0gYWxzbyBnYXZlIERvdWdsYXMgVHJ1bWJ1bGwgdGhlIGdyb3VuZGluZyBoZSBuZWVkZWQgdG8gZnVydGhlciBoaXMgY2FyZWVyIGluIG1vdmllczsgaW4gdGhlIHllYXJzIHRoYXQgZm9sbG93ZWQsIFRydW1idWxsIGZvdW5kIGFjY2xhaW0gZm9yIGhpcyBzcGVjaWFsIGVmZmVjdHMgd29yayBvbiBzdWNoIGNsYXNzaWNzIGFzIDxlbT5DbG9zZSBFbmNvdW50ZXJzIE9mIFRoZSBUaGlyZCBLaW5kPC9lbT4gYW5kIDxlbT5CbGFkZSBSdW5uZXI8L2VtPi4gRm9yIHRoZSBmb3JtZXIsIFRydW1idWxsIGpvaW50bHkgcmVjZWl2ZWQgYW4gQWNhZGVteSBBd2FyZCBmb3IgQmVzdCBWaXN1YWwgRWZmZWN0cywgbWVhbmluZyBoZSBmaW5hbGx5IGdvdCB0aGUgT3NjYXIgcmVjb2duaXRpb24gaGUgZGVzZXJ2ZWQuPC9wPgoKCgo8cD5UcnVtYnVsbCB3b3VsZCBhbHNvIGFkYXB0IGFuZCByZWZpbmUgc29tZSBvZiB0aGUgdGVjaG5pcXVlcyB1c2VkIG9uIDxlbT4yMDAxOiBBIFNwYWNlIE9keXNzZXk8L2VtPiBpbiBoaXMgZmlyc3QgZmlsbSBhcyBkaXJlY3RvciwgPGVtPlNpbGVudCBSdW5uaW5nPC9lbT4g4oCTIGEgc2NpLWZpIGZhYmxlIHRoYXQgaXMgaXRzZWxmIHJlZ2FyZGVkIGFzIGEgY2xhc3NpYy4gQXMgVHJ1bWJ1bGwgbGF0ZXIgc2FpZCBvZiAyMDAxOiDigJxJdCB3YXMgZmlsbSBzY2hvb2wgZm9yIG1lLuKAnTwvcD4KPGRpdiBjbGFzcz0iYWRkdG9hbnlfc2hhcmVfc2F2ZV9jb250YWluZXIgYWRkdG9hbnlfY29udGVudCBhZGR0b2FueV9jb250ZW50X2JvdHRvbSI+PGRpdiBjbGFzcz0iYWRkdG9hbnlfaGVhZGVyIj5TaGFyZSB0aGlzIEFydGljbGU6PC9kaXY+PGRpdiBjbGFzcz0iYTJhX2tpdCBhMmFfa2l0X3NpemVfMzIgYWRkdG9hbnlfbGlzdCIgZGF0YS1hMmEtdXJsPSJodHRwczovL2ZpbG1zdG9yaWVzLmNvLnVrL2ZlYXR1cmVzL2RvdWdsYXMtdHJ1bWJ1bGxzLXNwYWNlLW9keXNzZXktdGhlLXNmeC1nZW5pdXMtYmVoaW5kLTIwMDEvIiBkYXRhLWEyYS10aXRsZT0iRG91Z2xhcyBUcnVtYnVsbOKAmXMgU3BhY2UgT2R5c3NleSB8IFRoZSBTRlggZ2VuaXVzIGJlaGluZCAyMDAxIj48YSBjbGFzcz0iYTJhX2J1dHRvbl9mYWNlYm9vayIgaHJlZj0iaHR0cHM6Ly93d3cuYWRkdG9hbnkuY29tL2FkZF90by9mYWNlYm9vaz9saW5rdXJsPWh0dHBzJTNBJTJGJTJGZmlsbXN0b3JpZXMuY28udWslMkZmZWF0dXJlcyUyRmRvdWdsYXMtdHJ1bWJ1bGxzLXNwYWNlLW9keXNzZXktdGhlLXNmeC1nZW5pdXMtYmVoaW5kLTIwMDElMkYmYW1wO2xpbmtuYW1lPURvdWdsYXMlMjBUcnVtYnVsbCVFMiU4MCU5OXMlMjBTcGFjZSUyME9keXNzZXklMjAlN0MlMjBUaGUlMjBTRlglMjBnZW5pdXMlMjBiZWhpbmQlMjAyMDAxIiB0aXRsZT0iRmFjZWJvb2siIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj48L2E+PGEgY2xhc3M9ImEyYV9idXR0b25fdHdpdHRlciIgaHJlZj0iaHR0cHM6Ly93d3cuYWRkdG9hbnkuY29tL2FkZF90by90d2l0dGVyP2xpbmt1cmw9aHR0cHMlM0ElMkYlMkZmaWxtc3Rvcmllcy5jby51ayUyRmZlYXR1cmVzJTJGZG91Z2xhcy10cnVtYnVsbHMtc3BhY2Utb2R5c3NleS10aGUtc2Z4LWdlbml1cy1iZWhpbmQtMjAwMSUyRiZhbXA7bGlua25hbWU9RG91Z2xhcyUyMFRydW1idWxsJUUyJTgwJTk5cyUyMFNwYWNlJTIwT2R5c3NleSUyMCU3QyUyMFRoZSUyMFNGWCUyMGdlbml1cyUyMGJlaGluZCUyMDIwMDEiIHRpdGxlPSJUd2l0dGVyIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+PC9hPjxhIGNsYXNzPSJhMmFfYnV0dG9uX2VtYWlsIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vYWRkX3RvL2VtYWlsP2xpbmt1cmw9aHR0cHMlM0ElMkYlMkZmaWxtc3Rvcmllcy5jby51ayUyRmZlYXR1cmVzJTJGZG91Z2xhcy10cnVtYnVsbHMtc3BhY2Utb2R5c3NleS10aGUtc2Z4LWdlbml1cy1iZWhpbmQtMjAwMSUyRiZhbXA7bGlua25hbWU9RG91Z2xhcyUyMFRydW1idWxsJUUyJTgwJTk5cyUyMFNwYWNlJTIwT2R5c3NleSUyMCU3QyUyMFRoZSUyMFNGWCUyMGdlbml1cyUyMGJlaGluZCUyMDIwMDEiIHRpdGxlPSJFbWFpbCIgcmVsPSJub2ZvbGxvdyBub29wZW5lciIgdGFyZ2V0PSJfYmxhbmsiPjwvYT48YSBjbGFzcz0iYTJhX2RkIGFkZHRvYW55X3NoYXJlX3NhdmUgYWRkdG9hbnlfc2hhcmUiIGhyZWY9Imh0dHBzOi8vd3d3LmFkZHRvYW55LmNvbS9zaGFyZSI+PC9hPjwvZGl2PjwvZGl2Pg==