3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $data = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. In tristique nisi nibh, sit amet vehicula eros aliquam ut. Phasellus ac mauris vehicula, viverra quam vel, sodales lectus. Duis pharetra massa in mollis rhoncus. Praesent pretium sodales pretium. Donec luctus, massa sit amet lacinia feugiat, massa massa bibendum elit, vel euismod felis erat quis diam. Nunc mollis tortor mi, cursus rutrum neque sollicitudin quis. Vestibulum aliquet viverra nibh, dapibus adipiscing magna cursus eget. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin placerat, nisl eu mattis interdum, mi metus vehicula tortor, eget consequat mi sem vitae tellus. Phasellus varius leo nec porta elementum. Duis pulvinar imperdiet diam eget ultricies. Suspendisse vestibulum viverra magna, at ornare tellus gravida in. Phasellus aliquet odio et aliquet cursus. Mauris id neque at arcu pulvinar sollicitudin et at mauris. Vestibulum vitae lobortis metus. Proin ac mauris ante. Mauris ac libero quis odio facilisis egestas nec ac urna. Donec euismod ligula nec enim aliquam, nec feugiat dolor ultricies. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In rhoncus ipsum a justo lacinia, et pulvinar felis mollis. Aenean cursus rutrum erat vel dictum. Nunc elit nulla, aliquam non porttitor nec, tincidunt eu lacus. Cras tempor augue purus, eleifend aliquet justo ultricies id. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris at elit sagittis, posuere augue et, porta lorem. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum fermentum nibh enim, et pulvinar magna mollis sit amet. Integer tristique suscipit sem, cursus eleifend nunc commodo ac. Quisque felis risus, bibendum in accumsan tincidunt, venenatis eu sem. Donec sed felis viverra, varius arcu vitae, commodo ante. Sed faucibus ac metus in commodo. Proin enim mauris, interdum a sapien at, ornare commodo diam. Sed a ante imperdiet, fringilla lacus ac, congue nibh. Nunc non vulputate nunc. Sed pharetra commodo tellus id tristique. Etiam sed elit sit amet lorem tristique euismod non ut neque. Morbi id dignissim mauris. Nullam commodo vulputate molestie. Suspendisse eu ligula aliquet, accumsan risus ac, elementum lectus. Donec id nisl sed felis auctor mollis eu gravida justo. Vestibulum sed adipiscing dui, non imperdiet turpis. In hac habitasse platea dictumst. Vestibulum convallis diam quis augue ultrices, mattis adipiscing leo ultricies. Curabitur gravida, lacus at facilisis faucibus, enim tortor vestibulum sem, quis vestibulum nunc felis at augue. Ut imperdiet diam ac metus ultrices ullamcorper. Cras nec tortor id ante tempor feugiat. Sed placerat, est in tristique rhoncus, erat neque condimentum magna, tincidunt euismod ipsum nisl vitae sapien. Donec et consequat arcu, eu ultricies purus. Ut eget turpis sed est aliquet tristique. Nulla lectus nibh, commodo eu dui eget, commodo euismod urna. Nunc nec mollis felis, eget ultricies diam. Aliquam suscipit mauris at lorem convallis condimentum. Donec suscipit erat ut cursus lobortis. Curabitur ac velit non dui porta pulvinar at sit amet neque. Cras luctus lorem vel justo mattis pharetra. Aenean vestibulum lectus est, sed consectetur est posuere eu. Fusce vehicula tristique mattis. Nam in mattis mi. Cras eget ligula in metus sodales placerat pretium a dolor. Suspendisse vestibulum erat vitae eros bibendum posuere. Aenean nec augue vitae nisl luctus tempus.'; $pos = 0; $chunkLength = 5000; $inputChunkMaxLength = 12 * $chunkLength; $chunkEnd = "\r\n"; $result = ''; $length = strlen($data); while ($pos < $length) { $inputChunk = substr($data, $pos, $inputChunkMaxLength); $encoded = base64_encode($inputChunk); $result .= chunk_split($encoded, $chunkLength, $chunkEnd); $pos += $inputChunkMaxLength; } var_dump($result);
Output for 4.3.0 - 4.3.10, 4.4.0 - 5.0.3, 5.0.5 - 5.6.21, hhvm-3.10.0 - 3.12.0, 7.0.0 - 7.1.0
string(4658) "TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gSW4gdHJpc3RpcXVlIG5pc2kgbmliaCwgc2l0IGFtZXQgdmVoaWN1bGEgZXJvcyBhbGlxdWFtIHV0LiBQaGFzZWxsdXMgYWMgbWF1cmlzIHZlaGljdWxhLCB2aXZlcnJhIHF1YW0gdmVsLCBzb2RhbGVzIGxlY3R1cy4gRHVpcyBwaGFyZXRyYSBtYXNzYSBpbiBtb2xsaXMgcmhvbmN1cy4gUHJhZXNlbnQgcHJldGl1bSBzb2RhbGVzIHByZXRpdW0uIERvbmVjIGx1Y3R1cywgbWFzc2Egc2l0IGFtZXQgbGFjaW5pYSBmZXVnaWF0LCBtYXNzYSBtYXNzYSBiaWJlbmR1bSBlbGl0LCB2ZWwgZXVpc21vZCBmZWxpcyBlcmF0IHF1aXMgZGlhbS4gTnVuYyBtb2xsaXMgdG9ydG9yIG1pLCBjdXJzdXMgcnV0cnVtIG5lcXVlIHNvbGxpY2l0dWRpbiBxdWlzLiBWZXN0aWJ1bHVtIGFsaXF1ZXQgdml2ZXJyYSBuaWJoLCBkYXBpYnVzIGFkaXBpc2NpbmcgbWFnbmEgY3Vyc3VzIGVnZXQuIEN1bSBzb2NpaXMgbmF0b3F1ZSBwZW5hdGlidXMgZXQgbWFnbmlzIGRpcyBwYXJ0dXJpZW50IG1vbnRlcywgbmFzY2V0dXIgcmlkaWN1bHVzIG11cy4KClByb2luIHBsYWNlcmF0LCBuaXNsIGV1IG1hdHRpcyBpbnRlcmR1bSwgbWkgbWV0dXMgdmVoaWN1bGEgdG9ydG9yLCBlZ2V0IGNvbnNlcXVhdCBtaSBzZW0gdml0YWUgdGVsbHVzLiBQaGFzZWxsdXMgdmFyaXVzIGxlbyBuZWMgcG9ydGEgZWxlbWVudHVtLiBEdWlzIHB1bHZpbmFyIGltcGVyZGlldCBkaWFtIGVnZXQgdWx0cmljaWVzLiBTdXNwZW5kaXNzZSB2ZXN0aWJ1bHVtIHZpdmVycmEgbWFnbmEsIGF0IG9ybmFyZSB0ZWxsdXMgZ3JhdmlkYSBpbi4gUGhhc2VsbHVzIGFsaXF1ZXQgb2RpbyBldCBhbGlxdWV0IGN1cnN1cy4gTWF1cmlzIGlkIG5lcXVlIGF0IGFyY3UgcHVsdmluYXIgc29sbGljaXR1ZGluIGV0IGF0IG1hdXJpcy4gVmVzdGlidWx1bSB2aXRhZSBsb2JvcnRpcyBtZXR1cy4gUHJvaW4gYWMgbWF1cmlzIGFudGUuIE1hdXJpcyBhYyBsaWJlcm8gcXVpcyBvZGlvIGZhY2lsaXNpcyBlZ2VzdGFzIG5lYyBhYyB1cm5hLiBEb25lYyBldWlzbW9kIGxpZ3VsYSBuZWMgZW5pbSBhbGlxdWFtLCBuZWMgZmV1Z2lhdCBkb2xvciB1bHRyaWNpZXMuIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLiBJbiByaG9uY3VzIGlwc3VtIGEganVzdG8gbGFjaW5pYSwgZXQgcHVsdmluYXIgZmVsaXMgbW9sbGlzLiBBZW5lYW4gY3Vyc3VzIHJ1dHJ1bSBlcmF0IHZlbCBkaWN0dW0uCgpOdW5jIGVsaXQgbnVsbGEsIGFsaXF1YW0gbm9uIHBvcnR0aXRvciBuZWMsIHRpbmNpZHVudCBldSBsYWN1cy4gQ3JhcyB0ZW1wb3IgYXVndWUgcHVydXMsIGVsZWlmZW5kIGFsaXF1ZXQganVzdG8gdWx0cmljaWVzIGlkLiBJbnRlcmR1bSBldCBtYWxlc3VhZGEgZmFtZXMgYWMgYW50ZSBpcHN1bSBwcmltaXMgaW4gZmF1Y2lidXMuIE1hdXJpcyBhdCBlbGl0IHNhZ2l0dGlzLCBwb3N1ZXJlIGF1Z3VlIGV0LCBwb3J0YSBsb3JlbS4gTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gVmVzdGlidWx1bSBmZXJtZW50dW0gbmliaCBlbmltLCBldCBwdWx2aW5hciBtYWduYSBtb2xsaXMgc2l0IGFtZXQuIEludGVnZXIgdHJpc3RpcXVlIHN1c2NpcGl0IHNlbSwgY3Vyc3VzIGVsZWlmZW5kIG51bmMgY29tbW9kbyBhYy4gUXVpc3F1ZSBmZWxpcyByaXN1cywgYmliZW5kdW0gaW4gYWNjdW1zYW4gdGluY2lkdW50LCB2ZW5lbmF0aXMgZXUgc2VtLiBEb25lYyBzZWQgZmVsaXMgdml2ZXJyYSwgdmFyaXVzIGFyY3Ugdml0YWUsIGNvbW1vZG8gYW50ZS4gU2VkIGZhdWNpYnVzIGFjIG1ldHVzIGluIGNvbW1vZG8uCgpQcm9pbiBlbmltIG1hdXJpcywgaW50ZXJkdW0gYSBzYXBpZW4gYXQsIG9ybmFyZSBjb21tb2RvIGRpYW0uIFNlZCBhIGFudGUgaW1wZXJkaWV0LCBmcmluZ2lsbGEgbGFjdXMgYWMsIGNvbmd1ZSBuaWJoLiBOdW5jIG5vbiB2dWxwdXRhdGUgbnVuYy4gU2VkIHBoYXJldHJhIGNvbW1vZG8gdGVsbHVzIGlkIHRyaXN0aXF1ZS4gRXRpYW0gc2VkIGVsaXQgc2l0IGFtZXQgbG9yZW0gdHJpc3RpcXVlIGV1aXNtb2Qgbm9uIHV0IG5lcXVlLiBNb3JiaSBpZCBkaWduaXNzaW0gbWF1cmlzLiBOdWxsYW0gY29tbW9kbyB2dWxwdXRhdGUgbW9sZXN0aWUuIFN1c3BlbmRpc3NlIGV1IGxpZ3VsYSBhbGlxdWV0LCBhY2N1bXNhbiByaXN1cyBhYywgZWxlbWVudHVtIGxlY3R1cy4gRG9uZWMgaWQgbmlzbCBzZWQgZmVsaXMgYXVjdG9yIG1vbGxpcyBldSBncmF2aWRhIGp1c3RvLiBWZXN0aWJ1bHVtIHNlZCBhZGlwaXNjaW5nIGR1aSwgbm9uIGltcGVyZGlldCB0dXJwaXMuIEluIGhhYyBoYWJpdGFzc2UgcGxhdGVhIGRpY3R1bXN0LiBWZXN0aWJ1bHVtIGNvbnZhbGxpcyBkaWFtIHF1aXMgYXVndWUgdWx0cmljZXMsIG1hdHRpcyBhZGlwaXNjaW5nIGxlbyB1bHRyaWNpZXMuIEN1cmFiaXR1ciBncmF2aWRhLCBsYWN1cyBhdCBmYWNpbGlzaXMgZmF1Y2lidXMsIGVuaW0gdG9ydG9yIHZlc3RpYnVsdW0gc2VtLCBxdWlzIHZlc3RpYnVsdW0gbnVuYyBmZWxpcyBhdCBhdWd1ZS4gVXQgaW1wZXJkaWV0IGRpYW0gYWMgbWV0dXMgdWx0cmljZXMgdWxsYW1jb3JwZXIuIENyYXMgbmVjIHRvcnRvciBpZCBhbnRlIHRlbXBvciBmZXVnaWF0LiBTZWQgcGxhY2VyYXQsIGVzdCBpbiB0cmlzdGlxdWUgcmhvbmN1cywgZXJhdCBuZXF1ZSBjb25kaW1lbnR1bSBtYWduYSwgdGluY2lkdW50IGV1aXNtb2QgaXBzdW0gbmlzbCB2aXRhZSBzYXBpZW4uCgpEb25lYyBldCBjb25zZXF1YXQgYXJjdSwgZXUgdWx0cmljaWVzIHB1cnVzLiBVdCBlZ2V0IHR1cnBpcyBzZWQgZXN0IGFsaXF1ZXQgdHJpc3RpcXVlLiBOdWxsYSBsZWN0dXMgbmliaCwgY29tbW9kbyBldSBkdWkgZWdldCwgY29tbW9kbyBldWlzbW9kIHVybmEuIE51bmMgbmVjIG1vbGxpcyBmZWxpcywgZWdldCB1bHRyaWNpZXMgZGlhbS4gQWxpcXVhbSBzdXNjaXBpdCBtYXVyaXMgYXQgbG9yZW0gY29udmFsbGlzIGNvbmRpbWVudHVtLiBEb25lYyBzdXNjaXBpdCBlcmF0IHV0IGN1cnN1cyBsb2JvcnRpcy4gQ3VyYWJpdHVyIGFjIHZlbGl0IG5vbiBkdWkgcG9ydGEgcHVsdmluYXIgYXQgc2l0IGFtZXQgbmVxdWUuIENyYXMgbHVjdHVzIGxvcmVtIHZlbCBqdXN0byBtYXR0aXMgcGhhcmV0cmEuIEFlbmVhbiB2ZXN0aWJ1bHVtIGxlY3R1cyBlc3QsIHNlZCBjb25zZWN0ZXR1ciBlc3QgcG9zdWVyZSBldS4gRnVzY2UgdmVoaWN1bGEgdHJpc3RpcXVlIG1hdHRpcy4gTmFtIGluIG1hdHRpcyBtaS4gQ3JhcyBlZ2V0IGxpZ3VsYSBpbiBtZXR1cyBzb2RhbGVzIHBsYWNlcmF0IHByZXRpdW0gYSBkb2xvci4gU3VzcGVuZGlzc2UgdmVzdGlidWx1bSBlcmF0IHZpdGFlIGVyb3MgYmliZW5kdW0gcG9zdWVyZS4gQWVuZWFuIG5lYyBhdWd1ZSB2aXRhZSBuaXNsIGx1Y3R1cyB0ZW1wdXMu "
Output for 4.3.11, 5.0.4
string(4656) "TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gSW4gdHJpc3RpcXVlIG5pc2kgbmliaCwgc2l0IGFtZXQgdmVoaWN1bGEgZXJvcyBhbGlxdWFtIHV0LiBQaGFzZWxsdXMgYWMgbWF1cmlzIHZlaGljdWxhLCB2aXZlcnJhIHF1YW0gdmVsLCBzb2RhbGVzIGxlY3R1cy4gRHVpcyBwaGFyZXRyYSBtYXNzYSBpbiBtb2xsaXMgcmhvbmN1cy4gUHJhZXNlbnQgcHJldGl1bSBzb2RhbGVzIHByZXRpdW0uIERvbmVjIGx1Y3R1cywgbWFzc2Egc2l0IGFtZXQgbGFjaW5pYSBmZXVnaWF0LCBtYXNzYSBtYXNzYSBiaWJlbmR1bSBlbGl0LCB2ZWwgZXVpc21vZCBmZWxpcyBlcmF0IHF1aXMgZGlhbS4gTnVuYyBtb2xsaXMgdG9ydG9yIG1pLCBjdXJzdXMgcnV0cnVtIG5lcXVlIHNvbGxpY2l0dWRpbiBxdWlzLiBWZXN0aWJ1bHVtIGFsaXF1ZXQgdml2ZXJyYSBuaWJoLCBkYXBpYnVzIGFkaXBpc2NpbmcgbWFnbmEgY3Vyc3VzIGVnZXQuIEN1bSBzb2NpaXMgbmF0b3F1ZSBwZW5hdGlidXMgZXQgbWFnbmlzIGRpcyBwYXJ0dXJpZW50IG1vbnRlcywgbmFzY2V0dXIgcmlkaWN1bHVzIG11cy4KClByb2luIHBsYWNlcmF0LCBuaXNsIGV1IG1hdHRpcyBpbnRlcmR1bSwgbWkgbWV0dXMgdmVoaWN1bGEgdG9ydG9yLCBlZ2V0IGNvbnNlcXVhdCBtaSBzZW0gdml0YWUgdGVsbHVzLiBQaGFzZWxsdXMgdmFyaXVzIGxlbyBuZWMgcG9ydGEgZWxlbWVudHVtLiBEdWlzIHB1bHZpbmFyIGltcGVyZGlldCBkaWFtIGVnZXQgdWx0cmljaWVzLiBTdXNwZW5kaXNzZSB2ZXN0aWJ1bHVtIHZpdmVycmEgbWFnbmEsIGF0IG9ybmFyZSB0ZWxsdXMgZ3JhdmlkYSBpbi4gUGhhc2VsbHVzIGFsaXF1ZXQgb2RpbyBldCBhbGlxdWV0IGN1cnN1cy4gTWF1cmlzIGlkIG5lcXVlIGF0IGFyY3UgcHVsdmluYXIgc29sbGljaXR1ZGluIGV0IGF0IG1hdXJpcy4gVmVzdGlidWx1bSB2aXRhZSBsb2JvcnRpcyBtZXR1cy4gUHJvaW4gYWMgbWF1cmlzIGFudGUuIE1hdXJpcyBhYyBsaWJlcm8gcXVpcyBvZGlvIGZhY2lsaXNpcyBlZ2VzdGFzIG5lYyBhYyB1cm5hLiBEb25lYyBldWlzbW9kIGxpZ3VsYSBuZWMgZW5pbSBhbGlxdWFtLCBuZWMgZmV1Z2lhdCBkb2xvciB1bHRyaWNpZXMuIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLiBJbiByaG9uY3VzIGlwc3VtIGEganVzdG8gbGFjaW5pYSwgZXQgcHVsdmluYXIgZmVsaXMgbW9sbGlzLiBBZW5lYW4gY3Vyc3VzIHJ1dHJ1bSBlcmF0IHZlbCBkaWN0dW0uCgpOdW5jIGVsaXQgbnVsbGEsIGFsaXF1YW0gbm9uIHBvcnR0aXRvciBuZWMsIHRpbmNpZHVudCBldSBsYWN1cy4gQ3JhcyB0ZW1wb3IgYXVndWUgcHVydXMsIGVsZWlmZW5kIGFsaXF1ZXQganVzdG8gdWx0cmljaWVzIGlkLiBJbnRlcmR1bSBldCBtYWxlc3VhZGEgZmFtZXMgYWMgYW50ZSBpcHN1bSBwcmltaXMgaW4gZmF1Y2lidXMuIE1hdXJpcyBhdCBlbGl0IHNhZ2l0dGlzLCBwb3N1ZXJlIGF1Z3VlIGV0LCBwb3J0YSBsb3JlbS4gTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gVmVzdGlidWx1bSBmZXJtZW50dW0gbmliaCBlbmltLCBldCBwdWx2aW5hciBtYWduYSBtb2xsaXMgc2l0IGFtZXQuIEludGVnZXIgdHJpc3RpcXVlIHN1c2NpcGl0IHNlbSwgY3Vyc3VzIGVsZWlmZW5kIG51bmMgY29tbW9kbyBhYy4gUXVpc3F1ZSBmZWxpcyByaXN1cywgYmliZW5kdW0gaW4gYWNjdW1zYW4gdGluY2lkdW50LCB2ZW5lbmF0aXMgZXUgc2VtLiBEb25lYyBzZWQgZmVsaXMgdml2ZXJyYSwgdmFyaXVzIGFyY3Ugdml0YWUsIGNvbW1vZG8gYW50ZS4gU2VkIGZhdWNpYnVzIGFjIG1ldHVzIGluIGNvbW1vZG8uCgpQcm9pbiBlbmltIG1hdXJpcywgaW50ZXJkdW0gYSBzYXBpZW4gYXQsIG9ybmFyZSBjb21tb2RvIGRpYW0uIFNlZCBhIGFudGUgaW1wZXJkaWV0LCBmcmluZ2lsbGEgbGFjdXMgYWMsIGNvbmd1ZSBuaWJoLiBOdW5jIG5vbiB2dWxwdXRhdGUgbnVuYy4gU2VkIHBoYXJldHJhIGNvbW1vZG8gdGVsbHVzIGlkIHRyaXN0aXF1ZS4gRXRpYW0gc2VkIGVsaXQgc2l0IGFtZXQgbG9yZW0gdHJpc3RpcXVlIGV1aXNtb2Qgbm9uIHV0IG5lcXVlLiBNb3JiaSBpZCBkaWduaXNzaW0gbWF1cmlzLiBOdWxsYW0gY29tbW9kbyB2dWxwdXRhdGUgbW9sZXN0aWUuIFN1c3BlbmRpc3NlIGV1IGxpZ3VsYSBhbGlxdWV0LCBhY2N1bXNhbiByaXN1cyBhYywgZWxlbWVudHVtIGxlY3R1cy4gRG9uZWMgaWQgbmlzbCBzZWQgZmVsaXMgYXVjdG9yIG1vbGxpcyBldSBncmF2aWRhIGp1c3RvLiBWZXN0aWJ1bHVtIHNlZCBhZGlwaXNjaW5nIGR1aSwgbm9uIGltcGVyZGlldCB0dXJwaXMuIEluIGhhYyBoYWJpdGFzc2UgcGxhdGVhIGRpY3R1bXN0LiBWZXN0aWJ1bHVtIGNvbnZhbGxpcyBkaWFtIHF1aXMgYXVndWUgdWx0cmljZXMsIG1hdHRpcyBhZGlwaXNjaW5nIGxlbyB1bHRyaWNpZXMuIEN1cmFiaXR1ciBncmF2aWRhLCBsYWN1cyBhdCBmYWNpbGlzaXMgZmF1Y2lidXMsIGVuaW0gdG9ydG9yIHZlc3RpYnVsdW0gc2VtLCBxdWlzIHZlc3RpYnVsdW0gbnVuYyBmZWxpcyBhdCBhdWd1ZS4gVXQgaW1wZXJkaWV0IGRpYW0gYWMgbWV0dXMgdWx0cmljZXMgdWxsYW1jb3JwZXIuIENyYXMgbmVjIHRvcnRvciBpZCBhbnRlIHRlbXBvciBmZXVnaWF0LiBTZWQgcGxhY2VyYXQsIGVzdCBpbiB0cmlzdGlxdWUgcmhvbmN1cywgZXJhdCBuZXF1ZSBjb25kaW1lbnR1bSBtYWduYSwgdGluY2lkdW50IGV1aXNtb2QgaXBzdW0gbmlzbCB2aXRhZSBzYXBpZW4uCgpEb25lYyBldCBjb25zZXF1YXQgYXJjdSwgZXUgdWx0cmljaWVzIHB1cnVzLiBVdCBlZ2V0IHR1cnBpcyBzZWQgZXN0IGFsaXF1ZXQgdHJpc3RpcXVlLiBOdWxsYSBsZWN0dXMgbmliaCwgY29tbW9kbyBldSBkdWkgZWdldCwgY29tbW9kbyBldWlzbW9kIHVybmEuIE51bmMgbmVjIG1vbGxpcyBmZWxpcywgZWdldCB1bHRyaWNpZXMgZGlhbS4gQWxpcXVhbSBzdXNjaXBpdCBtYXVyaXMgYXQgbG9yZW0gY29udmFsbGlzIGNvbmRpbWVudHVtLiBEb25lYyBzdXNjaXBpdCBlcmF0IHV0IGN1cnN1cyBsb2JvcnRpcy4gQ3VyYWJpdHVyIGFjIHZlbGl0IG5vbiBkdWkgcG9ydGEgcHVsdmluYXIgYXQgc2l0IGFtZXQgbmVxdWUuIENyYXMgbHVjdHVzIGxvcmVtIHZlbCBqdXN0byBtYXR0aXMgcGhhcmV0cmEuIEFlbmVhbiB2ZXN0aWJ1bHVtIGxlY3R1cyBlc3QsIHNlZCBjb25zZWN0ZXR1ciBlc3QgcG9zdWVyZSBldS4gRnVzY2UgdmVoaWN1bGEgdHJpc3RpcXVlIG1hdHRpcy4gTmFtIGluIG1hdHRpcyBtaS4gQ3JhcyBlZ2V0IGxpZ3VsYSBpbiBtZXR1cyBzb2RhbGVzIHBsYWNlcmF0IHByZXRpdW0gYSBkb2xvci4gU3VzcGVuZGlzc2UgdmVzdGlidWx1bSBlcmF0IHZpdGFlIGVyb3MgYmliZW5kdW0gcG9zdWVyZS4gQWVuZWFuIG5lYyBhdWd1ZSB2aXRhZSBuaXNsIGx1Y3R1cyB0ZW1wdXMu"