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