@refineui/react-native-icons 0.3.25 → 0.3.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/filled-icons.d.ts +27489 -268
- package/dist/filled-icons.d.ts.map +1 -1
- package/dist/fonts/refineui-system-icons-filled.css +2606 -2606
- package/dist/fonts/refineui-system-icons-filled.woff2 +0 -0
- package/dist/fonts/refineui-system-icons-regular.css +2607 -2607
- package/dist/fonts/refineui-system-icons-regular.woff2 +0 -0
- package/dist/index.esm.js +415 -89
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +826 -174
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +826 -174
- package/dist/index.umd.js.map +1 -1
- package/dist/regular-icons.d.ts +27489 -268
- package/dist/regular-icons.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.js","sources":["../src/IconUtils.ts","../src/utils.ts","../src/regular-icons.ts","../src/filled-icons.ts"],"sourcesContent":["import React from 'react';\nimport metadata from './metadata.json';\n\nfunction nameToSlug(name: string): string {\n return String(name).toLowerCase().trim().replace(/\\s+/g, '-');\n}\nfunction pascalToSlug(name: string): string {\n return String(name).replace(/([A-Z])/g, '-$1').toLowerCase().replace(/^-/, '');\n}\n\nexport interface IconProps {\n style?: any;\n className?: string;\n onPress?: () => void;\n [key: string]: any;\n}\n\nexport interface IconData {\n name: string;\n slug: string;\n size: number[];\n style: string[];\n keyword: string;\n description: string;\n files: any[];\n unicodeMapping: any;\n}\n\nexport interface Metadata {\n totalIcons: number;\n supportedSizes: number[];\n supportedStyles: string[];\n fontFamilies: any;\n icons: { [key: string]: IconData };\n}\n\nclass ReactNativeIconUtils {\n private metadata: Metadata;\n private fontFamilies: any;\n\n constructor() {\n this.metadata = metadata;\n this.fontFamilies = metadata.fontFamilies;\n }\n\n private getIconData(iconName: string): IconData | null {\n const direct = this.metadata.icons[iconName];\n if (direct) return direct;\n const slug = nameToSlug(iconName);\n const bySlug = Object.values(this.metadata.icons).find((icon) => icon.slug === slug);\n if (bySlug) return bySlug;\n const slugPascal = pascalToSlug(iconName);\n return Object.values(this.metadata.icons).find((icon) => icon.slug === slugPascal) || null;\n }\n\n // === Icon Style Method ===\n // Dynamic icon creation method\n createIconMethod(iconName: string, props: IconProps = {}): React.ReactElement | null {\n // Unsized method: AccessibilityRegular, AccessibilityFilled\n const unsizedMatch = iconName.match(/^([A-Za-z]+)(Regular|Filled)$/);\n if (unsizedMatch) {\n const [, iconNamePart, iconStyle] = unsizedMatch;\n return this.createUnsizedIcon(iconNamePart, iconStyle.toLowerCase() as 'regular' | 'filled', props);\n }\n\n // Sized method: Accessibility16Regular, Accessibility24Filled\n const sizedMatch = iconName.match(/^([A-Za-z]+)(\\d+)(Regular|Filled)$/);\n if (sizedMatch) {\n const [, iconNamePart, sizeStr, iconStyle] = sizedMatch;\n const size = parseInt(sizeStr, 10);\n return this.createSizedIcon(iconNamePart, size, iconStyle.toLowerCase() as 'regular' | 'filled', props);\n }\n\n return null;\n }\n\n // Create unsized icon (default 24px)\n private createUnsizedIcon(iconName: string, style: 'regular' | 'filled', props: IconProps = {}): React.ReactElement | null {\n const iconData = this.getIconData(iconName);\n if (!iconData) return null;\n\n const defaultSize = 24;\n const unicodeInfo = iconData.unicodeMapping[defaultSize]?.[style];\n if (!unicodeInfo) return null;\n\n const fontFamily = this.fontFamilies[style].font_family;\n \n return React.createElement('Text', {\n ...props,\n style: {\n fontFamily,\n fontSize: defaultSize,\n lineHeight: defaultSize,\n ...props.style\n },\n children: String.fromCodePoint(unicodeInfo.unicode)\n });\n }\n\n // Create sized icon\n private createSizedIcon(iconName: string, size: number, style: 'regular' | 'filled', props: IconProps = {}): React.ReactElement | null {\n const iconData = this.getIconData(iconName);\n if (!iconData) return null;\n\n const unicodeInfo = iconData.unicodeMapping[size]?.[style];\n if (!unicodeInfo) return null;\n\n const fontFamily = this.fontFamilies[style].font_family;\n \n return React.createElement('Text', {\n ...props,\n style: {\n fontFamily,\n fontSize: size,\n lineHeight: size,\n ...props.style\n },\n children: String.fromCodePoint(unicodeInfo.unicode)\n });\n }\n\n // Utility methods\n getIconChar(iconName: string, style: 'regular' | 'filled' = 'regular', size: number = 24): string | null {\n const iconData = this.getIconData(iconName);\n if (!iconData) return null;\n\n const unicodeInfo = iconData.unicodeMapping[size]?.[style];\n if (!unicodeInfo) return null;\n\n return String.fromCodePoint(unicodeInfo.unicode);\n }\n\n getIconClass(iconName: string, style: 'regular' | 'filled' = 'regular', size: number = 24): string | null {\n const iconData = this.getIconData(iconName);\n if (!iconData) return null;\n\n const unicodeInfo = iconData.unicodeMapping[size]?.[style];\n if (!unicodeInfo) return null;\n\n return unicodeInfo.cssClass;\n }\n\n getFontFamily(style: 'regular' | 'filled' = 'regular'): string {\n return this.fontFamilies[style].font_family;\n }\n\n getAvailableIcons(): string[] {\n return Object.keys(this.metadata.icons);\n }\n\n getFontFamilies(): any {\n return this.fontFamilies;\n }\n\n getAvailableSizes(): number[] {\n return this.metadata.supportedSizes;\n }\n\n getIconInfo(iconName: string): IconData | null {\n return this.getIconData(iconName);\n }\n\n searchIcons(query: string): string[] {\n const searchTerm = query.toLowerCase();\n return Object.keys(this.metadata.icons).filter(iconName => \n iconName.toLowerCase().includes(searchTerm) ||\n this.metadata.icons[iconName].description.toLowerCase().includes(searchTerm)\n );\n }\n}\n\n// Create singleton instance\nconst reactNativeIconUtils = new ReactNativeIconUtils();\n\nexport default reactNativeIconUtils;\nexport { ReactNativeIconUtils };\n","import React from 'react';\nimport { Text, TextProps } from 'react-native';\nimport IconUtils from './IconUtils';\n\nexport interface IconProps extends TextProps {\n size?: number;\n color?: string;\n iconStyle?: 'regular' | 'filled';\n [key: string]: any;\n}\n\n// === Icon component creation method ===\nexport const createIconComponent = (iconName: string, style: 'regular' | 'filled') => {\n return (props: IconProps) => {\n const iconChar = IconUtils.getIconChar(iconName, style, props.size || 24);\n const fontFamily = IconUtils.getFontFamily(style);\n\n if (!iconChar) return null;\n\n const styleObj = {\n fontFamily,\n fontSize: props.size || 24,\n color: props.color || 'currentColor',\n lineHeight: 1,\n };\n\n return React.createElement(Text as any, {\n style: [styleObj, props.style],\n ...props,\n }, iconChar);\n };\n};\n\n// === Utility functions ===\nexport { default as IconUtils } from './IconUtils';\n\nexport const getIconChar = (iconName: string, style: 'regular' | 'filled' = 'regular', size: number = 24) => {\n return IconUtils.getIconChar(iconName, style, size);\n};\n\nexport const getIconClass = (iconName: string, style: 'regular' | 'filled' = 'regular', size: number = 24) => {\n return IconUtils.getIconClass(iconName, style, size);\n};\n\nexport const getFontFamily = (style: 'regular' | 'filled' = 'regular') => {\n return IconUtils.getFontFamily(style);\n};","// === Regular style icons ===\n// This file is auto-generated. Do not modify.\n\nimport { createIconComponent } from './utils';\n\nexport const Access = createIconComponent('Access', 'regular');\nexport const Accessibility = createIconComponent('Accessibility', 'regular');\nexport const Add = createIconComponent('Add', 'regular');\nexport const Airplane = createIconComponent('Airplane', 'regular');\nexport const Album = createIconComponent('Album', 'regular');\nexport const Alert = createIconComponent('Alert', 'regular');\nexport const Align = createIconComponent('Align', 'regular');\nexport const Android = createIconComponent('Android', 'regular');\nexport const App = createIconComponent('App', 'regular');\nexport const Appstore = createIconComponent('Appstore', 'regular');\nexport const Autosum = createIconComponent('Autosum', 'regular');\nexport const Backpack = createIconComponent('Backpack', 'regular');\nexport const Backspace = createIconComponent('Backspace', 'regular');\nexport const Badge = createIconComponent('Badge', 'regular');\nexport const Balloon = createIconComponent('Balloon', 'regular');\nexport const Bar = createIconComponent('Bar', 'regular');\nexport const Barcode = createIconComponent('Barcode', 'regular');\nexport const Battery = createIconComponent('Battery', 'regular');\nexport const Block = createIconComponent('Block', 'regular');\nexport const Bluetooth = createIconComponent('Bluetooth', 'regular');\nexport const Blur = createIconComponent('Blur', 'regular');\nexport const Board = createIconComponent('Board', 'regular');\nexport const Book = createIconComponent('Book', 'regular');\nexport const Bookmark = createIconComponent('Bookmark', 'regular');\nexport const Bug = createIconComponent('Bug', 'regular');\nexport const Calculator = createIconComponent('Calculator', 'regular');\nexport const Calendar = createIconComponent('Calendar', 'regular');\nexport const Camera = createIconComponent('Camera', 'regular');\nexport const Cart = createIconComponent('Cart', 'regular');\nexport const Carton = createIconComponent('Carton', 'regular');\nexport const Chart = createIconComponent('Chart', 'regular');\nexport const Chat = createIconComponent('Chat', 'regular');\nexport const Checkmark = createIconComponent('Checkmark', 'regular');\nexport const Chess = createIconComponent('Chess', 'regular');\nexport const Chevron = createIconComponent('Chevron', 'regular');\nexport const Circle = createIconComponent('Circle', 'regular');\nexport const Clipboard = createIconComponent('Clipboard', 'regular');\nexport const Clock = createIconComponent('Clock', 'regular');\nexport const Cloud = createIconComponent('Cloud', 'regular');\nexport const Clover = createIconComponent('Clover', 'regular');\nexport const Code = createIconComponent('Code', 'regular');\nexport const Comma = createIconComponent('Comma', 'regular');\nexport const Comment = createIconComponent('Comment', 'regular');\nexport const Cone = createIconComponent('Cone', 'regular');\nexport const Contrast = createIconComponent('Contrast', 'regular');\nexport const Control = createIconComponent('Control', 'regular');\nexport const Cookie = createIconComponent('Cookie', 'regular');\nexport const Copy = createIconComponent('Copy', 'regular');\nexport const Couch = createIconComponent('Couch', 'regular');\nexport const Cpu = createIconComponent('Cpu', 'regular');\nexport const Crop = createIconComponent('Crop', 'regular');\nexport const Crown = createIconComponent('Crown', 'regular');\nexport const Css = createIconComponent('Css', 'regular');\nexport const Cube = createIconComponent('Cube', 'regular');\nexport const Cursor = createIconComponent('Cursor', 'regular');\nexport const Cut = createIconComponent('Cut', 'regular');\nexport const Dart = createIconComponent('Dart', 'regular');\nexport const Database = createIconComponent('Database', 'regular');\nexport const Delete = createIconComponent('Delete', 'regular');\nexport const Dentist = createIconComponent('Dentist', 'regular');\nexport const Desk = createIconComponent('Desk', 'regular');\nexport const Desktop = createIconComponent('Desktop', 'regular');\nexport const Dialpad = createIconComponent('Dialpad', 'regular');\nexport const Diamond = createIconComponent('Diamond', 'regular');\nexport const Dismiss = createIconComponent('Dismiss', 'regular');\nexport const Doctor = createIconComponent('Doctor', 'regular');\nexport const Document = createIconComponent('Document', 'regular');\nexport const Door = createIconComponent('Door', 'regular');\nexport const Drag = createIconComponent('Drag', 'regular');\nexport const Drawer = createIconComponent('Drawer', 'regular');\nexport const Drop = createIconComponent('Drop', 'regular');\nexport const Dual = createIconComponent('Dual', 'regular');\nexport const Dumbbell = createIconComponent('Dumbbell', 'regular');\nexport const Dust = createIconComponent('Dust', 'regular');\nexport const Earth = createIconComponent('Earth', 'regular');\nexport const Edit = createIconComponent('Edit', 'regular');\nexport const Elevator = createIconComponent('Elevator', 'regular');\nexport const Emoji = createIconComponent('Emoji', 'regular');\nexport const Engine = createIconComponent('Engine', 'regular');\nexport const Equal = createIconComponent('Equal', 'regular');\nexport const Error = createIconComponent('Error', 'regular');\nexport const Eye = createIconComponent('Eye', 'regular');\nexport const Eyedropper = createIconComponent('Eyedropper', 'regular');\nexport const Fast = createIconComponent('Fast', 'regular');\nexport const Filmstrip = createIconComponent('Filmstrip', 'regular');\nexport const Filter = createIconComponent('Filter', 'regular');\nexport const Fire = createIconComponent('Fire', 'regular');\nexport const Flag = createIconComponent('Flag', 'regular');\nexport const Flash = createIconComponent('Flash', 'regular');\nexport const Flashlight = createIconComponent('Flashlight', 'regular');\nexport const Flip = createIconComponent('Flip', 'regular');\nexport const Folder = createIconComponent('Folder', 'regular');\nexport const Frame = createIconComponent('Frame', 'regular');\nexport const Full = createIconComponent('Full', 'regular');\nexport const Games = createIconComponent('Games', 'regular');\nexport const Gantt = createIconComponent('Gantt', 'regular');\nexport const Gas = createIconComponent('Gas', 'regular');\nexport const Gavel = createIconComponent('Gavel', 'regular');\nexport const Gif = createIconComponent('Gif', 'regular');\nexport const Gift = createIconComponent('Gift', 'regular');\nexport const Git = createIconComponent('Git', 'regular');\nexport const Glasses = createIconComponent('Glasses', 'regular');\nexport const Global = createIconComponent('Global', 'regular');\nexport const Grid = createIconComponent('Grid', 'regular');\nexport const Guest = createIconComponent('Guest', 'regular');\nexport const Guitar = createIconComponent('Guitar', 'regular');\nexport const Hammer = createIconComponent('Hammer', 'regular');\nexport const Hard = createIconComponent('Hard', 'regular');\nexport const Hat = createIconComponent('Hat', 'regular');\nexport const Hd = createIconComponent('Hd', 'regular');\nexport const Hdr = createIconComponent('Hdr', 'regular');\nexport const Headphones = createIconComponent('Headphones', 'regular');\nexport const Headset = createIconComponent('Headset', 'regular');\nexport const Heart = createIconComponent('Heart', 'regular');\nexport const Hexagon = createIconComponent('Hexagon', 'regular');\nexport const Highlight = createIconComponent('Highlight', 'regular');\nexport const Highway = createIconComponent('Highway', 'regular');\nexport const Home = createIconComponent('Home', 'regular');\nexport const Hourglass = createIconComponent('Hourglass', 'regular');\nexport const Html = createIconComponent('Html', 'regular');\nexport const Image = createIconComponent('Image', 'regular');\nexport const Important = createIconComponent('Important', 'regular');\nexport const Incognito = createIconComponent('Incognito', 'regular');\nexport const Info = createIconComponent('Info', 'regular');\nexport const Ios = createIconComponent('Ios', 'regular');\nexport const Iot = createIconComponent('Iot', 'regular');\nexport const Javascript = createIconComponent('Javascript', 'regular');\nexport const Joystick = createIconComponent('Joystick', 'regular');\nexport const Json = createIconComponent('Json', 'regular');\nexport const Key = createIconComponent('Key', 'regular');\nexport const Keyboard = createIconComponent('Keyboard', 'regular');\nexport const Kiosk = createIconComponent('Kiosk', 'regular');\nexport const Kotlin = createIconComponent('Kotlin', 'regular');\nexport const Laptop = createIconComponent('Laptop', 'regular');\nexport const Layer = createIconComponent('Layer', 'regular');\nexport const Lightbulb = createIconComponent('Lightbulb', 'regular');\nexport const Line = createIconComponent('Line', 'regular');\nexport const Link = createIconComponent('Link', 'regular');\nexport const Local = createIconComponent('Local', 'regular');\nexport const LocalLanguage = createIconComponent('Local language', 'regular');\nexport const Location = createIconComponent('Location', 'regular');\nexport const Lock = createIconComponent('Lock', 'regular');\nexport const Luggage = createIconComponent('Luggage', 'regular');\nexport const Macos = createIconComponent('Macos', 'regular');\nexport const Mail = createIconComponent('Mail', 'regular');\nexport const Mailbox = createIconComponent('Mailbox', 'regular');\nexport const Map = createIconComponent('Map', 'regular');\nexport const Markdown = createIconComponent('Markdown', 'regular');\nexport const Math = createIconComponent('Math', 'regular');\nexport const Megaphone = createIconComponent('Megaphone', 'regular');\nexport const Mic = createIconComponent('Mic', 'regular');\nexport const Moon = createIconComponent('Moon', 'regular');\nexport const More = createIconComponent('More', 'regular');\nexport const Mouse = createIconComponent('Mouse', 'regular');\nexport const Movie = createIconComponent('Movie', 'regular');\nexport const Network = createIconComponent('Network', 'regular');\nexport const News = createIconComponent('News', 'regular');\nexport const Next = createIconComponent('Next', 'regular');\nexport const Note = createIconComponent('Note', 'regular');\nexport const Notebook = createIconComponent('Notebook', 'regular');\nexport const Notepad = createIconComponent('Notepad', 'regular');\nexport const Number = createIconComponent('Number', 'regular');\nexport const Opacity = createIconComponent('Opacity', 'regular');\nexport const Open = createIconComponent('Open', 'regular');\nexport const Options = createIconComponent('Options', 'regular');\nexport const Organization = createIconComponent('Organization', 'regular');\nexport const Orientation = createIconComponent('Orientation', 'regular');\nexport const Oval = createIconComponent('Oval', 'regular');\nexport const Oven = createIconComponent('Oven', 'regular');\nexport const Padding = createIconComponent('Padding', 'regular');\nexport const Page = createIconComponent('Page', 'regular');\nexport const Paint = createIconComponent('Paint', 'regular');\nexport const Parallelogram = createIconComponent('Parallelogram', 'regular');\nexport const Password = createIconComponent('Password', 'regular');\nexport const Pause = createIconComponent('Pause', 'regular');\nexport const Payment = createIconComponent('Payment', 'regular');\nexport const Pen = createIconComponent('Pen', 'regular');\nexport const Pentagon = createIconComponent('Pentagon', 'regular');\nexport const Person = createIconComponent('Person', 'regular');\nexport const Phone = createIconComponent('Phone', 'regular');\nexport const Piano = createIconComponent('Piano', 'regular');\nexport const Pin = createIconComponent('Pin', 'regular');\nexport const Pipeline = createIconComponent('Pipeline', 'regular');\nexport const Play = createIconComponent('Play', 'regular');\nexport const Playstore = createIconComponent('Playstore', 'regular');\nexport const Port = createIconComponent('Port', 'regular');\nexport const Power = createIconComponent('Power', 'regular');\nexport const Preview = createIconComponent('Preview', 'regular');\nexport const Previous = createIconComponent('Previous', 'regular');\nexport const Print = createIconComponent('Print', 'regular');\nexport const Pulse = createIconComponent('Pulse', 'regular');\nexport const Python = createIconComponent('Python', 'regular');\nexport const Qr = createIconComponent('Qr', 'regular');\nexport const Question = createIconComponent('Question', 'regular');\nexport const Radio = createIconComponent('Radio', 'regular');\nexport const Ram = createIconComponent('Ram', 'regular');\nexport const Record = createIconComponent('Record', 'regular');\nexport const Rectangle = createIconComponent('Rectangle', 'regular');\nexport const Refineui = createIconComponent('Refineui', 'regular');\nexport const Rewind = createIconComponent('Rewind', 'regular');\nexport const Rhombus = createIconComponent('Rhombus', 'regular');\nexport const Ribbon = createIconComponent('Ribbon', 'regular');\nexport const Road = createIconComponent('Road', 'regular');\nexport const Rocket = createIconComponent('Rocket', 'regular');\nexport const Rotation = createIconComponent('Rotation', 'regular');\nexport const Router = createIconComponent('Router', 'regular');\nexport const Rss = createIconComponent('Rss', 'regular');\nexport const Ruler = createIconComponent('Ruler', 'regular');\nexport const Run = createIconComponent('Run', 'regular');\nexport const Save = createIconComponent('Save', 'regular');\nexport const Scales = createIconComponent('Scales', 'regular');\nexport const Script = createIconComponent('Script', 'regular');\nexport const Search = createIconComponent('Search', 'regular');\nexport const Send = createIconComponent('Send', 'regular');\nexport const Serial = createIconComponent('Serial', 'regular');\nexport const Server = createIconComponent('Server', 'regular');\nexport const Service = createIconComponent('Service', 'regular');\nexport const Settings = createIconComponent('Settings', 'regular');\nexport const Shape = createIconComponent('Shape', 'regular');\nexport const Shapes = createIconComponent('Shapes', 'regular');\nexport const Share = createIconComponent('Share', 'regular');\nexport const Shell = createIconComponent('Shell', 'regular');\nexport const Shield = createIconComponent('Shield', 'regular');\nexport const Shopping = createIconComponent('Shopping', 'regular');\nexport const Sim = createIconComponent('Sim', 'regular');\nexport const Slide = createIconComponent('Slide', 'regular');\nexport const Smartwatch = createIconComponent('Smartwatch', 'regular');\nexport const Sound = createIconComponent('Sound', 'regular');\nexport const Spacebar = createIconComponent('Spacebar', 'regular');\nexport const Sport = createIconComponent('Sport', 'regular');\nexport const Spray = createIconComponent('Spray', 'regular');\nexport const Square = createIconComponent('Square', 'regular');\nexport const Star = createIconComponent('Star', 'regular');\nexport const Stop = createIconComponent('Stop', 'regular');\nexport const Subtract = createIconComponent('Subtract', 'regular');\nexport const Swift = createIconComponent('Swift', 'regular');\nexport const Tab = createIconComponent('Tab', 'regular');\nexport const Tablet = createIconComponent('Tablet', 'regular');\nexport const Tag = createIconComponent('Tag', 'regular');\nexport const Target = createIconComponent('Target', 'regular');\nexport const Temperature = createIconComponent('Temperature', 'regular');\nexport const Tent = createIconComponent('Tent', 'regular');\nexport const Text = createIconComponent('Text', 'regular');\nexport const Textbox = createIconComponent('Textbox', 'regular');\nexport const Thinking = createIconComponent('Thinking', 'regular');\nexport const Ticket = createIconComponent('Ticket', 'regular');\nexport const Timer = createIconComponent('Timer', 'regular');\nexport const Toggle = createIconComponent('Toggle', 'regular');\nexport const Toolbox = createIconComponent('Toolbox', 'regular');\nexport const Trophy = createIconComponent('Trophy', 'regular');\nexport const Tv = createIconComponent('Tv', 'regular');\nexport const Typescript = createIconComponent('Typescript', 'regular');\nexport const Umbrella = createIconComponent('Umbrella', 'regular');\nexport const Usb = createIconComponent('Usb', 'regular');\nexport const Verified = createIconComponent('Verified', 'regular');\nexport const Video = createIconComponent('Video', 'regular');\nexport const Voicemail = createIconComponent('Voicemail', 'regular');\nexport const Vote = createIconComponent('Vote', 'regular');\nexport const Walkie = createIconComponent('Walkie', 'regular');\nexport const Wallet = createIconComponent('Wallet', 'regular');\nexport const Wand = createIconComponent('Wand', 'regular');\nexport const Warning = createIconComponent('Warning', 'regular');\nexport const Washer = createIconComponent('Washer', 'regular');\nexport const Water = createIconComponent('Water', 'regular');\nexport const Weather = createIconComponent('Weather', 'regular');\nexport const Web = createIconComponent('Web', 'regular');\nexport const Wifi = createIconComponent('Wifi', 'regular');\nexport const Windows = createIconComponent('Windows', 'regular');\nexport const Wrench = createIconComponent('Wrench', 'regular');\nexport const Xray = createIconComponent('Xray', 'regular');\nexport const Zoom = createIconComponent('Zoom', 'regular');","// === Filled style icons ===\n// This file is auto-generated. Do not modify.\n\nimport { createIconComponent } from './utils';\n\nexport const AccessFilled = createIconComponent('Access', 'filled');\nexport const AccessibilityFilled = createIconComponent('Accessibility', 'filled');\nexport const AddFilled = createIconComponent('Add', 'filled');\nexport const AirplaneFilled = createIconComponent('Airplane', 'filled');\nexport const AlbumFilled = createIconComponent('Album', 'filled');\nexport const AlertFilled = createIconComponent('Alert', 'filled');\nexport const AlignFilled = createIconComponent('Align', 'filled');\nexport const AndroidFilled = createIconComponent('Android', 'filled');\nexport const AppFilled = createIconComponent('App', 'filled');\nexport const AppstoreFilled = createIconComponent('Appstore', 'filled');\nexport const AutosumFilled = createIconComponent('Autosum', 'filled');\nexport const BackpackFilled = createIconComponent('Backpack', 'filled');\nexport const BackspaceFilled = createIconComponent('Backspace', 'filled');\nexport const BadgeFilled = createIconComponent('Badge', 'filled');\nexport const BalloonFilled = createIconComponent('Balloon', 'filled');\nexport const BarFilled = createIconComponent('Bar', 'filled');\nexport const BarcodeFilled = createIconComponent('Barcode', 'filled');\nexport const BatteryFilled = createIconComponent('Battery', 'filled');\nexport const BlockFilled = createIconComponent('Block', 'filled');\nexport const BluetoothFilled = createIconComponent('Bluetooth', 'filled');\nexport const BlurFilled = createIconComponent('Blur', 'filled');\nexport const BoardFilled = createIconComponent('Board', 'filled');\nexport const BookFilled = createIconComponent('Book', 'filled');\nexport const BookmarkFilled = createIconComponent('Bookmark', 'filled');\nexport const BugFilled = createIconComponent('Bug', 'filled');\nexport const CalculatorFilled = createIconComponent('Calculator', 'filled');\nexport const CalendarFilled = createIconComponent('Calendar', 'filled');\nexport const CameraFilled = createIconComponent('Camera', 'filled');\nexport const CartFilled = createIconComponent('Cart', 'filled');\nexport const CartonFilled = createIconComponent('Carton', 'filled');\nexport const ChartFilled = createIconComponent('Chart', 'filled');\nexport const ChatFilled = createIconComponent('Chat', 'filled');\nexport const CheckmarkFilled = createIconComponent('Checkmark', 'filled');\nexport const ChessFilled = createIconComponent('Chess', 'filled');\nexport const ChevronFilled = createIconComponent('Chevron', 'filled');\nexport const CircleFilled = createIconComponent('Circle', 'filled');\nexport const ClipboardFilled = createIconComponent('Clipboard', 'filled');\nexport const ClockFilled = createIconComponent('Clock', 'filled');\nexport const CloudFilled = createIconComponent('Cloud', 'filled');\nexport const CloverFilled = createIconComponent('Clover', 'filled');\nexport const CodeFilled = createIconComponent('Code', 'filled');\nexport const CommaFilled = createIconComponent('Comma', 'filled');\nexport const CommentFilled = createIconComponent('Comment', 'filled');\nexport const ConeFilled = createIconComponent('Cone', 'filled');\nexport const ContrastFilled = createIconComponent('Contrast', 'filled');\nexport const ControlFilled = createIconComponent('Control', 'filled');\nexport const CookieFilled = createIconComponent('Cookie', 'filled');\nexport const CopyFilled = createIconComponent('Copy', 'filled');\nexport const CouchFilled = createIconComponent('Couch', 'filled');\nexport const CpuFilled = createIconComponent('Cpu', 'filled');\nexport const CropFilled = createIconComponent('Crop', 'filled');\nexport const CrownFilled = createIconComponent('Crown', 'filled');\nexport const CssFilled = createIconComponent('Css', 'filled');\nexport const CubeFilled = createIconComponent('Cube', 'filled');\nexport const CursorFilled = createIconComponent('Cursor', 'filled');\nexport const CutFilled = createIconComponent('Cut', 'filled');\nexport const DartFilled = createIconComponent('Dart', 'filled');\nexport const DatabaseFilled = createIconComponent('Database', 'filled');\nexport const DeleteFilled = createIconComponent('Delete', 'filled');\nexport const DentistFilled = createIconComponent('Dentist', 'filled');\nexport const DeskFilled = createIconComponent('Desk', 'filled');\nexport const DesktopFilled = createIconComponent('Desktop', 'filled');\nexport const DialpadFilled = createIconComponent('Dialpad', 'filled');\nexport const DiamondFilled = createIconComponent('Diamond', 'filled');\nexport const DismissFilled = createIconComponent('Dismiss', 'filled');\nexport const DoctorFilled = createIconComponent('Doctor', 'filled');\nexport const DocumentFilled = createIconComponent('Document', 'filled');\nexport const DoorFilled = createIconComponent('Door', 'filled');\nexport const DragFilled = createIconComponent('Drag', 'filled');\nexport const DrawerFilled = createIconComponent('Drawer', 'filled');\nexport const DropFilled = createIconComponent('Drop', 'filled');\nexport const DualFilled = createIconComponent('Dual', 'filled');\nexport const DumbbellFilled = createIconComponent('Dumbbell', 'filled');\nexport const DustFilled = createIconComponent('Dust', 'filled');\nexport const EarthFilled = createIconComponent('Earth', 'filled');\nexport const EditFilled = createIconComponent('Edit', 'filled');\nexport const ElevatorFilled = createIconComponent('Elevator', 'filled');\nexport const EmojiFilled = createIconComponent('Emoji', 'filled');\nexport const EngineFilled = createIconComponent('Engine', 'filled');\nexport const EqualFilled = createIconComponent('Equal', 'filled');\nexport const ErrorFilled = createIconComponent('Error', 'filled');\nexport const EyeFilled = createIconComponent('Eye', 'filled');\nexport const EyedropperFilled = createIconComponent('Eyedropper', 'filled');\nexport const FastFilled = createIconComponent('Fast', 'filled');\nexport const FilmstripFilled = createIconComponent('Filmstrip', 'filled');\nexport const FilterFilled = createIconComponent('Filter', 'filled');\nexport const FireFilled = createIconComponent('Fire', 'filled');\nexport const FlagFilled = createIconComponent('Flag', 'filled');\nexport const FlashFilled = createIconComponent('Flash', 'filled');\nexport const FlashlightFilled = createIconComponent('Flashlight', 'filled');\nexport const FlipFilled = createIconComponent('Flip', 'filled');\nexport const FolderFilled = createIconComponent('Folder', 'filled');\nexport const FrameFilled = createIconComponent('Frame', 'filled');\nexport const FullFilled = createIconComponent('Full', 'filled');\nexport const GamesFilled = createIconComponent('Games', 'filled');\nexport const GanttFilled = createIconComponent('Gantt', 'filled');\nexport const GasFilled = createIconComponent('Gas', 'filled');\nexport const GavelFilled = createIconComponent('Gavel', 'filled');\nexport const GifFilled = createIconComponent('Gif', 'filled');\nexport const GiftFilled = createIconComponent('Gift', 'filled');\nexport const GitFilled = createIconComponent('Git', 'filled');\nexport const GlassesFilled = createIconComponent('Glasses', 'filled');\nexport const GlobalFilled = createIconComponent('Global', 'filled');\nexport const GridFilled = createIconComponent('Grid', 'filled');\nexport const GuestFilled = createIconComponent('Guest', 'filled');\nexport const GuitarFilled = createIconComponent('Guitar', 'filled');\nexport const HammerFilled = createIconComponent('Hammer', 'filled');\nexport const HardFilled = createIconComponent('Hard', 'filled');\nexport const HatFilled = createIconComponent('Hat', 'filled');\nexport const HdFilled = createIconComponent('Hd', 'filled');\nexport const HdrFilled = createIconComponent('Hdr', 'filled');\nexport const HeadphonesFilled = createIconComponent('Headphones', 'filled');\nexport const HeadsetFilled = createIconComponent('Headset', 'filled');\nexport const HeartFilled = createIconComponent('Heart', 'filled');\nexport const HexagonFilled = createIconComponent('Hexagon', 'filled');\nexport const HighlightFilled = createIconComponent('Highlight', 'filled');\nexport const HighwayFilled = createIconComponent('Highway', 'filled');\nexport const HomeFilled = createIconComponent('Home', 'filled');\nexport const HourglassFilled = createIconComponent('Hourglass', 'filled');\nexport const HtmlFilled = createIconComponent('Html', 'filled');\nexport const ImageFilled = createIconComponent('Image', 'filled');\nexport const ImportantFilled = createIconComponent('Important', 'filled');\nexport const IncognitoFilled = createIconComponent('Incognito', 'filled');\nexport const InfoFilled = createIconComponent('Info', 'filled');\nexport const IosFilled = createIconComponent('Ios', 'filled');\nexport const IotFilled = createIconComponent('Iot', 'filled');\nexport const JavascriptFilled = createIconComponent('Javascript', 'filled');\nexport const JoystickFilled = createIconComponent('Joystick', 'filled');\nexport const JsonFilled = createIconComponent('Json', 'filled');\nexport const KeyFilled = createIconComponent('Key', 'filled');\nexport const KeyboardFilled = createIconComponent('Keyboard', 'filled');\nexport const KioskFilled = createIconComponent('Kiosk', 'filled');\nexport const KotlinFilled = createIconComponent('Kotlin', 'filled');\nexport const LaptopFilled = createIconComponent('Laptop', 'filled');\nexport const LayerFilled = createIconComponent('Layer', 'filled');\nexport const LightbulbFilled = createIconComponent('Lightbulb', 'filled');\nexport const LineFilled = createIconComponent('Line', 'filled');\nexport const LinkFilled = createIconComponent('Link', 'filled');\nexport const LocalFilled = createIconComponent('Local', 'filled');\nexport const LocalLanguageFilled = createIconComponent('Local language', 'filled');\nexport const LocationFilled = createIconComponent('Location', 'filled');\nexport const LockFilled = createIconComponent('Lock', 'filled');\nexport const LuggageFilled = createIconComponent('Luggage', 'filled');\nexport const MacosFilled = createIconComponent('Macos', 'filled');\nexport const MailFilled = createIconComponent('Mail', 'filled');\nexport const MailboxFilled = createIconComponent('Mailbox', 'filled');\nexport const MapFilled = createIconComponent('Map', 'filled');\nexport const MarkdownFilled = createIconComponent('Markdown', 'filled');\nexport const MathFilled = createIconComponent('Math', 'filled');\nexport const MegaphoneFilled = createIconComponent('Megaphone', 'filled');\nexport const MicFilled = createIconComponent('Mic', 'filled');\nexport const MoonFilled = createIconComponent('Moon', 'filled');\nexport const MoreFilled = createIconComponent('More', 'filled');\nexport const MouseFilled = createIconComponent('Mouse', 'filled');\nexport const MovieFilled = createIconComponent('Movie', 'filled');\nexport const NetworkFilled = createIconComponent('Network', 'filled');\nexport const NewsFilled = createIconComponent('News', 'filled');\nexport const NextFilled = createIconComponent('Next', 'filled');\nexport const NoteFilled = createIconComponent('Note', 'filled');\nexport const NotebookFilled = createIconComponent('Notebook', 'filled');\nexport const NotepadFilled = createIconComponent('Notepad', 'filled');\nexport const NumberFilled = createIconComponent('Number', 'filled');\nexport const OpacityFilled = createIconComponent('Opacity', 'filled');\nexport const OpenFilled = createIconComponent('Open', 'filled');\nexport const OptionsFilled = createIconComponent('Options', 'filled');\nexport const OrganizationFilled = createIconComponent('Organization', 'filled');\nexport const OrientationFilled = createIconComponent('Orientation', 'filled');\nexport const OvalFilled = createIconComponent('Oval', 'filled');\nexport const OvenFilled = createIconComponent('Oven', 'filled');\nexport const PaddingFilled = createIconComponent('Padding', 'filled');\nexport const PageFilled = createIconComponent('Page', 'filled');\nexport const PaintFilled = createIconComponent('Paint', 'filled');\nexport const ParallelogramFilled = createIconComponent('Parallelogram', 'filled');\nexport const PasswordFilled = createIconComponent('Password', 'filled');\nexport const PauseFilled = createIconComponent('Pause', 'filled');\nexport const PaymentFilled = createIconComponent('Payment', 'filled');\nexport const PenFilled = createIconComponent('Pen', 'filled');\nexport const PentagonFilled = createIconComponent('Pentagon', 'filled');\nexport const PersonFilled = createIconComponent('Person', 'filled');\nexport const PhoneFilled = createIconComponent('Phone', 'filled');\nexport const PianoFilled = createIconComponent('Piano', 'filled');\nexport const PinFilled = createIconComponent('Pin', 'filled');\nexport const PipelineFilled = createIconComponent('Pipeline', 'filled');\nexport const PlayFilled = createIconComponent('Play', 'filled');\nexport const PlaystoreFilled = createIconComponent('Playstore', 'filled');\nexport const PortFilled = createIconComponent('Port', 'filled');\nexport const PowerFilled = createIconComponent('Power', 'filled');\nexport const PreviewFilled = createIconComponent('Preview', 'filled');\nexport const PreviousFilled = createIconComponent('Previous', 'filled');\nexport const PrintFilled = createIconComponent('Print', 'filled');\nexport const PulseFilled = createIconComponent('Pulse', 'filled');\nexport const PythonFilled = createIconComponent('Python', 'filled');\nexport const QrFilled = createIconComponent('Qr', 'filled');\nexport const QuestionFilled = createIconComponent('Question', 'filled');\nexport const RadioFilled = createIconComponent('Radio', 'filled');\nexport const RamFilled = createIconComponent('Ram', 'filled');\nexport const RecordFilled = createIconComponent('Record', 'filled');\nexport const RectangleFilled = createIconComponent('Rectangle', 'filled');\nexport const RefineuiFilled = createIconComponent('Refineui', 'filled');\nexport const RewindFilled = createIconComponent('Rewind', 'filled');\nexport const RhombusFilled = createIconComponent('Rhombus', 'filled');\nexport const RibbonFilled = createIconComponent('Ribbon', 'filled');\nexport const RoadFilled = createIconComponent('Road', 'filled');\nexport const RocketFilled = createIconComponent('Rocket', 'filled');\nexport const RotationFilled = createIconComponent('Rotation', 'filled');\nexport const RouterFilled = createIconComponent('Router', 'filled');\nexport const RssFilled = createIconComponent('Rss', 'filled');\nexport const RulerFilled = createIconComponent('Ruler', 'filled');\nexport const RunFilled = createIconComponent('Run', 'filled');\nexport const SaveFilled = createIconComponent('Save', 'filled');\nexport const ScalesFilled = createIconComponent('Scales', 'filled');\nexport const ScriptFilled = createIconComponent('Script', 'filled');\nexport const SearchFilled = createIconComponent('Search', 'filled');\nexport const SendFilled = createIconComponent('Send', 'filled');\nexport const SerialFilled = createIconComponent('Serial', 'filled');\nexport const ServerFilled = createIconComponent('Server', 'filled');\nexport const ServiceFilled = createIconComponent('Service', 'filled');\nexport const SettingsFilled = createIconComponent('Settings', 'filled');\nexport const ShapeFilled = createIconComponent('Shape', 'filled');\nexport const ShapesFilled = createIconComponent('Shapes', 'filled');\nexport const ShareFilled = createIconComponent('Share', 'filled');\nexport const ShellFilled = createIconComponent('Shell', 'filled');\nexport const ShieldFilled = createIconComponent('Shield', 'filled');\nexport const ShoppingFilled = createIconComponent('Shopping', 'filled');\nexport const SimFilled = createIconComponent('Sim', 'filled');\nexport const SlideFilled = createIconComponent('Slide', 'filled');\nexport const SmartwatchFilled = createIconComponent('Smartwatch', 'filled');\nexport const SoundFilled = createIconComponent('Sound', 'filled');\nexport const SpacebarFilled = createIconComponent('Spacebar', 'filled');\nexport const SportFilled = createIconComponent('Sport', 'filled');\nexport const SprayFilled = createIconComponent('Spray', 'filled');\nexport const SquareFilled = createIconComponent('Square', 'filled');\nexport const StarFilled = createIconComponent('Star', 'filled');\nexport const StopFilled = createIconComponent('Stop', 'filled');\nexport const SubtractFilled = createIconComponent('Subtract', 'filled');\nexport const SwiftFilled = createIconComponent('Swift', 'filled');\nexport const TabFilled = createIconComponent('Tab', 'filled');\nexport const TabletFilled = createIconComponent('Tablet', 'filled');\nexport const TagFilled = createIconComponent('Tag', 'filled');\nexport const TargetFilled = createIconComponent('Target', 'filled');\nexport const TemperatureFilled = createIconComponent('Temperature', 'filled');\nexport const TentFilled = createIconComponent('Tent', 'filled');\nexport const TextFilled = createIconComponent('Text', 'filled');\nexport const TextboxFilled = createIconComponent('Textbox', 'filled');\nexport const ThinkingFilled = createIconComponent('Thinking', 'filled');\nexport const TicketFilled = createIconComponent('Ticket', 'filled');\nexport const TimerFilled = createIconComponent('Timer', 'filled');\nexport const ToggleFilled = createIconComponent('Toggle', 'filled');\nexport const ToolboxFilled = createIconComponent('Toolbox', 'filled');\nexport const TrophyFilled = createIconComponent('Trophy', 'filled');\nexport const TvFilled = createIconComponent('Tv', 'filled');\nexport const TypescriptFilled = createIconComponent('Typescript', 'filled');\nexport const UmbrellaFilled = createIconComponent('Umbrella', 'filled');\nexport const UsbFilled = createIconComponent('Usb', 'filled');\nexport const VerifiedFilled = createIconComponent('Verified', 'filled');\nexport const VideoFilled = createIconComponent('Video', 'filled');\nexport const VoicemailFilled = createIconComponent('Voicemail', 'filled');\nexport const VoteFilled = createIconComponent('Vote', 'filled');\nexport const WalkieFilled = createIconComponent('Walkie', 'filled');\nexport const WalletFilled = createIconComponent('Wallet', 'filled');\nexport const WandFilled = createIconComponent('Wand', 'filled');\nexport const WarningFilled = createIconComponent('Warning', 'filled');\nexport const WasherFilled = createIconComponent('Washer', 'filled');\nexport const WaterFilled = createIconComponent('Water', 'filled');\nexport const WeatherFilled = createIconComponent('Weather', 'filled');\nexport const WebFilled = createIconComponent('Web', 'filled');\nexport const WifiFilled = createIconComponent('Wifi', 'filled');\nexport const WindowsFilled = createIconComponent('Windows', 'filled');\nexport const WrenchFilled = createIconComponent('Wrench', 'filled');\nexport const XrayFilled = createIconComponent('Xray', 'filled');\nexport const ZoomFilled = createIconComponent('Zoom', 'filled');"],"names":["React","IconUtils","Text"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../src/IconUtils.ts","../src/utils.ts","../src/regular-icons.ts","../src/filled-icons.ts"],"sourcesContent":["import React from 'react';\nimport metadata from './metadata.json';\n\nfunction nameToSlug(name: string): string {\n return String(name).toLowerCase().trim().replace(/\\s+/g, '-');\n}\nfunction pascalToSlug(name: string): string {\n return String(name).replace(/([A-Z])/g, '-$1').toLowerCase().replace(/^-/, '');\n}\n\nexport interface IconProps {\n style?: any;\n className?: string;\n onPress?: () => void;\n [key: string]: any;\n}\n\nexport interface IconData {\n name: string;\n slug: string;\n size: number[];\n style: string[];\n keyword: string;\n description: string;\n files: any[];\n unicodeMapping: any;\n}\n\nexport interface Metadata {\n totalIcons: number;\n supportedSizes: number[];\n supportedStyles: string[];\n fontFamilies: any;\n icons: { [key: string]: IconData };\n}\n\nclass ReactNativeIconUtils {\n private metadata: Metadata;\n private fontFamilies: any;\n\n constructor() {\n this.metadata = metadata;\n this.fontFamilies = metadata.fontFamilies;\n }\n\n private getIconData(iconName: string): IconData | null {\n const direct = this.metadata.icons[iconName];\n if (direct) return direct;\n const slug = nameToSlug(iconName);\n const bySlug = Object.values(this.metadata.icons).find((icon) => icon.slug === slug);\n if (bySlug) return bySlug;\n const slugPascal = pascalToSlug(iconName);\n return Object.values(this.metadata.icons).find((icon) => icon.slug === slugPascal) || null;\n }\n\n // === Icon Style Method ===\n // Dynamic icon creation method\n createIconMethod(iconName: string, props: IconProps = {}): React.ReactElement | null {\n // Unsized method: AccessibilityRegular, AccessibilityFilled\n const unsizedMatch = iconName.match(/^([A-Za-z]+)(Regular|Filled)$/);\n if (unsizedMatch) {\n const [, iconNamePart, iconStyle] = unsizedMatch;\n return this.createUnsizedIcon(iconNamePart, iconStyle.toLowerCase() as 'regular' | 'filled', props);\n }\n\n // Sized method: Accessibility16Regular, Accessibility24Filled\n const sizedMatch = iconName.match(/^([A-Za-z]+)(\\d+)(Regular|Filled)$/);\n if (sizedMatch) {\n const [, iconNamePart, sizeStr, iconStyle] = sizedMatch;\n const size = parseInt(sizeStr, 10);\n return this.createSizedIcon(iconNamePart, size, iconStyle.toLowerCase() as 'regular' | 'filled', props);\n }\n\n return null;\n }\n\n // Create unsized icon (default 24px)\n private createUnsizedIcon(iconName: string, style: 'regular' | 'filled', props: IconProps = {}): React.ReactElement | null {\n const iconData = this.getIconData(iconName);\n if (!iconData) return null;\n\n const defaultSize = 24;\n const unicodeInfo = iconData.unicodeMapping[defaultSize]?.[style];\n if (!unicodeInfo) return null;\n\n const fontFamily = this.fontFamilies[style].font_family;\n \n return React.createElement('Text', {\n ...props,\n style: {\n fontFamily,\n fontSize: defaultSize,\n lineHeight: defaultSize,\n ...props.style\n },\n children: String.fromCodePoint(unicodeInfo.unicode)\n });\n }\n\n // Create sized icon\n private createSizedIcon(iconName: string, size: number, style: 'regular' | 'filled', props: IconProps = {}): React.ReactElement | null {\n const iconData = this.getIconData(iconName);\n if (!iconData) return null;\n\n const unicodeInfo = iconData.unicodeMapping[size]?.[style];\n if (!unicodeInfo) return null;\n\n const fontFamily = this.fontFamilies[style].font_family;\n \n return React.createElement('Text', {\n ...props,\n style: {\n fontFamily,\n fontSize: size,\n lineHeight: size,\n ...props.style\n },\n children: String.fromCodePoint(unicodeInfo.unicode)\n });\n }\n\n // Utility methods\n getIconChar(iconName: string, style: 'regular' | 'filled' = 'regular', size: number = 24): string | null {\n const iconData = this.getIconData(iconName);\n if (!iconData) return null;\n\n const unicodeInfo = iconData.unicodeMapping[size]?.[style];\n if (!unicodeInfo) return null;\n\n return String.fromCodePoint(unicodeInfo.unicode);\n }\n\n getIconClass(iconName: string, style: 'regular' | 'filled' = 'regular', size: number = 24): string | null {\n const iconData = this.getIconData(iconName);\n if (!iconData) return null;\n\n const unicodeInfo = iconData.unicodeMapping[size]?.[style];\n if (!unicodeInfo) return null;\n\n return unicodeInfo.cssClass;\n }\n\n getFontFamily(style: 'regular' | 'filled' = 'regular'): string {\n return this.fontFamilies[style].font_family;\n }\n\n getAvailableIcons(): string[] {\n return Object.keys(this.metadata.icons);\n }\n\n getFontFamilies(): any {\n return this.fontFamilies;\n }\n\n getAvailableSizes(): number[] {\n return this.metadata.supportedSizes;\n }\n\n getIconInfo(iconName: string): IconData | null {\n return this.getIconData(iconName);\n }\n\n searchIcons(query: string): string[] {\n const searchTerm = query.toLowerCase();\n return Object.keys(this.metadata.icons).filter(iconName => \n iconName.toLowerCase().includes(searchTerm) ||\n this.metadata.icons[iconName].description.toLowerCase().includes(searchTerm)\n );\n }\n}\n\n// Create singleton instance\nconst reactNativeIconUtils = new ReactNativeIconUtils();\n\nexport default reactNativeIconUtils;\nexport { ReactNativeIconUtils };\n","import React from 'react';\nimport { Text, TextProps } from 'react-native';\nimport IconUtils from './IconUtils';\n\nexport interface IconProps extends TextProps {\n size?: number;\n color?: string;\n iconStyle?: 'regular' | 'filled';\n [key: string]: any;\n}\n\n// === Icon component creation method ===\nexport const createIconComponent = (iconName: string, style: 'regular' | 'filled') => {\n return (props: IconProps) => {\n const iconChar = IconUtils.getIconChar(iconName, style, props.size || 24);\n const fontFamily = IconUtils.getFontFamily(style);\n\n if (!iconChar) return null;\n\n const styleObj = {\n fontFamily,\n fontSize: props.size || 24,\n color: props.color || 'currentColor',\n lineHeight: 1,\n };\n\n return React.createElement(Text as any, {\n style: [styleObj, props.style],\n ...props,\n }, iconChar);\n };\n};\n\n// === Utility functions ===\nexport { default as IconUtils } from './IconUtils';\n\nexport const getIconChar = (iconName: string, style: 'regular' | 'filled' = 'regular', size: number = 24) => {\n return IconUtils.getIconChar(iconName, style, size);\n};\n\nexport const getIconClass = (iconName: string, style: 'regular' | 'filled' = 'regular', size: number = 24) => {\n return IconUtils.getIconClass(iconName, style, size);\n};\n\nexport const getFontFamily = (style: 'regular' | 'filled' = 'regular') => {\n return IconUtils.getFontFamily(style);\n};","// === Regular style icons ===\n// This file is auto-generated. Do not modify.\n\nimport { createIconComponent } from './utils';\n\nexport const AccessTime = createIconComponent('Access time', 'regular');\nexport const Accessibility = createIconComponent('Accessibility', 'regular');\nexport const Add = createIconComponent('Add', 'regular');\nexport const AddCircle = createIconComponent('Add circle', 'regular');\nexport const AddSquare = createIconComponent('Add square', 'regular');\nexport const Airplane = createIconComponent('Airplane', 'regular');\nexport const Album = createIconComponent('Album', 'regular');\nexport const Alert = createIconComponent('Alert', 'regular');\nexport const AlertBadge = createIconComponent('Alert badge', 'regular');\nexport const AlertOff = createIconComponent('Alert off', 'regular');\nexport const AlignBottom = createIconComponent('Align bottom', 'regular');\nexport const AlignCenterHorizontal = createIconComponent('Align center horizontal', 'regular');\nexport const AlignCenterVertical = createIconComponent('Align center vertical', 'regular');\nexport const AlignLeft = createIconComponent('Align left', 'regular');\nexport const AlignRight = createIconComponent('Align right', 'regular');\nexport const AlignTop = createIconComponent('Align top', 'regular');\nexport const Android = createIconComponent('Android', 'regular');\nexport const AppFolder = createIconComponent('App folder', 'regular');\nexport const AppRecent = createIconComponent('App recent', 'regular');\nexport const AppTitle = createIconComponent('App title', 'regular');\nexport const Appstore = createIconComponent('Appstore', 'regular');\nexport const Autosum = createIconComponent('Autosum', 'regular');\nexport const Backpack = createIconComponent('Backpack', 'regular');\nexport const Backspace = createIconComponent('Backspace', 'regular');\nexport const Badge = createIconComponent('Badge', 'regular');\nexport const Balloon = createIconComponent('Balloon', 'regular');\nexport const BarChartHorizontal = createIconComponent('Bar chart horizontal', 'regular');\nexport const BarChartHorizontalDescending = createIconComponent('Bar chart horizontal descending', 'regular');\nexport const BarChartVertical = createIconComponent('Bar chart vertical', 'regular');\nexport const BarChartVerticalDescending = createIconComponent('Bar chart vertical descending', 'regular');\nexport const BarcodeScanner = createIconComponent('Barcode scanner', 'regular');\nexport const Battery0 = createIconComponent('Battery 0', 'regular');\nexport const Battery10 = createIconComponent('Battery 10', 'regular');\nexport const Battery100 = createIconComponent('Battery 100', 'regular');\nexport const Battery20 = createIconComponent('Battery 20', 'regular');\nexport const Battery30 = createIconComponent('Battery 30', 'regular');\nexport const Battery40 = createIconComponent('Battery 40', 'regular');\nexport const Battery50 = createIconComponent('Battery 50', 'regular');\nexport const Battery60 = createIconComponent('Battery 60', 'regular');\nexport const Battery70 = createIconComponent('Battery 70', 'regular');\nexport const Battery80 = createIconComponent('Battery 80', 'regular');\nexport const Battery90 = createIconComponent('Battery 90', 'regular');\nexport const Block = createIconComponent('Block', 'regular');\nexport const Bluetooth = createIconComponent('Bluetooth', 'regular');\nexport const Blur = createIconComponent('Blur', 'regular');\nexport const Board = createIconComponent('Board', 'regular');\nexport const Book = createIconComponent('Book', 'regular');\nexport const Bookmark = createIconComponent('Bookmark', 'regular');\nexport const Bug = createIconComponent('Bug', 'regular');\nexport const Calculator = createIconComponent('Calculator', 'regular');\nexport const Calendar = createIconComponent('Calendar', 'regular');\nexport const Camera = createIconComponent('Camera', 'regular');\nexport const Cart = createIconComponent('Cart', 'regular');\nexport const CartonBox = createIconComponent('Carton box', 'regular');\nexport const Chart = createIconComponent('Chart', 'regular');\nexport const Chat = createIconComponent('Chat', 'regular');\nexport const ChatAdd = createIconComponent('Chat add', 'regular');\nexport const ChatEmpty = createIconComponent('Chat empty', 'regular');\nexport const Checkmark = createIconComponent('Checkmark', 'regular');\nexport const Chess = createIconComponent('Chess', 'regular');\nexport const ChevronDown = createIconComponent('Chevron down', 'regular');\nexport const ChevronLeft = createIconComponent('Chevron left', 'regular');\nexport const ChevronRight = createIconComponent('Chevron right', 'regular');\nexport const ChevronUp = createIconComponent('Chevron up', 'regular');\nexport const Circle = createIconComponent('Circle', 'regular');\nexport const Clipboard = createIconComponent('Clipboard', 'regular');\nexport const Clock = createIconComponent('Clock', 'regular');\nexport const ClockAlarm = createIconComponent('Clock alarm', 'regular');\nexport const Cloud = createIconComponent('Cloud', 'regular');\nexport const Clover = createIconComponent('Clover', 'regular');\nexport const Code = createIconComponent('Code', 'regular');\nexport const CodeBlock = createIconComponent('Code block', 'regular');\nexport const Comma = createIconComponent('Comma', 'regular');\nexport const Comment = createIconComponent('Comment', 'regular');\nexport const Cone = createIconComponent('Cone', 'regular');\nexport const Contrast = createIconComponent('Contrast', 'regular');\nexport const ControlButton = createIconComponent('Control button', 'regular');\nexport const Cookie = createIconComponent('Cookie', 'regular');\nexport const Copy = createIconComponent('Copy', 'regular');\nexport const Couch = createIconComponent('Couch', 'regular');\nexport const Cpu = createIconComponent('Cpu', 'regular');\nexport const Crop = createIconComponent('Crop', 'regular');\nexport const Crown = createIconComponent('Crown', 'regular');\nexport const Css = createIconComponent('Css', 'regular');\nexport const Cube = createIconComponent('Cube', 'regular');\nexport const Cursor = createIconComponent('Cursor', 'regular');\nexport const Cut = createIconComponent('Cut', 'regular');\nexport const Dart = createIconComponent('Dart', 'regular');\nexport const Database = createIconComponent('Database', 'regular');\nexport const Delete = createIconComponent('Delete', 'regular');\nexport const DeleteOff = createIconComponent('Delete off', 'regular');\nexport const Dentist = createIconComponent('Dentist', 'regular');\nexport const Desk = createIconComponent('Desk', 'regular');\nexport const Desktop = createIconComponent('Desktop', 'regular');\nexport const DesktopMac = createIconComponent('Desktop mac', 'regular');\nexport const Dialpad = createIconComponent('Dialpad', 'regular');\nexport const Diamond = createIconComponent('Diamond', 'regular');\nexport const Dismiss = createIconComponent('Dismiss', 'regular');\nexport const DismissCircle = createIconComponent('Dismiss circle', 'regular');\nexport const DismissSquare = createIconComponent('Dismiss square', 'regular');\nexport const Doctor = createIconComponent('Doctor', 'regular');\nexport const Document = createIconComponent('Document', 'regular');\nexport const DocumentBorder = createIconComponent('Document border', 'regular');\nexport const Door = createIconComponent('Door', 'regular');\nexport const Drag = createIconComponent('Drag', 'regular');\nexport const Drawer = createIconComponent('Drawer', 'regular');\nexport const Drop = createIconComponent('Drop', 'regular');\nexport const DualScreen = createIconComponent('Dual screen', 'regular');\nexport const Dumbbell = createIconComponent('Dumbbell', 'regular');\nexport const Dust = createIconComponent('Dust', 'regular');\nexport const Earth = createIconComponent('Earth', 'regular');\nexport const Edit = createIconComponent('Edit', 'regular');\nexport const EditOff = createIconComponent('Edit off', 'regular');\nexport const Elevator = createIconComponent('Elevator', 'regular');\nexport const Emoji = createIconComponent('Emoji', 'regular');\nexport const EmojiAngry = createIconComponent('Emoji angry', 'regular');\nexport const EmojiCool = createIconComponent('Emoji cool', 'regular');\nexport const EmojiGrimacing = createIconComponent('Emoji grimacing', 'regular');\nexport const EmojiLaugh = createIconComponent('Emoji laugh', 'regular');\nexport const EmojiMeh = createIconComponent('Emoji meh', 'regular');\nexport const EmojiSad = createIconComponent('Emoji sad', 'regular');\nexport const EmojiSurprise = createIconComponent('Emoji surprise', 'regular');\nexport const Engine = createIconComponent('Engine', 'regular');\nexport const Equal = createIconComponent('Equal', 'regular');\nexport const EqualCircle = createIconComponent('Equal circle', 'regular');\nexport const EqualOff = createIconComponent('Equal off', 'regular');\nexport const ErrorCircle = createIconComponent('Error circle', 'regular');\nexport const Eye = createIconComponent('Eye', 'regular');\nexport const EyeOff = createIconComponent('Eye off', 'regular');\nexport const Eyedropper = createIconComponent('Eyedropper', 'regular');\nexport const EyedropperOff = createIconComponent('Eyedropper off', 'regular');\nexport const FastForward = createIconComponent('Fast forward', 'regular');\nexport const Filmstrip = createIconComponent('Filmstrip', 'regular');\nexport const FilmstripOff = createIconComponent('Filmstrip off', 'regular');\nexport const Filter = createIconComponent('Filter', 'regular');\nexport const Fire = createIconComponent('Fire', 'regular');\nexport const Flag = createIconComponent('Flag', 'regular');\nexport const FlagOff = createIconComponent('Flag off', 'regular');\nexport const Flash = createIconComponent('Flash', 'regular');\nexport const FlashOff = createIconComponent('Flash off', 'regular');\nexport const Flashlight = createIconComponent('Flashlight', 'regular');\nexport const FlashlightOff = createIconComponent('Flashlight off', 'regular');\nexport const FlipHorizontal = createIconComponent('Flip horizontal', 'regular');\nexport const FlipVerticial = createIconComponent('Flip verticial', 'regular');\nexport const Folder = createIconComponent('Folder', 'regular');\nexport const FolderOpen = createIconComponent('Folder open', 'regular');\nexport const Frame = createIconComponent('Frame', 'regular');\nexport const FullScreenMaximize = createIconComponent('Full screen maximize', 'regular');\nexport const FullScreenMinimize = createIconComponent('Full screen minimize', 'regular');\nexport const Games = createIconComponent('Games', 'regular');\nexport const GanttChart = createIconComponent('Gantt chart', 'regular');\nexport const Gas = createIconComponent('Gas', 'regular');\nexport const GasStation = createIconComponent('Gas station', 'regular');\nexport const Gavel = createIconComponent('Gavel', 'regular');\nexport const Gif = createIconComponent('Gif', 'regular');\nexport const Gift = createIconComponent('Gift', 'regular');\nexport const GiftCard = createIconComponent('Gift card', 'regular');\nexport const Git = createIconComponent('Git', 'regular');\nexport const Glasses = createIconComponent('Glasses', 'regular');\nexport const Global = createIconComponent('Global', 'regular');\nexport const Grid = createIconComponent('Grid', 'regular');\nexport const Guest = createIconComponent('Guest', 'regular');\nexport const Guitar = createIconComponent('Guitar', 'regular');\nexport const Hammer = createIconComponent('Hammer', 'regular');\nexport const HardDrive = createIconComponent('Hard drive', 'regular');\nexport const HatGraduation = createIconComponent('Hat graduation', 'regular');\nexport const Hd = createIconComponent('Hd', 'regular');\nexport const Hdr = createIconComponent('Hdr', 'regular');\nexport const HdrOff = createIconComponent('Hdr off', 'regular');\nexport const Headphones = createIconComponent('Headphones', 'regular');\nexport const HeadphonesMic = createIconComponent('Headphones mic', 'regular');\nexport const HeadsetVr = createIconComponent('Headset vr', 'regular');\nexport const Heart = createIconComponent('Heart', 'regular');\nexport const HeartBroken = createIconComponent('Heart broken', 'regular');\nexport const Hexagon = createIconComponent('Hexagon', 'regular');\nexport const Highlight = createIconComponent('Highlight', 'regular');\nexport const Highway = createIconComponent('Highway', 'regular');\nexport const Home = createIconComponent('Home', 'regular');\nexport const HomeCheckmark = createIconComponent('Home checkmark', 'regular');\nexport const Hourglass = createIconComponent('Hourglass', 'regular');\nexport const HourglassHalf = createIconComponent('Hourglass half', 'regular');\nexport const HourglassOneQuarter = createIconComponent('Hourglass one quarter', 'regular');\nexport const HourglassThreeQuarter = createIconComponent('Hourglass three quarter', 'regular');\nexport const Html = createIconComponent('Html', 'regular');\nexport const Image = createIconComponent('Image', 'regular');\nexport const ImageCircle = createIconComponent('Image circle', 'regular');\nexport const Important = createIconComponent('Important', 'regular');\nexport const Incognito = createIconComponent('Incognito', 'regular');\nexport const Info = createIconComponent('Info', 'regular');\nexport const Ios = createIconComponent('Ios', 'regular');\nexport const IosArrowLtr = createIconComponent('Ios arrow ltr', 'regular');\nexport const IosArrowRtl = createIconComponent('Ios arrow rtl', 'regular');\nexport const IosChevronLtr = createIconComponent('Ios chevron ltr', 'regular');\nexport const IosChevronRtl = createIconComponent('Ios chevron rtl', 'regular');\nexport const Iot = createIconComponent('Iot', 'regular');\nexport const Javascript = createIconComponent('Javascript', 'regular');\nexport const Joystick = createIconComponent('Joystick', 'regular');\nexport const Json = createIconComponent('Json', 'regular');\nexport const JsonFile = createIconComponent('Json file', 'regular');\nexport const Key = createIconComponent('Key', 'regular');\nexport const KeyMultiple = createIconComponent('Key multiple', 'regular');\nexport const Keyboard = createIconComponent('Keyboard', 'regular');\nexport const KeyboardBackspace = createIconComponent('Keyboard backspace', 'regular');\nexport const KeyboardCommand = createIconComponent('Keyboard command', 'regular');\nexport const KeyboardLock = createIconComponent('Keyboard lock', 'regular');\nexport const KeyboardOff = createIconComponent('Keyboard off', 'regular');\nexport const KeyboardOption = createIconComponent('Keyboard option', 'regular');\nexport const KeyboardReturn = createIconComponent('Keyboard return', 'regular');\nexport const KeyboardShift = createIconComponent('Keyboard shift', 'regular');\nexport const KeyboardShiftUppercase = createIconComponent('Keyboard shift uppercase', 'regular');\nexport const KeyboardTab = createIconComponent('Keyboard tab', 'regular');\nexport const Kiosk = createIconComponent('Kiosk', 'regular');\nexport const Kotlin = createIconComponent('Kotlin', 'regular');\nexport const Laptop = createIconComponent('Laptop', 'regular');\nexport const Layer = createIconComponent('Layer', 'regular');\nexport const Lightbulb = createIconComponent('Lightbulb', 'regular');\nexport const Line = createIconComponent('Line', 'regular');\nexport const LineDashes = createIconComponent('Line dashes', 'regular');\nexport const LineHorizontal1 = createIconComponent('Line horizontal 1', 'regular');\nexport const LineHorizontal1Dashes = createIconComponent('Line horizontal 1 dashes', 'regular');\nexport const Link = createIconComponent('Link', 'regular');\nexport const LocalLanguage = createIconComponent('Local language', 'regular');\nexport const Location = createIconComponent('Location', 'regular');\nexport const LocationArrow = createIconComponent('Location arrow', 'regular');\nexport const LockClosed = createIconComponent('Lock closed', 'regular');\nexport const LockOpen = createIconComponent('Lock open', 'regular');\nexport const Luggage = createIconComponent('Luggage', 'regular');\nexport const Macos = createIconComponent('Macos', 'regular');\nexport const Mail = createIconComponent('Mail', 'regular');\nexport const MailRead = createIconComponent('Mail read', 'regular');\nexport const Mailbox = createIconComponent('Mailbox', 'regular');\nexport const Map = createIconComponent('Map', 'regular');\nexport const Markdown = createIconComponent('Markdown', 'regular');\nexport const MathSymbols = createIconComponent('Math symbols', 'regular');\nexport const Megaphone = createIconComponent('Megaphone', 'regular');\nexport const Mic = createIconComponent('Mic', 'regular');\nexport const Moon = createIconComponent('Moon', 'regular');\nexport const MoreCircle = createIconComponent('More circle', 'regular');\nexport const MoreHorizontal = createIconComponent('More horizontal', 'regular');\nexport const MoreVerticial = createIconComponent('More verticial', 'regular');\nexport const Mouse = createIconComponent('Mouse', 'regular');\nexport const Movie = createIconComponent('Movie', 'regular');\nexport const NetworkCheck = createIconComponent('Network check', 'regular');\nexport const News = createIconComponent('News', 'regular');\nexport const Next = createIconComponent('Next', 'regular');\nexport const Note = createIconComponent('Note', 'regular');\nexport const Notebook = createIconComponent('Notebook', 'regular');\nexport const Notepad = createIconComponent('Notepad', 'regular');\nexport const NumberCircle0 = createIconComponent('Number circle 0', 'regular');\nexport const NumberCircle1 = createIconComponent('Number circle 1', 'regular');\nexport const NumberCircle2 = createIconComponent('Number circle 2', 'regular');\nexport const NumberCircle3 = createIconComponent('Number circle 3', 'regular');\nexport const NumberCircle4 = createIconComponent('Number circle 4', 'regular');\nexport const NumberCircle5 = createIconComponent('Number circle 5', 'regular');\nexport const NumberCircle6 = createIconComponent('Number circle 6', 'regular');\nexport const NumberCircle7 = createIconComponent('Number circle 7', 'regular');\nexport const NumberCircle8 = createIconComponent('Number circle 8', 'regular');\nexport const NumberCircle9 = createIconComponent('Number circle 9', 'regular');\nexport const NumberSymbol = createIconComponent('Number symbol', 'regular');\nexport const NumberSymbolCircle = createIconComponent('Number symbol circle', 'regular');\nexport const NumberSymbolSquare = createIconComponent('Number symbol square', 'regular');\nexport const Opacity = createIconComponent('Opacity', 'regular');\nexport const Open = createIconComponent('Open', 'regular');\nexport const OpenOff = createIconComponent('Open off', 'regular');\nexport const Options = createIconComponent('Options', 'regular');\nexport const Organization = createIconComponent('Organization', 'regular');\nexport const OrganizationHorizontal = createIconComponent('Organization horizontal', 'regular');\nexport const Orientation = createIconComponent('Orientation', 'regular');\nexport const Oval = createIconComponent('Oval', 'regular');\nexport const Oven = createIconComponent('Oven', 'regular');\nexport const Padding = createIconComponent('Padding', 'regular');\nexport const PageFit = createIconComponent('Page fit', 'regular');\nexport const PaintBrush = createIconComponent('Paint brush', 'regular');\nexport const PaintBucket = createIconComponent('Paint bucket', 'regular');\nexport const Parallelogram = createIconComponent('Parallelogram', 'regular');\nexport const Password = createIconComponent('Password', 'regular');\nexport const Pause = createIconComponent('Pause', 'regular');\nexport const PauseCircle = createIconComponent('Pause circle', 'regular');\nexport const Payment = createIconComponent('Payment', 'regular');\nexport const PaymentWireless = createIconComponent('Payment wireless', 'regular');\nexport const Pen = createIconComponent('Pen', 'regular');\nexport const PenOff = createIconComponent('Pen off', 'regular');\nexport const Pentagon = createIconComponent('Pentagon', 'regular');\nexport const Person = createIconComponent('Person', 'regular');\nexport const PersonVoice = createIconComponent('Person voice', 'regular');\nexport const Phone = createIconComponent('Phone', 'regular');\nexport const Piano = createIconComponent('Piano', 'regular');\nexport const Pin = createIconComponent('Pin', 'regular');\nexport const Pipeline = createIconComponent('Pipeline', 'regular');\nexport const Play = createIconComponent('Play', 'regular');\nexport const PlayCircle = createIconComponent('Play circle', 'regular');\nexport const Playstore = createIconComponent('Playstore', 'regular');\nexport const PortHdmi = createIconComponent('Port hdmi', 'regular');\nexport const PortMicroUsb = createIconComponent('Port micro usb', 'regular');\nexport const PortUsbA = createIconComponent('Port usb a', 'regular');\nexport const PortUsbC = createIconComponent('Port usb c', 'regular');\nexport const Power = createIconComponent('Power', 'regular');\nexport const PreviewLink = createIconComponent('Preview link', 'regular');\nexport const Previous = createIconComponent('Previous', 'regular');\nexport const Print = createIconComponent('Print', 'regular');\nexport const Pulse = createIconComponent('Pulse', 'regular');\nexport const PulseCircle = createIconComponent('Pulse circle', 'regular');\nexport const PulseSquare = createIconComponent('Pulse square', 'regular');\nexport const Python = createIconComponent('Python', 'regular');\nexport const QrCode = createIconComponent('Qr code', 'regular');\nexport const Question = createIconComponent('Question', 'regular');\nexport const QuestionCircle = createIconComponent('Question circle', 'regular');\nexport const RadioButton = createIconComponent('Radio button', 'regular');\nexport const Ram = createIconComponent('Ram', 'regular');\nexport const Record = createIconComponent('Record', 'regular');\nexport const RecordStop = createIconComponent('Record stop', 'regular');\nexport const Rectangle = createIconComponent('Rectangle', 'regular');\nexport const Refineui = createIconComponent('Refineui', 'regular');\nexport const Rewind = createIconComponent('Rewind', 'regular');\nexport const Rhombus = createIconComponent('Rhombus', 'regular');\nexport const Ribbon = createIconComponent('Ribbon', 'regular');\nexport const Road = createIconComponent('Road', 'regular');\nexport const RoadCone = createIconComponent('Road cone', 'regular');\nexport const Rocket = createIconComponent('Rocket', 'regular');\nexport const Rotation = createIconComponent('Rotation', 'regular');\nexport const Router = createIconComponent('Router', 'regular');\nexport const Rss = createIconComponent('Rss', 'regular');\nexport const Ruler = createIconComponent('Ruler', 'regular');\nexport const Run = createIconComponent('Run', 'regular');\nexport const Save = createIconComponent('Save', 'regular');\nexport const Scales = createIconComponent('Scales', 'regular');\nexport const Script = createIconComponent('Script', 'regular');\nexport const Search = createIconComponent('Search', 'regular');\nexport const Send = createIconComponent('Send', 'regular');\nexport const SerialPort = createIconComponent('Serial port', 'regular');\nexport const Server = createIconComponent('Server', 'regular');\nexport const ServerLink = createIconComponent('Server link', 'regular');\nexport const ServerPlay = createIconComponent('Server play', 'regular');\nexport const ServiceBell = createIconComponent('Service bell', 'regular');\nexport const Settings = createIconComponent('Settings', 'regular');\nexport const ShapeExclude = createIconComponent('Shape exclude', 'regular');\nexport const ShapeIntersect = createIconComponent('Shape intersect', 'regular');\nexport const ShapeSubtract = createIconComponent('Shape subtract', 'regular');\nexport const ShapeUnion = createIconComponent('Shape union', 'regular');\nexport const Shapes = createIconComponent('Shapes', 'regular');\nexport const Share = createIconComponent('Share', 'regular');\nexport const ShareAndroid = createIconComponent('Share android', 'regular');\nexport const ShareIos = createIconComponent('Share ios', 'regular');\nexport const ShellScript = createIconComponent('Shell script', 'regular');\nexport const Shield = createIconComponent('Shield', 'regular');\nexport const ShoppingBag = createIconComponent('Shopping bag', 'regular');\nexport const Sim = createIconComponent('Sim', 'regular');\nexport const SlideAdd = createIconComponent('Slide add', 'regular');\nexport const SlideContent = createIconComponent('Slide content', 'regular');\nexport const SlideEraser = createIconComponent('Slide eraser', 'regular');\nexport const SlideGrid = createIconComponent('Slide grid', 'regular');\nexport const SlideHide = createIconComponent('Slide hide', 'regular');\nexport const SlideLayout = createIconComponent('Slide layout', 'regular');\nexport const Smartwatch = createIconComponent('Smartwatch', 'regular');\nexport const SoundSource = createIconComponent('Sound source', 'regular');\nexport const Spacebar = createIconComponent('Spacebar', 'regular');\nexport const SportBaseball = createIconComponent('Sport baseball', 'regular');\nexport const SportBasketball = createIconComponent('Sport basketball', 'regular');\nexport const SportSoccer = createIconComponent('Sport soccer', 'regular');\nexport const SprayCan = createIconComponent('Spray can', 'regular');\nexport const Square = createIconComponent('Square', 'regular');\nexport const SquareHint = createIconComponent('Square hint', 'regular');\nexport const SquareMultiple = createIconComponent('Square multiple', 'regular');\nexport const Star = createIconComponent('Star', 'regular');\nexport const Stop = createIconComponent('Stop', 'regular');\nexport const Subtract = createIconComponent('Subtract', 'regular');\nexport const Swift = createIconComponent('Swift', 'regular');\nexport const Tab = createIconComponent('Tab', 'regular');\nexport const Tablet = createIconComponent('Tablet', 'regular');\nexport const Tag = createIconComponent('Tag', 'regular');\nexport const Target = createIconComponent('Target', 'regular');\nexport const Temperature = createIconComponent('Temperature', 'regular');\nexport const Tent = createIconComponent('Tent', 'regular');\nexport const Text = createIconComponent('Text', 'regular');\nexport const TextAlignCenter = createIconComponent('Text align center', 'regular');\nexport const TextAlignJustify = createIconComponent('Text align justify', 'regular');\nexport const TextAlignLeft = createIconComponent('Text align left', 'regular');\nexport const TextAlignRight = createIconComponent('Text align right', 'regular');\nexport const Textbox = createIconComponent('Textbox', 'regular');\nexport const TextboxAlignBottom = createIconComponent('Textbox align bottom', 'regular');\nexport const TextboxAlignBottomCenter = createIconComponent('Textbox align bottom center', 'regular');\nexport const TextboxAlignBottomLeft = createIconComponent('Textbox align bottom left', 'regular');\nexport const TextboxAlignBottomRight = createIconComponent('Textbox align bottom right', 'regular');\nexport const TextboxAlignCenter = createIconComponent('Textbox align center', 'regular');\nexport const TextboxAlignMiddle = createIconComponent('Textbox align middle', 'regular');\nexport const TextboxAlignMiddleLeft = createIconComponent('Textbox align middle left', 'regular');\nexport const TextboxAlignMiddleRight = createIconComponent('Textbox align middle right', 'regular');\nexport const TextboxAlignTop = createIconComponent('Textbox align top', 'regular');\nexport const TextboxAlignTopCenter = createIconComponent('Textbox align top center', 'regular');\nexport const TextboxAlignTopLeft = createIconComponent('Textbox align top left', 'regular');\nexport const TextboxAlignTopRight = createIconComponent('Textbox align top right', 'regular');\nexport const Thinking = createIconComponent('Thinking', 'regular');\nexport const Ticket = createIconComponent('Ticket', 'regular');\nexport const Timer = createIconComponent('Timer', 'regular');\nexport const ToggleLeft = createIconComponent('Toggle left', 'regular');\nexport const ToggleMultiple = createIconComponent('Toggle multiple', 'regular');\nexport const ToggleRight = createIconComponent('Toggle right', 'regular');\nexport const Toolbox = createIconComponent('Toolbox', 'regular');\nexport const Trophy = createIconComponent('Trophy', 'regular');\nexport const Tv = createIconComponent('Tv', 'regular');\nexport const Typescript = createIconComponent('Typescript', 'regular');\nexport const Umbrella = createIconComponent('Umbrella', 'regular');\nexport const Usb = createIconComponent('Usb', 'regular');\nexport const UsbCable = createIconComponent('Usb cable', 'regular');\nexport const Verified = createIconComponent('Verified', 'regular');\nexport const Video = createIconComponent('Video', 'regular');\nexport const VideoClip = createIconComponent('Video clip', 'regular');\nexport const VideoPlayPause = createIconComponent('Video play pause', 'regular');\nexport const Voicemail = createIconComponent('Voicemail', 'regular');\nexport const Vote = createIconComponent('Vote', 'regular');\nexport const WalkieTalkie = createIconComponent('Walkie talkie', 'regular');\nexport const Wallet = createIconComponent('Wallet', 'regular');\nexport const Wand = createIconComponent('Wand', 'regular');\nexport const Warning = createIconComponent('Warning', 'regular');\nexport const Washer = createIconComponent('Washer', 'regular');\nexport const Water = createIconComponent('Water', 'regular');\nexport const WeatherBlowingSnow = createIconComponent('Weather blowing snow', 'regular');\nexport const WeatherCloudy = createIconComponent('Weather cloudy', 'regular');\nexport const WeatherRain = createIconComponent('Weather rain', 'regular');\nexport const WeatherSnow = createIconComponent('Weather snow', 'regular');\nexport const WeatherSnowflake = createIconComponent('Weather snowflake', 'regular');\nexport const WeatherSunny = createIconComponent('Weather sunny', 'regular');\nexport const WeatherThunderstorm = createIconComponent('Weather thunderstorm', 'regular');\nexport const Web = createIconComponent('Web', 'regular');\nexport const Wifi1 = createIconComponent('Wifi 1', 'regular');\nexport const Wifi2 = createIconComponent('Wifi 2', 'regular');\nexport const Wifi3 = createIconComponent('Wifi 3', 'regular');\nexport const Wifi4 = createIconComponent('Wifi 4', 'regular');\nexport const Windows = createIconComponent('Windows', 'regular');\nexport const Wrench = createIconComponent('Wrench', 'regular');\nexport const Xray = createIconComponent('Xray', 'regular');\nexport const Zoom = createIconComponent('Zoom', 'regular');\nexport const ZoomIn = createIconComponent('Zoom in', 'regular');\nexport const ZoomOut = createIconComponent('Zoom out', 'regular');","// === Filled style icons ===\n// This file is auto-generated. Do not modify.\n\nimport { createIconComponent } from './utils';\n\nexport const AccessTimeFilled = createIconComponent('Access time', 'filled');\nexport const AccessibilityFilled = createIconComponent('Accessibility', 'filled');\nexport const AddFilled = createIconComponent('Add', 'filled');\nexport const AddCircleFilled = createIconComponent('Add circle', 'filled');\nexport const AddSquareFilled = createIconComponent('Add square', 'filled');\nexport const AirplaneFilled = createIconComponent('Airplane', 'filled');\nexport const AlbumFilled = createIconComponent('Album', 'filled');\nexport const AlertFilled = createIconComponent('Alert', 'filled');\nexport const AlertBadgeFilled = createIconComponent('Alert badge', 'filled');\nexport const AlertOffFilled = createIconComponent('Alert off', 'filled');\nexport const AlignBottomFilled = createIconComponent('Align bottom', 'filled');\nexport const AlignCenterHorizontalFilled = createIconComponent('Align center horizontal', 'filled');\nexport const AlignCenterVerticalFilled = createIconComponent('Align center vertical', 'filled');\nexport const AlignLeftFilled = createIconComponent('Align left', 'filled');\nexport const AlignRightFilled = createIconComponent('Align right', 'filled');\nexport const AlignTopFilled = createIconComponent('Align top', 'filled');\nexport const AndroidFilled = createIconComponent('Android', 'filled');\nexport const AppFolderFilled = createIconComponent('App folder', 'filled');\nexport const AppRecentFilled = createIconComponent('App recent', 'filled');\nexport const AppTitleFilled = createIconComponent('App title', 'filled');\nexport const AppstoreFilled = createIconComponent('Appstore', 'filled');\nexport const AutosumFilled = createIconComponent('Autosum', 'filled');\nexport const BackpackFilled = createIconComponent('Backpack', 'filled');\nexport const BackspaceFilled = createIconComponent('Backspace', 'filled');\nexport const BadgeFilled = createIconComponent('Badge', 'filled');\nexport const BalloonFilled = createIconComponent('Balloon', 'filled');\nexport const BarChartHorizontalFilled = createIconComponent('Bar chart horizontal', 'filled');\nexport const BarChartHorizontalDescendingFilled = createIconComponent('Bar chart horizontal descending', 'filled');\nexport const BarChartVerticalFilled = createIconComponent('Bar chart vertical', 'filled');\nexport const BarChartVerticalDescendingFilled = createIconComponent('Bar chart vertical descending', 'filled');\nexport const BarcodeScannerFilled = createIconComponent('Barcode scanner', 'filled');\nexport const Battery0Filled = createIconComponent('Battery 0', 'filled');\nexport const Battery10Filled = createIconComponent('Battery 10', 'filled');\nexport const Battery100Filled = createIconComponent('Battery 100', 'filled');\nexport const Battery20Filled = createIconComponent('Battery 20', 'filled');\nexport const Battery30Filled = createIconComponent('Battery 30', 'filled');\nexport const Battery40Filled = createIconComponent('Battery 40', 'filled');\nexport const Battery50Filled = createIconComponent('Battery 50', 'filled');\nexport const Battery60Filled = createIconComponent('Battery 60', 'filled');\nexport const Battery70Filled = createIconComponent('Battery 70', 'filled');\nexport const Battery80Filled = createIconComponent('Battery 80', 'filled');\nexport const Battery90Filled = createIconComponent('Battery 90', 'filled');\nexport const BlockFilled = createIconComponent('Block', 'filled');\nexport const BluetoothFilled = createIconComponent('Bluetooth', 'filled');\nexport const BlurFilled = createIconComponent('Blur', 'filled');\nexport const BoardFilled = createIconComponent('Board', 'filled');\nexport const BookFilled = createIconComponent('Book', 'filled');\nexport const BookmarkFilled = createIconComponent('Bookmark', 'filled');\nexport const BugFilled = createIconComponent('Bug', 'filled');\nexport const CalculatorFilled = createIconComponent('Calculator', 'filled');\nexport const CalendarFilled = createIconComponent('Calendar', 'filled');\nexport const CameraFilled = createIconComponent('Camera', 'filled');\nexport const CartFilled = createIconComponent('Cart', 'filled');\nexport const CartonBoxFilled = createIconComponent('Carton box', 'filled');\nexport const ChartFilled = createIconComponent('Chart', 'filled');\nexport const ChatFilled = createIconComponent('Chat', 'filled');\nexport const ChatAddFilled = createIconComponent('Chat add', 'filled');\nexport const ChatEmptyFilled = createIconComponent('Chat empty', 'filled');\nexport const CheckmarkFilled = createIconComponent('Checkmark', 'filled');\nexport const ChessFilled = createIconComponent('Chess', 'filled');\nexport const ChevronDownFilled = createIconComponent('Chevron down', 'filled');\nexport const ChevronLeftFilled = createIconComponent('Chevron left', 'filled');\nexport const ChevronRightFilled = createIconComponent('Chevron right', 'filled');\nexport const ChevronUpFilled = createIconComponent('Chevron up', 'filled');\nexport const CircleFilled = createIconComponent('Circle', 'filled');\nexport const ClipboardFilled = createIconComponent('Clipboard', 'filled');\nexport const ClockFilled = createIconComponent('Clock', 'filled');\nexport const ClockAlarmFilled = createIconComponent('Clock alarm', 'filled');\nexport const CloudFilled = createIconComponent('Cloud', 'filled');\nexport const CloverFilled = createIconComponent('Clover', 'filled');\nexport const CodeFilled = createIconComponent('Code', 'filled');\nexport const CodeBlockFilled = createIconComponent('Code block', 'filled');\nexport const CommaFilled = createIconComponent('Comma', 'filled');\nexport const CommentFilled = createIconComponent('Comment', 'filled');\nexport const ConeFilled = createIconComponent('Cone', 'filled');\nexport const ContrastFilled = createIconComponent('Contrast', 'filled');\nexport const ControlButtonFilled = createIconComponent('Control button', 'filled');\nexport const CookieFilled = createIconComponent('Cookie', 'filled');\nexport const CopyFilled = createIconComponent('Copy', 'filled');\nexport const CouchFilled = createIconComponent('Couch', 'filled');\nexport const CpuFilled = createIconComponent('Cpu', 'filled');\nexport const CropFilled = createIconComponent('Crop', 'filled');\nexport const CrownFilled = createIconComponent('Crown', 'filled');\nexport const CssFilled = createIconComponent('Css', 'filled');\nexport const CubeFilled = createIconComponent('Cube', 'filled');\nexport const CursorFilled = createIconComponent('Cursor', 'filled');\nexport const CutFilled = createIconComponent('Cut', 'filled');\nexport const DartFilled = createIconComponent('Dart', 'filled');\nexport const DatabaseFilled = createIconComponent('Database', 'filled');\nexport const DeleteFilled = createIconComponent('Delete', 'filled');\nexport const DeleteOffFilled = createIconComponent('Delete off', 'filled');\nexport const DentistFilled = createIconComponent('Dentist', 'filled');\nexport const DeskFilled = createIconComponent('Desk', 'filled');\nexport const DesktopFilled = createIconComponent('Desktop', 'filled');\nexport const DesktopMacFilled = createIconComponent('Desktop mac', 'filled');\nexport const DialpadFilled = createIconComponent('Dialpad', 'filled');\nexport const DiamondFilled = createIconComponent('Diamond', 'filled');\nexport const DismissFilled = createIconComponent('Dismiss', 'filled');\nexport const DismissCircleFilled = createIconComponent('Dismiss circle', 'filled');\nexport const DismissSquareFilled = createIconComponent('Dismiss square', 'filled');\nexport const DoctorFilled = createIconComponent('Doctor', 'filled');\nexport const DocumentFilled = createIconComponent('Document', 'filled');\nexport const DocumentBorderFilled = createIconComponent('Document border', 'filled');\nexport const DoorFilled = createIconComponent('Door', 'filled');\nexport const DragFilled = createIconComponent('Drag', 'filled');\nexport const DrawerFilled = createIconComponent('Drawer', 'filled');\nexport const DropFilled = createIconComponent('Drop', 'filled');\nexport const DualScreenFilled = createIconComponent('Dual screen', 'filled');\nexport const DumbbellFilled = createIconComponent('Dumbbell', 'filled');\nexport const DustFilled = createIconComponent('Dust', 'filled');\nexport const EarthFilled = createIconComponent('Earth', 'filled');\nexport const EditFilled = createIconComponent('Edit', 'filled');\nexport const EditOffFilled = createIconComponent('Edit off', 'filled');\nexport const ElevatorFilled = createIconComponent('Elevator', 'filled');\nexport const EmojiFilled = createIconComponent('Emoji', 'filled');\nexport const EmojiAngryFilled = createIconComponent('Emoji angry', 'filled');\nexport const EmojiCoolFilled = createIconComponent('Emoji cool', 'filled');\nexport const EmojiGrimacingFilled = createIconComponent('Emoji grimacing', 'filled');\nexport const EmojiLaughFilled = createIconComponent('Emoji laugh', 'filled');\nexport const EmojiMehFilled = createIconComponent('Emoji meh', 'filled');\nexport const EmojiSadFilled = createIconComponent('Emoji sad', 'filled');\nexport const EmojiSurpriseFilled = createIconComponent('Emoji surprise', 'filled');\nexport const EngineFilled = createIconComponent('Engine', 'filled');\nexport const EqualFilled = createIconComponent('Equal', 'filled');\nexport const EqualCircleFilled = createIconComponent('Equal circle', 'filled');\nexport const EqualOffFilled = createIconComponent('Equal off', 'filled');\nexport const ErrorCircleFilled = createIconComponent('Error circle', 'filled');\nexport const EyeFilled = createIconComponent('Eye', 'filled');\nexport const EyeOffFilled = createIconComponent('Eye off', 'filled');\nexport const EyedropperFilled = createIconComponent('Eyedropper', 'filled');\nexport const EyedropperOffFilled = createIconComponent('Eyedropper off', 'filled');\nexport const FastForwardFilled = createIconComponent('Fast forward', 'filled');\nexport const FilmstripFilled = createIconComponent('Filmstrip', 'filled');\nexport const FilmstripOffFilled = createIconComponent('Filmstrip off', 'filled');\nexport const FilterFilled = createIconComponent('Filter', 'filled');\nexport const FireFilled = createIconComponent('Fire', 'filled');\nexport const FlagFilled = createIconComponent('Flag', 'filled');\nexport const FlagOffFilled = createIconComponent('Flag off', 'filled');\nexport const FlashFilled = createIconComponent('Flash', 'filled');\nexport const FlashOffFilled = createIconComponent('Flash off', 'filled');\nexport const FlashlightFilled = createIconComponent('Flashlight', 'filled');\nexport const FlashlightOffFilled = createIconComponent('Flashlight off', 'filled');\nexport const FlipHorizontalFilled = createIconComponent('Flip horizontal', 'filled');\nexport const FlipVerticialFilled = createIconComponent('Flip verticial', 'filled');\nexport const FolderFilled = createIconComponent('Folder', 'filled');\nexport const FolderOpenFilled = createIconComponent('Folder open', 'filled');\nexport const FrameFilled = createIconComponent('Frame', 'filled');\nexport const FullScreenMaximizeFilled = createIconComponent('Full screen maximize', 'filled');\nexport const FullScreenMinimizeFilled = createIconComponent('Full screen minimize', 'filled');\nexport const GamesFilled = createIconComponent('Games', 'filled');\nexport const GanttChartFilled = createIconComponent('Gantt chart', 'filled');\nexport const GasFilled = createIconComponent('Gas', 'filled');\nexport const GasStationFilled = createIconComponent('Gas station', 'filled');\nexport const GavelFilled = createIconComponent('Gavel', 'filled');\nexport const GifFilled = createIconComponent('Gif', 'filled');\nexport const GiftFilled = createIconComponent('Gift', 'filled');\nexport const GiftCardFilled = createIconComponent('Gift card', 'filled');\nexport const GitFilled = createIconComponent('Git', 'filled');\nexport const GlassesFilled = createIconComponent('Glasses', 'filled');\nexport const GlobalFilled = createIconComponent('Global', 'filled');\nexport const GridFilled = createIconComponent('Grid', 'filled');\nexport const GuestFilled = createIconComponent('Guest', 'filled');\nexport const GuitarFilled = createIconComponent('Guitar', 'filled');\nexport const HammerFilled = createIconComponent('Hammer', 'filled');\nexport const HardDriveFilled = createIconComponent('Hard drive', 'filled');\nexport const HatGraduationFilled = createIconComponent('Hat graduation', 'filled');\nexport const HdFilled = createIconComponent('Hd', 'filled');\nexport const HdrFilled = createIconComponent('Hdr', 'filled');\nexport const HdrOffFilled = createIconComponent('Hdr off', 'filled');\nexport const HeadphonesFilled = createIconComponent('Headphones', 'filled');\nexport const HeadphonesMicFilled = createIconComponent('Headphones mic', 'filled');\nexport const HeadsetVrFilled = createIconComponent('Headset vr', 'filled');\nexport const HeartFilled = createIconComponent('Heart', 'filled');\nexport const HeartBrokenFilled = createIconComponent('Heart broken', 'filled');\nexport const HexagonFilled = createIconComponent('Hexagon', 'filled');\nexport const HighlightFilled = createIconComponent('Highlight', 'filled');\nexport const HighwayFilled = createIconComponent('Highway', 'filled');\nexport const HomeFilled = createIconComponent('Home', 'filled');\nexport const HomeCheckmarkFilled = createIconComponent('Home checkmark', 'filled');\nexport const HourglassFilled = createIconComponent('Hourglass', 'filled');\nexport const HourglassHalfFilled = createIconComponent('Hourglass half', 'filled');\nexport const HourglassOneQuarterFilled = createIconComponent('Hourglass one quarter', 'filled');\nexport const HourglassThreeQuarterFilled = createIconComponent('Hourglass three quarter', 'filled');\nexport const HtmlFilled = createIconComponent('Html', 'filled');\nexport const ImageFilled = createIconComponent('Image', 'filled');\nexport const ImageCircleFilled = createIconComponent('Image circle', 'filled');\nexport const ImportantFilled = createIconComponent('Important', 'filled');\nexport const IncognitoFilled = createIconComponent('Incognito', 'filled');\nexport const InfoFilled = createIconComponent('Info', 'filled');\nexport const IosFilled = createIconComponent('Ios', 'filled');\nexport const IosArrowLtrFilled = createIconComponent('Ios arrow ltr', 'filled');\nexport const IosArrowRtlFilled = createIconComponent('Ios arrow rtl', 'filled');\nexport const IosChevronLtrFilled = createIconComponent('Ios chevron ltr', 'filled');\nexport const IosChevronRtlFilled = createIconComponent('Ios chevron rtl', 'filled');\nexport const IotFilled = createIconComponent('Iot', 'filled');\nexport const JavascriptFilled = createIconComponent('Javascript', 'filled');\nexport const JoystickFilled = createIconComponent('Joystick', 'filled');\nexport const JsonFilled = createIconComponent('Json', 'filled');\nexport const JsonFileFilled = createIconComponent('Json file', 'filled');\nexport const KeyFilled = createIconComponent('Key', 'filled');\nexport const KeyMultipleFilled = createIconComponent('Key multiple', 'filled');\nexport const KeyboardFilled = createIconComponent('Keyboard', 'filled');\nexport const KeyboardBackspaceFilled = createIconComponent('Keyboard backspace', 'filled');\nexport const KeyboardCommandFilled = createIconComponent('Keyboard command', 'filled');\nexport const KeyboardLockFilled = createIconComponent('Keyboard lock', 'filled');\nexport const KeyboardOffFilled = createIconComponent('Keyboard off', 'filled');\nexport const KeyboardOptionFilled = createIconComponent('Keyboard option', 'filled');\nexport const KeyboardReturnFilled = createIconComponent('Keyboard return', 'filled');\nexport const KeyboardShiftFilled = createIconComponent('Keyboard shift', 'filled');\nexport const KeyboardShiftUppercaseFilled = createIconComponent('Keyboard shift uppercase', 'filled');\nexport const KeyboardTabFilled = createIconComponent('Keyboard tab', 'filled');\nexport const KioskFilled = createIconComponent('Kiosk', 'filled');\nexport const KotlinFilled = createIconComponent('Kotlin', 'filled');\nexport const LaptopFilled = createIconComponent('Laptop', 'filled');\nexport const LayerFilled = createIconComponent('Layer', 'filled');\nexport const LightbulbFilled = createIconComponent('Lightbulb', 'filled');\nexport const LineFilled = createIconComponent('Line', 'filled');\nexport const LineDashesFilled = createIconComponent('Line dashes', 'filled');\nexport const LineHorizontal1Filled = createIconComponent('Line horizontal 1', 'filled');\nexport const LineHorizontal1DashesFilled = createIconComponent('Line horizontal 1 dashes', 'filled');\nexport const LinkFilled = createIconComponent('Link', 'filled');\nexport const LocalLanguageFilled = createIconComponent('Local language', 'filled');\nexport const LocationFilled = createIconComponent('Location', 'filled');\nexport const LocationArrowFilled = createIconComponent('Location arrow', 'filled');\nexport const LockClosedFilled = createIconComponent('Lock closed', 'filled');\nexport const LockOpenFilled = createIconComponent('Lock open', 'filled');\nexport const LuggageFilled = createIconComponent('Luggage', 'filled');\nexport const MacosFilled = createIconComponent('Macos', 'filled');\nexport const MailFilled = createIconComponent('Mail', 'filled');\nexport const MailReadFilled = createIconComponent('Mail read', 'filled');\nexport const MailboxFilled = createIconComponent('Mailbox', 'filled');\nexport const MapFilled = createIconComponent('Map', 'filled');\nexport const MarkdownFilled = createIconComponent('Markdown', 'filled');\nexport const MathSymbolsFilled = createIconComponent('Math symbols', 'filled');\nexport const MegaphoneFilled = createIconComponent('Megaphone', 'filled');\nexport const MicFilled = createIconComponent('Mic', 'filled');\nexport const MoonFilled = createIconComponent('Moon', 'filled');\nexport const MoreCircleFilled = createIconComponent('More circle', 'filled');\nexport const MoreHorizontalFilled = createIconComponent('More horizontal', 'filled');\nexport const MoreVerticialFilled = createIconComponent('More verticial', 'filled');\nexport const MouseFilled = createIconComponent('Mouse', 'filled');\nexport const MovieFilled = createIconComponent('Movie', 'filled');\nexport const NetworkCheckFilled = createIconComponent('Network check', 'filled');\nexport const NewsFilled = createIconComponent('News', 'filled');\nexport const NextFilled = createIconComponent('Next', 'filled');\nexport const NoteFilled = createIconComponent('Note', 'filled');\nexport const NotebookFilled = createIconComponent('Notebook', 'filled');\nexport const NotepadFilled = createIconComponent('Notepad', 'filled');\nexport const NumberCircle0Filled = createIconComponent('Number circle 0', 'filled');\nexport const NumberCircle1Filled = createIconComponent('Number circle 1', 'filled');\nexport const NumberCircle2Filled = createIconComponent('Number circle 2', 'filled');\nexport const NumberCircle3Filled = createIconComponent('Number circle 3', 'filled');\nexport const NumberCircle4Filled = createIconComponent('Number circle 4', 'filled');\nexport const NumberCircle5Filled = createIconComponent('Number circle 5', 'filled');\nexport const NumberCircle6Filled = createIconComponent('Number circle 6', 'filled');\nexport const NumberCircle7Filled = createIconComponent('Number circle 7', 'filled');\nexport const NumberCircle8Filled = createIconComponent('Number circle 8', 'filled');\nexport const NumberCircle9Filled = createIconComponent('Number circle 9', 'filled');\nexport const NumberSymbolFilled = createIconComponent('Number symbol', 'filled');\nexport const NumberSymbolCircleFilled = createIconComponent('Number symbol circle', 'filled');\nexport const NumberSymbolSquareFilled = createIconComponent('Number symbol square', 'filled');\nexport const OpacityFilled = createIconComponent('Opacity', 'filled');\nexport const OpenFilled = createIconComponent('Open', 'filled');\nexport const OpenOffFilled = createIconComponent('Open off', 'filled');\nexport const OptionsFilled = createIconComponent('Options', 'filled');\nexport const OrganizationFilled = createIconComponent('Organization', 'filled');\nexport const OrganizationHorizontalFilled = createIconComponent('Organization horizontal', 'filled');\nexport const OrientationFilled = createIconComponent('Orientation', 'filled');\nexport const OvalFilled = createIconComponent('Oval', 'filled');\nexport const OvenFilled = createIconComponent('Oven', 'filled');\nexport const PaddingFilled = createIconComponent('Padding', 'filled');\nexport const PageFitFilled = createIconComponent('Page fit', 'filled');\nexport const PaintBrushFilled = createIconComponent('Paint brush', 'filled');\nexport const PaintBucketFilled = createIconComponent('Paint bucket', 'filled');\nexport const ParallelogramFilled = createIconComponent('Parallelogram', 'filled');\nexport const PasswordFilled = createIconComponent('Password', 'filled');\nexport const PauseFilled = createIconComponent('Pause', 'filled');\nexport const PauseCircleFilled = createIconComponent('Pause circle', 'filled');\nexport const PaymentFilled = createIconComponent('Payment', 'filled');\nexport const PaymentWirelessFilled = createIconComponent('Payment wireless', 'filled');\nexport const PenFilled = createIconComponent('Pen', 'filled');\nexport const PenOffFilled = createIconComponent('Pen off', 'filled');\nexport const PentagonFilled = createIconComponent('Pentagon', 'filled');\nexport const PersonFilled = createIconComponent('Person', 'filled');\nexport const PersonVoiceFilled = createIconComponent('Person voice', 'filled');\nexport const PhoneFilled = createIconComponent('Phone', 'filled');\nexport const PianoFilled = createIconComponent('Piano', 'filled');\nexport const PinFilled = createIconComponent('Pin', 'filled');\nexport const PipelineFilled = createIconComponent('Pipeline', 'filled');\nexport const PlayFilled = createIconComponent('Play', 'filled');\nexport const PlayCircleFilled = createIconComponent('Play circle', 'filled');\nexport const PlaystoreFilled = createIconComponent('Playstore', 'filled');\nexport const PortHdmiFilled = createIconComponent('Port hdmi', 'filled');\nexport const PortMicroUsbFilled = createIconComponent('Port micro usb', 'filled');\nexport const PortUsbAFilled = createIconComponent('Port usb a', 'filled');\nexport const PortUsbCFilled = createIconComponent('Port usb c', 'filled');\nexport const PowerFilled = createIconComponent('Power', 'filled');\nexport const PreviewLinkFilled = createIconComponent('Preview link', 'filled');\nexport const PreviousFilled = createIconComponent('Previous', 'filled');\nexport const PrintFilled = createIconComponent('Print', 'filled');\nexport const PulseFilled = createIconComponent('Pulse', 'filled');\nexport const PulseCircleFilled = createIconComponent('Pulse circle', 'filled');\nexport const PulseSquareFilled = createIconComponent('Pulse square', 'filled');\nexport const PythonFilled = createIconComponent('Python', 'filled');\nexport const QrCodeFilled = createIconComponent('Qr code', 'filled');\nexport const QuestionFilled = createIconComponent('Question', 'filled');\nexport const QuestionCircleFilled = createIconComponent('Question circle', 'filled');\nexport const RadioButtonFilled = createIconComponent('Radio button', 'filled');\nexport const RamFilled = createIconComponent('Ram', 'filled');\nexport const RecordFilled = createIconComponent('Record', 'filled');\nexport const RecordStopFilled = createIconComponent('Record stop', 'filled');\nexport const RectangleFilled = createIconComponent('Rectangle', 'filled');\nexport const RefineuiFilled = createIconComponent('Refineui', 'filled');\nexport const RewindFilled = createIconComponent('Rewind', 'filled');\nexport const RhombusFilled = createIconComponent('Rhombus', 'filled');\nexport const RibbonFilled = createIconComponent('Ribbon', 'filled');\nexport const RoadFilled = createIconComponent('Road', 'filled');\nexport const RoadConeFilled = createIconComponent('Road cone', 'filled');\nexport const RocketFilled = createIconComponent('Rocket', 'filled');\nexport const RotationFilled = createIconComponent('Rotation', 'filled');\nexport const RouterFilled = createIconComponent('Router', 'filled');\nexport const RssFilled = createIconComponent('Rss', 'filled');\nexport const RulerFilled = createIconComponent('Ruler', 'filled');\nexport const RunFilled = createIconComponent('Run', 'filled');\nexport const SaveFilled = createIconComponent('Save', 'filled');\nexport const ScalesFilled = createIconComponent('Scales', 'filled');\nexport const ScriptFilled = createIconComponent('Script', 'filled');\nexport const SearchFilled = createIconComponent('Search', 'filled');\nexport const SendFilled = createIconComponent('Send', 'filled');\nexport const SerialPortFilled = createIconComponent('Serial port', 'filled');\nexport const ServerFilled = createIconComponent('Server', 'filled');\nexport const ServerLinkFilled = createIconComponent('Server link', 'filled');\nexport const ServerPlayFilled = createIconComponent('Server play', 'filled');\nexport const ServiceBellFilled = createIconComponent('Service bell', 'filled');\nexport const SettingsFilled = createIconComponent('Settings', 'filled');\nexport const ShapeExcludeFilled = createIconComponent('Shape exclude', 'filled');\nexport const ShapeIntersectFilled = createIconComponent('Shape intersect', 'filled');\nexport const ShapeSubtractFilled = createIconComponent('Shape subtract', 'filled');\nexport const ShapeUnionFilled = createIconComponent('Shape union', 'filled');\nexport const ShapesFilled = createIconComponent('Shapes', 'filled');\nexport const ShareFilled = createIconComponent('Share', 'filled');\nexport const ShareAndroidFilled = createIconComponent('Share android', 'filled');\nexport const ShareIosFilled = createIconComponent('Share ios', 'filled');\nexport const ShellScriptFilled = createIconComponent('Shell script', 'filled');\nexport const ShieldFilled = createIconComponent('Shield', 'filled');\nexport const ShoppingBagFilled = createIconComponent('Shopping bag', 'filled');\nexport const SimFilled = createIconComponent('Sim', 'filled');\nexport const SlideAddFilled = createIconComponent('Slide add', 'filled');\nexport const SlideContentFilled = createIconComponent('Slide content', 'filled');\nexport const SlideEraserFilled = createIconComponent('Slide eraser', 'filled');\nexport const SlideGridFilled = createIconComponent('Slide grid', 'filled');\nexport const SlideHideFilled = createIconComponent('Slide hide', 'filled');\nexport const SlideLayoutFilled = createIconComponent('Slide layout', 'filled');\nexport const SmartwatchFilled = createIconComponent('Smartwatch', 'filled');\nexport const SoundSourceFilled = createIconComponent('Sound source', 'filled');\nexport const SpacebarFilled = createIconComponent('Spacebar', 'filled');\nexport const SportBaseballFilled = createIconComponent('Sport baseball', 'filled');\nexport const SportBasketballFilled = createIconComponent('Sport basketball', 'filled');\nexport const SportSoccerFilled = createIconComponent('Sport soccer', 'filled');\nexport const SprayCanFilled = createIconComponent('Spray can', 'filled');\nexport const SquareFilled = createIconComponent('Square', 'filled');\nexport const SquareHintFilled = createIconComponent('Square hint', 'filled');\nexport const SquareMultipleFilled = createIconComponent('Square multiple', 'filled');\nexport const StarFilled = createIconComponent('Star', 'filled');\nexport const StopFilled = createIconComponent('Stop', 'filled');\nexport const SubtractFilled = createIconComponent('Subtract', 'filled');\nexport const SwiftFilled = createIconComponent('Swift', 'filled');\nexport const TabFilled = createIconComponent('Tab', 'filled');\nexport const TabletFilled = createIconComponent('Tablet', 'filled');\nexport const TagFilled = createIconComponent('Tag', 'filled');\nexport const TargetFilled = createIconComponent('Target', 'filled');\nexport const TemperatureFilled = createIconComponent('Temperature', 'filled');\nexport const TentFilled = createIconComponent('Tent', 'filled');\nexport const TextFilled = createIconComponent('Text', 'filled');\nexport const TextAlignCenterFilled = createIconComponent('Text align center', 'filled');\nexport const TextAlignJustifyFilled = createIconComponent('Text align justify', 'filled');\nexport const TextAlignLeftFilled = createIconComponent('Text align left', 'filled');\nexport const TextAlignRightFilled = createIconComponent('Text align right', 'filled');\nexport const TextboxFilled = createIconComponent('Textbox', 'filled');\nexport const TextboxAlignBottomFilled = createIconComponent('Textbox align bottom', 'filled');\nexport const TextboxAlignBottomCenterFilled = createIconComponent('Textbox align bottom center', 'filled');\nexport const TextboxAlignBottomLeftFilled = createIconComponent('Textbox align bottom left', 'filled');\nexport const TextboxAlignBottomRightFilled = createIconComponent('Textbox align bottom right', 'filled');\nexport const TextboxAlignCenterFilled = createIconComponent('Textbox align center', 'filled');\nexport const TextboxAlignMiddleFilled = createIconComponent('Textbox align middle', 'filled');\nexport const TextboxAlignMiddleLeftFilled = createIconComponent('Textbox align middle left', 'filled');\nexport const TextboxAlignMiddleRightFilled = createIconComponent('Textbox align middle right', 'filled');\nexport const TextboxAlignTopFilled = createIconComponent('Textbox align top', 'filled');\nexport const TextboxAlignTopCenterFilled = createIconComponent('Textbox align top center', 'filled');\nexport const TextboxAlignTopLeftFilled = createIconComponent('Textbox align top left', 'filled');\nexport const TextboxAlignTopRightFilled = createIconComponent('Textbox align top right', 'filled');\nexport const ThinkingFilled = createIconComponent('Thinking', 'filled');\nexport const TicketFilled = createIconComponent('Ticket', 'filled');\nexport const TimerFilled = createIconComponent('Timer', 'filled');\nexport const ToggleLeftFilled = createIconComponent('Toggle left', 'filled');\nexport const ToggleMultipleFilled = createIconComponent('Toggle multiple', 'filled');\nexport const ToggleRightFilled = createIconComponent('Toggle right', 'filled');\nexport const ToolboxFilled = createIconComponent('Toolbox', 'filled');\nexport const TrophyFilled = createIconComponent('Trophy', 'filled');\nexport const TvFilled = createIconComponent('Tv', 'filled');\nexport const TypescriptFilled = createIconComponent('Typescript', 'filled');\nexport const UmbrellaFilled = createIconComponent('Umbrella', 'filled');\nexport const UsbFilled = createIconComponent('Usb', 'filled');\nexport const UsbCableFilled = createIconComponent('Usb cable', 'filled');\nexport const VerifiedFilled = createIconComponent('Verified', 'filled');\nexport const VideoFilled = createIconComponent('Video', 'filled');\nexport const VideoClipFilled = createIconComponent('Video clip', 'filled');\nexport const VideoPlayPauseFilled = createIconComponent('Video play pause', 'filled');\nexport const VoicemailFilled = createIconComponent('Voicemail', 'filled');\nexport const VoteFilled = createIconComponent('Vote', 'filled');\nexport const WalkieTalkieFilled = createIconComponent('Walkie talkie', 'filled');\nexport const WalletFilled = createIconComponent('Wallet', 'filled');\nexport const WandFilled = createIconComponent('Wand', 'filled');\nexport const WarningFilled = createIconComponent('Warning', 'filled');\nexport const WasherFilled = createIconComponent('Washer', 'filled');\nexport const WaterFilled = createIconComponent('Water', 'filled');\nexport const WeatherBlowingSnowFilled = createIconComponent('Weather blowing snow', 'filled');\nexport const WeatherCloudyFilled = createIconComponent('Weather cloudy', 'filled');\nexport const WeatherRainFilled = createIconComponent('Weather rain', 'filled');\nexport const WeatherSnowFilled = createIconComponent('Weather snow', 'filled');\nexport const WeatherSnowflakeFilled = createIconComponent('Weather snowflake', 'filled');\nexport const WeatherSunnyFilled = createIconComponent('Weather sunny', 'filled');\nexport const WeatherThunderstormFilled = createIconComponent('Weather thunderstorm', 'filled');\nexport const WebFilled = createIconComponent('Web', 'filled');\nexport const Wifi1Filled = createIconComponent('Wifi 1', 'filled');\nexport const Wifi2Filled = createIconComponent('Wifi 2', 'filled');\nexport const Wifi3Filled = createIconComponent('Wifi 3', 'filled');\nexport const Wifi4Filled = createIconComponent('Wifi 4', 'filled');\nexport const WindowsFilled = createIconComponent('Windows', 'filled');\nexport const WrenchFilled = createIconComponent('Wrench', 'filled');\nexport const XrayFilled = createIconComponent('Xray', 'filled');\nexport const ZoomFilled = createIconComponent('Zoom', 'filled');\nexport const ZoomInFilled = createIconComponent('Zoom in', 'filled');\nexport const ZoomOutFilled = createIconComponent('Zoom out', 'filled');"],"names":["React","IconUtils","Text"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|