// Token: 0x06002D81 RID: 11649 RVA: 0x000CCF08 File Offset: 0x000CB108 internal static Uri GetLinkUri(IInputElement element, Uri inputUri) { DependencyObject dependencyObject = element as DependencyObject; if (inputUri != null && (FixedPage.CanNavigateToUri(inputUri) || (inputUri.Scheme == PackUriHelper.UriSchemePack && !string.IsNullOrEmpty(inputUri.Fragment)))) { Uri uri = inputUri; if (!inputUri.IsAbsoluteUri) { uri = new Uri(new Uri("http://microsoft.com/"), inputUri); } string fragment = uri.Fragment; int num = (fragment == null) ? 0 : fragment.Length; if (num != 0) { string text = inputUri.ToString(); string uriString = text.Substring(0, text.IndexOf('#')); inputUri = new Uri(uriString, UriKind.RelativeOrAbsolute); if (!inputUri.IsAbsoluteUri) { string startPartUriString = FixedPage.GetStartPartUriString(dependencyObject); if (startPartUriString != null) { inputUri = new Uri(startPartUriString, UriKind.RelativeOrAbsolute); } } } Uri baseUri = BaseUriHelper.GetBaseUri(dependencyObject); Uri uri2 = BindUriHelper.GetUriToNavigate(dependencyObject, baseUri, inputUri); if (num != 0) { StringBuilder stringBuilder = new StringBuilder(uri2.ToString()); stringBuilder.Append(fragment); uri2 = new Uri(stringBuilder.ToString(), UriKind.RelativeOrAbsolute); } return(uri2); } return(null); }