A Beginner's Guide to SCSS

A Beginner's Guide to SCSS

refresh basics of SCSS...

                        PHA+QmFzaWNhbGx5LCA8c3Ryb25nPjxlbT5TQ1NTPC9lbT48L3N0cm9uZz4gaXMgdGhlIG1vc3QgcG9wdWxhciBDU1MgcHJlLXByb2Nlc3NvciBub3cgcGVvcGxlIHVzZS4gSXTigJlzIGp1c3QgYSBtb3JlIHJlY2VudCB2ZXJzaW9uIG9mIHRoZSBvcmlnaW5hbCA8c3Ryb25nPjxlbT5TYXNzPC9lbT48L3N0cm9uZz4gc3ludGF4LiBBbGwgU2Fzcy9TQ1NTIGNvZGUgY29tcGlsZXMgYmFjayB0byBzdGFuZGFyZCBDU1Mgc28gdGhhdCB0aGUgYnJvd3NlcnMgY2FuIHVuZGVyc3RhbmQgaXQuIEFsbCBicm93c2VycyBjdXJyZW50bHkgZG9u4oCZdCBoYXZlIGRpcmVjdCBzdXBwb3J0IGZvciBTQ1NTIG9yIGFueSBvdGhlciBDU1MgcHJlLXByb2Nlc3Nvciwgbm9yIGRvZXMgdGhlIHN0YW5kYXJkIENTUyBzcGVjaWZpY2F0aW9uIHByb3ZpZGUgYWx0ZXJuYXRpdmVzIGZvciBzaW1pbGFyIGZlYXR1cmVzLCBub3QgeWV0LjwvcD4KCjxoMiBpZD0id2hhdHMtd29ydGgiPldoYXTigJlzIFdvcnRoPC9oMj4KCjxvbD4KICA8bGk+CiAgICA8cD5OZXN0ZWQgcnVsZXM6IE5lc3QgeW91ciBDU1MgcHJvcGVydGllcyB3aXRoaW4gbXVsdGlwbGUgc2V0cyBvZiB7fSBicmFja2V0cy4gVGhpcyBtYWtlcyB0aGUgQ1NTIGNvZGUgYSBiaXQgbW9yZSBjbGVhbi1sb29raW5nIGFuZCBtb3JlIGludHVpdGl2ZS48L3A+CiAgPC9saT4KICA8bGk+CiAgICA8cD5WYXJpYWJsZXM6IFN0YW5kYXJkIENTUyBoYXMgdmFyaWFibGUgZGVmaW5pdGlvbnMuIEJ1dCwgeW91IGNhbiBkbyBhIGxvdCBtb3JlIHdpdGggU0NTUyB2YXJpYWJsZXM6IGl0ZXJhdGUgdGhlbSB2aWEgYSA8ZW0+Zm9yLWxvb3A8L2VtPiBhbmQgZ2VuZXJhdGUgcHJvcGVydHkgdmFsdWVzIGR5bmFtaWNhbGx5LiBZb3UgY2FuIGVtYmVkIHRoZW0gaW50byBDU1MgcHJvcGVydHkgbmFtZXMgdGhlbXNlbHZlcy4gSXTigJlzIHVzZWZ1bCBmb3IgPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJueCI+cHJvcGVydHk8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPi08L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5uYW1lPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4tPC9zcGFuPjxzcGFuIGNsYXNzPSJueCI+Tjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+ey4uLn08L3NwYW4+PC9jb2RlPiBkZWZpbml0aW9ucy48L3A+CiAgPC9saT4KICA8bGk+CiAgICA8cD5CZXR0ZXIgb3BlcmF0b3JzOiBZb3UgY2FuIGFkZCwgc3VidHJhY3QsIG11bHRpcGx5IGFuZCBkaXZpZGUgQ1NTIHZhbHVlcy4gQWx0aG91Z2ggaW4gdGhlIG9yaWdpbmFsIENTUyBpbXBsZW1lbnRzIHRoaXMgPGVtPnZpYTwvZW0+IDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibngiPmNhbGM8L3NwYW4+PHNwYW4gY2xhc3M9InAiPigpPC9zcGFuPjwvY29kZT4sIGluIFNDU1MgeW91IGRvbuKAmXQgaGF2ZSB0byB1c2UgPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJueCI+Y2FsYzwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KCk8L3NwYW4+PC9jb2RlPiBhbmQgdGhlIGltcGxlbWVudGF0aW9uIGlzIHNsaWdodGx5IG1vcmUgaW50dWl0aXZlLjwvcD4KICA8L2xpPgogIDxsaT4KICAgIDxwPkZ1bmN0aW9uczogU0NTUyBsZXRzIHlvdSBjcmVhdGUgQ1NTIGRlZmluaXRpb25zIGFzIHJlc3VzYWJsZSBmdW5jdGlvbnMuPC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+VHJpZ29ub21ldHJ5OiBBbW9uZyBtYW55IG9mIHRoZSBiYXNpYyBmZWF0dXJlcygrLCAtLCAqLCAvKSwgU0NTUyBhbGxvd3MgeW91IHRvIHdyaXRlIHlvdXIgb3duIDxlbT5mdW5jdGlvbnM8L2VtPi4gWW91IGNhbiB3cml0ZSB5b3VyIG93biA8ZW0+c2luZTwvZW0+IGFuZCA8ZW0+Y29zaW5lPC9lbT4gKHRyaWdvbm9tZXRyeSkgZnVuY3Rpb25zIGVudGlyZWx5IHVzaW5nIGp1c3QgdGhlIFNDU1Mgc3ludGF4IGp1c3QgbGlrZSB5b3Ugd291bGQgaW4gb3RoZXIgcHJvZ3JhbSBsYW5ndWFnZXMgc3VjaCBhcyBKYXZhU2NyaXB0LiBTb21lIHRyaWdvbm9tZXRyeSBrbm93bGVkZ2Ugd2lsbCBiZSByZXF1aXJlZC4gQnV0IGJhc2ljYWxseSwgdGhpbmsgb2YgPGVtPnNpbmU8L2VtPiBhbmQgPGVtPmNvc2luZTwvZW0+IGFzIG1hdGhlbWF0aWNhbCB2YWx1ZXMgdGhhdCBoZWxwIHVzIGNhbGN1bGF0ZSB0aGUgbW90aW9uIG9mIDxlbT5jaXJjdWxhcjwvZW0+IHByb2dyZXNzIGJhcnMgb3IgY3JlYXRlIGFuaW1hdGVkIDxlbT53YXZlPC9lbT4gZWZmZWN0cywgZm9yIGluc3RhbmNlLjwvcD4KICA8L2xpPgogIDxsaT4KICAgIDxwPkNvZGUgZmxvdyBhbmQgY29udHJvbCBzdGF0ZW1lbnRzOiBZb3UgY2FuIHdyaXRlIENTUyB1c2luZyBmYW1pbGlhciBjb2RlLWZsb3cgYW5kIGNvbnRyb2wgc3RhdGVtZW50cyBzdWNoIGFzIDxlbT5mb3ItbG9vcDwvZW0+LCA8ZW0+d2hpbGUtbG9vcHM8L2VtPiwgPGVtPmlmLWVsc2U8L2VtPiBzdGF0ZW1lbnRzIHNpbWlsYXIgdG8gb3RoZXIgbGFuZ3VhZ2VzLiBCdXQgZG9u4oCZdCBiZSBmb29sZWQsIFNDU1Mgc3RpbGwgcmVzdWx0cyBpbiBzdGFuZGFyZCBDU1MgaW4gdGhlIGVuZC4gSXQgb25seSBjb250cm9scyA8c3Ryb25nPmhvdzwvc3Ryb25nPiBwcm9wZXJ0eSBhbmQgdmFsdWVzIGFyZSBnZW5lcmF0ZWQuPC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+TWl4aW5zOiBDcmVhdGUgYSBzZXQgb2YgQ1NTIHByb3BlcnRpZXMgb25jZSBhbmQgcmV1c2Ugb3Ig4oCcbWl44oCdIHRvZ2V0aGVyIHdpdGggYW55IG5ldyBkZWZpbml0aW9ucy4gSW4gcHJhY3RpY2UsIHlvdSBjYW4gdXNlIDxlbT5taXhpbnM8L2VtPiB0byBjcmVhdGUgc2VwYXJhdGUgdGhlbWVzIGZvciB0aGUgc2FtZSBsYXlvdXQsIGZvciBleGFtcGxlLjwvcD4KICA8L2xpPgo8L29sPgoKPGgyIGlkPSJzY3NzLXByZS1wcm9jZXNzb3IiPlNDU1MgUHJlLVByb2Nlc3NvcjwvaDI+Cgo8cD5TQ1NTIGlzIG5vdCBkeW5hbWljLiBZb3Ugd29u4oCZdCBiZSBhYmxlIHRvIGdlbmVyYXRlIG9yIGFuaW1hdGUgQ1NTIHByb3BlcnRpZXMgYW5kIHZhbHVlcyBpbiA8ZW0+cmVhbC10aW1lPC9lbT4uIEJ1dCB5b3UgY2FuIGdlbmVyYXRlIHRoZW0gaW4gYSBtb3JlIGVmZmljaWVudCB3YXkgYW5kIGxldCBzdGFuZGFyZCBwcm9wZXJ0aWVzIHBpY2sgdXAgZnJvbSB0aGVyZS48L3A+Cgo8aDMgaWQ9Im5ldy1zeW50YXgiPk5ldyBTeW50YXg/PC9oMz4KCjxwPlNDU1MgZG9lc27igJl0IHJlYWxseSBhZGQgYW55IG5ldyBmZWF0dXJlcyB0byB0aGUgQ1NTIGxhbmd1YWdlLiBKdXN0IG5ldyBzeW50YXggdGhhdCBjYW4gaW4gbWFueSBjYXNlcyBzaG9ydGVuIHRoZSBhbW91bnQgb2YgdGltZSBzcGVudCB3cml0aW5nIENTUyBjb2RlLjwvcD4KCjxoMyBpZD0icHJlcmVxdWlzaXRlcyI+UHJlcmVxdWlzaXRlczwvaDM+Cgo8cD5DU1MgcHJlLXByb2Nlc3NvcnMgYWRkIG5ldyBmZWF0dXJlcyB0byB0aGUgPGVtPnN5bnRheDwvZW0+IG9mIENTUyBsYW5ndWFnZS48L3A+Cgo8cD5UaGVyZeKAmXJlIDUgQ1NTIHByZS1wcm9jZXNzb3JzOiA8c3Ryb25nPlNhc3M8L3N0cm9uZz4sIDxzdHJvbmc+U0NTUzwvc3Ryb25nPiwgPHN0cm9uZz5MZXNzPC9zdHJvbmc+LCA8c3Ryb25nPlN0eWx1czwvc3Ryb25nPiBhbmQgPHN0cm9uZz5Qb3N0Q1NTPC9zdHJvbmc+LiBIZXJlLCBtb3N0bHkgZm9jdXMgb24gU0NTUyB3aGljaCBpcyBzaW1pbGFyIHRvIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnNhc3MtbGFuZy5jb20vIj5TYXNzPC9hPi48L3A+Cgo8dWw+CiAgPGxpPlNBU1MgKC5zYXNzKTogPHN0cm9uZz5TPC9zdHJvbmc+eW50YWN0aWNhbGx5IDxzdHJvbmc+QTwvc3Ryb25nPndlc29tZSA8c3Ryb25nPlM8L3N0cm9uZz50eWxlIDxzdHJvbmc+Uzwvc3Ryb25nPmhlZXRzPC9saT4KICA8bGk+U0NTUyAoLnNjc3MpOiA8c3Ryb25nPlM8L3N0cm9uZz5hc3N5IDxzdHJvbmc+Qzwvc3Ryb25nPmFzY2FkaW5nIDxzdHJvbmc+Uzwvc3Ryb25nPnR5bGUgPHN0cm9uZz5TPC9zdHJvbmc+aGVldHM8L2xpPgo8L3VsPgoKPHA+RXh0ZW5zaW9ucyA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtamF2YXNjcmlwdCBoaWdobGlnaHRlci1yb3VnZSI+PHNwYW4gY2xhc3M9InAiPi48L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5zYXNzPC9zcGFuPjwvY29kZT4gYW5kIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0icCI+Ljwvc3Bhbj48c3BhbiBjbGFzcz0ibngiPnNjc3M8L3NwYW4+PC9jb2RlPiBhcmUgc2ltaWxhciBidXQgbm90IHRoZSBzYW1lLiBGb3IgY29tbWFuZCBsaW5lIGVudGh1c2lhc3RzIG91dCB0aGVyZSwgeW91IGNhbiBjb252ZXJ0IGZyb20gPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJwIj4uPC9zcGFuPjxzcGFuIGNsYXNzPSJueCI+c2Fzczwvc3Bhbj48L2NvZGU+IHRvIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0icCI+Ljwvc3Bhbj48c3BhbiBjbGFzcz0ibngiPnNjc3M8L3NwYW4+PC9jb2RlPiBhbmQgYmFjazo8L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1zaCBoaWdobGlnaHRlci1yb3VnZSI+PGRpdiBjbGFzcz0iaGlnaGxpZ2h0Ij48cHJlIGNsYXNzPSJoaWdobGlnaHQiPjxjb2RlPjxzcGFuIGNsYXNzPSJjIj4jIGNvbnZlcnQgU2FzcyB0byBTQ1NTPC9zcGFuPgpzYXNzLWNvbnZlcnQgc3R5bGUuc2FzcyBzdHlsZS5zY3NzCgo8c3BhbiBjbGFzcz0iYyI+IyBjb252ZXJ0IFNDU1MgdG8gU2Fzczwvc3Bhbj4Kc2Fzcy1jb252ZXJ0IHN0eWxlLnNjc3Mgc3R5bGUuc2Fzcwo8L2NvZGU+PC9wcmU+PC9kaXY+PC9kaXY+Cgo8cD48c3Ryb25nPlNhc3M8L3N0cm9uZz4gd2FzIHRoZSBmaXJzdCBzcGVjaWZpY2F0aW9uIGZvciA8c3Ryb25nPlNhc3N5IENTUzwvc3Ryb25nPiB3aXRoIGZpbGUgZXh0ZW5zaW9uIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0icCI+Ljwvc3Bhbj48c3BhbiBjbGFzcz0ibngiPnNhc3M8L3NwYW4+PC9jb2RlPi4gVGhlIGRldmVsb3BtZW50IHN0YXJ0ZWQgaW4gMjAwNi4gQnV0IGxhdGVyIGFuIGFsdGVybmF0aXZlIHN5bnRheCB3YXMgZGV2ZWxvcGVkIHdpdGggZXh0ZW5zaW9uIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0icCI+Ljwvc3Bhbj48c3BhbiBjbGFzcz0ibngiPnNjc3M8L3NwYW4+PC9jb2RlPiB3aGljaCBzb21lIGRldmVsb3BlcnMgYmVsaWV2ZSB0byBiZSBhIGJldHRlciBvbmUuPC9wPgoKPHA+VGhlcmUgaXMgY3VycmVudGx5IG5vIDxzdHJvbmc+b3V0LW9mLXRoZS1ib3g8L3N0cm9uZz4gc3VwcG9ydCBmb3IgPHN0cm9uZz5TYXNzeSBDU1M8L3N0cm9uZz4gaW4gYW55IGJyb3dzZXIsIHJlZ2FyZGxlc3Mgb2Ygd2hpY2ggPHN0cm9uZz5TYXNzPC9zdHJvbmc+IHN5bnRheCBvciBleHRlbnNpb24geW91IHdvdWxkIHVzZS4gQnV0IHlvdSBjYW4gb3Blbmx5IGV4cGVyaW1lbnQgd2l0aCBhbnkgb2YgdGhlIDUgcHJlLXByb2Nlc3NvcnMgb24gPGEgaHJlZj0iaHR0cHM6Ly9jb2RlcGVuLmlvIj5jb2RlcGVuLmlvPC9hPi4gQXNpZGUgZnJvbSB0aGF0IHlvdSBoYXZlIHRvIGluc3RhbGwgYSBmYXZvdXJpdGUgQ1NTIHByZS1wcm9jZXNzb3Igb24geW91ciB3ZWIgc2VydmVyLjwvcD4KCjxoMyBpZD0ic3VwZXJzZXQiPlN1cGVyc2V0PC9oMz4KCjxwPlNhc3N5IENTUyBpbiBhbnkgb2YgaXRzIG1hbmlmZXN0YXRpb25zIGlzIGEgc3VwZXJzZXQgb2YgdGhlIENTUyBsYW5ndWFnZS4gVGhpcyBtZWFucywgZXZlcnl0aGluZyB0aGF0IHdvcmtzIGluIENTUyB3aWxsIHN0aWxsIHdvcmsgaW4gU2FzcyBvciBTQ1NTLjwvcD4KCjxoMyBpZD0idmFyaWFibGVzIj5WYXJpYWJsZXM8L2gzPgoKPHA+U2Fzcy9TQ1NTIGFsbG93cyB5b3UgdG8gd29yayB3aXRoIHZhcmlhYmxlcy4gVGhleSBhcmUgZGlmZmVyZW50IGZyb20gQ1NTIHZhcmlhYmxlcyB0aGF0IHN0YXJ0IHdpdGggZG91YmxlIGRhc2ggeW914oCZdmUgcHJvYmFibHkgc2VlbiBiZWZvcmUgKDxlbT5lLmcuPC9lbT4gPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJvIj4tLTwvc3Bhbj48c3BhbiBjbGFzcz0ibngiPmNvbG9yPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0iZXJyIj4jPC9zcGFuPjxzcGFuIGNsYXNzPSJtaSI+NTU1PC9zcGFuPjwvY29kZT4pLiBJbnN0ZWFkIHRoZXkgc3RhcnQgd2l0aCBhIGRvbGxhciBzaWduICg8ZW0+ZS5nLjwvZW0+IDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibngiPiRjb2xvcjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9ImVyciI+Izwvc3Bhbj48c3BhbiBjbGFzcz0ibWkiPjU1NTwvc3Bhbj48L2NvZGU+KS48L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1zY3NzIGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9Im52Ij4kbnVtYmVyPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+MTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KPHNwYW4gY2xhc3M9Im52Ij4kY29sb3I8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJtaCI+I0ZGRjAwMDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KPHNwYW4gY2xhc3M9Im52Ij4kdGV4dDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9InMyIj4iUGllY2Ugb2Ygc3RyaW5nLiI8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+CjxzcGFuIGNsYXNzPSJudiI+JHRleHQ8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJzMiI+IkFub3RoZXIgc3RyaW5nLiI8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj4hPC9zcGFuPjxzcGFuIGNsYXNzPSJuYiI+ZGVmYXVsdDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KPHNwYW4gY2xhc3M9Im52Ij4kbm90aGluZzwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPm51bGw8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+CjwvY29kZT48L3ByZT48L2Rpdj48L2Rpdj4KCjxwPllvdSBjYW4gdHJ5IHRvIG92ZXJ3cml0ZSBhIHZhcmlhYmxlIG5hbWUuIElmIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibyI+ITwvc3Bhbj48c3BhbiBjbGFzcz0iayI+ZGVmYXVsdDwvc3Bhbj48L2NvZGU+IGlzIGFwcGVuZGVkIHRvIHRoZSB2YXJpYWJsZSByZS1kZWZpbml0aW9uLCBhbmQgdGhlIHZhcmlhYmxlIGFscmVhZHkgZXhpc3RzLCBpdCBpcyBub3QgcmUtYXNzaWduZWQgYWdhaW4uIEluIG90aGVyIHdvcmRzLCB0aGlzIG1lYW5zIHRoYXQgdGhlIGZpbmFsIHZhbHVlIG9mIHZhcmlhYmxlIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibngiPiR0ZXh0PC9zcGFuPjwvY29kZT4gZnJvbSB0aGlzIGV4YW1wbGUgd2lsbCBzdGlsbCBiZSDigJxQaWVjZSBvZiBzdHJpbmcu4oCdIGFuZCB0aGUgc2Vjb25kIGFzc2lnbm1lbnQg4oCcQW5vdGhlciBzdHJpbmcu4oCdIGlzIGlnbm9yZWQsIGJlY2F1c2UgYSBkZWZhdWx0IHZhbHVlIGFscmVhZHkgZXhpc3RzLjwvcD4KCjxkaXYgY2xhc3M9Imxhbmd1YWdlLXNjc3MgaGlnaGxpZ2h0ZXItcm91Z2UiPjxkaXYgY2xhc3M9ImhpZ2hsaWdodCI+PHByZSBjbGFzcz0iaGlnaGxpZ2h0Ij48Y29kZT48c3BhbiBjbGFzcz0ibm4iPiNjb250YWluZXI8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+Y29udGVudDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im52Ij4kdGV4dDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+CjwvY29kZT48L3ByZT48L2Rpdj48L2Rpdj4KCjxoMyBpZD0ibmVzdGVkLXJ1bGVzIj5OZXN0ZWQgUnVsZXM8L2gzPgoKPHA+V2l0aCBzdGFuZGFyZCBDU1MsIG5lc3RlZCBlbGVtZW50cyBhcmUgYWNjZXNzZWQgPGVtPnZpYTwvZW0+IHNwYWNlIGNoYXJhY3Rlcjo8L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1jc3MgaGlnaGxpZ2h0ZXItcm91Z2UiPjxkaXYgY2xhc3M9ImhpZ2hsaWdodCI+PHByZSBjbGFzcz0iaGlnaGxpZ2h0Ij48Y29kZT48c3BhbiBjbGFzcz0iYyI+Lyogc3RhbmRhcmQgQ1NTICovPC9zcGFuPgo8c3BhbiBjbGFzcz0ibmYiPiNBPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibmwiPmNvbG9yPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibm8iPnJlZDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+Cgo8c3BhbiBjbGFzcz0ibmYiPiNBPC9zcGFuPiA8c3BhbiBjbGFzcz0ibmYiPiNCPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibmwiPmNvbG9yPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibm8iPmdyZWVuPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KCjxzcGFuIGNsYXNzPSJuZiI+I0E8L3NwYW4+IDxzcGFuIGNsYXNzPSJuZiI+I0I8L3NwYW4+IDxzcGFuIGNsYXNzPSJuZiI+I0M8L3NwYW4+IDxzcGFuIGNsYXNzPSJudCI+cDwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+CiAgPHNwYW4gY2xhc3M9Im5sIj5jb2xvcjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5vIj5ibHVlPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPHA+VGhlIGFib3ZlIGNvZGUgY2FuIGJlIGV4cHJlc3NlZCB3aXRoIFNhc3N54oCZcyBOZXN0ZWQgUnVsZXMgYXMgZm9sbG93czo8L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1zY3NzIGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9ImNtIj4vKiBOZXN0ZWQgUnVsZXMgKi88L3NwYW4+CjxzcGFuIGNsYXNzPSJubiI+I0E8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+Y29sb3I8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJubyI+cmVkPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubiI+I0I8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogICAgPHNwYW4gY2xhc3M9Im5sIj5jb2xvcjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5vIj5ncmVlbjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KICAgIDxzcGFuIGNsYXNzPSJubiI+I0M8L3NwYW4+IDxzcGFuIGNsYXNzPSJudCI+cDwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJubCI+Y29sb3I8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJubyI+Ymx1ZTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KICAgIDxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPHA+T2YgY291cnNlLCBpbiB0aGUgZW5kLCBpdCBhbGwgY29tcGlsZXMgdG8gbm9ybWFsIENTUywgaXTigJlzIGp1c3QgYW5vdGhlciBzeW50YXguPC9wPgoKPHA+QXMgeW91IGNhbiBzZWUgdGhpcyBzeW50YXggYXBwZWFycyBjbGVhbmVyIGFuZCBsZXNzIHJlcGV0aXRpdmUuPC9wPgoKPHA+VGhpcyBpcyBpbiBwYXJ0aWN1bGFyIGhlbHBmdWwgZm9yIG1hbmFnaW5nIGNvbXBsZXggbGF5b3V0cy4gVGhpcyB3YXkgdGhlIGFsaWdubWVudCBpbiB3aGljaCBuZXN0ZWQgQ1NTIHByb3BlcnRpZXMgYXJlIHdyaXR0ZW4gaW4gY29kZSBjbG9zZWx5IG1hdGNoZXMgdGhlIGFjdHVhbCBzdHJ1Y3R1cmUgb2YgdGhlIGFwcGxpY2F0aW9uIGxheW91dC48L3A+Cgo8aDMgaWQ9InRoZS0tY2hhcmFjdGVyIj5UaGUgJmFtcDsgQ2hhcmFjdGVyPC9oMz4KCjxwPlNhc3N5IENTUyBhZGRzIHRoZSA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtamF2YXNjcmlwdCBoaWdobGlnaHRlci1yb3VnZSI+PHNwYW4gY2xhc3M9Im8iPiZhbXA7PC9zcGFuPjwvY29kZT4gKGFuZCkgY2hhcmFjdGVyIGRpcmVjdGl2ZS48L3A+Cgo8cD5MZXTigJlzIHRha2UgYSBsb29rIGF0IGhvdyBpdCB3b3JrcyE8L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1zY3NzIGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9Im5uIj4jUDwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+CiAgPHNwYW4gY2xhc3M9Im5sIj5jb2xvcjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5vIj5ibGFjazwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibnQiPmE8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogICAgPHNwYW4gY2xhc3M9Im5sIj5mb250LXdlaWdodDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5iIj5ib2xkPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgogICAgPHNwYW4gY2xhc3M9ImsiPiZhbXA7PC9zcGFuPjxzcGFuIGNsYXNzPSJuZCI+OmhvdmVyPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9Im5sIj5jb2xvcjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5vIj5yZWQ8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+CiAgICA8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KICA8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+CjwvY29kZT48L3ByZT48L2Rpdj48L2Rpdj4KCjxwPk9uIGxpbmUgNSB0aGUgPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJvIj4mYW1wOzwvc3Bhbj48L2NvZGU+IGNoYXJhY3RlciB3YXMgdXNlZCB0byBzcGVjaWZ5IDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibyI+JmFtcDs8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5ob3Zlcjwvc3Bhbj48L2NvZGU+IGFuZCBjb252ZXJ0ZWQgdG8gdGhlIG5hbWUgb2YgdGhlIHBhcmVudCBlbGVtZW50IDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibngiPmE8L3NwYW4+PC9jb2RlPiBhZnRlciBjb21waWxhdGlvbi48L3A+Cgo8cD5TbyB0aGUgcmVzdWx0IG9mIGFib3ZlIFNDU1MgY29kZSB3aGVuIGl0IHdhcyBjb252ZXJ0ZWQgdG8gQ1NTIGlzOjwvcD4KCjxkaXYgY2xhc3M9Imxhbmd1YWdlLWNzcyBoaWdobGlnaHRlci1yb3VnZSI+PGRpdiBjbGFzcz0iaGlnaGxpZ2h0Ij48cHJlIGNsYXNzPSJoaWdobGlnaHQiPjxjb2RlPjxzcGFuIGNsYXNzPSJuZiI+I1A8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPiA8c3BhbiBjbGFzcz0ibmwiPmNvbG9yPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibm8iPmJsYWNrPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPHNwYW4gY2xhc3M9Im5mIj4jUDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im50Ij5hPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5sIj5mb250LXdlaWdodDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5iIj5ib2xkPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPHNwYW4gY2xhc3M9Im5mIj4jUDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im50Ij5hPC9zcGFuPjxzcGFuIGNsYXNzPSJuZCI+OmhvdmVyPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5sIj5jb2xvcjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5vIj5yZWQ8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPiA8c3BhbiBjbGFzcz0iYyI+LyogJmFtcDsgd2FzIGNvbXBpbGVkIHRvICdhJyBwYXJlbnQgKi88L3NwYW4+CjwvY29kZT48L3ByZT48L2Rpdj48L2Rpdj4KCjxwPlRoZSA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtamF2YXNjcmlwdCBoaWdobGlnaHRlci1yb3VnZSI+PHNwYW4gY2xhc3M9Im8iPiZhbXA7PC9zcGFuPjwvY29kZT4gY2hhcmFjdGVyIGlzIHNpbXBseSBjb252ZXJ0ZWQgdG8gdGhlIG5hbWUgb2YgdGhlIHBhcmVudCBlbGVtZW50IGFuZCBiZWNvbWVzIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibngiPmE8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5ob3Zlcjwvc3Bhbj48L2NvZGU+IGluIHRoaXMgY2FzZS48L3A+Cgo8aDMgaWQ9Im1peGlucyI+TWl4aW5zPC9oMz4KCjxwPkEgPGVtPm1peGluPC9lbT4gaXMgZGVmaW5lZCBieSB0aGUgPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJwIj5APC9zcGFuPjxzcGFuIGNsYXNzPSJuZCI+bWl4aW48L3NwYW4+PC9jb2RlPiBkaXJlY3RpdmUgKG9yIGFsc28ga25vd24gYXMgPHN0cm9uZz5taXhpbiBydWxlPC9zdHJvbmc+KS48L3A+Cgo8cD5MZXTigJlzIGNyZWF0ZSBvdXIgZmlyc3QgPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJwIj5APC9zcGFuPjxzcGFuIGNsYXNzPSJuZCI+bWl4aW48L3NwYW4+PC9jb2RlPiB0aGF0IGRlZmluZXMgZGVmYXVsdCBGbGV4IGJlaGF2aW91cjo8L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1zY3NzIGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9ImsiPkBtaXhpbjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5mIj5mbGV4aWJsZTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+ZGlzcGxheTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmZsZXg8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+CiAgPHNwYW4gY2xhc3M9Im5sIj5qdXN0aWZ5LWNvbnRlbnQ8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJuYiI+Y2VudGVyPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+YWxpZ24taXRlbXM8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJuYiI+Y2VudGVyPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KCjxzcGFuIGNsYXNzPSJuYyI+LmNlbnRyZWQtZWxlbWVudHM8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJrIj5AaW5jbHVkZTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5kIj5mbGV4aWJsZTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KCk7PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+Ym9yZGVyPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+MXB4PC9zcGFuPiA8c3BhbiBjbGFzcz0ibmIiPnNvbGlkPC9zcGFuPiA8c3BhbiBjbGFzcz0ibm8iPmdyYXk8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+CjxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPgo8L2NvZGU+PC9wcmU+PC9kaXY+PC9kaXY+Cgo8cD5Ob3csIGV2ZXJ5IHRpbWUgeW91IGFwcGx5IDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0icCI+Ljwvc3Bhbj48c3BhbiBjbGFzcz0ibngiPmNlbnRyZWQ8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPi08L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5lbGVtZW50czwvc3Bhbj48L2NvZGU+IGNsYXNzIHRvIGFuIEhUTUwgZWxlbWVudCBpdCB3aWxsIHR1cm4gaW50byBGbGV4Ym94LiBPbmUgb2YgdGhlIGtleSBiZW5lZml0cyBvZiBtaXhpbnMgaXMgdGhhdCB5b3UgY2FuIHVzZSB0aGVtIHRvZ2V0aGVyIHdpdGggb3RoZXIgQ1NTIHByb3BlcnRpZXMuPC9wPgoKPHA+SGVyZSwgaXQgd2FzIGFsc28gYWRkZWQgPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJueCI+Ym9yZGVyPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibWkiPjE8L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5weDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im54Ij5zb2xpZDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im54Ij5ncmF5PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPjwvY29kZT4gdG8gdGhlIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0icCI+Ljwvc3Bhbj48c3BhbiBjbGFzcz0ibngiPmNlbnRyZWQ8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPi08L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5lbGVtZW50czwvc3Bhbj48L2NvZGU+IGluIGFkZGl0aW9uIHRvIHRoZSBtaXhpbi48L3A+Cgo8cD5Zb3UgY2FuIGV2ZW4gcGFzcyBhcmd1bWVudHMgdG8gYSA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtamF2YXNjcmlwdCBoaWdobGlnaHRlci1yb3VnZSI+PHNwYW4gY2xhc3M9InAiPkA8L3NwYW4+PHNwYW4gY2xhc3M9Im5kIj5taXhpbjwvc3Bhbj48L2NvZGU+IGFzIGlmIGl0IHdhcyBmdW5jdGlvbiBhbmQgdGhlbiBhc3NpZ24gdGhlbSB0byBDU1MgcHJvcGVydGllcy4gV2XigJlsbCB0YWtlIGEgbG9vayBhdCB0aGF0IGluIHRoZSBuZXh0IHNlY3Rpb24uPC9wPgoKPGgzIGlkPSJtdWx0aXBsZS1icm93c2Vycy1leGFtcGxlIj5NdWx0aXBsZSBCcm93c2VycyBFeGFtcGxlPC9oMz4KCjxwPlNvbWUgZXhwZXJpbWVudGFsIGZlYXR1cmVzIChzdWNoIGFzIDxzdHJvbmc+LXdlYmtpdC08L3N0cm9uZz5iYXNlZCkgb3IgRmlyZWZveCAoPHN0cm9uZz4tbW96LTwvc3Ryb25nPmJhc2VkKSBvbmx5IHdvcmsgaW4gYnJvd3NlcnMgaW4gd2hpY2ggdGhleSBhcHBlYXIuPC9wPgoKPHA+TWl4aW5zIGFyZSBoZWxwZnVsIGluIGRlZmluaW5nIDxlbT5icm93c2VyLWFnbm9zdGljPC9lbT4gQ1NTIHByb3BlcnRpZXMgaW4gb25lIGNsYXNzLjwvcD4KCjxwPkZvciBleGFtcGxlLCBpZiB5b3UgbmVlZCB0byByb3RhdGUgYW4gZWxlbWVudCBpbiBXZWJraXQtYmFzZWQgYnJvd3NlcnMsIGFzIHdlbGwgYXMgdGhlIG90aGVyIG9uZXMsIHlvdSBjYW4gY3JlYXRlIHRoaXMgbWl4aW4gdGhhdCB0YWtlcyBhIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibngiPiRkZWdyZWU8L3NwYW4+PC9jb2RlPiBhcmd1bWVudDo8L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1zY3NzIGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9ImsiPkBtaXhpbjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5mIj5yb3RhdGU8L3NwYW4+PHNwYW4gY2xhc3M9InAiPig8L3NwYW4+PHNwYW4gY2xhc3M9Im52Ij4kZGVncmVlPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibmEiPi13ZWJraXQtdHJhbnNmb3JtPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibmYiPnJvdGF0ZTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibnYiPiRkZWdyZWU8L3NwYW4+PHNwYW4gY2xhc3M9InAiPik7PC9zcGFuPiA8c3BhbiBjbGFzcz0iYzEiPi8vIFdlYmtpdC1iYXNlZDwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibmEiPi1tb3otdHJhbnNmb3JtPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibmYiPnJvdGF0ZTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibnYiPiRkZWdyZWU8L3NwYW4+PHNwYW4gY2xhc3M9InAiPik7PC9zcGFuPiAgICA8c3BhbiBjbGFzcz0iYzEiPi8vIEZpcmVmb3g8L3NwYW4+CiAgPHNwYW4gY2xhc3M9Im5hIj4tbXMtdHJhbnNmb3JtPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibmYiPnJvdGF0ZTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibnYiPiRkZWdyZWU8L3NwYW4+PHNwYW4gY2xhc3M9InAiPik7PC9zcGFuPiAgICAgPHNwYW4gY2xhc3M9ImMxIj4vLyBJbnRlcm5ldCBFeHBsb3Jlcjwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibmEiPi1vLXRyYW5zZm9ybTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5mIj5yb3RhdGU8L3NwYW4+PHNwYW4gY2xhc3M9InAiPig8L3NwYW4+PHNwYW4gY2xhc3M9Im52Ij4kZGVncmVlPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4pOzwvc3Bhbj4gICAgICA8c3BhbiBjbGFzcz0iYzEiPi8vIE9wZXJhPC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+dHJhbnNmb3JtPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibmYiPnJvdGF0ZTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibnYiPiRkZWdyZWU8L3NwYW4+PHNwYW4gY2xhc3M9InAiPik7PC9zcGFuPiAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+Ly8gU3RhbmRhcmQgQ1NTPC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPHA+Tm93LCBhbGwgd2UgaGF2ZSB0byBkbyBpcyA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtamF2YXNjcmlwdCBoaWdobGlnaHRlci1yb3VnZSI+PHNwYW4gY2xhc3M9InAiPkA8L3NwYW4+PHNwYW4gY2xhc3M9Im5kIj5pbmNsdWRlPC9zcGFuPjwvY29kZT4gdGhpcyBtaXhpbiBpbiB0aGUgQ1NTIGNsYXNzIGRlZmluaXRpb246PC9wPgoKPGRpdiBjbGFzcz0ibGFuZ3VhZ2Utc2NzcyBoaWdobGlnaHRlci1yb3VnZSI+PGRpdiBjbGFzcz0iaGlnaGxpZ2h0Ij48cHJlIGNsYXNzPSJoaWdobGlnaHQiPjxjb2RlPjxzcGFuIGNsYXNzPSJuYyI+LnJvdGF0ZS1lbGVtZW50PC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICA8c3BhbiBjbGFzcz0iayI+QGluY2x1ZGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJuZCI+cm90YXRlPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJtIj40NWRlZzwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KTwvc3Bhbj4KPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+CjwvY29kZT48L3ByZT48L2Rpdj48L2Rpdj4KCjxoMyBpZD0iYXJpdGhtZXRpYy1vcGVyYXRvcnMiPkFyaXRobWV0aWMgT3BlcmF0b3JzPC9oMz4KCjxwPlNpbWlsYXIgdG8gc3RhbmRhcmQgQ1NTIHN5bnRheCwgeW91IGNhbiA8ZW0+YWRkPC9lbT4sIDxlbT5zdWJzdHJhY3Q8L2VtPiwgPGVtPm11bHRpcGx5PC9lbT4gYW5kIDxlbT5kaXZpZGU8L2VtPiB2YWx1ZXMuIFdpdGhvdXQgaGF2aW5nIHRvIHVzZSB0aGUgPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJueCI+Y2FsYzwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KCk8L3NwYW4+PC9jb2RlPiBmdW5jdGlvbiBmcm9tIHRoZSBjbGFzc2ljIENTUyBzeW50YXguPC9wPgoKPHA+QnV0IHRoZXJlIGFyZSBhIGZldyBub24tb2J2aW91cyBjYXNlcyB0aGF0IG1pZ2h0IHByb2R1Y2UgZXJyb3JzLjwvcD4KCjxoNCBpZD0iYWRkaXRpb24iPkFkZGl0aW9uPC9oND4KCjxkaXYgY2xhc3M9Imxhbmd1YWdlLXNjc3MgaGlnaGxpZ2h0ZXItcm91Z2UiPjxkaXYgY2xhc3M9ImhpZ2hsaWdodCI+PHByZSBjbGFzcz0iaGlnaGxpZ2h0Ij48Y29kZT48c3BhbiBjbGFzcz0ibnQiPnA8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+Zm9udC1zaXplPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+MTBweDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4yZW08L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+IDxzcGFuIGNsYXNzPSJjMSI+Ly8gKmVycm9yOiBpbmNvbXBhdGlibGUgdW5pdHM8L3NwYW4+CiAgPHNwYW4gY2xhc3M9Im5sIj5mb250LXNpemU8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4xMHB4PC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPjZweDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9ImMxIj4vLyAxNnB4PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+Zm9udC1zaXplPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+MTBweDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj42PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPiAgIDxzcGFuIGNsYXNzPSJjMSI+Ly8gMTZweDwvc3Bhbj4KPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+CjwvY29kZT48L3ByZT48L2Rpdj48L2Rpdj4KCjxwPkp1c3QgbWFrZSBzdXJlIHRoYXQgYm90aCB2YWx1ZXMgYXJlIHByb3ZpZGVkIGluIGEgbWF0Y2hpbmcgZm9ybWF0LjwvcD4KCjxoNCBpZD0ic3Vic3RyYWN0aW9uIj5TdWJzdHJhY3Rpb248L2g0PgoKPHA+U3Vic3RyYWN0aW9uIG9wZXJhdG9yIHdvcmtzIGluIHRoZSBzYW1lIGV4YWN0IHdheSBhcyBhZGRpdGlvbi48L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1zY3NzIGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9Im50Ij5kaXY8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+aGVpZ2h0PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+MTIlPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+LTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPjIlPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+bWFyZ2luPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+NHJlbTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPi0xPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPGg0IGlkPSJtdWx0aXBsaWNhdGlvbiI+TXVsdGlwbGljYXRpb248L2g0PgoKPHA+VGhlIHN0YXIgaXMgdXNlZCBmb3IgbXVsdGlwbGljYXRpb24uIEp1c3QgbGlrZSB3aXRoIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibngiPmNhbGM8L3NwYW4+PHNwYW4gY2xhc3M9InAiPig8L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5hPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4qPC9zcGFuPjxzcGFuIGNsYXNzPSJueCI+Yjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KTwvc3Bhbj48L2NvZGU+IGluIHN0YW5kYXJkIENTUy48L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1zY3NzIGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9Im50Ij5wPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibmwiPndpZHRoPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+MTBweDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPio8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4xMHB4PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPiAJCQkJIDxzcGFuIGNsYXNzPSJjMSI+Ly8gKmVycm9yPC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+d2lkdGg8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4xMHB4PC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+Kjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPjEwPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPiAgIAkJCQkgPHNwYW4gY2xhc3M9ImMxIj4vLyAxMDBweDwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibmwiPndpZHRoPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+MXB4PC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+Kjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPjU8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj4rPC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+NXB4PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPiAJCQkgPHNwYW4gY2xhc3M9ImMxIj4vLyAxMHB4PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+d2lkdGg8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj41PC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+Kjwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPig8L3NwYW4+PHNwYW4gY2xhc3M9Im0iPjVweDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj41cHg8L3NwYW4+PHNwYW4gY2xhc3M9InAiPik7PC9zcGFuPiAJCSA8c3BhbiBjbGFzcz0iYzEiPi8vIDUwcHg8L3NwYW4+CiAgPHNwYW4gY2xhc3M9Im5sIj53aWR0aDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPjVweDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJtIj4xMHB4PC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+Lzwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPjI8L3NwYW4+PHNwYW4gY2xhc3M9InAiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj4qPC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+Mzwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9ImMxIj4vLyAyMHB4PC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPGg0IGlkPSJkaXZpc2lvbiI+RGl2aXNpb248L2g0PgoKPHA+RGl2aXNpb24gaXMgYSBiaXQgdHJpY2t5LiBCZWNhdXNlIGluIHN0YW5kYXJkIENTUyB0aGUgZGl2aXNpb24gc3ltYm9sIGlzIDxlbT5yZXNlcnZlZDwvZW0+IGZvciB1c2luZyB0b2dldGhlciB3aXRoIHNvbWUgb3RoZXIgc2hvcnQtaGFuZCBwcm9wZXJ0aWVzLiBGb3IgZXhhbXBsZSwgPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJueCI+Zm9udDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im1pIj4yNDwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Lzwvc3Bhbj48c3BhbiBjbGFzcz0ibWkiPjMyPC9zcGFuPjxzcGFuIGNsYXNzPSJueCI+cHg8L3NwYW4+PC9jb2RlPiBkZWZpbmVzIGEgZm9udCB3aXRoIHNpemUgb2YgMjVweCBhbmQgbGluZS1oZWlnaHQgb2YgMzJweC4gQnV0IFNDU1MgY2xhaW1zIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBzdGFuZGFyZCBDU1MuPC9wPgoKPGRpdiBjbGFzcz0ibGFuZ3VhZ2Utc2NzcyBoaWdobGlnaHRlci1yb3VnZSI+PGRpdiBjbGFzcz0iaGlnaGxpZ2h0Ij48cHJlIGNsYXNzPSJoaWdobGlnaHQiPjxjb2RlPjxzcGFuIGNsYXNzPSJudCI+cDwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+IDxzcGFuIGNsYXNzPSJubCI+Zm9udDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPjE2cHg8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj4vPC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+MjRweDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPkFyaWFsPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0ibmIiPnNhbnMtc2VyaWY8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPgo8L2NvZGU+PC9wcmU+PC9kaXY+PC9kaXY+Cgo8cD5JbiBzdGFuZGFyZCBDU1MsIHRoZSBkaXZpc2lvbiBzeW1ib2wgYXBwZWFycyBpbiBzaG9ydC1oYW5kIGZvbnQgcHJvcGVydHkuIEJ1dCBpdCBpc27igJl0IHVzZWQgdG8gYWN0dWFsbHkgZGl2aWRlIHZhbHVlcy4gU28sIGhvdyBkb2VzIFNhc3MgaGFuZGxlIGRpdmlzaW9uPzwvcD4KCjxkaXYgY2xhc3M9Imxhbmd1YWdlLXNjc3MgaGlnaGxpZ2h0ZXItcm91Z2UiPjxkaXYgY2xhc3M9ImhpZ2hsaWdodCI+PHByZSBjbGFzcz0iaGlnaGxpZ2h0Ij48Y29kZT48c3BhbiBjbGFzcz0ibnQiPnA8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+dG9wPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+MTZweDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPi88L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4yNHB4PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgkJCQkJPHNwYW4gY2xhc3M9ImMxIj4vLyBPdXRwdXRzIGFzIGNsYXNzaWMgQ1NTPC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+dG9wPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibSI+MTZweDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPi88L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4yNHB4PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4pOzwvc3Bhbj4JCQkJPHNwYW4gY2xhc3M9ImMxIj4vLyBEb2VzIGRpdmlzaW9uICh3aGVuIHBhcmVudGhlc2VzIGFyZSBhZGRlZCk8L3NwYW4+CiAgPHNwYW4gY2xhc3M9Im5sIj50b3A8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJzaSI+I3s8L3NwYW4+PHNwYW4gY2xhc3M9Im52Ij4kdmFyMTwvc3Bhbj48c3BhbiBjbGFzcz0ic2kiPn08L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj4vPC9zcGFuPiA8c3BhbiBjbGFzcz0ic2kiPiN7PC9zcGFuPjxzcGFuIGNsYXNzPSJudiI+JHZhcjI8L3NwYW4+PHNwYW4gY2xhc3M9InNpIj59PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPiA8c3BhbiBjbGFzcz0iYzEiPi8vIFVzZXMgaW50ZXJwb2xhdGlvbiwgb3V0cHV0cyBhcyBDU1M8L3NwYW4+CiAgPHNwYW4gY2xhc3M9Im5sIj50b3A8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJudiI+JHZhcjE8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj4vPC9zcGFuPiA8c3BhbiBjbGFzcz0ibnYiPiR2YXIyPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgkJCQk8c3BhbiBjbGFzcz0iYzEiPi8vIERvZXMgZGl2aXNpb248L3NwYW4+CiAgPHNwYW4gY2xhc3M9Im5sIj50b3A8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJuZiI+cmFuZG9tPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJtIj40PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+Lzwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPjU8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+CQkJCTxzcGFuIGNsYXNzPSJjMSI+Ly8gRG9lcyBkaXZpc2lvbiAod2hlbiBwYWlyZWQgd2l0aCBmdW5jdGlvbik8L3NwYW4+CiAgPHNwYW4gY2xhc3M9Im5sIj50b3A8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4ycHg8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj4vPC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+NHB4PC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPjNweDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4JCQk8c3BhbiBjbGFzcz0iYzEiPi8vIERvZXMgZGl2aXNpb24gKHdoZW4gcGFydCBvZiBhcml0aG1ldGljKTwvc3Bhbj4KPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+CjwvY29kZT48L3ByZT48L2Rpdj48L2Rpdj4KCjxwPklmIHlvdSB3YW50IGRpdmlkZSB0d28gdmFsdWVzLCBzaW1wbHkgYWRkIHBhcmVudGhlc2lzIGFyb3VuZCB0aGUgZGl2aXNpb24gb3BlcmF0aW9uLiBPdGhlcndpc2UsIGRpdmlzaW9uIHdpbGwgd29yayBvbmx5IGluIGNvbWJpbmF0aW9uIHdpdGggc29tZSBvZiB0aGUgb3RoZXIgb3BlcmF0b3JzIG9yIGZ1bmN0aW9ucy48L3A+Cgo8aDQgaWQ9InJlbWluZGVyIj5SZW1pbmRlcjwvaDQ+Cgo8cD5UaGUgcmVtYWluZGVyIGNhbGN1bGF0ZXMgdGhlIHJlbWFpbmRlciBvZiB0aGUgZGl2aXNpb24gb3BlcmF0aW9uLiBJbiB0aGlzIGV4YW1wbGUuIGxldOKAmXMgc2VlIGhvdyBpdCBjYW4gYmUgdXNlZCB0byBjcmVhdGUgYSB6ZWJyYSBzdHJpcGUgcGF0dGVybiBmb3IgYW4gYXJiaXRyYXJ5IHNldCBvZiBIVE1MIGVsZW1lbnRzLjwvcD4KCjxkaXYgY2xhc3M9Imxhbmd1YWdlLXNjc3MgaGlnaGxpZ2h0ZXItcm91Z2UiPjxkaXYgY2xhc3M9ImhpZ2hsaWdodCI+PHByZSBjbGFzcz0iaGlnaGxpZ2h0Ij48Y29kZT48c3BhbiBjbGFzcz0iayI+QG1peGluPC9zcGFuPiA8c3BhbiBjbGFzcz0ibmYiPnplYnJhPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4oKTwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+CiAgPHNwYW4gY2xhc3M9ImsiPkBmb3I8L3NwYW4+IDxzcGFuIGNsYXNzPSJudiI+JGk8L3NwYW4+IDxzcGFuIGNsYXNzPSJvdyI+ZnJvbTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPjE8L3NwYW4+IDxzcGFuIGNsYXNzPSJvdyI+dGhyb3VnaDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPjc8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogICAgPHNwYW4gY2xhc3M9ImsiPkBpZjwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPig8L3NwYW4+PHNwYW4gY2xhc3M9Im52Ij4kaTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPiU8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4yPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4xPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9Im5jIj4uc3RyaXBlLTwvc3Bhbj48c3BhbiBjbGFzcz0ic2kiPiN7PC9zcGFuPjxzcGFuIGNsYXNzPSJudiI+JGk8L3NwYW4+PHNwYW4gY2xhc3M9InNpIj59PC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0ibmwiPmJhY2tncm91bmQtY29sb3I8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJubyI+YmxhY2s8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9Im5sIj5jb2xvcjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5vIj53aGl0ZTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+CiAgICA8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KICA8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+Cgo8c3BhbiBjbGFzcz0ibyI+Kjwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5AaW5jbHVkZTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5kIj56ZWJyYTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KCk8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPgo8L2NvZGU+PC9wcmU+PC9kaXY+PC9kaXY+Cgo8cD48c3Ryb25nPjxlbT5Ob3RlPC9lbT48L3N0cm9uZz46IHRoZSA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtamF2YXNjcmlwdCBoaWdobGlnaHRlci1yb3VnZSI+PHNwYW4gY2xhc3M9InAiPkA8L3NwYW4+PHNwYW4gY2xhc3M9Im5kIj5mb3I8L3NwYW4+PC9jb2RlPiBhbmQgPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJwIj5APC9zcGFuPjxzcGFuIGNsYXNzPSJuZCI+aWY8L3NwYW4+PC9jb2RlPiBydWxlcyBhcmUgZGlzY3Vzc2VkIGluIGEgZm9sbG93aW5nIHNlY3Rpb24uPC9wPgoKPHA+VGhpcyBkZW1vIHJlcXVpcmVzIGF0IGxlYXN0IGEgZmV3IEhUTUwgZWxlbWVudHM6PC9wPgoKPGRpdiBjbGFzcz0ibGFuZ3VhZ2UtaHRtbCBoaWdobGlnaHRlci1yb3VnZSI+PGRpdiBjbGFzcz0iaGlnaGxpZ2h0Ij48cHJlIGNsYXNzPSJoaWdobGlnaHQiPjxjb2RlPjxzcGFuIGNsYXNzPSJudCI+Jmx0O2Rpdjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5hIj5jbGFzcz08L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJzdHJpcGUtMSI8L3NwYW4+PHNwYW4gY2xhc3M9Im50Ij4mZ3Q7PC9zcGFuPnplYnJhPHNwYW4gY2xhc3M9Im50Ij4mbHQ7L2RpdiZndDs8L3NwYW4+CjxzcGFuIGNsYXNzPSJudCI+Jmx0O2Rpdjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5hIj5jbGFzcz08L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJzdHJpcGUtMiI8L3NwYW4+PHNwYW4gY2xhc3M9Im50Ij4mZ3Q7PC9zcGFuPnplYnJhPHNwYW4gY2xhc3M9Im50Ij4mbHQ7L2RpdiZndDs8L3NwYW4+CjxzcGFuIGNsYXNzPSJudCI+Jmx0O2Rpdjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5hIj5jbGFzcz08L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJzdHJpcGUtMyI8L3NwYW4+PHNwYW4gY2xhc3M9Im50Ij4mZ3Q7PC9zcGFuPnplYnJhPHNwYW4gY2xhc3M9Im50Ij4mbHQ7L2RpdiZndDs8L3NwYW4+CjxzcGFuIGNsYXNzPSJudCI+Jmx0O2Rpdjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5hIj5jbGFzcz08L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJzdHJpcGUtNCI8L3NwYW4+PHNwYW4gY2xhc3M9Im50Ij4mZ3Q7PC9zcGFuPnplYnJhPHNwYW4gY2xhc3M9Im50Ij4mbHQ7L2RpdiZndDs8L3NwYW4+CjxzcGFuIGNsYXNzPSJudCI+Jmx0O2Rpdjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5hIj5jbGFzcz08L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJzdHJpcGUtNSI8L3NwYW4+PHNwYW4gY2xhc3M9Im50Ij4mZ3Q7PC9zcGFuPnplYnJhPHNwYW4gY2xhc3M9Im50Ij4mbHQ7L2RpdiZndDs8L3NwYW4+CjxzcGFuIGNsYXNzPSJudCI+Jmx0O2Rpdjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5hIj5jbGFzcz08L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJzdHJpcGUtNiI8L3NwYW4+PHNwYW4gY2xhc3M9Im50Ij4mZ3Q7PC9zcGFuPnplYnJhPHNwYW4gY2xhc3M9Im50Ij4mbHQ7L2RpdiZndDs8L3NwYW4+CjxzcGFuIGNsYXNzPSJudCI+Jmx0O2Rpdjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5hIj5jbGFzcz08L3NwYW4+PHNwYW4gY2xhc3M9InMiPiJzdHJpcGUtNyI8L3NwYW4+PHNwYW4gY2xhc3M9Im50Ij4mZ3Q7PC9zcGFuPnplYnJhPHNwYW4gY2xhc3M9Im50Ij4mbHQ7L2RpdiZndDs8L3NwYW4+CjwvY29kZT48L3ByZT48L2Rpdj48L2Rpdj4KCjxoMyBpZD0iY29tcGFyaXNvbi1vcGVyYXRvcnMiPkNvbXBhcmlzb24gT3BlcmF0b3JzPC9oMz4KCjx0YWJsZT4KICA8dGhlYWQ+CiAgICA8dHI+CiAgICAgIDx0aCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyIj5PcGVyYXRvcjwvdGg+CiAgICAgIDx0aCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyIj5FeGFtcGxlPC90aD4KICAgICAgPHRoPkRlc2NyaXB0aW9uPC90aD4KICAgIDwvdHI+CiAgPC90aGVhZD4KICA8dGJvZHk+CiAgICA8dHI+CiAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyIj49PTwvdGQ+CiAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyIj54ID09IHk8L3RkPgogICAgICA8dGQ+cmV0dXJucyB0cnVlIGlmIHggYW5kIHkgYXJlIGVxdWFsPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyIj4hPTwvdGQ+CiAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyIj54ICE9IHk8L3RkPgogICAgICA8dGQ+cmV0dXJucyB0cnVlIGlmIHggYW5kIHkgYXJlIG5vdCBlcXVhbDwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlciI+Jmd0OzwvdGQ+CiAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyIj54ICZndDsgeTwvdGQ+CiAgICAgIDx0ZD5yZXR1cm5zIHRydWUgaWYgeCBpcyBncmVhdGVyIHRoYW4geTwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlciI+Jmx0OzwvdGQ+CiAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyIj54ICZsdDsgeTwvdGQ+CiAgICAgIDx0ZD5yZXR1cm5zIHRydWUgaWYgeCBpcyBsZXNzIHRoYW4geTwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlciI+Jmd0Oz08L3RkPgogICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlciI+eCAmZ3Q7PSB5PC90ZD4KICAgICAgPHRkPnJldHVybnMgdHJ1ZSBpZiB4IGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB5PC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyIj4mbHQ7PTwvdGQ+CiAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyIj54ICZsdDs9IHk8L3RkPgogICAgICA8dGQ+cmV0dXJucyB0cnVlIGlmIHggaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHk8L3RkPgogICAgPC90cj4KICA8L3Rib2R5Pgo8L3RhYmxlPgoKPHA+SG93IGNhbiBjb21wYXJpc29uIG9wZXJhdG9ycyBiZSB1c2VkIGluIHByYWN0aWNlPyBXZSBjYW4gdHJ5IHRvIHdyaXRlIGEgPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJwIj5APC9zcGFuPjxzcGFuIGNsYXNzPSJuZCI+bWl4aW48L3NwYW4+PC9jb2RlPiB0aGF0IHdpbGwgY2hvb3NlIHBhZGRpbmcgc2l6aW5nIGlmIGl04oCZcyBncmVhdGVyIHRoYW4gdGhlIG1hcmdpbjo8L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1zY3NzIGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9ImsiPkBtaXhpbjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5mIj5zcGFjaW5nPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJudiI+JHBhZGRpbmc8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJudiI+JG1hcmdpbjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+CiAgPHNwYW4gY2xhc3M9ImsiPkBpZjwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPig8L3NwYW4+PHNwYW4gY2xhc3M9Im52Ij4kcGFkZGluZzwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPiZndDs8L3NwYW4+IDxzcGFuIGNsYXNzPSJudiI+JG1hcmdpbjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+CiAgICA8c3BhbiBjbGFzcz0ibmwiPnBhZGRpbmc8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJudiI+JHBhZGRpbmc8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+CiAgPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5AZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+CiAgICA8c3BhbiBjbGFzcz0ibmwiPnBhZGRpbmc8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJudiI+JG1hcmdpbjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KICA8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+Cgo8c3BhbiBjbGFzcz0ibmMiPi5jb250YWluZXI8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJrIj5AaW5jbHVkZTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5kIj5zcGFjaW5nPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJtIj4xMHB4PC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+MjBweDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KTwvc3Bhbj4KPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+CjwvY29kZT48L3ByZT48L2Rpdj48L2Rpdj4KCjxwPkFmdGVyIGNvbXBpbGluZyB3ZSB3aWxsIGFycml2ZSBhdCB0aGlzIENTUzo8L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1jc3MgaGlnaGxpZ2h0ZXItcm91Z2UiPjxkaXYgY2xhc3M9ImhpZ2hsaWdodCI+PHByZSBjbGFzcz0iaGlnaGxpZ2h0Ij48Y29kZT48c3BhbiBjbGFzcz0ibmMiPi5jb250YWluZXI8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPiA8c3BhbiBjbGFzcz0ibmwiPnBhZGRpbmc8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4yMHB4PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPGgzIGlkPSJsb2dpY2FsLW9wZXJhdG9ycyI+TG9naWNhbCBPcGVyYXRvcnM8L2gzPgoKPHRhYmxlPgogIDx0aGVhZD4KICAgIDx0cj4KICAgICAgPHRoPk9wZXJhdG9yPC90aD4KICAgICAgPHRoPkV4YW1wbGU8L3RoPgogICAgICA8dGg+RGVzY3JpcHRpb248L3RoPgogICAgPC90cj4KICA8L3RoZWFkPgogIDx0Ym9keT4KICAgIDx0cj4KICAgICAgPHRkPmFuZDwvdGQ+CiAgICAgIDx0ZD54IGFuZCB5PC90ZD4KICAgICAgPHRkPnJldHVybnMgdHJ1ZSBpZiB4IGFuZCB5IGFyZSB0cnVlPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZD5vcjwvdGQ+CiAgICAgIDx0ZD54IG9yIHk8L3RkPgogICAgICA8dGQ+cmV0dXJucyB0cnVlIGlmIHggb3IgeSBpcyB0cnVlPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZD5ub3Q8L3RkPgogICAgICA8dGQ+bm90IHg8L3RkPgogICAgICA8dGQ+cmV0dXJucyB0cnVlIGlmIHggaXMgbm90IHRydWU8L3RkPgogICAgPC90cj4KICA8L3Rib2R5Pgo8L3RhYmxlPgoKPGRpdiBjbGFzcz0ibGFuZ3VhZ2Utc2NzcyBoaWdobGlnaHRlci1yb3VnZSI+PGRpdiBjbGFzcz0iaGlnaGxpZ2h0Ij48cHJlIGNsYXNzPSJoaWdobGlnaHQiPjxjb2RlPjxzcGFuIGNsYXNzPSJrIj5AbWl4aW48L3NwYW4+IDxzcGFuIGNsYXNzPSJuZiI+YnV0dG9uLWNvbG9yPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJudiI+JGhlaWdodDwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im52Ij4kd2lkdGg8L3NwYW4+PHNwYW4gY2xhc3M9InAiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJrIj5AaWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj4oKDwvc3Bhbj48c3BhbiBjbGFzcz0ibnYiPiRoZWlnaHQ8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj4mbHQ7PC9zcGFuPiA8c3BhbiBjbGFzcz0ibnYiPiR3aWR0aDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5mIj5hbmQ8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJudiI+JHdpZHRoPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+Jmd0Oz08L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4zNXB4PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+CiAgICA8c3BhbiBjbGFzcz0ibmwiPmJhY2tncm91bmQtY29sb3I8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJubyI+Ymx1ZTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KICA8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPkBlbHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICAgIDxzcGFuIGNsYXNzPSJubCI+YmFja2dyb3VuZC1jb2xvcjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5vIj5ncmVlbjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KICA8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+Cgo8c3BhbiBjbGFzcz0ibmMiPi5idXR0b248L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJrIj5AaW5jbHVkZTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5kIj5idXR0b24tY29sb3I8L3NwYW4+PHNwYW4gY2xhc3M9InAiPig8L3NwYW4+PHNwYW4gY2xhc3M9Im0iPjIwcHg8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4zMHB4PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4pPC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPHA+Q3JlYXRlcyBhIGJ1dHRvbiBjb2xvciBjbGFzcyB0aGF0IGNoYW5nZXMgaXRzIGJhY2tncm91bmQgY29sb3IgYmFzZWQgb24gaXRzIHdpZHRoLjwvcD4KCjxoMyBpZD0ic3RyaW5ncyI+U3RyaW5nczwvaDM+Cgo8cD5JbiBzb21lIGNhc2VzLCBpdCBpcyBwb3NzaWJsZSB0byBhZGQgc3RyaW5ncyB0byB2YWxpZCBub24tcXVvdGVkIENTUyB2YWx1ZXMsIGFzIGxvbmcgYXMgdGhlIGFkZGVkIHN0cmluZyBpcyB0cmFpbGluZzo8L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1zY3NzIGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9Im50Ij5wPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibmwiPmZvbnQ8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj41MHB4PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+QXJpPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9InMyIj4iYWwiPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPiA8c3BhbiBjbGFzcz0iYzEiPi8vIGNvbXBpbGVzIHRvIDUwcHggQXJpYWw8L3NwYW4+CjxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPgo8L2NvZGU+PC9wcmU+PC9kaXY+PC9kaXY+Cgo8cD5UaGUgZm9sbG93aW5nIGV4YW1wbGUsIG9uIHRoZSBvdGhlciBoYW5kLCB3aWxsIHByb2R1Y2UgYSBjb21waWxhdGlvbiBlcnJvcjo8L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1zY3NzIGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9Im50Ij5wPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibmwiPmZvbnQ8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJzMiI+IjUwcHgiPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPkFyaWFsPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPiA8c3BhbiBjbGFzcz0iYzEiPi8vIEVycm9yPC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPHA+WW91IGNhbiBhZGQgc3RyaW5ncyB0b2dldGhlciB3aXRob3V0IGRvdWJsZSBxdW90ZXMsIGFzIGxvbmcgYXMgdGhlIHN0cmluZyBkb2VzbuKAmXQgY29udGFpbiBzcGFjZXMuIEZvciBleGFtcGxlLCB0aGUgZm9sbG93aW5nIGV4YW1wbGUgd2lsbCBub3QgY29tcGlsZTo8L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1zY3NzIGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9Im50Ij5wPC9zcGFuPjxzcGFuIGNsYXNzPSJuZCI+OmFmdGVyPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibmwiPmNvbnRlbnQ8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJzMiI+IlF1b3RlZCBzdHJpbmcgd2l0aCAiPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmFkZGVkPC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+dGFpbDwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Ljwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+CjwvY29kZT48L3ByZT48L2Rpdj48L2Rpdj4KCjxwPkJ1dCBjYW4gYmUgZml4ZWQgd2l0aDo8L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1zY3NzIGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9Im50Ij5wPC9zcGFuPjxzcGFuIGNsYXNzPSJuZCI+OmFmdGVyPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibmwiPmNvbnRlbnQ8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJzMiI+IlF1b3RlZCBzdHJpbmcgd2l0aCAiPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9InMyIj4iYWRkZWQgdGFpbC4iPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPHA+QW5kIHlvdSBjYW4gYWRkIG11bHRpcGxlIHN0cmluZ3Mgd2l0aDo8L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1zY3NzIGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9Im50Ij5wPC9zcGFuPjxzcGFuIGNsYXNzPSJuZCI+OmFmdGVyPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibmwiPmNvbnRlbnQ8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJzMiI+IkxvbmcgIjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJzMiI+IlN0cmluZyAiPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9InMyIj4iQWRkZWQiPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPHA+QWxzbywgeW91IGNhbiBtaXggdGhlIHN0cmluZyB3aXRoIG51bWJlcnM6PC9wPgoKPGRpdiBjbGFzcz0ibGFuZ3VhZ2Utc2NzcyBoaWdobGlnaHRlci1yb3VnZSI+PGRpdiBjbGFzcz0iaGlnaGxpZ2h0Ij48cHJlIGNsYXNzPSJoaWdobGlnaHQiPjxjb2RlPjxzcGFuIGNsYXNzPSJudCI+cDwvc3Bhbj48c3BhbiBjbGFzcz0ibmQiPjphZnRlcjwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+CiAgPHNwYW4gY2xhc3M9Im5sIj5jb250ZW50PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0iczIiPiJMb25nICI8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj4rPC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+MTIzNDU2Nzwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJzMiI+IkFkZGVkIjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+CjwvY29kZT48L3ByZT48L2Rpdj48L2Rpdj4KCjxibG9ja3F1b3RlPgogIDxwPk5vdGU6IDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibngiPmNvbnRlbnQ8L3NwYW4+PC9jb2RlPiBwcm9wZXJ0eSB3b3JrcyBvbmx5IHdpdGggcHNldWRvIHNlbGVjdG9ycyA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtamF2YXNjcmlwdCBoaWdobGlnaHRlci1yb3VnZSI+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5iZWZvcmU8L3NwYW4+PC9jb2RlPiBhbmQgPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPjxzcGFuIGNsYXNzPSJueCI+YWZ0ZXI8L3NwYW4+PC9jb2RlPi4gSXQgaXMgcmVjb21tZW5kZWQgdG8gYXZvaWQgdXNpbmcgPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJueCI+Y29udGVudDwvc3Bhbj48L2NvZGU+IHByb3BlcnR5IGluIHlvdXIgQ1NTIGRlZmluaXRpb25zIGFuZCBpbnN0ZWFkIGFsd2F5cyBjb250ZW50IGJldHdlZW4gSFRNTCB0YWdzLiBIZXJlLCBpdCBpcyBleHBsYWluZWQgb25seSBpbiB0aGUgY29udGV4dCBvZiB3b3JraW5nIHdpdGggc3RyaW5ncyBpbiBTYXNzL1NDU1MuPC9wPgo8L2Jsb2NrcXVvdGU+Cgo8aDMgaWQ9ImNvbnRyb2wtZmxvdy1zdGF0ZW1lbnRzIj5Db250cm9sLUZsb3cgU3RhdGVtZW50czwvaDM+Cgo8cD5TQ1NTIGhhcyA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtamF2YXNjcmlwdCBoaWdobGlnaHRlci1yb3VnZSI+PHNwYW4gY2xhc3M9Im54Ij5mdW5jdGlvbnM8L3NwYW4+PHNwYW4gY2xhc3M9InAiPigpPC9zcGFuPjwvY29kZT4gYW5kIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0icCI+QDwvc3Bhbj48c3BhbiBjbGFzcz0ibmQiPmRpcmVjdGl2ZXM8L3NwYW4+PC9jb2RlPiAoYWxzbyBrbm93biBhcyBydWxlcykuIFdl4oCZdmUgYWxyZWFkeSBjcmVhdGVkIGEgdHlwZSBvZiBmdW5jdGlvbiB3aGVuIHdlIGxvb2tlZCBhdCBtaXhpbnMuIFlvdSBjb3VsZCBwYXNzIGFyZ3VtZW50cyB0byBpdC48L3A+Cgo8cD5BIGZ1bmN0aW9uIHVzdWFsbHkgaGFzIGEgcGFyZW50aGVzaXMgYXBwZW5kZWQgdG8gdGhlIGVuZCBvZiB0aGUgZnVuY3Rpb27igJlzIG5hbWUuIEEgZGlyZWN0aXZlIG9yIHJ1bGUgc3RhcnRzIHdpdGggYW4gPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJwIj5APC9zcGFuPjwvY29kZT4gY2hhcmFjdGVyLjwvcD4KCjxwPkp1c3QgbGlrZSBpbiBKYXZhU2NyaXB0IG9yIG90aGVyIGxhbmd1YWdlcywgU0NTUyBsZXRzIHlvdSB3b3JrIHdpdGggdGhlIHN0YW5kYXJkIHNldCBvZiA8ZW0+Y29udHJvbC1mbG93PC9lbT4gc3RhdGVtZW50cy48L3A+Cgo8aDQgaWQ9ImlmIj5pZigpPC9oND4KCjxwPjxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0iayI+aWY8L3NwYW4+PHNwYW4gY2xhc3M9InAiPigpPC9zcGFuPjwvY29kZT4gaXMgYSBmdW5jdGlvbi48L3A+Cgo8cD5UaGUgdXNhZ2UgaXMgcmF0aGVyIHByaW1pdGl2ZS4gVGhlIHN0YXRlbWVudCB3aWxsIHJldHVybiBvbmUgb2YgdGhlIHR3byBzcGVjaWZpZWQgdmFsdWVzLCBiYXNlZCBvbiBhIGNvbmRpdGlvbjo8L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1zY3NzIGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9ImNtIj4vKiB1c2luZyBpZigpIGZ1bmN0aW9uICovPC9zcGFuPgo8c3BhbiBjbGFzcz0ibnQiPmlmPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJudCI+dHJ1ZTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im50Ij4xcHg8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJudCI+MnB4PC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+PSZndDs8L3NwYW4+IDxzcGFuIGNsYXNzPSJudCI+MXB4PC9zcGFuPgo8c3BhbiBjbGFzcz0ibnQiPmlmPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJudCI+ZmFsc2U8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJudCI+MXB4PC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0ibnQiPjJweDwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPj0mZ3Q7PC9zcGFuPiA8c3BhbiBjbGFzcz0ibnQiPjJweDwvc3Bhbj4KPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPGg0IGlkPSJpZi0xIj5AaWY8L2g0PgoKPHA+PGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJwIj5APC9zcGFuPjxzcGFuIGNsYXNzPSJuZCI+aWY8L3NwYW4+PC9jb2RlPiBpcyBhIGRpcmVjdGl2ZSB1c2VkIHRvIGJyYW5jaCBvdXQgYmFzZWQgb24gYSBjb25kaXRpb24uPC9wPgoKPGRpdiBjbGFzcz0ibGFuZ3VhZ2Utc2NzcyBoaWdobGlnaHRlci1yb3VnZSI+PGRpdiBjbGFzcz0iaGlnaGxpZ2h0Ij48cHJlIGNsYXNzPSJoaWdobGlnaHQiPjxjb2RlPjxzcGFuIGNsYXNzPSJjbSI+LyogdXNpbmcgQGlmIGRpcmVjdGl2ZSAqLzwvc3Bhbj4KPHNwYW4gY2xhc3M9Im50Ij5wPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICA8c3BhbiBjbGFzcz0iayI+QGlmPC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+MTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4xPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4yPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5sIj5ib3JkZXI8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4xcHg8L3NwYW4+IDxzcGFuIGNsYXNzPSJuYiI+c29saWQ8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJrIj5AaWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj43PC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+Jmx0Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPjU8L3NwYW4+ICAgICAgPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+IDxzcGFuIGNsYXNzPSJubCI+Ym9yZGVyPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+MnB4PC9zcGFuPiA8c3BhbiBjbGFzcz0ibmIiPmRvdHRlZDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+CiAgPHNwYW4gY2xhc3M9ImsiPkBpZjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPm51bGw8L3NwYW4+ICAgICAgIDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPiA8c3BhbiBjbGFzcz0ibmwiPmJvcmRlcjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPjNweDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5iIj5kb3VibGU8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPHA+VGhpcyBTYXNzeSBpZi1zdGF0ZW1lbnQgY29tcGlsZXMgdG86PC9wPgoKPGRpdiBjbGFzcz0ibGFuZ3VhZ2UtY3NzIGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9Im50Ij5wPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5sIj5ib3JkZXI8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4xcHg8L3NwYW4+IDxzcGFuIGNsYXNzPSJuYiI+c29saWQ8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPgo8L2NvZGU+PC9wcmU+PC9kaXY+PC9kaXY+Cgo8cD5BbHNvLCBpdCB3b3JrcyB3aXRoIG5vcm1hbCA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtamF2YXNjcmlwdCBoaWdobGlnaHRlci1yb3VnZSI+PHNwYW4gY2xhc3M9InAiPkA8L3NwYW4+PHNwYW4gY2xhc3M9Im5kIj5lbHNlPC9zcGFuPjwvY29kZT4gc3RhdGVtZW50OjwvcD4KCjxkaXYgY2xhc3M9Imxhbmd1YWdlLXNjc3MgaGlnaGxpZ2h0ZXItcm91Z2UiPjxkaXYgY2xhc3M9ImhpZ2hsaWdodCI+PHByZSBjbGFzcz0iaGlnaGxpZ2h0Ij48Y29kZT48c3BhbiBjbGFzcz0iY20iPi8qIGNyZWF0ZSBhIHZhcmlhYmxlICR0eXBlICovPC9zcGFuPgo8c3BhbiBjbGFzcz0ibnYiPiR0eXBlPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+cml2ZXI8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+Cgo8c3BhbiBjbGFzcz0iY20iPi8qIHBhaW50IGRpdihzKSBibHVlIGlmIHZhcmlhYmxlIGlzIHNldCB0byByaXZlciAqLzwvc3Bhbj4KPHNwYW4gY2xhc3M9Im50Ij5kaXY8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJrIj5AaWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJudiI+JHR5cGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj49PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPnJpdmVyPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICAgIDxzcGFuIGNsYXNzPSJubCI+Y29sb3I8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJubyI+Ymx1ZTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KICA8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+Cgo8c3BhbiBjbGFzcz0iY20iPi8qIGNvbmRpdGlvbmFsIGNvbG9ycyBvbiBwYXJhZ3JhcGggKi88L3NwYW4+CjxzcGFuIGNsYXNzPSJudCI+cDwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+CiAgPHNwYW4gY2xhc3M9ImsiPkBpZjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im52Ij4kdHlwZTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPj09PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+dHJlZTwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+CiAgICA8c3BhbiBjbGFzcz0ibmwiPmNvbG9yPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibm8iPmdyZWVuPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+QGVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im52Ij4kdHlwZTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPj09PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+cml2ZXI8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogICAgPHNwYW4gY2xhc3M9Im5sIj5jb2xvcjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5vIj5ibHVlPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPiA8c3BhbiBjbGFzcz0iayI+QGVsc2U8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im52Ij4kdHlwZTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPj09PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+ZGlydDwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+CiAgICA8c3BhbiBjbGFzcz0ibmwiPmNvbG9yPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibm8iPmJyb3duPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPGg0IGlkPSJjaGVja2luZy1pZi1wYXJlbnQtZXhpc3RzIj5DaGVja2luZyBJZiBQYXJlbnQgRXhpc3RzPC9oND4KCjxwPlRoZSBBTkQgc3ltYm9sIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibyI+JmFtcDs8L3NwYW4+PC9jb2RlPiB3aWxsIHNlbGVjdCB0aGUgcGFyZW50IGVsZW1lbnQsIGlmIGl0IGV4aXN0cy4gT3IsIHJldHVybiA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtamF2YXNjcmlwdCBoaWdobGlnaHRlci1yb3VnZSI+PHNwYW4gY2xhc3M9ImtjIj5udWxsPC9zcGFuPjwvY29kZT4gb3RoZXJ3aXNlLiBUaGVyZWZvcmUsIGl0IGNhbiBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggYW4gPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJwIj5APC9zcGFuPjxzcGFuIGNsYXNzPSJuZCI+aWY8L3NwYW4+PC9jb2RlPiBkaXJlY3RpdmUuPC9wPgoKPHA+SW4gdGhlIGZvbGxvd2luZyBleGFtcGxlcywgbGV04oCZcyB0YWtlIGEgbG9vayBhdCBob3cgd2UgY2FuIGNyZWF0ZSA8ZW0+Y29uZGl0aW9uYWw8L2VtPiBDU1Mgc3R5bGVzIGJhc2VkIG9uIHdoZXRoZXIgdGhlIHBhcmVudCBlbGVtZW50IGV4aXN0cyBvciBub3QuPC9wPgoKPGRpdiBjbGFzcz0ibGFuZ3VhZ2Utc2NzcyBoaWdobGlnaHRlci1yb3VnZSI+PGRpdiBjbGFzcz0iaGlnaGxpZ2h0Ij48cHJlIGNsYXNzPSJoaWdobGlnaHQiPjxjb2RlPjxzcGFuIGNsYXNzPSJjbSI+LyogY2hlY2sgaWYgcGFyZW50IGV4aXN0cyAqLzwvc3Bhbj4KPHNwYW4gY2xhc3M9ImsiPkBtaXhpbjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5mIj5kb2VzLXBhcmVudC1leGlzdDwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+CiAgPHNwYW4gY2xhc3M9ImsiPkBpZjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPiZhbXA7PC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICAgIDxzcGFuIGNsYXNzPSJjbSI+LyogYXBwbHkgY29sb3IgYmx1ZSB0byBwYXJlbnQgaWYgaXQgZXhpc3RzICovPC9zcGFuPgogICAgPHNwYW4gY2xhc3M9ImsiPiZhbXA7PC9zcGFuPjxzcGFuIGNsYXNzPSJuZCI+OmhvdmVyPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9Im5sIj5jb2xvcjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5vIj5ibHVlPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgogICAgPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5AZWxzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJjbSI+LyogcGFyZW50IGRvZXNuJ3QgZXhpc3QsIGFwcGx5IGJsdWUgdG8gbGlua3MgKi88L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJudCI+YTwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9Im5sIj5jb2xvcjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5vIj5ibHVlPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KICAgIDxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KCjxzcGFuIGNsYXNzPSJudCI+cDwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+CiAgPHNwYW4gY2xhc3M9ImsiPkBpbmNsdWRlPC9zcGFuPiA8c3BhbiBjbGFzcz0ibmQiPmRvZXMtcGFyZW50LWV4aXN0PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4oKTs8L3NwYW4+CjxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPgo8L2NvZGU+PC9wcmU+PC9kaXY+PC9kaXY+Cgo8cD5JZiBwYXJlbnQgZG9lc27igJl0IGV4aXN0LCA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtamF2YXNjcmlwdCBoaWdobGlnaHRlci1yb3VnZSI+PHNwYW4gY2xhc3M9Im8iPiZhbXA7PC9zcGFuPjwvY29kZT4gZXZhbHVhdGVzIHRvIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ia2MiPm51bGw8L3NwYW4+PC9jb2RlPiBhbmQgYW4gYWx0ZXJuYXRpdmUgc3R5bGUgd2lsbCBiZSB1c2VkLjwvcD4KCjxoNCBpZD0iZm9yIj5AZm9yPC9oND4KCjxwPlRoZSA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtamF2YXNjcmlwdCBoaWdobGlnaHRlci1yb3VnZSI+PHNwYW4gY2xhc3M9InAiPkA8L3NwYW4+PHNwYW4gY2xhc3M9Im5kIj5mb3I8L3NwYW4+PC9jb2RlPiBydWxlIGlzIHVzZWQgZm9yIHJlcGVhdGluZyBDU1MgZGVmaW5pdGlvbnMgbXVsdGlwbGUgdGltZXMgaW4gYSByb3cuPC9wPgoKPGRpdiBjbGFzcz0ibGFuZ3VhZ2Utc2NzcyBoaWdobGlnaHRlci1yb3VnZSI+PGRpdiBjbGFzcz0iaGlnaGxpZ2h0Ij48cHJlIGNsYXNzPSJoaWdobGlnaHQiPjxjb2RlPjxzcGFuIGNsYXNzPSJrIj5AZm9yPC9zcGFuPiA8c3BhbiBjbGFzcz0ibnYiPiRpPC9zcGFuPiA8c3BhbiBjbGFzcz0ib3ciPmZyb208L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4xPC9zcGFuPiA8c3BhbiBjbGFzcz0ib3ciPnRocm91Z2g8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj41PC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibmMiPi5kZWZpbml0aW9uLTwvc3Bhbj48c3BhbiBjbGFzcz0ic2kiPiN7PC9zcGFuPjxzcGFuIGNsYXNzPSJudiI+JGk8L3NwYW4+PHNwYW4gY2xhc3M9InNpIj59PC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5sIj53aWR0aDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPjEwcHg8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj4qPC9zcGFuPiA8c3BhbiBjbGFzcz0ibnYiPiRpPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+CjwvY29kZT48L3ByZT48L2Rpdj48L2Rpdj4KCjxoMiBpZD0iY29uY2x1c2lvbiI+Q29uY2x1c2lvbjwvaDI+Cgo8cD5KdXN0IHBhdXNlZCByaWdodCBoZXJlLCBsZWFybiBhcyBpdCBnb2VzLjwvcD4K
                        
Ads by Google

林宏

Frank Lin

Hey, there! This is Frank Lin (@flinhong), one of the 1.41 billion 🇨🇳. This 'inDev. Journal' site holds the exploration of my quirky thoughts and random adventures through life. Hope you enjoy reading and perusing my posts.

YOU MAY ALSO LIKE

Using Liquid in Jekyll - Live with Demos

Web Notes

2016.08.20

Using Liquid in Jekyll - Live with Demos

Liquid is a simple template language that Jekyll uses to process pages for your site. With Liquid you can output complex contents without additional plugins.

Practising closures in JavaScript

JavaScript Notes

2018.12.17

Practising closures in JavaScript

JavaScript is a very function-oriented language. As we know, functions are first class objects and can be easily assigned to variables, passed as arguments, returned from another function invocation, or stored into data structures. A function can access variable outside of it. But what happens when an outer variable changes? Does a function get the most recent value or the one that existed when the function was created? Also, what happens when a function invoked in another place - does it get access to the outer variables of the new place?

Setup an IKEv2 server with StrongSwan

Tutorials

2020.01.09

Setup an IKEv2 server with StrongSwan

IKEv2, or Internet Key Exchange v2, is a protocol that allows for direct IPSec tunnelling between two points. In IKEv2 implementations, IPSec provides encryption for the network traffic. IKEv2 is natively supported on some platforms (OS X 10.11+, iOS 9.1+, and Windows 10) with no additional applications necessary, and it handles client hiccups quite smoothly.