Skip to content

Instantly share code, notes, and snippets.

@lo48576
Last active January 8, 2022 23:02
Show Gist options
  • Save lo48576/12f8875677ec6fcde155d50b553e2d32 to your computer and use it in GitHub Desktop.
Save lo48576/12f8875677ec6fcde155d50b553e2d32 to your computer and use it in GitHub Desktop.
20220108-iri-string-parser-improvement
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg version="1.1" width="1200" height="646" onload="init(evt)" viewBox="0 0 1200 646" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:fg="http://github.com/jonhoo/inferno"><!--Flame graph stack visualization. See https://github.com/brendangregg/FlameGraph for latest version, and http://www.brendangregg.com/flamegraphs.html for examples.--><!--NOTES: --><defs><linearGradient id="background" y1="0" y2="1" x1="0" x2="0"><stop stop-color="#eeeeee" offset="5%"/><stop stop-color="#eeeeb0" offset="95%"/></linearGradient></defs><style type="text/css">
text { font-family:"Verdana"; font-size:12px; fill:rgb(0,0,0); }
#title { text-anchor:middle; font-size:17px; }
#search { opacity:0.1; cursor:pointer; }
#search:hover, #search.show { opacity:1; }
#subtitle { text-anchor:middle; font-color:rgb(160,160,160); }
#unzoom { cursor:pointer; }
#frames > *:hover { stroke:black; stroke-width:0.5; cursor:pointer; }
.hide { display:none; }
.parent { opacity:0.5; }
</style><script type="text/ecmascript"><![CDATA[
var nametype = 'Function:';
var fontsize = 12;
var fontwidth = 0.59;
var xpad = 10;
var inverted = false;
var searchcolor = 'rgb(230,0,230)';
var fluiddrawing = true;
var truncate_text_right = false;
]]><![CDATA["use strict";
var details, searchbtn, unzoombtn, matchedtxt, svg, searching, frames;
function init(evt) {
details = document.getElementById("details").firstChild;
searchbtn = document.getElementById("search");
unzoombtn = document.getElementById("unzoom");
matchedtxt = document.getElementById("matched");
svg = document.getElementsByTagName("svg")[0];
frames = document.getElementById("frames");
total_samples = parseInt(frames.attributes.total_samples.value);
searching = 0;
// Use GET parameters to restore a flamegraph's state.
var restore_state = function() {
var params = get_params();
if (params.x && params.y)
zoom(find_group(document.querySelector('[*|x="' + params.x + '"][y="' + params.y + '"]')));
if (params.s)
search(params.s);
};
if (fluiddrawing) {
// Make width dynamic so the SVG fits its parent's width.
svg.removeAttribute("width");
// Edge requires us to have a viewBox that gets updated with size changes.
var isEdge = /Edge\/\d./i.test(navigator.userAgent);
if (!isEdge) {
svg.removeAttribute("viewBox");
}
var update_for_width_change = function() {
if (isEdge) {
svg.attributes.viewBox.value = "0 0 " + svg.width.baseVal.value + " " + svg.height.baseVal.value;
}
// Keep consistent padding on left and right of frames container.
frames.attributes.width.value = svg.width.baseVal.value - xpad * 2;
// Text truncation needs to be adjusted for the current width.
var el = frames.children;
for(var i = 0; i < el.length; i++) {
update_text(el[i]);
}
// Keep search elements at a fixed distance from right edge.
var svgWidth = svg.width.baseVal.value;
searchbtn.attributes.x.value = svgWidth - xpad - 100;
matchedtxt.attributes.x.value = svgWidth - xpad - 100;
};
window.addEventListener('resize', function() {
update_for_width_change();
});
// This needs to be done asynchronously for Safari to work.
setTimeout(function() {
unzoom();
update_for_width_change();
restore_state();
}, 0);
} else {
restore_state();
}
}
// event listeners
window.addEventListener("click", function(e) {
var target = find_group(e.target);
if (target) {
if (target.nodeName == "a") {
if (e.ctrlKey === false) return;
e.preventDefault();
}
if (target.classList.contains("parent")) unzoom();
zoom(target);
// set parameters for zoom state
var el = target.querySelector("rect");
if (el && el.attributes && el.attributes.y && el.attributes["fg:x"]) {
var params = get_params()
params.x = el.attributes["fg:x"].value;
params.y = el.attributes.y.value;
history.replaceState(null, null, parse_params(params));
}
}
else if (e.target.id == "unzoom") {
unzoom();
// remove zoom state
var params = get_params();
if (params.x) delete params.x;
if (params.y) delete params.y;
history.replaceState(null, null, parse_params(params));
}
else if (e.target.id == "search") search_prompt();
}, false)
// mouse-over for info
// show
window.addEventListener("mouseover", function(e) {
var target = find_group(e.target);
if (target) details.nodeValue = nametype + " " + g_to_text(target);
}, false)
// clear
window.addEventListener("mouseout", function(e) {
var target = find_group(e.target);
if (target) details.nodeValue = ' ';
}, false)
// ctrl-F for search
window.addEventListener("keydown",function (e) {
if (e.keyCode === 114 || (e.ctrlKey && e.keyCode === 70)) {
e.preventDefault();
search_prompt();
}
}, false)
// functions
function get_params() {
var params = {};
var paramsarr = window.location.search.substr(1).split('&');
for (var i = 0; i < paramsarr.length; ++i) {
var tmp = paramsarr[i].split("=");
if (!tmp[0] || !tmp[1]) continue;
params[tmp[0]] = decodeURIComponent(tmp[1]);
}
return params;
}
function parse_params(params) {
var uri = "?";
for (var key in params) {
uri += key + '=' + encodeURIComponent(params[key]) + '&';
}
if (uri.slice(-1) == "&")
uri = uri.substring(0, uri.length - 1);
if (uri == '?')
uri = window.location.href.split('?')[0];
return uri;
}
function find_child(node, selector) {
var children = node.querySelectorAll(selector);
if (children.length) return children[0];
return;
}
function find_group(node) {
var parent = node.parentElement;
if (!parent) return;
if (parent.id == "frames") return node;
return find_group(parent);
}
function orig_save(e, attr, val) {
if (e.attributes["fg:orig_" + attr] != undefined) return;
if (e.attributes[attr] == undefined) return;
if (val == undefined) val = e.attributes[attr].value;
e.setAttribute("fg:orig_" + attr, val);
}
function orig_load(e, attr) {
if (e.attributes["fg:orig_"+attr] == undefined) return;
e.attributes[attr].value = e.attributes["fg:orig_" + attr].value;
e.removeAttribute("fg:orig_" + attr);
}
function g_to_text(e) {
var text = find_child(e, "title").firstChild.nodeValue;
return (text)
}
function g_to_func(e) {
var func = g_to_text(e);
// if there's any manipulation we want to do to the function
// name before it's searched, do it here before returning.
return (func);
}
function update_text(e) {
var r = find_child(e, "rect");
var t = find_child(e, "text");
var w = parseFloat(r.attributes.width.value) * frames.attributes.width.value / 100 - 3;
var txt = find_child(e, "title").textContent.replace(/\([^(]*\)$/,"");
t.attributes.x.value = format_percent((parseFloat(r.attributes.x.value) + (100 * 3 / frames.attributes.width.value)));
// Smaller than this size won't fit anything
if (w < 2 * fontsize * fontwidth) {
t.textContent = "";
return;
}
t.textContent = txt;
// Fit in full text width
if (/^ *\$/.test(txt) || t.getComputedTextLength() < w)
return;
if (truncate_text_right) {
// Truncate the right side of the text.
for (var x = txt.length - 2; x > 0; x--) {
if (t.getSubStringLength(0, x + 2) <= w) {
t.textContent = txt.substring(0, x) + "..";
return;
}
}
} else {
// Truncate the left side of the text.
for (var x = 2; x < txt.length; x++) {
if (t.getSubStringLength(x - 2, txt.length) <= w) {
t.textContent = ".." + txt.substring(x, txt.length);
return;
}
}
}
t.textContent = "";
}
// zoom
function zoom_reset(e) {
if (e.tagName == "rect") {
e.attributes.x.value = format_percent(100 * parseInt(e.attributes["fg:x"].value) / total_samples);
e.attributes.width.value = format_percent(100 * parseInt(e.attributes["fg:w"].value) / total_samples);
}
if (e.childNodes == undefined) return;
for(var i = 0, c = e.childNodes; i < c.length; i++) {
zoom_reset(c[i]);
}
}
function zoom_child(e, x, zoomed_width_samples) {
if (e.tagName == "text") {
var parent_x = parseFloat(find_child(e.parentNode, "rect[x]").attributes.x.value);
e.attributes.x.value = format_percent(parent_x + (100 * 3 / frames.attributes.width.value));
} else if (e.tagName == "rect") {
e.attributes.x.value = format_percent(100 * (parseInt(e.attributes["fg:x"].value) - x) / zoomed_width_samples);
e.attributes.width.value = format_percent(100 * parseInt(e.attributes["fg:w"].value) / zoomed_width_samples);
}
if (e.childNodes == undefined) return;
for(var i = 0, c = e.childNodes; i < c.length; i++) {
zoom_child(c[i], x, zoomed_width_samples);
}
}
function zoom_parent(e) {
if (e.attributes) {
if (e.attributes.x != undefined) {
e.attributes.x.value = "0.0%";
}
if (e.attributes.width != undefined) {
e.attributes.width.value = "100.0%";
}
}
if (e.childNodes == undefined) return;
for(var i = 0, c = e.childNodes; i < c.length; i++) {
zoom_parent(c[i]);
}
}
function zoom(node) {
var attr = find_child(node, "rect").attributes;
var width = parseInt(attr["fg:w"].value);
var xmin = parseInt(attr["fg:x"].value);
var xmax = xmin + width;
var ymin = parseFloat(attr.y.value);
unzoombtn.classList.remove("hide");
var el = frames.children;
for (var i = 0; i < el.length; i++) {
var e = el[i];
var a = find_child(e, "rect").attributes;
var ex = parseInt(a["fg:x"].value);
var ew = parseInt(a["fg:w"].value);
// Is it an ancestor
if (!inverted) {
var upstack = parseFloat(a.y.value) > ymin;
} else {
var upstack = parseFloat(a.y.value) < ymin;
}
if (upstack) {
// Direct ancestor
if (ex <= xmin && (ex+ew) >= xmax) {
e.classList.add("parent");
zoom_parent(e);
update_text(e);
}
// not in current path
else
e.classList.add("hide");
}
// Children maybe
else {
// no common path
if (ex < xmin || ex >= xmax) {
e.classList.add("hide");
}
else {
zoom_child(e, xmin, width);
update_text(e);
}
}
}
}
function unzoom() {
unzoombtn.classList.add("hide");
var el = frames.children;
for(var i = 0; i < el.length; i++) {
el[i].classList.remove("parent");
el[i].classList.remove("hide");
zoom_reset(el[i]);
update_text(el[i]);
}
}
// search
function reset_search() {
var el = document.querySelectorAll("#frames rect");
for (var i = 0; i < el.length; i++) {
orig_load(el[i], "fill")
}
var params = get_params();
delete params.s;
history.replaceState(null, null, parse_params(params));
}
function search_prompt() {
if (!searching) {
var term = prompt("Enter a search term (regexp " +
"allowed, eg: ^ext4_)", "");
if (term != null) {
search(term)
}
} else {
reset_search();
searching = 0;
searchbtn.classList.remove("show");
searchbtn.firstChild.nodeValue = "Search"
matchedtxt.classList.add("hide");
matchedtxt.firstChild.nodeValue = ""
}
}
function search(term) {
var re = new RegExp(term);
var el = frames.children;
var matches = new Object();
var maxwidth = 0;
for (var i = 0; i < el.length; i++) {
var e = el[i];
// Skip over frames which are either not visible, or below the zoomed-to frame
if (e.classList.contains("hide") || e.classList.contains("parent")) {
continue;
}
var func = g_to_func(e);
var rect = find_child(e, "rect");
if (func == null || rect == null)
continue;
// Save max width. Only works as we have a root frame
var w = parseInt(rect.attributes["fg:w"].value);
if (w > maxwidth)
maxwidth = w;
if (func.match(re)) {
// highlight
var x = parseInt(rect.attributes["fg:x"].value);
orig_save(rect, "fill");
rect.attributes.fill.value = searchcolor;
// remember matches
if (matches[x] == undefined) {
matches[x] = w;
} else {
if (w > matches[x]) {
// overwrite with parent
matches[x] = w;
}
}
searching = 1;
}
}
if (!searching)
return;
var params = get_params();
params.s = term;
history.replaceState(null, null, parse_params(params));
searchbtn.classList.add("show");
searchbtn.firstChild.nodeValue = "Reset Search";
// calculate percent matched, excluding vertical overlap
var count = 0;
var lastx = -1;
var lastw = 0;
var keys = Array();
for (k in matches) {
if (matches.hasOwnProperty(k))
keys.push(k);
}
// sort the matched frames by their x location
// ascending, then width descending
keys.sort(function(a, b){
return a - b;
});
// Step through frames saving only the biggest bottom-up frames
// thanks to the sort order. This relies on the tree property
// where children are always smaller than their parents.
for (var k in keys) {
var x = parseInt(keys[k]);
var w = matches[keys[k]];
if (x >= lastx + lastw) {
count += w;
lastx = x;
lastw = w;
}
}
// display matched percent
matchedtxt.classList.remove("hide");
var pct = 100 * count / maxwidth;
if (pct != 100) pct = pct.toFixed(1);
matchedtxt.firstChild.nodeValue = "Matched: " + pct + "%";
}
function format_percent(n) {
return n.toFixed(4) + "%";
}
]]></script><rect x="0" y="0" width="100%" height="646" fill="url(#background)"/><text id="title" x="50.0000%" y="24.00">Flame Graph</text><text id="details" x="10" y="629.00"> </text><text id="unzoom" class="hide" x="10" y="24.00">Reset Zoom</text><text id="search" x="1090" y="24.00">Search</text><text id="matched" x="1090" y="629.00"> </text><svg id="frames" x="10" width="1180" total_samples="1164"><g><title>[unknown] (1 samples, 0.09%)</title><rect x="0.0000%" y="549" width="0.0859%" height="15" fill="rgb(227,0,7)" fg:x="0" fg:w="1"/><text x="0.2500%" y="559.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="0.0000%" y="533" width="0.0859%" height="15" fill="rgb(217,0,24)" fg:x="0" fg:w="1"/><text x="0.2500%" y="543.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="0.0000%" y="517" width="0.0859%" height="15" fill="rgb(221,193,54)" fg:x="0" fg:w="1"/><text x="0.2500%" y="527.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="0.0000%" y="501" width="0.0859%" height="15" fill="rgb(248,212,6)" fg:x="0" fg:w="1"/><text x="0.2500%" y="511.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="0.0000%" y="485" width="0.0859%" height="15" fill="rgb(208,68,35)" fg:x="0" fg:w="1"/><text x="0.2500%" y="495.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="0.0000%" y="469" width="0.0859%" height="15" fill="rgb(232,128,0)" fg:x="0" fg:w="1"/><text x="0.2500%" y="479.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="0.0000%" y="453" width="0.0859%" height="15" fill="rgb(207,160,47)" fg:x="0" fg:w="1"/><text x="0.2500%" y="463.50"></text></g><g><title>core::str::&lt;impl str&gt;::strip_prefix (2 samples, 0.17%)</title><rect x="2.0619%" y="213" width="0.1718%" height="15" fill="rgb(228,23,34)" fg:x="24" fg:w="2"/><text x="2.3119%" y="223.50"></text></g><g><title>&lt;&amp;str as core::str::pattern::Pattern&gt;::strip_prefix_of (2 samples, 0.17%)</title><rect x="2.0619%" y="197" width="0.1718%" height="15" fill="rgb(218,30,26)" fg:x="24" fg:w="2"/><text x="2.3119%" y="207.50"></text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::position (235 samples, 20.19%)</title><rect x="3.0928%" y="197" width="20.1890%" height="15" fill="rgb(220,122,19)" fg:x="36" fg:w="235"/><text x="3.3428%" y="207.50">&lt;core::str::iter::Bytes as core:..</text></g><g><title>core::iter::traits::iterator::Iterator::position (235 samples, 20.19%)</title><rect x="3.0928%" y="181" width="20.1890%" height="15" fill="rgb(250,228,42)" fg:x="36" fg:w="235"/><text x="3.3428%" y="191.50">core::iter::traits::iterator::It..</text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (235 samples, 20.19%)</title><rect x="3.0928%" y="165" width="20.1890%" height="15" fill="rgb(240,193,28)" fg:x="36" fg:w="235"/><text x="3.3428%" y="175.50">&lt;core::iter::adapters::copied::C..</text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (235 samples, 20.19%)</title><rect x="3.0928%" y="149" width="20.1890%" height="15" fill="rgb(216,20,37)" fg:x="36" fg:w="235"/><text x="3.3428%" y="159.50">core::iter::traits::iterator::It..</text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (150 samples, 12.89%)</title><rect x="10.3952%" y="133" width="12.8866%" height="15" fill="rgb(206,188,39)" fg:x="121" fg:w="150"/><text x="10.6452%" y="143.50">core::iter::adapter..</text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (150 samples, 12.89%)</title><rect x="10.3952%" y="117" width="12.8866%" height="15" fill="rgb(217,207,13)" fg:x="121" fg:w="150"/><text x="10.6452%" y="127.50">core::iter::traits:..</text></g><g><title>iri_string::parser::str::find_split2_hole::{{closure}} (150 samples, 12.89%)</title><rect x="10.3952%" y="101" width="12.8866%" height="15" fill="rgb(231,73,38)" fg:x="121" fg:w="150"/><text x="10.6452%" y="111.50">iri_string::parser:..</text></g><g><title>iri_string::parser::str::find_split2_hole (253 samples, 21.74%)</title><rect x="2.2337%" y="213" width="21.7354%" height="15" fill="rgb(225,20,46)" fg:x="26" fg:w="253"/><text x="2.4837%" y="223.50">iri_string::parser::str::find_spli..</text></g><g><title>core::option::Option&lt;T&gt;::map (8 samples, 0.69%)</title><rect x="23.2818%" y="197" width="0.6873%" height="15" fill="rgb(210,31,41)" fg:x="271" fg:w="8"/><text x="23.5318%" y="207.50"></text></g><g><title>iri_string::parser::str::find_split2_hole::{{closure}} (7 samples, 0.60%)</title><rect x="23.3677%" y="181" width="0.6014%" height="15" fill="rgb(221,200,47)" fg:x="272" fg:w="7"/><text x="23.6177%" y="191.50"></text></g><g><title>core::str::traits::&lt;impl core::ops::index::Index&lt;I&gt; for str&gt;::index (7 samples, 0.60%)</title><rect x="23.3677%" y="165" width="0.6014%" height="15" fill="rgb(226,26,5)" fg:x="272" fg:w="7"/><text x="23.6177%" y="175.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeTo&lt;usize&gt;&gt;::index (7 samples, 0.60%)</title><rect x="23.3677%" y="149" width="0.6014%" height="15" fill="rgb(249,33,26)" fg:x="272" fg:w="7"/><text x="23.6177%" y="159.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeTo&lt;usize&gt;&gt;::get (7 samples, 0.60%)</title><rect x="23.3677%" y="133" width="0.6014%" height="15" fill="rgb(235,183,28)" fg:x="272" fg:w="7"/><text x="23.6177%" y="143.50"></text></g><g><title>core::str::&lt;impl str&gt;::is_char_boundary (6 samples, 0.52%)</title><rect x="23.4536%" y="117" width="0.5155%" height="15" fill="rgb(221,5,38)" fg:x="273" fg:w="6"/><text x="23.7036%" y="127.50"></text></g><g><title>&lt;core::slice::iter::Iter&lt;T&gt; as core::iter::traits::iterator::Iterator&gt;::next (1 samples, 0.09%)</title><rect x="24.8282%" y="133" width="0.0859%" height="15" fill="rgb(247,18,42)" fg:x="289" fg:w="1"/><text x="25.0782%" y="143.50"></text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::position (6 samples, 0.52%)</title><rect x="24.4845%" y="197" width="0.5155%" height="15" fill="rgb(241,131,45)" fg:x="285" fg:w="6"/><text x="24.7345%" y="207.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position (6 samples, 0.52%)</title><rect x="24.4845%" y="181" width="0.5155%" height="15" fill="rgb(249,31,29)" fg:x="285" fg:w="6"/><text x="24.7345%" y="191.50"></text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (6 samples, 0.52%)</title><rect x="24.4845%" y="165" width="0.5155%" height="15" fill="rgb(225,111,53)" fg:x="285" fg:w="6"/><text x="24.7345%" y="175.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (6 samples, 0.52%)</title><rect x="24.4845%" y="149" width="0.5155%" height="15" fill="rgb(238,160,17)" fg:x="285" fg:w="6"/><text x="24.7345%" y="159.50"></text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (1 samples, 0.09%)</title><rect x="24.9141%" y="133" width="0.0859%" height="15" fill="rgb(214,148,48)" fg:x="290" fg:w="1"/><text x="25.1641%" y="143.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (1 samples, 0.09%)</title><rect x="24.9141%" y="117" width="0.0859%" height="15" fill="rgb(232,36,49)" fg:x="290" fg:w="1"/><text x="25.1641%" y="127.50"></text></g><g><title>iri_string::parser::str::find_split_hole::{{closure}} (1 samples, 0.09%)</title><rect x="24.9141%" y="101" width="0.0859%" height="15" fill="rgb(209,103,24)" fg:x="290" fg:w="1"/><text x="25.1641%" y="111.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeFrom&lt;usize&gt;&gt;::index (4 samples, 0.34%)</title><rect x="25.0000%" y="149" width="0.3436%" height="15" fill="rgb(229,88,8)" fg:x="291" fg:w="4"/><text x="25.2500%" y="159.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeFrom&lt;usize&gt;&gt;::get (4 samples, 0.34%)</title><rect x="25.0000%" y="133" width="0.3436%" height="15" fill="rgb(213,181,19)" fg:x="291" fg:w="4"/><text x="25.2500%" y="143.50"></text></g><g><title>iri_string::parser::str::find_split_hole (36 samples, 3.09%)</title><rect x="23.9691%" y="213" width="3.0928%" height="15" fill="rgb(254,191,54)" fg:x="279" fg:w="36"/><text x="24.2191%" y="223.50">iri..</text></g><g><title>core::option::Option&lt;T&gt;::map (24 samples, 2.06%)</title><rect x="25.0000%" y="197" width="2.0619%" height="15" fill="rgb(241,83,37)" fg:x="291" fg:w="24"/><text x="25.2500%" y="207.50">c..</text></g><g><title>iri_string::parser::str::find_split_hole::{{closure}} (24 samples, 2.06%)</title><rect x="25.0000%" y="181" width="2.0619%" height="15" fill="rgb(233,36,39)" fg:x="291" fg:w="24"/><text x="25.2500%" y="191.50">i..</text></g><g><title>core::str::traits::&lt;impl core::ops::index::Index&lt;I&gt; for str&gt;::index (24 samples, 2.06%)</title><rect x="25.0000%" y="165" width="2.0619%" height="15" fill="rgb(226,3,54)" fg:x="291" fg:w="24"/><text x="25.2500%" y="175.50">c..</text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeTo&lt;usize&gt;&gt;::index (20 samples, 1.72%)</title><rect x="25.3436%" y="149" width="1.7182%" height="15" fill="rgb(245,192,40)" fg:x="295" fg:w="20"/><text x="25.5936%" y="159.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeTo&lt;usize&gt;&gt;::get (20 samples, 1.72%)</title><rect x="25.3436%" y="133" width="1.7182%" height="15" fill="rgb(238,167,29)" fg:x="295" fg:w="20"/><text x="25.5936%" y="143.50"></text></g><g><title>core::str::&lt;impl str&gt;::is_char_boundary (13 samples, 1.12%)</title><rect x="25.9450%" y="117" width="1.1168%" height="15" fill="rgb(232,182,51)" fg:x="302" fg:w="13"/><text x="26.1950%" y="127.50"></text></g><g><title>core::slice::&lt;impl [T]&gt;::get (3 samples, 0.26%)</title><rect x="26.8041%" y="101" width="0.2577%" height="15" fill="rgb(231,60,39)" fg:x="312" fg:w="3"/><text x="27.0541%" y="111.50"></text></g><g><title>&lt;usize as core::slice::index::SliceIndex&lt;[T]&gt;&gt;::get (3 samples, 0.26%)</title><rect x="26.8041%" y="85" width="0.2577%" height="15" fill="rgb(208,69,12)" fg:x="312" fg:w="3"/><text x="27.0541%" y="95.50"></text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::position (7 samples, 0.60%)</title><rect x="27.0619%" y="181" width="0.6014%" height="15" fill="rgb(235,93,37)" fg:x="315" fg:w="7"/><text x="27.3119%" y="191.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position (7 samples, 0.60%)</title><rect x="27.0619%" y="165" width="0.6014%" height="15" fill="rgb(213,116,39)" fg:x="315" fg:w="7"/><text x="27.3119%" y="175.50"></text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (7 samples, 0.60%)</title><rect x="27.0619%" y="149" width="0.6014%" height="15" fill="rgb(222,207,29)" fg:x="315" fg:w="7"/><text x="27.3119%" y="159.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (7 samples, 0.60%)</title><rect x="27.0619%" y="133" width="0.6014%" height="15" fill="rgb(206,96,30)" fg:x="315" fg:w="7"/><text x="27.3119%" y="143.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeFrom&lt;usize&gt;&gt;::index (1 samples, 0.09%)</title><rect x="27.6632%" y="133" width="0.0859%" height="15" fill="rgb(218,138,4)" fg:x="322" fg:w="1"/><text x="27.9132%" y="143.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeFrom&lt;usize&gt;&gt;::get (1 samples, 0.09%)</title><rect x="27.6632%" y="117" width="0.0859%" height="15" fill="rgb(250,191,14)" fg:x="322" fg:w="1"/><text x="27.9132%" y="127.50"></text></g><g><title>iri_string::parser::str::find_split_hole (12 samples, 1.03%)</title><rect x="27.0619%" y="197" width="1.0309%" height="15" fill="rgb(239,60,40)" fg:x="315" fg:w="12"/><text x="27.3119%" y="207.50"></text></g><g><title>core::option::Option&lt;T&gt;::map (5 samples, 0.43%)</title><rect x="27.6632%" y="181" width="0.4296%" height="15" fill="rgb(206,27,48)" fg:x="322" fg:w="5"/><text x="27.9132%" y="191.50"></text></g><g><title>iri_string::parser::str::find_split_hole::{{closure}} (5 samples, 0.43%)</title><rect x="27.6632%" y="165" width="0.4296%" height="15" fill="rgb(225,35,8)" fg:x="322" fg:w="5"/><text x="27.9132%" y="175.50"></text></g><g><title>core::str::traits::&lt;impl core::ops::index::Index&lt;I&gt; for str&gt;::index (5 samples, 0.43%)</title><rect x="27.6632%" y="149" width="0.4296%" height="15" fill="rgb(250,213,24)" fg:x="322" fg:w="5"/><text x="27.9132%" y="159.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeTo&lt;usize&gt;&gt;::index (4 samples, 0.34%)</title><rect x="27.7491%" y="133" width="0.3436%" height="15" fill="rgb(247,123,22)" fg:x="323" fg:w="4"/><text x="27.9991%" y="143.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeTo&lt;usize&gt;&gt;::get (4 samples, 0.34%)</title><rect x="27.7491%" y="117" width="0.3436%" height="15" fill="rgb(231,138,38)" fg:x="323" fg:w="4"/><text x="27.9991%" y="127.50"></text></g><g><title>core::str::&lt;impl str&gt;::is_char_boundary (3 samples, 0.26%)</title><rect x="27.8351%" y="101" width="0.2577%" height="15" fill="rgb(231,145,46)" fg:x="324" fg:w="3"/><text x="28.0851%" y="111.50"></text></g><g><title>core::slice::&lt;impl [T]&gt;::get (1 samples, 0.09%)</title><rect x="28.0069%" y="85" width="0.0859%" height="15" fill="rgb(251,118,11)" fg:x="326" fg:w="1"/><text x="28.2569%" y="95.50"></text></g><g><title>&lt;usize as core::slice::index::SliceIndex&lt;[T]&gt;&gt;::get (1 samples, 0.09%)</title><rect x="28.0069%" y="69" width="0.0859%" height="15" fill="rgb(217,147,25)" fg:x="326" fg:w="1"/><text x="28.2569%" y="79.50"></text></g><g><title>&lt;core::slice::iter::Iter&lt;T&gt; as core::iter::traits::iterator::Iterator&gt;::next (3 samples, 0.26%)</title><rect x="29.0378%" y="101" width="0.2577%" height="15" fill="rgb(247,81,37)" fg:x="338" fg:w="3"/><text x="29.2878%" y="111.50"></text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::all (13 samples, 1.12%)</title><rect x="28.3505%" y="165" width="1.1168%" height="15" fill="rgb(209,12,38)" fg:x="330" fg:w="13"/><text x="28.6005%" y="175.50"></text></g><g><title>core::iter::traits::iterator::Iterator::all (13 samples, 1.12%)</title><rect x="28.3505%" y="149" width="1.1168%" height="15" fill="rgb(227,1,9)" fg:x="330" fg:w="13"/><text x="28.6005%" y="159.50"></text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (13 samples, 1.12%)</title><rect x="28.3505%" y="133" width="1.1168%" height="15" fill="rgb(248,47,43)" fg:x="330" fg:w="13"/><text x="28.6005%" y="143.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (13 samples, 1.12%)</title><rect x="28.3505%" y="117" width="1.1168%" height="15" fill="rgb(221,10,30)" fg:x="330" fg:w="13"/><text x="28.6005%" y="127.50"></text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (2 samples, 0.17%)</title><rect x="29.2955%" y="101" width="0.1718%" height="15" fill="rgb(210,229,1)" fg:x="341" fg:w="2"/><text x="29.5455%" y="111.50"></text></g><g><title>core::iter::traits::iterator::Iterator::all::check::{{closure}} (2 samples, 0.17%)</title><rect x="29.2955%" y="85" width="0.1718%" height="15" fill="rgb(222,148,37)" fg:x="341" fg:w="2"/><text x="29.5455%" y="95.50"></text></g><g><title>core::ops::function::FnMut::call_mut (2 samples, 0.17%)</title><rect x="29.2955%" y="69" width="0.1718%" height="15" fill="rgb(234,67,33)" fg:x="341" fg:w="2"/><text x="29.5455%" y="79.50"></text></g><g><title>iri_string::parser::char::is_ascii_frag_query (2 samples, 0.17%)</title><rect x="29.2955%" y="53" width="0.1718%" height="15" fill="rgb(247,98,35)" fg:x="341" fg:w="2"/><text x="29.5455%" y="63.50"></text></g><g><title>iri_string::parser::str::satisfy_chars (18 samples, 1.55%)</title><rect x="28.0928%" y="181" width="1.5464%" height="15" fill="rgb(247,138,52)" fg:x="327" fg:w="18"/><text x="28.3428%" y="191.50"></text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::position (2 samples, 0.17%)</title><rect x="29.4674%" y="165" width="0.1718%" height="15" fill="rgb(213,79,30)" fg:x="343" fg:w="2"/><text x="29.7174%" y="175.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position (2 samples, 0.17%)</title><rect x="29.4674%" y="149" width="0.1718%" height="15" fill="rgb(246,177,23)" fg:x="343" fg:w="2"/><text x="29.7174%" y="159.50"></text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (2 samples, 0.17%)</title><rect x="29.4674%" y="133" width="0.1718%" height="15" fill="rgb(230,62,27)" fg:x="343" fg:w="2"/><text x="29.7174%" y="143.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (2 samples, 0.17%)</title><rect x="29.4674%" y="117" width="0.1718%" height="15" fill="rgb(216,154,8)" fg:x="343" fg:w="2"/><text x="29.7174%" y="127.50"></text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (1 samples, 0.09%)</title><rect x="29.5533%" y="101" width="0.0859%" height="15" fill="rgb(244,35,45)" fg:x="344" fg:w="1"/><text x="29.8033%" y="111.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (1 samples, 0.09%)</title><rect x="29.5533%" y="85" width="0.0859%" height="15" fill="rgb(251,115,12)" fg:x="344" fg:w="1"/><text x="29.8033%" y="95.50"></text></g><g><title>iri_string::parser::validate::validate_fragment (26 samples, 2.23%)</title><rect x="28.0928%" y="197" width="2.2337%" height="15" fill="rgb(240,54,50)" fg:x="327" fg:w="26"/><text x="28.3428%" y="207.50">i..</text></g><g><title>iri_string::parser::str::satisfy_chars_with_pct_encoded (8 samples, 0.69%)</title><rect x="29.6392%" y="181" width="0.6873%" height="15" fill="rgb(233,84,52)" fg:x="345" fg:w="8"/><text x="29.8892%" y="191.50"></text></g><g><title>iri_string::parser::str::find_split_hole (6 samples, 0.52%)</title><rect x="29.8110%" y="165" width="0.5155%" height="15" fill="rgb(207,117,47)" fg:x="347" fg:w="6"/><text x="30.0610%" y="175.50"></text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::position (6 samples, 0.52%)</title><rect x="29.8110%" y="149" width="0.5155%" height="15" fill="rgb(249,43,39)" fg:x="347" fg:w="6"/><text x="30.0610%" y="159.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position (6 samples, 0.52%)</title><rect x="29.8110%" y="133" width="0.5155%" height="15" fill="rgb(209,38,44)" fg:x="347" fg:w="6"/><text x="30.0610%" y="143.50"></text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (6 samples, 0.52%)</title><rect x="29.8110%" y="117" width="0.5155%" height="15" fill="rgb(236,212,23)" fg:x="347" fg:w="6"/><text x="30.0610%" y="127.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (6 samples, 0.52%)</title><rect x="29.8110%" y="101" width="0.5155%" height="15" fill="rgb(242,79,21)" fg:x="347" fg:w="6"/><text x="30.0610%" y="111.50"></text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::all (11 samples, 0.95%)</title><rect x="30.5842%" y="165" width="0.9450%" height="15" fill="rgb(211,96,35)" fg:x="356" fg:w="11"/><text x="30.8342%" y="175.50"></text></g><g><title>core::iter::traits::iterator::Iterator::all (11 samples, 0.95%)</title><rect x="30.5842%" y="149" width="0.9450%" height="15" fill="rgb(253,215,40)" fg:x="356" fg:w="11"/><text x="30.8342%" y="159.50"></text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (11 samples, 0.95%)</title><rect x="30.5842%" y="133" width="0.9450%" height="15" fill="rgb(211,81,21)" fg:x="356" fg:w="11"/><text x="30.8342%" y="143.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (11 samples, 0.95%)</title><rect x="30.5842%" y="117" width="0.9450%" height="15" fill="rgb(208,190,38)" fg:x="356" fg:w="11"/><text x="30.8342%" y="127.50"></text></g><g><title>&lt;core::slice::iter::Iter&lt;T&gt; as core::iter::traits::iterator::Iterator&gt;::next (1 samples, 0.09%)</title><rect x="32.2165%" y="101" width="0.0859%" height="15" fill="rgb(235,213,38)" fg:x="375" fg:w="1"/><text x="32.4665%" y="111.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (15 samples, 1.29%)</title><rect x="31.5292%" y="117" width="1.2887%" height="15" fill="rgb(237,122,38)" fg:x="367" fg:w="15"/><text x="31.7792%" y="127.50"></text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (6 samples, 0.52%)</title><rect x="32.3024%" y="101" width="0.5155%" height="15" fill="rgb(244,218,35)" fg:x="376" fg:w="6"/><text x="32.5524%" y="111.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (6 samples, 0.52%)</title><rect x="32.3024%" y="85" width="0.5155%" height="15" fill="rgb(240,68,47)" fg:x="376" fg:w="6"/><text x="32.5524%" y="95.50"></text></g><g><title>iri_string::parser::str::satisfy_chars (32 samples, 2.75%)</title><rect x="30.3265%" y="181" width="2.7491%" height="15" fill="rgb(210,16,53)" fg:x="353" fg:w="32"/><text x="30.5765%" y="191.50">ir..</text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::position (18 samples, 1.55%)</title><rect x="31.5292%" y="165" width="1.5464%" height="15" fill="rgb(235,124,12)" fg:x="367" fg:w="18"/><text x="31.7792%" y="175.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position (18 samples, 1.55%)</title><rect x="31.5292%" y="149" width="1.5464%" height="15" fill="rgb(224,169,11)" fg:x="367" fg:w="18"/><text x="31.7792%" y="159.50"></text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (18 samples, 1.55%)</title><rect x="31.5292%" y="133" width="1.5464%" height="15" fill="rgb(250,166,2)" fg:x="367" fg:w="18"/><text x="31.7792%" y="143.50"></text></g><g><title>iri_string::parser::str::satisfy_chars (3 samples, 0.26%)</title><rect x="32.8179%" y="117" width="0.2577%" height="15" fill="rgb(242,216,29)" fg:x="382" fg:w="3"/><text x="33.0679%" y="127.50"></text></g><g><title>iri_string::parser::validate::validate_after_path (79 samples, 6.79%)</title><rect x="27.0619%" y="213" width="6.7869%" height="15" fill="rgb(230,116,27)" fg:x="315" fg:w="79"/><text x="27.3119%" y="223.50">iri_strin..</text></g><g><title>iri_string::parser::validate::validate_query (41 samples, 3.52%)</title><rect x="30.3265%" y="197" width="3.5223%" height="15" fill="rgb(228,99,48)" fg:x="353" fg:w="41"/><text x="30.5765%" y="207.50">iri..</text></g><g><title>iri_string::parser::str::satisfy_chars_with_pct_encoded (9 samples, 0.77%)</title><rect x="33.0756%" y="181" width="0.7732%" height="15" fill="rgb(253,11,6)" fg:x="385" fg:w="9"/><text x="33.3256%" y="191.50"></text></g><g><title>iri_string::parser::str::find_split_hole (5 samples, 0.43%)</title><rect x="33.4192%" y="165" width="0.4296%" height="15" fill="rgb(247,143,39)" fg:x="389" fg:w="5"/><text x="33.6692%" y="175.50"></text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::position (4 samples, 0.34%)</title><rect x="33.5052%" y="149" width="0.3436%" height="15" fill="rgb(236,97,10)" fg:x="390" fg:w="4"/><text x="33.7552%" y="159.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position (4 samples, 0.34%)</title><rect x="33.5052%" y="133" width="0.3436%" height="15" fill="rgb(233,208,19)" fg:x="390" fg:w="4"/><text x="33.7552%" y="143.50"></text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (4 samples, 0.34%)</title><rect x="33.5052%" y="117" width="0.3436%" height="15" fill="rgb(216,164,2)" fg:x="390" fg:w="4"/><text x="33.7552%" y="127.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (4 samples, 0.34%)</title><rect x="33.5052%" y="101" width="0.3436%" height="15" fill="rgb(220,129,5)" fg:x="390" fg:w="4"/><text x="33.7552%" y="111.50"></text></g><g><title>&lt;core::slice::iter::Iter&lt;T&gt; as core::iter::traits::iterator::Iterator&gt;::next (1 samples, 0.09%)</title><rect x="40.2062%" y="117" width="0.0859%" height="15" fill="rgb(242,17,10)" fg:x="468" fg:w="1"/><text x="40.4562%" y="127.50"></text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::position (63 samples, 5.41%)</title><rect x="34.9656%" y="181" width="5.4124%" height="15" fill="rgb(242,107,0)" fg:x="407" fg:w="63"/><text x="35.2156%" y="191.50">&lt;core::..</text></g><g><title>core::iter::traits::iterator::Iterator::position (63 samples, 5.41%)</title><rect x="34.9656%" y="165" width="5.4124%" height="15" fill="rgb(251,28,31)" fg:x="407" fg:w="63"/><text x="35.2156%" y="175.50">core::i..</text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (63 samples, 5.41%)</title><rect x="34.9656%" y="149" width="5.4124%" height="15" fill="rgb(233,223,10)" fg:x="407" fg:w="63"/><text x="35.2156%" y="159.50">&lt;core::..</text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (63 samples, 5.41%)</title><rect x="34.9656%" y="133" width="5.4124%" height="15" fill="rgb(215,21,27)" fg:x="407" fg:w="63"/><text x="35.2156%" y="143.50">core::i..</text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (1 samples, 0.09%)</title><rect x="40.2921%" y="117" width="0.0859%" height="15" fill="rgb(232,23,21)" fg:x="469" fg:w="1"/><text x="40.5421%" y="127.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (1 samples, 0.09%)</title><rect x="40.2921%" y="101" width="0.0859%" height="15" fill="rgb(244,5,23)" fg:x="469" fg:w="1"/><text x="40.5421%" y="111.50"></text></g><g><title>iri_string::parser::str::find_split::{{closure}} (1 samples, 0.09%)</title><rect x="40.2921%" y="85" width="0.0859%" height="15" fill="rgb(226,81,46)" fg:x="469" fg:w="1"/><text x="40.5421%" y="95.50"></text></g><g><title>core::str::&lt;impl str&gt;::get_unchecked (2 samples, 0.17%)</title><rect x="41.0653%" y="133" width="0.1718%" height="15" fill="rgb(247,70,30)" fg:x="478" fg:w="2"/><text x="41.3153%" y="143.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::Range&lt;usize&gt;&gt;::get_unchecked (2 samples, 0.17%)</title><rect x="41.0653%" y="117" width="0.1718%" height="15" fill="rgb(212,68,19)" fg:x="478" fg:w="2"/><text x="41.3153%" y="127.50"></text></g><g><title>iri_string::parser::str::find_split (89 samples, 7.65%)</title><rect x="34.7079%" y="197" width="7.6460%" height="15" fill="rgb(240,187,13)" fg:x="404" fg:w="89"/><text x="34.9579%" y="207.50">iri_string..</text></g><g><title>core::option::Option&lt;T&gt;::map (23 samples, 1.98%)</title><rect x="40.3780%" y="181" width="1.9759%" height="15" fill="rgb(223,113,26)" fg:x="470" fg:w="23"/><text x="40.6280%" y="191.50">c..</text></g><g><title>iri_string::parser::str::find_split::{{closure}} (23 samples, 1.98%)</title><rect x="40.3780%" y="165" width="1.9759%" height="15" fill="rgb(206,192,2)" fg:x="470" fg:w="23"/><text x="40.6280%" y="175.50">i..</text></g><g><title>core::str::&lt;impl str&gt;::split_at (23 samples, 1.98%)</title><rect x="40.3780%" y="149" width="1.9759%" height="15" fill="rgb(241,108,4)" fg:x="470" fg:w="23"/><text x="40.6280%" y="159.50">c..</text></g><g><title>core::str::&lt;impl str&gt;::is_char_boundary (13 samples, 1.12%)</title><rect x="41.2371%" y="133" width="1.1168%" height="15" fill="rgb(247,173,49)" fg:x="480" fg:w="13"/><text x="41.4871%" y="143.50"></text></g><g><title>&lt;core::slice::iter::Iter&lt;T&gt; as core::iter::traits::iterator::Iterator&gt;::next (4 samples, 0.34%)</title><rect x="46.2199%" y="117" width="0.3436%" height="15" fill="rgb(224,114,35)" fg:x="538" fg:w="4"/><text x="46.4699%" y="127.50"></text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::all (28 samples, 2.41%)</title><rect x="44.4158%" y="181" width="2.4055%" height="15" fill="rgb(245,159,27)" fg:x="517" fg:w="28"/><text x="44.6658%" y="191.50">&lt;c..</text></g><g><title>core::iter::traits::iterator::Iterator::all (28 samples, 2.41%)</title><rect x="44.4158%" y="165" width="2.4055%" height="15" fill="rgb(245,172,44)" fg:x="517" fg:w="28"/><text x="44.6658%" y="175.50">co..</text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (28 samples, 2.41%)</title><rect x="44.4158%" y="149" width="2.4055%" height="15" fill="rgb(236,23,11)" fg:x="517" fg:w="28"/><text x="44.6658%" y="159.50">&lt;c..</text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (28 samples, 2.41%)</title><rect x="44.4158%" y="133" width="2.4055%" height="15" fill="rgb(205,117,38)" fg:x="517" fg:w="28"/><text x="44.6658%" y="143.50">co..</text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (3 samples, 0.26%)</title><rect x="46.5636%" y="117" width="0.2577%" height="15" fill="rgb(237,72,25)" fg:x="542" fg:w="3"/><text x="46.8136%" y="127.50"></text></g><g><title>core::iter::traits::iterator::Iterator::all::check::{{closure}} (3 samples, 0.26%)</title><rect x="46.5636%" y="101" width="0.2577%" height="15" fill="rgb(244,70,9)" fg:x="542" fg:w="3"/><text x="46.8136%" y="111.50"></text></g><g><title>core::ops::function::FnMut::call_mut (3 samples, 0.26%)</title><rect x="46.5636%" y="85" width="0.2577%" height="15" fill="rgb(217,125,39)" fg:x="542" fg:w="3"/><text x="46.8136%" y="95.50"></text></g><g><title>iri_string::parser::char::is_ascii_userinfo_ipvfutureaddr (3 samples, 0.26%)</title><rect x="46.5636%" y="69" width="0.2577%" height="15" fill="rgb(235,36,10)" fg:x="542" fg:w="3"/><text x="46.8136%" y="79.50"></text></g><g><title>&lt;core::slice::iter::Iter&lt;T&gt; as core::iter::traits::iterator::Iterator&gt;::next (6 samples, 0.52%)</title><rect x="56.0997%" y="101" width="0.5155%" height="15" fill="rgb(251,123,47)" fg:x="653" fg:w="6"/><text x="56.3497%" y="111.50"></text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::position (95 samples, 8.16%)</title><rect x="48.5395%" y="165" width="8.1615%" height="15" fill="rgb(221,13,13)" fg:x="565" fg:w="95"/><text x="48.7895%" y="175.50">&lt;core::str:..</text></g><g><title>core::iter::traits::iterator::Iterator::position (95 samples, 8.16%)</title><rect x="48.5395%" y="149" width="8.1615%" height="15" fill="rgb(238,131,9)" fg:x="565" fg:w="95"/><text x="48.7895%" y="159.50">core::iter:..</text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (95 samples, 8.16%)</title><rect x="48.5395%" y="133" width="8.1615%" height="15" fill="rgb(211,50,8)" fg:x="565" fg:w="95"/><text x="48.7895%" y="143.50">&lt;core::iter..</text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (95 samples, 8.16%)</title><rect x="48.5395%" y="117" width="8.1615%" height="15" fill="rgb(245,182,24)" fg:x="565" fg:w="95"/><text x="48.7895%" y="127.50">core::iter:..</text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (1 samples, 0.09%)</title><rect x="56.6151%" y="101" width="0.0859%" height="15" fill="rgb(242,14,37)" fg:x="659" fg:w="1"/><text x="56.8651%" y="111.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (1 samples, 0.09%)</title><rect x="56.6151%" y="85" width="0.0859%" height="15" fill="rgb(246,228,12)" fg:x="659" fg:w="1"/><text x="56.8651%" y="95.50"></text></g><g><title>iri_string::parser::str::find_split_hole::{{closure}} (1 samples, 0.09%)</title><rect x="56.6151%" y="69" width="0.0859%" height="15" fill="rgb(213,55,15)" fg:x="659" fg:w="1"/><text x="56.8651%" y="79.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeFrom&lt;usize&gt;&gt;::index (8 samples, 0.69%)</title><rect x="56.8729%" y="117" width="0.6873%" height="15" fill="rgb(209,9,3)" fg:x="662" fg:w="8"/><text x="57.1229%" y="127.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeFrom&lt;usize&gt;&gt;::get (8 samples, 0.69%)</title><rect x="56.8729%" y="101" width="0.6873%" height="15" fill="rgb(230,59,30)" fg:x="662" fg:w="8"/><text x="57.1229%" y="111.50"></text></g><g><title>iri_string::parser::str::find_split_hole (143 samples, 12.29%)</title><rect x="46.8213%" y="181" width="12.2852%" height="15" fill="rgb(209,121,21)" fg:x="545" fg:w="143"/><text x="47.0713%" y="191.50">iri_string::parser..</text></g><g><title>core::option::Option&lt;T&gt;::map (28 samples, 2.41%)</title><rect x="56.7010%" y="165" width="2.4055%" height="15" fill="rgb(220,109,13)" fg:x="660" fg:w="28"/><text x="56.9510%" y="175.50">co..</text></g><g><title>iri_string::parser::str::find_split_hole::{{closure}} (26 samples, 2.23%)</title><rect x="56.8729%" y="149" width="2.2337%" height="15" fill="rgb(232,18,1)" fg:x="662" fg:w="26"/><text x="57.1229%" y="159.50">i..</text></g><g><title>core::str::traits::&lt;impl core::ops::index::Index&lt;I&gt; for str&gt;::index (26 samples, 2.23%)</title><rect x="56.8729%" y="133" width="2.2337%" height="15" fill="rgb(215,41,42)" fg:x="662" fg:w="26"/><text x="57.1229%" y="143.50">c..</text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeTo&lt;usize&gt;&gt;::index (18 samples, 1.55%)</title><rect x="57.5601%" y="117" width="1.5464%" height="15" fill="rgb(224,123,36)" fg:x="670" fg:w="18"/><text x="57.8101%" y="127.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeTo&lt;usize&gt;&gt;::get (18 samples, 1.55%)</title><rect x="57.5601%" y="101" width="1.5464%" height="15" fill="rgb(240,125,3)" fg:x="670" fg:w="18"/><text x="57.8101%" y="111.50"></text></g><g><title>core::str::&lt;impl str&gt;::is_char_boundary (11 samples, 0.95%)</title><rect x="58.1615%" y="85" width="0.9450%" height="15" fill="rgb(205,98,50)" fg:x="677" fg:w="11"/><text x="58.4115%" y="95.50"></text></g><g><title>core::slice::&lt;impl [T]&gt;::get (7 samples, 0.60%)</title><rect x="58.5052%" y="69" width="0.6014%" height="15" fill="rgb(205,185,37)" fg:x="681" fg:w="7"/><text x="58.7552%" y="79.50"></text></g><g><title>&lt;usize as core::slice::index::SliceIndex&lt;[T]&gt;&gt;::get (7 samples, 0.60%)</title><rect x="58.5052%" y="53" width="0.6014%" height="15" fill="rgb(238,207,15)" fg:x="681" fg:w="7"/><text x="58.7552%" y="63.50"></text></g><g><title>iri_string::parser::str::get_wrapped_inner (12 samples, 1.03%)</title><rect x="59.1065%" y="181" width="1.0309%" height="15" fill="rgb(213,199,42)" fg:x="688" fg:w="12"/><text x="59.3565%" y="191.50"></text></g><g><title>core::str::traits::&lt;impl core::ops::index::Index&lt;I&gt; for str&gt;::index (1 samples, 0.09%)</title><rect x="60.0515%" y="165" width="0.0859%" height="15" fill="rgb(235,201,11)" fg:x="699" fg:w="1"/><text x="60.3015%" y="175.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::Range&lt;usize&gt;&gt;::index (1 samples, 0.09%)</title><rect x="60.0515%" y="149" width="0.0859%" height="15" fill="rgb(207,46,11)" fg:x="699" fg:w="1"/><text x="60.3015%" y="159.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::Range&lt;usize&gt;&gt;::get (1 samples, 0.09%)</title><rect x="60.0515%" y="133" width="0.0859%" height="15" fill="rgb(241,35,35)" fg:x="699" fg:w="1"/><text x="60.3015%" y="143.50"></text></g><g><title>core::str::&lt;impl str&gt;::is_char_boundary (1 samples, 0.09%)</title><rect x="60.0515%" y="117" width="0.0859%" height="15" fill="rgb(243,32,47)" fg:x="699" fg:w="1"/><text x="60.3015%" y="127.50"></text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::all (25 samples, 2.15%)</title><rect x="60.7388%" y="165" width="2.1478%" height="15" fill="rgb(247,202,23)" fg:x="707" fg:w="25"/><text x="60.9888%" y="175.50">&lt;..</text></g><g><title>core::iter::traits::iterator::Iterator::all (25 samples, 2.15%)</title><rect x="60.7388%" y="149" width="2.1478%" height="15" fill="rgb(219,102,11)" fg:x="707" fg:w="25"/><text x="60.9888%" y="159.50">c..</text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (25 samples, 2.15%)</title><rect x="60.7388%" y="133" width="2.1478%" height="15" fill="rgb(243,110,44)" fg:x="707" fg:w="25"/><text x="60.9888%" y="143.50">&lt;..</text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (25 samples, 2.15%)</title><rect x="60.7388%" y="117" width="2.1478%" height="15" fill="rgb(222,74,54)" fg:x="707" fg:w="25"/><text x="60.9888%" y="127.50">c..</text></g><g><title>&lt;core::slice::iter::Iter&lt;T&gt; as core::iter::traits::iterator::Iterator&gt;::next (6 samples, 0.52%)</title><rect x="62.3711%" y="101" width="0.5155%" height="15" fill="rgb(216,99,12)" fg:x="726" fg:w="6"/><text x="62.6211%" y="111.50"></text></g><g><title>&lt;core::slice::iter::Iter&lt;T&gt; as core::iter::traits::iterator::Iterator&gt;::next (1 samples, 0.09%)</title><rect x="63.8316%" y="101" width="0.0859%" height="15" fill="rgb(226,22,26)" fg:x="743" fg:w="1"/><text x="64.0816%" y="111.50"></text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (27 samples, 2.32%)</title><rect x="63.9175%" y="101" width="2.3196%" height="15" fill="rgb(217,163,10)" fg:x="744" fg:w="27"/><text x="64.1675%" y="111.50">c..</text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (27 samples, 2.32%)</title><rect x="63.9175%" y="85" width="2.3196%" height="15" fill="rgb(213,25,53)" fg:x="744" fg:w="27"/><text x="64.1675%" y="95.50">c..</text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (40 samples, 3.44%)</title><rect x="62.8866%" y="117" width="3.4364%" height="15" fill="rgb(252,105,26)" fg:x="732" fg:w="40"/><text x="63.1366%" y="127.50">cor..</text></g><g><title>iri_string::parser::str::satisfy_chars (1 samples, 0.09%)</title><rect x="66.2371%" y="101" width="0.0859%" height="15" fill="rgb(220,39,43)" fg:x="771" fg:w="1"/><text x="66.4871%" y="111.50"></text></g><g><title>iri_string::parser::str::satisfy_chars (80 samples, 6.87%)</title><rect x="60.1375%" y="181" width="6.8729%" height="15" fill="rgb(229,68,48)" fg:x="700" fg:w="80"/><text x="60.3875%" y="191.50">iri_strin..</text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::position (48 samples, 4.12%)</title><rect x="62.8866%" y="165" width="4.1237%" height="15" fill="rgb(252,8,32)" fg:x="732" fg:w="48"/><text x="63.1366%" y="175.50">&lt;cor..</text></g><g><title>core::iter::traits::iterator::Iterator::position (48 samples, 4.12%)</title><rect x="62.8866%" y="149" width="4.1237%" height="15" fill="rgb(223,20,43)" fg:x="732" fg:w="48"/><text x="63.1366%" y="159.50">core..</text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (48 samples, 4.12%)</title><rect x="62.8866%" y="133" width="4.1237%" height="15" fill="rgb(229,81,49)" fg:x="732" fg:w="48"/><text x="63.1366%" y="143.50">&lt;cor..</text></g><g><title>iri_string::parser::str::satisfy_chars (8 samples, 0.69%)</title><rect x="66.3230%" y="117" width="0.6873%" height="15" fill="rgb(236,28,36)" fg:x="772" fg:w="8"/><text x="66.5730%" y="127.50"></text></g><g><title>iri_string::parser::str::satisfy_chars_with_pct_encoded (70 samples, 6.01%)</title><rect x="67.0103%" y="181" width="6.0137%" height="15" fill="rgb(249,185,26)" fg:x="780" fg:w="70"/><text x="67.2603%" y="191.50">iri_stri..</text></g><g><title>iri_string::parser::str::find_split_hole (59 samples, 5.07%)</title><rect x="67.9553%" y="165" width="5.0687%" height="15" fill="rgb(249,174,33)" fg:x="791" fg:w="59"/><text x="68.2053%" y="175.50">iri_st..</text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::position (52 samples, 4.47%)</title><rect x="68.5567%" y="149" width="4.4674%" height="15" fill="rgb(233,201,37)" fg:x="798" fg:w="52"/><text x="68.8067%" y="159.50">&lt;core..</text></g><g><title>core::iter::traits::iterator::Iterator::position (52 samples, 4.47%)</title><rect x="68.5567%" y="133" width="4.4674%" height="15" fill="rgb(221,78,26)" fg:x="798" fg:w="52"/><text x="68.8067%" y="143.50">core:..</text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (52 samples, 4.47%)</title><rect x="68.5567%" y="117" width="4.4674%" height="15" fill="rgb(250,127,30)" fg:x="798" fg:w="52"/><text x="68.8067%" y="127.50">&lt;core..</text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (52 samples, 4.47%)</title><rect x="68.5567%" y="101" width="4.4674%" height="15" fill="rgb(230,49,44)" fg:x="798" fg:w="52"/><text x="68.8067%" y="111.50">core:..</text></g><g><title>&lt;core::slice::iter::Iter&lt;T&gt; as core::iter::traits::iterator::Iterator&gt;::next (3 samples, 0.26%)</title><rect x="72.7663%" y="85" width="0.2577%" height="15" fill="rgb(229,67,23)" fg:x="847" fg:w="3"/><text x="73.0163%" y="95.50"></text></g><g><title>iri_string::parser::str::strip_ascii_char_prefix (5 samples, 0.43%)</title><rect x="73.0241%" y="181" width="0.4296%" height="15" fill="rgb(249,83,47)" fg:x="850" fg:w="5"/><text x="73.2741%" y="191.50"></text></g><g><title>core::str::traits::&lt;impl core::ops::index::Index&lt;I&gt; for str&gt;::index (1 samples, 0.09%)</title><rect x="73.3677%" y="165" width="0.0859%" height="15" fill="rgb(215,43,3)" fg:x="854" fg:w="1"/><text x="73.6177%" y="175.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeFrom&lt;usize&gt;&gt;::index (1 samples, 0.09%)</title><rect x="73.3677%" y="149" width="0.0859%" height="15" fill="rgb(238,154,13)" fg:x="854" fg:w="1"/><text x="73.6177%" y="159.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeFrom&lt;usize&gt;&gt;::get (1 samples, 0.09%)</title><rect x="73.3677%" y="133" width="0.0859%" height="15" fill="rgb(219,56,2)" fg:x="854" fg:w="1"/><text x="73.6177%" y="143.50"></text></g><g><title>core::str::&lt;impl str&gt;::is_char_boundary (1 samples, 0.09%)</title><rect x="73.3677%" y="117" width="0.0859%" height="15" fill="rgb(233,0,4)" fg:x="854" fg:w="1"/><text x="73.6177%" y="127.50"></text></g><g><title>core::slice::&lt;impl [T]&gt;::get (1 samples, 0.09%)</title><rect x="73.3677%" y="101" width="0.0859%" height="15" fill="rgb(235,30,7)" fg:x="854" fg:w="1"/><text x="73.6177%" y="111.50"></text></g><g><title>&lt;usize as core::slice::index::SliceIndex&lt;[T]&gt;&gt;::get (1 samples, 0.09%)</title><rect x="73.3677%" y="85" width="0.0859%" height="15" fill="rgb(250,79,13)" fg:x="854" fg:w="1"/><text x="73.6177%" y="95.50"></text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::all (6 samples, 0.52%)</title><rect x="73.6254%" y="149" width="0.5155%" height="15" fill="rgb(211,146,34)" fg:x="857" fg:w="6"/><text x="73.8754%" y="159.50"></text></g><g><title>core::iter::traits::iterator::Iterator::all (6 samples, 0.52%)</title><rect x="73.6254%" y="133" width="0.5155%" height="15" fill="rgb(228,22,38)" fg:x="857" fg:w="6"/><text x="73.8754%" y="143.50"></text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (6 samples, 0.52%)</title><rect x="73.6254%" y="117" width="0.5155%" height="15" fill="rgb(235,168,5)" fg:x="857" fg:w="6"/><text x="73.8754%" y="127.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (6 samples, 0.52%)</title><rect x="73.6254%" y="101" width="0.5155%" height="15" fill="rgb(221,155,16)" fg:x="857" fg:w="6"/><text x="73.8754%" y="111.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (2 samples, 0.17%)</title><rect x="74.1409%" y="101" width="0.1718%" height="15" fill="rgb(215,215,53)" fg:x="863" fg:w="2"/><text x="74.3909%" y="111.50"></text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (1 samples, 0.09%)</title><rect x="74.2268%" y="85" width="0.0859%" height="15" fill="rgb(223,4,10)" fg:x="864" fg:w="1"/><text x="74.4768%" y="95.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (1 samples, 0.09%)</title><rect x="74.2268%" y="69" width="0.0859%" height="15" fill="rgb(234,103,6)" fg:x="864" fg:w="1"/><text x="74.4768%" y="79.50"></text></g><g><title>iri_string::parser::str::satisfy_chars (11 samples, 0.95%)</title><rect x="73.4536%" y="165" width="0.9450%" height="15" fill="rgb(227,97,0)" fg:x="855" fg:w="11"/><text x="73.7036%" y="175.50"></text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::position (3 samples, 0.26%)</title><rect x="74.1409%" y="149" width="0.2577%" height="15" fill="rgb(234,150,53)" fg:x="863" fg:w="3"/><text x="74.3909%" y="159.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position (3 samples, 0.26%)</title><rect x="74.1409%" y="133" width="0.2577%" height="15" fill="rgb(228,201,54)" fg:x="863" fg:w="3"/><text x="74.3909%" y="143.50"></text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (3 samples, 0.26%)</title><rect x="74.1409%" y="117" width="0.2577%" height="15" fill="rgb(222,22,37)" fg:x="863" fg:w="3"/><text x="74.3909%" y="127.50"></text></g><g><title>iri_string::parser::str::satisfy_chars (1 samples, 0.09%)</title><rect x="74.3127%" y="101" width="0.0859%" height="15" fill="rgb(237,53,32)" fg:x="865" fg:w="1"/><text x="74.5627%" y="111.50"></text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::position (3 samples, 0.26%)</title><rect x="74.8282%" y="133" width="0.2577%" height="15" fill="rgb(233,25,53)" fg:x="871" fg:w="3"/><text x="75.0782%" y="143.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position (3 samples, 0.26%)</title><rect x="74.8282%" y="117" width="0.2577%" height="15" fill="rgb(210,40,34)" fg:x="871" fg:w="3"/><text x="75.0782%" y="127.50"></text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (3 samples, 0.26%)</title><rect x="74.8282%" y="101" width="0.2577%" height="15" fill="rgb(241,220,44)" fg:x="871" fg:w="3"/><text x="75.0782%" y="111.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (3 samples, 0.26%)</title><rect x="74.8282%" y="85" width="0.2577%" height="15" fill="rgb(235,28,35)" fg:x="871" fg:w="3"/><text x="75.0782%" y="95.50"></text></g><g><title>iri_string::parser::validate::authority::validate_authority (382 samples, 32.82%)</title><rect x="42.3540%" y="197" width="32.8179%" height="15" fill="rgb(210,56,17)" fg:x="493" fg:w="382"/><text x="42.6040%" y="207.50">iri_string::parser::validate::authority::validate_aut..</text></g><g><title>iri_string::parser::validate::authority::validate_userinfo (20 samples, 1.72%)</title><rect x="73.4536%" y="181" width="1.7182%" height="15" fill="rgb(224,130,29)" fg:x="855" fg:w="20"/><text x="73.7036%" y="191.50"></text></g><g><title>iri_string::parser::str::satisfy_chars_with_pct_encoded (9 samples, 0.77%)</title><rect x="74.3986%" y="165" width="0.7732%" height="15" fill="rgb(235,212,8)" fg:x="866" fg:w="9"/><text x="74.6486%" y="175.50"></text></g><g><title>iri_string::parser::str::find_split_hole (5 samples, 0.43%)</title><rect x="74.7423%" y="149" width="0.4296%" height="15" fill="rgb(223,33,50)" fg:x="870" fg:w="5"/><text x="74.9923%" y="159.50"></text></g><g><title>core::option::Option&lt;T&gt;::map (1 samples, 0.09%)</title><rect x="75.0859%" y="133" width="0.0859%" height="15" fill="rgb(219,149,13)" fg:x="874" fg:w="1"/><text x="75.3359%" y="143.50"></text></g><g><title>core::str::&lt;impl str&gt;::strip_prefix (19 samples, 1.63%)</title><rect x="75.2577%" y="181" width="1.6323%" height="15" fill="rgb(250,156,29)" fg:x="876" fg:w="19"/><text x="75.5077%" y="191.50"></text></g><g><title>&lt;char as core::str::pattern::Pattern&gt;::strip_prefix_of (14 samples, 1.20%)</title><rect x="75.6873%" y="165" width="1.2027%" height="15" fill="rgb(216,193,19)" fg:x="881" fg:w="14"/><text x="75.9373%" y="175.50"></text></g><g><title>&lt;&amp;str as core::str::pattern::Pattern&gt;::strip_prefix_of (14 samples, 1.20%)</title><rect x="75.6873%" y="149" width="1.2027%" height="15" fill="rgb(216,135,14)" fg:x="881" fg:w="14"/><text x="75.9373%" y="159.50"></text></g><g><title>&lt;&amp;str as core::str::pattern::Pattern&gt;::is_prefix_of (14 samples, 1.20%)</title><rect x="75.6873%" y="133" width="1.2027%" height="15" fill="rgb(241,47,5)" fg:x="881" fg:w="14"/><text x="75.9373%" y="143.50"></text></g><g><title>core::slice::&lt;impl [T]&gt;::starts_with (14 samples, 1.20%)</title><rect x="75.6873%" y="117" width="1.2027%" height="15" fill="rgb(233,42,35)" fg:x="881" fg:w="14"/><text x="75.9373%" y="127.50"></text></g><g><title>core::cmp::impls::&lt;impl core::cmp::PartialEq&lt;&amp;B&gt; for &amp;A&gt;::eq (13 samples, 1.12%)</title><rect x="75.7732%" y="101" width="1.1168%" height="15" fill="rgb(231,13,6)" fg:x="882" fg:w="13"/><text x="76.0232%" y="111.50"></text></g><g><title>core::slice::cmp::&lt;impl core::cmp::PartialEq&lt;[B]&gt; for [A]&gt;::eq (13 samples, 1.12%)</title><rect x="75.7732%" y="85" width="1.1168%" height="15" fill="rgb(207,181,40)" fg:x="882" fg:w="13"/><text x="76.0232%" y="95.50"></text></g><g><title>&lt;[A] as core::slice::cmp::SlicePartialEq&lt;B&gt;&gt;::equal (13 samples, 1.12%)</title><rect x="75.7732%" y="69" width="1.1168%" height="15" fill="rgb(254,173,49)" fg:x="882" fg:w="13"/><text x="76.0232%" y="79.50"></text></g><g><title>__memcmp_avx2_movbe (8 samples, 0.69%)</title><rect x="76.2027%" y="53" width="0.6873%" height="15" fill="rgb(221,1,38)" fg:x="887" fg:w="8"/><text x="76.4527%" y="63.50"></text></g><g><title>&lt;core::slice::iter::Iter&lt;T&gt; as core::iter::traits::iterator::Iterator&gt;::next (1 samples, 0.09%)</title><rect x="81.2715%" y="101" width="0.0859%" height="15" fill="rgb(206,124,46)" fg:x="946" fg:w="1"/><text x="81.5215%" y="111.50"></text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::all (46 samples, 3.95%)</title><rect x="77.5773%" y="165" width="3.9519%" height="15" fill="rgb(249,21,11)" fg:x="903" fg:w="46"/><text x="77.8273%" y="175.50">&lt;cor..</text></g><g><title>core::iter::traits::iterator::Iterator::all (46 samples, 3.95%)</title><rect x="77.5773%" y="149" width="3.9519%" height="15" fill="rgb(222,201,40)" fg:x="903" fg:w="46"/><text x="77.8273%" y="159.50">core..</text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (46 samples, 3.95%)</title><rect x="77.5773%" y="133" width="3.9519%" height="15" fill="rgb(235,61,29)" fg:x="903" fg:w="46"/><text x="77.8273%" y="143.50">&lt;cor..</text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (46 samples, 3.95%)</title><rect x="77.5773%" y="117" width="3.9519%" height="15" fill="rgb(219,207,3)" fg:x="903" fg:w="46"/><text x="77.8273%" y="127.50">core..</text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (2 samples, 0.17%)</title><rect x="81.3574%" y="101" width="0.1718%" height="15" fill="rgb(222,56,46)" fg:x="947" fg:w="2"/><text x="81.6074%" y="111.50"></text></g><g><title>core::iter::traits::iterator::Iterator::all::check::{{closure}} (2 samples, 0.17%)</title><rect x="81.3574%" y="85" width="0.1718%" height="15" fill="rgb(239,76,54)" fg:x="947" fg:w="2"/><text x="81.6074%" y="95.50"></text></g><g><title>core::ops::function::FnMut::call_mut (2 samples, 0.17%)</title><rect x="81.3574%" y="69" width="0.1718%" height="15" fill="rgb(231,124,27)" fg:x="947" fg:w="2"/><text x="81.6074%" y="79.50"></text></g><g><title>iri_string::parser::char::is_ascii_pchar_slash (2 samples, 0.17%)</title><rect x="81.3574%" y="53" width="0.1718%" height="15" fill="rgb(249,195,6)" fg:x="947" fg:w="2"/><text x="81.6074%" y="63.50"></text></g><g><title>&lt;core::slice::iter::Iter&lt;T&gt; as core::iter::traits::iterator::Iterator&gt;::next (4 samples, 0.34%)</title><rect x="83.9347%" y="101" width="0.3436%" height="15" fill="rgb(237,174,47)" fg:x="977" fg:w="4"/><text x="84.1847%" y="111.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (42 samples, 3.61%)</title><rect x="81.5292%" y="117" width="3.6082%" height="15" fill="rgb(206,201,31)" fg:x="949" fg:w="42"/><text x="81.7792%" y="127.50">core..</text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (10 samples, 0.86%)</title><rect x="84.2784%" y="101" width="0.8591%" height="15" fill="rgb(231,57,52)" fg:x="981" fg:w="10"/><text x="84.5284%" y="111.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (10 samples, 0.86%)</title><rect x="84.2784%" y="85" width="0.8591%" height="15" fill="rgb(248,177,22)" fg:x="981" fg:w="10"/><text x="84.5284%" y="95.50"></text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::position (49 samples, 4.21%)</title><rect x="81.5292%" y="165" width="4.2096%" height="15" fill="rgb(215,211,37)" fg:x="949" fg:w="49"/><text x="81.7792%" y="175.50">&lt;core..</text></g><g><title>core::iter::traits::iterator::Iterator::position (49 samples, 4.21%)</title><rect x="81.5292%" y="149" width="4.2096%" height="15" fill="rgb(241,128,51)" fg:x="949" fg:w="49"/><text x="81.7792%" y="159.50">core:..</text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (49 samples, 4.21%)</title><rect x="81.5292%" y="133" width="4.2096%" height="15" fill="rgb(227,165,31)" fg:x="949" fg:w="49"/><text x="81.7792%" y="143.50">&lt;core..</text></g><g><title>iri_string::parser::str::satisfy_chars (7 samples, 0.60%)</title><rect x="85.1375%" y="117" width="0.6014%" height="15" fill="rgb(228,167,24)" fg:x="991" fg:w="7"/><text x="85.3875%" y="127.50"></text></g><g><title>core::iter::traits::iterator::Iterator::all (25 samples, 2.15%)</title><rect x="85.7388%" y="165" width="2.1478%" height="15" fill="rgb(228,143,12)" fg:x="998" fg:w="25"/><text x="85.9888%" y="175.50">c..</text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (25 samples, 2.15%)</title><rect x="85.7388%" y="149" width="2.1478%" height="15" fill="rgb(249,149,8)" fg:x="998" fg:w="25"/><text x="85.9888%" y="159.50">c..</text></g><g><title>core::iter::traits::iterator::Iterator::all::check::{{closure}} (16 samples, 1.37%)</title><rect x="86.5120%" y="133" width="1.3746%" height="15" fill="rgb(243,35,44)" fg:x="1007" fg:w="16"/><text x="86.7620%" y="143.50"></text></g><g><title>core::ops::function::FnMut::call_mut (16 samples, 1.37%)</title><rect x="86.5120%" y="117" width="1.3746%" height="15" fill="rgb(246,89,9)" fg:x="1007" fg:w="16"/><text x="86.7620%" y="127.50"></text></g><g><title>&lt;iri_string::spec::IriSpec as iri_string::spec::internal::SpecInternal&gt;::is_nonascii_char_unreserved (16 samples, 1.37%)</title><rect x="86.5120%" y="101" width="1.3746%" height="15" fill="rgb(233,213,13)" fg:x="1007" fg:w="16"/><text x="86.7620%" y="111.50"></text></g><g><title>iri_string::parser::char::is_ucschar (16 samples, 1.37%)</title><rect x="86.5120%" y="85" width="1.3746%" height="15" fill="rgb(233,141,41)" fg:x="1007" fg:w="16"/><text x="86.7620%" y="95.50"></text></g><g><title>core::str::&lt;impl str&gt;::get_unchecked (1 samples, 0.09%)</title><rect x="87.9725%" y="149" width="0.0859%" height="15" fill="rgb(239,167,4)" fg:x="1024" fg:w="1"/><text x="88.2225%" y="159.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::Range&lt;usize&gt;&gt;::get_unchecked (1 samples, 0.09%)</title><rect x="87.9725%" y="133" width="0.0859%" height="15" fill="rgb(209,217,16)" fg:x="1024" fg:w="1"/><text x="88.2225%" y="143.50"></text></g><g><title>iri_string::parser::str::satisfy_chars (135 samples, 11.60%)</title><rect x="76.8900%" y="181" width="11.5979%" height="15" fill="rgb(219,88,35)" fg:x="895" fg:w="135"/><text x="77.1400%" y="191.50">iri_string::parse..</text></g><g><title>core::str::&lt;impl str&gt;::split_at (7 samples, 0.60%)</title><rect x="87.8866%" y="165" width="0.6014%" height="15" fill="rgb(220,193,23)" fg:x="1023" fg:w="7"/><text x="88.1366%" y="175.50"></text></g><g><title>core::str::&lt;impl str&gt;::is_char_boundary (5 samples, 0.43%)</title><rect x="88.0584%" y="149" width="0.4296%" height="15" fill="rgb(230,90,52)" fg:x="1025" fg:w="5"/><text x="88.3084%" y="159.50"></text></g><g><title>core::str::traits::&lt;impl core::ops::index::Index&lt;I&gt; for str&gt;::index (1 samples, 0.09%)</title><rect x="89.8625%" y="165" width="0.0859%" height="15" fill="rgb(252,106,19)" fg:x="1046" fg:w="1"/><text x="90.1125%" y="175.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeFrom&lt;usize&gt;&gt;::index (1 samples, 0.09%)</title><rect x="89.8625%" y="149" width="0.0859%" height="15" fill="rgb(206,74,20)" fg:x="1046" fg:w="1"/><text x="90.1125%" y="159.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeFrom&lt;usize&gt;&gt;::get (1 samples, 0.09%)</title><rect x="89.8625%" y="133" width="0.0859%" height="15" fill="rgb(230,138,44)" fg:x="1046" fg:w="1"/><text x="90.1125%" y="143.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeFrom&lt;usize&gt;&gt;::get_unchecked (1 samples, 0.09%)</title><rect x="89.8625%" y="117" width="0.0859%" height="15" fill="rgb(235,182,43)" fg:x="1046" fg:w="1"/><text x="90.1125%" y="127.50"></text></g><g><title>core::ptr::const_ptr::&lt;impl *const T&gt;::add (1 samples, 0.09%)</title><rect x="89.8625%" y="101" width="0.0859%" height="15" fill="rgb(242,16,51)" fg:x="1046" fg:w="1"/><text x="90.1125%" y="111.50"></text></g><g><title>core::ptr::const_ptr::&lt;impl *const T&gt;::offset (1 samples, 0.09%)</title><rect x="89.8625%" y="85" width="0.0859%" height="15" fill="rgb(248,9,4)" fg:x="1046" fg:w="1"/><text x="90.1125%" y="95.50"></text></g><g><title>&lt;core::slice::iter::Iter&lt;T&gt; as core::iter::traits::iterator::Iterator&gt;::next (1 samples, 0.09%)</title><rect x="94.7595%" y="85" width="0.0859%" height="15" fill="rgb(210,31,22)" fg:x="1103" fg:w="1"/><text x="95.0095%" y="95.50"></text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::position (44 samples, 3.78%)</title><rect x="91.1512%" y="149" width="3.7801%" height="15" fill="rgb(239,54,39)" fg:x="1061" fg:w="44"/><text x="91.4012%" y="159.50">&lt;cor..</text></g><g><title>core::iter::traits::iterator::Iterator::position (44 samples, 3.78%)</title><rect x="91.1512%" y="133" width="3.7801%" height="15" fill="rgb(230,99,41)" fg:x="1061" fg:w="44"/><text x="91.4012%" y="143.50">core..</text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (44 samples, 3.78%)</title><rect x="91.1512%" y="117" width="3.7801%" height="15" fill="rgb(253,106,12)" fg:x="1061" fg:w="44"/><text x="91.4012%" y="127.50">&lt;cor..</text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (44 samples, 3.78%)</title><rect x="91.1512%" y="101" width="3.7801%" height="15" fill="rgb(213,46,41)" fg:x="1061" fg:w="44"/><text x="91.4012%" y="111.50">core..</text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (1 samples, 0.09%)</title><rect x="94.8454%" y="85" width="0.0859%" height="15" fill="rgb(215,133,35)" fg:x="1104" fg:w="1"/><text x="95.0954%" y="95.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (1 samples, 0.09%)</title><rect x="94.8454%" y="69" width="0.0859%" height="15" fill="rgb(213,28,5)" fg:x="1104" fg:w="1"/><text x="95.0954%" y="79.50"></text></g><g><title>iri_string::parser::str::find_split_hole::{{closure}} (1 samples, 0.09%)</title><rect x="94.8454%" y="53" width="0.0859%" height="15" fill="rgb(215,77,49)" fg:x="1104" fg:w="1"/><text x="95.0954%" y="63.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeFrom&lt;usize&gt;&gt;::index (5 samples, 0.43%)</title><rect x="95.1890%" y="101" width="0.4296%" height="15" fill="rgb(248,100,22)" fg:x="1108" fg:w="5"/><text x="95.4390%" y="111.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeFrom&lt;usize&gt;&gt;::get (5 samples, 0.43%)</title><rect x="95.1890%" y="85" width="0.4296%" height="15" fill="rgb(208,67,9)" fg:x="1108" fg:w="5"/><text x="95.4390%" y="95.50"></text></g><g><title>core::str::&lt;impl str&gt;::is_char_boundary (2 samples, 0.17%)</title><rect x="95.4467%" y="69" width="0.1718%" height="15" fill="rgb(219,133,21)" fg:x="1111" fg:w="2"/><text x="95.6967%" y="79.50"></text></g><g><title>iri_string::parser::str::find_split_hole (78 samples, 6.70%)</title><rect x="89.9485%" y="165" width="6.7010%" height="15" fill="rgb(246,46,29)" fg:x="1047" fg:w="78"/><text x="90.1985%" y="175.50">iri_strin..</text></g><g><title>core::option::Option&lt;T&gt;::map (20 samples, 1.72%)</title><rect x="94.9313%" y="149" width="1.7182%" height="15" fill="rgb(246,185,52)" fg:x="1105" fg:w="20"/><text x="95.1813%" y="159.50"></text></g><g><title>iri_string::parser::str::find_split_hole::{{closure}} (17 samples, 1.46%)</title><rect x="95.1890%" y="133" width="1.4605%" height="15" fill="rgb(252,136,11)" fg:x="1108" fg:w="17"/><text x="95.4390%" y="143.50"></text></g><g><title>core::str::traits::&lt;impl core::ops::index::Index&lt;I&gt; for str&gt;::index (17 samples, 1.46%)</title><rect x="95.1890%" y="117" width="1.4605%" height="15" fill="rgb(219,138,53)" fg:x="1108" fg:w="17"/><text x="95.4390%" y="127.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeTo&lt;usize&gt;&gt;::index (12 samples, 1.03%)</title><rect x="95.6186%" y="101" width="1.0309%" height="15" fill="rgb(211,51,23)" fg:x="1113" fg:w="12"/><text x="95.8686%" y="111.50"></text></g><g><title>core::str::traits::&lt;impl core::slice::index::SliceIndex&lt;str&gt; for core::ops::range::RangeTo&lt;usize&gt;&gt;::get (12 samples, 1.03%)</title><rect x="95.6186%" y="85" width="1.0309%" height="15" fill="rgb(247,221,28)" fg:x="1113" fg:w="12"/><text x="95.8686%" y="95.50"></text></g><g><title>core::str::&lt;impl str&gt;::is_char_boundary (7 samples, 0.60%)</title><rect x="96.0481%" y="69" width="0.6014%" height="15" fill="rgb(251,222,45)" fg:x="1118" fg:w="7"/><text x="96.2981%" y="79.50"></text></g><g><title>core::slice::&lt;impl [T]&gt;::get (2 samples, 0.17%)</title><rect x="96.4777%" y="53" width="0.1718%" height="15" fill="rgb(217,162,53)" fg:x="1123" fg:w="2"/><text x="96.7277%" y="63.50"></text></g><g><title>&lt;usize as core::slice::index::SliceIndex&lt;[T]&gt;&gt;::get (2 samples, 0.17%)</title><rect x="96.4777%" y="37" width="0.1718%" height="15" fill="rgb(229,93,14)" fg:x="1123" fg:w="2"/><text x="96.7277%" y="47.50"></text></g><g><title>&lt;core::slice::iter::Iter&lt;T&gt; as core::iter::traits::iterator::Iterator&gt;::next (2 samples, 0.17%)</title><rect x="97.5086%" y="85" width="0.1718%" height="15" fill="rgb(209,67,49)" fg:x="1135" fg:w="2"/><text x="97.7586%" y="95.50"></text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::all (10 samples, 0.86%)</title><rect x="96.9931%" y="149" width="0.8591%" height="15" fill="rgb(213,87,29)" fg:x="1129" fg:w="10"/><text x="97.2431%" y="159.50"></text></g><g><title>core::iter::traits::iterator::Iterator::all (10 samples, 0.86%)</title><rect x="96.9931%" y="133" width="0.8591%" height="15" fill="rgb(205,151,52)" fg:x="1129" fg:w="10"/><text x="97.2431%" y="143.50"></text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (10 samples, 0.86%)</title><rect x="96.9931%" y="117" width="0.8591%" height="15" fill="rgb(253,215,39)" fg:x="1129" fg:w="10"/><text x="97.2431%" y="127.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (10 samples, 0.86%)</title><rect x="96.9931%" y="101" width="0.8591%" height="15" fill="rgb(221,220,41)" fg:x="1129" fg:w="10"/><text x="97.2431%" y="111.50"></text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (2 samples, 0.17%)</title><rect x="97.6804%" y="85" width="0.1718%" height="15" fill="rgb(218,133,21)" fg:x="1137" fg:w="2"/><text x="97.9304%" y="95.50"></text></g><g><title>core::iter::traits::iterator::Iterator::all::check::{{closure}} (2 samples, 0.17%)</title><rect x="97.6804%" y="69" width="0.1718%" height="15" fill="rgb(221,193,43)" fg:x="1137" fg:w="2"/><text x="97.9304%" y="79.50"></text></g><g><title>core::ops::function::FnMut::call_mut (2 samples, 0.17%)</title><rect x="97.6804%" y="53" width="0.1718%" height="15" fill="rgb(240,128,52)" fg:x="1137" fg:w="2"/><text x="97.9304%" y="63.50"></text></g><g><title>iri_string::parser::char::is_ascii_pchar_slash (2 samples, 0.17%)</title><rect x="97.6804%" y="37" width="0.1718%" height="15" fill="rgb(253,114,12)" fg:x="1137" fg:w="2"/><text x="97.9304%" y="47.50"></text></g><g><title>iri_string::parser::str::satisfy_chars (16 samples, 1.37%)</title><rect x="96.6495%" y="165" width="1.3746%" height="15" fill="rgb(215,223,47)" fg:x="1125" fg:w="16"/><text x="96.8995%" y="175.50"></text></g><g><title>&lt;core::str::iter::Bytes as core::iter::traits::iterator::Iterator&gt;::position (2 samples, 0.17%)</title><rect x="97.8522%" y="149" width="0.1718%" height="15" fill="rgb(248,225,23)" fg:x="1139" fg:w="2"/><text x="98.1022%" y="159.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position (2 samples, 0.17%)</title><rect x="97.8522%" y="133" width="0.1718%" height="15" fill="rgb(250,108,0)" fg:x="1139" fg:w="2"/><text x="98.1022%" y="143.50"></text></g><g><title>&lt;core::iter::adapters::copied::Copied&lt;I&gt; as core::iter::traits::iterator::Iterator&gt;::try_fold (2 samples, 0.17%)</title><rect x="97.8522%" y="117" width="0.1718%" height="15" fill="rgb(228,208,7)" fg:x="1139" fg:w="2"/><text x="98.1022%" y="127.50"></text></g><g><title>core::iter::traits::iterator::Iterator::try_fold (2 samples, 0.17%)</title><rect x="97.8522%" y="101" width="0.1718%" height="15" fill="rgb(244,45,10)" fg:x="1139" fg:w="2"/><text x="98.1022%" y="111.50"></text></g><g><title>core::iter::adapters::copied::copy_try_fold::{{closure}} (2 samples, 0.17%)</title><rect x="97.8522%" y="85" width="0.1718%" height="15" fill="rgb(207,125,25)" fg:x="1139" fg:w="2"/><text x="98.1022%" y="95.50"></text></g><g><title>core::iter::traits::iterator::Iterator::position::check::{{closure}} (2 samples, 0.17%)</title><rect x="97.8522%" y="69" width="0.1718%" height="15" fill="rgb(210,195,18)" fg:x="1139" fg:w="2"/><text x="98.1022%" y="79.50"></text></g><g><title>iri_string::parser::validate::validate_authority_path_abempty (754 samples, 64.78%)</title><rect x="33.8488%" y="213" width="64.7766%" height="15" fill="rgb(249,80,12)" fg:x="394" fg:w="754"/><text x="34.0988%" y="223.50">iri_string::parser::validate::validate_authority_path_abempty</text></g><g><title>iri_string::parser::validate::path::validate_path_abempty (273 samples, 23.45%)</title><rect x="75.1718%" y="197" width="23.4536%" height="15" fill="rgb(221,65,9)" fg:x="875" fg:w="273"/><text x="75.4218%" y="207.50">iri_string::parser::validate::path::v..</text></g><g><title>iri_string::parser::str::satisfy_chars_with_pct_encoded (118 samples, 10.14%)</title><rect x="88.4880%" y="181" width="10.1375%" height="15" fill="rgb(235,49,36)" fg:x="1030" fg:w="118"/><text x="88.7380%" y="191.50">iri_string::par..</text></g><g><title>iri_string::parser::str::starts_with_double_hexdigits (7 samples, 0.60%)</title><rect x="98.0241%" y="165" width="0.6014%" height="15" fill="rgb(225,32,20)" fg:x="1141" fg:w="7"/><text x="98.2741%" y="175.50"></text></g><g><title>core::num::&lt;impl u8&gt;::is_ascii_hexdigit (6 samples, 0.52%)</title><rect x="98.1100%" y="149" width="0.5155%" height="15" fill="rgb(215,141,46)" fg:x="1142" fg:w="6"/><text x="98.3600%" y="159.50"></text></g><g><title>__libc_start_main_impl (1,157 samples, 99.40%)</title><rect x="0.0859%" y="549" width="99.3986%" height="15" fill="rgb(250,160,47)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="559.50">__libc_start_main_impl</text></g><g><title>__libc_start_call_main (1,157 samples, 99.40%)</title><rect x="0.0859%" y="533" width="99.3986%" height="15" fill="rgb(216,222,40)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="543.50">__libc_start_call_main</text></g><g><title>main (1,157 samples, 99.40%)</title><rect x="0.0859%" y="517" width="99.3986%" height="15" fill="rgb(234,217,39)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="527.50">main</text></g><g><title>std::rt::lang_start_internal (1,157 samples, 99.40%)</title><rect x="0.0859%" y="501" width="99.3986%" height="15" fill="rgb(207,178,40)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="511.50">std::rt::lang_start_internal</text></g><g><title>std::panic::catch_unwind (1,157 samples, 99.40%)</title><rect x="0.0859%" y="485" width="99.3986%" height="15" fill="rgb(221,136,13)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="495.50">std::panic::catch_unwind</text></g><g><title>std::panicking::try (1,157 samples, 99.40%)</title><rect x="0.0859%" y="469" width="99.3986%" height="15" fill="rgb(249,199,10)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="479.50">std::panicking::try</text></g><g><title>std::panicking::try::do_call (1,157 samples, 99.40%)</title><rect x="0.0859%" y="453" width="99.3986%" height="15" fill="rgb(249,222,13)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="463.50">std::panicking::try::do_call</text></g><g><title>std::rt::lang_start_internal::{{closure}} (1,157 samples, 99.40%)</title><rect x="0.0859%" y="437" width="99.3986%" height="15" fill="rgb(244,185,38)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="447.50">std::rt::lang_start_internal::{{closure}}</text></g><g><title>std::panic::catch_unwind (1,157 samples, 99.40%)</title><rect x="0.0859%" y="421" width="99.3986%" height="15" fill="rgb(236,202,9)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="431.50">std::panic::catch_unwind</text></g><g><title>std::panicking::try (1,157 samples, 99.40%)</title><rect x="0.0859%" y="405" width="99.3986%" height="15" fill="rgb(250,229,37)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="415.50">std::panicking::try</text></g><g><title>std::panicking::try::do_call (1,157 samples, 99.40%)</title><rect x="0.0859%" y="389" width="99.3986%" height="15" fill="rgb(206,174,23)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="399.50">std::panicking::try::do_call</text></g><g><title>core::ops::function::impls::&lt;impl core::ops::function::FnOnce&lt;A&gt; for &amp;F&gt;::call_once (1,157 samples, 99.40%)</title><rect x="0.0859%" y="373" width="99.3986%" height="15" fill="rgb(211,33,43)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="383.50">core::ops::function::impls::&lt;impl core::ops::function::FnOnce&lt;A&gt; for &amp;F&gt;::call_once</text></g><g><title>std::rt::lang_start::{{closure}} (1,157 samples, 99.40%)</title><rect x="0.0859%" y="357" width="99.3986%" height="15" fill="rgb(245,58,50)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="367.50">std::rt::lang_start::{{closure}}</text></g><g><title>std::sys_common::backtrace::__rust_begin_short_backtrace (1,157 samples, 99.40%)</title><rect x="0.0859%" y="341" width="99.3986%" height="15" fill="rgb(244,68,36)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="351.50">std::sys_common::backtrace::__rust_begin_short_backtrace</text></g><g><title>core::ops::function::FnOnce::call_once (1,157 samples, 99.40%)</title><rect x="0.0859%" y="325" width="99.3986%" height="15" fill="rgb(232,229,15)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="335.50">core::ops::function::FnOnce::call_once</text></g><g><title>flame::main (1,157 samples, 99.40%)</title><rect x="0.0859%" y="309" width="99.3986%" height="15" fill="rgb(254,30,23)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="319.50">flame::main</text></g><g><title>iri_string::types::generic::reference::RiReferenceStr&lt;S&gt;::new (1,157 samples, 99.40%)</title><rect x="0.0859%" y="293" width="99.3986%" height="15" fill="rgb(235,160,14)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="303.50">iri_string::types::generic::reference::RiReferenceStr&lt;S&gt;::new</text></g><g><title>&lt;&amp;iri_string::types::generic::reference::RiReferenceStr&lt;S&gt; as core::convert::TryFrom&lt;&amp;str&gt;&gt;::try_from (1,157 samples, 99.40%)</title><rect x="0.0859%" y="277" width="99.3986%" height="15" fill="rgb(212,155,44)" fg:x="1" fg:w="1157"/><text x="0.3359%" y="287.50">&lt;&amp;iri_string::types::generic::reference::RiReferenceStr&lt;S&gt; as core::convert::TryFrom&lt;&amp;str&gt;&gt;::try_from</text></g><g><title>iri_string::validate::iri_reference (1,156 samples, 99.31%)</title><rect x="0.1718%" y="261" width="99.3127%" height="15" fill="rgb(226,2,50)" fg:x="2" fg:w="1156"/><text x="0.4218%" y="271.50">iri_string::validate::iri_reference</text></g><g><title>iri_string::parser::validate::validate_uri_reference (1,156 samples, 99.31%)</title><rect x="0.1718%" y="245" width="99.3127%" height="15" fill="rgb(234,177,6)" fg:x="2" fg:w="1156"/><text x="0.4218%" y="255.50">iri_string::parser::validate::validate_uri_reference</text></g><g><title>iri_string::parser::validate::validate_uri_reference_common (1,155 samples, 99.23%)</title><rect x="0.2577%" y="229" width="99.2268%" height="15" fill="rgb(217,24,9)" fg:x="3" fg:w="1155"/><text x="0.5077%" y="239.50">iri_string::parser::validate::validate_uri_reference_common</text></g><g><title>iri_string::parser::validate::validate_scheme (10 samples, 0.86%)</title><rect x="98.6254%" y="213" width="0.8591%" height="15" fill="rgb(220,13,46)" fg:x="1148" fg:w="10"/><text x="98.8754%" y="223.50"></text></g><g><title>&lt;core::slice::iter::Iter&lt;T&gt; as core::iter::traits::iterator::Iterator&gt;::all (4 samples, 0.34%)</title><rect x="99.1409%" y="197" width="0.3436%" height="15" fill="rgb(239,221,27)" fg:x="1154" fg:w="4"/><text x="99.3909%" y="207.50"></text></g><g><title>&lt;core::slice::iter::Iter&lt;T&gt; as core::iter::traits::iterator::Iterator&gt;::next (2 samples, 0.17%)</title><rect x="99.3127%" y="181" width="0.1718%" height="15" fill="rgb(222,198,25)" fg:x="1156" fg:w="2"/><text x="99.5627%" y="191.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.4845%" y="533" width="0.0859%" height="15" fill="rgb(211,99,13)" fg:x="1158" fg:w="1"/><text x="99.7345%" y="543.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.4845%" y="517" width="0.0859%" height="15" fill="rgb(232,111,31)" fg:x="1158" fg:w="1"/><text x="99.7345%" y="527.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.4845%" y="501" width="0.0859%" height="15" fill="rgb(245,82,37)" fg:x="1158" fg:w="1"/><text x="99.7345%" y="511.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.4845%" y="485" width="0.0859%" height="15" fill="rgb(227,149,46)" fg:x="1158" fg:w="1"/><text x="99.7345%" y="495.50"></text></g><g><title>__GI___tunables_init (1 samples, 0.09%)</title><rect x="99.5704%" y="501" width="0.0859%" height="15" fill="rgb(218,36,50)" fg:x="1159" fg:w="1"/><text x="99.8204%" y="511.50"></text></g><g><title>_dl_start_final (2 samples, 0.17%)</title><rect x="99.5704%" y="533" width="0.1718%" height="15" fill="rgb(226,80,48)" fg:x="1159" fg:w="2"/><text x="99.8204%" y="543.50"></text></g><g><title>_dl_sysdep_start (2 samples, 0.17%)</title><rect x="99.5704%" y="517" width="0.1718%" height="15" fill="rgb(238,224,15)" fg:x="1159" fg:w="2"/><text x="99.8204%" y="527.50"></text></g><g><title>dl_main (1 samples, 0.09%)</title><rect x="99.6564%" y="501" width="0.0859%" height="15" fill="rgb(241,136,10)" fg:x="1160" fg:w="1"/><text x="99.9064%" y="511.50"></text></g><g><title>__access (1 samples, 0.09%)</title><rect x="99.6564%" y="485" width="0.0859%" height="15" fill="rgb(208,32,45)" fg:x="1160" fg:w="1"/><text x="99.9064%" y="495.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.6564%" y="469" width="0.0859%" height="15" fill="rgb(207,135,9)" fg:x="1160" fg:w="1"/><text x="99.9064%" y="479.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.6564%" y="453" width="0.0859%" height="15" fill="rgb(206,86,44)" fg:x="1160" fg:w="1"/><text x="99.9064%" y="463.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.6564%" y="437" width="0.0859%" height="15" fill="rgb(245,177,15)" fg:x="1160" fg:w="1"/><text x="99.9064%" y="447.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.6564%" y="421" width="0.0859%" height="15" fill="rgb(206,64,50)" fg:x="1160" fg:w="1"/><text x="99.9064%" y="431.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.6564%" y="405" width="0.0859%" height="15" fill="rgb(234,36,40)" fg:x="1160" fg:w="1"/><text x="99.9064%" y="415.50"></text></g><g><title>elf_get_dynamic_info (1 samples, 0.09%)</title><rect x="99.7423%" y="533" width="0.0859%" height="15" fill="rgb(213,64,8)" fg:x="1161" fg:w="1"/><text x="99.9923%" y="543.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.7423%" y="517" width="0.0859%" height="15" fill="rgb(210,75,36)" fg:x="1161" fg:w="1"/><text x="99.9923%" y="527.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.7423%" y="501" width="0.0859%" height="15" fill="rgb(229,88,21)" fg:x="1161" fg:w="1"/><text x="99.9923%" y="511.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.7423%" y="485" width="0.0859%" height="15" fill="rgb(252,204,47)" fg:x="1161" fg:w="1"/><text x="99.9923%" y="495.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.7423%" y="469" width="0.0859%" height="15" fill="rgb(208,77,27)" fg:x="1161" fg:w="1"/><text x="99.9923%" y="479.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.7423%" y="453" width="0.0859%" height="15" fill="rgb(221,76,26)" fg:x="1161" fg:w="1"/><text x="99.9923%" y="463.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.7423%" y="437" width="0.0859%" height="15" fill="rgb(225,139,18)" fg:x="1161" fg:w="1"/><text x="99.9923%" y="447.50"></text></g><g><title>elf_machine_load_address (1 samples, 0.09%)</title><rect x="99.8282%" y="533" width="0.0859%" height="15" fill="rgb(230,137,11)" fg:x="1162" fg:w="1"/><text x="100.0782%" y="543.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.8282%" y="517" width="0.0859%" height="15" fill="rgb(212,28,1)" fg:x="1162" fg:w="1"/><text x="100.0782%" y="527.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.8282%" y="501" width="0.0859%" height="15" fill="rgb(248,164,17)" fg:x="1162" fg:w="1"/><text x="100.0782%" y="511.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.8282%" y="485" width="0.0859%" height="15" fill="rgb(222,171,42)" fg:x="1162" fg:w="1"/><text x="100.0782%" y="495.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.8282%" y="469" width="0.0859%" height="15" fill="rgb(243,84,45)" fg:x="1162" fg:w="1"/><text x="100.0782%" y="479.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.8282%" y="453" width="0.0859%" height="15" fill="rgb(252,49,23)" fg:x="1162" fg:w="1"/><text x="100.0782%" y="463.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.8282%" y="437" width="0.0859%" height="15" fill="rgb(215,19,7)" fg:x="1162" fg:w="1"/><text x="100.0782%" y="447.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.8282%" y="421" width="0.0859%" height="15" fill="rgb(238,81,41)" fg:x="1162" fg:w="1"/><text x="100.0782%" y="431.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.8282%" y="405" width="0.0859%" height="15" fill="rgb(210,199,37)" fg:x="1162" fg:w="1"/><text x="100.0782%" y="415.50"></text></g><g><title>all (1,164 samples, 100%)</title><rect x="0.0000%" y="597" width="100.0000%" height="15" fill="rgb(244,192,49)" fg:x="0" fg:w="1164"/><text x="0.2500%" y="607.50"></text></g><g><title>flame (1,164 samples, 100.00%)</title><rect x="0.0000%" y="581" width="100.0000%" height="15" fill="rgb(226,211,11)" fg:x="0" fg:w="1164"/><text x="0.2500%" y="591.50">flame</text></g><g><title>_start (1,164 samples, 100.00%)</title><rect x="0.0000%" y="565" width="100.0000%" height="15" fill="rgb(236,162,54)" fg:x="0" fg:w="1164"/><text x="0.2500%" y="575.50">_start</text></g><g><title>_dl_start (6 samples, 0.52%)</title><rect x="99.4845%" y="549" width="0.5155%" height="15" fill="rgb(220,229,9)" fg:x="1158" fg:w="6"/><text x="99.7345%" y="559.50"></text></g><g><title>rtld_timer_start (1 samples, 0.09%)</title><rect x="99.9141%" y="533" width="0.0859%" height="15" fill="rgb(250,87,22)" fg:x="1163" fg:w="1"/><text x="100.1641%" y="543.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.9141%" y="517" width="0.0859%" height="15" fill="rgb(239,43,17)" fg:x="1163" fg:w="1"/><text x="100.1641%" y="527.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.9141%" y="501" width="0.0859%" height="15" fill="rgb(231,177,25)" fg:x="1163" fg:w="1"/><text x="100.1641%" y="511.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.9141%" y="485" width="0.0859%" height="15" fill="rgb(219,179,1)" fg:x="1163" fg:w="1"/><text x="100.1641%" y="495.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.9141%" y="469" width="0.0859%" height="15" fill="rgb(238,219,53)" fg:x="1163" fg:w="1"/><text x="100.1641%" y="479.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.9141%" y="453" width="0.0859%" height="15" fill="rgb(232,167,36)" fg:x="1163" fg:w="1"/><text x="100.1641%" y="463.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.9141%" y="437" width="0.0859%" height="15" fill="rgb(244,19,51)" fg:x="1163" fg:w="1"/><text x="100.1641%" y="447.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.9141%" y="421" width="0.0859%" height="15" fill="rgb(224,6,22)" fg:x="1163" fg:w="1"/><text x="100.1641%" y="431.50"></text></g><g><title>[unknown] (1 samples, 0.09%)</title><rect x="99.9141%" y="405" width="0.0859%" height="15" fill="rgb(224,145,5)" fg:x="1163" fg:w="1"/><text x="100.1641%" y="415.50"></text></g></svg></svg>
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment