/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : In function ‘void std:: __insertion_sort( _RandomAccessIterator, _RandomAccessIterator) [ with _RandomAccessIterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’:
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 2177 : 4 : instantiated from ‘void std:: __final_insertion_sort( _RandomAccessIterator, _RandomAccessIterator) [ with _RandomAccessIterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 5214 : 4 : instantiated from ‘void std:: sort ( _RAIter, _RAIter) [ with _RAIter = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’
QuadTree.cpp : 93 : 36 : instantiated from here
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 2103 : 4 : error: no match for ‘operator< ’ in ‘__i.__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator * [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: reference = Point& ] ( ) < __first.__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator * [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: reference = Point& ] ( ) ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : In function ‘void std:: __heap_select( _RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator) [ with _RandomAccessIterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’:
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 5059 : 7 : instantiated from ‘void std:: partial_sort ( _RAIter, _RAIter, _RAIter) [ with _RAIter = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 2275 : 8 : instantiated from ‘void std:: __introsort_loop( _RandomAccessIterator, _RandomAccessIterator, _Size) [ with _RandomAccessIterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > , _Size = long int ] ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 5212 : 4 : instantiated from ‘void std:: sort ( _RAIter, _RAIter) [ with _RAIter = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’
QuadTree.cpp : 93 : 36 : instantiated from here
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 1901 : 2 : error: no match for ‘operator< ’ in ‘__i.__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator * [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: reference = Point& ] ( ) < __first.__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator * [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: reference = Point& ] ( ) ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : In function ‘void std:: __move_median_first( _Iterator, _Iterator, _Iterator) [ with _Iterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’:
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 2248 : 7 : instantiated from ‘_RandomAccessIterator std:: __unguarded_partition_pivot( _RandomAccessIterator, _RandomAccessIterator) [ with _RandomAccessIterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 2280 : 54 : instantiated from ‘void std:: __introsort_loop( _RandomAccessIterator, _RandomAccessIterator, _Size) [ with _RandomAccessIterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > , _Size = long int ] ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 5212 : 4 : instantiated from ‘void std:: sort ( _RAIter, _RAIter) [ with _RAIter = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’
QuadTree.cpp : 93 : 36 : instantiated from here
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 82 : 7 : error: no match for ‘operator< ’ in ‘__a.__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator * [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: reference = Point& ] ( ) < __b.__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator * [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: reference = Point& ] ( ) ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 84 : 4 : error: no match for ‘operator< ’ in ‘__b.__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator * [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: reference = Point& ] ( ) < __c.__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator * [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: reference = Point& ] ( ) ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 2248 : 7 : instantiated from ‘_RandomAccessIterator std:: __unguarded_partition_pivot( _RandomAccessIterator, _RandomAccessIterator) [ with _RandomAccessIterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 2280 : 54 : instantiated from ‘void std:: __introsort_loop( _RandomAccessIterator, _RandomAccessIterator, _Size) [ with _RandomAccessIterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > , _Size = long int ] ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 5212 : 4 : instantiated from ‘void std:: sort ( _RAIter, _RAIter) [ with _RAIter = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’
QuadTree.cpp : 93 : 36 : instantiated from here
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 86 : 9 : error: no match for ‘operator< ’ in ‘__a.__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator * [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: reference = Point& ] ( ) < __c.__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator * [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: reference = Point& ] ( ) ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 89 : 12 : error: no match for ‘operator< ’ in ‘__a.__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator * [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: reference = Point& ] ( ) < __c.__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator * [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: reference = Point& ] ( ) ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 91 : 12 : error: no match for ‘operator< ’ in ‘__b.__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator * [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: reference = Point& ] ( ) < __c.__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator * [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: reference = Point& ] ( ) ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : In function ‘_RandomAccessIterator std:: __unguarded_partition( _RandomAccessIterator, _RandomAccessIterator, const _Tp& ) [ with _RandomAccessIterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > , _Tp = Point] ’:
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 2249 : 70 : instantiated from ‘_RandomAccessIterator std:: __unguarded_partition_pivot( _RandomAccessIterator, _RandomAccessIterator) [ with _RandomAccessIterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 2280 : 54 : instantiated from ‘void std:: __introsort_loop( _RandomAccessIterator, _RandomAccessIterator, _Size) [ with _RandomAccessIterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > , _Size = long int ] ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 5212 : 4 : instantiated from ‘void std:: sort ( _RAIter, _RAIter) [ with _RAIter = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’
QuadTree.cpp : 93 : 36 : instantiated from here
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 2208 : 4 : error: no match for ‘operator< ’ in ‘__first.__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator * [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: reference = Point& ] ( ) < __pivot’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 2211 : 4 : error: no match for ‘operator< ’ in ‘__pivot < __last.__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator * [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: reference = Point& ] ( ) ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : In function ‘void std:: __unguarded_linear_insert( _RandomAccessIterator) [ with _RandomAccessIterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’:
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 2111 : 6 : instantiated from ‘void std:: __insertion_sort( _RandomAccessIterator, _RandomAccessIterator) [ with _RandomAccessIterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 2177 : 4 : instantiated from ‘void std:: __final_insertion_sort( _RandomAccessIterator, _RandomAccessIterator) [ with _RandomAccessIterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 5214 : 4 : instantiated from ‘void std:: sort ( _RAIter, _RAIter) [ with _RAIter = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’
QuadTree.cpp : 93 : 36 : instantiated from here
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 2064 : 7 : error: no match for ‘operator< ’ in ‘__val < __next.__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator * [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: reference = Point& ] ( ) ’
In file included from / usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 62 : 0 ,
from / usr/ include/ c++/ 4.5 / algorithm: 63 ,
from QuadTree.h : 9 ,
from QuadTree.cpp : 1 :
/ usr/ include/ c++/ 4.5 / bits/ stl_heap.h : In function ‘void std:: __adjust_heap( _RandomAccessIterator, _Distance, _Distance, _Tp) [ with _RandomAccessIterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > , _Distance = long int , _Tp = Point] ’:
/ usr/ include/ c++/ 4.5 / bits/ stl_heap.h : 394 : 4 : instantiated from ‘void std:: make_heap ( _RAIter, _RAIter) [ with _RAIter = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 1899 : 7 : instantiated from ‘void std:: __heap_select( _RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator) [ with _RandomAccessIterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 5059 : 7 : instantiated from ‘void std:: partial_sort ( _RAIter, _RAIter, _RAIter) [ with _RAIter = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 2275 : 8 : instantiated from ‘void std:: __introsort_loop( _RandomAccessIterator, _RandomAccessIterator, _Size) [ with _RandomAccessIterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > , _Size = long int ] ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 5212 : 4 : instantiated from ‘void std:: sort ( _RAIter, _RAIter) [ with _RAIter = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’
QuadTree.cpp : 93 : 36 : instantiated from here
/ usr/ include/ c++/ 4.5 / bits/ stl_heap.h : 232 : 4 : error: no match for ‘operator< ’ in ‘__first.__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator + [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: difference_type = long int ] ( ( ( const __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point, std:: allocator < Point> > > :: difference_type & ) ( ( const __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point, std:: allocator < Point> > > :: difference_type * ) ( & __secondChild) ) ) ) .__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator * [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: reference = Point& ] ( ) < __first.__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator + [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: difference_type = long int ] ( ( ( const __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point, std:: allocator < Point> > > :: difference_type & ) ( ( const __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point, std:: allocator < Point> > > :: difference_type * ) ( & ( __secondChild + - 0x00000000000000001l) ) ) ) ) .__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator * [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: reference = Point& ] ( ) ’
/ usr/ include/ c++/ 4.5 / bits/ stl_heap.h : In function ‘void std:: __push_heap( _RandomAccessIterator, _Distance, _Distance, _Tp) [ with _RandomAccessIterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > , _Distance = long int , _Tp = Point] ’:
/ usr/ include/ c++/ 4.5 / bits/ stl_heap.h : 244 : 7 : instantiated from ‘void std:: __adjust_heap( _RandomAccessIterator, _Distance, _Distance, _Tp) [ with _RandomAccessIterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > , _Distance = long int , _Tp = Point] ’
/ usr/ include/ c++/ 4.5 / bits/ stl_heap.h : 394 : 4 : instantiated from ‘void std:: make_heap ( _RAIter, _RAIter) [ with _RAIter = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 1899 : 7 : instantiated from ‘void std:: __heap_select( _RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator) [ with _RandomAccessIterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 5059 : 7 : instantiated from ‘void std:: partial_sort ( _RAIter, _RAIter, _RAIter) [ with _RAIter = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 2275 : 8 : instantiated from ‘void std:: __introsort_loop( _RandomAccessIterator, _RandomAccessIterator, _Size) [ with _RandomAccessIterator = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > , _Size = long int ] ’
/ usr/ include/ c++/ 4.5 / bits/ stl_algo.h : 5212 : 4 : instantiated from ‘void std:: sort ( _RAIter, _RAIter) [ with _RAIter = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > ] ’
QuadTree.cpp : 93 : 36 : instantiated from here
/ usr/ include/ c++/ 4.5 / bits/ stl_heap.h : 134 : 7 : error: no match for ‘operator< ’ in ‘__first.__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator + [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> = __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point> > , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: difference_type = long int ] ( ( ( const __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point, std:: allocator < Point> > > :: difference_type & ) ( ( const __gnu_cxx:: __normal_iterator< Point* , std:: vector < Point, std:: allocator < Point> > > :: difference_type * ) ( & __parent) ) ) ) .__gnu_cxx:: __normal_iterator< _Iterator, _Container> :: operator * [ with _Iterator = Point* , _Container = std:: vector < Point> , __gnu_cxx:: __normal_iterator< _Iterator, _Container> :: reference = Point& ] ( ) < __value’
L3Vzci9pbmNsdWRlL2MrKy80LjUvYml0cy9zdGxfYWxnby5oOiBJbiBmdW5jdGlvbiDigJh2b2lkIHN0ZDo6X19pbnNlcnRpb25fc29ydChfUmFuZG9tQWNjZXNzSXRlcmF0b3IsIF9SYW5kb21BY2Nlc3NJdGVyYXRvcikgW3dpdGggX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yID0gX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxQb2ludCosIHN0ZDo6dmVjdG9yPFBvaW50PiA+XeKAmToKL3Vzci9pbmNsdWRlL2MrKy80LjUvYml0cy9zdGxfYWxnby5oOjIxNzc6NDogICBpbnN0YW50aWF0ZWQgZnJvbSDigJh2b2lkIHN0ZDo6X19maW5hbF9pbnNlcnRpb25fc29ydChfUmFuZG9tQWNjZXNzSXRlcmF0b3IsIF9SYW5kb21BY2Nlc3NJdGVyYXRvcikgW3dpdGggX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yID0gX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxQb2ludCosIHN0ZDo6dmVjdG9yPFBvaW50PiA+XeKAmQovdXNyL2luY2x1ZGUvYysrLzQuNS9iaXRzL3N0bF9hbGdvLmg6NTIxNDo0OiAgIGluc3RhbnRpYXRlZCBmcm9tIOKAmHZvaWQgc3RkOjpzb3J0KF9SQUl0ZXIsIF9SQUl0ZXIpIFt3aXRoIF9SQUl0ZXIgPSBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPFBvaW50Kiwgc3RkOjp2ZWN0b3I8UG9pbnQ+ID5d4oCZClF1YWRUcmVlLmNwcDo5MzozNjogICBpbnN0YW50aWF0ZWQgZnJvbSBoZXJlCi91c3IvaW5jbHVkZS9jKysvNC41L2JpdHMvc3RsX2FsZ28uaDoyMTAzOjQ6IGVycm9yOiBubyBtYXRjaCBmb3Ig4oCYb3BlcmF0b3I84oCZIGluIOKAmF9faS5fX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPF9JdGVyYXRvciwgX0NvbnRhaW5lcj46Om9wZXJhdG9yKiBbd2l0aCBfSXRlcmF0b3IgPSBQb2ludCosIF9Db250YWluZXIgPSBzdGQ6OnZlY3RvcjxQb2ludD4sIF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8X0l0ZXJhdG9yLCBfQ29udGFpbmVyPjo6cmVmZXJlbmNlID0gUG9pbnQmXSgpIDwgX19maXJzdC5fX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPF9JdGVyYXRvciwgX0NvbnRhaW5lcj46Om9wZXJhdG9yKiBbd2l0aCBfSXRlcmF0b3IgPSBQb2ludCosIF9Db250YWluZXIgPSBzdGQ6OnZlY3RvcjxQb2ludD4sIF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8X0l0ZXJhdG9yLCBfQ29udGFpbmVyPjo6cmVmZXJlbmNlID0gUG9pbnQmXSgp4oCZCi91c3IvaW5jbHVkZS9jKysvNC41L2JpdHMvc3RsX2FsZ28uaDogSW4gZnVuY3Rpb24g4oCYdm9pZCBzdGQ6Ol9faGVhcF9zZWxlY3QoX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yLCBfUmFuZG9tQWNjZXNzSXRlcmF0b3IsIF9SYW5kb21BY2Nlc3NJdGVyYXRvcikgW3dpdGggX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yID0gX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxQb2ludCosIHN0ZDo6dmVjdG9yPFBvaW50PiA+XeKAmToKL3Vzci9pbmNsdWRlL2MrKy80LjUvYml0cy9zdGxfYWxnby5oOjUwNTk6NzogICBpbnN0YW50aWF0ZWQgZnJvbSDigJh2b2lkIHN0ZDo6cGFydGlhbF9zb3J0KF9SQUl0ZXIsIF9SQUl0ZXIsIF9SQUl0ZXIpIFt3aXRoIF9SQUl0ZXIgPSBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPFBvaW50Kiwgc3RkOjp2ZWN0b3I8UG9pbnQ+ID5d4oCZCi91c3IvaW5jbHVkZS9jKysvNC41L2JpdHMvc3RsX2FsZ28uaDoyMjc1Ojg6ICAgaW5zdGFudGlhdGVkIGZyb20g4oCYdm9pZCBzdGQ6Ol9faW50cm9zb3J0X2xvb3AoX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yLCBfUmFuZG9tQWNjZXNzSXRlcmF0b3IsIF9TaXplKSBbd2l0aCBfUmFuZG9tQWNjZXNzSXRlcmF0b3IgPSBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPFBvaW50Kiwgc3RkOjp2ZWN0b3I8UG9pbnQ+ID4sIF9TaXplID0gbG9uZyBpbnRd4oCZCi91c3IvaW5jbHVkZS9jKysvNC41L2JpdHMvc3RsX2FsZ28uaDo1MjEyOjQ6ICAgaW5zdGFudGlhdGVkIGZyb20g4oCYdm9pZCBzdGQ6OnNvcnQoX1JBSXRlciwgX1JBSXRlcikgW3dpdGggX1JBSXRlciA9IF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8UG9pbnQqLCBzdGQ6OnZlY3RvcjxQb2ludD4gPl3igJkKUXVhZFRyZWUuY3BwOjkzOjM2OiAgIGluc3RhbnRpYXRlZCBmcm9tIGhlcmUKL3Vzci9pbmNsdWRlL2MrKy80LjUvYml0cy9zdGxfYWxnby5oOjE5MDE6MjogZXJyb3I6IG5vIG1hdGNoIGZvciDigJhvcGVyYXRvcjzigJkgaW4g4oCYX19pLl9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8X0l0ZXJhdG9yLCBfQ29udGFpbmVyPjo6b3BlcmF0b3IqIFt3aXRoIF9JdGVyYXRvciA9IFBvaW50KiwgX0NvbnRhaW5lciA9IHN0ZDo6dmVjdG9yPFBvaW50PiwgX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxfSXRlcmF0b3IsIF9Db250YWluZXI+OjpyZWZlcmVuY2UgPSBQb2ludCZdKCkgPCBfX2ZpcnN0Ll9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8X0l0ZXJhdG9yLCBfQ29udGFpbmVyPjo6b3BlcmF0b3IqIFt3aXRoIF9JdGVyYXRvciA9IFBvaW50KiwgX0NvbnRhaW5lciA9IHN0ZDo6dmVjdG9yPFBvaW50PiwgX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxfSXRlcmF0b3IsIF9Db250YWluZXI+OjpyZWZlcmVuY2UgPSBQb2ludCZdKCnigJkKL3Vzci9pbmNsdWRlL2MrKy80LjUvYml0cy9zdGxfYWxnby5oOiBJbiBmdW5jdGlvbiDigJh2b2lkIHN0ZDo6X19tb3ZlX21lZGlhbl9maXJzdChfSXRlcmF0b3IsIF9JdGVyYXRvciwgX0l0ZXJhdG9yKSBbd2l0aCBfSXRlcmF0b3IgPSBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPFBvaW50Kiwgc3RkOjp2ZWN0b3I8UG9pbnQ+ID5d4oCZOgovdXNyL2luY2x1ZGUvYysrLzQuNS9iaXRzL3N0bF9hbGdvLmg6MjI0ODo3OiAgIGluc3RhbnRpYXRlZCBmcm9tIOKAmF9SYW5kb21BY2Nlc3NJdGVyYXRvciBzdGQ6Ol9fdW5ndWFyZGVkX3BhcnRpdGlvbl9waXZvdChfUmFuZG9tQWNjZXNzSXRlcmF0b3IsIF9SYW5kb21BY2Nlc3NJdGVyYXRvcikgW3dpdGggX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yID0gX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxQb2ludCosIHN0ZDo6dmVjdG9yPFBvaW50PiA+XeKAmQovdXNyL2luY2x1ZGUvYysrLzQuNS9iaXRzL3N0bF9hbGdvLmg6MjI4MDo1NDogICBpbnN0YW50aWF0ZWQgZnJvbSDigJh2b2lkIHN0ZDo6X19pbnRyb3NvcnRfbG9vcChfUmFuZG9tQWNjZXNzSXRlcmF0b3IsIF9SYW5kb21BY2Nlc3NJdGVyYXRvciwgX1NpemUpIFt3aXRoIF9SYW5kb21BY2Nlc3NJdGVyYXRvciA9IF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8UG9pbnQqLCBzdGQ6OnZlY3RvcjxQb2ludD4gPiwgX1NpemUgPSBsb25nIGludF3igJkKL3Vzci9pbmNsdWRlL2MrKy80LjUvYml0cy9zdGxfYWxnby5oOjUyMTI6NDogICBpbnN0YW50aWF0ZWQgZnJvbSDigJh2b2lkIHN0ZDo6c29ydChfUkFJdGVyLCBfUkFJdGVyKSBbd2l0aCBfUkFJdGVyID0gX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxQb2ludCosIHN0ZDo6dmVjdG9yPFBvaW50PiA+XeKAmQpRdWFkVHJlZS5jcHA6OTM6MzY6ICAgaW5zdGFudGlhdGVkIGZyb20gaGVyZQovdXNyL2luY2x1ZGUvYysrLzQuNS9iaXRzL3N0bF9hbGdvLmg6ODI6NzogZXJyb3I6IG5vIG1hdGNoIGZvciDigJhvcGVyYXRvcjzigJkgaW4g4oCYX19hLl9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8X0l0ZXJhdG9yLCBfQ29udGFpbmVyPjo6b3BlcmF0b3IqIFt3aXRoIF9JdGVyYXRvciA9IFBvaW50KiwgX0NvbnRhaW5lciA9IHN0ZDo6dmVjdG9yPFBvaW50PiwgX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxfSXRlcmF0b3IsIF9Db250YWluZXI+OjpyZWZlcmVuY2UgPSBQb2ludCZdKCkgPCBfX2IuX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxfSXRlcmF0b3IsIF9Db250YWluZXI+OjpvcGVyYXRvciogW3dpdGggX0l0ZXJhdG9yID0gUG9pbnQqLCBfQ29udGFpbmVyID0gc3RkOjp2ZWN0b3I8UG9pbnQ+LCBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPF9JdGVyYXRvciwgX0NvbnRhaW5lcj46OnJlZmVyZW5jZSA9IFBvaW50Jl0oKeKAmQovdXNyL2luY2x1ZGUvYysrLzQuNS9iaXRzL3N0bF9hbGdvLmg6ODQ6NDogZXJyb3I6IG5vIG1hdGNoIGZvciDigJhvcGVyYXRvcjzigJkgaW4g4oCYX19iLl9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8X0l0ZXJhdG9yLCBfQ29udGFpbmVyPjo6b3BlcmF0b3IqIFt3aXRoIF9JdGVyYXRvciA9IFBvaW50KiwgX0NvbnRhaW5lciA9IHN0ZDo6dmVjdG9yPFBvaW50PiwgX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxfSXRlcmF0b3IsIF9Db250YWluZXI+OjpyZWZlcmVuY2UgPSBQb2ludCZdKCkgPCBfX2MuX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxfSXRlcmF0b3IsIF9Db250YWluZXI+OjpvcGVyYXRvciogW3dpdGggX0l0ZXJhdG9yID0gUG9pbnQqLCBfQ29udGFpbmVyID0gc3RkOjp2ZWN0b3I8UG9pbnQ+LCBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPF9JdGVyYXRvciwgX0NvbnRhaW5lcj46OnJlZmVyZW5jZSA9IFBvaW50Jl0oKeKAmQovdXNyL2luY2x1ZGUvYysrLzQuNS9iaXRzL3N0bF9hbGdvLmg6MjI0ODo3OiAgIGluc3RhbnRpYXRlZCBmcm9tIOKAmF9SYW5kb21BY2Nlc3NJdGVyYXRvciBzdGQ6Ol9fdW5ndWFyZGVkX3BhcnRpdGlvbl9waXZvdChfUmFuZG9tQWNjZXNzSXRlcmF0b3IsIF9SYW5kb21BY2Nlc3NJdGVyYXRvcikgW3dpdGggX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yID0gX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxQb2ludCosIHN0ZDo6dmVjdG9yPFBvaW50PiA+XeKAmQovdXNyL2luY2x1ZGUvYysrLzQuNS9iaXRzL3N0bF9hbGdvLmg6MjI4MDo1NDogICBpbnN0YW50aWF0ZWQgZnJvbSDigJh2b2lkIHN0ZDo6X19pbnRyb3NvcnRfbG9vcChfUmFuZG9tQWNjZXNzSXRlcmF0b3IsIF9SYW5kb21BY2Nlc3NJdGVyYXRvciwgX1NpemUpIFt3aXRoIF9SYW5kb21BY2Nlc3NJdGVyYXRvciA9IF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8UG9pbnQqLCBzdGQ6OnZlY3RvcjxQb2ludD4gPiwgX1NpemUgPSBsb25nIGludF3igJkKL3Vzci9pbmNsdWRlL2MrKy80LjUvYml0cy9zdGxfYWxnby5oOjUyMTI6NDogICBpbnN0YW50aWF0ZWQgZnJvbSDigJh2b2lkIHN0ZDo6c29ydChfUkFJdGVyLCBfUkFJdGVyKSBbd2l0aCBfUkFJdGVyID0gX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxQb2ludCosIHN0ZDo6dmVjdG9yPFBvaW50PiA+XeKAmQpRdWFkVHJlZS5jcHA6OTM6MzY6ICAgaW5zdGFudGlhdGVkIGZyb20gaGVyZQovdXNyL2luY2x1ZGUvYysrLzQuNS9iaXRzL3N0bF9hbGdvLmg6ODY6OTogZXJyb3I6IG5vIG1hdGNoIGZvciDigJhvcGVyYXRvcjzigJkgaW4g4oCYX19hLl9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8X0l0ZXJhdG9yLCBfQ29udGFpbmVyPjo6b3BlcmF0b3IqIFt3aXRoIF9JdGVyYXRvciA9IFBvaW50KiwgX0NvbnRhaW5lciA9IHN0ZDo6dmVjdG9yPFBvaW50PiwgX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxfSXRlcmF0b3IsIF9Db250YWluZXI+OjpyZWZlcmVuY2UgPSBQb2ludCZdKCkgPCBfX2MuX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxfSXRlcmF0b3IsIF9Db250YWluZXI+OjpvcGVyYXRvciogW3dpdGggX0l0ZXJhdG9yID0gUG9pbnQqLCBfQ29udGFpbmVyID0gc3RkOjp2ZWN0b3I8UG9pbnQ+LCBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPF9JdGVyYXRvciwgX0NvbnRhaW5lcj46OnJlZmVyZW5jZSA9IFBvaW50Jl0oKeKAmQovdXNyL2luY2x1ZGUvYysrLzQuNS9iaXRzL3N0bF9hbGdvLmg6ODk6MTI6IGVycm9yOiBubyBtYXRjaCBmb3Ig4oCYb3BlcmF0b3I84oCZIGluIOKAmF9fYS5fX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPF9JdGVyYXRvciwgX0NvbnRhaW5lcj46Om9wZXJhdG9yKiBbd2l0aCBfSXRlcmF0b3IgPSBQb2ludCosIF9Db250YWluZXIgPSBzdGQ6OnZlY3RvcjxQb2ludD4sIF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8X0l0ZXJhdG9yLCBfQ29udGFpbmVyPjo6cmVmZXJlbmNlID0gUG9pbnQmXSgpIDwgX19jLl9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8X0l0ZXJhdG9yLCBfQ29udGFpbmVyPjo6b3BlcmF0b3IqIFt3aXRoIF9JdGVyYXRvciA9IFBvaW50KiwgX0NvbnRhaW5lciA9IHN0ZDo6dmVjdG9yPFBvaW50PiwgX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxfSXRlcmF0b3IsIF9Db250YWluZXI+OjpyZWZlcmVuY2UgPSBQb2ludCZdKCnigJkKL3Vzci9pbmNsdWRlL2MrKy80LjUvYml0cy9zdGxfYWxnby5oOjkxOjEyOiBlcnJvcjogbm8gbWF0Y2ggZm9yIOKAmG9wZXJhdG9yPOKAmSBpbiDigJhfX2IuX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxfSXRlcmF0b3IsIF9Db250YWluZXI+OjpvcGVyYXRvciogW3dpdGggX0l0ZXJhdG9yID0gUG9pbnQqLCBfQ29udGFpbmVyID0gc3RkOjp2ZWN0b3I8UG9pbnQ+LCBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPF9JdGVyYXRvciwgX0NvbnRhaW5lcj46OnJlZmVyZW5jZSA9IFBvaW50Jl0oKSA8IF9fYy5fX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPF9JdGVyYXRvciwgX0NvbnRhaW5lcj46Om9wZXJhdG9yKiBbd2l0aCBfSXRlcmF0b3IgPSBQb2ludCosIF9Db250YWluZXIgPSBzdGQ6OnZlY3RvcjxQb2ludD4sIF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8X0l0ZXJhdG9yLCBfQ29udGFpbmVyPjo6cmVmZXJlbmNlID0gUG9pbnQmXSgp4oCZCi91c3IvaW5jbHVkZS9jKysvNC41L2JpdHMvc3RsX2FsZ28uaDogSW4gZnVuY3Rpb24g4oCYX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yIHN0ZDo6X191bmd1YXJkZWRfcGFydGl0aW9uKF9SYW5kb21BY2Nlc3NJdGVyYXRvciwgX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yLCBjb25zdCBfVHAmKSBbd2l0aCBfUmFuZG9tQWNjZXNzSXRlcmF0b3IgPSBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPFBvaW50Kiwgc3RkOjp2ZWN0b3I8UG9pbnQ+ID4sIF9UcCA9IFBvaW50XeKAmToKL3Vzci9pbmNsdWRlL2MrKy80LjUvYml0cy9zdGxfYWxnby5oOjIyNDk6NzA6ICAgaW5zdGFudGlhdGVkIGZyb20g4oCYX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yIHN0ZDo6X191bmd1YXJkZWRfcGFydGl0aW9uX3Bpdm90KF9SYW5kb21BY2Nlc3NJdGVyYXRvciwgX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yKSBbd2l0aCBfUmFuZG9tQWNjZXNzSXRlcmF0b3IgPSBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPFBvaW50Kiwgc3RkOjp2ZWN0b3I8UG9pbnQ+ID5d4oCZCi91c3IvaW5jbHVkZS9jKysvNC41L2JpdHMvc3RsX2FsZ28uaDoyMjgwOjU0OiAgIGluc3RhbnRpYXRlZCBmcm9tIOKAmHZvaWQgc3RkOjpfX2ludHJvc29ydF9sb29wKF9SYW5kb21BY2Nlc3NJdGVyYXRvciwgX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yLCBfU2l6ZSkgW3dpdGggX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yID0gX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxQb2ludCosIHN0ZDo6dmVjdG9yPFBvaW50PiA+LCBfU2l6ZSA9IGxvbmcgaW50XeKAmQovdXNyL2luY2x1ZGUvYysrLzQuNS9iaXRzL3N0bF9hbGdvLmg6NTIxMjo0OiAgIGluc3RhbnRpYXRlZCBmcm9tIOKAmHZvaWQgc3RkOjpzb3J0KF9SQUl0ZXIsIF9SQUl0ZXIpIFt3aXRoIF9SQUl0ZXIgPSBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPFBvaW50Kiwgc3RkOjp2ZWN0b3I8UG9pbnQ+ID5d4oCZClF1YWRUcmVlLmNwcDo5MzozNjogICBpbnN0YW50aWF0ZWQgZnJvbSBoZXJlCi91c3IvaW5jbHVkZS9jKysvNC41L2JpdHMvc3RsX2FsZ28uaDoyMjA4OjQ6IGVycm9yOiBubyBtYXRjaCBmb3Ig4oCYb3BlcmF0b3I84oCZIGluIOKAmF9fZmlyc3QuX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxfSXRlcmF0b3IsIF9Db250YWluZXI+OjpvcGVyYXRvciogW3dpdGggX0l0ZXJhdG9yID0gUG9pbnQqLCBfQ29udGFpbmVyID0gc3RkOjp2ZWN0b3I8UG9pbnQ+LCBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPF9JdGVyYXRvciwgX0NvbnRhaW5lcj46OnJlZmVyZW5jZSA9IFBvaW50Jl0oKSA8IF9fcGl2b3TigJkKL3Vzci9pbmNsdWRlL2MrKy80LjUvYml0cy9zdGxfYWxnby5oOjIyMTE6NDogZXJyb3I6IG5vIG1hdGNoIGZvciDigJhvcGVyYXRvcjzigJkgaW4g4oCYX19waXZvdCA8IF9fbGFzdC5fX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPF9JdGVyYXRvciwgX0NvbnRhaW5lcj46Om9wZXJhdG9yKiBbd2l0aCBfSXRlcmF0b3IgPSBQb2ludCosIF9Db250YWluZXIgPSBzdGQ6OnZlY3RvcjxQb2ludD4sIF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8X0l0ZXJhdG9yLCBfQ29udGFpbmVyPjo6cmVmZXJlbmNlID0gUG9pbnQmXSgp4oCZCi91c3IvaW5jbHVkZS9jKysvNC41L2JpdHMvc3RsX2FsZ28uaDogSW4gZnVuY3Rpb24g4oCYdm9pZCBzdGQ6Ol9fdW5ndWFyZGVkX2xpbmVhcl9pbnNlcnQoX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yKSBbd2l0aCBfUmFuZG9tQWNjZXNzSXRlcmF0b3IgPSBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPFBvaW50Kiwgc3RkOjp2ZWN0b3I8UG9pbnQ+ID5d4oCZOgovdXNyL2luY2x1ZGUvYysrLzQuNS9iaXRzL3N0bF9hbGdvLmg6MjExMTo2OiAgIGluc3RhbnRpYXRlZCBmcm9tIOKAmHZvaWQgc3RkOjpfX2luc2VydGlvbl9zb3J0KF9SYW5kb21BY2Nlc3NJdGVyYXRvciwgX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yKSBbd2l0aCBfUmFuZG9tQWNjZXNzSXRlcmF0b3IgPSBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPFBvaW50Kiwgc3RkOjp2ZWN0b3I8UG9pbnQ+ID5d4oCZCi91c3IvaW5jbHVkZS9jKysvNC41L2JpdHMvc3RsX2FsZ28uaDoyMTc3OjQ6ICAgaW5zdGFudGlhdGVkIGZyb20g4oCYdm9pZCBzdGQ6Ol9fZmluYWxfaW5zZXJ0aW9uX3NvcnQoX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yLCBfUmFuZG9tQWNjZXNzSXRlcmF0b3IpIFt3aXRoIF9SYW5kb21BY2Nlc3NJdGVyYXRvciA9IF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8UG9pbnQqLCBzdGQ6OnZlY3RvcjxQb2ludD4gPl3igJkKL3Vzci9pbmNsdWRlL2MrKy80LjUvYml0cy9zdGxfYWxnby5oOjUyMTQ6NDogICBpbnN0YW50aWF0ZWQgZnJvbSDigJh2b2lkIHN0ZDo6c29ydChfUkFJdGVyLCBfUkFJdGVyKSBbd2l0aCBfUkFJdGVyID0gX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxQb2ludCosIHN0ZDo6dmVjdG9yPFBvaW50PiA+XeKAmQpRdWFkVHJlZS5jcHA6OTM6MzY6ICAgaW5zdGFudGlhdGVkIGZyb20gaGVyZQovdXNyL2luY2x1ZGUvYysrLzQuNS9iaXRzL3N0bF9hbGdvLmg6MjA2NDo3OiBlcnJvcjogbm8gbWF0Y2ggZm9yIOKAmG9wZXJhdG9yPOKAmSBpbiDigJhfX3ZhbCA8IF9fbmV4dC5fX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPF9JdGVyYXRvciwgX0NvbnRhaW5lcj46Om9wZXJhdG9yKiBbd2l0aCBfSXRlcmF0b3IgPSBQb2ludCosIF9Db250YWluZXIgPSBzdGQ6OnZlY3RvcjxQb2ludD4sIF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8X0l0ZXJhdG9yLCBfQ29udGFpbmVyPjo6cmVmZXJlbmNlID0gUG9pbnQmXSgp4oCZCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvdXNyL2luY2x1ZGUvYysrLzQuNS9iaXRzL3N0bF9hbGdvLmg6NjI6MCwKICAgICAgICAgICAgICAgICBmcm9tIC91c3IvaW5jbHVkZS9jKysvNC41L2FsZ29yaXRobTo2MywKICAgICAgICAgICAgICAgICBmcm9tIFF1YWRUcmVlLmg6OSwKICAgICAgICAgICAgICAgICBmcm9tIFF1YWRUcmVlLmNwcDoxOgovdXNyL2luY2x1ZGUvYysrLzQuNS9iaXRzL3N0bF9oZWFwLmg6IEluIGZ1bmN0aW9uIOKAmHZvaWQgc3RkOjpfX2FkanVzdF9oZWFwKF9SYW5kb21BY2Nlc3NJdGVyYXRvciwgX0Rpc3RhbmNlLCBfRGlzdGFuY2UsIF9UcCkgW3dpdGggX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yID0gX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxQb2ludCosIHN0ZDo6dmVjdG9yPFBvaW50PiA+LCBfRGlzdGFuY2UgPSBsb25nIGludCwgX1RwID0gUG9pbnRd4oCZOgovdXNyL2luY2x1ZGUvYysrLzQuNS9iaXRzL3N0bF9oZWFwLmg6Mzk0OjQ6ICAgaW5zdGFudGlhdGVkIGZyb20g4oCYdm9pZCBzdGQ6Om1ha2VfaGVhcChfUkFJdGVyLCBfUkFJdGVyKSBbd2l0aCBfUkFJdGVyID0gX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxQb2ludCosIHN0ZDo6dmVjdG9yPFBvaW50PiA+XeKAmQovdXNyL2luY2x1ZGUvYysrLzQuNS9iaXRzL3N0bF9hbGdvLmg6MTg5OTo3OiAgIGluc3RhbnRpYXRlZCBmcm9tIOKAmHZvaWQgc3RkOjpfX2hlYXBfc2VsZWN0KF9SYW5kb21BY2Nlc3NJdGVyYXRvciwgX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yLCBfUmFuZG9tQWNjZXNzSXRlcmF0b3IpIFt3aXRoIF9SYW5kb21BY2Nlc3NJdGVyYXRvciA9IF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8UG9pbnQqLCBzdGQ6OnZlY3RvcjxQb2ludD4gPl3igJkKL3Vzci9pbmNsdWRlL2MrKy80LjUvYml0cy9zdGxfYWxnby5oOjUwNTk6NzogICBpbnN0YW50aWF0ZWQgZnJvbSDigJh2b2lkIHN0ZDo6cGFydGlhbF9zb3J0KF9SQUl0ZXIsIF9SQUl0ZXIsIF9SQUl0ZXIpIFt3aXRoIF9SQUl0ZXIgPSBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPFBvaW50Kiwgc3RkOjp2ZWN0b3I8UG9pbnQ+ID5d4oCZCi91c3IvaW5jbHVkZS9jKysvNC41L2JpdHMvc3RsX2FsZ28uaDoyMjc1Ojg6ICAgaW5zdGFudGlhdGVkIGZyb20g4oCYdm9pZCBzdGQ6Ol9faW50cm9zb3J0X2xvb3AoX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yLCBfUmFuZG9tQWNjZXNzSXRlcmF0b3IsIF9TaXplKSBbd2l0aCBfUmFuZG9tQWNjZXNzSXRlcmF0b3IgPSBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPFBvaW50Kiwgc3RkOjp2ZWN0b3I8UG9pbnQ+ID4sIF9TaXplID0gbG9uZyBpbnRd4oCZCi91c3IvaW5jbHVkZS9jKysvNC41L2JpdHMvc3RsX2FsZ28uaDo1MjEyOjQ6ICAgaW5zdGFudGlhdGVkIGZyb20g4oCYdm9pZCBzdGQ6OnNvcnQoX1JBSXRlciwgX1JBSXRlcikgW3dpdGggX1JBSXRlciA9IF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8UG9pbnQqLCBzdGQ6OnZlY3RvcjxQb2ludD4gPl3igJkKUXVhZFRyZWUuY3BwOjkzOjM2OiAgIGluc3RhbnRpYXRlZCBmcm9tIGhlcmUKL3Vzci9pbmNsdWRlL2MrKy80LjUvYml0cy9zdGxfaGVhcC5oOjIzMjo0OiBlcnJvcjogbm8gbWF0Y2ggZm9yIOKAmG9wZXJhdG9yPOKAmSBpbiDigJhfX2ZpcnN0Ll9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8X0l0ZXJhdG9yLCBfQ29udGFpbmVyPjo6b3BlcmF0b3IrIFt3aXRoIF9JdGVyYXRvciA9IFBvaW50KiwgX0NvbnRhaW5lciA9IHN0ZDo6dmVjdG9yPFBvaW50PiwgX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxfSXRlcmF0b3IsIF9Db250YWluZXI+ID0gX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxQb2ludCosIHN0ZDo6dmVjdG9yPFBvaW50PiA+LCBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPF9JdGVyYXRvciwgX0NvbnRhaW5lcj46OmRpZmZlcmVuY2VfdHlwZSA9IGxvbmcgaW50XSgoKGNvbnN0IF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8UG9pbnQqLCBzdGQ6OnZlY3RvcjxQb2ludCwgc3RkOjphbGxvY2F0b3I8UG9pbnQ+ID4gPjo6ZGlmZmVyZW5jZV90eXBlJikoKGNvbnN0IF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8UG9pbnQqLCBzdGQ6OnZlY3RvcjxQb2ludCwgc3RkOjphbGxvY2F0b3I8UG9pbnQ+ID4gPjo6ZGlmZmVyZW5jZV90eXBlKikoJiBfX3NlY29uZENoaWxkKSkpKS5fX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPF9JdGVyYXRvciwgX0NvbnRhaW5lcj46Om9wZXJhdG9yKiBbd2l0aCBfSXRlcmF0b3IgPSBQb2ludCosIF9Db250YWluZXIgPSBzdGQ6OnZlY3RvcjxQb2ludD4sIF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8X0l0ZXJhdG9yLCBfQ29udGFpbmVyPjo6cmVmZXJlbmNlID0gUG9pbnQmXSgpIDwgX19maXJzdC5fX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPF9JdGVyYXRvciwgX0NvbnRhaW5lcj46Om9wZXJhdG9yKyBbd2l0aCBfSXRlcmF0b3IgPSBQb2ludCosIF9Db250YWluZXIgPSBzdGQ6OnZlY3RvcjxQb2ludD4sIF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8X0l0ZXJhdG9yLCBfQ29udGFpbmVyPiA9IF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8UG9pbnQqLCBzdGQ6OnZlY3RvcjxQb2ludD4gPiwgX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxfSXRlcmF0b3IsIF9Db250YWluZXI+OjpkaWZmZXJlbmNlX3R5cGUgPSBsb25nIGludF0oKChjb25zdCBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPFBvaW50Kiwgc3RkOjp2ZWN0b3I8UG9pbnQsIHN0ZDo6YWxsb2NhdG9yPFBvaW50PiA+ID46OmRpZmZlcmVuY2VfdHlwZSYpKChjb25zdCBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPFBvaW50Kiwgc3RkOjp2ZWN0b3I8UG9pbnQsIHN0ZDo6YWxsb2NhdG9yPFBvaW50PiA+ID46OmRpZmZlcmVuY2VfdHlwZSopKCYoX19zZWNvbmRDaGlsZCArIC0weDAwMDAwMDAwMDAwMDAwMDAxbCkpKSkpLl9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8X0l0ZXJhdG9yLCBfQ29udGFpbmVyPjo6b3BlcmF0b3IqIFt3aXRoIF9JdGVyYXRvciA9IFBvaW50KiwgX0NvbnRhaW5lciA9IHN0ZDo6dmVjdG9yPFBvaW50PiwgX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxfSXRlcmF0b3IsIF9Db250YWluZXI+OjpyZWZlcmVuY2UgPSBQb2ludCZdKCnigJkKL3Vzci9pbmNsdWRlL2MrKy80LjUvYml0cy9zdGxfaGVhcC5oOiBJbiBmdW5jdGlvbiDigJh2b2lkIHN0ZDo6X19wdXNoX2hlYXAoX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yLCBfRGlzdGFuY2UsIF9EaXN0YW5jZSwgX1RwKSBbd2l0aCBfUmFuZG9tQWNjZXNzSXRlcmF0b3IgPSBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPFBvaW50Kiwgc3RkOjp2ZWN0b3I8UG9pbnQ+ID4sIF9EaXN0YW5jZSA9IGxvbmcgaW50LCBfVHAgPSBQb2ludF3igJk6Ci91c3IvaW5jbHVkZS9jKysvNC41L2JpdHMvc3RsX2hlYXAuaDoyNDQ6NzogICBpbnN0YW50aWF0ZWQgZnJvbSDigJh2b2lkIHN0ZDo6X19hZGp1c3RfaGVhcChfUmFuZG9tQWNjZXNzSXRlcmF0b3IsIF9EaXN0YW5jZSwgX0Rpc3RhbmNlLCBfVHApIFt3aXRoIF9SYW5kb21BY2Nlc3NJdGVyYXRvciA9IF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8UG9pbnQqLCBzdGQ6OnZlY3RvcjxQb2ludD4gPiwgX0Rpc3RhbmNlID0gbG9uZyBpbnQsIF9UcCA9IFBvaW50XeKAmQovdXNyL2luY2x1ZGUvYysrLzQuNS9iaXRzL3N0bF9oZWFwLmg6Mzk0OjQ6ICAgaW5zdGFudGlhdGVkIGZyb20g4oCYdm9pZCBzdGQ6Om1ha2VfaGVhcChfUkFJdGVyLCBfUkFJdGVyKSBbd2l0aCBfUkFJdGVyID0gX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxQb2ludCosIHN0ZDo6dmVjdG9yPFBvaW50PiA+XeKAmQovdXNyL2luY2x1ZGUvYysrLzQuNS9iaXRzL3N0bF9hbGdvLmg6MTg5OTo3OiAgIGluc3RhbnRpYXRlZCBmcm9tIOKAmHZvaWQgc3RkOjpfX2hlYXBfc2VsZWN0KF9SYW5kb21BY2Nlc3NJdGVyYXRvciwgX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yLCBfUmFuZG9tQWNjZXNzSXRlcmF0b3IpIFt3aXRoIF9SYW5kb21BY2Nlc3NJdGVyYXRvciA9IF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8UG9pbnQqLCBzdGQ6OnZlY3RvcjxQb2ludD4gPl3igJkKL3Vzci9pbmNsdWRlL2MrKy80LjUvYml0cy9zdGxfYWxnby5oOjUwNTk6NzogICBpbnN0YW50aWF0ZWQgZnJvbSDigJh2b2lkIHN0ZDo6cGFydGlhbF9zb3J0KF9SQUl0ZXIsIF9SQUl0ZXIsIF9SQUl0ZXIpIFt3aXRoIF9SQUl0ZXIgPSBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPFBvaW50Kiwgc3RkOjp2ZWN0b3I8UG9pbnQ+ID5d4oCZCi91c3IvaW5jbHVkZS9jKysvNC41L2JpdHMvc3RsX2FsZ28uaDoyMjc1Ojg6ICAgaW5zdGFudGlhdGVkIGZyb20g4oCYdm9pZCBzdGQ6Ol9faW50cm9zb3J0X2xvb3AoX1JhbmRvbUFjY2Vzc0l0ZXJhdG9yLCBfUmFuZG9tQWNjZXNzSXRlcmF0b3IsIF9TaXplKSBbd2l0aCBfUmFuZG9tQWNjZXNzSXRlcmF0b3IgPSBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPFBvaW50Kiwgc3RkOjp2ZWN0b3I8UG9pbnQ+ID4sIF9TaXplID0gbG9uZyBpbnRd4oCZCi91c3IvaW5jbHVkZS9jKysvNC41L2JpdHMvc3RsX2FsZ28uaDo1MjEyOjQ6ICAgaW5zdGFudGlhdGVkIGZyb20g4oCYdm9pZCBzdGQ6OnNvcnQoX1JBSXRlciwgX1JBSXRlcikgW3dpdGggX1JBSXRlciA9IF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8UG9pbnQqLCBzdGQ6OnZlY3RvcjxQb2ludD4gPl3igJkKUXVhZFRyZWUuY3BwOjkzOjM2OiAgIGluc3RhbnRpYXRlZCBmcm9tIGhlcmUKL3Vzci9pbmNsdWRlL2MrKy80LjUvYml0cy9zdGxfaGVhcC5oOjEzNDo3OiBlcnJvcjogbm8gbWF0Y2ggZm9yIOKAmG9wZXJhdG9yPOKAmSBpbiDigJhfX2ZpcnN0Ll9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8X0l0ZXJhdG9yLCBfQ29udGFpbmVyPjo6b3BlcmF0b3IrIFt3aXRoIF9JdGVyYXRvciA9IFBvaW50KiwgX0NvbnRhaW5lciA9IHN0ZDo6dmVjdG9yPFBvaW50PiwgX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxfSXRlcmF0b3IsIF9Db250YWluZXI+ID0gX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxQb2ludCosIHN0ZDo6dmVjdG9yPFBvaW50PiA+LCBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPF9JdGVyYXRvciwgX0NvbnRhaW5lcj46OmRpZmZlcmVuY2VfdHlwZSA9IGxvbmcgaW50XSgoKGNvbnN0IF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8UG9pbnQqLCBzdGQ6OnZlY3RvcjxQb2ludCwgc3RkOjphbGxvY2F0b3I8UG9pbnQ+ID4gPjo6ZGlmZmVyZW5jZV90eXBlJikoKGNvbnN0IF9fZ251X2N4eDo6X19ub3JtYWxfaXRlcmF0b3I8UG9pbnQqLCBzdGQ6OnZlY3RvcjxQb2ludCwgc3RkOjphbGxvY2F0b3I8UG9pbnQ+ID4gPjo6ZGlmZmVyZW5jZV90eXBlKikoJiBfX3BhcmVudCkpKSkuX19nbnVfY3h4OjpfX25vcm1hbF9pdGVyYXRvcjxfSXRlcmF0b3IsIF9Db250YWluZXI+OjpvcGVyYXRvciogW3dpdGggX0l0ZXJhdG9yID0gUG9pbnQqLCBfQ29udGFpbmVyID0gc3RkOjp2ZWN0b3I8UG9pbnQ+LCBfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPF9JdGVyYXRvciwgX0NvbnRhaW5lcj46OnJlZmVyZW5jZSA9IFBvaW50Jl0oKSA8IF9fdmFsdWXigJkK