Change from flatMap to new compactMap rename in Xcode 9.3.
This commit is contained in:
parent
2d7d903bca
commit
d7f13ca4be
|
@ -36,7 +36,7 @@ final class DeleteFromSidebarCommand: UndoableCommand {
|
|||
self.undoActionName = actionName
|
||||
self.undoManager = undoManager
|
||||
|
||||
let itemSpecifiers = nodesToDelete.flatMap{ SidebarItemSpecifier(node: $0) }
|
||||
let itemSpecifiers = nodesToDelete.compactMap{ SidebarItemSpecifier(node: $0) }
|
||||
guard !itemSpecifiers.isEmpty else {
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ final class MainWindowKeyboardHandler: KeyboardDelegate {
|
|||
let f = Bundle.main.path(forResource: "GlobalKeyboardShortcuts", ofType: "plist")!
|
||||
let rawShortcuts = NSArray(contentsOfFile: f)! as! [[String: Any]]
|
||||
|
||||
self.globalShortcuts = Set(rawShortcuts.flatMap { KeyboardShortcut(dictionary: $0) })
|
||||
self.globalShortcuts = Set(rawShortcuts.compactMap { KeyboardShortcut(dictionary: $0) })
|
||||
}
|
||||
|
||||
func keydown(_ event: NSEvent, in view: NSView) -> Bool {
|
||||
|
|
|
@ -332,7 +332,7 @@ extension MainWindowController: NSSharingServicePickerDelegate {
|
|||
|
||||
func sharingServicePicker(_ sharingServicePicker: NSSharingServicePicker, sharingServicesForItems items: [Any], proposedSharingServices proposedServices: [NSSharingService]) -> [NSSharingService] {
|
||||
|
||||
let sendToServices = appDelegate.sendToCommands.flatMap { (sendToCommand) -> NSSharingService? in
|
||||
let sendToServices = appDelegate.sendToCommands.compactMap { (sendToCommand) -> NSSharingService? in
|
||||
|
||||
guard let object = items.first else {
|
||||
return nil
|
||||
|
|
|
@ -19,7 +19,7 @@ import RSCore
|
|||
let f = Bundle.main.path(forResource: "SidebarKeyboardShortcuts", ofType: "plist")!
|
||||
let rawShortcuts = NSArray(contentsOfFile: f)! as! [[String: Any]]
|
||||
|
||||
self.shortcuts = Set(rawShortcuts.flatMap { KeyboardShortcut(dictionary: $0) })
|
||||
self.shortcuts = Set(rawShortcuts.compactMap { KeyboardShortcut(dictionary: $0) })
|
||||
|
||||
super.init()
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ extension Array where Element == Article {
|
|||
|
||||
func articlesForIndexes(_ indexes: IndexSet) -> Set<Article> {
|
||||
|
||||
return Set(indexes.flatMap{ (oneIndex) -> Article? in
|
||||
return Set(indexes.compactMap{ (oneIndex) -> Article? in
|
||||
return articleAtRow(oneIndex)
|
||||
})
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ import RSCore
|
|||
let f = Bundle.main.path(forResource: "TimelineKeyboardShortcuts", ofType: "plist")!
|
||||
let rawShortcuts = NSArray(contentsOfFile: f)! as! [[String: Any]]
|
||||
|
||||
self.shortcuts = Set(rawShortcuts.flatMap { KeyboardShortcut(dictionary: $0) })
|
||||
self.shortcuts = Set(rawShortcuts.compactMap { KeyboardShortcut(dictionary: $0) })
|
||||
|
||||
super.init()
|
||||
}
|
||||
|
|
|
@ -50,13 +50,13 @@ class ScriptableAccount: NSObject, UniqueIdScriptingObject, ScriptingObjectConta
|
|||
|
||||
@objc(feeds)
|
||||
var feeds:NSArray {
|
||||
let feeds = account.children.flatMap { $0 as? Feed }
|
||||
let feeds = account.children.compactMap { $0 as? Feed }
|
||||
return feeds.map { ScriptableFeed($0, container:self) } as NSArray
|
||||
}
|
||||
|
||||
@objc(folders)
|
||||
var folders:NSArray {
|
||||
let folders = account.children.flatMap { $0 as? Folder }
|
||||
let folders = account.children.compactMap { $0 as? Folder }
|
||||
return folders.map { ScriptableFolder($0, container:self) } as NSArray
|
||||
}
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ extension NSApplication : ScriptingObjectContainer {
|
|||
let accounts = AccountManager.shared.accounts
|
||||
let emptyFeeds:[Feed] = []
|
||||
let feeds = accounts.reduce(emptyFeeds) { (result, nthAccount) -> [Feed] in
|
||||
let accountFeeds = nthAccount.children.flatMap { $0 as? Feed }
|
||||
let accountFeeds = nthAccount.children.compactMap { $0 as? Feed }
|
||||
return result + accountFeeds
|
||||
}
|
||||
return feeds.map { ScriptableFeed($0, container:self) } as NSArray
|
||||
|
|
|
@ -462,7 +462,7 @@ extension Account {
|
|||
|
||||
func objects(with diskObjects: [[String: Any]]) -> [AnyObject] {
|
||||
|
||||
return diskObjects.flatMap { object(with: $0) }
|
||||
return diskObjects.compactMap { object(with: $0) }
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -508,7 +508,7 @@ private extension Account {
|
|||
|
||||
func diskDictionary() -> NSDictionary {
|
||||
|
||||
let diskObjects = children.flatMap { (object) -> [String: Any]? in
|
||||
let diskObjects = children.compactMap { (object) -> [String: Any]? in
|
||||
|
||||
if let folder = object as? Folder {
|
||||
return folder.dictionary
|
||||
|
@ -650,7 +650,7 @@ private extension Account {
|
|||
|
||||
func noteStatusesForArticlesDidChange(_ articles: Set<Article>) {
|
||||
|
||||
let feeds = Set(articles.flatMap { $0.feed })
|
||||
let feeds = Set(articles.compactMap { $0.feed })
|
||||
let statuses = Set(articles.map { $0.status })
|
||||
|
||||
// .UnreadCountDidChange notification will get sent to Folder and Account objects,
|
||||
|
|
|
@ -90,7 +90,7 @@ struct FeedbinArticle {
|
|||
|
||||
static func articles(with array: JSONArray) -> [FeedbinArticle]? {
|
||||
|
||||
let articlesArray = array.flatMap { FeedbinArticle(jsonDictionary: $0) }
|
||||
let articlesArray = array.compactMap { FeedbinArticle(jsonDictionary: $0) }
|
||||
return articlesArray.isEmpty ? nil : articlesArray
|
||||
}
|
||||
}
|
||||
|
|
|
@ -64,7 +64,7 @@ struct FeedbinSubscription {
|
|||
|
||||
static func subscriptions(with array: JSONArray) -> [FeedbinSubscription]? {
|
||||
|
||||
let subs = array.flatMap { FeedbinSubscription(dictionary: $0) }
|
||||
let subs = array.compactMap { FeedbinSubscription(dictionary: $0) }
|
||||
return subs.isEmpty ? nil : subs
|
||||
}
|
||||
}
|
||||
|
|
|
@ -107,7 +107,7 @@ public final class Folder: DisplayNameProvider, Container, UnreadCountProvider,
|
|||
d[Key.unreadCount] = unreadCount
|
||||
}
|
||||
|
||||
let childObjects = children.flatMap { (child) -> [String: Any]? in
|
||||
let childObjects = children.compactMap { (child) -> [String: Any]? in
|
||||
|
||||
if let feed = child as? Feed {
|
||||
return feed.dictionary
|
||||
|
|
|
@ -84,7 +84,7 @@ public struct Author: Hashable {
|
|||
|
||||
static func authorsWithDiskArray(_ diskArray: [[String: Any]]) -> Set<Author>? {
|
||||
|
||||
let authors = diskArray.flatMap { Author(dictionary: $0) }
|
||||
let authors = diskArray.compactMap { Author(dictionary: $0) }
|
||||
return authors.isEmpty ? nil : Set(authors)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -159,7 +159,7 @@ extension Set where Element == Article {
|
|||
|
||||
func databaseDictionaries() -> [NSDictionary]? {
|
||||
|
||||
return self.flatMap { $0.databaseDictionary() }
|
||||
return self.compactMap { $0.databaseDictionary() }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ extension Attachment {
|
|||
return nil
|
||||
}
|
||||
|
||||
let attachments = parsedAttachments.flatMap{ Attachment(parsedAttachment: $0) }
|
||||
let attachments = parsedAttachments.compactMap{ Attachment(parsedAttachment: $0) }
|
||||
return attachments.isEmpty ? nil : Set(attachments)
|
||||
}
|
||||
|
||||
|
@ -91,11 +91,11 @@ extension Set where Element == Attachment {
|
|||
|
||||
func databaseDictionaries() -> [NSDictionary] {
|
||||
|
||||
return self.flatMap { $0.databaseDictionary() }
|
||||
return self.compactMap { $0.databaseDictionary() }
|
||||
}
|
||||
|
||||
func databaseObjects() -> [DatabaseObject] {
|
||||
|
||||
return self.flatMap { $0 as DatabaseObject }
|
||||
return self.compactMap { $0 as DatabaseObject }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ extension Author {
|
|||
return nil
|
||||
}
|
||||
|
||||
let authors = Set(parsedAuthors.flatMap { Author(parsedAuthor: $0) })
|
||||
let authors = Set(parsedAuthors.compactMap { Author(parsedAuthor: $0) })
|
||||
return authors.isEmpty ? nil: authors
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ public extension NSOutlineView {
|
|||
return [AnyObject]()
|
||||
}
|
||||
|
||||
return selectedRowIndexes.flatMap { (oneIndex) -> AnyObject? in
|
||||
return selectedRowIndexes.compactMap { (oneIndex) -> AnyObject? in
|
||||
return item(atRow: oneIndex) as AnyObject
|
||||
}
|
||||
}
|
||||
|
|
|
@ -95,7 +95,7 @@ public extension DatabaseTable {
|
|||
|
||||
public extension FMResultSet {
|
||||
|
||||
public func flatMap<T>(_ callback: (_ row: FMResultSet) -> T?) -> [T] {
|
||||
public func compactMap<T>(_ callback: (_ row: FMResultSet) -> T?) -> [T] {
|
||||
|
||||
var objects = [T]()
|
||||
while next() {
|
||||
|
@ -109,7 +109,7 @@ public extension FMResultSet {
|
|||
|
||||
public func mapToSet<T>(_ callback: (_ row: FMResultSet) -> T?) -> Set<T> {
|
||||
|
||||
return Set(flatMap(callback))
|
||||
return Set(compactMap(callback))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ extension Array where Element == DatabaseObject {
|
|||
|
||||
func databaseDictionaries() -> [NSDictionary]? {
|
||||
|
||||
let dictionaries = self.flatMap{ $0.databaseDictionary() }
|
||||
let dictionaries = self.compactMap{ $0.databaseDictionary() }
|
||||
return dictionaries.isEmpty ? nil : dictionaries
|
||||
}
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ public extension DatabaseRelatedObjectsTable {
|
|||
|
||||
func objectsWithResultSet(_ resultSet: FMResultSet) -> [DatabaseObject] {
|
||||
|
||||
return resultSet.flatMap(objectWithRow)
|
||||
return resultSet.compactMap(objectWithRow)
|
||||
}
|
||||
|
||||
func save(_ objects: [DatabaseObject], in database: FMDatabase) {
|
||||
|
|
|
@ -23,7 +23,7 @@ public struct RelatedObjectsMap {
|
|||
for objectID in relatedObjectIDsMap.objectIDs() {
|
||||
|
||||
if let relatedObjectIDs = relatedObjectIDsMap[objectID] {
|
||||
let relatedObjects = relatedObjectIDs.flatMap{ relatedObjectsDictionary[$0] }
|
||||
let relatedObjects = relatedObjectIDs.compactMap{ relatedObjectsDictionary[$0] }
|
||||
if !relatedObjects.isEmpty {
|
||||
d[objectID] = relatedObjects
|
||||
}
|
||||
|
|
|
@ -103,7 +103,7 @@ private extension JSONFeedParser {
|
|||
return nil
|
||||
}
|
||||
|
||||
let hubs = hubsArray.flatMap { (hubDictionary) -> ParsedHub? in
|
||||
let hubs = hubsArray.compactMap { (hubDictionary) -> ParsedHub? in
|
||||
guard let hubURL = hubDictionary[Key.url] as? String, let hubType = hubDictionary[Key.type] as? String else {
|
||||
return nil
|
||||
}
|
||||
|
@ -114,7 +114,7 @@ private extension JSONFeedParser {
|
|||
|
||||
static func parseItems(_ itemsArray: JSONArray, _ feedURL: String) -> Set<ParsedItem> {
|
||||
|
||||
return Set(itemsArray.flatMap { (oneItemDictionary) -> ParsedItem? in
|
||||
return Set(itemsArray.compactMap { (oneItemDictionary) -> ParsedItem? in
|
||||
return parseItem(oneItemDictionary, feedURL)
|
||||
})
|
||||
}
|
||||
|
@ -180,7 +180,7 @@ private extension JSONFeedParser {
|
|||
guard let attachmentsArray = itemDictionary[Key.attachments] as? JSONArray else {
|
||||
return nil
|
||||
}
|
||||
return Set(attachmentsArray.flatMap { parseAttachment($0) })
|
||||
return Set(attachmentsArray.compactMap { parseAttachment($0) })
|
||||
}
|
||||
|
||||
static func parseAttachment(_ attachmentObject: JSONDictionary) -> ParsedAttachment? {
|
||||
|
|
|
@ -60,7 +60,7 @@ private extension RSSInJSONParser {
|
|||
|
||||
static func parseItems(_ itemsObject: JSONArray, _ feedURL: String) -> Set<ParsedItem> {
|
||||
|
||||
return Set(itemsObject.flatMap{ (oneItemDictionary) -> ParsedItem? in
|
||||
return Set(itemsObject.compactMap{ (oneItemDictionary) -> ParsedItem? in
|
||||
|
||||
return parsedItemWithDictionary(oneItemDictionary, feedURL)
|
||||
})
|
||||
|
@ -150,7 +150,7 @@ private extension RSSInJSONParser {
|
|||
return nil
|
||||
}
|
||||
else if let categoryArray = itemDictionary["category"] as? JSONArray {
|
||||
return Set(categoryArray.flatMap{ $0["#value"] as? String })
|
||||
return Set(categoryArray.compactMap{ $0["#value"] as? String })
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -52,7 +52,7 @@ private extension RSParsedFeedTransformer {
|
|||
return nil
|
||||
}
|
||||
|
||||
let transformedAuthors = authors.flatMap { (author) -> ParsedAuthor? in
|
||||
let transformedAuthors = authors.compactMap { (author) -> ParsedAuthor? in
|
||||
return ParsedAuthor(name: author.name, url: author.url, avatarURL: nil, emailAddress: author.emailAddress)
|
||||
}
|
||||
|
||||
|
@ -65,7 +65,7 @@ private extension RSParsedFeedTransformer {
|
|||
return nil
|
||||
}
|
||||
|
||||
let attachments = enclosures.flatMap { (enclosure) -> ParsedAttachment? in
|
||||
let attachments = enclosures.compactMap { (enclosure) -> ParsedAttachment? in
|
||||
|
||||
let sizeInBytes = enclosure.length > 0 ? enclosure.length : nil
|
||||
return ParsedAttachment(url: enclosure.url, mimeType: enclosure.mimeType, title: nil, sizeInBytes: sizeInBytes, durationInSeconds: nil)
|
||||
|
|
|
@ -56,7 +56,7 @@ struct FeedsImporter {
|
|||
|
||||
private static func feeds(with feedDictionaries: [DiskFeedDictionary], accountID: String) -> Set<Feed> {
|
||||
|
||||
let feedArray = feedDictionaries.flatMap { Feed(accountID: accountID, dictionary: $0) }
|
||||
let feedArray = feedDictionaries.compactMap { Feed(accountID: accountID, dictionary: $0) }
|
||||
return Set(feedArray)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,117 @@
|
|||
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
|
||||
<base target="bottom">
|
||||
<style TYPE="text/css">
|
||||
<!--
|
||||
CAPTION { font-family: Arial,Helvetica,sans-serif; padding: 0.25em 0 0 0; }
|
||||
TD, TH { font-family: Arial,Helvetica,sans-serif; font-size: 9pt; padding-left: 0.5em; padding-right: 0.5em; }
|
||||
#T1 TH { border-bottom: solid 1px #808080; }
|
||||
#T1 TD { border-bottom: solid 1px #cccccc; }
|
||||
#T1 TD A { text-decoration: none; }
|
||||
#T1 TD A:hover { text-decoration: underline; }
|
||||
@media print {
|
||||
TD, TH { font-size: 8pt; }
|
||||
}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- SELECT rptBankerTrades.AccountNumber as AccountNumber , rptBankerTrades.ParcelID as ParcelID , Owner1 , Owner2 , Owner3 , StreetName , [Street#] , [AltStreet#] , BuildType , BuildType2 , BuildType3 , YearBuilt , Bedrooms , Fullbaths , TotalAcres , LegalRefDate , SalePrice , LegalReference , FinArea , rptBankerTrades.LUC as LUC , TotalValue , DataProperty.NBC as Neighborhood , TableLandUse.Description as LandUseDescription FROM rptBankerTrades LEFT OUTER JOIN DataProperty ON DataProperty.AccountNumber = rptBankerTrades.AccountNumber AND DataProperty.CardNumber = 1 LEFT OUTER JOIN TableLandUse ON TableLandUse.Code = rptBankerTrades.LUC WHERE 1 = 1 AND StreetName LIKE 'freeman%' AND [Street#] LIKE '30%' ORDER BY StreetName, [Street#], rptBankerTrades.ParcelID --><table width='100%'>
|
||||
<tr><td width='15%' align='left'></td>
|
||||
<td width='15%' align='left'></td>
|
||||
<td width='40%' align='center'><a href='#' target='bottom'><span onClick='window.print();'>Print page 1 of 1</span></a></td>
|
||||
<td width='15%' align='right'></td>
|
||||
<td width='15%' align='right'></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<TABLE ID="T1" ONSELECTSTART="return false" WIDTH=100% border="0" cellspacing="0" cellpadding="0">
|
||||
|
||||
<caption>
|
||||
<B>
|
||||
Click on the Column Headings to sort accordingly.<br>
|
||||
Click on the Parcel ID to view the parcel detail.<br>
|
||||
</B>
|
||||
</caption>
|
||||
|
||||
<THEAD>
|
||||
<TR valign='bottom'>
|
||||
<TH align='left' ><A HREF="SearchResults.asp?Sort=Parcel" target="bottom">Parcel ID</A></TH>
|
||||
<TH align='left' ><A HREF="SearchResults.asp?Sort=Street" target="bottom">Location</A></TH>
|
||||
<TH align='left' ><A HREF="SearchResults.asp?Sort=Owner" target="bottom">Owner</A></TH>
|
||||
<TH align='left' ><A HREF="SearchResults.asp?Sort=YearBuilt" target="bottom">Built</A><BR>
|
||||
<A HREF="SearchResults.asp?Sort=BuildingType" target="bottom">Type</A></TD>
|
||||
<TH align='right' ><A HREF="SearchResults.asp?Sort=TotalValue" target="bottom">Total Value</A></TD>
|
||||
<TH align='center' ><A HREF="SearchResults.asp?Sort=Bedrooms" target="bottom">Beds</A><br>
|
||||
<A HREF="SearchResults.asp?Sort=Bathrooms" target="bottom">Baths</A></TH>
|
||||
<TH align='right' nowrap><A HREF="SearchResults.asp?Sort=LotSize" target="bottom">Lot size</A><br>
|
||||
<A HREF="SearchResults.asp?Sort=FinArea" target="bottom">Fin area</A></TH>
|
||||
<TH align='left' ><A HREF="SearchResults.asp?Sort=LUC" target="bottom">LUC</A><br>
|
||||
<A HREF="SearchResults.asp?Sort=LUCDescription" target="bottom">Description</A></TH>
|
||||
<TH align='center' ><A HREF="SearchResults.asp?Sort=Neighborhood" target="bottom">NHood</A></TH>
|
||||
<TH align='right' ><A HREF="SearchResults.asp?Sort=SaleDate" target="bottom">Sale date</A><br>
|
||||
<A HREF="SearchResults.asp?Sort=SalePrice" target="bottom">Sale price</A></TH>
|
||||
<TH align='left' ><A HREF="SearchResults.asp?Sort=LegalRef" target="bottom">Book Page</A></TH>
|
||||
</TR>
|
||||
</THEAD>
|
||||
|
||||
<TBODY>
|
||||
|
||||
|
||||
<TR valign='top'>
|
||||
<TD><A HREF="Summary.asp?AccountNumber=600" target="_top">006.0-0005-0003.0</A></TD>
|
||||
<TD>30
|
||||
<A HREF="SearchResults.asp?SearchStreetName=FREEMAN+ST" target="bottom">FREEMAN ST</A></TD>
|
||||
<TD><A HREF="SearchResults.asp?SearchOwner=PITCHEL+STUART" target="bottom">PITCHEL STUART</A>
|
||||
<br><A HREF="SearchResults.asp?SearchOwner=GOODMAN+JULIA" target="bottom">GOODMAN JULIA</A></TD>
|
||||
<TD><A HREF='SearchResults.asp?SearchYearBuilt=1914&SearchYearBuiltThru=1914' target='bottom'>1914</A><br>
|
||||
<A HREF="SearchResults.asp?SearchBuildingType=Old+Style" target="bottom">Old Style</A>
|
||||
</TD>
|
||||
<TD align='right'>$615,400</TD>
|
||||
<TD align='center'>5<br>
|
||||
3</TD>
|
||||
<TD align='right'>5,502
|
||||
<br>2,472</TD>
|
||||
<TD align='left'><A HREF="SearchResults.asp?SearchLUC=101&SearchLUCDescription=One+Family" target="bottom">101</a><br>
|
||||
<A HREF="SearchResults.asp?SearchLUC=101&SearchLUCDescription=One+Family" target="bottom">One Family</a></TD>
|
||||
<TD align='center'><A HREF="SearchResults.asp?SearchNeighborhood=1" target="bottom">1</A></TD>
|
||||
<TD align='right'>8/19/<A HREF='SearchResults.asp?SearchSaleDate=01%2f01%2f1998&SearchSaleDateThru=12%2f31%2f1998' target='bottom'>1998</A><br>
|
||||
$299,000</TD>
|
||||
<TD>28988-522</TD>
|
||||
</TR>
|
||||
|
||||
|
||||
</TBODY>
|
||||
</TABLE>
|
||||
|
||||
<table width='100%'>
|
||||
<tr><td width='15%' align='left'></td>
|
||||
<td width='15%' align='left'></td>
|
||||
<td width='40%' align='center'><a href='#' target='bottom'><span onClick='window.print();'>Print page 1 of 1</span></a></td>
|
||||
<td width='15%' align='right'></td>
|
||||
<td width='15%' align='right'></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
|
||||
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
var pageTracker = _gat._getTracker("UA-4142258-1");
|
||||
pageTracker._initData();
|
||||
pageTracker._trackPageview();
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue